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