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