2010-01-20 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.ServiceModel / System.ServiceModel.Channels / ChangeLog
index 75388c157ee6a0661f46071736e69c7842c2a0f4..70dbf110deb0c529477df7800bcdecbd1ab69326 100755 (executable)
@@ -1,3 +1,239 @@
+2010-01-20  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * AddressHeader.cs : implement remaining bits.
+         Eliminate dependency on NetDataContractSerializer.
+
+2010-01-20  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * CommunicationObject.cs : in Fault(), do similar work as previous
+         change does.
+
+2010-01-19  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * CommunicationObject.cs : when process state changes, lock the
+         object to make sure the state transition is valid.
+         Change OnClosed/OnClosing to do the way OnOpened/OnOpening does.
+
+2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageHeaders.cs : implement SetAction().
+
+2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ChannelFactoryBase.cs : fix build.
+
+2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ChannelBase.cs : cosmetic API fix for SL3.
+
+2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ChannelFactoryBase.cs :
+         implement On{Begin/End}Close() on the generic type.
+
+2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpChannelFactory.cs, TcpChannelFactory.cs,
+         ChannelFactoryBase.cs, NamedPipeChannelFactory.cs
+         PeerChannelFactory.cs, HttpRequestChannel.cs:
+         fix ChannelFactoryBase API; move On(Begin/End)Open() to internal
+         type and made required changes.
+
+2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpCookieContainerBindingElement.cs : new.
+       * IHttpCookieContainer.cs : fix type name.
+       * HttpRequestChannel.cs, HttpChannelFactory.cs : support above.
+
+2010-01-07  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TcpBinaryFrameManager.cs : treat EOF as interrupted stream too (it
+         does not happen when communicating with .NET client but happens with
+         mono). Seealso FIXME comment.
+       * TcpDuplexSessionChannel.cs : do not try to close session when it
+         failed to read sized message. The connection is already dead.
+
+         Fixed bug #567949.
+
+2010-01-07  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TcpDuplexSessionChannel.cs :
+         Write EndRecord only when the connection is available.
+         Remove hack - do let ChannelDispatcher close the channel.
+       * TcpBinaryFrameManager.cs :
+         The socket may be disconnected when trying to read a sized message,
+         so check some socket exceptions.
+         In case the client silently shuts down without EndRecord and
+         reconnects to the server with preamble while expecting a sized
+         message (which is so lame, but that's what .NET often does), refresh
+         preamble and continue.
+
+         This fixes some cases of bug #567949 but not all.
+
+2010-01-06  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * BinaryMessageEncoder.cs : enable workaround buffering only when
+         the argument stream does *not* support seek. This fixes some
+         net.tcp connection problem.
+
+2009-12-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TcpBinaryFrameManager.cs : If preamble byte is not available from
+         the client stream, detect it to close the reply or input channel.
+       * TcpRequestChannel.cs : send preamble at each request time.
+         It differentiates communication behavior on such cases that involve
+         single open and multiple requests.
+       * TcpReplyChannel.cs : close the channel only when the channel is
+         oeprated to close i.e. do not close the socket every time.
+         Process preambles on each request (the same as request channel).
+
+2009-12-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TcpBinaryFrameManager.cs : unsized envelope record may have more
+         than one data block, so consume them accordingly. This should fix
+         large buffer consumption.
+
+2009-12-21  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageFault.cs : support EnvelopeVersion.None as well, as almost
+         the same as SOAP12.
+
+2009-12-17  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpRequestContext.cs : for DestinationUnreachable message, this
+         channel returns 400 in .NET.
+
+2009-12-16  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * BinaryMessageEncoder.cs : added workaround for strange stream
+         consumption error raised by HttpTransport + Binary encoder example.
+       * BinaryMessageEncodingBindingElement.cs:
+         only SOAP 1.2 is allowed for this encoder.
+
+2009-12-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XmlReaderBodyWriter.cs : don't try to write empty xml.
+
+2009-12-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpRequestChannel.cs : avoid adding duplicate headers. Basically
+         default WebHeaderCollection items are overwritten.
+
+2009-12-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpRequestChannel.cs : when HTTP response was error, do not try
+         to read message but just raise an error.
+
+2009-12-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageHeaders.cs : null can be set as a WS-Addressing header item.
+
+2009-12-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpRequestChannel.cs : WebException.Response might be null.
+
+2009-12-04  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ReplyChannelBase.cs : added listener property.
+       * SecurityChannelListener.cs : quick async impl, as ServiceHost has
+         been updated to prefer async by default, a while ago.
+
+2009-12-04  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpTransportBindingElement.cs : finished all GetProperty() values.
+
+2009-12-04  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpRequestChannel.cs : disabled carelessly added
+         "UseDefaultCredentials = false" line. It blocked basic auth.
+
+2009-12-04  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpRequestChannel.cs, HttpChannelFactory.cs,
+         HttpChannelListener.cs, HttpListenerManager.cs :
+         implemented http client authentication and some of corresponding
+         service code. Only client works so far.
+
+2009-12-03  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpsTransportBindingElement.cs, HttpChannelListener.cs :
+         added URI scheme check.
+
+2009-12-03  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TransportSecurityBindingElement.cs : fix 2.1 build.
+
+2009-12-03  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpsTransportBindingElement.cs :
+         RequireClientCertificate is false by default.
+         Remove extra #if NET_2_1.
+       * SecurityBindingElement.cs :
+         Implement some transport security factory methods.
+       * TransportSecurityBindingElement.cs :
+         It is not ISecurityCapabilities anymore.
+
+2009-11-25  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageHeaders.cs
+         SecurityBindingElement.cs
+         LocalClientSecuritySettings.cs
+         TransportSecurityBindingElement.cs
+         FaultConverter.cs : They are now part of SL3 API.
+
+2009-11-17  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * BinaryMessageEncodingBindingElement.cs : changes for 2.1 build.
+
+2009-11-05  Geoff Norton  <gnorton@novell.com>
+
+       * HttpsTransportBindingElement.cs: Implement basic https transport
+       binding support for Moonlight and MonoTouch
+
+2009-10-22  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpListenerManager.cs : remove CWLs.
+
+2009-10-22  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SvcHttpHandler.cs : move back previous listener selector code in
+         ProcessRequest(). Unlike HttpListener, ASP.NET does not refine
+         and differentiate requests to deeper paths (such as /jsdebug), so
+         we need such refinement here.
+
+2009-10-22  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpListenerManager.cs : dependent fix to ServiceMetadataExtension
+         changes.
+
+2009-10-22  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SvcHttpHandler.cs, HttpReplyChannel.cs, AspNetReplyChannel.cs,
+         HttpChannelListener.cs, HttpListenerManager.cs :
+         Similar refactoring on ASP.NET side to the previous one.
+         Added ASP.NET implementation of HttpListenerManager and use some
+         part of it in SvcHttpHandler (ASP.NET stack does not fully make use
+         of the manager yet).
+         Rewrote AspNetReplyChannel to become almost the same as
+         HttpSimpleReplyChannel, to hopefully unify them later.
+         Now it dispatches requests to *.svc for wsdl, help and SOAP as long
+         as ServiceThrottle has MaxConcurrentSessions=1. Also REST calls
+         are still broken.
+
+2009-10-20  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpReplyChannel.cs, HttpChannelListener.cs, HttpListenerManager.cs:
+         Refactoring on listener manager to correctly handle wsdl and help
+         requests for such case that they conflict in addressing. Now it
+         can correctly distinguish service calls, WSDL requests and help
+         requests when all of them point to "http://localhost/foo.svc"
+         (which is very common case that the user does not change Http*Url).
+
+2009-10-16  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ChannelListenerBase.cs : add Properties property to add arbitrary
+         properties handy (only inside this assembly).
+
 2009-10-16  Atsushi Enomoto  <atsushi@ximian.com>
 
        * HttpReplyChannel.cs : fix warning.