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