1 2010-01-07 Atsushi Enomoto <atsushi@ximian.com>
3 * TcpBinaryFrameManager.cs : treat EOF as interrupted stream too (it
4 does not happen when communicating with .NET client but happens with
5 mono). Seealso FIXME comment.
6 * TcpDuplexSessionChannel.cs : do not try to close session when it
7 failed to read sized message. The connection is already dead.
11 2010-01-07 Atsushi Enomoto <atsushi@ximian.com>
13 * TcpDuplexSessionChannel.cs :
14 Write EndRecord only when the connection is available.
15 Remove hack - do let ChannelDispatcher close the channel.
16 * TcpBinaryFrameManager.cs :
17 The socket may be disconnected when trying to read a sized message,
18 so check some socket exceptions.
19 In case the client silently shuts down without EndRecord and
20 reconnects to the server with preamble while expecting a sized
21 message (which is so lame, but that's what .NET often does), refresh
22 preamble and continue.
24 This fixes some cases of bug #567949 but not all.
26 2010-01-06 Atsushi Enomoto <atsushi@ximian.com>
28 * BinaryMessageEncoder.cs : enable workaround buffering only when
29 the argument stream does *not* support seek. This fixes some
30 net.tcp connection problem.
32 2009-12-26 Atsushi Enomoto <atsushi@ximian.com>
34 * TcpBinaryFrameManager.cs : If preamble byte is not available from
35 the client stream, detect it to close the reply or input channel.
36 * TcpRequestChannel.cs : send preamble at each request time.
37 It differentiates communication behavior on such cases that involve
38 single open and multiple requests.
39 * TcpReplyChannel.cs : close the channel only when the channel is
40 oeprated to close i.e. do not close the socket every time.
41 Process preambles on each request (the same as request channel).
43 2009-12-26 Atsushi Enomoto <atsushi@ximian.com>
45 * TcpBinaryFrameManager.cs : unsized envelope record may have more
46 than one data block, so consume them accordingly. This should fix
47 large buffer consumption.
49 2009-12-21 Atsushi Enomoto <atsushi@ximian.com>
51 * MessageFault.cs : support EnvelopeVersion.None as well, as almost
54 2009-12-17 Atsushi Enomoto <atsushi@ximian.com>
56 * HttpRequestContext.cs : for DestinationUnreachable message, this
57 channel returns 400 in .NET.
59 2009-12-16 Atsushi Enomoto <atsushi@ximian.com>
61 * BinaryMessageEncoder.cs : added workaround for strange stream
62 consumption error raised by HttpTransport + Binary encoder example.
63 * BinaryMessageEncodingBindingElement.cs:
64 only SOAP 1.2 is allowed for this encoder.
66 2009-12-14 Atsushi Enomoto <atsushi@ximian.com>
68 * XmlReaderBodyWriter.cs : don't try to write empty xml.
70 2009-12-10 Atsushi Enomoto <atsushi@ximian.com>
72 * HttpRequestChannel.cs : avoid adding duplicate headers. Basically
73 default WebHeaderCollection items are overwritten.
75 2009-12-10 Atsushi Enomoto <atsushi@ximian.com>
77 * HttpRequestChannel.cs : when HTTP response was error, do not try
78 to read message but just raise an error.
80 2009-12-10 Atsushi Enomoto <atsushi@ximian.com>
82 * MessageHeaders.cs : null can be set as a WS-Addressing header item.
84 2009-12-10 Atsushi Enomoto <atsushi@ximian.com>
86 * HttpRequestChannel.cs : WebException.Response might be null.
88 2009-12-04 Atsushi Enomoto <atsushi@ximian.com>
90 * ReplyChannelBase.cs : added listener property.
91 * SecurityChannelListener.cs : quick async impl, as ServiceHost has
92 been updated to prefer async by default, a while ago.
94 2009-12-04 Atsushi Enomoto <atsushi@ximian.com>
96 * HttpTransportBindingElement.cs : finished all GetProperty() values.
98 2009-12-04 Atsushi Enomoto <atsushi@ximian.com>
100 * HttpRequestChannel.cs : disabled carelessly added
101 "UseDefaultCredentials = false" line. It blocked basic auth.
103 2009-12-04 Atsushi Enomoto <atsushi@ximian.com>
105 * HttpRequestChannel.cs, HttpChannelFactory.cs,
106 HttpChannelListener.cs, HttpListenerManager.cs :
107 implemented http client authentication and some of corresponding
108 service code. Only client works so far.
110 2009-12-03 Atsushi Enomoto <atsushi@ximian.com>
112 * HttpsTransportBindingElement.cs, HttpChannelListener.cs :
113 added URI scheme check.
115 2009-12-03 Atsushi Enomoto <atsushi@ximian.com>
117 * TransportSecurityBindingElement.cs : fix 2.1 build.
119 2009-12-03 Atsushi Enomoto <atsushi@ximian.com>
121 * HttpsTransportBindingElement.cs :
122 RequireClientCertificate is false by default.
123 Remove extra #if NET_2_1.
124 * SecurityBindingElement.cs :
125 Implement some transport security factory methods.
126 * TransportSecurityBindingElement.cs :
127 It is not ISecurityCapabilities anymore.
129 2009-11-25 Atsushi Enomoto <atsushi@ximian.com>
132 SecurityBindingElement.cs
133 LocalClientSecuritySettings.cs
134 TransportSecurityBindingElement.cs
135 FaultConverter.cs : They are now part of SL3 API.
137 2009-11-17 Atsushi Enomoto <atsushi@ximian.com>
139 * BinaryMessageEncodingBindingElement.cs : changes for 2.1 build.
141 2009-11-05 Geoff Norton <gnorton@novell.com>
143 * HttpsTransportBindingElement.cs: Implement basic https transport
144 binding support for Moonlight and MonoTouch
146 2009-10-22 Atsushi Enomoto <atsushi@ximian.com>
148 * HttpListenerManager.cs : remove CWLs.
150 2009-10-22 Atsushi Enomoto <atsushi@ximian.com>
152 * SvcHttpHandler.cs : move back previous listener selector code in
153 ProcessRequest(). Unlike HttpListener, ASP.NET does not refine
154 and differentiate requests to deeper paths (such as /jsdebug), so
155 we need such refinement here.
157 2009-10-22 Atsushi Enomoto <atsushi@ximian.com>
159 * HttpListenerManager.cs : dependent fix to ServiceMetadataExtension
162 2009-10-22 Atsushi Enomoto <atsushi@ximian.com>
164 * SvcHttpHandler.cs, HttpReplyChannel.cs, AspNetReplyChannel.cs,
165 HttpChannelListener.cs, HttpListenerManager.cs :
166 Similar refactoring on ASP.NET side to the previous one.
167 Added ASP.NET implementation of HttpListenerManager and use some
168 part of it in SvcHttpHandler (ASP.NET stack does not fully make use
170 Rewrote AspNetReplyChannel to become almost the same as
171 HttpSimpleReplyChannel, to hopefully unify them later.
172 Now it dispatches requests to *.svc for wsdl, help and SOAP as long
173 as ServiceThrottle has MaxConcurrentSessions=1. Also REST calls
176 2009-10-20 Atsushi Enomoto <atsushi@ximian.com>
178 * HttpReplyChannel.cs, HttpChannelListener.cs, HttpListenerManager.cs:
179 Refactoring on listener manager to correctly handle wsdl and help
180 requests for such case that they conflict in addressing. Now it
181 can correctly distinguish service calls, WSDL requests and help
182 requests when all of them point to "http://localhost/foo.svc"
183 (which is very common case that the user does not change Http*Url).
185 2009-10-16 Atsushi Enomoto <atsushi@ximian.com>
187 * ChannelListenerBase.cs : add Properties property to add arbitrary
188 properties handy (only inside this assembly).
190 2009-10-16 Atsushi Enomoto <atsushi@ximian.com>
192 * HttpReplyChannel.cs : fix warning.
194 2009-10-15 Atsushi Enomoto <atsushi@ximian.com>
196 * HttpReplyChannel.cs, AspNetReplyChannel.cs : set Via property.
198 2009-10-15 Atsushi Enomoto <atsushi@ximian.com>
200 * HttpReplyChannel.cs : make sure to release wait lock.
201 * HttpChannelListener.cs : session channels are not supported, so
202 remove relevant NIEs.
204 2009-10-15 Sebastien Pouliot <sebastien@ximian.com>
206 * HttpRequestChannel.cs (WaitEnd): Neither Moonlight nor MonoTouch
207 support contexts so we call the non-overloaded WaitOne method
208 (which defaults to false).
210 2009-10-13 Atsushi Enomoto <atsushi@ximian.com>
212 * SvcHttpHandler.cs, AspNetReplyChannel.cs, HttpChannelListener.cs:
213 significant rewrite to cooperate wcf handler and asp.net handler
214 to not mix multiple WCF listener within the asp.net handler.
215 So far it mostly works when 1) there are no ChannelDispatchers
216 that have an identical listen Uri and 2) MaxConcurrentSessions is
217 1 (must be explicitly set).
219 2009-10-13 Atsushi Enomoto <atsushi@ximian.com>
221 * CommunicationObject.cs : give better state error description.
223 2009-10-09 Atsushi Enomoto <atsushi@ximian.com>
225 * CommunicationObject.cs : OnOpening() and OnOpened() require calls
226 to base methods. This resulted in not a few changes everywhere.
228 2009-10-07 Atsushi Enomoto <atsushi@ximian.com>
230 * IHttpCookieContainer.cs : new 2.1-only interface (no use).
232 2009-10-06 Atsushi Enomoto <atsushi@ximian.com>
234 * SvcHttpHandler.cs : use file path given by the factory to
235 construct BaseAddresses. Requests to "test.svc/jsdebug" should
236 not be handled as request to "jsdebug" file, it's rather an
237 "argument" to "test.svc".
239 2009-10-06 Atsushi Enomoto <atsushi@ximian.com>
241 * SvcHttpHandler.cs, HttpChannelListener.cs : some significant
242 rewrite to handle shutdown situation better. The listeners should
243 not close channels that it opened. Instead, just stop accepting
244 further requests. Removed blocking mutex on WaitForRequest().
245 Now xsp shuts down as expected.
247 2009-10-06 Atsushi Enomoto <atsushi@ximian.com>
249 * HttpReplyChannel.cs : lock list when releasing its content contexts.
250 * AspNetReplyChannel.cs : send EndRequest() to handler when it is
253 2009-10-06 Atsushi Enomoto <atsushi@ximian.com>
255 * SvcHttpHandlerFactory.cs : remove todo.
256 * ReplyChannelBase.cs : add comment.
258 2009-10-02 Atsushi Enomoto <atsushi@ximian.com>
260 * HttpTransportBindingElement.cs, SvcHttpHandlerFactory.cs :
261 revert the change, to use internal asp.net state again.
262 * SvcHttpHandler.cs : add VirtualPathExtension.
264 2009-10-02 Atsushi Enomoto <atsushi@ximian.com>
266 * HttpReplyChannel.cs, AspNetReplyChannel.cs, AspNetRequestContext.cs:
267 asp.net response was not written correctly.
268 Fill HttpRequestMessageProperty to get handle WSDL requests
269 processed in ServiceMetadataExtension without NRE.
270 Remove wrong HttpListenerContext iteration at Abort and Close in
271 common base class and move it to non-asp derived channel.
273 2009-10-02 Atsushi Enomoto <atsushi@ximian.com>
275 * SvcHttpHandler.cs : remove unused code.
277 2009-09-30 Jb Evain <jbevain@novell.com>
279 * HttpRequestChannel.cs: When compiling for MonoTouch, avoid
280 to use any of the remoting features.
282 2009-09-30 Atsushi Enomoto <atsushi@ximian.com>
284 * SvcHttpHandlerFactory.cs, HttpTransportBindingElement.cs :
285 use AspNetCompatibilityEnabled.
286 * SvcHttpHandler.cs : disable ApplyConfiguration(). It should be done
288 * AspNetReplyChannel.cs : remove extra field.
290 2009-09-29 Atsushi Enomoto <atsushi@ximian.com>
292 * HttpReplyChannel.cs : remove extra field.
294 2009-09-29 Atsushi Enomoto <atsushi@ximian.com>
296 * AspNetRequestContext.cs : remove CWL.
298 2009-09-29 Atsushi Enomoto <atsushi@ximian.com>
300 * AspNetReplyChannel.cs, AspNetRequestContext.cs : close HttpContext
301 only after AspNetRequestContext is closed. Do not close it
302 immediately after receiving the context. (HttpRuntime destructs it
303 and further uses then becomes impossible.)
305 2009-09-29 Atsushi Enomoto <atsushi@ximian.com>
307 * AspNetReplyChannel.cs, HttpReplyChannel.cs : add some comments.
308 * SvcHttpHandlerFactory.cs, SvcHttpHandler.cs, HttpChannelListener.cs:
309 Make sure that AspNetChannelListener is bound to correct
310 SvcHttpHandler, regardless of specific request URI. It is required
311 for both WSDL requests and RESTful binding requests.
313 2009-09-14 Atsushi Enomoto <atsushi@ximian.com>
315 * MessageProperties.cs : fix CopyProperties() behavior to not
316 clear existing items. Make all properties call this[name].
318 2009-09-14 Atsushi Enomoto <atsushi@ximian.com>
320 * HttpTransportBindingElement.cs : fix 2.1 build.
322 2009-09-14 Atsushi Enomoto <atsushi@ximian.com>
324 * TransportBindingElement.cs : another GetProperty fix, iterate
325 other binding elements.
327 2009-09-14 Atsushi Enomoto <atsushi@ximian.com>
329 * HttpTransportBindingElement.cs, PeerTransportBindingElement.cs :
330 some GetProperty() implementation.
332 2009-09-14 Atsushi Enomoto <atsushi@ximian.com>
334 * HttpListenerManager.cs : release HttpListener and avoid extra
335 close process more than once.
337 2009-09-11 Atsushi Enomoto <atsushi@ximian.com>
339 * HttpChannelListener.cs : do not iterate channel list to close
340 channels which in turn removes them from the list while iteration.
342 2009-09-06 Atsushi Enomoto <atsushi@ximian.com>
344 * HttpRequestChannel.cs : Fix message version member comparison.
345 Double-quote SOAPAction. Remove extra Exception.
346 * HttpReplyChannel.cs : ditto for version comparison. Unquote above.
347 * HttpRequestContext.cs : when addressing is None, remove action
350 2009-09-04 Atsushi Enomoto <atsushi@ximian.com>
352 * SvcHttpHandler.cs : set Uri property based on baseAddresses and
353 path, to pick those endpoints that are added at custom factories.
355 2009-09-03 Atsushi Enomoto <atsushi@ximian.com>
357 * SvcHttpHandler.cs : apply configuration, and if there is still no
358 endpoint, then add default one.
360 2009-09-03 Atsushi Enomoto <atsushi@ximian.com>
362 * SvcHttpHandler.cs : another URL to make relative.
364 2009-09-03 Atsushi Enomoto <atsushi@ximian.com>
366 * SvcHttpHandlerFactory.cs : some GetHandler changes.
367 * SvcHttpHandler.cs : significant changes on receiver structure. Now
368 ProcessRequest() stores pending requests (this might be extraneous,
369 but maybe useful when it implements async handler). Also removed
370 reply_channel field as it may become to handle multiple requests.
371 * HttpChannelListener.cs : bind to corresponding SvcHttpHandler.
372 * AspNetReplyChannel.cs : make it receive requests like
373 HttpReplyChannel (for HttpListener) to make them consistent.
375 2009-09-03 Atsushi Enomoto <atsushi@ximian.com>
377 * AspNetRequestContext.cs, HttpRequestContext.cs :
378 fix NRE on HttpListenerContext for AspNetRequestContext (mismatch)
379 by splitting HttpListener-based context out from common code base.
381 2009-09-03 Atsushi Enomoto <atsushi@ximian.com>
383 * SvcHttpHandler.cs : use baseAddresses in ServiceHost and make URIs
384 relative or absolute. new Uri ("/foobar") doesn't work on non-unix
387 2009-09-02 Atsushi Enomoto <atsushi@ximian.com>
389 * SvcHttpHandlerFactory.cs : make use of BuildManager aid. Now it
390 loads types from system assemblies appropriately.
392 2009-09-02 Atsushi Enomoto <atsushi@ximian.com>
394 * XmlReaderBodyWriter.cs : implement OnCreateBufferedCopy()
397 2009-09-02 Atsushi Enomoto <atsushi@ximian.com>
399 * HttpRequestMessageProperty.cs : fix default values.
401 2009-08-31 Atsushi Enomoto <atsushi@ximian.com>
403 * HttpChannelFactory.cs, HttpRequestChannel.cs,
404 ChannelFactoryBase.cs : fix to previous one; allow null Via uri.
405 Check ManualAddressing value and reject address-missing ones.
407 2009-08-31 Atsushi Enomoto <atsushi@ximian.com>
409 * HttpChannelFactory.cs : reject URI mismatch cases when required.
411 2009-08-26 Atsushi Enomoto <atsushi@ximian.com>
413 * PeerDuplexChannel.cs : When received Connect() from neighbor,
414 add the peer to its internal list.
415 Finally ChatApplication got working.
417 2009-08-26 Atsushi Enomoto <atsushi@ximian.com>
419 * PeerDuplexChannel.cs : since the channel factory is per instance,
420 do not reuse factory that is tied to different callback instance.
421 It resolved the issue that mono callback client didn't receive
422 messages from the client itself.
424 2009-08-26 Atsushi Enomoto <atsushi@ximian.com>
426 * PeerDuplexChannel.cs : in the Welcome response, return the NodeId
427 of the receiver, not the requestor. It resolved the issue that
428 .NET client didn't send further messages to mono server.
430 2009-08-26 Atsushi Enomoto <atsushi@ximian.com>
432 * PeerDuplexChannel.cs : remove some comment on [MC-PRCH] behavior.
433 * TcpDuplexSessionChannel.cs, TcpBinaryFrameManager.cs,
434 TcpReplyChannel.cs, TcpRequestChannel.cs,
435 NamedPipeReplyChannel.cs, NamedPipeRequestChannel.cs:
436 rename EndRecord handling method to appropriate one.
437 Write EndRecord from recipient too.
439 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
441 * PeerDuplexChannel.cs : add PeerFlooder header (see comment).
442 Process PeerTo header to upgrade Message To header. Now mono
443 service accepts mono client (somehow not true for .NET client).
445 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
447 * TcpDuplexSessionChannel.cs, TcpRequestChannel.cs,
448 NamedPipeRequestChannel.cs : no need to add ReplyTo headers.
450 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
452 * PeerDuplexChannel.cs : fix PeerTo/PeerVia header namespace.
454 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
456 * TcpDuplexSessionChannel.cs : check channel state before processing
459 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
461 * NamedPipeReplyChannel.cs, NamedPipeRequestChannel.cs,
462 NamedPipeChannelFactory.cs, NamedPipeChannelListener.cs :
463 ongoing works, not working at all yet.
465 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
467 * TcpChannelListener.cs, TcpReplyChannel.cs :
468 cosmetic cleanup and corrections.
470 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
472 * TcpChannelFactory.cs : use expected Via uri.
473 Remove extra NIE stuff that are implemented in base.
475 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
477 * TcpDuplexSessionChannel.cs : remove extra code.
479 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
481 * PeerDuplexChannel.cs : ongoing implementation towards get callback
482 replies on peer connector clients (not working as duplex client
483 callback is not working yet).
485 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
487 * TcpDuplexSessionChannel.cs : in callback client channels,
488 OperationContext.IncomingMessageHeaders is null.
490 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
492 * MessageHeaders.cs : duplicate check was sloppy.
494 2009-08-18 Atsushi Enomoto <atsushi@ximian.com>
496 * Message.cs, MessageImpl.cs, BodyWriter.cs :
497 Implement BodyWriter.OnCreateBufferedCopy() and use it.
499 2009-08-18 Atsushi Enomoto <atsushi@ximian.com>
501 * ReplyChannelBase.cs : initialize field.
503 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
505 * ReplyChannelBase.cs, DuplexChannelBase.cs, RequestChannelBase.cs:
506 implement GetProperty<T>() and return its channel manager.
508 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
510 * PeerDuplexChannel.cs : ongoing implementation. Fix wrong peer
511 destination address in Connect() request. To repeat sending
512 request, use buffered copy. Set some peer-channel specific
513 header items. (todo: and consume them.)
515 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
517 * Message.cs : state is set only after WriteBodyContents().
519 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
521 * MessageHeaders.cs : eliminate wrong use of
522 ReadElementContentAsString() (it is not always simple string).
524 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
526 * MessageHeaders.cs : when the value is null, do not try to
527 deserialize EndpointAddress.
529 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
531 * MessageHeader.cs : add Value property. (Forgot dependent change.)
533 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
535 * MessageHeaders.cs : GetHeader<T>() could mostly skip extra
536 serialization and deserialization of values.
538 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
540 * PeerDuplexChannel.cs : handle Welcome and Refuse at client side.
541 Now simply use connector contract.
543 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
545 * PeerDuplexChannel.cs : handle Disconnect(). Fix URLs a bit.
547 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
549 * TcpChannelListener.cs : do not try to compare dead connection's
550 IPEndPoint (it raises an error).
552 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
554 * MessageHeaders.cs : allow null header value on each specific setter.
556 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
558 * DuplexChannelBase.cs, TcpDuplexSessionChannel.cs :
559 get local and remote address of connected counterpart to get
560 callback channel connected.
561 * PeerDuplexChannel.cs : remove FIXME wrt above.
563 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
565 * PeerDuplexChannel.cs : add fixme comment and remove extra FIXME.
567 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
569 * MessageHeader.cs : fill IsReferenceParameter.
571 2009-08-06 Atsushi Enomoto <atsushi@ximian.com>
573 * ReplyChannelBase.cs, TcpReplyChannel.cs, HttpReplyChannel.cs:
574 implement remaining async methods and LocalAddress.
576 2009-08-05 Atsushi Enomoto <atsushi@ximian.com>
578 * PeerDuplexChannel.cs : ongoing listener refactoring. Now it uses
579 ServiceHost to process neighbor connection (not sure if this is
580 right way to go though ...).
582 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
584 * PeerDuplexChannel.cs : ongoing [MC-PRCH] implementation. Rewrote
585 connection part to use new internal IPeerConnectorContract for
588 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
590 * ChannelListenerBase_1.cs, TcpChannelListener.cs,
591 PeerChannelListener.cs, HttpChannelListener.cs :
592 support ListenUri accordingly too so that it could be used when
593 it is different from LocalAddress.Uri.
595 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
597 * TcpChannelFactory.cs, TcpDuplexSessionChannel.cs,
598 TcpRequestChannel.cs : use Via uri to validate and connect.
600 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
602 * RequestChannelBase.cs, DuplexChannelBase.cs :
603 Return endpoint address Uri when no explicit Via uri is specified.
604 * ChannelFactoryBase.cs : Remove extra async close methods.
605 Add async open methods. Reject null EndpointAddress.
606 * PeerChannelFactory.cs : remove async open methods (now in base).
608 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
610 * PeerDuplexChannel.cs : set correct message endpoint (To header).
612 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
614 * TcpDuplexSessionChannel.cs, PeerDuplexChannel.cs,
615 DuplexChannelBase.cs : set LocalAddress property at base.
617 2009-07-30 Atsushi Enomoto <atsushi@ximian.com>
619 * PeerDuplexChannel.cs : ongoing refactoring to work both as
620 listener and client. Now it creates a listening peer node, and
621 creates a set of TCP client channels for each peer in the mesh.
623 (EndpointAddress must be fixed to not filter out correct inputs).
625 2009-07-30 Atsushi Enomoto <atsushi@ximian.com>
627 * PeerChannelListener.cs : do not accept more than one channel
628 which results in lots of listening peer node. Only one is enough.
630 2009-07-30 Atsushi Enomoto <atsushi@ximian.com>
632 * DuplexChannelBase.cs : fix wrong loop implementation.
634 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
636 * TcpChannelListener.cs : to avoid creating two or more channels
637 for one remote endpoint, check existing remote endpoints and
638 ignore such connections (it must be handled in different thread
639 fired by ChannelDispatcher loop).
641 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
643 * TcpReplyChannel.cs : make sure to not try to receive request when
644 it is already closed.
646 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
648 * TcpChannelListener.cs, TcpDuplexSessionChannel.cs :
649 some mannerless clients [*1] do not send EndRecord accordingly, but
650 such channels at listener side should not be kept open. So, close
651 disconnected channels when the listener needs to accept another
653 [*1] see olive/samples/wcf/clientbase/samplecli4.cs.
655 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
657 * TcpDuplexSessionChannel.cs :
658 Remove extra NIE overrides.
659 Implement OnAbort() apart from OnClose().
660 For duplex session channel, unlike reply channel, it must acquire
661 TCP connection before OnOpen(), otherwise ChannelDispatcher
662 releases the connection acceptance WaitHandle and the detected
663 live connection may be stolen by another channel acceptor.
665 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
667 * HttpRequestChannel.cs : implement OnAbort().
669 2009-07-24 Atsushi Enomoto <atsushi@ximian.com>
671 * PeerChannelListener.cs : set source field. Remove unnecessary NIE.
672 * DuplexChannelBase.cs : comment out some extra fields (so far).
673 * PeerDuplexChannel.cs : pass valid EndpointAddress to PeerNodeImpl.
675 2009-07-24 Atsushi Enomoto <atsushi@ximian.com>
677 * PeerCustomResolverBindingElement.cs : add some null checks.
679 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
681 * TcpChannelListener.cs, TcpReplyChannel.cs, TcpRequestChannel.cs:
682 Acquire TcpClient for each request/reply. Now it is fully
683 interoperable with .NET.
685 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
687 * TcpReplyChannel.cs, TcpRequestChannel.cs: it somehow adds/expects
688 ReplyTo and MessageId (though it is session-less), and it expects
689 EndRecord at weird stage, inconsistent with [MC-NMF]...
690 Now .NET service accepts one mono client request.
692 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
694 * TcpReplyChannel.cs, TcpRequestChannel.cs, TcpBinaryFrameManager.cs:
695 Send and receive unsized message terminator at once.
696 Send EndRecord mutually. Got one .net client request working.
698 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
700 * BinaryMessageEncoder.cs : revert the previous dictionary change.
701 They are indeed used for non-in-band-dictionary messages.
703 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
705 * TcpDuplexSessionChannel.cs, TcpBinaryFrameManager.cs:
706 split out binary frame manager class into separate file.
708 2009-07-21 Atsushi Enomoto <atsushi@ximian.com>
710 * TcpReplyChannel.cs : new reply channel implementation.
711 * TcpChannelListener.cs : use above for streamed reply channel.
712 * TcpDuplexSessionChannel.cs : more streaming mode support.
713 * TcpRequestChannel.cs : a couple of updates to get it working
714 with the reply channel above. Still some issues on .NET interop.
716 2009-07-21 Atsushi Enomoto <atsushi@ximian.com>
718 * RequestContext.cs : added internal derived class that implements
721 2009-07-21 Atsushi Enomoto <atsushi@ximian.com>
723 * BinaryMessageEncoder.cs : for non-session reader and writer, do not
726 2009-07-17 Atsushi Enomoto <atsushi@ximian.com>
728 * PeerDuplexChannel.cs: add the registered node itself to peer list.
729 (The messaging must be done as TCP request/reply pattern, so it's
732 2009-07-17 Atsushi Enomoto <atsushi@ximian.com>
734 * TcpRequestChannel.cs : new channel file (TCP for request/reply
735 messaging pattern). The messaging part is not working yet.
736 * TcpChannelFactory.cs : support IRequestChannel.
737 * TcpDuplexSessionChannel.cs : add unsized message support.
739 2009-07-17 Atsushi Enomoto <atsushi@ximian.com>
741 * HttpRequestChannel.cs, RequestChannelBase.cs :
742 A couple of async members are now implemented in the base class.
743 Ditto for EndpointAddress and Via.
745 2009-07-10 Atsushi Enomoto <atsushi@ximian.com>
747 * PeerDuplexChannel.cs : now it implements some of node management
748 functionality and Send operation. The receiver part is not yet.
750 2009-07-10 Atsushi Enomoto <atsushi@ximian.com>
752 * TcpChannelListener.cs, TcpDuplexSessionChannel.cs : do not pass
753 timeout to channel constructor. it does not make sense.
755 2009-07-10 Atsushi Enomoto <atsushi@ximian.com>
757 * PeerChannelFactory.cs, PeerChannelListener.cs : add MessageEncoder
758 as common interface member, and use binary encoder (not text).
760 2009-07-09 Atsushi Enomoto <atsushi@ximian.com>
762 * PeerDuplexChannel.cs : PeerNode constructor argument changes.
764 2009-07-08 Atsushi Enomoto <atsushi@ximian.com>
766 * PeerDuplexChannel.cs, PeerChannelListener.cs, PeerOutputChannel.cs,
767 PeerInputChannel.cs, PeerChannelFactory.cs : those channels are
768 going to be unified to PeerDuplexChannel. And it is likely that
769 input and output functionalities are to be unified too.
771 2009-07-08 Atsushi Enomoto <atsushi@ximian.com>
773 * TcpChannelFactory.cs : (TcpChannelInfo) ease type restriction. I
774 may have to reuse it for peer transport.
775 * PeerChannelListener.cs : add binding member.
776 * PeerDuplexChannel.cs : remove NIE overrides. Fill fields a bit.
778 2009-07-08 Atsushi Enomoto <atsushi@ximian.com>
780 * ChannelFactoryBase.cs, HttpChannelFactory.cs,
781 PeerChannelFactory.cs : close opened channels at OnClose() as
782 documented. Implement async methods.
783 * PeerChannelListener.cs : removed some NIE overrides.
785 2009-07-02 Atsushi Enomoto <atsushi@ximian.com>
787 * DuplexChannelBase.cs : some more async methods.
789 2009-06-29 Atsushi Enomoto <atsushi@ximian.com>
791 * TcpDuplexSessionChannel.cs : on Abort(), do just Close() within
793 * TcpChannelListener.cs : accept multiple channels at a time.
795 2009-06-29 Atsushi Enomoto <atsushi@ximian.com>
797 * TcpDuplexSessionChannel.cs : do not output all (stored) writer
798 session strings but output only those new ones in current message.
799 This fixes inconsistent body output in repetitive use of sender.
801 2009-06-26 Atsushi Enomoto <atsushi@ximian.com>
803 * TcpDuplexSessionChannel.cs : handle EndRecord for repetitive
804 operation that does not involve session.
805 Preserve writer session as well as reader session.
806 * MessageHeaders.cs : take name and namespace into consideration
807 when creating a serializer.
809 2009-06-25 Atsushi Enomoto <atsushi@ximian.com>
811 * TcpChannelListener.cs, TcpDuplexSessionChannel.cs :
812 Made required changes for repeated use of message exchanges.
813 Hold binary reader session. The channels use it incrementally.
814 Preambles are handled at Open, and EndRecords are handled at
815 Close, Add session shutdown hook here (not working yet though).
817 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
819 * ChannelListenerBase_1.cs : added cancellation hook here too.
820 HttpChannelListener.cs : use above.
821 Do not allow parallel channel creation (this listener does not
822 allow more than one AcceptChannel().
824 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
826 * ReplyChannelBase.cs, HttpReplyChannel.cs :
827 Add cancellation hook for async TryReceiveRequest.
829 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
831 * HttpChannelListener.cs, HttpListenerManager.cs :
832 slightly improved BuildChannelListener().
833 Implement OnAbort() and differentiate it from OnClose().
835 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
837 * TcpDuplexSessionChannel.cs : remove NIE stubs.
839 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
841 * DuplexChannelBase.cs : simple async delegate calls here too.
843 2009-06-16 Atsushi Enomoto <atsushi@ximian.com>
845 * ReplyChannelBase.cs : cosmetic dependency reduction on listener.
847 2009-06-16 Atsushi Enomoto <atsushi@ximian.com>
849 * HttpReplyChannel.cs : cosometic simplification.
851 2009-06-16 Atsushi Enomoto <atsushi@ximian.com>
853 * HttpRequestChannel.cs : Fixed timeout handling. It was causing
854 infinite block in 2.0 profile.
856 2009-06-12 Atsushi Enomoto <atsushi@ximian.com>
858 * TcpChannelListener.cs, TcpDuplexSessionChannel.cs :
859 more careful close to avoid NRE.
861 2009-06-12 Atsushi Enomoto <atsushi@ximian.com>
863 * HttpChannelListener.cs : do not Close() more than once (though
864 it is allowed to call it twice, we don't reject it; just ignore).
866 2009-06-12 Atsushi Enomoto <atsushi@ximian.com>
868 * CustomBinding.cs : copy timeouts from argument binding in copy ctr.
870 2009-06-11 Atsushi Enomoto <atsushi@ximian.com>
872 * HttpReplyChannel.cs : reject multiple WaitForRequest calls.
873 Temporarily disable HTTP Keep-Alive since it somehow results in
874 wrong reuse of connection (shown as NRE in HttpConnection).
875 Make sure to close RequestContext which was created from it.
876 * HttpRequestContext.cs : simplify.
878 2009-06-11 Atsushi Enomoto <atsushi@ximian.com>
880 * HttpChannelListener.cs, TcpChannelListener.cs,
881 ChannelListenerBase_1.cs : put common internal listener base
882 and let it handle those async stuff.
884 2009-06-10 Atsushi Enomoto <atsushi@ximian.com>
886 * ReplyChannelBase.cs : fix wrong null delegate check point.
888 2009-06-10 Atsushi Enomoto <atsushi@ximian.com>
890 * HttpReplyChannel.cs, ReplyChannelBase.cs : async operations are
891 now implemented as virtual in base class. Remove NIEs in http.
893 2009-06-10 Atsushi Enomoto <atsushi@ximian.com>
895 * HttpChannelListener.cs : hack async implementation.
897 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
899 * HttpListenerManager.cs : oops, extra line removal.
901 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
903 * HttpChannelManager.cs, HttpListenerManager.cs : rename file too.
905 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
907 * HttpChannelManager.cs, HttpChannelListener.cs: renaming, as
908 "ChannelManager" is confusing (there is ChannelManagerBase).
910 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
912 * HttpChannelManager.cs, HttpTransportBindingElement.cs,
913 HttpReplyChannel.cs, AspNetReplyChannel.cs, HttpChannelListener.cs:
914 they should be split into separate listener->reply channel lines
915 (remove "if (HostingEnvironment.IsAspNet)".)
917 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
919 * CommunicationObject.cs : OnClosed() requires call to base method.
920 Close() could rather abort the channel, and Abort() does not
921 always invke OnAbort().
922 * ChannelBase.cs : add call to base as above.
924 2009-06-05 Sebastien Pouliot <sebastien@ximian.com>
926 * ClientAccessPolicy.cs: Removed
927 * CrossDomainAccessManager.cs: Removed
928 * CrossDomainPolicy.cs: Removed
929 * HttpRequestChannel.cs: Remove call to CrossDomainAccessManager
930 since this is now done inside the BeginGetResponse call (outside
931 this assembly) for Moonlight (NET_2_1)
933 2009-06-04 Alan McGovern <amcgovern@novell.com>
935 * HttpRequestChannel.cs : Rewrite ProcessRequest to use the async APIs
936 instead of the sync apis. Prevents a possible deadlock condition in
939 2009-06-03 Atsushi Enomoto <atsushi@ximian.com>
941 * HttpRequestChannel.cs : that SL2/ML2 does not seem to allow null
942 callbacks, so add hacky ones.
944 2009-06-01 Atsushi Enomoto <atsushi@ximian.com>
946 * TcpDuplexSessionChannel.cs : WaitForMessage() should not return
947 true when socket input is not available.
949 2009-05-29 Atsushi Enomoto <atsushi@ximian.com>
951 * TcpDuplexSessionChannel.cs : Moved tcp listener accept to OnOpen().
952 I cannot precisely identify when EndRecord should be consumed,
953 so allow it at either at the end of ReadSizedMessage() or on
954 consuming preamble (it's likely handling EndRecord of previous
957 Now duplex IPeerResolverContract communication works between
958 either of .NET/Mono client and .NET/Mono server.
960 2009-05-29 Atsushi Enomoto <atsushi@ximian.com>
962 * TcpDuplexSessionChannel.cs : looks like I have added some bogus
963 code. Handle preamble ack on ReadSizedMessage() only at server.
964 Consume EndRecord from server, at client side. Though it is likely
965 changed as it's blocking when mono is at server side.
967 2009-05-29 Atsushi Enomoto <atsushi@ximian.com>
969 * TcpDuplexSessionChannel.cs : .NET seems to be based on somewhat
970 different protocol than existing code with related to preamble ack.
971 So changed it to work fine with .NET client (finally).
973 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
975 * MessageBufferImpl.cs : do not output Action twice.
977 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
979 * MessageBufferImpl.cs : it did not copy headers.
980 * Message.cs : remove 2_1 conditional implementation for buffered
981 copy and hence remove bogus code.
983 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
985 * MessageProperties.cs : copy argument is wrong.
987 2009-05-27 Atsushi Enomoto <atsushi@ximian.com>
989 * PeerCustomResolverBindingElement.cs : some argument check.
991 2009-05-27 Atsushi Enomoto <atsushi@ximian.com>
993 * BinaryMessageEncoder.cs : the serializer somehow leaves binary
994 xml open, so close the writer as well as open elements.
995 * TcpDuplexSessionChannel.cs : clear write buffer on each operation.
996 Do not output EndRecord and SizedMessage at a time.
998 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
1000 * TcpDuplexSessionChannel.cs : there was a miscalculation on the
1001 length of the SizedMessage in the output.
1003 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
1005 * CommunicationObject.cs : use sane default timeout.
1006 * PeerCustomResolverBindingElement.cs : check timeout arg sanity.
1007 * TcpDuplexSessionChannel.cs : ditto.
1009 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
1011 * TcpDuplexSessionChannel.cs : It seems that buffered stream channel
1012 only accepts buffered messages, so do as such for write buffers.
1013 Add RelatesTo header.
1015 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
1017 * DuplexSessionChannelBase.cs, DuplexChannelBase.cs:
1018 rename from former to latter.
1020 2009-05-25 Atsushi Enomoto <atsushi@ximian.com>
1022 * TcpDuplexSessionChannel.cs : reader does not always return full
1023 buffer (depending on the stream).
1025 2009-05-25 Atsushi Enomoto <atsushi@ximian.com>
1027 * PeerDuplexChannel.cs, PeerOutputChannel.cs : use new PeerNode.ctor.
1029 2009-05-25 Atsushi Enomoto <atsushi@ximian.com>
1031 * PeerCustomResolverBindingElement.cs : (Resolve) returned addresses
1034 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
1036 * ChannelManagerBase.cs : there was annoying non-2.1 stuff.
1038 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
1040 * TcpChannelListener.cs, TcpChannelFactory.cs : get reader quotas.
1042 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
1044 * ChannelManagerBase.cs : fix wrong session channel detection.
1046 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
1048 * BinaryMessageEncoderFactory.cs, BinaryMessageEncoder.cs
1049 This encoder factory implements CreateSessionEncoder() and binary
1050 encoder does support session transmit, in different media type.
1051 * ChannelManagerBase.cs : added utility method to create appropriate
1053 * HttpChannelFactory.cs, HttpChannelListener.cs,
1054 MsmqChannelFactory.cs, MsmqChannelListener.cs,
1055 PeerChannelFactory.cs, PeerChannelListener.cs,
1056 TcpChannelFactory.cs, TcpChannelListener.cs : use above.
1058 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
1060 * TcpDuplexSessionChannel.cs : add ReplyTo header.
1062 2009-05-21 Atsushi Enomoto <atsushi@ximian.com>
1064 * DuplexSessionBase.cs : new file, for session implementation.
1065 * TcpDuplexSessionChannel.cs, PeerDuplexChannel.cs,
1066 DuplexSessionChannelBase.cs : changed sync/async implementation
1067 pattern. Now async methods call sync methods using delegates.
1069 2009-05-21 Atsushi Enomoto <atsushi@ximian.com>
1071 * InputChannelBase.cs, TransportBindingElement.cs, RequestContext.cs:
1072 a few minor API fixes.
1074 2009-05-21 Atsushi Enomoto <atsushi@ximian.com>
1076 * MessageEncoderFactory.cs : implement CreateSessionEncoder().
1078 2009-05-19 Atsushi Enomoto <atsushi@ximian.com>
1080 * TcpDuplexSessionChannel.cs : add To header.
1082 2009-05-19 Atsushi Enomoto <atsushi@ximian.com>
1084 * MessageFault.cs : fix several SOAP12 fault deserialization in xml
1087 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
1089 * FaultConverter.cs : avoid NRE for null IncomingMessageHeaders.
1091 2009-05-15 Atsushi Enomoto <atsushi@ximian.com>
1093 * MessageFault.cs : Reason is mandatory. raise XmlException, and
1094 CommunicationException in each CreateFault().
1096 2009-05-15 Atsushi Enomoto <atsushi@ximian.com>
1098 * TcpDuplexSessionChannel.cs : on listener side, get TcpClient at
1099 Open(). Some (but not all yet) continuous communication works now.
1100 Use ProtocolException. Remove dummy binary session string.
1102 2009-05-14 Atsushi Enomoto <atsushi@ximian.com>
1104 * TcpDuplexSessionChannel.cs : more [MC-NMF] implementation. Moved
1105 sending/receiving SizedMessageRecord parts to manager class.
1106 Handle writer session, though it is likely broken at dictionary
1107 writer part (no string is written so far).
1108 * BinaryMessageEncoder.cs : add writer session and rename reader
1111 2009-05-14 Atsushi Enomoto <atsushi@ximian.com>
1113 * TcpDuplexSessionChannel.cs : more [MC-NMF] implementation. Via uri
1114 is mandatory in initiator preamble packet. Handle Fault reply in
1117 2009-05-14 Atsushi Enomoto <atsushi@ximian.com>
1119 * TcpDuplexSessionChannel.cs : ongoing refactoring to collect [MC-NMF]
1120 based communication under TcpBinaryFrameManager class.
1122 2009-05-13 Jb Evain <jbevain@novell.com>
1124 * MessageHeader.cs: use a SL friendly way of creating an XmlReader
1125 from a StringReader.
1127 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
1129 * MessageImpl.cs, MessageHeader.cs : eliminate xlinq in 2.1, and
1130 actually eliminate DOM-based implementation too in 2.0.
1132 2009-04-28 Atsushi Enomoto <atsushi@ximian.com>
1134 * TcpDuplexSessionChannel.cs : implement in-band dictionary support
1135 in [MC-NMF] and [MC-NBFSE], used in duplex channels. Added some
1136 comments for magic numbers based on [MC-NMF].
1138 2009-04-28 Atsushi Enomoto <atsushi@ximian.com>
1140 * BinaryMessageEncoder.cs : implement part of in-band dictionary
1141 support for [MC-NBFSE] record in [MC-NMF], in this class.
1143 2009-04-28 Atsushi Enomoto <atsushi@ximian.com>
1145 * BinaryMessageEncodingBindingElement.cs : clear extra public members.
1147 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
1149 * TcpDuplexSessionChannel.cs : implemented some channel methods.
1151 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
1153 * BinaryMessageEncoder.cs : use XmlDictionary specified as [MC-NBFS].
1155 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
1157 * ChannelManagerBase.cs : implement Open/CloseTimeout correctly.
1159 2009-04-23 Atsushi Enomoto <atsushi@ximian.com>
1161 * BinaryMessageEncoder.cs : use quotas in binding element.
1162 Implement WriteMessage().
1164 2009-04-22 Atsushi Enomoto <atsushi@ximian.com>
1166 * PeerCustomResolverBindingElement.cs : do initialize field.
1168 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
1170 * PeerCustomResolverBindingElement.cs :
1171 implement full custom resolver.
1173 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
1175 * PeerDuplexChannel.cs, PeerChannelListener.cs,
1176 PeerOutputChannel.cs, PeerCustomResolverBindingElement.cs,
1177 PeerChannelFactory.cs : ongoing p2p channel implementation.
1179 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
1181 * PnrpPeerResolverBindingElement.cs : sync with PeerResolver changes.
1183 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
1185 * BinaryMessageEncodingBindingElement.cs, ChannelBase.cs,
1186 ChannelFactoryBase.cs, WindowsStreamSecurityBindingElement.cs :
1187 implement GetProperty<T>(). Return documented objects or null.
1189 2009-04-20 Atsushi Enomoto <atsushi@ximian.com>
1191 * PeerChannelFactory.cs, PeerChannelListener.cs,
1192 PeerCustomResolverBindingElement.cs, PeerDuplexChannel.cs
1193 PeerInputChannel.cs, PeerOutputChannel.cs :
1194 new; ongoing peer transport implementation.
1195 * DuplexSessionChannelBase.cs, InputChannelBase.cs
1196 MsmqOutputChannel.cs, OutputChannelBase.cs,
1197 PeerResolverBindingElement.cs, PeerTransportBindingElement.cs,
1198 PnrpPeerResolverBindingElement.cs, TcpDuplexSessionChannel.cs :
1199 several internal changes (either required or for simplification)
1200 for ongoing peer transport implementation.
1202 2009-04-08 Atsushi Enomoto <atsushi@ximian.com>
1204 * PeerTransportBindingElement.cs : ListenIPAddress is IPAddress.
1206 2009-04-07 Atsushi Enomoto <atsushi@ximian.com>
1208 * TcpTransportBindingElement.cs : check build-ability before
1209 actually building channels.
1210 * ConnectionOrientedTransportBindingElement.cs : fixed build-ability
1211 conditions according to MSDN.
1213 2009-03-05 Atsushi Enomoto <atsushi@ximian.com>
1215 * MessageHeader.cs, MessageHeaders.cs, MessageImpl.cs :
1216 handle headers in SL2. Slightly changed 3.0 code too.
1218 2009-03-04 Atsushi Enomoto <atsushi@ximian.com>
1220 * HttpRequestChannel.cs : use cross domain access manager.
1222 2009-02-27 Atsushi Enomoto <atsushi@ximian.com>
1224 * Message.cs : (in CreateBufferedCopy) do not pass the entire
1225 message as BodyWriter.
1226 (in GetReaderAtBodyContents) just write body contents.
1227 * MessageImpl.cs : do not try to read body at ctor (fixed tons
1229 Add some state check in GetReaderAtBodyContents().
1230 * XmlReaderBodyWriter.cs : avoid possible extra xmldecl onto output.
1232 2009-02-18 Atsushi Enomoto <atsushi@ximian.com>
1234 * Message.cs : do not forget to flush.
1235 * HttpRequestChannel.cs : give more exact error info.
1237 2009-02-18 Atsushi Enomoto <atsushi@ximian.com>
1239 * Message.cs, MessageBufferImpl.cs, XmlReaderBodyWriter.cs :
1240 make buffered copy in ML2 really buffered.
1242 2009-02-12 Atsushi Enomoto <atsushi@ximian.com>
1244 * Message.cs : if there is no header item to write, do not write
1245 SOAP header element.
1247 2009-01-22 Alan McGovern <amcgovern@novell.com>
1249 * MessageHeaders.cs : List<T>.RemoveAll(Predicate<T>) doesn't exist in Silverlight.
1250 Rewrite to avoid usage of it.
1252 2009-01-14 Atsushi Enomoto <atsushi@ximian.com>
1254 * ChannelParameterCollection.cs : implement, rather than NIE.
1256 2008-05-22 Noam Lampert <noaml@mainsoft.com>
1258 * MessageFault.cs: Correctly serialize ExceptionDetails. Expose SimpleMessageFault to allow
1259 internal users to know the type of the detail.
1261 2008-05-20 Noam Lampert <noaml@mainsoft.com>
1263 * Message.c: Use private setter for state private variable to ease debugging.
1264 Modify ToString not to change the state, as it is called quite often by VS debugger
1266 2008-04-21 Roei Erez <roeie@mainsoft.com>
1268 * HttpChannleManager: Fix for multithreaded use.
1269 * HttpReplyChannel: Fix crash during sutdown.
1271 2008-04-17 Igor Zelmanovich <igorz@mainsoft.com>
1273 * HttpChannleManager: ensure trailing slash in uri.
1275 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
1277 * added: HttpChannleManager,
1278 * HttpChannelListener: added use of HttpChannelManager
1280 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
1282 * MessageEncodingBindingElement.cs: fixed ctor
1284 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
1286 * XmlReaderBodyWriter.cs: fixed ctor, skip xml declaration
1288 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
1290 * HttpReplyChannel.cs: fixed TryReceiveRequest, fix message header To
1292 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
1294 * MessageFault.cs: fixed CreateFault11, implemented "detail"
1296 2008-04-17 Noam Lampert <noaml@mainsoft.com>
1298 * HttpReplyChannel.cs: fix API - Fix crash during service shutdown.
1300 2008-04-13 Igor Zelmanovich <igorz@mainsoft.com>
1302 * BindingElementCollection.cs: fix API - .ctor's signature.
1304 2008-04-10 Eyal Alaluf <eyala@mainsoft.com>
1306 * XmlSerializerBodyWriter.cs: Removed.
1308 2008-03-25 Vladimir Krasnov <vladimirk@mainsoft.com>
1310 * MessageFault.cs: fixed WriteReason, .net XmlWriter compatible
1312 2008-02-20 Atsushi Enomoto <atsushi@ximian.com>
1314 * DuplexSessionChannelBase.cs : made it non-session (more reusable).
1315 * TcpChannelFactory.cs, TcpChannelListener.cs :
1316 unify factory and listener into TcpChannelInfo for use in
1317 TCP channel implementation. Do not store stream in the listener.
1318 Factory now uses BinaryMessageEncoder.
1319 * TcpDuplexSessionChannel.cs : changes explained above, and now it
1320 holds TcpClient that the listener has accepted.
1322 tcp-transport-binding-element sample now communicates (though
1323 only when both sides are mono: there seems binary mismatch).
1325 2008-02-20 Atsushi Enomoto <atsushi@ximian.com>
1327 * TcpTransportBindingElement.cs, TcpConnectionPoolSettings.cs :
1328 clone connection pool settings too.
1329 * NamedPipetransportBindingElement.cs,
1330 NamedPipeConnectionPoolSettings.cs : let's clean them up too (not
1331 being likely implemented though).
1333 2008-02-20 Atsushi Enomoto <atsushi@ximian.com>
1335 * ConnectionOrientedTransportBindingElement.cs,
1336 TcpTransportBindingElement.cs : some API updates.
1337 Initialize default values.
1338 * TcpConnectionPoolSettings.cs : new file.
1340 2008-02-18 Atsushi Enomoto <atsushi@ximian.com>
1342 * ServiceHostParser.cs, SvcHttpHandlerFactory.cs, SvcHttpHandler.cs:
1343 added support for "factory" attribute.
1345 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
1347 * HttpRequestContent.cs : consider HttpResponseMessageProperty.
1349 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
1351 * HttpRequestChannel.cs : pass response ContentType to ReadMessage().
1353 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
1355 * HttpRequestChannel.cs : create WebRequest against To message header
1357 Consider HttpRequestMessageProperty.
1358 Do not output body when suppressed or the method is GET.
1360 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
1362 * HttpChannelListener.cs : BindingContext may not have listenUri
1363 at its .ctor() step.
1365 2008-02-08 Atsushi Enomoto <atsushi@ximian.com>
1367 * BindingContext.cs : RemainingBindingElements is not just a dummy
1368 collection but is actually user-controlled.
1370 2008-02-08 Atsushi Enomoto <atsushi@ximian.com>
1372 * TcpChannelFactory.cs, TcpChannelListener.cs,
1373 HttpChannelFactory.cs, HttpChannelListener.cs,
1374 MsmqChannelFactory.cs, MsmqChannelListener.cs,
1375 TextMessageEncodingBindingElement.cs,
1376 BinaryMessageEncodingBindingElement.cs,
1377 MtomMessageEncodingBindingElement.cs :
1378 message encoder should be retrieved only through public API.
1379 * BindingContext.cs : so my old guess was wrong.
1381 See also: http://blogs.msdn.com/drnick/archive/2006/05/10/594134.aspx
1383 2008-02-05 Atsushi Enomoto <atsushi@ximian.com>
1385 * HttpTransportBindingElement.cs : implemented copy constructor.
1387 2007-08-20 Atsushi Enomoto <atsushi@ximian.com>
1389 * HttpRequestChannel.cs, HttpReplyChannel.cs : treat SOAPAction HTTP
1390 header when AddressingVersion is None.
1392 2007-08-20 Atsushi Enomoto <atsushi@ximian.com>
1394 * MessageHeaders.cs : AddressingVersion.None rejects some WSA
1397 2007-08-19 Atsushi Enomoto <atsushi@ximian.com>
1399 * OneWayBindingElementImporter.cs
1400 CompositeDuplexBindingElementImporter.cs : new files.
1402 2007-08-17 Atsushi Enomoto <atsushi@ximian.com>
1404 * MessageHeaders.cs : due to the DataContractSerializer.ReadObject()
1405 semantic change, its bool parameter must be false, not true.
1407 2007-07-13 Atsushi Enomoto <atsushi@ximian.com>
1409 * InputChannelBase.cs, MsmqChannelListener.cs, MsmqInputChannel.cs :
1410 new files. Msmq transport listener Implementation.
1411 * MsmqOutputChannel.cs : implemented Send(). Not sure if it works
1412 (wait for System.Messaging impl.)
1413 * HttpReplyChannel.cs : added comment
1415 2007-07-06 Atsushi Enomoto <atsushi@ximian.com>
1417 * MsmqChannelFactory.cs MsmqOutputChannel.cs OutputChannelBase.cs :
1418 new files. internal stuff for msmq channel.
1419 * BinaryMessageEncoder.cs : added another .ctor().
1420 * MsmqTransportBindingElement.cs :
1421 implemented [Can]BuildChannelFactory().
1423 2007-07-06 Atsushi Enomoto <atsushi@ximian.com>
1425 * MsmqBindingElementBase.cs MsmqTransportBindingElement.cs :
1426 initialize some fields.
1428 2007-07-05 Atsushi Enomoto <atsushi@ximian.com>
1430 * MsmqBindingElementBase.cs MsmqMessageProperty.cs
1431 MsmqTransportBindingElement.cs ITransactedBindingElement.cs :
1432 couple of msmq stubs.
1434 2007-04-02 Atsushi Enomoto <atsushi@ximian.com>
1436 * SecureMessageGenerator.cs : SecurityContextToken support (though
1437 it is still regarded as invalid by WCF).
1439 2007-03-13 Atsushi Enomoto <atsushi@ximian.com>
1441 * WSSecurityMessageHeader.cs, SecureMessageGenerator.cs :
1442 make header.Contents.Add() more strict.
1443 Use HasAsymmetricKey to determine whether to use asymmetric algorithm
1445 Added some hack to allow ssl token external mode.
1446 Commented out such lines that always premised asymmtric key.
1448 2007-03-08 Atsushi Enomoto <atsushi@ximian.com>
1450 * TransactionFlowBindingElement.cs : forgot necessary Clone().
1452 2007-03-08 Atsushi Enomoto <atsushi@ximian.com>
1454 * MessageSecurityBindingSupport.cs : support check to create
1455 authenticator is now done in both initiator/recipient sides.
1456 * SecurityRequestContext.cs : don't encrypt WS-Trust RSTR.
1458 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
1460 * MessageSecurityBindingSupport.cs : for now, comment out the code
1461 that makes authenticator creation optional.
1462 * SecurityRequestContext.cs : don't decrypt message when it is
1463 WS-Trust messages. Also, do not secure SOAP Fault (it is likely
1465 * SecurityChannelListener.cs : GetProperty<T>() now returns
1466 MessageSecurityBindingSupport when requested. It is used by
1467 EndpointDispatcher to check if it supports WS-Trust negotiation.
1468 * ChannelListenerBase.cs :
1469 removed extra TODO and field. Implemented GetProperty<T>().
1470 * Message.cs : In CreateMessage() for SOAP Fault, create
1471 SimpleMessage with IsFault = true.
1473 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
1475 * SecurityRequestContext.cs : try to reply fault with the inner
1476 channel when an error occurred internally.
1477 * FaultConverter.cs : implemented based on OperationContext (at normal
1478 state it does not seem to create messages, so I implemented it this
1481 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
1483 * TransportBindingElement.cs : implemented GetProperty<T>().
1484 * TransactionFlowBindingElement.cs : on building factory or listener,
1485 reject channel types that cannot build.
1486 * SecurityBindingElement.cs : added some TODO comments.
1487 * HttpTransportBindingElement.cs : GetProperty<T>() should rather
1488 delegate to base, not BindingContext.
1489 * SecurityRequestContext.cs : somewhat late decryption.
1491 2007-03-06 Atsushi Enomoto <atsushi@ximian.com>
1493 * MessageSecurityBindingSupport.cs,
1494 AsymmetricSecurityBindingElement.cs,
1495 SymmetricSecurityBindingElement.cs :
1496 renamed *SecurityBindingElementSupport to *SecurityCapabilities and
1497 implemented ISecurityCapabilities on them. Now those binding
1498 elements support GetProperty<ISecurityCapabilities>().
1500 2007-03-05 Atsushi Enomoto <atsushi@ximian.com>
1502 * SecurityBindingElement.cs : SetIssuerBindingContextIfRequired()
1503 will work only for predefined parameter types.
1505 2007-03-01 Atsushi Enomoto <atsushi@ximian.com>
1507 * MessageSecurityBindingSupport.cs :
1508 Set proper MessageDirection to the requirement after creation.
1509 split CreateTokenAuthenticator() as MessageDirection is different.
1510 Removed extra creation of requirement.
1512 2007-03-01 Atsushi Enomoto <atsushi@ximian.com>
1514 * MessageSecurityBindingSupport.cs : token authenticator is not
1515 always created on channel-opening stage.
1516 * SecurityBindingElement.cs : use SslSecurityTokenParameters for
1517 Sslnego binding factory method.
1519 2007-02-28 Atsushi Enomoto <atsushi@ximian.com>
1521 * SecureMessageGenerator.cs : inconsistent ReferenceList has caused
1522 signature velification failure.
1524 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1526 * SecureMessageGenerator.cs : encrypt signature confirmations only
1527 when they are required.
1529 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1531 * SecureMessageGenerator.cs : SignatureConfirmation must be encrypted
1532 when [Signature Protection is true i.e. when we use
1533 SignBeforeEncryptAndEncryptSignature.
1535 With this change finally samplesvc.cs/samplecli.cs became
1538 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1540 * SecureMessageDecryptor.cs : signature verification was not done
1541 for endorsing supporting tokens.
1542 * SecureMessageGenerator.cs : moved SignatureConfirmation position
1543 in the security header. Don't output empty ReferenceList.
1545 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1547 * SecureMessageGenerator.cs : signingToken was added before being
1548 initialized and thus caused NRE.
1550 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1552 * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
1553 SecureMessageGenerator.cs : use SHA1 instead of HMACSHA1. Now we
1554 don't need workaround for symmetric key restoration.
1556 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1558 * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
1559 SecureMessageGenerator.cs :
1560 Avoid extra reference search from the request's ReferenceList.
1561 create HMACSHA1 always with the key to compute hash (I'm not sure
1562 it is correct; it is rather to adjust all hash consistent.)
1564 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1566 * SecureMessageDecryptor.cs : verify that endorsing supporting tokens
1567 actually endorsed the primary signature.
1568 * SecureMessageGenerator.cs : implemented endorsing of the primary
1569 signature. So, now supporting tokens are fully implemented.
1571 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1573 * MessageSecurityBindingSupport.cs : so, those supporting tokens are
1574 totally signing tokens.
1575 * SecureMessageGenerator.cs : Endorsing tokens should also be
1576 included in the message. They are just not signed.
1578 2007-02-26 Atsushi Enomoto <atsushi@ximian.com>
1580 * SecureMessageGenerator.cs : support signing and encryption of
1581 supporting tokens. Some required refactory to do it.
1582 * MessageSecurityBindingSupport.cs : added EncryptedData member.
1584 2007-02-26 Atsushi Enomoto <atsushi@ximian.com>
1586 * SecureMessageDecryptor.cs : fix exception message.
1587 * WSSecurityMessageHeader.cs, WSSignedXml.cs, WSEncryptedXml.cs :
1588 XmlNamespaceManager is not required for GetIdElement().
1590 2007-02-22 Atsushi Enomoto <atsushi@ximian.com>
1592 * SecureMessageDecryptor.cs, WSSecurityMessageHeader.cs :
1593 moved decryption part from former file to latter file, to reuse
1594 SignedXml instance (though now I doubt how it actually was good)
1595 which in turn required to replace EncryptedData in
1596 WSSecurityMessageHeader with decrypted one.
1597 * WSEncryptedXml.cs : similar to WSSignedXml.cs, to handle wsu:Id.
1599 2007-02-21 Atsushi Enomoto <atsushi@ximian.com>
1601 * SecureMessageGenerator.cs : when we create DerivedKeyToken, those
1602 EncryptedData should contain KeyInfo as it is not obvious which key
1603 is used there. .net<->mono DerivedKeyToken introp is done.
1604 * SecureMessageDecryptor.cs : check derived key requirement.
1605 Reduce dom-dependent parts.
1607 2007-02-21 Atsushi Enomoto <atsushi@ximian.com>
1609 * WSSecurityMessageHeader.cs : ReferenceList needs to be bound to
1610 the related DerivedKeyToken (if any).
1611 * SecureMessageGenerator.cs : largely done with DerivedKeyToken
1612 support. Some refactoring to distinguish deried-token-related
1614 * SecureMessageDecryptor.cs : removed its own support for derived
1615 key tokens. Now it fully works with DerivedKeySecurityToken.
1617 2007-02-21 Atsushi Enomoto <atsushi@ximian.com>
1619 * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
1620 SecureMessageDecryptor.cs :
1621 Implemented increment token reading in o:Security, as
1622 DerivedKeyToken could reference to existing wrapped key.
1623 Removed WsscDerivedKeyToken and all relevant code.
1624 * SecureMessageGenerator.cs : replaced WsscDerivedKeyToken with
1625 DerivedKeySecurityToken.
1627 2007-02-16 Atsushi Enomoto <atsushi@ximian.com>
1629 * SecureMessageGenerator.cs : it was setting security tokens into
1630 incorrect SecurityMessageProperty.
1631 Use correct WrappedKeySecurityToken for EncryptedKeySHA1.
1632 Now it uses SecurityRequestContext instead of just primary key.
1633 * SecureMessageDecryptor.cs : removed extra lines. Limit workarounds
1634 to symmetric reply decryption, which is the only trouble case.
1635 Do not create another SignedXml.
1636 * WSSecurityMessageHeader.cs : SignedXml processing changes above.
1638 2007-02-15 Atsushi Enomoto <atsushi@ximian.com>
1640 * SecureMessageDecryptor.cs : Now it uses union token resolver and
1641 the resolver works with in-progress token reading in o:Security.
1642 * WSSecurityMessageHeader.cs : now it does not read EncryptedKey
1643 as EncryptedKeyIdentifierClause. It is rather a SecurityToken.
1644 * SecureMessageGenerator.cs : cosmetic refactoring.
1646 2007-02-14 Atsushi Enomoto <atsushi@ximian.com>
1648 * WSSecurityMessageHeader.cs : read EncryptedKeyIdentifierClause
1649 instead of EncryptedKey.
1651 2007-02-13 Atsushi Enomoto <atsushi@ximian.com>
1653 * MessageSecurityBindingSupport.cs : SigningToken and EncryptionToken
1654 should not be always prepared at channel Open(). It also caused
1655 that extra token requirements.
1656 * SecureMessageGenerator.cs : use correct key clause for encryption.
1657 * SecureMessageDecryptor.cs : reduce extra key acquisition.
1659 2007-02-06 Atsushi Enomoto <atsushi@ximian.com>
1661 * MessageSecurityBindingSupport.cs : added CreateTokenAuthenticator()
1662 for supporting 'supporting tokens' .
1663 * SecureMessageGenerator.cs : Supporting token creation is done only
1664 at initiator (not sure if it is supposed that, but for now it is).
1665 Removed extraneous CollectSupportingTokens().
1666 * SecureMessageDecryptor.cs : implemented supporting token
1667 authentication (partly). "Signed" supporting tokens are expected
1670 2007-02-06 Atsushi Enomoto <atsushi@ximian.com>
1672 * SecureMessageGenerator.cs :
1673 make SignBeforeEncryptAndEncryptSignature working.
1675 2007-02-06 Atsushi Enomoto <atsushi@ximian.com>
1677 * SecureMessageGenerator.cs : EncryptedKeySHA1 needs key hash, not
1678 the key itself. ProtectionToken is WrappedKey.
1679 * SecureMessageDecryptor.cs : now it is internal encrypted key clause,
1680 not EncryptedKeyIdentifierClause which is not for embedded key.
1681 * MessageProperties.cs : Fixed copy direction in CopyProperties().
1683 2007-02-05 Atsushi Enomoto <atsushi@ximian.com>
1685 * MessageSecurityBindingSupport.cs : added DefaultKeyWrapAlgorithm
1686 to switch asymmetric and symmetric. Not used yet.
1687 * SecurityRequestChannel.cs : now it pass the request security
1688 property to reply receiver so that it could use the primary key
1689 used at request phase.
1690 * SecurityRequestContext.cs : now it pass the context itself to
1691 reply sender so that it could embed related MessageID.
1692 * SecureMessageGenerator.cs : ongoing changes to support symmetric
1693 binding element. Add RelatesTo output and remove MessageID when
1694 replying to the sender. Added some hacks to get symmetric binding
1696 * SecureMessageDecryptor.cs : ditto. Handle embedded encryption key
1697 in SecurityTokenReference (it also involved existing encrypted key
1698 retrieval). In reply receiver, reuse the key that was used at
1699 request phase. It needs significant token resolution refactoring.
1701 2007-02-02 Atsushi Enomoto <atsushi@ximian.com>
1703 * MessageSecurityBindingSupport.cs : cosmetic refactoring.
1704 * SecureMessageDecryptor.cs : store token and its authentication
1705 policies into the security property, and reuse it on reply.
1706 Some code refactoring; there is at most one o:Security to solve at
1707 one endpoint (depends on Actor). Some attempt to use correct
1708 token parameters (but for now I have only samples that use x509).
1709 * SecureMessageGenerator.cs : For replying message, use initiator's
1710 signing token as the encryption token. Simply reuse security
1711 property from the input message.
1713 I have some nasty workaround at decryptor for initiator that could
1714 not retrieve decryption key.
1716 2007-02-02 Atsushi Enomoto <atsushi@ximian.com>
1718 * SecureMessageGenerator.cs, SecurityChannelListener.cs,
1719 SecurityRequestContext.cs, MessageSecurityBindingSupport.cs:
1720 several refactoring on token acquisition. Large part of
1721 MessageSecurityBindingSupport code is unified.
1723 2007-02-02 Atsushi Enomoto <atsushi@ximian.com>
1725 * MessageProperties.cs : Security property should be one of the items.
1726 Actually many other properties should be similar as well.
1727 * MessageImpl.cs, MessageBufferImpl.cs, Message.cs :
1728 when copying a message, copy properties as well.
1729 * SecurityRequestContext.cs : on replying, pass input
1730 SecurityMessageProperty to the security generator.
1731 * SecureMessageGenerator.cs : both of above, for SignatureConfirmation
1733 * WSSecurityMessageHeader.cs : fixed lazy .ctor() that did nothing.
1735 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
1738 MessageHeader.cs, Message.cs, WSSecurityMessageHeader.cs,
1739 SecureMessageDecryptor.cs, SecureMessageGenerator.cs:
1740 use new WSSignedXml instead of SignedXml, and remove coexisting
1741 Id and wsu:Id. Now we can live only with wsu:Id and therefore
1742 - our reply messages could be consumed by .NET, and
1743 - .NET signature could be verified.
1745 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
1747 * SecureMessageDecryptor.cs : The signing key must be passed as
1748 CheckSignature() argument, not SigningKey.
1750 2007-01-31 Atsushi Enomoto <atsushi@ximian.com>
1752 * MessageImpl.cs : don't read attribute after ReadStartElement().
1754 2007-01-31 Atsushi Enomoto <atsushi@ximian.com>
1756 * MessageSecurityBindingSupport.cs : some Release() refactoring.
1757 * SecureMessageGenerator.cs : use correct signing key clause for
1758 SecurityTokenReferenceKeyInfo to be serialized.
1759 * SecureMessageDecryptor.cs : now it can try to parse signature.
1761 2007-01-31 Atsushi Enomoto <atsushi@ximian.com>
1763 Ongoing changes to support signature confirmation
1764 * SecureMessageGenerator.cs :
1765 Don't output ReplyTo onto reply message.
1766 Write SignatureConfirmation if needed.
1767 * SecureMessageDecryptor.cs :
1768 Some refactoring for header cunsumption. Added commented-out
1769 signature verification part (not working yet, on client side due
1770 to incorrect reply from service and insufficient clause reader).
1771 * WSSecurityMessageHeader.cs :
1772 Added SignatureConfirmation support.
1773 KeyInfoClause for o:SecurityTokenReference should be replaced with
1774 SecurityTokenReferenceKeyInfo.
1776 2007-01-29 Atsushi Enomoto <atsushi@ximian.com>
1778 * SecureMessageGenerator.cs : support Timestamp signature.
1779 Removed unused code, and extra argument in CreateReference().
1780 * WSSecurityMessageHeader.cs : Timestamp also needs Id for SignedXml.
1782 2007-01-29 Atsushi Enomoto <atsushi@ximian.com>
1784 * SecureMessageGenerator.cs :
1785 Several fixes to make asymmetric binding working:
1786 - Differentiate signing and encryption token in several areas.
1787 - Fixed signing keyinfo.
1789 Added initial SecurityMessageProperty handling, not sure if it is
1790 appropriate here though.
1791 * HttpRequestChannel.cs : (some debugging lines)
1793 2007-01-26 Atsushi Enomoto <atsushi@ximian.com>
1795 Woohoo! Here is a very basic WS-Security compliant message which could
1796 be allowed by Indigo.
1797 * MessageHeader.cs : added Id support for writing.
1798 * Message.cs : added internal BodyId for signature reference.
1799 * MessageImpl.cs : write Body Id if required.
1800 * SecureMessageGenerator.cs : Before signing, the target elements must
1801 be given wsu:Id. Since I still use System.Security.dll, I need some
1802 trick for signing (I give both Id and wsu:Id, former to sign and
1803 latter to be consumed). Maybe I will have to replace xmldsig/xmlenc
1804 implementation later. Now singning mechanism works except for
1805 wsu:Timestamp (which is kind of mandatory).
1807 I can's still consume replies from Indigo but it's a big progress :)
1809 2007-01-26 Atsushi Enomoto <atsushi@ximian.com>
1811 * MessageHeaderInfo.cs : added internal Id.
1812 * MessageHeader.cs : read and write wsu:Id.
1813 * Message.cs : output wsu namespace if Id exists in any header.
1814 * HttpReplyChannel.cs : (some debugging lines.)
1815 * SecureMessageDecryptor.cs : (remove debugging lines.)
1816 * MessageImpl.cs : removed obsolete code.
1817 * WSSecurityMessageHeader.cs : output "o" prefix.
1818 * SecureMessageGenerator.cs : replaced XmlElement-based header
1819 signing with MessageHeader-based signing, to support Id correctly.
1821 2007-01-15 Atsushi Enomoto <atsushi@ximian.com>
1823 * SecureMessageGenerator.cs : some more refactoring and code comments.
1824 * MessageSecurityUtility.cs : made decryptor into an instance class,
1825 like I've done for SecureMessageGenerator.
1826 * SecurityRequestContext.cs, SecurityRequestChannel.cs :
1827 dependent changes for above.
1829 2007-01-12 Atsushi Enomoto <atsushi@ximian.com>
1831 * SecureMessageGenerator.cs : fixed derived keysize. derived key was
1832 causing NRE due to the lack of token reference.
1833 No need to pass doc to SignedXml.ctor() anymore.
1834 Moved ReferenceList before the signature(s).
1836 2007-01-12 Atsushi Enomoto <atsushi@ximian.com>
1838 * SecureMessageGenerator.cs : add wsu:Timestamp to signing target.
1839 Moved signing key generation code to non-HMACSHA1 signing part.
1840 Don't try to sign wss:Security.
1841 Pass document itself to SignedXml.ctor().
1842 Use temporary DataObjects to avoid adding Ids (not sure what is the
1843 expected processing yet).
1844 * WSSecurityMessageHeader.cs : to support timestamp signing, add
1845 WriteTo() method in WsuTimestamp.
1847 2007-01-12 Atsushi Enomoto <atsushi@ximian.com>
1849 * SecureMessageGenerator.cs : wrong key was used for signing.
1850 Omit KeyInfo for now - it seems that .net (sometimes?) omits it.
1852 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1854 * SecureMessageGenerator.cs :
1855 Now ID generation process does not modify input message.
1856 Moved derived key generation part into (virtual) signing loop.
1857 MessagePartSpecification support for signing is done.
1859 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1861 * SecureMessageGenerator.cs : some reordering to handle signing and
1862 encryption with supporting tokens. Fixed XPath query bug for
1863 soap header contents (we want s:Header/*, not s:Header).
1865 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1867 * MessageSecurityBindingSupport.cs : more refactoring.
1868 Made it abstract and added Initiator- and Recipient- classes.
1869 Several members were moved to those derived types.
1870 * AsymmetricSecurityBindingElement.cs,
1871 SymmetricSecurityBindingElement.cs
1872 SecurityChannelFactory.cs, SecurityChannelListener.cs,
1873 SecurityRequestChannel.cs, SecurityOutputChannel.cs,
1874 SecurityRequestContext.cs, SecureMessageGenerator.cs :
1875 All dependent changes by above. Removed ISecurityChannelSource
1876 which became useless.
1878 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1880 * SecureMessageGenerator.cs : encryption parts should exist too.
1881 * AsymmetricSecurityBindingElement.cs
1882 SymmetricSecurityBindingElement.cs,
1883 MessageSecurityBindingSupport.cs : some refactoring.
1884 Split MessageSecurityBindingSupport into security binding element
1885 specific parts and made MessageSecurityBindingSupport concrete.
1886 It is likely split again, next time based on initiator/recipient.
1888 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1890 * MessageSecurityUtility.cs, SecureMessageGenerator.cs :
1891 split encryptor part in the former file into latter file, and
1893 * SecurityRequestChannel.cs, SecurityOutputChannel.cs,
1894 SecurityRequestContext.cs : apply the change above.
1896 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1898 * MessageSecurityBindingSupport.cs :
1899 Fixed incorrect TrgGetValue() use.
1900 Added CollectRecipientSupportingTokens().
1902 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1904 * MessageSecurityUtility.cs: acctually ReferenceList was inside
1905 EncryptedKey. So, when a key itself is used to encrypt data,
1906 ReferenceList is contained by itself.
1907 * MessageSecurityBindingSupport.cs :
1908 added CollectInitiatorSupportingTokens().
1910 2007-01-10 Atsushi Enomoto <atsushi@ximian.com>
1912 * MessageSecurityUtility.cs: it should support ReferenceList-less
1915 2007-01-10 Atsushi Enomoto <atsushi@ximian.com>
1917 * WSSecurityMessageHeader.cs : reverted previous unnecessary change.
1918 * MessageSecurityUtility.cs : there already was uuid.
1920 2007-01-09 Atsushi Enomoto <atsushi@ximian.com>
1922 * MessageSecurityUtility.cs : replaced EncryptedKey with
1923 WrappedKeySecurityToken, which seems to be in actual use in .net.
1924 * WSSecurityMessageHeader.cs : added internal Guid so that it
1925 could be shared between header items.
1927 2006-12-14 Atsushi Enomoto <atsushi@ximian.com>
1929 * HttpRequestContext.cs, TextMessageEncoder.cs :
1930 some null arg check.
1932 2006-12-08 Atsushi Enomoto <atsushi@ximian.com>
1934 * MessageSecurityUtility.cs : reducing DOM dependency. Use KeyInfoNode
1935 for SecurityTokenReference resolution.
1937 2006-12-08 Atsushi Enomoto <atsushi@ximian.com>
1939 * MessageSecurityUtility.cs : fixed EncryptedData decryption to
1940 consider DerivedKeyTokens correctly.
1941 When creating LocalId, don't add '#' here.
1943 2006-12-07 Atsushi Enomoto <atsushi@ximian.com>
1945 * MessageSecurityUtility.cs :
1946 handle key mapping for each wsse:Security.
1948 2006-12-07 Atsushi Enomoto <atsushi@ximian.com>
1950 * WSSecurityMessageHeader.cs : use prefix "c" for ws-secureconv.
1952 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1954 * WSSecurityMessageHeader.cs : write top-level ReferenceList in
1956 * MessageSecurityUtility.cs :
1957 Now ReferenceList is placed under wsse:Security as WS-Security 1.1
1958 suggests, and it is used to dereference decryption targets.
1959 Now it premises multiple wsse:Security elements to read.
1961 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1963 * WSSecurityMessageHeader.cs : don't write o:SecurityTokenReference
1964 manually (and actually the namespace URI was wrong).
1966 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1968 * WSSecurityMessageHeader.cs : improved DerivedKeyToken writing
1970 * MessageSecurityUtility.cs : DerivedKeyToken creation.
1972 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1974 * SecurityBindingElement.cs,
1975 SymmetricSecurityBindingElement.cs,
1976 AsymmetricSecurityBindingElement.cs :
1977 implemented SetKeyDerivation().
1979 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1981 * MessageSecurityUtility.cs : don't add KeyInfoClause to EncryptedKey
1984 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1986 * MessageBufferImpl.cs : XmlReader-based buffer is not possible, so
1989 2006-12-05 Atsushi Enomoto <atsushi@ximian.com>
1991 * MessageSecurityUtility.cs : u:Timestamp will be encrypted/signed,
1992 thus move it in front of encryption/signing.
1994 2006-12-04 Atsushi Enomoto <atsushi@ximian.com>
1996 * TransactionFlowBindingElement.cs : OnOpen()/OnClose() should not
1997 check state by themselves (btw it's not really working).
1998 * HttpChannelListener.cs : If the url does not end with '/' add it
1999 so that it could be fed to HttpListener.
2001 2006-12-04 Atsushi Enomoto <atsushi@ximian.com>
2003 * HttpChannelFactory.cs : check scheme on CreateChannel.
2004 * MessageHeader.cs : finish IsMessageVersionSupported().
2006 2006-12-04 Atsushi Enomoto <atsushi@ximian.com>
2008 * FaultConverter.cs : new file, not used yet though.
2010 2006-10-21 Atsushi Enomoto <atsushi@ximian.com>
2012 * SvcHttpHandler.cs : set GET URL to ServiceMetadataBehavior.
2014 2006-10-20 Atsushi Enomoto <atsushi@ximian.com>
2016 * SvcHttpHandler.cs : once AspNetReplyChannel get working with HTTP
2017 GET as well as HttpReplyChannel, configuration would be ready now.
2019 2006-10-18 Ankit Jain <jankit@novell.com>
2021 * TextMessageEncoder.cs (MediaType): Use 'application/soap+xml' for
2022 EnvelopeVersion.Soap12 and 'text/xml' for others.
2023 * HttpReplyChannel.cs (TryReceiveRequest): Revert earlier patch for GET
2025 Strip '?' from the query string.
2027 2006-10-13 Ankit Jain <jankit@novell.com>
2029 * MessageVersion.cs (None): Set AddressingVersion.None
2031 2006-10-12 Atsushi Enomoto <atsushi@ximian.com>
2033 * SvcHttpHandler.cs : added config-based endpoint addition code.
2034 Though due to some weird bug in mono-core it does not seem to work,
2035 so commented out for now.
2036 * HttpReplyChannel.cs : handle wsdl query parameter. btw creating
2037 mex request message might just be wrong.
2038 Use expected MessageVersion by the channel.
2039 * AspNetReplyChannel.cs : ditto. Plus, HTTP GET support.
2041 2006-10-12 Atsushi Enomoto <atsushi@ximian.com>
2043 * MessageSecurityBindingSupport.cs : added DefaultSignatureAlgorithm
2044 which differs depending on whether it is asymmetric or symmetric.
2045 * SecurityRequestChannel.cs, SecurityRequestContext.cs :
2046 simplify SecureMessage() and DecryptMessage() arguments (just
2047 take MessageSecurityBindingSupport instead of several parameters).
2048 * MessageSecurityUtility.cs :
2049 - simplify SecureMessage() and DecryptMessage() arguments (just
2050 take MessageSecurityBindingSupport instead of several parameters).
2051 - Take token inclusion mode into account. Don't include them when
2052 it is not expected. Also, change the token reference style.
2053 - add wsa:MessageID to the headers.
2054 - For hmac-sha1 signing (default for symmetric binding), use
2055 symmetric key created for encryption as well to create HMACSHA1.
2056 - add Id to wsu:Timestamp.
2057 - start to handle SecurityMessageProperty.
2058 * WSSecurityMessageHeader.cs :
2059 Added Id to WsuTimestamp. Also use prefixes for its XML output.
2060 Changed date format.
2062 2006-10-06 Atsushi Enomoto <atsushi@ximian.com>
2064 * CommunicationObject.cs : reject faulted state on Open()/Close().
2065 * MessageHeaders.cs : removed extra fields.
2067 2006-10-06 Ankit Jain <jankit@novell.com>
2069 * HttpReplyChannel.cs (TryReceiveRequest): Handle HTTP GET.
2071 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
2073 * MessageSecurityUtility.cs, SecurityRequestContext.cs :
2074 added some FIXMEs and additional arg.
2076 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
2078 * MessageSecurityUtility.cs : remove duplicate Action header.
2080 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
2082 * MessageFault.cs : partly implemented CreateFault(Message, int).
2083 * Message.cs, MessageImpl.cs, MessageBufferImpl.cs :
2084 handle IsFault correctly in each implementation.
2086 2006-10-04 Ankit Jain <jankit@novell.com>
2088 * HttpRequestChannel.cs (ProcessRequest): Read till the end.
2090 2006-10-04 Ankit Jain <jankit@novell.com>
2092 * HttpRequestChannel.cs (ProcessRequest): Temporary workaround for a bug
2093 in WebConnectionStream.
2095 2006-10-04 Ankit Jain <jankit@novell.com>
2097 * MessageHeaders.cs (To): Use GetHeader<string> till
2098 DataContractSerializer gets ISerializable support.
2099 * CustomBinding.cs (.ctor): Get scheme from TransportBindingElement.
2101 2006-10-04 Ankit Jain <jankit@novell.com>
2103 * ServiceHostParser.cs (Parse):
2104 (Split): Add some error checks.
2106 2006-10-03 Atsushi Enomoto <atsushi@ximian.com>
2108 * SslStreamSecurityBindingElement.cs : updated API to Sep. CTP.
2109 * StreamUpgradeAcceptor.cs : Fix AcceptUpgrade().
2110 * SslStreamSecurityUpgradeProvider.cs,
2111 SslStreamSecurityUpgradeAcceptor.cs :
2112 new files for Ssl upgrade provider implementation.
2113 * MessageSecurityUtility.cs :
2114 Create proper C14NTransform. Don't use enveloped signature
2115 transform but sign every significant bits. On securing messages
2116 use ChannelProtectionRequirements.
2117 * SecurityRequestContext.cs : pass ChannelProtectionRequirements to
2119 * MessageEncoder.cs : fix API (missing constraint).
2120 * WSSecurityMessageHeader.cs : it is MustUnderstand.
2121 * StreamUpgradeProvider.cs : API fix and implemented .ctor().
2122 * AsymmetricSecurityBindingElement.cs : default protection order is
2123 SignBeforeEncryptAndEncryptSignature.
2125 2006-09-29 Ankit Jain <jankit@novell.com>
2127 * SvcHttpHandlerFactory.cs (GetTypeFromSvc): Extract and move code to
2128 ServicHostParser and use that here.
2129 (PrivateBinPath): New.
2130 (GetTypeFromBin): New. Load assembly from PrivateBinPath.
2131 (RemovedCallback): Remove and close the SvcHttpHandler when its
2132 corresponding file (.svc) changes.
2133 * SvcHttpHandler.cs (Close): New. Close the ServiceHost.
2135 * ServiceHostParser.cs : New.
2136 * CachingCompiler.cs : New. Code extracted from
2137 System.Web.Compilation.CachingCompiler
2138 * CompilationException.cs : New. From System.Web.Compilation
2139 * HtmlizedException.cs : New. Likewise.
2141 2006-09-29 Atsushi Enomoto <atsushi@ximian.com>
2143 * MessageSecurityBindingSupport.cs : For client side, it is always
2144 InitiatorServiceModelSecurityTokenRequirement which should be
2145 created. Fixed wrong client encryption key acquisition.
2147 2006-09-29 Atsushi Enomoto <atsushi@ximian.com>
2149 * SecurityChannelListener.cs, SecurityRequestContext.cs,
2150 MessageSecurityBindingSupport.cs : made similar changes as factories
2151 to listener so that session channels and input channels would work.
2152 Added authenticator creation.
2154 2006-09-29 Atsushi Enomoto <atsushi@ximian.com>
2156 * Binding.cs : added missing members.
2158 2006-09-28 Atsushi Enomoto <atsushi@ximian.com>
2160 * SecurityRequestChannel.cs, SecurityOutputChannel.cs,
2161 MessageSecurityUtility.cs, MessageSecurityBindingSupport.cs :
2162 reduce code duplication between request and output channels.
2163 The common parts are now in MessageSecurityBindingSupport.
2164 Now reduced several arguments in SecureMessage() for client.
2166 2006-09-28 Atsushi Enomoto <atsushi@ximian.com>
2168 * ChannelFactoryBase.cs : implemented ValidateCreateChannel().
2170 2006-09-28 Atsushi Enomoto <atsushi@ximian.com>
2172 * AsymmetricSecurityBindingElement.cs,
2173 SecurityChannelListener.cs,
2174 SecurityRequestContext.cs,
2175 SymmetricSecurityBindingElement.cs,
2176 SecurityRequestChannel.cs,
2177 SecurityOutputChannel.cs,
2178 SecurityChannelFactory.cs,
2179 MessageSecurityBindingSupport.cs : 1) Refactoring.
2180 IMessageSecurityBindingSupport now becomes a class and contains
2181 all the members which resided in ISecurityChannelSource.
2182 Now it takes more constructor params.
2183 Made dependent changes on all sources above.
2185 2) Added SecurityTokenAuthenticator creation in
2186 SecurityRequestChannel (SecurityOutputChannel should do the same).
2188 2006-09-27 Atsushi Enomoto <atsushi@ximian.com>
2190 * SecurityRequestChannel.cs : ongoing improvements on conditional
2191 key creation. Actually there must be some part that creates an
2192 authenticator (WinFX does that).
2194 2006-09-27 Ankit Jain <jankit@novell.com>
2196 Add suport for handling .svc files.
2197 * SvcHttpHandlerFactory.cs: New.
2198 * SvcHttpHandler.cs: New.
2200 * HttpChannelListener.cs (PopulateChannel): Use AspNetReplyChannel if in
2201 asp.net environment.
2202 (OnOpen): Do nothing in asp.net environment.
2203 (OnClose): Likewise.
2204 * HttpReplyChannel.cs (HttpRequestContext): Move to ..
2205 * HttpRequestContext.cs: .. here.
2207 * AspNetReplyChannel.cs: New.
2208 * AspNetRequestContext.cs: New.
2210 2006-09-26 Atsushi Enomoto <atsushi@ximian.com>
2212 * MessageSecurityUtility.cs :
2213 Significantly rewritten decryption parts to respect ReferenceList
2214 to decrypt (so no workaround anymore).
2215 Now e:ReferenceList inside o:Security is treated as the referenced
2216 EncryptedType items are encrypted by 1) the derived key which is
2217 immediately in front of it, or 2) the default key (it is according
2218 to WS-SecureConversation section 9.1). Thus removed immediately
2219 previous hack to auto-fill wsu:Id attributes.
2221 On securing a message, generate correct Id and add DataReference
2222 to ReferenceList properly.
2224 2006-09-26 Atsushi Enomoto <atsushi@ximian.com>
2226 * WSSecurityMessageHeader.cs : handle ReferenceList. It is being
2229 2006-09-26 Atsushi Enomoto <atsushi@ximian.com>
2231 * WSSecurityMessageHeader.cs : handle DerivedKeyToken as a header content.
2232 Actually WSSecurityTokenSerializer should be able to consume it, but after
2233 spending a lot of time I still cannot successfully read it on WinFX.
2234 Skip ReferenceList for now.
2235 * MessageSecurityUtility.cs :
2236 Replaced some string literals with constants.
2237 Added some workaround for DerivedKeyToken retrieval.
2238 WinFX somehow sends incomplete ISO10126 padding which contains
2239 bigger number than the key size and is rejected by EncryptedXml,
2240 so added DecryptLax() which processes such ones in PaddingMode.None
2241 to workaround it (only for cross-connection between mono and winfx).
2242 Added some incomplete implicit wsu:Id processing.
2243 Don't try to replace SignedXml with EncryptedData. It is not added
2244 to the document tree.
2246 2006-09-25 Atsushi Enomoto <atsushi@ximian.com>
2248 * MessageSecurityUtility.cs : support message signature encryption. Some
2251 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
2253 * SecurityBindingElement.cs : implement Clone(). Remove some MonoTODOs.
2255 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
2257 * MessageSecurityUtility.cs : fix warnings.
2259 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
2261 * MessageSecurityUtility.cs : actually there would be more than one
2262 EncryptedData. Decrypt all.
2264 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
2266 * MessageSecurityUtility.cs : supply correct URIs in SecureMessage().
2267 Use ISO10126 padding mode (it is not required but in manner).
2269 2006-09-21 Atsushi Enomoto <atsushi@ximian.com>
2271 * MessageSecurityUtility.cs : now that EncryptedXml decryption bug is
2272 fixed, remove 16 bytes workaround (we still need encryption bugfix in
2273 that class to make it work fine with mono client).
2274 Removed buggy lines that reset decryption key to AES.
2275 Modified GetKey() argument to take EncryptedData/EncryptedKey element.
2276 * WSSecurityMessageHeader.cs :
2277 (SecurityTokenReferenceKeyInfo) support LoadXml.
2279 2006-09-20 Atsushi Enomoto <atsushi@ximian.com>
2281 * TransactionMessageProperty.cs : new file.
2283 2006-09-20 Atsushi Enomoto <atsushi@ximian.com>
2285 * ChannelPoolSettings.cs, OneWayBindingElement.cs : build fix, as
2286 gmcs happened to report wrong code.
2288 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
2290 * SecurityChannelFactory.cs, SecurityChannelListener.cs :
2291 .ctor() now requires ChannelProtectionRequirements which will be
2292 supplied via BindingParameterCollection.
2293 * SymmetricSecurityBindingElement.cs,
2294 AsymmetricSecurityBindingElement.cs : thus add
2295 ChannelProtectionRequirement parameter to factory/listener.
2296 * SecurityRequestChannel.cs : use recipient token requirement to
2297 create an encryption token. Thus differentiate the logic from
2298 signing (initiator) token.
2300 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
2302 * SymmetricSecurityChannelFactory.cs, SecurityChannelFactory.cs :
2303 renamed former to latter.
2304 * SymmetricSecurityChannelListener.cs, SecurityChannelListener.cs :
2307 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
2309 * MessageSecurityBindingSupport.cs : new internal types to commonize
2310 AsymmetricSecurityBindingElement and SymmetricSecurityBindingElement
2311 and thus make internal factory and listener reusable.
2312 * SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs,
2313 SecurityRequestChannel.cs, SecurityOutputChannel.cs,
2314 SymmetricSecurityChannelListener.cs : rewrote dependent parts on
2315 SymmetricSecurityBindingElement, using the new types above.
2316 * SymmetricSecurityBindingElement.cs :
2317 Use SymmetricMessageSecurityBindingSupport.
2318 * AsymmetricSecurityBindingElement.cs :
2319 thus implemented, using AsymmetricMessageSecurityBindingSupport.
2321 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
2323 * ChannelFactoryBase.cs : more RC1 update.
2325 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
2327 * MessageEncoder.cs, BinaryMessageEncoder.cs, MtomMessageEncoder.cs,
2328 TextMessageEncoder.cs : updated ReadMessage() API to RC1.
2329 * ChannelListenerBase.cs, ChannelListenerBase_1.cs,
2330 ChannelBase.cs : RC1 API updates.
2331 * MessageImpl.cs : implemented Properties.
2332 * HttpReplyChannel.cs : added HttpRequestMessageProperty support.
2334 2006-09-18 Ankit Jain <jankit@novell.com>
2336 * MessageHeaders.cs (MessageId):
2337 (RelatesTo): UniqueId is not serializable, serialize it as a string.
2339 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
2341 * ChannelParameterCollection.cs : new file.
2342 * LayeredOutputChannel.cs, SecurityOutputChannel.cs :
2343 new files for IOutputChannel implementation.
2344 * OneWayBindingElement.cs : hacky implementation.
2345 * SymmetricSecurityChannelFactory.cs : support IOutputChannel.
2346 * MessageSecurityUtility.cs : now create identifier from the security
2347 token and the token parameters which is added as an argument.
2348 * SecurityRequestContext.cs,
2349 SecurityRequestChannel.cs : SecureMessage() argument changes.
2350 Set MessageSecurityVersion (SecurityTokenVersion) to the token
2353 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
2355 * HttpRequestChannel.cs : close the HttpWebRequest.
2357 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
2359 * HttpRequestChannel.cs,
2360 HttpChannelFactory.cs : implement async request/reply.
2361 * HttpChannelFactory.cs :
2362 verify factory state when creating a channel.
2364 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
2366 * MessageEncoder.cs, TextMessageEncoder.cs, MtomMessageEncoder.cs,
2367 BinaryMessageEncoder.cs : added message version mismatch check.
2369 2006-09-15 Atsushi Enomoto <atsushi@ximian.com>
2371 * SymmetricSecurityChannelListener.cs, SecurityRequestContext.cs :
2372 Making incomplete changes to handle different tokens for encryption
2374 * SymmetricSecurityChannelFactory.cs, SecurityRequestChannel.cs :
2375 split channel implementation classes out to the latter file.
2376 * MessageSecurityUtility.cs : seems like there is
2377 TimeStampValidityDuration property, so use it (incomplete; a server
2378 needs another love).
2380 2006-09-12 Atsushi Enomoto <atsushi@ximian.com>
2382 * MessageSecurityUtility.cs, SymmetricSecurityChannelFactory.cs,
2383 SecurityRequestContext.cs : now that we have key identifier clause
2384 and working ResolveKeyIdentifierClause(), just create keys inside
2385 SecureMessage(). Add KeyInfo to the xmldsig.
2387 2006-09-12 Atsushi Enomoto <atsushi@ximian.com>
2389 * SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs :
2390 pass SecurityKeyIdentifierClause to SecureMessage().
2391 * SecurityBindingElement.cs : set X509ReferenceStyle as Thumbprint
2392 for IssuedToken binding element.
2393 * SymmetricSecurityChannelListener.cs : removed hack to just create
2394 X509 security token, and implemented correct token creation.
2395 * WSSecurityMessageHeader.cs : added new KeyInfoClause type that
2396 wraps SecurityTokenReference element.
2397 * MessageSecurityUtility.cs : use the above.
2399 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
2401 * MessageSecurityUtility.cs : raise MessageSecurityException when it
2402 could not find a security header.
2403 * SymmetricSecurityChannelFactory.cs : now it also supports
2404 IRequestSessionChannel. Extracted SecurityRequestChannel out from
2407 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
2409 * SecurityRequestContext.cs : moved securing message part to
2410 MessageSecurityUtility.cs.
2411 * MessageSecurityUtility.cs : the change above.
2412 use DateTime.Now for timestamp basis. Don't append signature to
2413 the document. Instead it is added to the header. Capture body
2414 content instead of the body itself.
2415 * SymmetricSecurityChannelFactory.cs : decrypt reply message to
2416 be processed by upper layers.
2418 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
2420 * MessageSecurityUtility.cs, WSSecurityMessageHeader.cs,
2421 SymmetricSecurityChannelListener.cs,
2422 SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs :
2423 more refactoring. Request serialization became much more conformant
2424 and add required header items.
2425 Security Token retrieval is needed to send it in the request.
2426 Fixed wrong key encryption.
2428 2006-09-07 Atsushi Enomoto <atsushi@ximian.com>
2430 * SecurityRequestContext.cs : the workaround was not functional.
2432 2006-09-07 Atsushi Enomoto <atsushi@ximian.com>
2434 * SecurityRequestContext.cs : some more refactoring. Use EncryptedXml
2435 API, especially ReplaceData(), instead of native crypto stuff.
2436 * WSSecurityMessageHeader.cs : handle dsig:Signature as well (for
2437 MessageProtectionOrder.SignBeforeEncrypt).
2439 2006-09-07 Atsushi Enomoto <atsushi@ximian.com>
2441 * SecurityRequestContext.cs : label should be combined of both
2442 the client's and the server's.
2444 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
2446 * SecurityRequestContext.cs : enable key derivation (though for now
2447 GenerateDerivedKey() is unimplemented). Create meaningful,
2448 decrypted request message to be consumed by the upper layer.
2450 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
2452 * SecurityRequestContext.cs : implement Close() and Reply().
2453 ongoing implementation of Reply(TimeSpan).
2454 * MessageSecurityUtility.cs : new file to collect utility methods.
2455 * SymmetricSecurityChannelFactory.cs : moved securing message code
2457 * SymmetricSecurityChannelListener.cs : tiny renaming.
2459 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
2461 * SecurityRequestContext.cs : security header is also stored.
2463 * WSSecurityMessageHeader.cs : read EncryptedKey and EncryptedData
2466 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
2468 * SymmetricSecurityChannelFactory.cs : tiny progress on securing
2471 2006-09-05 Atsushi Enomoto <atsushi@ximian.com>
2473 * SymmetricSecurityChannelFactory.cs : specify KeyUsage.Exchange
2474 so that it retrieves the security key in that manner.
2476 2006-09-05 Atsushi Enomoto <atsushi@ximian.com>
2478 * Binding.cs : MessageVersion is null when there is no
2479 MessageEncodingBindingElement.
2480 * Message.cs : null arg check.
2482 2006-09-05 Atsushi Enomoto <atsushi@ximian.com>
2484 * ChannelPoolSettings.cs, OneWayBindingElement.cs : new files.
2486 2006-09-04 Atsushi Enomoto <atsushi@ximian.com>
2488 * SymmetricSecurityChannelListener.cs, SecurityRequestContext.cs,
2489 LayeredReplyChannel.cs, LayeredCommunicationObject.cs,
2490 LayeredRequestChannel.cs : some refactoring.
2491 * SymmetricSecurityChannelFactory.cs :
2492 ongoing secure message creation implementation.
2494 2006-09-01 Atsushi Enomoto <atsushi@ximian.com>
2496 * SymmetricSecurityBindingElement.cs :
2497 pass specific ServiceCredentialsSecurityTokenManager type to
2498 SymmetricSecurityChannelListener as it needs ServiceCertificate.
2499 * SymmetricSecurityChannelListener.cs :
2500 get service certificate. It's a temporary hack.
2501 Move RequestContext code to below.
2502 * SecurityRequestContext.cs : new file.
2503 * WSSecurityMessageHeader.cs : implementing Read(), but to finish
2504 it I have to finish decryption of the incoming message.
2506 2006-08-31 Atsushi Enomoto <atsushi@ximian.com>
2508 * MessageImpl.cs : don't write attributes on the first body content
2509 element *on soap Body element*.
2510 * MessageBufferImpl.cs : don't throw ArgumentNullException.
2511 ObjectDisposedException is appropriate.
2512 * MessageHeader.cs : (RawMessageHeader) don't write element itself
2513 in OnWriteHeader*Contents*().
2515 2006-08-31 Atsushi Enomoto <atsushi@ximian.com>
2517 * WSSecurityMessageHeader.cs : new file.
2518 * SymmetricSecurityChannelFactory.cs :
2519 moved WSSecurityHeader and related types to the above.
2520 * SymmetricSecurityChannelListener.cs :
2521 reject SOAP-env-less message.
2523 2006-08-31 Atsushi Enomoto <atsushi@ximian.com>
2525 * SecurityChannelListener.cs, SymmetricSecurityChannelListener.cs :
2526 renamed former to latter.
2527 * SymmetricSecurityChannelFactory.cs :
2528 create requirements every time. It is also likely that I need
2529 another requirement instance to get service credentials here.
2531 2006-08-30 Atsushi Enomoto <atsushi@ximian.com>
2533 * SymmetricSecurityBindingElement.cs : make BuildChannelListener()
2534 similar to BuildChannelFactory() (set credentials, issuer binding
2536 * SecurityChannelListener.cs :
2537 more ongoing security support implementation.
2538 * SymmetricSecurityChannelFactory.cs :
2539 moved GetSecurityKey() to SymmetricSecurityRequestChannel.
2541 2006-08-29 Atsushi Enomoto <atsushi@ximian.com>
2543 * SecurityChannelListener.cs, SymmetricSecurityBindingElement.cs :
2544 Renamed SecurityChannelListener to SymmetricSecurityChannelListener.
2545 Implementation is underway.
2546 * LayeredReplyChannel.cs :
2547 like LayeredRequestChannel, use ChannelListenerBase to provide
2550 2006-08-29 Atsushi Enomoto <atsushi@ximian.com>
2552 * MessageHeader.cs : added another implementation type that uses
2553 XmlElement, for buffering purpose.
2554 * MessageImpl.cs : Header item types are user-driven by
2555 MessageHeader.GetHeader<T>(int), so at storing phase just store
2556 nodes as XmlElement.
2557 * MessageHeaders.cs : avoid dumping XmlNode to string to create
2560 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
2562 * SymmetricSecurityBindingElement.cs : find ClientCredentials from
2563 BindingParameterCollection, not from binding element properties.
2565 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
2567 * SecurityChannelFactory.cs, SymmetricSecurityChannelFactory.cs :
2568 renamed former to latter.
2570 2006-08-25 Atsushi Enomoto <atsushi@ximian.com>
2572 * SecurityBindingElement.cs : SetIssuerBindingContext should also
2573 work for SslSecurityTokenParameters.
2575 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
2577 * SecurityBindingElement.cs :
2578 Added SetIssuerBindingContextIfRequired().
2579 * SecurityChannelFactory.cs :
2580 Changed .ctor() arg again, just to receive binding element.
2581 * SymmetricSecurityBindingElement.cs :
2582 Call SetIssuerBindingContextIfRequired() in BuildChannelFactory().
2583 SymmetricSecurityChannelFactory .ctor() arg changes.
2584 "ProtectionTokenParameters" is not passed now.
2586 2006-08-23 Atsushi Enomoto <atsushi@ximian.com>
2588 * SymmetricSecurityBindingElement.cs : requirements should be
2589 filled at InitializeSecurityTokenParameters as long as possible.
2590 SymmetricSecurityChannelFactory<T> now does not receive
2591 requirements (it now creates one inside it) at .ctor().
2592 * SecurityChannelFactory.cs : remove requirement argument.
2594 2006-08-23 Atsushi Enomoto <atsushi@ximian.com>
2596 * SymmetricSecurityBindingElement.cs : implemented copy constructor.
2598 2006-08-22 Atsushi Enomoto <atsushi@ximian.com>
2600 * SymmetricSecurityBindingElement.cs :
2601 MessageSecurityVersion property is of type SecurityTokenVersion.
2602 * SecurityBindingElement.cs :
2603 Implemented CreateSecureConversationBindingElement().
2604 For CreateIssuedTokenBindingElement(), ProtectionTokenParameters is
2605 the argument IssuedSecurityTokenParameters itself.
2607 2006-08-22 Atsushi Enomoto <atsushi@ximian.com>
2609 * SymmetricSecurityBindingElement.cs :
2610 CreateSecurityTokenManager() can be directly used now.
2611 Use CallInitializeSecurityTokenRequirement() to fill requirement
2614 2006-08-16 Atsushi Enomoto <atsushi@ximian.com>
2616 * ChannelFactoryBase.cs : GetProperty() is virtual.
2618 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
2620 * SymmetricSecurityBindingElement.cs : in BuildChannelFactory(),
2621 create token manager, token parameters and token requirements,
2622 and fill some requirements.
2623 * TransportBindingElement.cs, HttpTransportBindingElement.cs,
2624 TextMessageEncodingBindingElement.cs : workaround to not throw NIE.
2625 * BindingContext.cs : implemented RemainingBindingElements.
2626 kill "no remaining binding element" error in GetInnerProperty()
2627 * SecurityChannelFactory.cs : now it became
2628 SymmetricSecurityChannelFactory, thus soon to be renamed.
2629 Several ongoing actual security resolution is on.
2631 2006-08-11 Atsushi Enomoto <atsushi@ximian.com>
2633 * CommunicationObject.cs :
2634 add GetCommunicationObjectType() and use it.
2635 * ChannelFactoryBase.cs, ChannelListenerBase_1.cs :
2636 use ThrowIfDisposedOrNotOpen().
2637 * LayeredCommunicationObject.cs : have similar ThrowIf...() methods
2638 to CommunicationObject. Make it IDisposable.
2639 * LayeredRequestChannel.cs : use above.
2640 * SecurityChannelFactory.cs : removed state check as it is done at
2643 2006-08-10 Atsushi Enomoto <atsushi@ximian.com>
2645 * SecurityBindingElement.cs : (CanBuildChannelFactory and
2646 CanBuildChannelListener) directly dispatch to BindingContext.
2647 * SymmetricSecurityBindingElement.cs : require protection token
2648 parameters before building a channel or a listener.
2649 * ChannelFactoryBase.cs : raise an error when a channel is being
2650 created without opening the factory.
2651 * ChannelListenerBase_1.cs : ditto for the listener.
2652 * SecurityChannelFactory.cs : before sending a request, it must be
2655 2006-08-07 Atsushi Enomoto <atsushi@ximian.com>
2657 * MessageBufferImpl.cs : initialize fields.
2658 workaround BufferSize just to return 0.
2659 * MessageImpl.cs : for BodyWriter, don't use DefaultMessageBuffer
2660 which does not support multi time write.
2661 * Message.cs : implemented State.
2663 2006-08-07 Atsushi Enomoto <atsushi@ximian.com>
2665 * Message.cs : OnGetBodyAttribute() cannot return anything unless it
2666 is consuming XmlReader.
2667 Implemented OnCreateBufferedCopy(), to return XPathMessageBuffer.
2668 * MessageBuffer.cs : implemented CreateNavigator().
2669 * MessageBufferImpl.cs : added XPathMessageBuffer class.
2671 I kinda know that MS heavily depends on binary XmlReader and may have
2672 XPathNavigator implementation based on the binary stuff, but at
2673 least for now we have almost no motivation to mimick it.
2675 2006-08-07 Atsushi Enomoto <atsushi@ximian.com>
2677 * SecurityChannelFactory.cs : a bit more of security header code.
2679 2006-08-04 Atsushi Enomoto <atsushi@ximian.com>
2681 * SymmetricSecurityBindingElement.cs :
2682 set default MessageProtectionOrder in every construction.
2684 2006-08-03 Atsushi Enomoto <atsushi@ximian.com>
2686 * LayeredRequestChannel.cs, SecurityChannelFactory.cs :
2687 changed to require ChannelFactoryBase to support default timeout.
2688 Made some methods non-virtual. Preparing code to add security
2689 headers (empty yet).
2690 * SecurityBindingElement.cs : implemented several factory methods
2691 that return SymmetricSecurityBindingElement.
2693 2006-08-02 Atsushi Enomoto <atsushi@ximian.com>
2695 * IStreamUpgradeBindingElement.cs,
2696 StreamUpgradeBindingElement.cs : renamed from former to latter.
2698 2006-08-02 Atsushi Enomoto <atsushi@ximian.com>
2700 * IStreamUpgradeBindingElement.cs : API update, soon to be renamed.
2702 2006-07-31 Ankit Jain <jankit@novell.com>
2704 * MessageHeaders.cs (From): Use Constants.WSA1
2705 (MessageId): Implement the same pattern as other properties (From etc).
2707 2006-07-28 Atsushi Enomoto <atsushi@ximian.com>
2709 * LocalClientSecuritySettings.cs : initialize IdentityVerifier as well.
2710 * SecurityBindingElement.cs : some cosmetic changes.
2712 2006-07-28 Atsushi Enomoto <atsushi@ximian.com>
2714 * SecurityBindingElement.cs : LocalClientSettings and
2715 LocalServiceSettings returns an instance for each.
2716 * LocalClientSecuritySettings.cs : initialized fields.
2718 2006-07-28 Atsushi Enomoto <atsushi@ximian.com>
2720 * LocalClientSecuritySettings.cs : moved from S.SM.Description, and
2721 kinda implemented Clone() just with MemberwiseClone().
2723 2006-07-27 Ankit Jain <jankit@novell.com>
2725 * MessageHeaders.cs (set_To): Use Uri.AbsoluteUri .
2726 * MessageHeader.cs (knownTypes): New. Known type array containing
2728 (CreateHeader): Use knownTypes with the DataContractSerializer .ctor
2730 2006-07-21 Atsushi Enomoto <atsushi@ximian.com>
2732 * LayeredRequestChannel.cs, LayeredReplyChannel.cs,
2733 LayeredCommunicationObject.cs,
2734 SecurityChannelFactory.cs, SecurityChannelListener.cs :
2735 new files to support security channels, though right now they
2736 just pass inner channels through.
2737 * SymmetricSecurityBindingElement.cs : use above.
2739 2006-07-21 Atsushi Enomoto <atsushi@ximian.com>
2741 * AsymmetricSecurityBindingElement.cs,
2742 SymmetricSecurityBindingElement.cs :
2743 Default SecurityTokenParameters is null.
2745 2006-07-20 Atsushi Enomoto <atsushi@ximian.com>
2747 * AsymmetricSecurityBindingElement.cs : remove NotImpl for now.
2749 2006-07-20 Atsushi Enomoto <atsushi@ximian.com>
2751 * Message.cs : When EnvelopeVersion is None, don't write SOAP
2753 * MessageHeader.cs : don't write headers when EnvelopeVersion is None.
2754 * MessageHeaders.cs : When EnvelopeVersion is None, don't output
2755 headers. When AddressingVersion is None, don't output addressing
2756 headers as well, except for Action which is still needed by
2759 2006-07-20 Atsushi Enomoto <atsushi@ximian.com>
2761 * MessageHeaders.cs : changed specific properties to find it from
2762 headers as Action property does (local variables won't be set by
2763 setter). Cache serializers. Check null serializer arguments.
2764 For EndpointAddress, GetHeader<T>() shouldn't use serializer.
2766 2006-07-19 Atsushi Enomoto <atsushi@ximian.com>
2768 * MessageHeader.cs : WriteTo() should treat EndpointAddress to not
2769 use XmlObjectSerializer (since it is not data contract type).
2771 2006-07-18 Atsushi Enomoto <atsushi@ximian.com>
2773 * MessageImpl.cs : Improved ReadHeaders().
2774 For certain header items, use EndpointAddress.ReadFrom().
2776 2006-07-18 Atsushi Enomoto <atsushi@ximian.com>
2778 * AsymmetricSecurityBindingElement.cs :
2779 it is not ISecurityCapabilities anymore.
2781 2006-07-18 Atsushi Enomoto <atsushi@ximian.com>
2783 * MessageVersion.cs : added None.
2785 2006-07-14 Atsushi Enomoto <atsushi@ximian.com>
2787 * Message.cs : GetReaderAtBodyContents() implementation using
2790 2006-07-13 Atsushi Enomoto <atsushi@ximian.com>
2792 * Message.cs : CreateMessage(version,action,xmlReader) incorrectly
2793 used MessageVersion.Default.
2795 2006-07-12 Duncan Mak <duncan@novell.com>
2797 * MessageBuffer.cs (MessageContentType): Return
2798 "application/soap+msbin1".
2800 * MessageImpl.cs (EmptyMessage.OnCreateBufferedCopy):
2801 (SimpleMessage.OnCreateBufferedCopy):
2802 (XmlReaderMessage.OnCreateBufferedCopy): Hook up with the new
2803 MessageBuffer implementations.
2805 * MessageBufferImpl.cs: Concrete implmentations for MessageBuffer.
2806 (DefaultMessageBuffer): Used by EmptyMessage and SimpleMessage.
2807 (XmlReaderMessageBuffer): Used by XmlReaderMessage.
2809 2006-07-12 Atsushi Enomoto <atsushi@ximian.com>
2811 * MessageImpl.cs : Action should be added in request messages. Omit
2812 it only in reply message, thus moved to dispatcher logic.
2814 2006-07-12 Ankit Jain <jankit@novell.com>
2816 * HttpRequestChannel.cs (HttpRequestChannel.Request): Workaround for a
2817 bug in WebConnectionStream.
2818 * MessageHeaders.cs (MessageHeaders.From):
2819 (MessageHeaders.ReplyTo):
2820 (MessageHeaders.To): Add the corresponding MessageHeader on set.
2822 2006-07-11 Atsushi Enomoto <atsushi@ximian.com>
2824 * MessageImpl.cs : when AddressingVersion is None (e.g. POX), don't
2825 add SOAP Action to the response at any time.
2827 2006-07-10 Atsushi Enomoto <atsushi@ximian.com>
2829 * SymmetricSecurityBindingElement.cs,
2830 SecurityBindingElement.cs : They are not ISecurityCapabilities now.
2831 Implemented .ctor() and some properties.
2833 2006-07-10 Atsushi Enomoto <atsushi@ximian.com>
2835 * TransactionFlowBindingElement.cs : new file.
2836 * HttpTransportBindingElement.cs : added missing KeepAliveEnabled.
2838 2006-07-06 Atsushi Enomoto <atsushi@ximian.com>
2841 DefaultAction vanished. CreateFault() now takes bufferSize arg.
2842 * MessageHeaders.cs : ArgumentException -> MessageHeaderException.
2843 * AddressingVersion.cs : added None. Equals() and GetHashCode()
2844 vanished (there is anyways no way to instantiate this type).
2845 * MessageVersion.cs : added Soap11 and Soap12.
2846 * TextMessageEncoder.cs : silly quotation mark wrapper disappeared
2847 in June CTP. goodie.
2849 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2851 * MtomMessageEncoder.cs, BinaryMessageEncoder.cs, Message.cs :
2852 removed some vanished CreateMessage() overloads.
2854 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2856 * CustomBinding.cs, HttpsTransportBindingElement.cs,
2857 HttpTransportBindingElement.cs :
2858 They are not ISecurityCapabilities anymore.
2859 Modified code to match June CTP behavior.
2861 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2863 * StreamSecurityUpgradeProvider.cs : Identity -> EndpointIdentity.
2865 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2867 * EmptyFaultException.cs : removed unused code.
2868 * IRequestContext.cs, RequestContext.cs : renamed former to latter.
2870 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2872 * LayeredChannelFactory.cs : removed obsolete class.
2873 * ChannelFactoryBase.cs, HttpChannelFactory.cs,
2874 ChannelListenerBase.cs, HttpChannelListener.cs,
2875 HttpReplyChannel.cs, ChannelManagerBase.cs :
2876 all those changes were brought by ChannelManagerBase changes.
2878 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2880 * ReplyChannelBase.cs, HttpChannelFactory.cs, ChannelBase.cs
2881 CommunicationObject.cs, HttpChannelListener.cs,
2882 ChannelFactoryBase.cs :
2883 CommunicationObject abstract changes brought this madness.
2885 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2887 * BindingContext.cs : listenUri address parameters could be null in
2890 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2892 * IRequestContext.cs :
2893 Now it became a class. File renaming will follow soon.
2894 * IChannelFactory.cs, IInputChannel.cs, IReplyChannel.cs,
2895 IDuplexChannel.cs, IDuplexSessionChannel.cs,
2896 IOutputChannel.cs, IOutputSessionChannel.cs,
2897 IRequestChannel.cs, IRequestSessionChannel.cs :
2898 They are not IDisposable anymore.
2899 For IReplyChannel, IRequestContext -> RequestContext.
2900 * IChannelListener.cs : removed Identity. Added GetProperty().
2901 * ChannelListenerBase.cs, ChannelListenerBase.cs,
2902 ReplyChannelBase.cs, HttpReplyChannel.cs :
2903 Several members disappeared, and dependent changes.
2904 * HttpTransportBindingElement.cs,
2905 HttpChannelListener.cs, :
2906 ChannelListenerBase.SharedChannelListener vanished.
2908 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2910 * MessageEncodingBindingElement.cs
2911 MtomMessageEncodingBindingElement.cs,
2912 TextMessageEncodingBindingElement.cs,
2913 BinaryMessageEncodingBindingElement.cs :
2914 June CTP updates: AddressingVersion -> MessageVersion.
2915 * Binding.cs : June CTP. MessageVersion is added.
2916 * ChannelBase.cs, BindingContext.cs, IChannel.cs
2917 ChannelListenerBase_1.cs,
2918 ChannelListenerBase.cs, IChannelListener.cs,
2920 ChannelFactoryBase.cs, ChannelManagerBase.cs :
2921 June CTP. Several interface changes.
2922 * HttpTransportBindingElement.cs : June CTP. HttpMappingMode is gone.
2923 * IChannelManager.cs, LayeredChannelListener.cs,
2924 GenericWrapperChannelFactory.cs,
2925 GenericWrapperChannelListener.cs : They are not used anymore.
2927 2006-07-04 Atsushi Enomoto <atsushi@ximian.com>
2929 * MtomMessageEncoder.cs, BinaryMessageEncoder.cs :
2930 sync fix with June CTP API updates.
2932 2006-07-03 Ankit Jain <jankit@novell.com>
2934 * MessageEncodingBindingElementConverter.cs:
2935 * StandardBindingConverter.cs:
2936 * TransportBindingElementConverter.cs:
2937 * TransactionFlowBindingElementConverter.cs:
2938 * ReliableSessionBindingElementConverter.cs:
2939 * SecurityBindingElementConverter.cs:
2940 Rename *Converter.cs to *Importer.cs
2942 * TransferMode.cs: Move to System.ServiceModel
2944 2006-06-22 Atsushi Enomoto <atsushi@ximian.com>
2946 * CommunicationObject.cs : make sure to change State before
2947 OnClosing/OnClosed/OnOpening/OnOpened when they are overriden.
2949 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
2951 * Message.cs : output WSAddressing xmlns only when Action is
2952 specified (To should be affected, but seems like it is ignored).
2954 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
2956 * MessageImpl.cs : don't set Action when it is null.
2958 2006-06-12 Ankit Jain <jankit@novell.com>
2960 * TransportBindingElementConverter.cs (ImportEndpoint): Implement.
2962 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2964 * SecurityBindingElement.cs, SecurityBindingElementConverter.cs :
2965 some updated API fixes.
2967 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2969 * EnvelopeVersion.cs : moved back to S.SM.
2971 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2973 * IBindingManualAddressing.cs : vanished in beta2.
2974 * HostedTransportConfiguration.cs, EnvelopeVersion.cs,
2975 LocalClientSecuritySettings.cs, LocalServiceSecuritySettings.cs :
2977 * SecurityBindingElement.cs :
2978 SecurityStandardsManager -> SecurityTokenSerializer.
2980 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2982 * XmlSerializerBodyWriter.cs : new file to handle
2983 TypedMessageConverter.ToMessage().
2985 2006-04-26 Ankit Jain <jankit@novell.com>
2987 * TransportBindingElementConverter.cs (BeforeImport): Remove
2988 NotImplementedException.
2989 (ImportContract): Likewise.
2990 * CustomBinding.cs (.ctor): Use scheme from the binding parameter.
2992 2006-04-14 Atsushi Enomoto <atsushi@ximian.com>
2994 * HttpRequestChannel.cs, HttpChannelFactory.cs : message encoder
2995 being used was not reflecting that of Binding elements.
2997 2006-04-07 Atsushi Enomoto <atsushi@ximian.com>
2999 * HttpReplyChannel.cs : when SOAP action is not set as a header item,
3000 just assume that it is in the message.
3002 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
3004 * HttpReplyChannel.cs : actually HTTP header item might be null.
3006 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
3008 * HttpReplyChannel.cs : under SOAP 1.1 SOAP Action is sent as HTTP
3011 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
3013 * TextMessageEncoder.cs : for SOAP 1.1 content type is text/xml.
3015 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
3017 * MessageFault.cs : Fixed SOAP12 reason output.
3019 2006-04-05 Atsushi Enomoto <atsushi@ximian.com>
3021 * HttpReplyChannel.cs : no need to set response ContentEncoding since
3022 MessageEncoder.ContentType explicitly contains encoding.
3023 * AddressingVersion.cs : added ActionNotSupported property. Not sure
3024 if it is SOAP version dependent.
3026 2006-03-23 Atsushi Enomoto <atsushi@ximian.com>
3028 * HttpReplyChannel.cs : actually I could just workaround bug #77816.
3030 2006-03-16 Atsushi Enomoto <atsushi@ximian.com>
3032 * HttpChannelFactory.cs BindingContext.cs
3033 HttpChannelListener.cs HttpTransportBindingElement.cs :
3034 Now BindingContext holds MessageEncoder, and non-custom
3035 channel factory/listener should use it.
3036 * MtomMessageEncodingBindingElement.cs
3037 TextMessageEncodingBindingElement.cs
3038 BinaryMessageEncodingBindingElement.cs : BuildChannelFactory()/
3039 -Listener() now sets internal BindingContext.MessageEncoder.
3040 Fixed some public API.
3042 2006-03-15 Atsushi Enomoto <atsushi@ximian.com>
3044 * BindingContext.cs : CanBuildChannelXXX() should not raise error
3045 for insufficient elements.
3046 * DispatchRuntime.cs : OperationDescription name is not action. So
3047 OperationSelector is created by name, not by action.
3048 * TextMessageEncodingBindingElement.cs : Feb. CTP API fixes.
3050 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
3052 * MessageFaultBodyWriter.cs
3053 XmlReaderBodyWriter.cs
3054 XmlObjectSerializerBodyWriter.cs : made internal.
3055 * SecurityBindingElement.cs
3056 AsymmetricSecurityBindingElement.cs
3057 SymmetricSecurityBindingElement.cs : API fixes.
3058 * TransportBindingElementConverter.cs : ditto.
3059 * TextMessageEncodingBindingElement.cs : added set_AddressingVersion.
3060 * WindowsStreamSecurityBindingElement.cs
3061 SslStreamSecurityBindingElement.cs
3062 TransportSecurityBindingElement.cs : new files.
3064 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
3066 * MessageImpl.cs : according to the W3C REC, mustUnderstand when
3067 reading can be any xs:boolean value.
3069 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
3071 * Message.cs MessageImpl.cs : more sorting out the role of each
3073 * MessageHeader.cs : use envelope namespace, not addressing namespace.
3075 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
3077 * Message.cs : don't write body contents if it is empty.
3078 Moved WriteStartElement(,"Header",) to OnWriteStartHeaders().
3079 * MessageImpl.cs : implemented XmlReaderMessage.OnWriteBodyContents().
3080 * TextMessageEncoder.cs : WriteMessage() should close XmlWriter.
3081 * HttpRequestChannel.cs : close request stream before GetResponse().
3083 2006-03-13 Atsushi Enomoto <atsushi@ximian.com>
3085 * TextMessageEncoderFactory.cs
3086 TextMessageEncoder.cs : encoder does not hold reference to the
3087 factory anymore. Use MessageVersion property in CreateMssage().
3088 * HttpChannelListener.cs : now it holds message encoder.
3089 * HttpReplyChannel.cs : now it uses listener's shared message encoder.
3090 * MessageImpl.cs : header is optional.
3091 * EnvelopeVersion.cs : namespace URI is missing.
3093 2006-03-10 Atsushi Enomoto <atsushi@ximian.com>
3095 * CustomBinding.cs : removed Initialize().
3096 * Message.cs : renamed ForwardingMessage -> XmlReaderMessage.
3097 * MessageImpl.cs : renamed ForwardingMessage to XmlReaderMessage (used
3098 by Message.CreateMessage(MessageVersion,XmlReader,int) and
3099 implemented Headers, IsEmpty and GetReaderAtBodyContents().
3101 2006-03-08 Atsushi Enomoto <atsushi@ximian.com>
3103 * MessageHeaders.cs : implemented GetReaderAtHeader() and Action (it
3104 could be also added by Add() method and could be reset by Remove()).
3105 * MessageImpl.cs : implemented more. As noted above, Now we don't
3106 have to add Action header explicitly.
3107 * MessageHeader.cs : recovered Writer methods and ToString() from
3108 commented old version. Use prefixes for writing.
3109 Use WriteObjectContent() rather than WriteObject() (it needs
3110 DataContractSerializer fix btw).
3112 2006-03-08 Atsushi Enomoto <atsushi@ximian.com>
3114 * MessageHeader.cs : added missing IsReferenceParameter.
3115 * MessageHeaderInfo.cs : added missing IsReferenceParameter.
3116 * MessageHeaders.cs : avoid NullRef when actors is null.
3117 * MessageImpl.cs : (MessageImplBase) add Action header in .ctor().
3118 (ForwardingMessage) reader consumer is being added (not done).
3119 * MtomMessageEncodingBindingElement.cs : simply use Mtom factory.
3120 * MtomMessageEncoder.cs : updated ContentType value to Feb. CTP.
3121 * HttpRequestChannel.cs : this channel automatically call Open()
3122 when Request() is called. Set content length for request.
3123 Use MessageEncoder's ContentType to also handle charset.
3125 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
3127 * MessageImpl.cs : make them internal.
3128 * HttpReplyChannel.cs : set HttpListenerResponse properties correctly.
3130 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
3132 * ChannelManagerBase.cs : cleanup MonoTODO and unused field.
3133 * HttpChannelListener.cs : removed commented line.
3134 * RequestChannelBase.cs : new base class for request channel classes.
3135 * ChannelListenerBase.cs : OnEndClose() is rather NotImplemented yet.
3136 * HttpReplyChannel.cs : WaitHandle accepts limited timeout value.
3137 * Message.cs : default IsEmpty and IsFault false by default.
3138 * LayeredChannelListener.cs : removed Uri (no chance to set).
3139 * ChannelBase.cs : reimplemented timeout properties.
3140 * HttpRequestChannel.cs : now it is mostly based on
3141 RequestChannelBase. Some more attempt to implement Request().
3143 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
3145 * Binding.cs CustomBinding.cs : removed OnApplyConfiguration() and
3146 OnInitialize(). Added more BuildChannelListener() overloads.
3148 2006-03-06 Atsushi Enomoto <atsushi@ximian.com>
3150 * Binding.cs : added some more missing members especially to support
3152 * HttpChannelListener.cs : Uri should not be null.
3153 * HttpTransportBindingElement.cs : implemented
3154 CanBuildChannelFactory() and CanBuildChannelListener().
3155 * ServiceHostBase.cs : make Initialize() practically work at OnOpen().
3157 2006-03-06 Atsushi Enomoto <atsushi@ximian.com>
3159 * Binding.cs : updated default namespace property value to Feb. CTP.
3161 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
3163 * AddressHeader.cs : avoid null reference when value is null.
3164 * BindingContext.cs : check null ListenUri args.
3166 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
3168 * MessageFault.cs : Fixed default action name. Null arg check.
3170 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
3172 * BindingElement.cs : Dequeue elements in BindingContext directly.
3173 * BindingContext.cs : Added GetProperty<T>().
3174 * GenericWrapperChannelFactory.cs GenericWrapperChannelListener.cs :
3175 Now we don't need these extra classes, so marked as deprecated.
3177 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
3179 * Binding.cs : null arg check.
3180 * AddressingVersion.cs : fixed constants to pass the tests.
3181 * BindingElement.cs : tiny meessage fix.
3183 2006-03-02 Atsushi Enomoto <atsushi@ximian.com>
3185 * MessageEncodingBindingElement.cs
3186 BinaryMessageEncodingBindingElement.cs
3187 TextMessageEncodingBindingElement.cs
3188 MtomMessageEncodingBindingElement.cs
3189 MessageEncodingBindingElementConverter.cs : several API fixes.
3190 * BindingElement.cs : now if we use generic wrapper it causes
3191 infinite loop, so for now replace it with most-possible-but-
3194 2006-03-02 Atsushi Enomoto <atsushi@ximian.com>
3196 (back to normal "record-ChangeLogs" mode after the big API change mess)
3197 * HttpTransportBindingElement.cs : fixed minor API differences.
3199 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
3201 * AsymmetricSecurityBindingElement.cs SecurityBindingElement.cs
3202 SymmetricSecurityBindingElement.cs :
3203 Dependent fixes for System.IdentityModel reorgainzation.
3205 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
3207 * InputChannelBase.cs.notused IInputSession.cs IOutputSession.cs
3208 IProxyFormatter.cs WSHttpBindingBase.cs
3209 PnrpPeerResolverBindingElement.cs IMessageHeaderInfo.cs
3210 MessageInterceptorEventArgs.cs WSHttpBinding.cs
3211 WSFederationBinding.cs ISessionChannel.cs
3212 CompositeDuplexBindingElement.cs MessageVersion.cs
3213 MessageHeader.cs IRequestSessionChannel.cs
3214 BindingElementCollection.cs IReplySessionChannel.cs
3215 MessageProperties.cs IDuplexClientChannel.cs
3216 IInputSessionChannel.cs MessageImpl.cs IDuplexSessionChannel.cs
3217 TcpTransportBindingElement.cs EmptyFaultException.cs
3218 IBindingRuntimePreferences.cs AddressHeaderCollection.cs
3219 IStubFormatter.cs AsymmetricSecurityBindingElement.cs
3220 ConnectionOrientedTransportBindingElement.cs
3221 IProxyOperationSelector.cs MessageBuffer.cs IChannel.cs
3222 PeerResolverBindingElement.cs Message.cs
3223 HttpsTransportBindingElement.cs BindingElement.cs
3224 NamedPipetransportBindingElement.cs IBindingManualAddressing.cs
3225 MessageFaultBodyWriter.cs IReplyChannel.cs
3226 IBindingCapabilities.cs AddressHeader.cs IInputChannel.cs
3227 IMessageProperty.cs IOutputChannel.cs NetPeerTcpBinding.cs
3228 IRequestContext.cs IInputSessionShutdown.cs
3229 SecurityBindingElement.cs PeerTransportBindingElement.cs
3230 IDuplexSession.cs IChannelInitializer.cs
3231 IProxyMessageInspector.cs IChannelListener.cs NetTcpBinding.cs
3232 AddressingVersion.cs FaultException.cs
3233 IRequestChannel.cs MtomMessageEncodingBindingElement.cs
3234 TransportBindingElement.cs BinaryMessageEncodingBindingElement.cs
3235 TextMessageEncodingBindingElement.cs IChannelFactory.cs Binding.cs
3236 ITransportBindingElement.cs IChannelManager.cs MessageFault.cs
3237 MessageHeaders.cs IStubMessageInspector.cs UnderstoodHeaders.cs
3238 BindingParameterCollection.cs IInstanceProvider.cs
3239 WSDualHttpBinding.cs ISession.cs IErrorHandler.cs
3240 MessageEncodingBindingElement.cs HttpTransportBindingElement.cs
3241 IDuplexChannel.cs CustomBinding.cs IOutputSessionChannel.cs
3242 MessageContractAttribute.cs SymmetricSecurityBindingElement.cs :
3243 moved from System.ServiceModel due to the API changes.
3245 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
3247 * ChannelFactoryBase.cs ChannelListenerBase.cs HttpChannelFactory.cs
3248 HttpChannelListener.cs HttpRequestChannel.cs
3249 LayeredChannelListener.cs PeerMessagePropagationFilter.cs
3250 PeerNode.cs ReplyChannelBase.cs :
3251 Feb. CTP API changes - chapter 1.
3253 2006-02-15 Atsushi Enomoto <atsushi@ximian.com>
3255 * ChannelBase.cs : OnOpen() and OnClosed() do nothing.
3256 * ReplyChannelBase.cs : now it is based on ChannelBase.
3257 * ChannelListenerBase_1.cs : use DefaultCommunicationTimeouts.Instance
3258 and check null argument in .ctor().
3259 * HttpReplyChannel.cs : several changes.
3260 Non-async members are mostly implemented.
3261 * HttpChannelListener.cs : no need to receive
3262 IDefaultCommunicationTimeouts.
3263 * HttpRequestChannel.cs : maxSizeOfHeaders is used in MessageHeaders
3264 to allocate buffer array and int.MaxValue causes OutOfMemory.
3266 2006-02-15 Atsushi Enomoto <atsushi@ximian.com>
3268 * ClientFramingDecoderState.cs : added missing enum.
3269 * HttpRequestMessageProperty.cs HttpResponseMessageProperty.cs :
3271 * ChannelBase.cs, LayeredChannelListener.cs : tiny API fixes.
3273 2006-02-15 Atsushi Enomoto <atsushi@ximian.com>
3275 * HttpChannelListener.cs : Added GetChannels() and OnClose().
3276 AcceptChannel() has some code now but it needs more love.
3278 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
3280 * CommunicationObject.cs : Close() does not call Begin/EndClose().
3281 * ChannelManagerBase.cs : implemented AbortChannel and CloseChannel.
3282 * ChannelListenerBase.cs : implemented OnAbort and OnClose.
3284 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
3286 * HttpRequestChannel.cs : close the streams.
3288 HttpChannelListener.cs : renamed from former to latter.
3290 2006-02-09 Atsushi Enomoto <atsushi@ximian.com>
3292 * ReplyChannelBase.cs : new file for IReplyChannel implementations.
3293 * HttpReplyChannel.cs : new file for HTTP IReplyChannel.
3294 * HttpListenerFactory.cs : removed obsolete file.
3295 * HttpListener.cs : hacky WaitForChannel and AcceptChannel.
3296 * ChannelListenerBase_1.cs : implemented virtual stuff.
3297 * CommunicationObject.cs : Open() should not call BeginOpen() and
3298 EndOpen(). Instead, invoke events individually.
3299 * ChannelListenerBase.cs : its Open() is WaitForChannel().
3301 2006-02-08 Atsushi Enomoto <atsushi@ximian.com>
3303 * HttpRequestChannel.cs : call Flush() after serializing message
3306 2006-02-08 Atsushi Enomoto <atsushi@ximian.com>
3308 * HttpRequestChannel.cs : implemented pretty hacky Request().
3310 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
3312 * HttpRequestChannel.cs : Manager is HttpChannelFactory.
3314 2006-02-01 Atsushi Enomoto <atsushi@ximian.com>
3316 * ChannelFactoryBase.cs : removed some NotImplementedException for
3317 further internal implementation.
3319 2006-01-26 Atsushi Enomoto <atsushi@ximian.com>
3321 * HttpRequestChannel.cs : new file. mostly not implemented.
3322 * HttpChannelFactory.cs : Implemented CanCreateChannel().
3323 Partly implemented CreateChannel().
3325 2006-01-26 Atsushi Enomoto <atsushi@ximian.com>
3327 * HttpChannelFactory.cs : (.ctor())
3328 Don't take ChannelBuildContext.
3330 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
3332 * StreamSecurityUpgradeInitiator.cs PeerMessageOrigination.cs
3333 ChannelBase.cs StreamSecurityUpgradeAcceptor.cs
3334 PeerMessagePropagation.cs : updated to Nov. CTP.
3336 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
3338 * ChannelListenerBase.cs, ChannelManagerBase.cs,
3339 ChannelListenerBase_1.cs, LayeredChannelListener.cs,
3340 StreamSecurityUpgradeAcceptor.cs,
3341 StreamSecurityUpgradeInitiator.cs :
3342 Updated to Nov. CTP API.
3344 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
3346 Now we can rename ListenerFactoryBase.cs to ChannelListenerBase.cs.
3348 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
3350 renamed ChannelListenerBase.cs to ChannelListenerBase_1.cs.
3352 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
3354 * ChannelBase.cs : tiny filename fix.
3355 * ChannelListenerBase.cs : added more .ctor()s.
3357 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
3359 * HttpListenerFactory.cs LayeredChannelListener.cs HttpListener.cs
3360 ListenerFactoryBase.cs ChannelListenerBase.cs :
3361 updated IListener related stuff to Nov. CTP.
3362 file renaming will come soon.
3364 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
3366 * ListenerBase.cs, ChannelListenerBase.cs :
3367 moved from former to latter.
3368 * LayeredListenerFactory.cs, LayeredChannelListener.cs :
3369 moved from former to latter.
3371 2005-11-20 Atsushi Enomoto <atsushi@ximian.com>
3373 * SessionFaultedException.cs : removed in Nov. CTP
3375 2005-11-20 Atsushi Enomoto <atsushi@ximian.com>
3377 * CommunicationObject.cs : updated to Nov. CTP.
3378 * SessionFaultedException.cs : removed (in Nov. CTP)
3380 2005-11-03 Atsushi Enomoto <atsushi@ximian.com>
3382 * TextMessageEncoder.cs : kinda implemented (untested; Message is not
3385 2005-11-03 Atsushi Enomoto <atsushi@ximian.com>
3387 * MtomMessageEncoder.cs, BinaryMessageEncoderFactory.cs,
3388 TextMessageEncoderFactory.cs, BinaryMessageEncoder.cs,
3389 TextMessageEncoder.cs, MtomMessageEncoderFactory.cs : new files.
3390 * MessageEncoder.cs : largely implemented.
3392 2005-11-02 Atsushi Enomoto <atsushi@ximian.com>
3394 * IRequestReplyCorrelator.cs : new file.
3396 2005-11-02 Atsushi Enomoto <atsushi@ximian.com>
3398 * CommunicationObject.cs : OnClose() and OnError() are not virtual.
3399 * DirectionalAction.cs : implemented IComparable<DirectionalAction>.
3400 * MessageEncoder.cs : added misssing ToString().
3402 2005-11-02 Atsushi Enomoto <atsushi@ximian.com>
3404 * ChannelBehaviorCollection.cs : moved to sys.sm.
3406 2005-10-28 Atsushi Enomoto <atsushi@ximian.com>
3408 * HttpListenerFactory.cs, HttpListener.cs : new files.
3409 * ListenerFactoryBase.cs, ChannelManagerBase.cs,
3410 CommunicationObject.cs, ChannelFactoryBase.cs,
3411 StreamUpgradeProvider.cs, ChannelBase.cs : timeouts are now
3413 * CommunicationObject.cs : Aborted is bool. Added InternalClose()
3414 * ListenerFactoryBase.cs : kinda implemented GetListeners().
3416 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
3418 * ListenerFactoryBase.cs : some implementation.
3420 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
3422 * CommunicationObject.cs : more state fixes.
3424 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
3426 * CommunicationObject.cs : some state machine fixes.
3428 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
3430 * PeerNode.cs, ChannelManagerBase.cs :
3431 several API fixes detected by improved corcompare.
3433 2005-10-25 Atsushi Enomoto <atsushi@ximian.com>
3435 * LayeredListenerFactory.cs : added missing generic class constraint.
3437 2005-10-25 Atsushi Enomoto <atsushi@ximian.com>
3439 * ListenerFactoryBase.cs,
3440 ListenerBase.cs : class constraints were missing for generic args.
3442 2005-10-24 Atsushi Enomoto <atsushi@ximian.com>
3444 * StreamUpgradeInitiator.cs : tiny API fix.
3446 2005-10-23 Atsushi Enomoto <atsushi@ximian.com>
3448 * PeerMessagePropagationFilter.cs : tiny build fix.
3450 2005-10-23 Atsushi Enomoto <atsushi@ximian.com>
3452 * HttpRequestMessageProperty.cs, HttpResponseMessageProperty.cs :
3453 added Name. fixed StatusCode type.
3454 * StreamSecurityUpgradeInitiator.cs, StreamUpgradeAcceptor.cs,
3455 PeerNode.cs, StreamSecurityUpgradeAcceptor.cs,
3456 StreamUpgradeProvider.cs, StreamUpgradeInitiator.cs,
3457 DirectionalAction.cs, HostedTransportConfiguration.cs,
3458 StreamSecurityUpgradeProvider.cs, SessionFaultedException.cs,
3459 PeerMessagePropagationFilter.cs : added missing files.
3460 * Dummy.cs : removed. MSMQ stuff can be added later.
3462 2005-10-21 Atsushi Enomoto <atsushi@ximian.com>
3464 * DeliveryStatus.cs, DeliveryFailure.cs,
3465 HttpRequestMessageProperty.cs, PeerMessageOrigination.cs,
3466 PeerMessagePropagation.cs, HttpResponseMessageProperty.cs :
3468 * Dummy.cs : removed above.
3470 2005-10-18 Atsushi Enomoto <atsushi@ximian.com>
3472 * ChannelFactoryBase.cs : tiny .ctor() delegation fix.
3474 2005-10-09 Atsushi Enomoto <atsushi@ximian.com>
3476 * MessageEncoderFactory.cs, LayeredListenerFactory.cs,
3477 MessageEncoder.cs, BufferManager.cs : new files.
3478 * Dummy.cs : removed above.
3480 2005-10-09 Atsushi Enomoto <atsushi@ximian.com>
3482 * ChannelBase.cs, ChannelBehaviorCollection.cs : new channel files.
3483 * Dummy.cs : removed above.
3484 * CommunicationObject.cs, ListenerFactoryBase.cs : added missing bits.
3486 2005-10-09 Atsushi Enomoto <atsushi@ximian.com>
3488 * HttpChannelFactory.cs : new file.
3490 2005-10-08 Atsushi Enomoto <atsushi@ximian.com>
3492 * IReplyChannel.cs, IRequestContext.cs, IRequestChannel.cs:
3493 moved to ../System.ServiceModel (correct location).
3494 * ChannelFactoryBase.cs, LayeredChannelFactory.cs, TransferMode.cs:
3495 new files for channels.
3496 * Dummy.cs : reflected above changes.
3497 * ChannelManagerBase.cs : added a bit of code and todos.
3499 2005-10-04 Atsushi Enomoto <atsushi@ximian.com>
3501 * ChannelManagerBase.cs, ListenerBase.cs, ListenerFactoryBase.cs :
3502 added listener support files.
3503 * Dummy.cs : removed above.
3505 2005-10-03 Atsushi Enomoto <atsushi@ximian.com>
3507 * IReplyChannel.cs, IRequestContext.cs, IRequestChannel.cs :
3508 added request/reply channel interfaces.
3509 * Dummy.cs : removed above.
3510 * CommunicationObject.cs : FIXME comments.
3512 2005-10-03 Atsushi Enomoto <atsushi@ximian.com>
3514 * CommunicationObject.cs : implemented some members.
3516 2005-09-29 Atsushi Enomoto <atsushi@ximian.com>
3518 * CommunicationObject.cs : some signature fixes.