Add support for ToolsVersion and correctly build msbuild+xbuild assemblies
[mono.git] / mcs / class / System.ServiceModel / System.ServiceModel.Channels / ChangeLog
index beb866cdb6cd664e3e015f9a1743f26d56ca4431..cd3e77a98cdc44c0cae83da57440af06848f7991 100755 (executable)
@@ -1,3 +1,484 @@
+2010-04-06  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpReplyChannel.cs : fill To header only if it does not exist.
+
+2010-04-06  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SecureMessageGenerator.cs : set ReplyTo and To, do not add.
+
+2010-04-06  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageHeaders.cs : use matching addressing version.
+         Remove header item if the same ones already exist.
+
+2010-04-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * HttpRequestChannel.cs: don't create the wait handle unless it is
+       really needed.
+
+2010-04-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpRequestChannel.cs : use correct max buffer size.
+
+2010-04-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageFault.cs : check null serializer and detail.
+         Make sure to consume s12:Reason EndElement.
+
+2010-04-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageFault.cs : when created from XmlReader, it should not
+         deserialize fault details immediately. This class itself should
+         not do that. Strongly typed FaultContractInfo may want to use the
+         reader (GetReaderAtDetailContents()) for its own deserialization.
+
+2010-04-01  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ConnectionOrientedTransportBindingElement.cs,
+         TcpTransportBindingElement.cs : implement GetProperty<T>().
+
+2010-04-01  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpTransportBindingElement.cs, HttpsTransportBindingElement.cs:
+         implement HttpsTransportBindingElement.GetProperty<T>(). Extend the
+         properties type from HTTP.
+
+2010-04-01  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * FaultConverter.cs : use addressing version from the message.
+
+2010-03-30  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * FaultConverter.cs : check envelope version, not addressing version.
+
+2010-03-29  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * FaultConverter.cs : implemented TryCreateException().
+
+2010-03-29  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageFault.cs : cosmetic method name clarification.
+
+2010-03-29  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XmlReaderBodyWriter.cs, Message.cs, MessageImpl.cs, BodyWriter.cs:
+         fix BodyWriter buffering that dropped in-scope namespaces and thus
+         caused problem on resolving QNames.
+
+2010-03-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * FaultConverter.cs : do implement OnTryCreateFaultMessage() to work
+         with certain Exception types.
+
+2010-03-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Message.cs : fix explanation on CreateMessage() overloads.
+
+2010-03-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageFault.cs : Write Subcode element correctly and fix wrong
+         Code/Value/Subcode element relationship. Give better error message.
+
+2010-03-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpRequestChannel.cs : ok, no need for conditional code path.
+
+2010-03-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * AddressingVersion.cs : add fault action namespace.
+
+2010-03-26  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * HttpRequestChannel.cs: There is no WebHeaderCollection.Add 
+       method in SL API
+
+2010-03-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageImpl.cs : pass IsFault argument in OnCreateBufferedCopy().
+
+2010-03-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpRequestContext.cs, AspNetRequestContext.cs : return HTTP 500
+         for fault message.
+
+2010-03-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpRequestChannel.cs : create HttpResponseMessageProperty.
+
+2010-03-25  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpRequestContext.cs : removed HTTP status rewriting for
+         commented reason.
+
+2010-03-25  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpRequestChannel.cs : handle only 4xx errors as to not process
+         content stream.
+
+2010-03-25  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageFault.cs : do not use SOAP11 namespace for fault contents.
+
+2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ReplyChannelBase.cs, HttpReplyChannel.cs : add some locking.
+         Patch by Matt Dargavel.
+
+2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpListenerManager.cs : use lock object which is subject to
+         change. Fix by Matt Dargavel.
+
+2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpListenerManager.cs : remove consumed HttpListenerContext from
+         the pending queue. Compare "wsdl" request in case insensitive
+         manner. Patch by Matt Dargavel.
+
+2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpRequestContext.cs : apply the patch by Matt Dargavel, which is
+         supposed to provide detailed 400 error message.
+
+2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TransactionFlowBindingElement.cs: revamp the previous change to
+         not regress regarding service metadata.
+
+2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ChannelListenerBase.cs, TransactionFlowBindingElement.cs: fix 
+         GetProperty<T>() bug that fails to retrieve properties. (This may
+         be rewritten later if an ongoing change proposal is to take place.)
+
+2010-03-18  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ReliableSessionBindingElement.cs,
+         PrivacyNoticeBindingElement.cs,
+         RemoteEndpointMessageProperty.cs : added some missing types.
+
+2010-03-17  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageHeaders.cs :
+         why does it filter out most of the headers? kill it.
+
+2010-03-17  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SvcHttpHandler.cs, AspNetReplyChannel.cs, HttpChannelListener.cs,
+         HttpListenerManager.cs : refactoring on acquiring SvcHttpHandler
+         to not raise "not found" error (see bug #573795).
+
+2010-03-16  Jb Evain  <jbevain@novell.com>
+
+       * HttpRequestChannel.cs, HttpTransportBindingElement.cs: use
+       MOONLIGHT symbol to disambiguate MonoTouch and Moonlight code.
+
+2010-03-09  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpListenerManager.cs : For ASP.NET, use correct GenericIdentity
+         type, and use null password unless we find a chance to get password
+         in ASP.NET HttpContext.
+
+2010-03-03  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpReplyChannel.cs, AspNetReplyChannel.cs, HttpChannelListener.cs,
+         HttpListenerManager.cs : ongoing authentication support. It returns
+         401 as expected, but somehow fails to retrieve user info.
+
+2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpListenerManager.cs : this change (along with HttpListener
+         implementation) somehow fixes basic auth. connection error...
+
+2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageHeaders.cs : add !NET_2_1.
+
+2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageHeader.cs, MessageHeaders.cs : add nasty workaround for
+         typed UniqueId output.
+
+2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageHeader.cs : no need to treat EndpointAddress as a special
+         case here too.
+
+2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageHeaders.cs : remove duplicate constant.
+
+2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageHeader.cs, MessageHeaders.cs: MessageHeader does not treat
+         EndpointAddress as a special case. Instead, each MessageHeaders
+         property should convert it to appropriate serializable objects.
+
+         (Our DataContractSerializer fails to reject EndpointAddress as
+         serializable type, so it's rather a preparation step.)
+
+2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MessageHeader.cs, Message.cs : use dictionary string whenever
+         applicable. The binary output on #577139 is getting closer (no
+         idea if it is really about binary output though).
+
+2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * BinaryMessageEncoder.cs : moved soap_dictionary to Constants.
+
+2010-02-05  Atsushi Enomoto  <atsushi@ximian.com>
+
+       *  HttpTransportBindingElement.cs : ... and add MONOTOUCH on #ifs.
+
+2010-02-05  Atsushi Enomoto  <atsushi@ximian.com>
+
+       *  HttpRequestChannel.cs, HttpTransportBindingElement.cs :
+         enable authentication schemes on monotouch.
+
+2010-02-04  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SvcHttpHandler.cs : a wait handle could be used for more than one
+         requests and hence it sometimes blocked one reply channel. Now
+         it creates a wait handle for each ASP.NET request so that such
+         multiple use should not occur. This should fix blocking on
+         concurrent requests (it indeed fixes as long as I can see).
+
+2010-02-04  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * AspNetReplyChannel.cs : remove garbage output.
+
+2010-02-04  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SvcHttpHandler.cs : Use lock when it tries to create the service
+         host.
+
+2010-02-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SvcHttpHandlerFactory.cs : lock when it tries to acquire
+         HttpHandler.
+
+2010-02-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpListenerManager.cs : add another workaround for blocking
+         concurrent calls.
+
+2010-02-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpListenerManager.cs : small refactoring.
+
+2010-01-22  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TcpDuplexSessionChannel.cs : added a workaround receiver delay
+         that somehow makes callback client to not cause infinite loop.
+
+2010-01-22  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TcpDuplexSessionChannel.cs, PeerDuplexChannel.cs,
+         DuplexChannelBase.cs : Receive() should rather use TryReceive().
+         It should not be in reverse order.
+
+2010-01-22  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * HttpReplyChannel.cs, HttpListenerManager.cs :
+         Implement async cancellation in the expected manner (though with
+         some hack). This mostly removed nunit blockers.
+
+2010-01-22  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * CommunicationObject.cs : fix wrong status changes.
+
+2010-01-20  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * AddressHeader.cs : XmlSchema.InstanceNamespace didn't exist in 2.1 :(
+
+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