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