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