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