2010-03-25 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.ServiceModel / System.ServiceModel.Channels / ChangeLog
1 2010-03-25  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * HttpRequestContext.cs : removed HTTP status rewriting for
4           commented reason.
5
6 2010-03-25  Atsushi Enomoto  <atsushi@ximian.com>
7
8         * HttpRequestChannel.cs : handle only 4xx errors as to not process
9           content stream.
10
11 2010-03-25  Atsushi Enomoto  <atsushi@ximian.com>
12
13         * MessageFault.cs : do not use SOAP11 namespace for fault contents.
14
15 2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
16
17         * ReplyChannelBase.cs, HttpReplyChannel.cs : add some locking.
18           Patch by Matt Dargavel.
19
20 2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
21
22         * HttpListenerManager.cs : use lock object which is subject to
23           change. Fix by Matt Dargavel.
24
25 2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
26
27         * HttpListenerManager.cs : remove consumed HttpListenerContext from
28           the pending queue. Compare "wsdl" request in case insensitive
29           manner. Patch by Matt Dargavel.
30
31 2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
32
33         * HttpRequestContext.cs : apply the patch by Matt Dargavel, which is
34           supposed to provide detailed 400 error message.
35
36 2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
37
38         * TransactionFlowBindingElement.cs: revamp the previous change to
39           not regress regarding service metadata.
40
41 2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
42
43         * ChannelListenerBase.cs, TransactionFlowBindingElement.cs: fix 
44           GetProperty<T>() bug that fails to retrieve properties. (This may
45           be rewritten later if an ongoing change proposal is to take place.)
46
47 2010-03-18  Atsushi Enomoto  <atsushi@ximian.com>
48
49         * ReliableSessionBindingElement.cs,
50           PrivacyNoticeBindingElement.cs,
51           RemoteEndpointMessageProperty.cs : added some missing types.
52
53 2010-03-17  Atsushi Enomoto  <atsushi@ximian.com>
54
55         * MessageHeaders.cs :
56           why does it filter out most of the headers? kill it.
57
58 2010-03-17  Atsushi Enomoto  <atsushi@ximian.com>
59
60         * SvcHttpHandler.cs, AspNetReplyChannel.cs, HttpChannelListener.cs,
61           HttpListenerManager.cs : refactoring on acquiring SvcHttpHandler
62           to not raise "not found" error (see bug #573795).
63
64 2010-03-16  Jb Evain  <jbevain@novell.com>
65
66         * HttpRequestChannel.cs, HttpTransportBindingElement.cs: use
67         MOONLIGHT symbol to disambiguate MonoTouch and Moonlight code.
68
69 2010-03-09  Atsushi Enomoto  <atsushi@ximian.com>
70
71         * HttpListenerManager.cs : For ASP.NET, use correct GenericIdentity
72           type, and use null password unless we find a chance to get password
73           in ASP.NET HttpContext.
74
75 2010-03-03  Atsushi Enomoto  <atsushi@ximian.com>
76
77         * HttpReplyChannel.cs, AspNetReplyChannel.cs, HttpChannelListener.cs,
78           HttpListenerManager.cs : ongoing authentication support. It returns
79           401 as expected, but somehow fails to retrieve user info.
80
81 2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
82
83         * HttpListenerManager.cs : this change (along with HttpListener
84           implementation) somehow fixes basic auth. connection error...
85
86 2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
87
88         * MessageHeaders.cs : add !NET_2_1.
89
90 2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
91
92         * MessageHeader.cs, MessageHeaders.cs : add nasty workaround for
93           typed UniqueId output.
94
95 2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
96
97         * MessageHeader.cs : no need to treat EndpointAddress as a special
98           case here too.
99
100 2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
101
102         * MessageHeaders.cs : remove duplicate constant.
103
104 2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
105
106         * MessageHeader.cs, MessageHeaders.cs: MessageHeader does not treat
107           EndpointAddress as a special case. Instead, each MessageHeaders
108           property should convert it to appropriate serializable objects.
109
110           (Our DataContractSerializer fails to reject EndpointAddress as
111           serializable type, so it's rather a preparation step.)
112
113 2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
114
115         * MessageHeader.cs, Message.cs : use dictionary string whenever
116           applicable. The binary output on #577139 is getting closer (no
117           idea if it is really about binary output though).
118
119 2010-02-10  Atsushi Enomoto  <atsushi@ximian.com>
120
121         * BinaryMessageEncoder.cs : moved soap_dictionary to Constants.
122
123 2010-02-05  Atsushi Enomoto  <atsushi@ximian.com>
124
125         *  HttpTransportBindingElement.cs : ... and add MONOTOUCH on #ifs.
126
127 2010-02-05  Atsushi Enomoto  <atsushi@ximian.com>
128
129         *  HttpRequestChannel.cs, HttpTransportBindingElement.cs :
130           enable authentication schemes on monotouch.
131
132 2010-02-04  Atsushi Enomoto  <atsushi@ximian.com>
133
134         * SvcHttpHandler.cs : a wait handle could be used for more than one
135           requests and hence it sometimes blocked one reply channel. Now
136           it creates a wait handle for each ASP.NET request so that such
137           multiple use should not occur. This should fix blocking on
138           concurrent requests (it indeed fixes as long as I can see).
139
140 2010-02-04  Atsushi Enomoto  <atsushi@ximian.com>
141
142         * AspNetReplyChannel.cs : remove garbage output.
143
144 2010-02-04  Atsushi Enomoto  <atsushi@ximian.com>
145
146         * SvcHttpHandler.cs : Use lock when it tries to create the service
147           host.
148
149 2010-02-02  Atsushi Enomoto  <atsushi@ximian.com>
150
151         * SvcHttpHandlerFactory.cs : lock when it tries to acquire
152           HttpHandler.
153
154 2010-02-02  Atsushi Enomoto  <atsushi@ximian.com>
155
156         * HttpListenerManager.cs : add another workaround for blocking
157           concurrent calls.
158
159 2010-02-02  Atsushi Enomoto  <atsushi@ximian.com>
160
161         * HttpListenerManager.cs : small refactoring.
162
163 2010-01-22  Atsushi Enomoto  <atsushi@ximian.com>
164
165         * TcpDuplexSessionChannel.cs : added a workaround receiver delay
166           that somehow makes callback client to not cause infinite loop.
167
168 2010-01-22  Atsushi Enomoto  <atsushi@ximian.com>
169
170         * TcpDuplexSessionChannel.cs, PeerDuplexChannel.cs,
171           DuplexChannelBase.cs : Receive() should rather use TryReceive().
172           It should not be in reverse order.
173
174 2010-01-22  Atsushi Enomoto  <atsushi@ximian.com>
175
176         * HttpReplyChannel.cs, HttpListenerManager.cs :
177           Implement async cancellation in the expected manner (though with
178           some hack). This mostly removed nunit blockers.
179
180 2010-01-22  Atsushi Enomoto  <atsushi@ximian.com>
181
182         * CommunicationObject.cs : fix wrong status changes.
183
184 2010-01-20  Atsushi Enomoto  <atsushi@ximian.com>
185
186         * AddressHeader.cs : XmlSchema.InstanceNamespace didn't exist in 2.1 :(
187
188 2010-01-20  Atsushi Enomoto  <atsushi@ximian.com>
189
190         * AddressHeader.cs : implement remaining bits.
191           Eliminate dependency on NetDataContractSerializer.
192
193 2010-01-20  Atsushi Enomoto  <atsushi@ximian.com>
194
195         * CommunicationObject.cs : in Fault(), do similar work as previous
196           change does.
197
198 2010-01-19  Atsushi Enomoto  <atsushi@ximian.com>
199
200         * CommunicationObject.cs : when process state changes, lock the
201           object to make sure the state transition is valid.
202           Change OnClosed/OnClosing to do the way OnOpened/OnOpening does.
203
204 2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
205
206         * MessageHeaders.cs : implement SetAction().
207
208 2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
209
210         * ChannelFactoryBase.cs : fix build.
211
212 2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
213
214         * ChannelBase.cs : cosmetic API fix for SL3.
215
216 2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
217
218         * ChannelFactoryBase.cs :
219           implement On{Begin/End}Close() on the generic type.
220
221 2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
222
223         * HttpChannelFactory.cs, TcpChannelFactory.cs,
224           ChannelFactoryBase.cs, NamedPipeChannelFactory.cs
225           PeerChannelFactory.cs, HttpRequestChannel.cs:
226           fix ChannelFactoryBase API; move On(Begin/End)Open() to internal
227           type and made required changes.
228
229 2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
230
231         * HttpCookieContainerBindingElement.cs : new.
232         * IHttpCookieContainer.cs : fix type name.
233         * HttpRequestChannel.cs, HttpChannelFactory.cs : support above.
234
235 2010-01-07  Atsushi Enomoto  <atsushi@ximian.com>
236
237         * TcpBinaryFrameManager.cs : treat EOF as interrupted stream too (it
238           does not happen when communicating with .NET client but happens with
239           mono). Seealso FIXME comment.
240         * TcpDuplexSessionChannel.cs : do not try to close session when it
241           failed to read sized message. The connection is already dead.
242
243           Fixed bug #567949.
244
245 2010-01-07  Atsushi Enomoto  <atsushi@ximian.com>
246
247         * TcpDuplexSessionChannel.cs :
248           Write EndRecord only when the connection is available.
249           Remove hack - do let ChannelDispatcher close the channel.
250         * TcpBinaryFrameManager.cs :
251           The socket may be disconnected when trying to read a sized message,
252           so check some socket exceptions.
253           In case the client silently shuts down without EndRecord and
254           reconnects to the server with preamble while expecting a sized
255           message (which is so lame, but that's what .NET often does), refresh
256           preamble and continue.
257
258           This fixes some cases of bug #567949 but not all.
259
260 2010-01-06  Atsushi Enomoto  <atsushi@ximian.com>
261
262         * BinaryMessageEncoder.cs : enable workaround buffering only when
263           the argument stream does *not* support seek. This fixes some
264           net.tcp connection problem.
265
266 2009-12-26  Atsushi Enomoto  <atsushi@ximian.com>
267
268         * TcpBinaryFrameManager.cs : If preamble byte is not available from
269           the client stream, detect it to close the reply or input channel.
270         * TcpRequestChannel.cs : send preamble at each request time.
271           It differentiates communication behavior on such cases that involve
272           single open and multiple requests.
273         * TcpReplyChannel.cs : close the channel only when the channel is
274           oeprated to close i.e. do not close the socket every time.
275           Process preambles on each request (the same as request channel).
276
277 2009-12-26  Atsushi Enomoto  <atsushi@ximian.com>
278
279         * TcpBinaryFrameManager.cs : unsized envelope record may have more
280           than one data block, so consume them accordingly. This should fix
281           large buffer consumption.
282
283 2009-12-21  Atsushi Enomoto  <atsushi@ximian.com>
284
285         * MessageFault.cs : support EnvelopeVersion.None as well, as almost
286           the same as SOAP12.
287
288 2009-12-17  Atsushi Enomoto  <atsushi@ximian.com>
289
290         * HttpRequestContext.cs : for DestinationUnreachable message, this
291           channel returns 400 in .NET.
292
293 2009-12-16  Atsushi Enomoto  <atsushi@ximian.com>
294
295         * BinaryMessageEncoder.cs : added workaround for strange stream
296           consumption error raised by HttpTransport + Binary encoder example.
297         * BinaryMessageEncodingBindingElement.cs:
298           only SOAP 1.2 is allowed for this encoder.
299
300 2009-12-14  Atsushi Enomoto  <atsushi@ximian.com>
301
302         * XmlReaderBodyWriter.cs : don't try to write empty xml.
303
304 2009-12-10  Atsushi Enomoto  <atsushi@ximian.com>
305
306         * HttpRequestChannel.cs : avoid adding duplicate headers. Basically
307           default WebHeaderCollection items are overwritten.
308
309 2009-12-10  Atsushi Enomoto  <atsushi@ximian.com>
310
311         * HttpRequestChannel.cs : when HTTP response was error, do not try
312           to read message but just raise an error.
313
314 2009-12-10  Atsushi Enomoto  <atsushi@ximian.com>
315
316         * MessageHeaders.cs : null can be set as a WS-Addressing header item.
317
318 2009-12-10  Atsushi Enomoto  <atsushi@ximian.com>
319
320         * HttpRequestChannel.cs : WebException.Response might be null.
321
322 2009-12-04  Atsushi Enomoto  <atsushi@ximian.com>
323
324         * ReplyChannelBase.cs : added listener property.
325         * SecurityChannelListener.cs : quick async impl, as ServiceHost has
326           been updated to prefer async by default, a while ago.
327
328 2009-12-04  Atsushi Enomoto  <atsushi@ximian.com>
329
330         * HttpTransportBindingElement.cs : finished all GetProperty() values.
331
332 2009-12-04  Atsushi Enomoto  <atsushi@ximian.com>
333
334         * HttpRequestChannel.cs : disabled carelessly added
335           "UseDefaultCredentials = false" line. It blocked basic auth.
336
337 2009-12-04  Atsushi Enomoto  <atsushi@ximian.com>
338
339         * HttpRequestChannel.cs, HttpChannelFactory.cs,
340           HttpChannelListener.cs, HttpListenerManager.cs :
341           implemented http client authentication and some of corresponding
342           service code. Only client works so far.
343
344 2009-12-03  Atsushi Enomoto  <atsushi@ximian.com>
345
346         * HttpsTransportBindingElement.cs, HttpChannelListener.cs :
347           added URI scheme check.
348
349 2009-12-03  Atsushi Enomoto  <atsushi@ximian.com>
350
351         * TransportSecurityBindingElement.cs : fix 2.1 build.
352
353 2009-12-03  Atsushi Enomoto  <atsushi@ximian.com>
354
355         * HttpsTransportBindingElement.cs :
356           RequireClientCertificate is false by default.
357           Remove extra #if NET_2_1.
358         * SecurityBindingElement.cs :
359           Implement some transport security factory methods.
360         * TransportSecurityBindingElement.cs :
361           It is not ISecurityCapabilities anymore.
362
363 2009-11-25  Atsushi Enomoto  <atsushi@ximian.com>
364
365         * MessageHeaders.cs
366           SecurityBindingElement.cs
367           LocalClientSecuritySettings.cs
368           TransportSecurityBindingElement.cs
369           FaultConverter.cs : They are now part of SL3 API.
370
371 2009-11-17  Atsushi Enomoto  <atsushi@ximian.com>
372
373         * BinaryMessageEncodingBindingElement.cs : changes for 2.1 build.
374
375 2009-11-05  Geoff Norton  <gnorton@novell.com>
376
377         * HttpsTransportBindingElement.cs: Implement basic https transport
378         binding support for Moonlight and MonoTouch
379
380 2009-10-22  Atsushi Enomoto  <atsushi@ximian.com>
381
382         * HttpListenerManager.cs : remove CWLs.
383
384 2009-10-22  Atsushi Enomoto  <atsushi@ximian.com>
385
386         * SvcHttpHandler.cs : move back previous listener selector code in
387           ProcessRequest(). Unlike HttpListener, ASP.NET does not refine
388           and differentiate requests to deeper paths (such as /jsdebug), so
389           we need such refinement here.
390
391 2009-10-22  Atsushi Enomoto  <atsushi@ximian.com>
392
393         * HttpListenerManager.cs : dependent fix to ServiceMetadataExtension
394           changes.
395
396 2009-10-22  Atsushi Enomoto  <atsushi@ximian.com>
397
398         * SvcHttpHandler.cs, HttpReplyChannel.cs, AspNetReplyChannel.cs,
399           HttpChannelListener.cs, HttpListenerManager.cs :
400           Similar refactoring on ASP.NET side to the previous one.
401           Added ASP.NET implementation of HttpListenerManager and use some
402           part of it in SvcHttpHandler (ASP.NET stack does not fully make use
403           of the manager yet).
404           Rewrote AspNetReplyChannel to become almost the same as
405           HttpSimpleReplyChannel, to hopefully unify them later.
406           Now it dispatches requests to *.svc for wsdl, help and SOAP as long
407           as ServiceThrottle has MaxConcurrentSessions=1. Also REST calls
408           are still broken.
409
410 2009-10-20  Atsushi Enomoto  <atsushi@ximian.com>
411
412         * HttpReplyChannel.cs, HttpChannelListener.cs, HttpListenerManager.cs:
413           Refactoring on listener manager to correctly handle wsdl and help
414           requests for such case that they conflict in addressing. Now it
415           can correctly distinguish service calls, WSDL requests and help
416           requests when all of them point to "http://localhost/foo.svc"
417           (which is very common case that the user does not change Http*Url).
418
419 2009-10-16  Atsushi Enomoto  <atsushi@ximian.com>
420
421         * ChannelListenerBase.cs : add Properties property to add arbitrary
422           properties handy (only inside this assembly).
423
424 2009-10-16  Atsushi Enomoto  <atsushi@ximian.com>
425
426         * HttpReplyChannel.cs : fix warning.
427
428 2009-10-15  Atsushi Enomoto  <atsushi@ximian.com>
429
430         * HttpReplyChannel.cs, AspNetReplyChannel.cs : set Via property.
431
432 2009-10-15  Atsushi Enomoto  <atsushi@ximian.com>
433
434         * HttpReplyChannel.cs : make sure to release wait lock.
435         * HttpChannelListener.cs : session channels are not supported, so
436           remove relevant NIEs.
437
438 2009-10-15  Sebastien Pouliot  <sebastien@ximian.com>
439
440         * HttpRequestChannel.cs (WaitEnd): Neither Moonlight nor MonoTouch
441         support contexts so we call the non-overloaded WaitOne method 
442         (which defaults to false).
443
444 2009-10-13  Atsushi Enomoto  <atsushi@ximian.com>
445
446         * SvcHttpHandler.cs, AspNetReplyChannel.cs, HttpChannelListener.cs:
447           significant rewrite to cooperate wcf handler and asp.net handler
448           to not mix multiple WCF listener within the asp.net handler.
449           So far it mostly works when 1) there are no ChannelDispatchers
450           that have an identical listen Uri and 2) MaxConcurrentSessions is
451           1 (must be explicitly set).
452
453 2009-10-13  Atsushi Enomoto  <atsushi@ximian.com>
454
455         * CommunicationObject.cs : give better state error description.
456
457 2009-10-09  Atsushi Enomoto  <atsushi@ximian.com>
458
459         * CommunicationObject.cs : OnOpening() and OnOpened() require calls
460           to base methods. This resulted in not a few changes everywhere.
461
462 2009-10-07  Atsushi Enomoto  <atsushi@ximian.com>
463
464         * IHttpCookieContainer.cs : new 2.1-only interface (no use).
465
466 2009-10-06  Atsushi Enomoto  <atsushi@ximian.com>
467
468         * SvcHttpHandler.cs : use file path given by the factory to
469           construct BaseAddresses. Requests to "test.svc/jsdebug" should
470           not be handled as request to "jsdebug" file, it's rather an
471           "argument" to "test.svc".
472
473 2009-10-06  Atsushi Enomoto  <atsushi@ximian.com>
474
475         * SvcHttpHandler.cs, HttpChannelListener.cs : some significant
476           rewrite to handle shutdown situation better. The listeners should
477           not close channels that it opened. Instead, just stop accepting
478           further requests. Removed blocking mutex on WaitForRequest().
479           Now xsp shuts down as expected.
480
481 2009-10-06  Atsushi Enomoto  <atsushi@ximian.com>
482
483         * HttpReplyChannel.cs : lock list when releasing its content contexts.
484         * AspNetReplyChannel.cs : send EndRequest() to handler when it is
485           closing.
486
487 2009-10-06  Atsushi Enomoto  <atsushi@ximian.com>
488
489         * SvcHttpHandlerFactory.cs : remove todo.
490         * ReplyChannelBase.cs : add comment.
491
492 2009-10-02  Atsushi Enomoto  <atsushi@ximian.com>
493
494         * HttpTransportBindingElement.cs, SvcHttpHandlerFactory.cs :
495           revert the change, to use internal asp.net state again.
496         * SvcHttpHandler.cs : add VirtualPathExtension.
497
498 2009-10-02  Atsushi Enomoto  <atsushi@ximian.com>
499
500         * HttpReplyChannel.cs, AspNetReplyChannel.cs, AspNetRequestContext.cs:
501           asp.net response was not written correctly.
502           Fill HttpRequestMessageProperty to get handle WSDL requests
503           processed in ServiceMetadataExtension without NRE.
504           Remove wrong HttpListenerContext iteration at Abort and Close in
505           common base class and move it to non-asp derived channel.
506
507 2009-10-02  Atsushi Enomoto  <atsushi@ximian.com>
508
509         * SvcHttpHandler.cs : remove unused code.
510
511 2009-09-30  Jb Evain  <jbevain@novell.com>
512
513         * HttpRequestChannel.cs: When compiling for MonoTouch, avoid
514         to use any of the remoting features.
515
516 2009-09-30  Atsushi Enomoto  <atsushi@ximian.com>
517
518         * SvcHttpHandlerFactory.cs, HttpTransportBindingElement.cs :
519           use AspNetCompatibilityEnabled.
520         * SvcHttpHandler.cs : disable ApplyConfiguration(). It should be done
521           at ServiceHostBase.
522         * AspNetReplyChannel.cs : remove extra field.
523
524 2009-09-29  Atsushi Enomoto  <atsushi@ximian.com>
525
526         * HttpReplyChannel.cs : remove extra field.
527
528 2009-09-29  Atsushi Enomoto  <atsushi@ximian.com>
529
530         * AspNetRequestContext.cs : remove CWL.
531
532 2009-09-29  Atsushi Enomoto  <atsushi@ximian.com>
533
534         * AspNetReplyChannel.cs, AspNetRequestContext.cs : close HttpContext
535           only after AspNetRequestContext is closed. Do not close it
536           immediately after receiving the context. (HttpRuntime destructs it
537           and further uses then becomes impossible.)
538
539 2009-09-29  Atsushi Enomoto  <atsushi@ximian.com>
540
541         * AspNetReplyChannel.cs, HttpReplyChannel.cs : add some comments.
542         * SvcHttpHandlerFactory.cs, SvcHttpHandler.cs, HttpChannelListener.cs:
543           Make sure that AspNetChannelListener is bound to correct
544           SvcHttpHandler, regardless of specific request URI. It is required
545           for both WSDL requests and RESTful binding requests.
546
547 2009-09-14  Atsushi Enomoto  <atsushi@ximian.com>
548
549         * MessageProperties.cs : fix CopyProperties() behavior to not
550           clear existing items. Make all properties call this[name].
551
552 2009-09-14  Atsushi Enomoto  <atsushi@ximian.com>
553
554         * HttpTransportBindingElement.cs : fix 2.1 build.
555
556 2009-09-14  Atsushi Enomoto  <atsushi@ximian.com>
557
558         * TransportBindingElement.cs : another GetProperty fix, iterate
559           other binding elements.
560
561 2009-09-14  Atsushi Enomoto  <atsushi@ximian.com>
562
563         * HttpTransportBindingElement.cs, PeerTransportBindingElement.cs :
564           some GetProperty() implementation.
565
566 2009-09-14  Atsushi Enomoto  <atsushi@ximian.com>
567
568         * HttpListenerManager.cs : release HttpListener and avoid extra
569           close process more than once.
570
571 2009-09-11  Atsushi Enomoto  <atsushi@ximian.com>
572
573         * HttpChannelListener.cs : do not iterate channel list to close
574           channels which in turn removes them from the list while iteration.
575
576 2009-09-06  Atsushi Enomoto  <atsushi@ximian.com>
577
578         * HttpRequestChannel.cs : Fix message version member comparison.
579           Double-quote SOAPAction. Remove extra Exception.
580         * HttpReplyChannel.cs : ditto for version comparison. Unquote above.
581         * HttpRequestContext.cs : when addressing is None, remove action
582           from the message.
583
584 2009-09-04  Atsushi Enomoto  <atsushi@ximian.com>
585
586         * SvcHttpHandler.cs : set Uri property based on baseAddresses and
587           path, to pick those endpoints that are added at custom factories.
588
589 2009-09-03  Atsushi Enomoto  <atsushi@ximian.com>
590
591         * SvcHttpHandler.cs : apply configuration, and if there is still no
592           endpoint, then add default one.
593
594 2009-09-03  Atsushi Enomoto  <atsushi@ximian.com>
595
596         * SvcHttpHandler.cs : another URL to make relative.
597
598 2009-09-03  Atsushi Enomoto  <atsushi@ximian.com>
599
600         * SvcHttpHandlerFactory.cs : some GetHandler changes.
601         * SvcHttpHandler.cs : significant changes on receiver structure. Now
602           ProcessRequest() stores pending requests (this might be extraneous,
603           but maybe useful when it implements async handler). Also removed
604           reply_channel field as it may become to handle multiple requests.
605         * HttpChannelListener.cs : bind to corresponding SvcHttpHandler.
606         * AspNetReplyChannel.cs : make it receive requests like
607           HttpReplyChannel (for HttpListener) to make them consistent.
608
609 2009-09-03  Atsushi Enomoto  <atsushi@ximian.com>
610
611         * AspNetRequestContext.cs, HttpRequestContext.cs :
612           fix NRE on HttpListenerContext for AspNetRequestContext (mismatch)
613           by splitting HttpListener-based context out from common code base.
614
615 2009-09-03  Atsushi Enomoto  <atsushi@ximian.com>
616
617         * SvcHttpHandler.cs : use baseAddresses in ServiceHost and make URIs
618           relative or absolute. new Uri ("/foobar") doesn't work on non-unix
619           environment.
620
621 2009-09-02  Atsushi Enomoto  <atsushi@ximian.com>
622
623         * SvcHttpHandlerFactory.cs : make use of BuildManager aid. Now it
624           loads types from system assemblies appropriately.
625
626 2009-09-02  Atsushi Enomoto  <atsushi@ximian.com>
627
628         * XmlReaderBodyWriter.cs : implement OnCreateBufferedCopy()
629           for XmlReader input.
630
631 2009-09-02  Atsushi Enomoto  <atsushi@ximian.com>
632
633         * HttpRequestMessageProperty.cs : fix default values.
634
635 2009-08-31  Atsushi Enomoto  <atsushi@ximian.com>
636
637         * HttpChannelFactory.cs, HttpRequestChannel.cs,
638           ChannelFactoryBase.cs : fix to previous one; allow null Via uri.
639           Check ManualAddressing value and reject address-missing ones.
640
641 2009-08-31  Atsushi Enomoto  <atsushi@ximian.com>
642
643         * HttpChannelFactory.cs : reject URI mismatch cases when required.
644
645 2009-08-26  Atsushi Enomoto  <atsushi@ximian.com>
646
647         * PeerDuplexChannel.cs : When received Connect() from neighbor,
648           add the peer to its internal list.
649           Finally ChatApplication got working.
650
651 2009-08-26  Atsushi Enomoto  <atsushi@ximian.com>
652
653         * PeerDuplexChannel.cs : since the channel factory is per instance,
654           do not reuse factory that is tied to different callback instance.
655           It resolved the issue that mono callback client didn't receive
656           messages from the client itself.
657
658 2009-08-26  Atsushi Enomoto  <atsushi@ximian.com>
659
660         * PeerDuplexChannel.cs : in the Welcome response, return the NodeId
661           of the receiver, not the requestor. It resolved the issue that
662           .NET client didn't send further messages to mono server.
663
664 2009-08-26  Atsushi Enomoto  <atsushi@ximian.com>
665
666         * PeerDuplexChannel.cs : remove some comment on [MC-PRCH] behavior.
667         * TcpDuplexSessionChannel.cs, TcpBinaryFrameManager.cs,
668           TcpReplyChannel.cs, TcpRequestChannel.cs,
669           NamedPipeReplyChannel.cs, NamedPipeRequestChannel.cs:
670           rename EndRecord handling method to appropriate one.
671           Write EndRecord from recipient too.
672
673 2009-08-24  Atsushi Enomoto  <atsushi@ximian.com>
674
675         * PeerDuplexChannel.cs : add PeerFlooder header (see comment).
676           Process PeerTo header to upgrade Message To header. Now mono
677           service accepts mono client (somehow not true for .NET client).
678
679 2009-08-24  Atsushi Enomoto  <atsushi@ximian.com>
680
681         * TcpDuplexSessionChannel.cs, TcpRequestChannel.cs,
682           NamedPipeRequestChannel.cs : no need to add ReplyTo headers.
683
684 2009-08-24  Atsushi Enomoto  <atsushi@ximian.com>
685
686         * PeerDuplexChannel.cs : fix PeerTo/PeerVia header namespace.
687
688 2009-08-24  Atsushi Enomoto  <atsushi@ximian.com>
689
690         * TcpDuplexSessionChannel.cs : check channel state before processing
691           Send and Receive.
692
693 2009-08-20  Atsushi Enomoto  <atsushi@ximian.com>
694
695         * NamedPipeReplyChannel.cs, NamedPipeRequestChannel.cs,
696           NamedPipeChannelFactory.cs, NamedPipeChannelListener.cs :
697           ongoing works, not working at all yet.
698
699 2009-08-20  Atsushi Enomoto  <atsushi@ximian.com>
700
701         * TcpChannelListener.cs, TcpReplyChannel.cs :
702           cosmetic cleanup and corrections.
703
704 2009-08-20  Atsushi Enomoto  <atsushi@ximian.com>
705
706         * TcpChannelFactory.cs : use expected Via uri.
707           Remove extra NIE stuff that are implemented in base.
708
709 2009-08-20  Atsushi Enomoto  <atsushi@ximian.com>
710
711         * TcpDuplexSessionChannel.cs : remove extra code.
712
713 2009-08-20  Atsushi Enomoto  <atsushi@ximian.com>
714
715         * PeerDuplexChannel.cs : ongoing implementation towards get callback
716           replies on peer connector clients (not working as duplex client
717           callback is not working yet).
718
719 2009-08-20  Atsushi Enomoto  <atsushi@ximian.com>
720
721         * TcpDuplexSessionChannel.cs : in callback client channels,
722           OperationContext.IncomingMessageHeaders is null.
723
724 2009-08-20  Atsushi Enomoto  <atsushi@ximian.com>
725
726         * MessageHeaders.cs : duplicate check was sloppy.
727
728 2009-08-18  Atsushi Enomoto  <atsushi@ximian.com>
729
730         * Message.cs, MessageImpl.cs, BodyWriter.cs :
731           Implement BodyWriter.OnCreateBufferedCopy() and use it.
732
733 2009-08-18  Atsushi Enomoto  <atsushi@ximian.com>
734
735         * ReplyChannelBase.cs : initialize field.
736
737 2009-08-17  Atsushi Enomoto  <atsushi@ximian.com>
738
739         * ReplyChannelBase.cs, DuplexChannelBase.cs, RequestChannelBase.cs:
740           implement GetProperty<T>() and return its channel manager.
741
742 2009-08-17  Atsushi Enomoto  <atsushi@ximian.com>
743
744         * PeerDuplexChannel.cs : ongoing implementation. Fix wrong peer
745           destination address in Connect() request. To repeat sending
746           request, use buffered copy. Set some peer-channel specific
747           header items. (todo: and consume them.)
748
749 2009-08-17  Atsushi Enomoto  <atsushi@ximian.com>
750
751         * Message.cs : state is set only after WriteBodyContents().
752
753 2009-08-17  Atsushi Enomoto  <atsushi@ximian.com>
754
755         * MessageHeaders.cs : eliminate wrong use of
756           ReadElementContentAsString() (it is not always simple string).
757
758 2009-08-17  Atsushi Enomoto  <atsushi@ximian.com>
759
760         * MessageHeaders.cs : when the value is null, do not try to
761           deserialize EndpointAddress.
762
763 2009-08-17  Atsushi Enomoto  <atsushi@ximian.com>
764
765          * MessageHeader.cs : add Value property. (Forgot dependent change.)
766
767 2009-08-17  Atsushi Enomoto  <atsushi@ximian.com>
768
769          * MessageHeaders.cs : GetHeader<T>() could mostly skip extra
770            serialization and deserialization of values.
771
772 2009-08-14  Atsushi Enomoto  <atsushi@ximian.com>
773
774         * PeerDuplexChannel.cs : handle Welcome and Refuse at client side.
775           Now simply use connector contract.
776
777 2009-08-14  Atsushi Enomoto  <atsushi@ximian.com>
778
779         * PeerDuplexChannel.cs : handle Disconnect(). Fix URLs a bit.
780
781 2009-08-14  Atsushi Enomoto  <atsushi@ximian.com>
782
783         * TcpChannelListener.cs : do not try to compare dead connection's
784           IPEndPoint (it raises an error).
785
786 2009-08-14  Atsushi Enomoto  <atsushi@ximian.com>
787
788         * MessageHeaders.cs : allow null header value on each specific setter.
789
790 2009-08-14  Atsushi Enomoto  <atsushi@ximian.com>
791
792         * DuplexChannelBase.cs, TcpDuplexSessionChannel.cs :
793           get local and remote address of connected counterpart to get
794           callback channel connected.
795         * PeerDuplexChannel.cs : remove FIXME wrt above.
796
797 2009-08-07  Atsushi Enomoto  <atsushi@ximian.com>
798
799         * PeerDuplexChannel.cs : add fixme comment and remove extra FIXME.
800
801 2009-08-07  Atsushi Enomoto  <atsushi@ximian.com>
802
803         * MessageHeader.cs : fill IsReferenceParameter.
804
805 2009-08-06  Atsushi Enomoto  <atsushi@ximian.com>
806
807         * ReplyChannelBase.cs, TcpReplyChannel.cs, HttpReplyChannel.cs:
808           implement remaining async methods and LocalAddress.
809
810 2009-08-05  Atsushi Enomoto  <atsushi@ximian.com>
811
812         * PeerDuplexChannel.cs : ongoing listener refactoring. Now it uses
813           ServiceHost to process neighbor connection (not sure if this is
814           right way to go though ...).
815
816 2009-07-31  Atsushi Enomoto  <atsushi@ximian.com>
817
818         * PeerDuplexChannel.cs : ongoing [MC-PRCH] implementation. Rewrote
819           connection part to use new internal IPeerConnectorContract for
820           neighbor connection.
821
822 2009-07-31  Atsushi Enomoto  <atsushi@ximian.com>
823
824         * ChannelListenerBase_1.cs, TcpChannelListener.cs,
825           PeerChannelListener.cs, HttpChannelListener.cs :
826           support ListenUri accordingly too so that it could be used when
827           it is different from LocalAddress.Uri.
828
829 2009-07-31  Atsushi Enomoto  <atsushi@ximian.com>
830
831         * TcpChannelFactory.cs, TcpDuplexSessionChannel.cs,
832           TcpRequestChannel.cs : use Via uri to validate and connect.
833
834 2009-07-31  Atsushi Enomoto  <atsushi@ximian.com>
835
836         * RequestChannelBase.cs, DuplexChannelBase.cs :
837           Return endpoint address Uri when no explicit Via uri is specified.
838         * ChannelFactoryBase.cs : Remove extra async close methods.
839           Add async open methods. Reject null EndpointAddress.
840         * PeerChannelFactory.cs : remove async open methods (now in base).
841
842 2009-07-31  Atsushi Enomoto  <atsushi@ximian.com>
843
844         * PeerDuplexChannel.cs : set correct message endpoint (To header).
845
846 2009-07-31  Atsushi Enomoto  <atsushi@ximian.com>
847
848         * TcpDuplexSessionChannel.cs, PeerDuplexChannel.cs,
849           DuplexChannelBase.cs : set LocalAddress property at base.
850
851 2009-07-30  Atsushi Enomoto  <atsushi@ximian.com>
852
853         * PeerDuplexChannel.cs : ongoing refactoring to work both as
854           listener and client. Now it creates a listening peer node, and
855           creates a set of TCP client channels for each peer in the mesh.
856
857           (EndpointAddress must be fixed to not filter out correct inputs).
858
859 2009-07-30  Atsushi Enomoto  <atsushi@ximian.com>
860
861         * PeerChannelListener.cs : do not accept more than one channel
862           which results in lots of listening peer node. Only one is enough.
863
864 2009-07-30  Atsushi Enomoto  <atsushi@ximian.com>
865
866         * DuplexChannelBase.cs : fix wrong loop implementation.
867
868 2009-07-28  Atsushi Enomoto  <atsushi@ximian.com>
869
870         * TcpChannelListener.cs : to avoid creating two or more channels
871           for one remote endpoint, check existing remote endpoints and
872           ignore such connections (it must be handled in different thread
873           fired by ChannelDispatcher loop).
874
875 2009-07-28  Atsushi Enomoto  <atsushi@ximian.com>
876
877         * TcpReplyChannel.cs : make sure to not try to receive request when
878           it is already closed.
879
880 2009-07-28  Atsushi Enomoto  <atsushi@ximian.com>
881
882         * TcpChannelListener.cs, TcpDuplexSessionChannel.cs :
883           some mannerless clients [*1] do not send EndRecord accordingly, but
884           such channels at listener side should not be kept open. So, close
885           disconnected channels when the listener needs to accept another
886           one.
887           [*1] see olive/samples/wcf/clientbase/samplecli4.cs.
888
889 2009-07-28  Atsushi Enomoto  <atsushi@ximian.com>
890
891         * TcpDuplexSessionChannel.cs :
892           Remove extra NIE overrides.
893           Implement OnAbort() apart from OnClose().
894           For duplex session channel, unlike reply channel, it must acquire
895           TCP connection before OnOpen(), otherwise ChannelDispatcher
896           releases the connection acceptance WaitHandle and the detected
897           live connection may be stolen by another channel acceptor.
898
899 2009-07-28  Atsushi Enomoto  <atsushi@ximian.com>
900
901         * HttpRequestChannel.cs : implement OnAbort().
902
903 2009-07-24  Atsushi Enomoto  <atsushi@ximian.com>
904
905         * PeerChannelListener.cs : set source field. Remove unnecessary NIE.
906         * DuplexChannelBase.cs : comment out some extra fields (so far).
907         * PeerDuplexChannel.cs : pass valid EndpointAddress to PeerNodeImpl.
908
909 2009-07-24  Atsushi Enomoto  <atsushi@ximian.com>
910
911         * PeerCustomResolverBindingElement.cs : add some null checks.
912
913 2009-07-23  Atsushi Enomoto  <atsushi@ximian.com>
914
915         * TcpChannelListener.cs, TcpReplyChannel.cs, TcpRequestChannel.cs:
916           Acquire TcpClient for each request/reply. Now it is fully
917           interoperable with .NET.
918
919 2009-07-23  Atsushi Enomoto  <atsushi@ximian.com>
920
921         * TcpReplyChannel.cs, TcpRequestChannel.cs: it somehow adds/expects
922           ReplyTo and MessageId (though it is session-less), and it expects
923           EndRecord at weird stage, inconsistent with [MC-NMF]...
924           Now .NET service accepts one mono client request.
925
926 2009-07-23  Atsushi Enomoto  <atsushi@ximian.com>
927
928         * TcpReplyChannel.cs, TcpRequestChannel.cs, TcpBinaryFrameManager.cs:
929           Send and receive unsized message terminator at once.
930           Send EndRecord mutually. Got one .net client request working.
931
932 2009-07-23  Atsushi Enomoto  <atsushi@ximian.com>
933
934         * BinaryMessageEncoder.cs : revert the previous dictionary change.
935           They are indeed used for non-in-band-dictionary messages.
936
937 2009-07-23  Atsushi Enomoto  <atsushi@ximian.com>
938
939         * TcpDuplexSessionChannel.cs, TcpBinaryFrameManager.cs:
940           split out binary frame manager class into separate file.
941
942 2009-07-21  Atsushi Enomoto  <atsushi@ximian.com>
943
944         * TcpReplyChannel.cs : new reply channel implementation.
945         * TcpChannelListener.cs : use above for streamed reply channel.
946         * TcpDuplexSessionChannel.cs : more streaming mode support.
947         * TcpRequestChannel.cs : a couple of updates to get it working
948           with the reply channel above. Still some issues on .NET interop.
949
950 2009-07-21  Atsushi Enomoto  <atsushi@ximian.com>
951
952         * RequestContext.cs : added internal derived class that implements
953           some members.
954
955 2009-07-21  Atsushi Enomoto  <atsushi@ximian.com>
956
957         * BinaryMessageEncoder.cs : for non-session reader and writer, do not
958           use dictionary.
959
960 2009-07-17  Atsushi Enomoto  <atsushi@ximian.com>
961
962         * PeerDuplexChannel.cs: add the registered node itself to peer list.
963           (The messaging must be done as TCP request/reply pattern, so it's
964           not working yet.)
965
966 2009-07-17  Atsushi Enomoto  <atsushi@ximian.com>
967
968         * TcpRequestChannel.cs : new channel file (TCP for request/reply
969           messaging pattern). The messaging part is not working yet.
970         * TcpChannelFactory.cs : support IRequestChannel.
971         * TcpDuplexSessionChannel.cs : add unsized message support.
972
973 2009-07-17  Atsushi Enomoto  <atsushi@ximian.com>
974
975         * HttpRequestChannel.cs, RequestChannelBase.cs :
976           A couple of async members are now implemented in the base class.
977           Ditto for EndpointAddress and Via.
978
979 2009-07-10  Atsushi Enomoto  <atsushi@ximian.com>
980
981         * PeerDuplexChannel.cs : now it implements some of node management
982           functionality and Send operation. The receiver part is not yet.
983
984 2009-07-10  Atsushi Enomoto  <atsushi@ximian.com>
985
986         * TcpChannelListener.cs, TcpDuplexSessionChannel.cs : do not pass
987           timeout to channel constructor. it does not make sense.
988
989 2009-07-10  Atsushi Enomoto  <atsushi@ximian.com>
990
991         * PeerChannelFactory.cs, PeerChannelListener.cs : add MessageEncoder
992           as common interface member, and use binary encoder (not text).
993
994 2009-07-09  Atsushi Enomoto  <atsushi@ximian.com>
995
996         * PeerDuplexChannel.cs : PeerNode constructor argument changes.
997
998 2009-07-08  Atsushi Enomoto  <atsushi@ximian.com>
999
1000         * PeerDuplexChannel.cs, PeerChannelListener.cs, PeerOutputChannel.cs,
1001           PeerInputChannel.cs, PeerChannelFactory.cs : those channels are
1002           going to be unified to PeerDuplexChannel. And it is likely that
1003           input and output functionalities are to be unified too.
1004
1005 2009-07-08  Atsushi Enomoto  <atsushi@ximian.com>
1006
1007         * TcpChannelFactory.cs : (TcpChannelInfo) ease type restriction. I
1008           may have to reuse it for peer transport.
1009         * PeerChannelListener.cs : add binding member.
1010         * PeerDuplexChannel.cs : remove NIE overrides. Fill fields a bit.
1011
1012 2009-07-08  Atsushi Enomoto  <atsushi@ximian.com>
1013
1014         * ChannelFactoryBase.cs, HttpChannelFactory.cs,
1015           PeerChannelFactory.cs : close opened channels at OnClose() as
1016           documented. Implement async methods.
1017         * PeerChannelListener.cs : removed some NIE overrides.
1018
1019 2009-07-02  Atsushi Enomoto  <atsushi@ximian.com>
1020
1021         * DuplexChannelBase.cs : some more async methods.
1022
1023 2009-06-29  Atsushi Enomoto  <atsushi@ximian.com>
1024
1025         * TcpDuplexSessionChannel.cs : on Abort(), do just Close() within
1026           (almost) no time.
1027         * TcpChannelListener.cs : accept multiple channels at a time.
1028
1029 2009-06-29  Atsushi Enomoto  <atsushi@ximian.com>
1030
1031         * TcpDuplexSessionChannel.cs : do not output all (stored) writer
1032           session strings but output only those new ones in current message.
1033           This fixes inconsistent body output in repetitive use of sender.
1034
1035 2009-06-26  Atsushi Enomoto  <atsushi@ximian.com>
1036
1037         * TcpDuplexSessionChannel.cs : handle EndRecord for repetitive
1038           operation that does not involve session.
1039           Preserve writer session as well as reader session.
1040         * MessageHeaders.cs : take name and namespace into consideration
1041           when creating a serializer.
1042
1043 2009-06-25  Atsushi Enomoto  <atsushi@ximian.com>
1044
1045         * TcpChannelListener.cs, TcpDuplexSessionChannel.cs :
1046           Made required changes for repeated use of message exchanges.
1047           Hold binary reader session. The channels use it incrementally.
1048           Preambles are handled at Open, and EndRecords are handled at
1049           Close, Add session shutdown hook here (not working yet though).
1050
1051 2009-06-18  Atsushi Enomoto  <atsushi@ximian.com>
1052
1053         * ChannelListenerBase_1.cs : added cancellation hook here too.
1054           HttpChannelListener.cs : use above.
1055           Do not allow parallel channel creation (this listener does not
1056           allow more than one AcceptChannel().
1057
1058 2009-06-18  Atsushi Enomoto  <atsushi@ximian.com>
1059
1060         * ReplyChannelBase.cs, HttpReplyChannel.cs :
1061           Add cancellation hook for async TryReceiveRequest.
1062
1063 2009-06-18  Atsushi Enomoto  <atsushi@ximian.com>
1064
1065         * HttpChannelListener.cs, HttpListenerManager.cs :
1066           slightly improved BuildChannelListener().
1067           Implement OnAbort() and differentiate it from OnClose().
1068
1069 2009-06-18  Atsushi Enomoto  <atsushi@ximian.com>
1070
1071         * TcpDuplexSessionChannel.cs : remove NIE stubs.
1072
1073 2009-06-18  Atsushi Enomoto  <atsushi@ximian.com>
1074
1075         * DuplexChannelBase.cs : simple async delegate calls here too.
1076
1077 2009-06-16  Atsushi Enomoto  <atsushi@ximian.com>
1078
1079         * ReplyChannelBase.cs : cosmetic dependency reduction on listener.
1080
1081 2009-06-16  Atsushi Enomoto  <atsushi@ximian.com>
1082
1083         * HttpReplyChannel.cs : cosometic simplification.
1084
1085 2009-06-16  Atsushi Enomoto  <atsushi@ximian.com>
1086
1087         * HttpRequestChannel.cs : Fixed timeout handling. It was causing
1088           infinite block in 2.0 profile.
1089
1090 2009-06-12  Atsushi Enomoto  <atsushi@ximian.com>
1091
1092         * TcpChannelListener.cs, TcpDuplexSessionChannel.cs :
1093           more careful close to avoid NRE.
1094
1095 2009-06-12  Atsushi Enomoto  <atsushi@ximian.com>
1096
1097         * HttpChannelListener.cs : do not Close() more than once (though
1098           it is allowed to call it twice, we don't reject it; just ignore).
1099
1100 2009-06-12  Atsushi Enomoto  <atsushi@ximian.com>
1101
1102         * CustomBinding.cs : copy timeouts from argument binding in copy ctr.
1103
1104 2009-06-11  Atsushi Enomoto  <atsushi@ximian.com>
1105
1106         * HttpReplyChannel.cs : reject multiple WaitForRequest calls.
1107           Temporarily disable HTTP Keep-Alive since it somehow results in
1108           wrong reuse of connection (shown as NRE in HttpConnection).
1109           Make sure to close RequestContext which was created from it.
1110         * HttpRequestContext.cs : simplify.
1111
1112 2009-06-11  Atsushi Enomoto  <atsushi@ximian.com>
1113
1114         * HttpChannelListener.cs, TcpChannelListener.cs,
1115           ChannelListenerBase_1.cs : put common internal listener base
1116           and let it handle those async stuff.
1117
1118 2009-06-10  Atsushi Enomoto  <atsushi@ximian.com>
1119
1120         * ReplyChannelBase.cs : fix wrong null delegate check point.
1121
1122 2009-06-10  Atsushi Enomoto  <atsushi@ximian.com>
1123
1124         * HttpReplyChannel.cs, ReplyChannelBase.cs : async operations are
1125           now implemented as virtual in base class. Remove NIEs in http.
1126
1127 2009-06-10  Atsushi Enomoto  <atsushi@ximian.com>
1128
1129         * HttpChannelListener.cs : hack async implementation.
1130
1131 2009-06-08  Atsushi Enomoto  <atsushi@ximian.com>
1132
1133         * HttpListenerManager.cs : oops, extra line removal.
1134
1135 2009-06-08  Atsushi Enomoto  <atsushi@ximian.com>
1136
1137         * HttpChannelManager.cs, HttpListenerManager.cs : rename file too.
1138
1139 2009-06-08  Atsushi Enomoto  <atsushi@ximian.com>
1140
1141         * HttpChannelManager.cs, HttpChannelListener.cs: renaming, as
1142           "ChannelManager" is confusing (there is ChannelManagerBase).
1143
1144 2009-06-08  Atsushi Enomoto  <atsushi@ximian.com>
1145
1146         * HttpChannelManager.cs, HttpTransportBindingElement.cs,
1147           HttpReplyChannel.cs, AspNetReplyChannel.cs, HttpChannelListener.cs:
1148           they should be split into separate listener->reply channel lines
1149           (remove "if (HostingEnvironment.IsAspNet)".)
1150
1151 2009-06-08  Atsushi Enomoto  <atsushi@ximian.com>
1152
1153         * CommunicationObject.cs : OnClosed() requires call to base method.
1154           Close() could rather abort the channel, and Abort() does not
1155           always invke OnAbort().
1156         * ChannelBase.cs : add call to base as above.
1157
1158 2009-06-05  Sebastien Pouliot  <sebastien@ximian.com>
1159
1160         * ClientAccessPolicy.cs: Removed
1161         * CrossDomainAccessManager.cs: Removed
1162         * CrossDomainPolicy.cs: Removed
1163         * HttpRequestChannel.cs: Remove call to CrossDomainAccessManager 
1164         since this is now done inside the BeginGetResponse call (outside
1165         this assembly) for Moonlight (NET_2_1)
1166
1167 2009-06-04  Alan McGovern  <amcgovern@novell.com>
1168
1169         * HttpRequestChannel.cs : Rewrite ProcessRequest to use the async APIs
1170         instead of the sync apis. Prevents a possible deadlock condition in
1171         moonlight. 
1172
1173 2009-06-03  Atsushi Enomoto  <atsushi@ximian.com>
1174
1175         * HttpRequestChannel.cs : that SL2/ML2 does not seem to allow null
1176           callbacks, so add hacky ones.
1177
1178 2009-06-01  Atsushi Enomoto  <atsushi@ximian.com>
1179
1180         * TcpDuplexSessionChannel.cs : WaitForMessage() should not return
1181           true when socket input is not available.
1182
1183 2009-05-29  Atsushi Enomoto  <atsushi@ximian.com>
1184
1185         * TcpDuplexSessionChannel.cs : Moved tcp listener accept to OnOpen().
1186           I cannot precisely identify when EndRecord should be consumed,
1187           so allow it at either at the end of ReadSizedMessage() or on
1188           consuming preamble (it's likely handling EndRecord of previous
1189           message though).
1190
1191           Now duplex IPeerResolverContract communication works between
1192           either of .NET/Mono client and .NET/Mono server.
1193
1194 2009-05-29  Atsushi Enomoto  <atsushi@ximian.com>
1195
1196         * TcpDuplexSessionChannel.cs : looks like I have added some bogus
1197           code. Handle preamble ack on ReadSizedMessage() only at server.
1198           Consume EndRecord from server, at client side. Though it is likely
1199           changed as it's blocking when mono is at server side.
1200
1201 2009-05-29  Atsushi Enomoto  <atsushi@ximian.com>
1202
1203         * TcpDuplexSessionChannel.cs : .NET seems to be based on somewhat
1204           different protocol than existing code with related to preamble ack.
1205           So changed it to work fine with .NET client (finally).
1206
1207 2009-05-28  Atsushi Enomoto  <atsushi@ximian.com>
1208
1209         * MessageBufferImpl.cs : do not output Action twice.
1210
1211 2009-05-28  Atsushi Enomoto  <atsushi@ximian.com>
1212
1213         * MessageBufferImpl.cs : it did not copy headers.
1214         * Message.cs : remove 2_1 conditional implementation for buffered
1215           copy and hence remove bogus code.
1216
1217 2009-05-28  Atsushi Enomoto  <atsushi@ximian.com>
1218
1219         * MessageProperties.cs : copy argument is wrong.
1220
1221 2009-05-27  Atsushi Enomoto  <atsushi@ximian.com>
1222
1223         * PeerCustomResolverBindingElement.cs : some argument check.
1224
1225 2009-05-27  Atsushi Enomoto  <atsushi@ximian.com>
1226
1227         * BinaryMessageEncoder.cs : the serializer somehow leaves binary
1228           xml open, so close the writer as well as open elements.
1229         * TcpDuplexSessionChannel.cs : clear write buffer on each operation.
1230           Do not output EndRecord and SizedMessage at a time.
1231
1232 2009-05-26  Atsushi Enomoto  <atsushi@ximian.com>
1233
1234         * TcpDuplexSessionChannel.cs : there was a miscalculation on the
1235           length of the SizedMessage in the output.
1236
1237 2009-05-26  Atsushi Enomoto  <atsushi@ximian.com>
1238
1239         * CommunicationObject.cs : use sane default timeout.
1240         * PeerCustomResolverBindingElement.cs : check timeout arg sanity.
1241         * TcpDuplexSessionChannel.cs : ditto.
1242
1243 2009-05-26  Atsushi Enomoto  <atsushi@ximian.com>
1244
1245         * TcpDuplexSessionChannel.cs : It seems that buffered stream channel
1246           only accepts buffered messages, so do as such for write buffers.
1247           Add RelatesTo header.
1248
1249 2009-05-26  Atsushi Enomoto  <atsushi@ximian.com>
1250
1251         * DuplexSessionChannelBase.cs, DuplexChannelBase.cs:
1252           rename from former to latter.
1253
1254 2009-05-25  Atsushi Enomoto  <atsushi@ximian.com>
1255
1256         * TcpDuplexSessionChannel.cs : reader does not always return full
1257           buffer (depending on the stream).
1258
1259 2009-05-25  Atsushi Enomoto  <atsushi@ximian.com>
1260
1261         * PeerDuplexChannel.cs, PeerOutputChannel.cs : use new PeerNode.ctor.
1262
1263 2009-05-25  Atsushi Enomoto  <atsushi@ximian.com>
1264
1265         * PeerCustomResolverBindingElement.cs : (Resolve) returned addresses
1266           could be null.
1267
1268 2009-05-22  Atsushi Enomoto  <atsushi@ximian.com>
1269
1270         * ChannelManagerBase.cs : there was annoying non-2.1 stuff.
1271
1272 2009-05-22  Atsushi Enomoto  <atsushi@ximian.com>
1273
1274         * TcpChannelListener.cs, TcpChannelFactory.cs : get reader quotas.
1275
1276 2009-05-22  Atsushi Enomoto  <atsushi@ximian.com>
1277
1278         * ChannelManagerBase.cs : fix wrong session channel detection.
1279
1280 2009-05-22  Atsushi Enomoto  <atsushi@ximian.com>
1281
1282         * BinaryMessageEncoderFactory.cs, BinaryMessageEncoder.cs
1283           This encoder factory implements CreateSessionEncoder() and binary
1284           encoder does support session transmit, in different media type.
1285         * ChannelManagerBase.cs : added utility method to create appropriate
1286           encoder.
1287         * HttpChannelFactory.cs, HttpChannelListener.cs,
1288           MsmqChannelFactory.cs, MsmqChannelListener.cs,
1289           PeerChannelFactory.cs, PeerChannelListener.cs,
1290           TcpChannelFactory.cs, TcpChannelListener.cs : use above.
1291
1292 2009-05-22  Atsushi Enomoto  <atsushi@ximian.com>
1293
1294         * TcpDuplexSessionChannel.cs : add ReplyTo header.
1295
1296 2009-05-21  Atsushi Enomoto  <atsushi@ximian.com>
1297
1298         * DuplexSessionBase.cs : new file, for session implementation.
1299         * TcpDuplexSessionChannel.cs, PeerDuplexChannel.cs,
1300           DuplexSessionChannelBase.cs : changed sync/async implementation
1301           pattern. Now async methods call sync methods using delegates.
1302
1303 2009-05-21  Atsushi Enomoto  <atsushi@ximian.com>
1304
1305         * InputChannelBase.cs, TransportBindingElement.cs, RequestContext.cs:
1306           a few minor API fixes.
1307
1308 2009-05-21  Atsushi Enomoto  <atsushi@ximian.com>
1309
1310         * MessageEncoderFactory.cs : implement CreateSessionEncoder().
1311
1312 2009-05-19  Atsushi Enomoto  <atsushi@ximian.com>
1313
1314         * TcpDuplexSessionChannel.cs : add To header.
1315
1316 2009-05-19  Atsushi Enomoto  <atsushi@ximian.com>
1317
1318         * MessageFault.cs : fix several SOAP12 fault deserialization in xml
1319           parsing.
1320
1321 2009-05-18  Atsushi Enomoto  <atsushi@ximian.com>
1322
1323         * FaultConverter.cs : avoid NRE for null IncomingMessageHeaders.
1324
1325 2009-05-15  Atsushi Enomoto  <atsushi@ximian.com>
1326
1327         * MessageFault.cs : Reason is mandatory. raise XmlException, and
1328           CommunicationException in each CreateFault().
1329
1330 2009-05-15  Atsushi Enomoto  <atsushi@ximian.com>
1331
1332         * TcpDuplexSessionChannel.cs : on listener side, get TcpClient at
1333           Open(). Some (but not all yet) continuous communication works now.
1334           Use ProtocolException. Remove dummy binary session string.
1335
1336 2009-05-14  Atsushi Enomoto  <atsushi@ximian.com>
1337
1338         * TcpDuplexSessionChannel.cs : more [MC-NMF] implementation. Moved
1339           sending/receiving SizedMessageRecord parts to manager class.
1340           Handle writer session, though it is likely broken at dictionary
1341           writer part (no string is written so far).
1342         * BinaryMessageEncoder.cs : add writer session and rename reader
1343           session.
1344
1345 2009-05-14  Atsushi Enomoto  <atsushi@ximian.com>
1346
1347         * TcpDuplexSessionChannel.cs : more [MC-NMF] implementation. Via uri
1348           is mandatory in initiator preamble packet. Handle Fault reply in
1349           initiator preamble.
1350
1351 2009-05-14  Atsushi Enomoto  <atsushi@ximian.com>
1352
1353         * TcpDuplexSessionChannel.cs : ongoing refactoring to collect [MC-NMF]
1354           based communication under TcpBinaryFrameManager class.
1355
1356 2009-05-13  Jb Evain  <jbevain@novell.com>
1357
1358         * MessageHeader.cs: use a SL friendly way of creating an XmlReader
1359         from a StringReader.
1360
1361 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
1362
1363         * MessageImpl.cs, MessageHeader.cs : eliminate xlinq in 2.1, and
1364           actually eliminate DOM-based implementation too in 2.0.
1365
1366 2009-04-28  Atsushi Enomoto  <atsushi@ximian.com>
1367
1368         * TcpDuplexSessionChannel.cs : implement in-band dictionary support
1369           in [MC-NMF] and [MC-NBFSE], used in duplex channels. Added some
1370           comments for magic numbers based on [MC-NMF].
1371
1372 2009-04-28  Atsushi Enomoto  <atsushi@ximian.com>
1373
1374         * BinaryMessageEncoder.cs : implement part of in-band dictionary
1375           support for [MC-NBFSE] record in [MC-NMF], in this class.
1376
1377 2009-04-28  Atsushi Enomoto  <atsushi@ximian.com>
1378
1379         * BinaryMessageEncodingBindingElement.cs : clear extra public members.
1380
1381 2009-04-27  Atsushi Enomoto  <atsushi@ximian.com>
1382
1383         * TcpDuplexSessionChannel.cs : implemented some channel methods.
1384
1385 2009-04-27  Atsushi Enomoto  <atsushi@ximian.com>
1386
1387         * BinaryMessageEncoder.cs : use XmlDictionary specified as [MC-NBFS].
1388
1389 2009-04-27  Atsushi Enomoto  <atsushi@ximian.com>
1390
1391         * ChannelManagerBase.cs : implement Open/CloseTimeout correctly.
1392
1393 2009-04-23  Atsushi Enomoto  <atsushi@ximian.com>
1394
1395         * BinaryMessageEncoder.cs : use quotas in binding element.
1396           Implement WriteMessage().
1397
1398 2009-04-22  Atsushi Enomoto  <atsushi@ximian.com>
1399
1400         * PeerCustomResolverBindingElement.cs : do initialize field.
1401
1402 2009-04-21  Atsushi Enomoto  <atsushi@ximian.com>
1403
1404         * PeerCustomResolverBindingElement.cs :
1405           implement full custom resolver.
1406
1407 2009-04-21  Atsushi Enomoto  <atsushi@ximian.com>
1408
1409         * PeerDuplexChannel.cs, PeerChannelListener.cs,
1410           PeerOutputChannel.cs, PeerCustomResolverBindingElement.cs,
1411           PeerChannelFactory.cs : ongoing p2p channel implementation.
1412
1413 2009-04-21  Atsushi Enomoto  <atsushi@ximian.com>
1414
1415         * PnrpPeerResolverBindingElement.cs : sync with PeerResolver changes.
1416
1417 2009-04-21  Atsushi Enomoto  <atsushi@ximian.com>
1418
1419         * BinaryMessageEncodingBindingElement.cs, ChannelBase.cs,
1420           ChannelFactoryBase.cs, WindowsStreamSecurityBindingElement.cs :
1421           implement GetProperty<T>(). Return documented objects or null.
1422
1423 2009-04-20  Atsushi Enomoto  <atsushi@ximian.com>
1424
1425         * PeerChannelFactory.cs, PeerChannelListener.cs,
1426           PeerCustomResolverBindingElement.cs, PeerDuplexChannel.cs
1427           PeerInputChannel.cs, PeerOutputChannel.cs :
1428           new; ongoing peer transport implementation.
1429         * DuplexSessionChannelBase.cs, InputChannelBase.cs
1430           MsmqOutputChannel.cs, OutputChannelBase.cs,
1431           PeerResolverBindingElement.cs, PeerTransportBindingElement.cs,
1432           PnrpPeerResolverBindingElement.cs, TcpDuplexSessionChannel.cs :
1433           several internal changes (either required or for simplification)
1434           for ongoing peer transport implementation.
1435
1436 2009-04-08  Atsushi Enomoto  <atsushi@ximian.com>
1437
1438         * PeerTransportBindingElement.cs : ListenIPAddress is IPAddress.
1439
1440 2009-04-07  Atsushi Enomoto  <atsushi@ximian.com>
1441
1442         * TcpTransportBindingElement.cs : check build-ability before
1443           actually building channels.
1444         * ConnectionOrientedTransportBindingElement.cs : fixed build-ability
1445           conditions according to MSDN.
1446
1447 2009-03-05  Atsushi Enomoto  <atsushi@ximian.com>
1448
1449         * MessageHeader.cs, MessageHeaders.cs, MessageImpl.cs :
1450           handle headers in SL2. Slightly changed 3.0 code too.
1451
1452 2009-03-04  Atsushi Enomoto  <atsushi@ximian.com>
1453
1454         * HttpRequestChannel.cs : use cross domain access manager.
1455
1456 2009-02-27  Atsushi Enomoto  <atsushi@ximian.com>
1457
1458         * Message.cs : (in CreateBufferedCopy) do not pass the entire
1459           message as BodyWriter.
1460           (in GetReaderAtBodyContents) just write body contents.
1461         * MessageImpl.cs : do not try to read body at ctor (fixed tons
1462           of test failures).
1463           Add some state check in GetReaderAtBodyContents().
1464         * XmlReaderBodyWriter.cs : avoid possible extra xmldecl onto output.
1465
1466 2009-02-18  Atsushi Enomoto  <atsushi@ximian.com>
1467
1468         * Message.cs : do not forget to flush.
1469         * HttpRequestChannel.cs : give more exact error info.
1470
1471 2009-02-18  Atsushi Enomoto  <atsushi@ximian.com>
1472
1473         * Message.cs, MessageBufferImpl.cs, XmlReaderBodyWriter.cs :
1474           make buffered copy in ML2 really buffered.
1475
1476 2009-02-12  Atsushi Enomoto  <atsushi@ximian.com>
1477
1478         * Message.cs : if there is no header item to write, do not write
1479           SOAP header element.
1480
1481 2009-01-22  Alan McGovern  <amcgovern@novell.com>
1482
1483         * MessageHeaders.cs : List<T>.RemoveAll(Predicate<T>) doesn't exist in Silverlight.
1484         Rewrite to avoid usage of it.
1485
1486 2009-01-14  Atsushi Enomoto  <atsushi@ximian.com>
1487
1488         * ChannelParameterCollection.cs : implement, rather than NIE.
1489
1490 2008-05-22  Noam Lampert <noaml@mainsoft.com>
1491
1492         * MessageFault.cs: Correctly serialize ExceptionDetails. Expose SimpleMessageFault to allow
1493           internal users to know the type of the detail. 
1494         
1495 2008-05-20  Noam Lampert <noaml@mainsoft.com>
1496
1497         * Message.c: Use private setter for state private variable to ease debugging.
1498                                  Modify ToString not to change the state, as it is called quite often by VS debugger
1499                                  
1500 2008-04-21  Roei Erez <roeie@mainsoft.com>
1501
1502         * HttpChannleManager: Fix for multithreaded use.
1503         * HttpReplyChannel: Fix crash during sutdown.
1504
1505 2008-04-17  Igor Zelmanovich <igorz@mainsoft.com>
1506
1507         * HttpChannleManager: ensure trailing slash in uri.
1508
1509 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
1510
1511         * added: HttpChannleManager,
1512         * HttpChannelListener: added use of HttpChannelManager
1513
1514 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
1515
1516         * MessageEncodingBindingElement.cs: fixed ctor
1517
1518 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
1519
1520         * XmlReaderBodyWriter.cs: fixed ctor, skip xml declaration
1521
1522 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
1523
1524         * HttpReplyChannel.cs: fixed TryReceiveRequest, fix message header To
1525
1526 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
1527
1528         * MessageFault.cs: fixed CreateFault11, implemented "detail"
1529
1530 2008-04-17  Noam Lampert <noaml@mainsoft.com>
1531
1532         * HttpReplyChannel.cs: fix API - Fix crash during service shutdown.
1533
1534 2008-04-13  Igor Zelmanovich <igorz@mainsoft.com>
1535
1536         * BindingElementCollection.cs: fix API - .ctor's signature.
1537
1538 2008-04-10  Eyal Alaluf <eyala@mainsoft.com>
1539
1540         * XmlSerializerBodyWriter.cs: Removed.
1541
1542 2008-03-25  Vladimir Krasnov  <vladimirk@mainsoft.com>
1543
1544         * MessageFault.cs: fixed WriteReason, .net XmlWriter compatible
1545
1546 2008-02-20  Atsushi Enomoto  <atsushi@ximian.com>
1547
1548         * DuplexSessionChannelBase.cs : made it non-session (more reusable).
1549         * TcpChannelFactory.cs, TcpChannelListener.cs :
1550           unify factory and listener into TcpChannelInfo for use in
1551           TCP channel implementation. Do not store stream in the listener.
1552           Factory now uses BinaryMessageEncoder.
1553         * TcpDuplexSessionChannel.cs : changes explained above, and now it
1554           holds TcpClient that the listener has accepted.
1555
1556           tcp-transport-binding-element sample now communicates (though
1557           only when both sides are mono: there seems binary mismatch).
1558
1559 2008-02-20  Atsushi Enomoto  <atsushi@ximian.com>
1560
1561         * TcpTransportBindingElement.cs, TcpConnectionPoolSettings.cs :
1562           clone connection pool settings too.
1563         * NamedPipetransportBindingElement.cs,
1564           NamedPipeConnectionPoolSettings.cs : let's clean them up too (not
1565           being likely implemented though).
1566
1567 2008-02-20  Atsushi Enomoto  <atsushi@ximian.com>
1568
1569         * ConnectionOrientedTransportBindingElement.cs, 
1570           TcpTransportBindingElement.cs : some API updates.
1571           Initialize default values.
1572         * TcpConnectionPoolSettings.cs : new file.
1573
1574 2008-02-18  Atsushi Enomoto  <atsushi@ximian.com>
1575
1576         * ServiceHostParser.cs, SvcHttpHandlerFactory.cs, SvcHttpHandler.cs:
1577           added support for "factory" attribute.
1578
1579 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
1580
1581         * HttpRequestContent.cs : consider HttpResponseMessageProperty.
1582
1583 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
1584
1585         * HttpRequestChannel.cs : pass response ContentType to ReadMessage().
1586
1587 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
1588
1589         * HttpRequestChannel.cs : create WebRequest against To message header
1590           item (if exists).
1591           Consider HttpRequestMessageProperty.
1592           Do not output body when suppressed or the method is GET.
1593
1594 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
1595
1596         * HttpChannelListener.cs : BindingContext may not have listenUri
1597           at its .ctor() step.
1598
1599 2008-02-08  Atsushi Enomoto  <atsushi@ximian.com>
1600
1601         * BindingContext.cs : RemainingBindingElements is not just a dummy
1602           collection but is actually user-controlled.
1603
1604 2008-02-08  Atsushi Enomoto  <atsushi@ximian.com>
1605
1606         * TcpChannelFactory.cs, TcpChannelListener.cs, 
1607           HttpChannelFactory.cs, HttpChannelListener.cs,
1608           MsmqChannelFactory.cs, MsmqChannelListener.cs,
1609           TextMessageEncodingBindingElement.cs,
1610           BinaryMessageEncodingBindingElement.cs,
1611           MtomMessageEncodingBindingElement.cs :
1612           message encoder should be retrieved only through public API.
1613         * BindingContext.cs : so my old guess was wrong.
1614
1615         See also: http://blogs.msdn.com/drnick/archive/2006/05/10/594134.aspx
1616
1617 2008-02-05  Atsushi Enomoto  <atsushi@ximian.com>
1618
1619         * HttpTransportBindingElement.cs : implemented copy constructor.
1620
1621 2007-08-20  Atsushi Enomoto  <atsushi@ximian.com>
1622
1623         * HttpRequestChannel.cs, HttpReplyChannel.cs : treat SOAPAction HTTP
1624           header when AddressingVersion is None.
1625
1626 2007-08-20  Atsushi Enomoto  <atsushi@ximian.com>
1627
1628         * MessageHeaders.cs : AddressingVersion.None rejects some WSA
1629           property setters.
1630
1631 2007-08-19  Atsushi Enomoto  <atsushi@ximian.com>
1632
1633         * OneWayBindingElementImporter.cs
1634           CompositeDuplexBindingElementImporter.cs : new files.
1635
1636 2007-08-17  Atsushi Enomoto  <atsushi@ximian.com>
1637
1638         * MessageHeaders.cs : due to the DataContractSerializer.ReadObject()
1639           semantic change, its bool parameter must be false, not true.
1640
1641 2007-07-13  Atsushi Enomoto  <atsushi@ximian.com>
1642
1643         * InputChannelBase.cs, MsmqChannelListener.cs, MsmqInputChannel.cs :
1644           new files. Msmq transport listener Implementation.
1645         * MsmqOutputChannel.cs : implemented Send(). Not sure if it works
1646           (wait for System.Messaging impl.)
1647         * HttpReplyChannel.cs : added comment
1648
1649 2007-07-06  Atsushi Enomoto  <atsushi@ximian.com>
1650
1651         * MsmqChannelFactory.cs MsmqOutputChannel.cs OutputChannelBase.cs :
1652           new files. internal stuff for msmq channel.
1653         * BinaryMessageEncoder.cs : added another .ctor().
1654         * MsmqTransportBindingElement.cs :
1655           implemented [Can]BuildChannelFactory().
1656
1657 2007-07-06  Atsushi Enomoto  <atsushi@ximian.com>
1658
1659         * MsmqBindingElementBase.cs MsmqTransportBindingElement.cs :
1660           initialize some fields.
1661
1662 2007-07-05  Atsushi Enomoto  <atsushi@ximian.com>
1663
1664         * MsmqBindingElementBase.cs MsmqMessageProperty.cs
1665           MsmqTransportBindingElement.cs ITransactedBindingElement.cs :
1666           couple of msmq stubs.
1667
1668 2007-04-02  Atsushi Enomoto  <atsushi@ximian.com>
1669
1670         * SecureMessageGenerator.cs : SecurityContextToken support (though
1671           it is still regarded as invalid by WCF).
1672
1673 2007-03-13  Atsushi Enomoto  <atsushi@ximian.com>
1674
1675         * WSSecurityMessageHeader.cs, SecureMessageGenerator.cs :
1676           make header.Contents.Add() more strict.
1677           Use HasAsymmetricKey to determine whether to use asymmetric algorithm
1678           or not.
1679           Added some hack to allow ssl token external mode.
1680           Commented out such lines that always premised asymmtric key.
1681
1682 2007-03-08  Atsushi Enomoto  <atsushi@ximian.com>
1683
1684         * TransactionFlowBindingElement.cs : forgot necessary Clone().
1685
1686 2007-03-08  Atsushi Enomoto  <atsushi@ximian.com>
1687
1688         * MessageSecurityBindingSupport.cs : support check to create
1689           authenticator is now done in both initiator/recipient sides.
1690         * SecurityRequestContext.cs : don't encrypt WS-Trust RSTR.
1691
1692 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
1693
1694         * MessageSecurityBindingSupport.cs : for now, comment out the code
1695           that makes authenticator creation optional.
1696         * SecurityRequestContext.cs : don't decrypt message when it is
1697           WS-Trust messages. Also, do not secure SOAP Fault (it is likely
1698           to fail).
1699         * SecurityChannelListener.cs : GetProperty<T>() now returns
1700           MessageSecurityBindingSupport when requested. It is used by
1701           EndpointDispatcher to check if it supports WS-Trust negotiation.
1702         * ChannelListenerBase.cs :
1703           removed extra TODO and field. Implemented GetProperty<T>().
1704         * Message.cs : In CreateMessage() for SOAP Fault, create
1705           SimpleMessage with IsFault = true.
1706
1707 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
1708
1709         * SecurityRequestContext.cs : try to reply fault with the inner
1710           channel when an error occurred internally.
1711         * FaultConverter.cs : implemented based on OperationContext (at normal
1712           state it does not seem to create messages, so I implemented it this
1713           way).
1714
1715 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
1716
1717         * TransportBindingElement.cs : implemented GetProperty<T>().
1718         * TransactionFlowBindingElement.cs : on building factory or listener,
1719           reject channel types that cannot build.
1720         * SecurityBindingElement.cs : added some TODO comments.
1721         * HttpTransportBindingElement.cs : GetProperty<T>() should rather
1722           delegate to base, not BindingContext.
1723         * SecurityRequestContext.cs : somewhat late decryption.
1724
1725 2007-03-06  Atsushi Enomoto  <atsushi@ximian.com>
1726
1727         * MessageSecurityBindingSupport.cs,
1728           AsymmetricSecurityBindingElement.cs,
1729           SymmetricSecurityBindingElement.cs :
1730           renamed *SecurityBindingElementSupport to *SecurityCapabilities and
1731           implemented ISecurityCapabilities on them. Now those binding
1732           elements support GetProperty<ISecurityCapabilities>().
1733
1734 2007-03-05  Atsushi Enomoto  <atsushi@ximian.com>
1735
1736         * SecurityBindingElement.cs : SetIssuerBindingContextIfRequired()
1737           will work only for predefined parameter types.
1738
1739 2007-03-01  Atsushi Enomoto  <atsushi@ximian.com>
1740
1741         * MessageSecurityBindingSupport.cs :
1742           Set proper MessageDirection to the requirement after creation.
1743           split CreateTokenAuthenticator() as MessageDirection is different.
1744           Removed extra creation of requirement.
1745
1746 2007-03-01  Atsushi Enomoto  <atsushi@ximian.com>
1747
1748         * MessageSecurityBindingSupport.cs : token authenticator is not
1749           always created on channel-opening stage.
1750         * SecurityBindingElement.cs : use SslSecurityTokenParameters for
1751           Sslnego binding factory method.
1752
1753 2007-02-28  Atsushi Enomoto  <atsushi@ximian.com>
1754
1755         * SecureMessageGenerator.cs : inconsistent ReferenceList has caused
1756           signature velification failure.
1757
1758 2007-02-27  Atsushi Enomoto  <atsushi@ximian.com>
1759
1760         * SecureMessageGenerator.cs : encrypt signature confirmations only
1761           when they are required.
1762
1763 2007-02-27  Atsushi Enomoto  <atsushi@ximian.com>
1764
1765         * SecureMessageGenerator.cs : SignatureConfirmation must be encrypted
1766           when [Signature Protection is true i.e. when we use
1767           SignBeforeEncryptAndEncryptSignature.
1768
1769           With this change finally samplesvc.cs/samplecli.cs became
1770           interoperable(!)
1771
1772 2007-02-27  Atsushi Enomoto  <atsushi@ximian.com>
1773
1774         * SecureMessageDecryptor.cs : signature verification was not done
1775           for endorsing supporting tokens.
1776         * SecureMessageGenerator.cs : moved SignatureConfirmation position
1777           in the security header. Don't output empty ReferenceList.
1778
1779 2007-02-27  Atsushi Enomoto  <atsushi@ximian.com>
1780
1781         * SecureMessageGenerator.cs : signingToken was added before being
1782           initialized and thus caused NRE.
1783
1784 2007-02-27  Atsushi Enomoto  <atsushi@ximian.com>
1785
1786         * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
1787           SecureMessageGenerator.cs : use SHA1 instead of HMACSHA1. Now we
1788           don't need workaround for symmetric key restoration.
1789
1790 2007-02-27  Atsushi Enomoto  <atsushi@ximian.com>
1791
1792         * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
1793           SecureMessageGenerator.cs :
1794           Avoid extra reference search from the request's ReferenceList.
1795           create HMACSHA1 always with the key to compute hash (I'm not sure
1796           it is correct; it is rather to adjust all hash consistent.)
1797
1798 2007-02-27  Atsushi Enomoto  <atsushi@ximian.com>
1799
1800         * SecureMessageDecryptor.cs : verify that endorsing supporting tokens
1801           actually endorsed the primary signature.
1802         * SecureMessageGenerator.cs : implemented endorsing of the primary
1803           signature. So, now supporting tokens are fully implemented.
1804
1805 2007-02-27  Atsushi Enomoto  <atsushi@ximian.com>
1806
1807         * MessageSecurityBindingSupport.cs : so, those supporting tokens are
1808           totally signing tokens.
1809         * SecureMessageGenerator.cs : Endorsing tokens should also be
1810           included in the message. They are just not signed.
1811
1812 2007-02-26  Atsushi Enomoto  <atsushi@ximian.com>
1813
1814         * SecureMessageGenerator.cs : support signing and encryption of
1815           supporting tokens. Some required refactory to do it.
1816         * MessageSecurityBindingSupport.cs : added EncryptedData member.
1817
1818 2007-02-26  Atsushi Enomoto  <atsushi@ximian.com>
1819
1820         * SecureMessageDecryptor.cs : fix exception message.
1821         * WSSecurityMessageHeader.cs, WSSignedXml.cs, WSEncryptedXml.cs :
1822           XmlNamespaceManager is not required for GetIdElement().
1823
1824 2007-02-22  Atsushi Enomoto  <atsushi@ximian.com>
1825
1826         * SecureMessageDecryptor.cs, WSSecurityMessageHeader.cs :
1827           moved decryption part from former file to latter file, to reuse
1828           SignedXml instance (though now I doubt how it actually was good)
1829           which in turn required to replace EncryptedData in
1830           WSSecurityMessageHeader with decrypted one.
1831         * WSEncryptedXml.cs : similar to WSSignedXml.cs, to handle wsu:Id.
1832
1833 2007-02-21  Atsushi Enomoto  <atsushi@ximian.com>
1834
1835         * SecureMessageGenerator.cs : when we create DerivedKeyToken, those
1836           EncryptedData should contain KeyInfo as it is not obvious which key
1837           is used there. .net<->mono DerivedKeyToken introp is done.
1838         * SecureMessageDecryptor.cs : check derived key requirement.
1839           Reduce dom-dependent parts.
1840
1841 2007-02-21  Atsushi Enomoto  <atsushi@ximian.com>
1842
1843         * WSSecurityMessageHeader.cs : ReferenceList needs to be bound to
1844           the related DerivedKeyToken (if any).
1845         * SecureMessageGenerator.cs : largely done with DerivedKeyToken
1846           support. Some refactoring to distinguish deried-token-related
1847           variables.
1848         * SecureMessageDecryptor.cs : removed its own support for derived
1849           key tokens. Now it fully works with DerivedKeySecurityToken.
1850
1851 2007-02-21  Atsushi Enomoto  <atsushi@ximian.com>
1852
1853         * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
1854           SecureMessageDecryptor.cs :
1855           Implemented increment token reading in o:Security, as
1856           DerivedKeyToken could reference to existing wrapped key.
1857           Removed WsscDerivedKeyToken and all relevant code.
1858         * SecureMessageGenerator.cs : replaced WsscDerivedKeyToken with
1859           DerivedKeySecurityToken.
1860
1861 2007-02-16  Atsushi Enomoto  <atsushi@ximian.com>
1862
1863         * SecureMessageGenerator.cs : it was setting security tokens into
1864           incorrect SecurityMessageProperty.
1865           Use correct WrappedKeySecurityToken for EncryptedKeySHA1.
1866           Now it uses SecurityRequestContext instead of just primary key.
1867         * SecureMessageDecryptor.cs : removed extra lines. Limit workarounds
1868           to symmetric reply decryption, which is the only trouble case.
1869           Do not create another SignedXml.
1870         * WSSecurityMessageHeader.cs : SignedXml processing changes above.
1871
1872 2007-02-15  Atsushi Enomoto  <atsushi@ximian.com>
1873
1874         * SecureMessageDecryptor.cs : Now it uses union token resolver and
1875           the resolver works with in-progress token reading in o:Security.
1876         * WSSecurityMessageHeader.cs : now it does not read EncryptedKey
1877           as EncryptedKeyIdentifierClause. It is rather a SecurityToken.
1878         * SecureMessageGenerator.cs : cosmetic refactoring.
1879
1880 2007-02-14  Atsushi Enomoto  <atsushi@ximian.com>
1881
1882         * WSSecurityMessageHeader.cs : read EncryptedKeyIdentifierClause
1883           instead of EncryptedKey.
1884
1885 2007-02-13  Atsushi Enomoto  <atsushi@ximian.com>
1886
1887         * MessageSecurityBindingSupport.cs : SigningToken and EncryptionToken
1888           should not be always prepared at channel Open(). It also caused
1889           that extra token requirements.
1890         * SecureMessageGenerator.cs : use correct key clause for encryption.
1891         * SecureMessageDecryptor.cs : reduce extra key acquisition.
1892
1893 2007-02-06  Atsushi Enomoto  <atsushi@ximian.com>
1894
1895         * MessageSecurityBindingSupport.cs : added CreateTokenAuthenticator()
1896           for supporting 'supporting tokens' .
1897         * SecureMessageGenerator.cs : Supporting token creation is done only
1898           at initiator (not sure if it is supposed that, but for now it is).
1899           Removed extraneous CollectSupportingTokens().
1900         * SecureMessageDecryptor.cs : implemented supporting token
1901           authentication (partly). "Signed" supporting tokens are expected
1902           to work fine.
1903
1904 2007-02-06  Atsushi Enomoto  <atsushi@ximian.com>
1905
1906         * SecureMessageGenerator.cs :
1907           make SignBeforeEncryptAndEncryptSignature working.
1908
1909 2007-02-06  Atsushi Enomoto  <atsushi@ximian.com>
1910
1911         * SecureMessageGenerator.cs : EncryptedKeySHA1 needs key hash, not
1912           the key itself. ProtectionToken is WrappedKey.
1913         * SecureMessageDecryptor.cs : now it is internal encrypted key clause,
1914           not EncryptedKeyIdentifierClause which is not for embedded key.
1915         * MessageProperties.cs : Fixed copy direction in CopyProperties().
1916
1917 2007-02-05  Atsushi Enomoto  <atsushi@ximian.com>
1918
1919         * MessageSecurityBindingSupport.cs : added DefaultKeyWrapAlgorithm
1920           to switch asymmetric and symmetric. Not used yet.
1921         * SecurityRequestChannel.cs : now it pass the request security
1922           property to reply receiver so that it could use the primary key
1923           used at request phase.
1924         * SecurityRequestContext.cs : now it pass the context itself to
1925           reply sender so that it could embed related MessageID.
1926         * SecureMessageGenerator.cs : ongoing changes to support symmetric
1927           binding element. Add RelatesTo output and remove MessageID when
1928           replying to the sender. Added some hacks to get symmetric binding
1929           (kind of) working.
1930         * SecureMessageDecryptor.cs : ditto. Handle embedded encryption key
1931           in SecurityTokenReference (it also involved existing encrypted key 
1932           retrieval). In reply receiver, reuse the key that was used at
1933           request phase. It needs significant token resolution refactoring.
1934
1935 2007-02-02  Atsushi Enomoto  <atsushi@ximian.com>
1936
1937         * MessageSecurityBindingSupport.cs : cosmetic refactoring.
1938         * SecureMessageDecryptor.cs : store token and its authentication
1939           policies into the security property, and reuse it on reply.
1940           Some code refactoring; there is at most one o:Security to solve at
1941           one endpoint (depends on Actor). Some attempt to use correct
1942           token parameters (but for now I have only samples that use x509).
1943         * SecureMessageGenerator.cs : For replying message, use initiator's
1944           signing token as the encryption token. Simply reuse security
1945           property from the input message.
1946
1947           I have some nasty workaround at decryptor for initiator that could
1948           not retrieve decryption key.
1949
1950 2007-02-02  Atsushi Enomoto  <atsushi@ximian.com>
1951
1952         * SecureMessageGenerator.cs, SecurityChannelListener.cs,
1953           SecurityRequestContext.cs, MessageSecurityBindingSupport.cs:
1954           several refactoring on token acquisition. Large part of
1955           MessageSecurityBindingSupport code is unified.
1956
1957 2007-02-02  Atsushi Enomoto  <atsushi@ximian.com>
1958
1959         * MessageProperties.cs : Security property should be one of the items.
1960           Actually many other properties should be similar as well.
1961         * MessageImpl.cs, MessageBufferImpl.cs, Message.cs :
1962           when copying a message, copy properties as well.
1963         * SecurityRequestContext.cs : on replying, pass input 
1964           SecurityMessageProperty to the security generator.
1965         * SecureMessageGenerator.cs : both of above, for SignatureConfirmation
1966           support.
1967         * WSSecurityMessageHeader.cs : fixed lazy .ctor() that did nothing.
1968
1969 2007-02-01  Atsushi Enomoto  <atsushi@ximian.com>
1970
1971         * WSSignedXml.cs:
1972           MessageHeader.cs, Message.cs, WSSecurityMessageHeader.cs,
1973           SecureMessageDecryptor.cs, SecureMessageGenerator.cs:
1974           use new WSSignedXml instead of SignedXml, and remove coexisting
1975           Id and wsu:Id. Now we can live only with wsu:Id and therefore
1976           - our reply messages could be consumed by .NET, and
1977           - .NET signature could be verified.
1978
1979 2007-02-01  Atsushi Enomoto  <atsushi@ximian.com>
1980
1981         * SecureMessageDecryptor.cs : The signing key must be passed as
1982           CheckSignature() argument, not SigningKey.
1983
1984 2007-01-31  Atsushi Enomoto  <atsushi@ximian.com>
1985
1986         * MessageImpl.cs : don't read attribute after ReadStartElement().
1987
1988 2007-01-31  Atsushi Enomoto  <atsushi@ximian.com>
1989
1990         * MessageSecurityBindingSupport.cs : some Release() refactoring.
1991         * SecureMessageGenerator.cs : use correct signing key clause for
1992           SecurityTokenReferenceKeyInfo to be serialized.
1993         * SecureMessageDecryptor.cs : now it can try to parse signature.
1994
1995 2007-01-31  Atsushi Enomoto  <atsushi@ximian.com>
1996
1997         Ongoing changes to support signature confirmation
1998         * SecureMessageGenerator.cs :
1999           Don't output ReplyTo onto reply message.
2000           Write SignatureConfirmation if needed.
2001         * SecureMessageDecryptor.cs :
2002           Some refactoring for header cunsumption. Added commented-out
2003           signature verification part (not working yet, on client side due
2004           to incorrect reply from service and insufficient clause reader).
2005         * WSSecurityMessageHeader.cs :
2006           Added SignatureConfirmation support.
2007           KeyInfoClause for o:SecurityTokenReference should be replaced with
2008           SecurityTokenReferenceKeyInfo.
2009
2010 2007-01-29  Atsushi Enomoto  <atsushi@ximian.com>
2011
2012         * SecureMessageGenerator.cs : support Timestamp signature.
2013           Removed unused code, and extra argument in CreateReference().
2014         * WSSecurityMessageHeader.cs : Timestamp also needs Id for SignedXml.
2015
2016 2007-01-29  Atsushi Enomoto  <atsushi@ximian.com>
2017
2018         * SecureMessageGenerator.cs :
2019           Several fixes to make asymmetric binding working:
2020           - Differentiate signing and encryption token in several areas.
2021           - Fixed signing keyinfo.
2022           Use SenderIdPrefix.
2023           Added initial SecurityMessageProperty handling, not sure if it is
2024           appropriate here though.
2025         * HttpRequestChannel.cs : (some debugging lines)
2026
2027 2007-01-26  Atsushi Enomoto  <atsushi@ximian.com>
2028
2029         Woohoo! Here is a very basic WS-Security compliant message which could
2030         be allowed by Indigo.
2031         * MessageHeader.cs : added Id support for writing.
2032         * Message.cs : added internal BodyId for signature reference.
2033         * MessageImpl.cs : write Body Id if required.
2034         * SecureMessageGenerator.cs : Before signing, the target elements must
2035           be given wsu:Id. Since I still use System.Security.dll, I need some
2036           trick for signing (I give both Id and wsu:Id, former to sign and
2037           latter to be consumed). Maybe I will have to replace xmldsig/xmlenc
2038           implementation later. Now singning mechanism works except for
2039           wsu:Timestamp (which is kind of mandatory).
2040
2041         I can's still consume replies from Indigo but it's a big progress :)
2042
2043 2007-01-26  Atsushi Enomoto  <atsushi@ximian.com>
2044
2045         * MessageHeaderInfo.cs : added internal Id.
2046         * MessageHeader.cs : read and write wsu:Id.
2047         * Message.cs : output wsu namespace if Id exists in any header.
2048         * HttpReplyChannel.cs : (some debugging lines.)
2049         * SecureMessageDecryptor.cs : (remove debugging lines.)
2050         * MessageImpl.cs : removed obsolete code.
2051         * WSSecurityMessageHeader.cs : output "o" prefix.
2052         * SecureMessageGenerator.cs : replaced XmlElement-based header
2053           signing with MessageHeader-based signing, to support Id correctly.
2054
2055 2007-01-15  Atsushi Enomoto  <atsushi@ximian.com>
2056
2057         * SecureMessageGenerator.cs : some more refactoring and code comments.
2058         * MessageSecurityUtility.cs : made decryptor into an instance class,
2059           like I've done for SecureMessageGenerator.
2060         * SecurityRequestContext.cs, SecurityRequestChannel.cs :
2061           dependent changes for above.
2062
2063 2007-01-12  Atsushi Enomoto  <atsushi@ximian.com>
2064
2065         * SecureMessageGenerator.cs : fixed derived keysize. derived key was
2066           causing NRE due to the lack of token reference.
2067           No need to pass doc to SignedXml.ctor() anymore.
2068           Moved ReferenceList before the signature(s).
2069
2070 2007-01-12  Atsushi Enomoto  <atsushi@ximian.com>
2071
2072         * SecureMessageGenerator.cs : add wsu:Timestamp to signing target.
2073           Moved signing key generation code to non-HMACSHA1 signing part.
2074           Don't try to sign wss:Security.
2075           Pass document itself to SignedXml.ctor().
2076           Use temporary DataObjects to avoid adding Ids (not sure what is the
2077           expected processing yet).
2078         * WSSecurityMessageHeader.cs : to support timestamp signing, add
2079           WriteTo() method in WsuTimestamp.
2080
2081 2007-01-12  Atsushi Enomoto  <atsushi@ximian.com>
2082
2083         * SecureMessageGenerator.cs : wrong key was used for signing.
2084           Omit KeyInfo for now - it seems that .net (sometimes?) omits it.
2085
2086 2007-01-11  Atsushi Enomoto  <atsushi@ximian.com>
2087
2088         * SecureMessageGenerator.cs :
2089           Now ID generation process does not modify input message.
2090           Moved derived key generation part into (virtual) signing loop.
2091           MessagePartSpecification support for signing is done.
2092
2093 2007-01-11  Atsushi Enomoto  <atsushi@ximian.com>
2094
2095         * SecureMessageGenerator.cs : some reordering to handle signing and
2096           encryption with supporting tokens. Fixed XPath query bug for
2097           soap header contents (we want s:Header/*, not s:Header).
2098
2099 2007-01-11  Atsushi Enomoto  <atsushi@ximian.com>
2100
2101         * MessageSecurityBindingSupport.cs : more refactoring.
2102           Made it abstract and added Initiator- and Recipient- classes.
2103           Several members were moved to those derived types.
2104         * AsymmetricSecurityBindingElement.cs, 
2105           SymmetricSecurityBindingElement.cs
2106           SecurityChannelFactory.cs, SecurityChannelListener.cs,
2107           SecurityRequestChannel.cs, SecurityOutputChannel.cs,
2108           SecurityRequestContext.cs, SecureMessageGenerator.cs :
2109           All dependent changes by above. Removed ISecurityChannelSource
2110           which became useless.
2111
2112 2007-01-11  Atsushi Enomoto  <atsushi@ximian.com>
2113
2114         * SecureMessageGenerator.cs : encryption parts should exist too.
2115         * AsymmetricSecurityBindingElement.cs
2116           SymmetricSecurityBindingElement.cs,
2117           MessageSecurityBindingSupport.cs : some refactoring.
2118           Split MessageSecurityBindingSupport into security binding element
2119           specific parts and made MessageSecurityBindingSupport concrete.
2120           It is likely split again, next time based on initiator/recipient.
2121
2122 2007-01-11  Atsushi Enomoto  <atsushi@ximian.com>
2123
2124         * MessageSecurityUtility.cs, SecureMessageGenerator.cs :
2125           split encryptor part in the former file into latter file, and
2126           make it nonstatic.
2127         * SecurityRequestChannel.cs, SecurityOutputChannel.cs,
2128           SecurityRequestContext.cs : apply the change above.
2129
2130 2007-01-11  Atsushi Enomoto  <atsushi@ximian.com>
2131
2132         * MessageSecurityBindingSupport.cs :
2133           Fixed incorrect TrgGetValue() use.
2134           Added CollectRecipientSupportingTokens().
2135
2136 2007-01-11  Atsushi Enomoto  <atsushi@ximian.com>
2137
2138         * MessageSecurityUtility.cs: acctually ReferenceList was inside
2139           EncryptedKey. So, when a key itself is used to encrypt data,
2140           ReferenceList is contained by itself.
2141         * MessageSecurityBindingSupport.cs :
2142           added CollectInitiatorSupportingTokens().
2143
2144 2007-01-10  Atsushi Enomoto  <atsushi@ximian.com>
2145
2146         * MessageSecurityUtility.cs: it should support ReferenceList-less
2147           messages.
2148
2149 2007-01-10  Atsushi Enomoto  <atsushi@ximian.com>
2150
2151         * WSSecurityMessageHeader.cs : reverted previous unnecessary change.
2152         * MessageSecurityUtility.cs : there already was uuid.
2153
2154 2007-01-09  Atsushi Enomoto  <atsushi@ximian.com>
2155
2156         * MessageSecurityUtility.cs : replaced EncryptedKey with
2157           WrappedKeySecurityToken, which seems to be in actual use in .net.
2158         * WSSecurityMessageHeader.cs : added internal Guid so that it
2159           could be shared between header items.
2160
2161 2006-12-14  Atsushi Enomoto  <atsushi@ximian.com>
2162
2163         * HttpRequestContext.cs, TextMessageEncoder.cs :
2164           some null arg check.
2165
2166 2006-12-08  Atsushi Enomoto  <atsushi@ximian.com>
2167
2168         * MessageSecurityUtility.cs : reducing DOM dependency. Use KeyInfoNode
2169           for SecurityTokenReference resolution.
2170
2171 2006-12-08  Atsushi Enomoto  <atsushi@ximian.com>
2172
2173         * MessageSecurityUtility.cs : fixed EncryptedData decryption to
2174           consider DerivedKeyTokens correctly.
2175           When creating LocalId, don't add '#' here.
2176
2177 2006-12-07  Atsushi Enomoto  <atsushi@ximian.com>
2178
2179         * MessageSecurityUtility.cs :
2180           handle key mapping for each wsse:Security.
2181
2182 2006-12-07  Atsushi Enomoto  <atsushi@ximian.com>
2183
2184         * WSSecurityMessageHeader.cs : use prefix "c" for ws-secureconv.
2185
2186 2006-12-06  Atsushi Enomoto  <atsushi@ximian.com>
2187
2188         * WSSecurityMessageHeader.cs : write top-level ReferenceList in
2189           wsse:Security.
2190         * MessageSecurityUtility.cs :
2191           Now ReferenceList is placed under wsse:Security as WS-Security 1.1 
2192           suggests, and it is used to dereference decryption targets.
2193           Now it premises multiple wsse:Security elements to read.
2194
2195 2006-12-06  Atsushi Enomoto  <atsushi@ximian.com>
2196
2197         * WSSecurityMessageHeader.cs : don't write o:SecurityTokenReference
2198           manually (and actually the namespace URI was wrong).
2199
2200 2006-12-06  Atsushi Enomoto  <atsushi@ximian.com>
2201
2202         * WSSecurityMessageHeader.cs : improved DerivedKeyToken writing
2203           and reading.
2204         * MessageSecurityUtility.cs : DerivedKeyToken creation.
2205
2206 2006-12-06  Atsushi Enomoto  <atsushi@ximian.com>
2207
2208         * SecurityBindingElement.cs,
2209           SymmetricSecurityBindingElement.cs,
2210           AsymmetricSecurityBindingElement.cs :
2211           implemented SetKeyDerivation().
2212
2213 2006-12-06  Atsushi Enomoto  <atsushi@ximian.com>
2214
2215         * MessageSecurityUtility.cs : don't add KeyInfoClause to EncryptedKey
2216           more than once.
2217
2218 2006-12-06  Atsushi Enomoto  <atsushi@ximian.com>
2219
2220         * MessageBufferImpl.cs : XmlReader-based buffer is not possible, so
2221           don't use it.
2222
2223 2006-12-05  Atsushi Enomoto  <atsushi@ximian.com>
2224
2225         * MessageSecurityUtility.cs : u:Timestamp will be encrypted/signed,
2226           thus move it in front of encryption/signing.
2227
2228 2006-12-04  Atsushi Enomoto  <atsushi@ximian.com>
2229
2230         * TransactionFlowBindingElement.cs : OnOpen()/OnClose() should not
2231           check state by themselves (btw it's not really working).
2232         * HttpChannelListener.cs : If the url does not end with '/' add it
2233           so that it could be fed to HttpListener.
2234
2235 2006-12-04  Atsushi Enomoto  <atsushi@ximian.com>
2236
2237         * HttpChannelFactory.cs : check scheme on CreateChannel.
2238         * MessageHeader.cs : finish IsMessageVersionSupported().
2239
2240 2006-12-04  Atsushi Enomoto  <atsushi@ximian.com>
2241
2242         * FaultConverter.cs : new file, not used yet though.
2243
2244 2006-10-21  Atsushi Enomoto  <atsushi@ximian.com>
2245
2246         * SvcHttpHandler.cs : set GET URL to ServiceMetadataBehavior.
2247
2248 2006-10-20  Atsushi Enomoto  <atsushi@ximian.com>
2249
2250         * SvcHttpHandler.cs : once AspNetReplyChannel get working with HTTP
2251           GET as well as HttpReplyChannel, configuration would be ready now.
2252
2253 2006-10-18  Ankit Jain  <jankit@novell.com>
2254
2255         * TextMessageEncoder.cs (MediaType): Use 'application/soap+xml' for
2256         EnvelopeVersion.Soap12 and 'text/xml' for others.
2257         * HttpReplyChannel.cs (TryReceiveRequest): Revert earlier patch for GET
2258         handling.
2259         Strip '?' from the query string.
2260
2261 2006-10-13  Ankit Jain  <jankit@novell.com>
2262
2263         * MessageVersion.cs (None): Set AddressingVersion.None
2264
2265 2006-10-12  Atsushi Enomoto  <atsushi@ximian.com>
2266
2267         * SvcHttpHandler.cs : added config-based endpoint addition code.
2268           Though due to some weird bug in mono-core it does not seem to work,
2269           so commented out for now.
2270         * HttpReplyChannel.cs : handle wsdl query parameter. btw creating
2271           mex request message might just be wrong.
2272           Use expected MessageVersion by the channel.
2273         * AspNetReplyChannel.cs : ditto. Plus, HTTP GET support.
2274
2275 2006-10-12  Atsushi Enomoto  <atsushi@ximian.com>
2276
2277         * MessageSecurityBindingSupport.cs : added DefaultSignatureAlgorithm
2278           which differs depending on whether it is asymmetric or symmetric.
2279         * SecurityRequestChannel.cs, SecurityRequestContext.cs :
2280           simplify SecureMessage() and DecryptMessage() arguments (just
2281           take MessageSecurityBindingSupport instead of several parameters).
2282         * MessageSecurityUtility.cs :
2283           - simplify SecureMessage() and DecryptMessage() arguments (just
2284             take MessageSecurityBindingSupport instead of several parameters).
2285           - Take token inclusion mode into account. Don't include them when
2286             it is not expected. Also, change the token reference style.
2287           - add wsa:MessageID to the headers.
2288           - For hmac-sha1 signing (default for symmetric binding), use
2289             symmetric key created for encryption as well to create HMACSHA1.
2290           - add Id to wsu:Timestamp.
2291           - start to handle SecurityMessageProperty.
2292         * WSSecurityMessageHeader.cs :
2293           Added Id to WsuTimestamp. Also use prefixes for its XML output.
2294           Changed date format.
2295
2296 2006-10-06  Atsushi Enomoto  <atsushi@ximian.com>
2297
2298         * CommunicationObject.cs : reject faulted state on Open()/Close().
2299         * MessageHeaders.cs : removed extra fields.
2300
2301 2006-10-06  Ankit Jain  <jankit@novell.com>
2302
2303         * HttpReplyChannel.cs (TryReceiveRequest): Handle HTTP GET.
2304
2305 2006-10-05  Atsushi Enomoto  <atsushi@ximian.com>
2306
2307         * MessageSecurityUtility.cs, SecurityRequestContext.cs :
2308           added some FIXMEs and additional arg.
2309
2310 2006-10-05  Atsushi Enomoto  <atsushi@ximian.com>
2311
2312         * MessageSecurityUtility.cs : remove duplicate Action header.
2313
2314 2006-10-05  Atsushi Enomoto  <atsushi@ximian.com>
2315
2316         * MessageFault.cs : partly implemented CreateFault(Message, int).
2317         * Message.cs, MessageImpl.cs, MessageBufferImpl.cs :
2318           handle IsFault correctly in each implementation.
2319
2320 2006-10-04  Ankit Jain  <jankit@novell.com>
2321
2322         * HttpRequestChannel.cs (ProcessRequest): Read till the end.
2323
2324 2006-10-04  Ankit Jain  <jankit@novell.com>
2325
2326         * HttpRequestChannel.cs (ProcessRequest): Temporary workaround for a bug
2327         in WebConnectionStream.
2328
2329 2006-10-04  Ankit Jain  <jankit@novell.com>
2330
2331         * MessageHeaders.cs (To): Use GetHeader<string> till
2332         DataContractSerializer gets ISerializable support.
2333         * CustomBinding.cs (.ctor): Get scheme from TransportBindingElement.
2334
2335 2006-10-04  Ankit Jain  <jankit@novell.com>
2336
2337         * ServiceHostParser.cs (Parse):
2338         (Split): Add some error checks.
2339
2340 2006-10-03  Atsushi Enomoto  <atsushi@ximian.com>
2341
2342         * SslStreamSecurityBindingElement.cs : updated API to Sep. CTP.
2343         * StreamUpgradeAcceptor.cs : Fix AcceptUpgrade().
2344         * SslStreamSecurityUpgradeProvider.cs,
2345           SslStreamSecurityUpgradeAcceptor.cs :
2346           new files for Ssl upgrade provider implementation.
2347         * MessageSecurityUtility.cs :
2348           Create proper C14NTransform. Don't use enveloped signature
2349           transform but sign every significant bits. On securing messages
2350           use ChannelProtectionRequirements.
2351         * SecurityRequestContext.cs : pass ChannelProtectionRequirements to
2352           SecureMessage().
2353         * MessageEncoder.cs : fix API (missing constraint).
2354         * WSSecurityMessageHeader.cs : it is MustUnderstand.
2355         * StreamUpgradeProvider.cs : API fix and implemented .ctor().
2356         * AsymmetricSecurityBindingElement.cs : default protection order is
2357           SignBeforeEncryptAndEncryptSignature.
2358
2359 2006-09-29  Ankit Jain  <jankit@novell.com>
2360
2361         * SvcHttpHandlerFactory.cs (GetTypeFromSvc): Extract and move code to
2362         ServicHostParser and use that here.
2363         (PrivateBinPath): New.
2364         (GetTypeFromBin): New. Load assembly from PrivateBinPath.
2365         (RemovedCallback): Remove and close the SvcHttpHandler when its
2366         corresponding file (.svc) changes.
2367         * SvcHttpHandler.cs (Close): New. Close the ServiceHost.
2368
2369         * ServiceHostParser.cs : New.
2370         * CachingCompiler.cs : New. Code extracted from
2371         System.Web.Compilation.CachingCompiler
2372         * CompilationException.cs : New. From System.Web.Compilation
2373         * HtmlizedException.cs : New. Likewise.
2374
2375 2006-09-29  Atsushi Enomoto  <atsushi@ximian.com>
2376
2377         * MessageSecurityBindingSupport.cs : For client side, it is always
2378           InitiatorServiceModelSecurityTokenRequirement which should be
2379           created. Fixed wrong client encryption key acquisition.
2380
2381 2006-09-29  Atsushi Enomoto  <atsushi@ximian.com>
2382
2383         * SecurityChannelListener.cs, SecurityRequestContext.cs,
2384           MessageSecurityBindingSupport.cs : made similar changes as factories
2385           to listener so that session channels and input channels would work.
2386           Added authenticator creation.
2387
2388 2006-09-29  Atsushi Enomoto  <atsushi@ximian.com>
2389
2390         * Binding.cs : added missing members.
2391
2392 2006-09-28  Atsushi Enomoto  <atsushi@ximian.com>
2393
2394         * SecurityRequestChannel.cs, SecurityOutputChannel.cs,
2395           MessageSecurityUtility.cs, MessageSecurityBindingSupport.cs :
2396           reduce code duplication between request and output channels.
2397           The common parts are now in MessageSecurityBindingSupport.
2398           Now reduced several arguments in SecureMessage() for client.
2399
2400 2006-09-28  Atsushi Enomoto  <atsushi@ximian.com>
2401
2402         * ChannelFactoryBase.cs : implemented ValidateCreateChannel().
2403
2404 2006-09-28  Atsushi Enomoto  <atsushi@ximian.com>
2405
2406         * AsymmetricSecurityBindingElement.cs,
2407           SecurityChannelListener.cs,
2408           SecurityRequestContext.cs,
2409           SymmetricSecurityBindingElement.cs,
2410           SecurityRequestChannel.cs,
2411           SecurityOutputChannel.cs,
2412           SecurityChannelFactory.cs,
2413           MessageSecurityBindingSupport.cs : 1) Refactoring. 
2414           IMessageSecurityBindingSupport now becomes a class and contains
2415           all the members which resided in ISecurityChannelSource.
2416           Now it takes more constructor params.
2417           Made dependent changes on all sources above.
2418
2419           2) Added SecurityTokenAuthenticator creation in
2420           SecurityRequestChannel (SecurityOutputChannel should do the same).
2421
2422 2006-09-27  Atsushi Enomoto  <atsushi@ximian.com>
2423
2424         * SecurityRequestChannel.cs : ongoing improvements on conditional
2425           key creation. Actually there must be some part that creates an
2426           authenticator (WinFX does that).
2427
2428 2006-09-27  Ankit Jain  <jankit@novell.com>
2429
2430         Add suport for handling .svc files.
2431         * SvcHttpHandlerFactory.cs: New.
2432         * SvcHttpHandler.cs: New.
2433
2434         * HttpChannelListener.cs (PopulateChannel): Use AspNetReplyChannel if in
2435         asp.net environment.
2436         (OnOpen): Do nothing in asp.net environment.
2437         (OnClose): Likewise.
2438         * HttpReplyChannel.cs (HttpRequestContext): Move to ..
2439         * HttpRequestContext.cs: .. here.
2440
2441         * AspNetReplyChannel.cs: New.
2442         * AspNetRequestContext.cs: New.
2443
2444 2006-09-26  Atsushi Enomoto  <atsushi@ximian.com>
2445
2446         * MessageSecurityUtility.cs :
2447           Significantly rewritten decryption parts to respect ReferenceList
2448           to decrypt (so no workaround anymore).
2449           Now e:ReferenceList inside o:Security is treated as the referenced
2450           EncryptedType items are encrypted by 1) the derived key which is
2451           immediately in front of it, or 2) the default key (it is according
2452           to WS-SecureConversation section 9.1). Thus removed immediately
2453           previous hack to auto-fill wsu:Id attributes.
2454
2455           On securing a message, generate correct Id and add DataReference
2456           to ReferenceList properly.
2457
2458 2006-09-26  Atsushi Enomoto  <atsushi@ximian.com>
2459
2460         * WSSecurityMessageHeader.cs : handle ReferenceList. It is being
2461           practically used.
2462
2463 2006-09-26  Atsushi Enomoto  <atsushi@ximian.com>
2464
2465         * WSSecurityMessageHeader.cs : handle DerivedKeyToken as a header content.
2466           Actually WSSecurityTokenSerializer should be able to consume it, but after
2467           spending a lot of time I still cannot successfully read it on WinFX.
2468           Skip ReferenceList for now.
2469         * MessageSecurityUtility.cs :
2470           Replaced some string literals with constants.
2471           Added some workaround for DerivedKeyToken retrieval.
2472           WinFX somehow sends incomplete ISO10126 padding which contains
2473           bigger number than the key size and is rejected by EncryptedXml,
2474           so added DecryptLax() which processes such ones in PaddingMode.None
2475           to workaround it (only for cross-connection between mono and winfx).
2476           Added some incomplete implicit wsu:Id processing.
2477           Don't try to replace SignedXml with EncryptedData. It is not added
2478           to the document tree.
2479
2480 2006-09-25  Atsushi Enomoto  <atsushi@ximian.com>
2481
2482         * MessageSecurityUtility.cs : support message signature encryption. Some
2483           more refactoring.
2484
2485 2006-09-22  Atsushi Enomoto  <atsushi@ximian.com>
2486
2487         * SecurityBindingElement.cs : implement Clone(). Remove some MonoTODOs.
2488
2489 2006-09-22  Atsushi Enomoto  <atsushi@ximian.com>
2490
2491         * MessageSecurityUtility.cs : fix warnings.
2492
2493 2006-09-22  Atsushi Enomoto  <atsushi@ximian.com>
2494
2495         * MessageSecurityUtility.cs : actually there would be more than one
2496           EncryptedData. Decrypt all.
2497
2498 2006-09-22  Atsushi Enomoto  <atsushi@ximian.com>
2499
2500         * MessageSecurityUtility.cs : supply correct URIs in SecureMessage().
2501           Use ISO10126 padding mode (it is not required but in manner).
2502
2503 2006-09-21  Atsushi Enomoto  <atsushi@ximian.com>
2504
2505         * MessageSecurityUtility.cs : now that EncryptedXml decryption bug is
2506           fixed, remove 16 bytes workaround (we still need encryption bugfix in
2507           that class to make it work fine with mono client).
2508           Removed buggy lines that reset decryption key to AES.
2509           Modified GetKey() argument to take EncryptedData/EncryptedKey element.
2510         * WSSecurityMessageHeader.cs :
2511           (SecurityTokenReferenceKeyInfo) support LoadXml.
2512
2513 2006-09-20  Atsushi Enomoto  <atsushi@ximian.com>
2514
2515         * TransactionMessageProperty.cs : new file.
2516
2517 2006-09-20  Atsushi Enomoto  <atsushi@ximian.com>
2518
2519         * ChannelPoolSettings.cs, OneWayBindingElement.cs : build fix, as
2520           gmcs happened to report wrong code.
2521
2522 2006-09-19  Atsushi Enomoto  <atsushi@ximian.com>
2523
2524         * SecurityChannelFactory.cs, SecurityChannelListener.cs :
2525           .ctor() now requires ChannelProtectionRequirements which will be
2526           supplied via BindingParameterCollection.
2527         * SymmetricSecurityBindingElement.cs,
2528           AsymmetricSecurityBindingElement.cs : thus add
2529           ChannelProtectionRequirement parameter to factory/listener.
2530         * SecurityRequestChannel.cs : use recipient token requirement to
2531           create an encryption token. Thus differentiate the logic from
2532           signing (initiator) token.
2533
2534 2006-09-19  Atsushi Enomoto  <atsushi@ximian.com>
2535
2536         * SymmetricSecurityChannelFactory.cs, SecurityChannelFactory.cs :
2537           renamed former to latter.
2538         * SymmetricSecurityChannelListener.cs, SecurityChannelListener.cs :
2539           ditto.
2540
2541 2006-09-19  Atsushi Enomoto  <atsushi@ximian.com>
2542
2543         * MessageSecurityBindingSupport.cs : new internal types to commonize
2544           AsymmetricSecurityBindingElement and SymmetricSecurityBindingElement
2545           and thus make internal factory and listener reusable.
2546         * SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs,
2547           SecurityRequestChannel.cs, SecurityOutputChannel.cs,
2548           SymmetricSecurityChannelListener.cs : rewrote dependent parts on
2549           SymmetricSecurityBindingElement, using the new types above.
2550         * SymmetricSecurityBindingElement.cs :
2551           Use SymmetricMessageSecurityBindingSupport.
2552         * AsymmetricSecurityBindingElement.cs :
2553           thus implemented, using AsymmetricMessageSecurityBindingSupport.
2554
2555 2006-09-19  Atsushi Enomoto  <atsushi@ximian.com>
2556
2557         * ChannelFactoryBase.cs : more RC1 update.
2558
2559 2006-09-19  Atsushi Enomoto  <atsushi@ximian.com>
2560
2561         * MessageEncoder.cs, BinaryMessageEncoder.cs, MtomMessageEncoder.cs,
2562           TextMessageEncoder.cs : updated ReadMessage() API to RC1.
2563         * ChannelListenerBase.cs, ChannelListenerBase_1.cs,
2564           ChannelBase.cs : RC1 API updates.
2565         * MessageImpl.cs : implemented Properties.
2566         * HttpReplyChannel.cs : added HttpRequestMessageProperty support.
2567
2568 2006-09-18  Ankit Jain  <jankit@novell.com>
2569
2570         * MessageHeaders.cs (MessageId):
2571         (RelatesTo): UniqueId is not serializable, serialize it as a string.
2572
2573 2006-09-17  Atsushi Enomoto  <atsushi@ximian.com>
2574
2575         * ChannelParameterCollection.cs : new file.
2576         * LayeredOutputChannel.cs, SecurityOutputChannel.cs :
2577           new files for IOutputChannel implementation.
2578         * OneWayBindingElement.cs : hacky implementation.
2579         * SymmetricSecurityChannelFactory.cs : support IOutputChannel.
2580         * MessageSecurityUtility.cs : now create identifier from the security
2581           token and the token parameters which is added as an argument.
2582         * SecurityRequestContext.cs,
2583           SecurityRequestChannel.cs : SecureMessage() argument changes.
2584           Set MessageSecurityVersion (SecurityTokenVersion) to the token
2585           requirement.
2586
2587 2006-09-17  Atsushi Enomoto  <atsushi@ximian.com>
2588
2589         * HttpRequestChannel.cs : close the HttpWebRequest.
2590
2591 2006-09-17  Atsushi Enomoto  <atsushi@ximian.com>
2592
2593         * HttpRequestChannel.cs,
2594           HttpChannelFactory.cs : implement async request/reply.
2595         * HttpChannelFactory.cs :
2596           verify factory state when creating a channel.
2597
2598 2006-09-17  Atsushi Enomoto  <atsushi@ximian.com>
2599
2600         * MessageEncoder.cs, TextMessageEncoder.cs, MtomMessageEncoder.cs,
2601           BinaryMessageEncoder.cs : added message version mismatch check.
2602
2603 2006-09-15  Atsushi Enomoto  <atsushi@ximian.com>
2604
2605         * SymmetricSecurityChannelListener.cs, SecurityRequestContext.cs :
2606           Making incomplete changes to handle different tokens for encryption
2607           and signature.
2608         * SymmetricSecurityChannelFactory.cs, SecurityRequestChannel.cs :
2609           split channel implementation classes out to the latter file.
2610         * MessageSecurityUtility.cs : seems like there is
2611           TimeStampValidityDuration property, so use it (incomplete; a server
2612           needs another love).
2613
2614 2006-09-12  Atsushi Enomoto  <atsushi@ximian.com>
2615
2616         * MessageSecurityUtility.cs, SymmetricSecurityChannelFactory.cs,
2617           SecurityRequestContext.cs : now that we have key identifier clause
2618           and working ResolveKeyIdentifierClause(), just create keys inside
2619           SecureMessage(). Add KeyInfo to the xmldsig.
2620
2621 2006-09-12  Atsushi Enomoto  <atsushi@ximian.com>
2622
2623         * SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs :
2624           pass SecurityKeyIdentifierClause to SecureMessage().
2625         * SecurityBindingElement.cs : set X509ReferenceStyle as Thumbprint
2626           for IssuedToken binding element.
2627         * SymmetricSecurityChannelListener.cs : removed hack to just create
2628           X509 security token, and implemented correct token creation.
2629         * WSSecurityMessageHeader.cs : added new KeyInfoClause type that
2630           wraps SecurityTokenReference element.
2631         * MessageSecurityUtility.cs : use the above.
2632
2633 2006-09-08  Atsushi Enomoto  <atsushi@ximian.com>
2634
2635         * MessageSecurityUtility.cs : raise MessageSecurityException when it
2636           could not find a security header.
2637         * SymmetricSecurityChannelFactory.cs : now it also supports
2638           IRequestSessionChannel. Extracted SecurityRequestChannel out from
2639           the factory type.
2640
2641 2006-09-08  Atsushi Enomoto  <atsushi@ximian.com>
2642
2643         * SecurityRequestContext.cs : moved securing message part to
2644           MessageSecurityUtility.cs.
2645         * MessageSecurityUtility.cs : the change above.
2646           use DateTime.Now for timestamp basis. Don't append signature to
2647           the document. Instead it is added to the header. Capture body
2648           content instead of the body itself.
2649         * SymmetricSecurityChannelFactory.cs : decrypt reply message to
2650           be processed by upper layers.
2651
2652 2006-09-08  Atsushi Enomoto  <atsushi@ximian.com>
2653
2654         * MessageSecurityUtility.cs, WSSecurityMessageHeader.cs,
2655           SymmetricSecurityChannelListener.cs,
2656           SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs :
2657           more refactoring. Request serialization became much more conformant
2658           and add required header items.
2659           Security Token retrieval is needed to send it in the request.
2660           Fixed wrong key encryption.
2661
2662 2006-09-07  Atsushi Enomoto  <atsushi@ximian.com>
2663
2664         * SecurityRequestContext.cs : the workaround was not functional.
2665
2666 2006-09-07  Atsushi Enomoto  <atsushi@ximian.com>
2667
2668         * SecurityRequestContext.cs : some more refactoring. Use EncryptedXml
2669           API, especially ReplaceData(), instead of native crypto stuff.
2670         * WSSecurityMessageHeader.cs : handle dsig:Signature as well (for
2671           MessageProtectionOrder.SignBeforeEncrypt).
2672
2673 2006-09-07  Atsushi Enomoto  <atsushi@ximian.com>
2674
2675         * SecurityRequestContext.cs : label should be combined of both
2676           the client's and the server's.
2677
2678 2006-09-06  Atsushi Enomoto  <atsushi@ximian.com>
2679
2680         * SecurityRequestContext.cs : enable key derivation (though for now
2681           GenerateDerivedKey() is unimplemented). Create meaningful,
2682           decrypted request message to be consumed by the upper layer.
2683
2684 2006-09-06  Atsushi Enomoto  <atsushi@ximian.com>
2685
2686         * SecurityRequestContext.cs : implement Close() and Reply().
2687           ongoing implementation of Reply(TimeSpan).
2688         * MessageSecurityUtility.cs : new file to collect utility methods.
2689         * SymmetricSecurityChannelFactory.cs : moved securing message code
2690           to the above file.
2691         * SymmetricSecurityChannelListener.cs : tiny renaming.
2692
2693 2006-09-06  Atsushi Enomoto  <atsushi@ximian.com>
2694
2695         * SecurityRequestContext.cs : security header is also stored.
2696           removed NotImpl.
2697         * WSSecurityMessageHeader.cs : read EncryptedKey and EncryptedData
2698           as well.
2699
2700 2006-09-06  Atsushi Enomoto  <atsushi@ximian.com>
2701
2702         * SymmetricSecurityChannelFactory.cs : tiny progress on securing
2703           message.
2704
2705 2006-09-05  Atsushi Enomoto  <atsushi@ximian.com>
2706
2707         * SymmetricSecurityChannelFactory.cs : specify KeyUsage.Exchange
2708           so that it retrieves the security key in that manner.
2709
2710 2006-09-05  Atsushi Enomoto  <atsushi@ximian.com>
2711
2712         * Binding.cs : MessageVersion is null when there is no
2713           MessageEncodingBindingElement.
2714         * Message.cs : null arg check.
2715
2716 2006-09-05  Atsushi Enomoto  <atsushi@ximian.com>
2717
2718         * ChannelPoolSettings.cs, OneWayBindingElement.cs : new files.
2719
2720 2006-09-04  Atsushi Enomoto  <atsushi@ximian.com>
2721
2722         * SymmetricSecurityChannelListener.cs, SecurityRequestContext.cs, 
2723           LayeredReplyChannel.cs, LayeredCommunicationObject.cs,
2724           LayeredRequestChannel.cs : some refactoring.
2725         * SymmetricSecurityChannelFactory.cs :
2726           ongoing secure message creation implementation.
2727
2728 2006-09-01  Atsushi Enomoto  <atsushi@ximian.com>
2729
2730         * SymmetricSecurityBindingElement.cs :
2731           pass specific ServiceCredentialsSecurityTokenManager type to
2732           SymmetricSecurityChannelListener as it needs ServiceCertificate.
2733         * SymmetricSecurityChannelListener.cs :
2734           get service certificate. It's a temporary hack.
2735           Move RequestContext code to below.
2736         * SecurityRequestContext.cs : new file.
2737         * WSSecurityMessageHeader.cs : implementing Read(), but to finish
2738           it I have to finish decryption of the incoming message.
2739
2740 2006-08-31  Atsushi Enomoto  <atsushi@ximian.com>
2741
2742         * MessageImpl.cs : don't write attributes on the first body content
2743           element *on soap Body element*.
2744         * MessageBufferImpl.cs : don't throw ArgumentNullException.
2745           ObjectDisposedException is appropriate.
2746         * MessageHeader.cs : (RawMessageHeader) don't write element itself
2747           in OnWriteHeader*Contents*().
2748
2749 2006-08-31  Atsushi Enomoto  <atsushi@ximian.com>
2750
2751         * WSSecurityMessageHeader.cs : new file.
2752         * SymmetricSecurityChannelFactory.cs :
2753           moved WSSecurityHeader and related types to the above.
2754         * SymmetricSecurityChannelListener.cs :
2755           reject SOAP-env-less message.
2756
2757 2006-08-31  Atsushi Enomoto  <atsushi@ximian.com>
2758
2759         * SecurityChannelListener.cs, SymmetricSecurityChannelListener.cs :
2760           renamed former to latter.
2761         * SymmetricSecurityChannelFactory.cs :
2762           create requirements every time. It is also likely that I need
2763           another requirement instance to get service credentials here.
2764
2765 2006-08-30  Atsushi Enomoto  <atsushi@ximian.com>
2766
2767         * SymmetricSecurityBindingElement.cs : make BuildChannelListener()
2768           similar to BuildChannelFactory() (set credentials, issuer binding
2769           context etc.).
2770         * SecurityChannelListener.cs :
2771           more ongoing security support implementation.
2772         * SymmetricSecurityChannelFactory.cs :
2773           moved GetSecurityKey() to SymmetricSecurityRequestChannel.
2774
2775 2006-08-29  Atsushi Enomoto  <atsushi@ximian.com>
2776
2777         * SecurityChannelListener.cs, SymmetricSecurityBindingElement.cs :
2778           Renamed SecurityChannelListener to SymmetricSecurityChannelListener.
2779           Implementation is underway.
2780         * LayeredReplyChannel.cs :
2781           like LayeredRequestChannel, use ChannelListenerBase to provide
2782           default timeouts.
2783
2784 2006-08-29  Atsushi Enomoto  <atsushi@ximian.com>
2785
2786         * MessageHeader.cs : added another implementation type that uses
2787           XmlElement, for buffering purpose.
2788         * MessageImpl.cs : Header item types are user-driven by
2789           MessageHeader.GetHeader<T>(int), so at storing phase just store
2790           nodes as XmlElement.
2791         * MessageHeaders.cs : avoid dumping XmlNode to string to create
2792           another XmlReader.
2793
2794 2006-08-28  Atsushi Enomoto  <atsushi@ximian.com>
2795
2796         * SymmetricSecurityBindingElement.cs : find ClientCredentials from
2797           BindingParameterCollection, not from binding element properties.
2798
2799 2006-08-28  Atsushi Enomoto  <atsushi@ximian.com>
2800
2801         * SecurityChannelFactory.cs, SymmetricSecurityChannelFactory.cs :
2802           renamed former to latter.
2803
2804 2006-08-25  Atsushi Enomoto  <atsushi@ximian.com>
2805
2806         * SecurityBindingElement.cs : SetIssuerBindingContext should also
2807           work for SslSecurityTokenParameters.
2808
2809 2006-08-24  Atsushi Enomoto  <atsushi@ximian.com>
2810
2811         * SecurityBindingElement.cs :
2812           Added SetIssuerBindingContextIfRequired().
2813         * SecurityChannelFactory.cs :
2814           Changed .ctor() arg again, just to receive binding element.
2815         * SymmetricSecurityBindingElement.cs :
2816           Call SetIssuerBindingContextIfRequired() in BuildChannelFactory().
2817           SymmetricSecurityChannelFactory .ctor() arg changes.
2818           "ProtectionTokenParameters" is not passed now.
2819
2820 2006-08-23  Atsushi Enomoto  <atsushi@ximian.com>
2821
2822         * SymmetricSecurityBindingElement.cs : requirements should be
2823           filled at InitializeSecurityTokenParameters as long as possible.
2824           SymmetricSecurityChannelFactory<T> now does not receive
2825           requirements (it now creates one inside it) at .ctor().
2826         * SecurityChannelFactory.cs : remove requirement argument.
2827
2828 2006-08-23  Atsushi Enomoto  <atsushi@ximian.com>
2829
2830         * SymmetricSecurityBindingElement.cs : implemented copy constructor.
2831
2832 2006-08-22  Atsushi Enomoto  <atsushi@ximian.com>
2833
2834         * SymmetricSecurityBindingElement.cs :
2835           MessageSecurityVersion property is of type SecurityTokenVersion.
2836         * SecurityBindingElement.cs :
2837           Implemented CreateSecureConversationBindingElement().
2838           For CreateIssuedTokenBindingElement(), ProtectionTokenParameters is
2839           the argument IssuedSecurityTokenParameters itself.
2840
2841 2006-08-22  Atsushi Enomoto  <atsushi@ximian.com>
2842
2843         * SymmetricSecurityBindingElement.cs :
2844           CreateSecurityTokenManager() can be directly used now. 
2845           Use CallInitializeSecurityTokenRequirement() to fill requirement
2846           properties.
2847
2848 2006-08-16  Atsushi Enomoto  <atsushi@ximian.com>
2849
2850         * ChannelFactoryBase.cs : GetProperty() is virtual.
2851
2852 2006-08-14  Atsushi Enomoto  <atsushi@ximian.com>
2853
2854         * SymmetricSecurityBindingElement.cs : in BuildChannelFactory(),
2855           create token manager, token parameters and token requirements,
2856           and fill some requirements.
2857         * TransportBindingElement.cs, HttpTransportBindingElement.cs,
2858           TextMessageEncodingBindingElement.cs : workaround to not throw NIE.
2859         * BindingContext.cs : implemented RemainingBindingElements.
2860           kill "no remaining binding element" error in GetInnerProperty()
2861         * SecurityChannelFactory.cs : now it became 
2862           SymmetricSecurityChannelFactory, thus soon to be renamed.
2863           Several ongoing actual security resolution is on.
2864
2865 2006-08-11  Atsushi Enomoto  <atsushi@ximian.com>
2866
2867         * CommunicationObject.cs :
2868           add GetCommunicationObjectType() and use it.
2869         * ChannelFactoryBase.cs, ChannelListenerBase_1.cs :
2870           use ThrowIfDisposedOrNotOpen().
2871         * LayeredCommunicationObject.cs : have similar ThrowIf...() methods
2872           to CommunicationObject. Make it IDisposable.
2873         * LayeredRequestChannel.cs : use above.
2874         * SecurityChannelFactory.cs : removed state check as it is done at
2875           above class.
2876
2877 2006-08-10  Atsushi Enomoto  <atsushi@ximian.com>
2878
2879         * SecurityBindingElement.cs : (CanBuildChannelFactory and
2880           CanBuildChannelListener) directly dispatch to BindingContext.
2881         * SymmetricSecurityBindingElement.cs : require protection token
2882           parameters before building a channel or a listener.
2883         * ChannelFactoryBase.cs : raise an error when a channel is being
2884           created without opening the factory.
2885         * ChannelListenerBase_1.cs : ditto for the listener.
2886         * SecurityChannelFactory.cs : before sending a request, it must be
2887           opened.
2888
2889 2006-08-07  Atsushi Enomoto  <atsushi@ximian.com>
2890
2891         * MessageBufferImpl.cs : initialize fields.
2892           workaround BufferSize just to return 0.
2893         * MessageImpl.cs : for BodyWriter, don't use DefaultMessageBuffer
2894           which does not support multi time write.
2895         * Message.cs : implemented State.
2896
2897 2006-08-07  Atsushi Enomoto  <atsushi@ximian.com>
2898
2899         * Message.cs : OnGetBodyAttribute() cannot return anything unless it
2900           is consuming XmlReader.
2901           Implemented OnCreateBufferedCopy(), to return XPathMessageBuffer.
2902         * MessageBuffer.cs : implemented CreateNavigator().
2903         * MessageBufferImpl.cs : added XPathMessageBuffer class.
2904
2905         I kinda know that MS heavily depends on binary XmlReader and may have
2906         XPathNavigator implementation based on the binary stuff, but at
2907         least for now we have almost no motivation to mimick it.
2908
2909 2006-08-07  Atsushi Enomoto  <atsushi@ximian.com>
2910
2911         * SecurityChannelFactory.cs : a bit more of security header code.
2912
2913 2006-08-04  Atsushi Enomoto  <atsushi@ximian.com>
2914
2915         * SymmetricSecurityBindingElement.cs :
2916           set default MessageProtectionOrder in every construction.
2917
2918 2006-08-03  Atsushi Enomoto  <atsushi@ximian.com>
2919
2920         * LayeredRequestChannel.cs, SecurityChannelFactory.cs : 
2921           changed to require ChannelFactoryBase to support default timeout.
2922           Made some methods non-virtual. Preparing code to add security
2923           headers (empty yet).
2924         * SecurityBindingElement.cs : implemented several factory methods
2925           that return SymmetricSecurityBindingElement.
2926
2927 2006-08-02  Atsushi Enomoto  <atsushi@ximian.com>
2928
2929         * IStreamUpgradeBindingElement.cs,
2930           StreamUpgradeBindingElement.cs : renamed from former to latter.
2931
2932 2006-08-02  Atsushi Enomoto  <atsushi@ximian.com>
2933
2934         * IStreamUpgradeBindingElement.cs : API update, soon to be renamed.
2935
2936 2006-07-31  Ankit Jain  <jankit@novell.com>
2937
2938         * MessageHeaders.cs (From): Use Constants.WSA1
2939         (MessageId): Implement the same pattern as other properties (From etc).
2940
2941 2006-07-28  Atsushi Enomoto  <atsushi@ximian.com>
2942
2943         * LocalClientSecuritySettings.cs : initialize IdentityVerifier as well.
2944         * SecurityBindingElement.cs : some cosmetic changes.
2945
2946 2006-07-28  Atsushi Enomoto  <atsushi@ximian.com>
2947
2948         * SecurityBindingElement.cs : LocalClientSettings and 
2949           LocalServiceSettings returns an instance for each.
2950         * LocalClientSecuritySettings.cs : initialized fields.
2951
2952 2006-07-28  Atsushi Enomoto  <atsushi@ximian.com>
2953
2954         * LocalClientSecuritySettings.cs : moved from S.SM.Description, and
2955           kinda implemented Clone() just with MemberwiseClone().
2956
2957 2006-07-27  Ankit Jain  <jankit@novell.com>
2958
2959         * MessageHeaders.cs (set_To): Use Uri.AbsoluteUri .
2960         * MessageHeader.cs (knownTypes): New. Known type array containing
2961         EndpointAddress10.
2962         (CreateHeader): Use knownTypes with the DataContractSerializer .ctor
2963
2964 2006-07-21  Atsushi Enomoto  <atsushi@ximian.com>
2965
2966         * LayeredRequestChannel.cs, LayeredReplyChannel.cs,
2967           LayeredCommunicationObject.cs,
2968           SecurityChannelFactory.cs, SecurityChannelListener.cs :
2969           new files to support security channels, though right now they
2970           just pass inner channels through.
2971         * SymmetricSecurityBindingElement.cs : use above.
2972
2973 2006-07-21  Atsushi Enomoto  <atsushi@ximian.com>
2974
2975         * AsymmetricSecurityBindingElement.cs,
2976           SymmetricSecurityBindingElement.cs :
2977           Default SecurityTokenParameters is null.
2978
2979 2006-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2980
2981         * AsymmetricSecurityBindingElement.cs : remove NotImpl for now.
2982
2983 2006-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2984
2985         * Message.cs : When EnvelopeVersion is None, don't write SOAP
2986           envelope.
2987         * MessageHeader.cs : don't write headers when EnvelopeVersion is None.
2988         * MessageHeaders.cs : When EnvelopeVersion is None, don't output
2989           headers. When AddressingVersion is None, don't output addressing
2990           headers as well, except for Action which is still needed by
2991           service dispatcher.
2992
2993 2006-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2994
2995         * MessageHeaders.cs : changed specific properties to find it from
2996           headers as Action property does (local variables won't be set by
2997           setter). Cache serializers. Check null serializer arguments.
2998           For EndpointAddress, GetHeader<T>() shouldn't use serializer.
2999
3000 2006-07-19  Atsushi Enomoto  <atsushi@ximian.com>
3001
3002         * MessageHeader.cs : WriteTo() should treat EndpointAddress to not
3003           use XmlObjectSerializer (since it is not data contract type).
3004
3005 2006-07-18  Atsushi Enomoto  <atsushi@ximian.com>
3006
3007         * MessageImpl.cs : Improved ReadHeaders().
3008           For certain header items, use EndpointAddress.ReadFrom().
3009
3010 2006-07-18  Atsushi Enomoto  <atsushi@ximian.com>
3011
3012         * AsymmetricSecurityBindingElement.cs :
3013           it is not ISecurityCapabilities anymore.
3014
3015 2006-07-18  Atsushi Enomoto  <atsushi@ximian.com>
3016
3017         * MessageVersion.cs : added None.
3018
3019 2006-07-14  Atsushi Enomoto  <atsushi@ximian.com>
3020
3021         * Message.cs : GetReaderAtBodyContents() implementation using
3022           writer methods.
3023
3024 2006-07-13  Atsushi Enomoto  <atsushi@ximian.com>
3025
3026         * Message.cs : CreateMessage(version,action,xmlReader) incorrectly
3027           used MessageVersion.Default.
3028
3029 2006-07-12  Duncan Mak  <duncan@novell.com>
3030
3031         * MessageBuffer.cs (MessageContentType): Return
3032         "application/soap+msbin1".
3033
3034         * MessageImpl.cs (EmptyMessage.OnCreateBufferedCopy):
3035         (SimpleMessage.OnCreateBufferedCopy):
3036         (XmlReaderMessage.OnCreateBufferedCopy): Hook up with the new
3037         MessageBuffer implementations.
3038
3039         * MessageBufferImpl.cs: Concrete implmentations for MessageBuffer.
3040         (DefaultMessageBuffer): Used by EmptyMessage and SimpleMessage.
3041         (XmlReaderMessageBuffer): Used by XmlReaderMessage.
3042
3043 2006-07-12  Atsushi Enomoto  <atsushi@ximian.com>
3044
3045         * MessageImpl.cs : Action should be added in request messages. Omit
3046           it only in reply message, thus moved to dispatcher logic.
3047
3048 2006-07-12  Ankit Jain  <jankit@novell.com>
3049
3050         * HttpRequestChannel.cs (HttpRequestChannel.Request): Workaround for a
3051         bug in WebConnectionStream.
3052         * MessageHeaders.cs (MessageHeaders.From):
3053         (MessageHeaders.ReplyTo):
3054         (MessageHeaders.To): Add the corresponding MessageHeader on set.
3055
3056 2006-07-11  Atsushi Enomoto  <atsushi@ximian.com>
3057
3058         * MessageImpl.cs : when AddressingVersion is None (e.g. POX), don't
3059           add SOAP Action to the response at any time.
3060
3061 2006-07-10  Atsushi Enomoto  <atsushi@ximian.com>
3062
3063         * SymmetricSecurityBindingElement.cs,
3064           SecurityBindingElement.cs : They are not ISecurityCapabilities now.
3065           Implemented .ctor() and some properties.
3066
3067 2006-07-10  Atsushi Enomoto  <atsushi@ximian.com>
3068
3069         * TransactionFlowBindingElement.cs : new file.
3070         * HttpTransportBindingElement.cs : added missing KeepAliveEnabled.
3071
3072 2006-07-06  Atsushi Enomoto  <atsushi@ximian.com>
3073
3074         * MessageFault.cs :
3075           DefaultAction vanished. CreateFault() now takes bufferSize arg.
3076         * MessageHeaders.cs : ArgumentException -> MessageHeaderException.
3077         * AddressingVersion.cs : added None. Equals() and GetHashCode()
3078           vanished (there is anyways no way to instantiate this type).
3079         * MessageVersion.cs : added Soap11 and Soap12.
3080         * TextMessageEncoder.cs : silly quotation mark wrapper disappeared
3081           in June CTP. goodie.
3082
3083 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
3084
3085         * MtomMessageEncoder.cs, BinaryMessageEncoder.cs, Message.cs :
3086           removed some vanished CreateMessage() overloads.
3087
3088 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
3089
3090         * CustomBinding.cs, HttpsTransportBindingElement.cs, 
3091           HttpTransportBindingElement.cs :
3092           They are not ISecurityCapabilities anymore.
3093           Modified code to match June CTP behavior.
3094
3095 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
3096
3097         * StreamSecurityUpgradeProvider.cs : Identity -> EndpointIdentity.
3098
3099 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
3100
3101         * EmptyFaultException.cs : removed unused code.
3102         * IRequestContext.cs, RequestContext.cs : renamed former to latter.
3103
3104 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
3105
3106         * LayeredChannelFactory.cs : removed obsolete class.
3107         * ChannelFactoryBase.cs, HttpChannelFactory.cs,
3108           ChannelListenerBase.cs, HttpChannelListener.cs,
3109           HttpReplyChannel.cs, ChannelManagerBase.cs :
3110           all those changes were brought by ChannelManagerBase changes.
3111
3112 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
3113
3114         * ReplyChannelBase.cs, HttpChannelFactory.cs, ChannelBase.cs
3115           CommunicationObject.cs, HttpChannelListener.cs,
3116           ChannelFactoryBase.cs :
3117           CommunicationObject abstract changes brought this madness.
3118
3119 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
3120
3121         * BindingContext.cs : listenUri address parameters could be null in
3122           June CTP.
3123
3124 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
3125
3126         * IRequestContext.cs :
3127           Now it became a class. File renaming will follow soon.
3128         * IChannelFactory.cs, IInputChannel.cs, IReplyChannel.cs,
3129           IDuplexChannel.cs, IDuplexSessionChannel.cs,
3130           IOutputChannel.cs, IOutputSessionChannel.cs,
3131           IRequestChannel.cs, IRequestSessionChannel.cs :
3132           They are not IDisposable anymore.
3133           For IReplyChannel, IRequestContext -> RequestContext.
3134         * IChannelListener.cs : removed Identity. Added GetProperty().
3135         * ChannelListenerBase.cs, ChannelListenerBase.cs,
3136           ReplyChannelBase.cs, HttpReplyChannel.cs :
3137           Several members disappeared, and dependent changes.
3138         * HttpTransportBindingElement.cs,
3139           HttpChannelListener.cs, :
3140           ChannelListenerBase.SharedChannelListener vanished.
3141
3142 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
3143
3144         * MessageEncodingBindingElement.cs
3145           MtomMessageEncodingBindingElement.cs,
3146           TextMessageEncodingBindingElement.cs,
3147           BinaryMessageEncodingBindingElement.cs :
3148           June CTP updates: AddressingVersion -> MessageVersion.
3149         * Binding.cs : June CTP. MessageVersion is added.
3150         * ChannelBase.cs, BindingContext.cs, IChannel.cs
3151           ChannelListenerBase_1.cs,
3152           ChannelListenerBase.cs, IChannelListener.cs,
3153           IChannelFactory.cs,
3154           ChannelFactoryBase.cs, ChannelManagerBase.cs :
3155           June CTP. Several interface changes.
3156         * HttpTransportBindingElement.cs : June CTP. HttpMappingMode is gone.
3157         * IChannelManager.cs, LayeredChannelListener.cs,
3158           GenericWrapperChannelFactory.cs,
3159           GenericWrapperChannelListener.cs : They are not used anymore.
3160
3161 2006-07-04  Atsushi Enomoto  <atsushi@ximian.com>
3162
3163         * MtomMessageEncoder.cs, BinaryMessageEncoder.cs :
3164           sync fix with June CTP API updates.
3165
3166 2006-07-03  Ankit Jain  <jankit@novell.com>
3167
3168         * MessageEncodingBindingElementConverter.cs:
3169         * StandardBindingConverter.cs:
3170         * TransportBindingElementConverter.cs:
3171         * TransactionFlowBindingElementConverter.cs:
3172         * ReliableSessionBindingElementConverter.cs:
3173         * SecurityBindingElementConverter.cs:
3174         Rename *Converter.cs to *Importer.cs
3175
3176         * TransferMode.cs: Move to System.ServiceModel
3177
3178 2006-06-22  Atsushi Enomoto  <atsushi@ximian.com>
3179
3180         * CommunicationObject.cs : make sure to change State before
3181           OnClosing/OnClosed/OnOpening/OnOpened when they are overriden.
3182
3183 2006-06-20  Atsushi Enomoto  <atsushi@ximian.com>
3184
3185         * Message.cs : output WSAddressing xmlns only when Action is
3186           specified (To should be affected, but seems like it is ignored).
3187
3188 2006-06-20  Atsushi Enomoto  <atsushi@ximian.com>
3189
3190         * MessageImpl.cs : don't set Action when it is null.
3191
3192 2006-06-12  Ankit Jain  <jankit@novell.com>
3193
3194         * TransportBindingElementConverter.cs (ImportEndpoint): Implement.
3195
3196 2006-05-29  Atsushi Enomoto  <atsushi@ximian.com>
3197
3198         * SecurityBindingElement.cs, SecurityBindingElementConverter.cs :
3199           some updated API fixes.
3200
3201 2006-05-29  Atsushi Enomoto  <atsushi@ximian.com>
3202
3203         * EnvelopeVersion.cs : moved back to S.SM.
3204
3205 2006-05-29  Atsushi Enomoto  <atsushi@ximian.com>
3206
3207         * IBindingManualAddressing.cs : vanished in beta2.
3208         * HostedTransportConfiguration.cs, EnvelopeVersion.cs,
3209           LocalClientSecuritySettings.cs, LocalServiceSecuritySettings.cs :
3210           namespace changes.
3211         * SecurityBindingElement.cs :
3212           SecurityStandardsManager -> SecurityTokenSerializer.
3213
3214 2006-05-29  Atsushi Enomoto  <atsushi@ximian.com>
3215
3216         * XmlSerializerBodyWriter.cs : new file to handle 
3217           TypedMessageConverter.ToMessage().
3218
3219 2006-04-26  Ankit Jain  <jankit@novell.com>
3220
3221         * TransportBindingElementConverter.cs (BeforeImport): Remove
3222         NotImplementedException.
3223         (ImportContract): Likewise.
3224         * CustomBinding.cs (.ctor): Use scheme from the binding parameter.
3225
3226 2006-04-14  Atsushi Enomoto  <atsushi@ximian.com>
3227
3228         * HttpRequestChannel.cs, HttpChannelFactory.cs : message encoder 
3229           being used was not reflecting that of Binding elements.
3230
3231 2006-04-07  Atsushi Enomoto  <atsushi@ximian.com>
3232
3233         * HttpReplyChannel.cs : when SOAP action is not set as a header item,
3234           just assume that it is in the message.
3235
3236 2006-04-06  Atsushi Enomoto  <atsushi@ximian.com>
3237
3238         * HttpReplyChannel.cs : actually HTTP header item might be null.
3239
3240 2006-04-06  Atsushi Enomoto  <atsushi@ximian.com>
3241
3242         * HttpReplyChannel.cs : under SOAP 1.1 SOAP Action is sent as HTTP
3243           header.
3244
3245 2006-04-06  Atsushi Enomoto  <atsushi@ximian.com>
3246
3247         * TextMessageEncoder.cs : for SOAP 1.1 content type is text/xml.
3248
3249 2006-04-06  Atsushi Enomoto  <atsushi@ximian.com>
3250
3251         * MessageFault.cs : Fixed SOAP12 reason output.
3252
3253 2006-04-05  Atsushi Enomoto  <atsushi@ximian.com>
3254
3255         * HttpReplyChannel.cs : no need to set response ContentEncoding since
3256           MessageEncoder.ContentType explicitly contains encoding.
3257         * AddressingVersion.cs : added ActionNotSupported property. Not sure
3258           if it is SOAP version dependent.
3259
3260 2006-03-23  Atsushi Enomoto  <atsushi@ximian.com>
3261
3262         * HttpReplyChannel.cs : actually I could just workaround bug #77816.
3263
3264 2006-03-16  Atsushi Enomoto  <atsushi@ximian.com>
3265
3266         * HttpChannelFactory.cs BindingContext.cs
3267           HttpChannelListener.cs HttpTransportBindingElement.cs :
3268           Now BindingContext holds MessageEncoder, and non-custom
3269           channel factory/listener should use it.
3270         * MtomMessageEncodingBindingElement.cs
3271           TextMessageEncodingBindingElement.cs
3272           BinaryMessageEncodingBindingElement.cs : BuildChannelFactory()/
3273           -Listener() now sets internal BindingContext.MessageEncoder.
3274           Fixed some public API.
3275
3276 2006-03-15  Atsushi Enomoto  <atsushi@ximian.com>
3277
3278         * BindingContext.cs : CanBuildChannelXXX() should not raise error
3279           for insufficient elements.
3280         * DispatchRuntime.cs : OperationDescription name is not action. So
3281           OperationSelector is created by name, not by action.
3282         * TextMessageEncodingBindingElement.cs : Feb. CTP API fixes.
3283
3284 2006-03-14  Atsushi Enomoto  <atsushi@ximian.com>
3285
3286         * MessageFaultBodyWriter.cs
3287           XmlReaderBodyWriter.cs
3288           XmlObjectSerializerBodyWriter.cs : made internal.
3289         * SecurityBindingElement.cs
3290           AsymmetricSecurityBindingElement.cs
3291           SymmetricSecurityBindingElement.cs : API fixes.
3292         * TransportBindingElementConverter.cs : ditto.
3293         * TextMessageEncodingBindingElement.cs : added set_AddressingVersion.
3294         * WindowsStreamSecurityBindingElement.cs
3295           SslStreamSecurityBindingElement.cs
3296           TransportSecurityBindingElement.cs : new files.
3297
3298 2006-03-14  Atsushi Enomoto  <atsushi@ximian.com>
3299
3300         * MessageImpl.cs : according to the W3C REC, mustUnderstand when
3301           reading can be any xs:boolean value.
3302
3303 2006-03-14  Atsushi Enomoto  <atsushi@ximian.com>
3304
3305         * Message.cs MessageImpl.cs : more sorting out the role of each
3306           write method.
3307         * MessageHeader.cs : use envelope namespace, not addressing namespace.
3308
3309 2006-03-14  Atsushi Enomoto  <atsushi@ximian.com>
3310
3311         * Message.cs : don't write body contents if it is empty.
3312           Moved WriteStartElement(,"Header",) to OnWriteStartHeaders().
3313         * MessageImpl.cs : implemented XmlReaderMessage.OnWriteBodyContents().
3314         * TextMessageEncoder.cs : WriteMessage() should close XmlWriter.
3315         * HttpRequestChannel.cs : close request stream before GetResponse().
3316
3317 2006-03-13  Atsushi Enomoto  <atsushi@ximian.com>
3318
3319         * TextMessageEncoderFactory.cs
3320           TextMessageEncoder.cs : encoder does not hold reference to the
3321           factory anymore. Use MessageVersion property in CreateMssage().
3322         * HttpChannelListener.cs : now it holds message encoder.
3323         * HttpReplyChannel.cs : now it uses listener's shared message encoder.
3324         * MessageImpl.cs : header is optional.
3325         * EnvelopeVersion.cs : namespace URI is missing.
3326
3327 2006-03-10  Atsushi Enomoto  <atsushi@ximian.com>
3328
3329         * CustomBinding.cs : removed Initialize().
3330         * Message.cs : renamed ForwardingMessage -> XmlReaderMessage.
3331         * MessageImpl.cs : renamed ForwardingMessage to XmlReaderMessage (used
3332           by Message.CreateMessage(MessageVersion,XmlReader,int) and
3333           implemented Headers, IsEmpty and GetReaderAtBodyContents().
3334
3335 2006-03-08  Atsushi Enomoto  <atsushi@ximian.com>
3336
3337         * MessageHeaders.cs : implemented GetReaderAtHeader() and Action (it
3338           could be also added by Add() method and could be reset by Remove()).
3339         * MessageImpl.cs : implemented more. As noted above, Now we don't 
3340           have to add Action header explicitly.
3341         * MessageHeader.cs : recovered Writer methods and ToString() from
3342           commented old version. Use prefixes for writing.
3343           Use WriteObjectContent() rather than WriteObject() (it needs
3344           DataContractSerializer fix btw).
3345
3346 2006-03-08  Atsushi Enomoto  <atsushi@ximian.com>
3347
3348         * MessageHeader.cs : added missing IsReferenceParameter.
3349         * MessageHeaderInfo.cs : added missing IsReferenceParameter.
3350         * MessageHeaders.cs : avoid NullRef when actors is null.
3351         * MessageImpl.cs : (MessageImplBase) add Action header in .ctor().
3352           (ForwardingMessage) reader consumer is being added (not done).
3353         * MtomMessageEncodingBindingElement.cs : simply use Mtom factory.
3354         * MtomMessageEncoder.cs : updated ContentType value to Feb. CTP.
3355         * HttpRequestChannel.cs : this channel automatically call Open()
3356           when Request() is called. Set content length for request.
3357           Use MessageEncoder's ContentType to also handle charset.
3358
3359 2006-03-07  Atsushi Enomoto  <atsushi@ximian.com>
3360
3361         * MessageImpl.cs : make them internal.
3362         * HttpReplyChannel.cs : set HttpListenerResponse properties correctly.
3363
3364 2006-03-07  Atsushi Enomoto  <atsushi@ximian.com>
3365
3366         * ChannelManagerBase.cs : cleanup MonoTODO and unused field.
3367         * HttpChannelListener.cs : removed commented line.
3368         * RequestChannelBase.cs : new base class for request channel classes.
3369         * ChannelListenerBase.cs : OnEndClose() is rather NotImplemented yet.
3370         * HttpReplyChannel.cs : WaitHandle accepts limited timeout value.
3371         * Message.cs : default IsEmpty and IsFault false by default.
3372         * LayeredChannelListener.cs : removed Uri (no chance to set).
3373         * ChannelBase.cs : reimplemented timeout properties.
3374         * HttpRequestChannel.cs : now it is mostly based on
3375           RequestChannelBase. Some more attempt to implement Request().
3376
3377 2006-03-07  Atsushi Enomoto  <atsushi@ximian.com>
3378
3379         * Binding.cs CustomBinding.cs : removed OnApplyConfiguration() and
3380           OnInitialize(). Added more BuildChannelListener() overloads.
3381
3382 2006-03-06  Atsushi Enomoto  <atsushi@ximian.com>
3383
3384         * Binding.cs : added some more missing members especially to support
3385           listener creation.
3386         * HttpChannelListener.cs : Uri should not be null.
3387         * HttpTransportBindingElement.cs : implemented
3388           CanBuildChannelFactory() and CanBuildChannelListener().
3389         * ServiceHostBase.cs : make Initialize() practically work at OnOpen().
3390
3391 2006-03-06  Atsushi Enomoto  <atsushi@ximian.com>
3392
3393         * Binding.cs : updated default namespace property value to Feb. CTP.
3394
3395 2006-03-03  Atsushi Enomoto  <atsushi@ximian.com>
3396
3397         * AddressHeader.cs : avoid null reference when value is null.
3398         * BindingContext.cs : check null ListenUri args.
3399
3400 2006-03-03  Atsushi Enomoto  <atsushi@ximian.com>
3401
3402         * MessageFault.cs : Fixed default action name. Null arg check.
3403
3404 2006-03-03  Atsushi Enomoto  <atsushi@ximian.com>
3405
3406         * BindingElement.cs : Dequeue elements in BindingContext directly.
3407         * BindingContext.cs : Added GetProperty<T>().
3408         * GenericWrapperChannelFactory.cs GenericWrapperChannelListener.cs :
3409           Now we don't need these extra classes, so marked as deprecated.
3410
3411 2006-03-03  Atsushi Enomoto  <atsushi@ximian.com>
3412
3413         * Binding.cs : null arg check.
3414         * AddressingVersion.cs : fixed constants to pass the tests.
3415         * BindingElement.cs : tiny meessage fix.
3416
3417 2006-03-02  Atsushi Enomoto  <atsushi@ximian.com>
3418
3419         * MessageEncodingBindingElement.cs
3420           BinaryMessageEncodingBindingElement.cs
3421           TextMessageEncodingBindingElement.cs
3422           MtomMessageEncodingBindingElement.cs
3423           MessageEncodingBindingElementConverter.cs : several API fixes.
3424         * BindingElement.cs : now if we use generic wrapper it causes
3425           infinite loop, so for now replace it with most-possible-but-
3426           untested logic.
3427
3428 2006-03-02  Atsushi Enomoto  <atsushi@ximian.com>
3429
3430         (back to normal "record-ChangeLogs" mode after the big API change mess)
3431         * HttpTransportBindingElement.cs : fixed minor API differences.
3432
3433 2006-02-23  Atsushi Enomoto  <atsushi@ximian.com>
3434
3435         * AsymmetricSecurityBindingElement.cs SecurityBindingElement.cs
3436           SymmetricSecurityBindingElement.cs :
3437           Dependent fixes for System.IdentityModel reorgainzation.
3438
3439 2006-02-23  Atsushi Enomoto  <atsushi@ximian.com>
3440
3441         * InputChannelBase.cs.notused IInputSession.cs IOutputSession.cs
3442           IProxyFormatter.cs WSHttpBindingBase.cs 
3443           PnrpPeerResolverBindingElement.cs IMessageHeaderInfo.cs
3444           MessageInterceptorEventArgs.cs WSHttpBinding.cs
3445           WSFederationBinding.cs ISessionChannel.cs
3446           CompositeDuplexBindingElement.cs MessageVersion.cs
3447           MessageHeader.cs IRequestSessionChannel.cs 
3448           BindingElementCollection.cs IReplySessionChannel.cs
3449           MessageProperties.cs IDuplexClientChannel.cs
3450           IInputSessionChannel.cs MessageImpl.cs IDuplexSessionChannel.cs
3451           TcpTransportBindingElement.cs EmptyFaultException.cs
3452           IBindingRuntimePreferences.cs AddressHeaderCollection.cs
3453           IStubFormatter.cs AsymmetricSecurityBindingElement.cs
3454           ConnectionOrientedTransportBindingElement.cs
3455           IProxyOperationSelector.cs MessageBuffer.cs IChannel.cs
3456           PeerResolverBindingElement.cs Message.cs
3457           HttpsTransportBindingElement.cs BindingElement.cs
3458           NamedPipetransportBindingElement.cs IBindingManualAddressing.cs
3459           MessageFaultBodyWriter.cs IReplyChannel.cs
3460           IBindingCapabilities.cs AddressHeader.cs IInputChannel.cs
3461           IMessageProperty.cs IOutputChannel.cs NetPeerTcpBinding.cs
3462           IRequestContext.cs IInputSessionShutdown.cs
3463           SecurityBindingElement.cs PeerTransportBindingElement.cs
3464           IDuplexSession.cs IChannelInitializer.cs
3465           IProxyMessageInspector.cs IChannelListener.cs NetTcpBinding.cs
3466           AddressingVersion.cs FaultException.cs
3467           IRequestChannel.cs MtomMessageEncodingBindingElement.cs
3468           TransportBindingElement.cs BinaryMessageEncodingBindingElement.cs
3469           TextMessageEncodingBindingElement.cs IChannelFactory.cs Binding.cs
3470           ITransportBindingElement.cs IChannelManager.cs MessageFault.cs
3471           MessageHeaders.cs IStubMessageInspector.cs UnderstoodHeaders.cs
3472           BindingParameterCollection.cs IInstanceProvider.cs
3473           WSDualHttpBinding.cs ISession.cs IErrorHandler.cs
3474           MessageEncodingBindingElement.cs HttpTransportBindingElement.cs
3475           IDuplexChannel.cs CustomBinding.cs IOutputSessionChannel.cs
3476           MessageContractAttribute.cs SymmetricSecurityBindingElement.cs :
3477           moved from System.ServiceModel due to the API changes.
3478
3479 2006-02-23  Atsushi Enomoto  <atsushi@ximian.com>
3480
3481         * ChannelFactoryBase.cs ChannelListenerBase.cs HttpChannelFactory.cs
3482           HttpChannelListener.cs HttpRequestChannel.cs
3483           LayeredChannelListener.cs PeerMessagePropagationFilter.cs
3484           PeerNode.cs ReplyChannelBase.cs :
3485           Feb. CTP API changes - chapter 1.
3486
3487 2006-02-15  Atsushi Enomoto  <atsushi@ximian.com>
3488
3489         * ChannelBase.cs : OnOpen() and OnClosed() do nothing.
3490         * ReplyChannelBase.cs : now it is based on ChannelBase.
3491         * ChannelListenerBase_1.cs : use DefaultCommunicationTimeouts.Instance
3492           and check null argument in .ctor().
3493         * HttpReplyChannel.cs : several changes.
3494           Non-async members are mostly implemented.
3495         * HttpChannelListener.cs : no need to receive 
3496           IDefaultCommunicationTimeouts.
3497         * HttpRequestChannel.cs : maxSizeOfHeaders is used in MessageHeaders
3498           to allocate buffer array and int.MaxValue causes OutOfMemory.
3499
3500 2006-02-15  Atsushi Enomoto  <atsushi@ximian.com>
3501
3502         * ClientFramingDecoderState.cs : added missing enum.
3503         * HttpRequestMessageProperty.cs HttpResponseMessageProperty.cs :
3504           added missing bits.
3505         * ChannelBase.cs, LayeredChannelListener.cs : tiny API fixes.
3506
3507 2006-02-15  Atsushi Enomoto  <atsushi@ximian.com>
3508
3509         * HttpChannelListener.cs : Added GetChannels() and OnClose().
3510           AcceptChannel() has some code now but it needs more love.
3511
3512 2006-02-14  Atsushi Enomoto  <atsushi@ximian.com>
3513
3514         * CommunicationObject.cs : Close() does not call Begin/EndClose().
3515         * ChannelManagerBase.cs : implemented AbortChannel and CloseChannel.
3516         * ChannelListenerBase.cs : implemented OnAbort and OnClose.
3517
3518 2006-02-10  Atsushi Enomoto  <atsushi@ximian.com>
3519
3520         * HttpRequestChannel.cs : close the streams.
3521         * HttpListener.cs
3522           HttpChannelListener.cs : renamed from former to latter.
3523
3524 2006-02-09  Atsushi Enomoto  <atsushi@ximian.com>
3525
3526         * ReplyChannelBase.cs : new file for IReplyChannel implementations.
3527         * HttpReplyChannel.cs : new file for HTTP IReplyChannel.
3528         * HttpListenerFactory.cs : removed obsolete file.
3529         * HttpListener.cs : hacky WaitForChannel and AcceptChannel.
3530         * ChannelListenerBase_1.cs : implemented virtual stuff.
3531         * CommunicationObject.cs : Open() should not call BeginOpen() and
3532           EndOpen(). Instead, invoke events individually.
3533         * ChannelListenerBase.cs : its Open() is WaitForChannel().
3534
3535 2006-02-08  Atsushi Enomoto  <atsushi@ximian.com>
3536
3537         * HttpRequestChannel.cs : call Flush() after serializing message
3538           into HTTP stream.
3539
3540 2006-02-08  Atsushi Enomoto  <atsushi@ximian.com>
3541
3542         * HttpRequestChannel.cs : implemented pretty hacky Request().
3543
3544 2006-02-02  Atsushi Enomoto  <atsushi@ximian.com>
3545
3546         * HttpRequestChannel.cs : Manager is HttpChannelFactory.
3547
3548 2006-02-01  Atsushi Enomoto  <atsushi@ximian.com>
3549
3550         * ChannelFactoryBase.cs : removed some NotImplementedException for
3551           further internal implementation.
3552
3553 2006-01-26  Atsushi Enomoto  <atsushi@ximian.com>
3554
3555         * HttpRequestChannel.cs : new file. mostly not implemented.
3556         * HttpChannelFactory.cs : Implemented CanCreateChannel().
3557           Partly implemented CreateChannel().
3558
3559 2006-01-26  Atsushi Enomoto  <atsushi@ximian.com>
3560
3561         * HttpChannelFactory.cs : (.ctor())
3562           Don't take ChannelBuildContext.
3563
3564 2005-11-21  Atsushi Enomoto  <atsushi@ximian.com>
3565
3566         * StreamSecurityUpgradeInitiator.cs PeerMessageOrigination.cs
3567           ChannelBase.cs StreamSecurityUpgradeAcceptor.cs
3568           PeerMessagePropagation.cs : updated to Nov. CTP.
3569
3570 2005-11-21  Atsushi Enomoto  <atsushi@ximian.com>
3571
3572         * ChannelListenerBase.cs, ChannelManagerBase.cs,
3573           ChannelListenerBase_1.cs, LayeredChannelListener.cs,
3574           StreamSecurityUpgradeAcceptor.cs,
3575           StreamSecurityUpgradeInitiator.cs :
3576           Updated to Nov. CTP API.
3577
3578 2005-11-21  Atsushi Enomoto  <atsushi@ximian.com>
3579
3580         Now we can rename ListenerFactoryBase.cs to ChannelListenerBase.cs.
3581
3582 2005-11-21  Atsushi Enomoto  <atsushi@ximian.com>
3583
3584         renamed ChannelListenerBase.cs to ChannelListenerBase_1.cs.
3585
3586 2005-11-21  Atsushi Enomoto  <atsushi@ximian.com>
3587
3588         * ChannelBase.cs : tiny filename fix.
3589         * ChannelListenerBase.cs : added more .ctor()s.
3590
3591 2005-11-21  Atsushi Enomoto  <atsushi@ximian.com>
3592
3593         * HttpListenerFactory.cs LayeredChannelListener.cs HttpListener.cs
3594           ListenerFactoryBase.cs ChannelListenerBase.cs :
3595           updated IListener related stuff to Nov. CTP.
3596           file renaming will come soon.
3597
3598 2005-11-21  Atsushi Enomoto  <atsushi@ximian.com>
3599
3600         * ListenerBase.cs, ChannelListenerBase.cs :
3601           moved from former to latter.
3602         * LayeredListenerFactory.cs, LayeredChannelListener.cs :
3603           moved from former to latter.
3604
3605 2005-11-20  Atsushi Enomoto  <atsushi@ximian.com>
3606
3607         * SessionFaultedException.cs : removed in Nov. CTP
3608
3609 2005-11-20  Atsushi Enomoto  <atsushi@ximian.com>
3610
3611         * CommunicationObject.cs : updated to Nov. CTP.
3612         * SessionFaultedException.cs : removed (in Nov. CTP)
3613
3614 2005-11-03  Atsushi Enomoto  <atsushi@ximian.com>
3615
3616         * TextMessageEncoder.cs : kinda implemented (untested; Message is not
3617           working).
3618
3619 2005-11-03  Atsushi Enomoto  <atsushi@ximian.com>
3620
3621         * MtomMessageEncoder.cs, BinaryMessageEncoderFactory.cs,
3622           TextMessageEncoderFactory.cs, BinaryMessageEncoder.cs,
3623           TextMessageEncoder.cs, MtomMessageEncoderFactory.cs : new files.
3624         * MessageEncoder.cs : largely implemented.
3625
3626 2005-11-02  Atsushi Enomoto  <atsushi@ximian.com>
3627
3628         * IRequestReplyCorrelator.cs : new file.
3629
3630 2005-11-02  Atsushi Enomoto  <atsushi@ximian.com>
3631
3632         * CommunicationObject.cs : OnClose() and OnError() are not virtual.
3633         * DirectionalAction.cs : implemented IComparable<DirectionalAction>.
3634         * MessageEncoder.cs : added misssing ToString().
3635
3636 2005-11-02  Atsushi Enomoto  <atsushi@ximian.com>
3637
3638         * ChannelBehaviorCollection.cs : moved to sys.sm.
3639
3640 2005-10-28  Atsushi Enomoto  <atsushi@ximian.com>
3641
3642         * HttpListenerFactory.cs, HttpListener.cs : new files.
3643         * ListenerFactoryBase.cs, ChannelManagerBase.cs,
3644           CommunicationObject.cs, ChannelFactoryBase.cs,
3645           StreamUpgradeProvider.cs, ChannelBase.cs : timeouts are now
3646           protected internal.
3647         * CommunicationObject.cs : Aborted is bool. Added InternalClose()
3648         * ListenerFactoryBase.cs : kinda implemented GetListeners().
3649
3650 2005-10-26  Atsushi Enomoto  <atsushi@ximian.com>
3651
3652         * ListenerFactoryBase.cs : some implementation.
3653
3654 2005-10-26  Atsushi Enomoto  <atsushi@ximian.com>
3655
3656         * CommunicationObject.cs : more state fixes.
3657
3658 2005-10-26  Atsushi Enomoto  <atsushi@ximian.com>
3659
3660         * CommunicationObject.cs : some state machine fixes.
3661
3662 2005-10-26  Atsushi Enomoto  <atsushi@ximian.com>
3663
3664         * PeerNode.cs, ChannelManagerBase.cs :
3665           several API fixes detected by improved corcompare.
3666
3667 2005-10-25  Atsushi Enomoto  <atsushi@ximian.com>
3668
3669         * LayeredListenerFactory.cs : added missing generic class constraint.
3670
3671 2005-10-25  Atsushi Enomoto  <atsushi@ximian.com>
3672
3673         * ListenerFactoryBase.cs,
3674           ListenerBase.cs : class constraints were missing for generic args.
3675
3676 2005-10-24  Atsushi Enomoto  <atsushi@ximian.com>
3677
3678         * StreamUpgradeInitiator.cs : tiny API fix.
3679
3680 2005-10-23  Atsushi Enomoto  <atsushi@ximian.com>
3681
3682         * PeerMessagePropagationFilter.cs : tiny build fix.
3683
3684 2005-10-23  Atsushi Enomoto  <atsushi@ximian.com>
3685
3686         * HttpRequestMessageProperty.cs, HttpResponseMessageProperty.cs :
3687           added Name. fixed StatusCode type.
3688         * StreamSecurityUpgradeInitiator.cs, StreamUpgradeAcceptor.cs,
3689           PeerNode.cs, StreamSecurityUpgradeAcceptor.cs,
3690           StreamUpgradeProvider.cs, StreamUpgradeInitiator.cs,
3691           DirectionalAction.cs, HostedTransportConfiguration.cs,
3692           StreamSecurityUpgradeProvider.cs, SessionFaultedException.cs,
3693           PeerMessagePropagationFilter.cs : added missing files.
3694         * Dummy.cs : removed. MSMQ stuff can be added later.
3695
3696 2005-10-21  Atsushi Enomoto  <atsushi@ximian.com>
3697
3698         * DeliveryStatus.cs, DeliveryFailure.cs,
3699           HttpRequestMessageProperty.cs, PeerMessageOrigination.cs,
3700           PeerMessagePropagation.cs, HttpResponseMessageProperty.cs :
3701           new files.
3702         * Dummy.cs : removed above.
3703
3704 2005-10-18  Atsushi Enomoto  <atsushi@ximian.com>
3705
3706         * ChannelFactoryBase.cs : tiny .ctor() delegation fix.
3707
3708 2005-10-09  Atsushi Enomoto  <atsushi@ximian.com>
3709
3710         * MessageEncoderFactory.cs, LayeredListenerFactory.cs,
3711           MessageEncoder.cs, BufferManager.cs : new files.
3712         * Dummy.cs : removed above.
3713
3714 2005-10-09  Atsushi Enomoto  <atsushi@ximian.com>
3715
3716         * ChannelBase.cs, ChannelBehaviorCollection.cs : new channel files.
3717         * Dummy.cs : removed above.
3718         * CommunicationObject.cs, ListenerFactoryBase.cs : added missing bits.
3719
3720 2005-10-09  Atsushi Enomoto  <atsushi@ximian.com>
3721
3722         * HttpChannelFactory.cs : new file.
3723
3724 2005-10-08  Atsushi Enomoto  <atsushi@ximian.com>
3725
3726         * IReplyChannel.cs, IRequestContext.cs, IRequestChannel.cs:
3727           moved to ../System.ServiceModel (correct location).
3728         * ChannelFactoryBase.cs, LayeredChannelFactory.cs, TransferMode.cs:
3729           new files for channels.
3730         * Dummy.cs : reflected above changes.
3731         * ChannelManagerBase.cs : added a bit of code and todos.
3732
3733 2005-10-04  Atsushi Enomoto  <atsushi@ximian.com>
3734
3735         * ChannelManagerBase.cs, ListenerBase.cs, ListenerFactoryBase.cs :
3736           added listener support files.
3737         * Dummy.cs : removed above.
3738
3739 2005-10-03  Atsushi Enomoto  <atsushi@ximian.com>
3740
3741         * IReplyChannel.cs, IRequestContext.cs, IRequestChannel.cs :
3742           added request/reply channel interfaces.
3743         * Dummy.cs : removed above.
3744         * CommunicationObject.cs : FIXME comments.
3745
3746 2005-10-03  Atsushi Enomoto  <atsushi@ximian.com>
3747
3748         * CommunicationObject.cs : implemented some members.
3749
3750 2005-09-29  Atsushi Enomoto  <atsushi@ximian.com>
3751
3752         * CommunicationObject.cs : some signature fixes.
3753