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