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