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