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