1 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
3 * CommunicationObject.cs : OnClosed() requires call to base method.
4 Close() could rather abort the channel, and Abort() does not
5 always invke OnAbort().
6 * ChannelBase.cs : add call to base as above.
8 2009-06-05 Sebastien Pouliot <sebastien@ximian.com>
10 * ClientAccessPolicy.cs: Removed
11 * CrossDomainAccessManager.cs: Removed
12 * CrossDomainPolicy.cs: Removed
13 * HttpRequestChannel.cs: Remove call to CrossDomainAccessManager
14 since this is now done inside the BeginGetResponse call (outside
15 this assembly) for Moonlight (NET_2_1)
17 2009-06-04 Alan McGovern <amcgovern@novell.com>
19 * HttpRequestChannel.cs : Rewrite ProcessRequest to use the async APIs
20 instead of the sync apis. Prevents a possible deadlock condition in
23 2009-06-03 Atsushi Enomoto <atsushi@ximian.com>
25 * HttpRequestChannel.cs : that SL2/ML2 does not seem to allow null
26 callbacks, so add hacky ones.
28 2009-06-01 Atsushi Enomoto <atsushi@ximian.com>
30 * TcpDuplexSessionChannel.cs : WaitForMessage() should not return
31 true when socket input is not available.
33 2009-05-29 Atsushi Enomoto <atsushi@ximian.com>
35 * TcpDuplexSessionChannel.cs : Moved tcp listener accept to OnOpen().
36 I cannot precisely identify when EndRecord should be consumed,
37 so allow it at either at the end of ReadSizedMessage() or on
38 consuming preamble (it's likely handling EndRecord of previous
41 Now duplex IPeerResolverContract communication works between
42 either of .NET/Mono client and .NET/Mono server.
44 2009-05-29 Atsushi Enomoto <atsushi@ximian.com>
46 * TcpDuplexSessionChannel.cs : looks like I have added some bogus
47 code. Handle preamble ack on ReadSizedMessage() only at server.
48 Consume EndRecord from server, at client side. Though it is likely
49 changed as it's blocking when mono is at server side.
51 2009-05-29 Atsushi Enomoto <atsushi@ximian.com>
53 * TcpDuplexSessionChannel.cs : .NET seems to be based on somewhat
54 different protocol than existing code with related to preamble ack.
55 So changed it to work fine with .NET client (finally).
57 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
59 * MessageBufferImpl.cs : do not output Action twice.
61 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
63 * MessageBufferImpl.cs : it did not copy headers.
64 * Message.cs : remove 2_1 conditional implementation for buffered
65 copy and hence remove bogus code.
67 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
69 * MessageProperties.cs : copy argument is wrong.
71 2009-05-27 Atsushi Enomoto <atsushi@ximian.com>
73 * PeerCustomResolverBindingElement.cs : some argument check.
75 2009-05-27 Atsushi Enomoto <atsushi@ximian.com>
77 * BinaryMessageEncoder.cs : the serializer somehow leaves binary
78 xml open, so close the writer as well as open elements.
79 * TcpDuplexSessionChannel.cs : clear write buffer on each operation.
80 Do not output EndRecord and SizedMessage at a time.
82 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
84 * TcpDuplexSessionChannel.cs : there was a miscalculation on the
85 length of the SizedMessage in the output.
87 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
89 * CommunicationObject.cs : use sane default timeout.
90 * PeerCustomResolverBindingElement.cs : check timeout arg sanity.
91 * TcpDuplexSessionChannel.cs : ditto.
93 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
95 * TcpDuplexSessionChannel.cs : It seems that buffered stream channel
96 only accepts buffered messages, so do as such for write buffers.
99 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
101 * DuplexSessionChannelBase.cs, DuplexChannelBase.cs:
102 rename from former to latter.
104 2009-05-25 Atsushi Enomoto <atsushi@ximian.com>
106 * TcpDuplexSessionChannel.cs : reader does not always return full
107 buffer (depending on the stream).
109 2009-05-25 Atsushi Enomoto <atsushi@ximian.com>
111 * PeerDuplexChannel.cs, PeerOutputChannel.cs : use new PeerNode.ctor.
113 2009-05-25 Atsushi Enomoto <atsushi@ximian.com>
115 * PeerCustomResolverBindingElement.cs : (Resolve) returned addresses
118 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
120 * ChannelManagerBase.cs : there was annoying non-2.1 stuff.
122 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
124 * TcpChannelListener.cs, TcpChannelFactory.cs : get reader quotas.
126 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
128 * ChannelManagerBase.cs : fix wrong session channel detection.
130 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
132 * BinaryMessageEncoderFactory.cs, BinaryMessageEncoder.cs
133 This encoder factory implements CreateSessionEncoder() and binary
134 encoder does support session transmit, in different media type.
135 * ChannelManagerBase.cs : added utility method to create appropriate
137 * HttpChannelFactory.cs, HttpChannelListener.cs,
138 MsmqChannelFactory.cs, MsmqChannelListener.cs,
139 PeerChannelFactory.cs, PeerChannelListener.cs,
140 TcpChannelFactory.cs, TcpChannelListener.cs : use above.
142 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
144 * TcpDuplexSessionChannel.cs : add ReplyTo header.
146 2009-05-21 Atsushi Enomoto <atsushi@ximian.com>
148 * DuplexSessionBase.cs : new file, for session implementation.
149 * TcpDuplexSessionChannel.cs, PeerDuplexChannel.cs,
150 DuplexSessionChannelBase.cs : changed sync/async implementation
151 pattern. Now async methods call sync methods using delegates.
153 2009-05-21 Atsushi Enomoto <atsushi@ximian.com>
155 * InputChannelBase.cs, TransportBindingElement.cs, RequestContext.cs:
156 a few minor API fixes.
158 2009-05-21 Atsushi Enomoto <atsushi@ximian.com>
160 * MessageEncoderFactory.cs : implement CreateSessionEncoder().
162 2009-05-19 Atsushi Enomoto <atsushi@ximian.com>
164 * TcpDuplexSessionChannel.cs : add To header.
166 2009-05-19 Atsushi Enomoto <atsushi@ximian.com>
168 * MessageFault.cs : fix several SOAP12 fault deserialization in xml
171 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
173 * FaultConverter.cs : avoid NRE for null IncomingMessageHeaders.
175 2009-05-15 Atsushi Enomoto <atsushi@ximian.com>
177 * MessageFault.cs : Reason is mandatory. raise XmlException, and
178 CommunicationException in each CreateFault().
180 2009-05-15 Atsushi Enomoto <atsushi@ximian.com>
182 * TcpDuplexSessionChannel.cs : on listener side, get TcpClient at
183 Open(). Some (but not all yet) continuous communication works now.
184 Use ProtocolException. Remove dummy binary session string.
186 2009-05-14 Atsushi Enomoto <atsushi@ximian.com>
188 * TcpDuplexSessionChannel.cs : more [MC-NMF] implementation. Moved
189 sending/receiving SizedMessageRecord parts to manager class.
190 Handle writer session, though it is likely broken at dictionary
191 writer part (no string is written so far).
192 * BinaryMessageEncoder.cs : add writer session and rename reader
195 2009-05-14 Atsushi Enomoto <atsushi@ximian.com>
197 * TcpDuplexSessionChannel.cs : more [MC-NMF] implementation. Via uri
198 is mandatory in initiator preamble packet. Handle Fault reply in
201 2009-05-14 Atsushi Enomoto <atsushi@ximian.com>
203 * TcpDuplexSessionChannel.cs : ongoing refactoring to collect [MC-NMF]
204 based communication under TcpBinaryFrameManager class.
206 2009-05-13 Jb Evain <jbevain@novell.com>
208 * MessageHeader.cs: use a SL friendly way of creating an XmlReader
211 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
213 * MessageImpl.cs, MessageHeader.cs : eliminate xlinq in 2.1, and
214 actually eliminate DOM-based implementation too in 2.0.
216 2009-04-28 Atsushi Enomoto <atsushi@ximian.com>
218 * TcpDuplexSessionChannel.cs : implement in-band dictionary support
219 in [MC-NMF] and [MC-NBFSE], used in duplex channels. Added some
220 comments for magic numbers based on [MC-NMF].
222 2009-04-28 Atsushi Enomoto <atsushi@ximian.com>
224 * BinaryMessageEncoder.cs : implement part of in-band dictionary
225 support for [MC-NBFSE] record in [MC-NMF], in this class.
227 2009-04-28 Atsushi Enomoto <atsushi@ximian.com>
229 * BinaryMessageEncodingBindingElement.cs : clear extra public members.
231 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
233 * TcpDuplexSessionChannel.cs : implemented some channel methods.
235 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
237 * BinaryMessageEncoder.cs : use XmlDictionary specified as [MC-NBFS].
239 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
241 * ChannelManagerBase.cs : implement Open/CloseTimeout correctly.
243 2009-04-23 Atsushi Enomoto <atsushi@ximian.com>
245 * BinaryMessageEncoder.cs : use quotas in binding element.
246 Implement WriteMessage().
248 2009-04-22 Atsushi Enomoto <atsushi@ximian.com>
250 * PeerCustomResolverBindingElement.cs : do initialize field.
252 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
254 * PeerCustomResolverBindingElement.cs :
255 implement full custom resolver.
257 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
259 * PeerDuplexChannel.cs, PeerChannelListener.cs,
260 PeerOutputChannel.cs, PeerCustomResolverBindingElement.cs,
261 PeerChannelFactory.cs : ongoing p2p channel implementation.
263 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
265 * PnrpPeerResolverBindingElement.cs : sync with PeerResolver changes.
267 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
269 * BinaryMessageEncodingBindingElement.cs, ChannelBase.cs,
270 ChannelFactoryBase.cs, WindowsStreamSecurityBindingElement.cs :
271 implement GetProperty<T>(). Return documented objects or null.
273 2009-04-20 Atsushi Enomoto <atsushi@ximian.com>
275 * PeerChannelFactory.cs, PeerChannelListener.cs,
276 PeerCustomResolverBindingElement.cs, PeerDuplexChannel.cs
277 PeerInputChannel.cs, PeerOutputChannel.cs :
278 new; ongoing peer transport implementation.
279 * DuplexSessionChannelBase.cs, InputChannelBase.cs
280 MsmqOutputChannel.cs, OutputChannelBase.cs,
281 PeerResolverBindingElement.cs, PeerTransportBindingElement.cs,
282 PnrpPeerResolverBindingElement.cs, TcpDuplexSessionChannel.cs :
283 several internal changes (either required or for simplification)
284 for ongoing peer transport implementation.
286 2009-04-08 Atsushi Enomoto <atsushi@ximian.com>
288 * PeerTransportBindingElement.cs : ListenIPAddress is IPAddress.
290 2009-04-07 Atsushi Enomoto <atsushi@ximian.com>
292 * TcpTransportBindingElement.cs : check build-ability before
293 actually building channels.
294 * ConnectionOrientedTransportBindingElement.cs : fixed build-ability
295 conditions according to MSDN.
297 2009-03-05 Atsushi Enomoto <atsushi@ximian.com>
299 * MessageHeader.cs, MessageHeaders.cs, MessageImpl.cs :
300 handle headers in SL2. Slightly changed 3.0 code too.
302 2009-03-04 Atsushi Enomoto <atsushi@ximian.com>
304 * HttpRequestChannel.cs : use cross domain access manager.
306 2009-02-27 Atsushi Enomoto <atsushi@ximian.com>
308 * Message.cs : (in CreateBufferedCopy) do not pass the entire
309 message as BodyWriter.
310 (in GetReaderAtBodyContents) just write body contents.
311 * MessageImpl.cs : do not try to read body at ctor (fixed tons
313 Add some state check in GetReaderAtBodyContents().
314 * XmlReaderBodyWriter.cs : avoid possible extra xmldecl onto output.
316 2009-02-18 Atsushi Enomoto <atsushi@ximian.com>
318 * Message.cs : do not forget to flush.
319 * HttpRequestChannel.cs : give more exact error info.
321 2009-02-18 Atsushi Enomoto <atsushi@ximian.com>
323 * Message.cs, MessageBufferImpl.cs, XmlReaderBodyWriter.cs :
324 make buffered copy in ML2 really buffered.
326 2009-02-12 Atsushi Enomoto <atsushi@ximian.com>
328 * Message.cs : if there is no header item to write, do not write
331 2009-01-22 Alan McGovern <amcgovern@novell.com>
333 * MessageHeaders.cs : List<T>.RemoveAll(Predicate<T>) doesn't exist in Silverlight.
334 Rewrite to avoid usage of it.
336 2009-01-14 Atsushi Enomoto <atsushi@ximian.com>
338 * ChannelParameterCollection.cs : implement, rather than NIE.
340 2008-05-22 Noam Lampert <noaml@mainsoft.com>
342 * MessageFault.cs: Correctly serialize ExceptionDetails. Expose SimpleMessageFault to allow
343 internal users to know the type of the detail.
345 2008-05-20 Noam Lampert <noaml@mainsoft.com>
347 * Message.c: Use private setter for state private variable to ease debugging.
348 Modify ToString not to change the state, as it is called quite often by VS debugger
350 2008-04-21 Roei Erez <roeie@mainsoft.com>
352 * HttpChannleManager: Fix for multithreaded use.
353 * HttpReplyChannel: Fix crash during sutdown.
355 2008-04-17 Igor Zelmanovich <igorz@mainsoft.com>
357 * HttpChannleManager: ensure trailing slash in uri.
359 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
361 * added: HttpChannleManager,
362 * HttpChannelListener: added use of HttpChannelManager
364 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
366 * MessageEncodingBindingElement.cs: fixed ctor
368 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
370 * XmlReaderBodyWriter.cs: fixed ctor, skip xml declaration
372 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
374 * HttpReplyChannel.cs: fixed TryReceiveRequest, fix message header To
376 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
378 * MessageFault.cs: fixed CreateFault11, implemented "detail"
380 2008-04-17 Noam Lampert <noaml@mainsoft.com>
382 * HttpReplyChannel.cs: fix API - Fix crash during service shutdown.
384 2008-04-13 Igor Zelmanovich <igorz@mainsoft.com>
386 * BindingElementCollection.cs: fix API - .ctor's signature.
388 2008-04-10 Eyal Alaluf <eyala@mainsoft.com>
390 * XmlSerializerBodyWriter.cs: Removed.
392 2008-03-25 Vladimir Krasnov <vladimirk@mainsoft.com>
394 * MessageFault.cs: fixed WriteReason, .net XmlWriter compatible
396 2008-02-20 Atsushi Enomoto <atsushi@ximian.com>
398 * DuplexSessionChannelBase.cs : made it non-session (more reusable).
399 * TcpChannelFactory.cs, TcpChannelListener.cs :
400 unify factory and listener into TcpChannelInfo for use in
401 TCP channel implementation. Do not store stream in the listener.
402 Factory now uses BinaryMessageEncoder.
403 * TcpDuplexSessionChannel.cs : changes explained above, and now it
404 holds TcpClient that the listener has accepted.
406 tcp-transport-binding-element sample now communicates (though
407 only when both sides are mono: there seems binary mismatch).
409 2008-02-20 Atsushi Enomoto <atsushi@ximian.com>
411 * TcpTransportBindingElement.cs, TcpConnectionPoolSettings.cs :
412 clone connection pool settings too.
413 * NamedPipetransportBindingElement.cs,
414 NamedPipeConnectionPoolSettings.cs : let's clean them up too (not
415 being likely implemented though).
417 2008-02-20 Atsushi Enomoto <atsushi@ximian.com>
419 * ConnectionOrientedTransportBindingElement.cs,
420 TcpTransportBindingElement.cs : some API updates.
421 Initialize default values.
422 * TcpConnectionPoolSettings.cs : new file.
424 2008-02-18 Atsushi Enomoto <atsushi@ximian.com>
426 * ServiceHostParser.cs, SvcHttpHandlerFactory.cs, SvcHttpHandler.cs:
427 added support for "factory" attribute.
429 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
431 * HttpRequestContent.cs : consider HttpResponseMessageProperty.
433 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
435 * HttpRequestChannel.cs : pass response ContentType to ReadMessage().
437 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
439 * HttpRequestChannel.cs : create WebRequest against To message header
441 Consider HttpRequestMessageProperty.
442 Do not output body when suppressed or the method is GET.
444 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
446 * HttpChannelListener.cs : BindingContext may not have listenUri
449 2008-02-08 Atsushi Enomoto <atsushi@ximian.com>
451 * BindingContext.cs : RemainingBindingElements is not just a dummy
452 collection but is actually user-controlled.
454 2008-02-08 Atsushi Enomoto <atsushi@ximian.com>
456 * TcpChannelFactory.cs, TcpChannelListener.cs,
457 HttpChannelFactory.cs, HttpChannelListener.cs,
458 MsmqChannelFactory.cs, MsmqChannelListener.cs,
459 TextMessageEncodingBindingElement.cs,
460 BinaryMessageEncodingBindingElement.cs,
461 MtomMessageEncodingBindingElement.cs :
462 message encoder should be retrieved only through public API.
463 * BindingContext.cs : so my old guess was wrong.
465 See also: http://blogs.msdn.com/drnick/archive/2006/05/10/594134.aspx
467 2008-02-05 Atsushi Enomoto <atsushi@ximian.com>
469 * HttpTransportBindingElement.cs : implemented copy constructor.
471 2007-08-20 Atsushi Enomoto <atsushi@ximian.com>
473 * HttpRequestChannel.cs, HttpReplyChannel.cs : treat SOAPAction HTTP
474 header when AddressingVersion is None.
476 2007-08-20 Atsushi Enomoto <atsushi@ximian.com>
478 * MessageHeaders.cs : AddressingVersion.None rejects some WSA
481 2007-08-19 Atsushi Enomoto <atsushi@ximian.com>
483 * OneWayBindingElementImporter.cs
484 CompositeDuplexBindingElementImporter.cs : new files.
486 2007-08-17 Atsushi Enomoto <atsushi@ximian.com>
488 * MessageHeaders.cs : due to the DataContractSerializer.ReadObject()
489 semantic change, its bool parameter must be false, not true.
491 2007-07-13 Atsushi Enomoto <atsushi@ximian.com>
493 * InputChannelBase.cs, MsmqChannelListener.cs, MsmqInputChannel.cs :
494 new files. Msmq transport listener Implementation.
495 * MsmqOutputChannel.cs : implemented Send(). Not sure if it works
496 (wait for System.Messaging impl.)
497 * HttpReplyChannel.cs : added comment
499 2007-07-06 Atsushi Enomoto <atsushi@ximian.com>
501 * MsmqChannelFactory.cs MsmqOutputChannel.cs OutputChannelBase.cs :
502 new files. internal stuff for msmq channel.
503 * BinaryMessageEncoder.cs : added another .ctor().
504 * MsmqTransportBindingElement.cs :
505 implemented [Can]BuildChannelFactory().
507 2007-07-06 Atsushi Enomoto <atsushi@ximian.com>
509 * MsmqBindingElementBase.cs MsmqTransportBindingElement.cs :
510 initialize some fields.
512 2007-07-05 Atsushi Enomoto <atsushi@ximian.com>
514 * MsmqBindingElementBase.cs MsmqMessageProperty.cs
515 MsmqTransportBindingElement.cs ITransactedBindingElement.cs :
516 couple of msmq stubs.
518 2007-04-02 Atsushi Enomoto <atsushi@ximian.com>
520 * SecureMessageGenerator.cs : SecurityContextToken support (though
521 it is still regarded as invalid by WCF).
523 2007-03-13 Atsushi Enomoto <atsushi@ximian.com>
525 * WSSecurityMessageHeader.cs, SecureMessageGenerator.cs :
526 make header.Contents.Add() more strict.
527 Use HasAsymmetricKey to determine whether to use asymmetric algorithm
529 Added some hack to allow ssl token external mode.
530 Commented out such lines that always premised asymmtric key.
532 2007-03-08 Atsushi Enomoto <atsushi@ximian.com>
534 * TransactionFlowBindingElement.cs : forgot necessary Clone().
536 2007-03-08 Atsushi Enomoto <atsushi@ximian.com>
538 * MessageSecurityBindingSupport.cs : support check to create
539 authenticator is now done in both initiator/recipient sides.
540 * SecurityRequestContext.cs : don't encrypt WS-Trust RSTR.
542 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
544 * MessageSecurityBindingSupport.cs : for now, comment out the code
545 that makes authenticator creation optional.
546 * SecurityRequestContext.cs : don't decrypt message when it is
547 WS-Trust messages. Also, do not secure SOAP Fault (it is likely
549 * SecurityChannelListener.cs : GetProperty<T>() now returns
550 MessageSecurityBindingSupport when requested. It is used by
551 EndpointDispatcher to check if it supports WS-Trust negotiation.
552 * ChannelListenerBase.cs :
553 removed extra TODO and field. Implemented GetProperty<T>().
554 * Message.cs : In CreateMessage() for SOAP Fault, create
555 SimpleMessage with IsFault = true.
557 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
559 * SecurityRequestContext.cs : try to reply fault with the inner
560 channel when an error occurred internally.
561 * FaultConverter.cs : implemented based on OperationContext (at normal
562 state it does not seem to create messages, so I implemented it this
565 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
567 * TransportBindingElement.cs : implemented GetProperty<T>().
568 * TransactionFlowBindingElement.cs : on building factory or listener,
569 reject channel types that cannot build.
570 * SecurityBindingElement.cs : added some TODO comments.
571 * HttpTransportBindingElement.cs : GetProperty<T>() should rather
572 delegate to base, not BindingContext.
573 * SecurityRequestContext.cs : somewhat late decryption.
575 2007-03-06 Atsushi Enomoto <atsushi@ximian.com>
577 * MessageSecurityBindingSupport.cs,
578 AsymmetricSecurityBindingElement.cs,
579 SymmetricSecurityBindingElement.cs :
580 renamed *SecurityBindingElementSupport to *SecurityCapabilities and
581 implemented ISecurityCapabilities on them. Now those binding
582 elements support GetProperty<ISecurityCapabilities>().
584 2007-03-05 Atsushi Enomoto <atsushi@ximian.com>
586 * SecurityBindingElement.cs : SetIssuerBindingContextIfRequired()
587 will work only for predefined parameter types.
589 2007-03-01 Atsushi Enomoto <atsushi@ximian.com>
591 * MessageSecurityBindingSupport.cs :
592 Set proper MessageDirection to the requirement after creation.
593 split CreateTokenAuthenticator() as MessageDirection is different.
594 Removed extra creation of requirement.
596 2007-03-01 Atsushi Enomoto <atsushi@ximian.com>
598 * MessageSecurityBindingSupport.cs : token authenticator is not
599 always created on channel-opening stage.
600 * SecurityBindingElement.cs : use SslSecurityTokenParameters for
601 Sslnego binding factory method.
603 2007-02-28 Atsushi Enomoto <atsushi@ximian.com>
605 * SecureMessageGenerator.cs : inconsistent ReferenceList has caused
606 signature velification failure.
608 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
610 * SecureMessageGenerator.cs : encrypt signature confirmations only
611 when they are required.
613 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
615 * SecureMessageGenerator.cs : SignatureConfirmation must be encrypted
616 when [Signature Protection is true i.e. when we use
617 SignBeforeEncryptAndEncryptSignature.
619 With this change finally samplesvc.cs/samplecli.cs became
622 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
624 * SecureMessageDecryptor.cs : signature verification was not done
625 for endorsing supporting tokens.
626 * SecureMessageGenerator.cs : moved SignatureConfirmation position
627 in the security header. Don't output empty ReferenceList.
629 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
631 * SecureMessageGenerator.cs : signingToken was added before being
632 initialized and thus caused NRE.
634 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
636 * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
637 SecureMessageGenerator.cs : use SHA1 instead of HMACSHA1. Now we
638 don't need workaround for symmetric key restoration.
640 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
642 * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
643 SecureMessageGenerator.cs :
644 Avoid extra reference search from the request's ReferenceList.
645 create HMACSHA1 always with the key to compute hash (I'm not sure
646 it is correct; it is rather to adjust all hash consistent.)
648 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
650 * SecureMessageDecryptor.cs : verify that endorsing supporting tokens
651 actually endorsed the primary signature.
652 * SecureMessageGenerator.cs : implemented endorsing of the primary
653 signature. So, now supporting tokens are fully implemented.
655 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
657 * MessageSecurityBindingSupport.cs : so, those supporting tokens are
658 totally signing tokens.
659 * SecureMessageGenerator.cs : Endorsing tokens should also be
660 included in the message. They are just not signed.
662 2007-02-26 Atsushi Enomoto <atsushi@ximian.com>
664 * SecureMessageGenerator.cs : support signing and encryption of
665 supporting tokens. Some required refactory to do it.
666 * MessageSecurityBindingSupport.cs : added EncryptedData member.
668 2007-02-26 Atsushi Enomoto <atsushi@ximian.com>
670 * SecureMessageDecryptor.cs : fix exception message.
671 * WSSecurityMessageHeader.cs, WSSignedXml.cs, WSEncryptedXml.cs :
672 XmlNamespaceManager is not required for GetIdElement().
674 2007-02-22 Atsushi Enomoto <atsushi@ximian.com>
676 * SecureMessageDecryptor.cs, WSSecurityMessageHeader.cs :
677 moved decryption part from former file to latter file, to reuse
678 SignedXml instance (though now I doubt how it actually was good)
679 which in turn required to replace EncryptedData in
680 WSSecurityMessageHeader with decrypted one.
681 * WSEncryptedXml.cs : similar to WSSignedXml.cs, to handle wsu:Id.
683 2007-02-21 Atsushi Enomoto <atsushi@ximian.com>
685 * SecureMessageGenerator.cs : when we create DerivedKeyToken, those
686 EncryptedData should contain KeyInfo as it is not obvious which key
687 is used there. .net<->mono DerivedKeyToken introp is done.
688 * SecureMessageDecryptor.cs : check derived key requirement.
689 Reduce dom-dependent parts.
691 2007-02-21 Atsushi Enomoto <atsushi@ximian.com>
693 * WSSecurityMessageHeader.cs : ReferenceList needs to be bound to
694 the related DerivedKeyToken (if any).
695 * SecureMessageGenerator.cs : largely done with DerivedKeyToken
696 support. Some refactoring to distinguish deried-token-related
698 * SecureMessageDecryptor.cs : removed its own support for derived
699 key tokens. Now it fully works with DerivedKeySecurityToken.
701 2007-02-21 Atsushi Enomoto <atsushi@ximian.com>
703 * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
704 SecureMessageDecryptor.cs :
705 Implemented increment token reading in o:Security, as
706 DerivedKeyToken could reference to existing wrapped key.
707 Removed WsscDerivedKeyToken and all relevant code.
708 * SecureMessageGenerator.cs : replaced WsscDerivedKeyToken with
709 DerivedKeySecurityToken.
711 2007-02-16 Atsushi Enomoto <atsushi@ximian.com>
713 * SecureMessageGenerator.cs : it was setting security tokens into
714 incorrect SecurityMessageProperty.
715 Use correct WrappedKeySecurityToken for EncryptedKeySHA1.
716 Now it uses SecurityRequestContext instead of just primary key.
717 * SecureMessageDecryptor.cs : removed extra lines. Limit workarounds
718 to symmetric reply decryption, which is the only trouble case.
719 Do not create another SignedXml.
720 * WSSecurityMessageHeader.cs : SignedXml processing changes above.
722 2007-02-15 Atsushi Enomoto <atsushi@ximian.com>
724 * SecureMessageDecryptor.cs : Now it uses union token resolver and
725 the resolver works with in-progress token reading in o:Security.
726 * WSSecurityMessageHeader.cs : now it does not read EncryptedKey
727 as EncryptedKeyIdentifierClause. It is rather a SecurityToken.
728 * SecureMessageGenerator.cs : cosmetic refactoring.
730 2007-02-14 Atsushi Enomoto <atsushi@ximian.com>
732 * WSSecurityMessageHeader.cs : read EncryptedKeyIdentifierClause
733 instead of EncryptedKey.
735 2007-02-13 Atsushi Enomoto <atsushi@ximian.com>
737 * MessageSecurityBindingSupport.cs : SigningToken and EncryptionToken
738 should not be always prepared at channel Open(). It also caused
739 that extra token requirements.
740 * SecureMessageGenerator.cs : use correct key clause for encryption.
741 * SecureMessageDecryptor.cs : reduce extra key acquisition.
743 2007-02-06 Atsushi Enomoto <atsushi@ximian.com>
745 * MessageSecurityBindingSupport.cs : added CreateTokenAuthenticator()
746 for supporting 'supporting tokens' .
747 * SecureMessageGenerator.cs : Supporting token creation is done only
748 at initiator (not sure if it is supposed that, but for now it is).
749 Removed extraneous CollectSupportingTokens().
750 * SecureMessageDecryptor.cs : implemented supporting token
751 authentication (partly). "Signed" supporting tokens are expected
754 2007-02-06 Atsushi Enomoto <atsushi@ximian.com>
756 * SecureMessageGenerator.cs :
757 make SignBeforeEncryptAndEncryptSignature working.
759 2007-02-06 Atsushi Enomoto <atsushi@ximian.com>
761 * SecureMessageGenerator.cs : EncryptedKeySHA1 needs key hash, not
762 the key itself. ProtectionToken is WrappedKey.
763 * SecureMessageDecryptor.cs : now it is internal encrypted key clause,
764 not EncryptedKeyIdentifierClause which is not for embedded key.
765 * MessageProperties.cs : Fixed copy direction in CopyProperties().
767 2007-02-05 Atsushi Enomoto <atsushi@ximian.com>
769 * MessageSecurityBindingSupport.cs : added DefaultKeyWrapAlgorithm
770 to switch asymmetric and symmetric. Not used yet.
771 * SecurityRequestChannel.cs : now it pass the request security
772 property to reply receiver so that it could use the primary key
773 used at request phase.
774 * SecurityRequestContext.cs : now it pass the context itself to
775 reply sender so that it could embed related MessageID.
776 * SecureMessageGenerator.cs : ongoing changes to support symmetric
777 binding element. Add RelatesTo output and remove MessageID when
778 replying to the sender. Added some hacks to get symmetric binding
780 * SecureMessageDecryptor.cs : ditto. Handle embedded encryption key
781 in SecurityTokenReference (it also involved existing encrypted key
782 retrieval). In reply receiver, reuse the key that was used at
783 request phase. It needs significant token resolution refactoring.
785 2007-02-02 Atsushi Enomoto <atsushi@ximian.com>
787 * MessageSecurityBindingSupport.cs : cosmetic refactoring.
788 * SecureMessageDecryptor.cs : store token and its authentication
789 policies into the security property, and reuse it on reply.
790 Some code refactoring; there is at most one o:Security to solve at
791 one endpoint (depends on Actor). Some attempt to use correct
792 token parameters (but for now I have only samples that use x509).
793 * SecureMessageGenerator.cs : For replying message, use initiator's
794 signing token as the encryption token. Simply reuse security
795 property from the input message.
797 I have some nasty workaround at decryptor for initiator that could
798 not retrieve decryption key.
800 2007-02-02 Atsushi Enomoto <atsushi@ximian.com>
802 * SecureMessageGenerator.cs, SecurityChannelListener.cs,
803 SecurityRequestContext.cs, MessageSecurityBindingSupport.cs:
804 several refactoring on token acquisition. Large part of
805 MessageSecurityBindingSupport code is unified.
807 2007-02-02 Atsushi Enomoto <atsushi@ximian.com>
809 * MessageProperties.cs : Security property should be one of the items.
810 Actually many other properties should be similar as well.
811 * MessageImpl.cs, MessageBufferImpl.cs, Message.cs :
812 when copying a message, copy properties as well.
813 * SecurityRequestContext.cs : on replying, pass input
814 SecurityMessageProperty to the security generator.
815 * SecureMessageGenerator.cs : both of above, for SignatureConfirmation
817 * WSSecurityMessageHeader.cs : fixed lazy .ctor() that did nothing.
819 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
822 MessageHeader.cs, Message.cs, WSSecurityMessageHeader.cs,
823 SecureMessageDecryptor.cs, SecureMessageGenerator.cs:
824 use new WSSignedXml instead of SignedXml, and remove coexisting
825 Id and wsu:Id. Now we can live only with wsu:Id and therefore
826 - our reply messages could be consumed by .NET, and
827 - .NET signature could be verified.
829 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
831 * SecureMessageDecryptor.cs : The signing key must be passed as
832 CheckSignature() argument, not SigningKey.
834 2007-01-31 Atsushi Enomoto <atsushi@ximian.com>
836 * MessageImpl.cs : don't read attribute after ReadStartElement().
838 2007-01-31 Atsushi Enomoto <atsushi@ximian.com>
840 * MessageSecurityBindingSupport.cs : some Release() refactoring.
841 * SecureMessageGenerator.cs : use correct signing key clause for
842 SecurityTokenReferenceKeyInfo to be serialized.
843 * SecureMessageDecryptor.cs : now it can try to parse signature.
845 2007-01-31 Atsushi Enomoto <atsushi@ximian.com>
847 Ongoing changes to support signature confirmation
848 * SecureMessageGenerator.cs :
849 Don't output ReplyTo onto reply message.
850 Write SignatureConfirmation if needed.
851 * SecureMessageDecryptor.cs :
852 Some refactoring for header cunsumption. Added commented-out
853 signature verification part (not working yet, on client side due
854 to incorrect reply from service and insufficient clause reader).
855 * WSSecurityMessageHeader.cs :
856 Added SignatureConfirmation support.
857 KeyInfoClause for o:SecurityTokenReference should be replaced with
858 SecurityTokenReferenceKeyInfo.
860 2007-01-29 Atsushi Enomoto <atsushi@ximian.com>
862 * SecureMessageGenerator.cs : support Timestamp signature.
863 Removed unused code, and extra argument in CreateReference().
864 * WSSecurityMessageHeader.cs : Timestamp also needs Id for SignedXml.
866 2007-01-29 Atsushi Enomoto <atsushi@ximian.com>
868 * SecureMessageGenerator.cs :
869 Several fixes to make asymmetric binding working:
870 - Differentiate signing and encryption token in several areas.
871 - Fixed signing keyinfo.
873 Added initial SecurityMessageProperty handling, not sure if it is
874 appropriate here though.
875 * HttpRequestChannel.cs : (some debugging lines)
877 2007-01-26 Atsushi Enomoto <atsushi@ximian.com>
879 Woohoo! Here is a very basic WS-Security compliant message which could
880 be allowed by Indigo.
881 * MessageHeader.cs : added Id support for writing.
882 * Message.cs : added internal BodyId for signature reference.
883 * MessageImpl.cs : write Body Id if required.
884 * SecureMessageGenerator.cs : Before signing, the target elements must
885 be given wsu:Id. Since I still use System.Security.dll, I need some
886 trick for signing (I give both Id and wsu:Id, former to sign and
887 latter to be consumed). Maybe I will have to replace xmldsig/xmlenc
888 implementation later. Now singning mechanism works except for
889 wsu:Timestamp (which is kind of mandatory).
891 I can's still consume replies from Indigo but it's a big progress :)
893 2007-01-26 Atsushi Enomoto <atsushi@ximian.com>
895 * MessageHeaderInfo.cs : added internal Id.
896 * MessageHeader.cs : read and write wsu:Id.
897 * Message.cs : output wsu namespace if Id exists in any header.
898 * HttpReplyChannel.cs : (some debugging lines.)
899 * SecureMessageDecryptor.cs : (remove debugging lines.)
900 * MessageImpl.cs : removed obsolete code.
901 * WSSecurityMessageHeader.cs : output "o" prefix.
902 * SecureMessageGenerator.cs : replaced XmlElement-based header
903 signing with MessageHeader-based signing, to support Id correctly.
905 2007-01-15 Atsushi Enomoto <atsushi@ximian.com>
907 * SecureMessageGenerator.cs : some more refactoring and code comments.
908 * MessageSecurityUtility.cs : made decryptor into an instance class,
909 like I've done for SecureMessageGenerator.
910 * SecurityRequestContext.cs, SecurityRequestChannel.cs :
911 dependent changes for above.
913 2007-01-12 Atsushi Enomoto <atsushi@ximian.com>
915 * SecureMessageGenerator.cs : fixed derived keysize. derived key was
916 causing NRE due to the lack of token reference.
917 No need to pass doc to SignedXml.ctor() anymore.
918 Moved ReferenceList before the signature(s).
920 2007-01-12 Atsushi Enomoto <atsushi@ximian.com>
922 * SecureMessageGenerator.cs : add wsu:Timestamp to signing target.
923 Moved signing key generation code to non-HMACSHA1 signing part.
924 Don't try to sign wss:Security.
925 Pass document itself to SignedXml.ctor().
926 Use temporary DataObjects to avoid adding Ids (not sure what is the
927 expected processing yet).
928 * WSSecurityMessageHeader.cs : to support timestamp signing, add
929 WriteTo() method in WsuTimestamp.
931 2007-01-12 Atsushi Enomoto <atsushi@ximian.com>
933 * SecureMessageGenerator.cs : wrong key was used for signing.
934 Omit KeyInfo for now - it seems that .net (sometimes?) omits it.
936 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
938 * SecureMessageGenerator.cs :
939 Now ID generation process does not modify input message.
940 Moved derived key generation part into (virtual) signing loop.
941 MessagePartSpecification support for signing is done.
943 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
945 * SecureMessageGenerator.cs : some reordering to handle signing and
946 encryption with supporting tokens. Fixed XPath query bug for
947 soap header contents (we want s:Header/*, not s:Header).
949 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
951 * MessageSecurityBindingSupport.cs : more refactoring.
952 Made it abstract and added Initiator- and Recipient- classes.
953 Several members were moved to those derived types.
954 * AsymmetricSecurityBindingElement.cs,
955 SymmetricSecurityBindingElement.cs
956 SecurityChannelFactory.cs, SecurityChannelListener.cs,
957 SecurityRequestChannel.cs, SecurityOutputChannel.cs,
958 SecurityRequestContext.cs, SecureMessageGenerator.cs :
959 All dependent changes by above. Removed ISecurityChannelSource
960 which became useless.
962 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
964 * SecureMessageGenerator.cs : encryption parts should exist too.
965 * AsymmetricSecurityBindingElement.cs
966 SymmetricSecurityBindingElement.cs,
967 MessageSecurityBindingSupport.cs : some refactoring.
968 Split MessageSecurityBindingSupport into security binding element
969 specific parts and made MessageSecurityBindingSupport concrete.
970 It is likely split again, next time based on initiator/recipient.
972 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
974 * MessageSecurityUtility.cs, SecureMessageGenerator.cs :
975 split encryptor part in the former file into latter file, and
977 * SecurityRequestChannel.cs, SecurityOutputChannel.cs,
978 SecurityRequestContext.cs : apply the change above.
980 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
982 * MessageSecurityBindingSupport.cs :
983 Fixed incorrect TrgGetValue() use.
984 Added CollectRecipientSupportingTokens().
986 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
988 * MessageSecurityUtility.cs: acctually ReferenceList was inside
989 EncryptedKey. So, when a key itself is used to encrypt data,
990 ReferenceList is contained by itself.
991 * MessageSecurityBindingSupport.cs :
992 added CollectInitiatorSupportingTokens().
994 2007-01-10 Atsushi Enomoto <atsushi@ximian.com>
996 * MessageSecurityUtility.cs: it should support ReferenceList-less
999 2007-01-10 Atsushi Enomoto <atsushi@ximian.com>
1001 * WSSecurityMessageHeader.cs : reverted previous unnecessary change.
1002 * MessageSecurityUtility.cs : there already was uuid.
1004 2007-01-09 Atsushi Enomoto <atsushi@ximian.com>
1006 * MessageSecurityUtility.cs : replaced EncryptedKey with
1007 WrappedKeySecurityToken, which seems to be in actual use in .net.
1008 * WSSecurityMessageHeader.cs : added internal Guid so that it
1009 could be shared between header items.
1011 2006-12-14 Atsushi Enomoto <atsushi@ximian.com>
1013 * HttpRequestContext.cs, TextMessageEncoder.cs :
1014 some null arg check.
1016 2006-12-08 Atsushi Enomoto <atsushi@ximian.com>
1018 * MessageSecurityUtility.cs : reducing DOM dependency. Use KeyInfoNode
1019 for SecurityTokenReference resolution.
1021 2006-12-08 Atsushi Enomoto <atsushi@ximian.com>
1023 * MessageSecurityUtility.cs : fixed EncryptedData decryption to
1024 consider DerivedKeyTokens correctly.
1025 When creating LocalId, don't add '#' here.
1027 2006-12-07 Atsushi Enomoto <atsushi@ximian.com>
1029 * MessageSecurityUtility.cs :
1030 handle key mapping for each wsse:Security.
1032 2006-12-07 Atsushi Enomoto <atsushi@ximian.com>
1034 * WSSecurityMessageHeader.cs : use prefix "c" for ws-secureconv.
1036 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1038 * WSSecurityMessageHeader.cs : write top-level ReferenceList in
1040 * MessageSecurityUtility.cs :
1041 Now ReferenceList is placed under wsse:Security as WS-Security 1.1
1042 suggests, and it is used to dereference decryption targets.
1043 Now it premises multiple wsse:Security elements to read.
1045 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1047 * WSSecurityMessageHeader.cs : don't write o:SecurityTokenReference
1048 manually (and actually the namespace URI was wrong).
1050 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1052 * WSSecurityMessageHeader.cs : improved DerivedKeyToken writing
1054 * MessageSecurityUtility.cs : DerivedKeyToken creation.
1056 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1058 * SecurityBindingElement.cs,
1059 SymmetricSecurityBindingElement.cs,
1060 AsymmetricSecurityBindingElement.cs :
1061 implemented SetKeyDerivation().
1063 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1065 * MessageSecurityUtility.cs : don't add KeyInfoClause to EncryptedKey
1068 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1070 * MessageBufferImpl.cs : XmlReader-based buffer is not possible, so
1073 2006-12-05 Atsushi Enomoto <atsushi@ximian.com>
1075 * MessageSecurityUtility.cs : u:Timestamp will be encrypted/signed,
1076 thus move it in front of encryption/signing.
1078 2006-12-04 Atsushi Enomoto <atsushi@ximian.com>
1080 * TransactionFlowBindingElement.cs : OnOpen()/OnClose() should not
1081 check state by themselves (btw it's not really working).
1082 * HttpChannelListener.cs : If the url does not end with '/' add it
1083 so that it could be fed to HttpListener.
1085 2006-12-04 Atsushi Enomoto <atsushi@ximian.com>
1087 * HttpChannelFactory.cs : check scheme on CreateChannel.
1088 * MessageHeader.cs : finish IsMessageVersionSupported().
1090 2006-12-04 Atsushi Enomoto <atsushi@ximian.com>
1092 * FaultConverter.cs : new file, not used yet though.
1094 2006-10-21 Atsushi Enomoto <atsushi@ximian.com>
1096 * SvcHttpHandler.cs : set GET URL to ServiceMetadataBehavior.
1098 2006-10-20 Atsushi Enomoto <atsushi@ximian.com>
1100 * SvcHttpHandler.cs : once AspNetReplyChannel get working with HTTP
1101 GET as well as HttpReplyChannel, configuration would be ready now.
1103 2006-10-18 Ankit Jain <jankit@novell.com>
1105 * TextMessageEncoder.cs (MediaType): Use 'application/soap+xml' for
1106 EnvelopeVersion.Soap12 and 'text/xml' for others.
1107 * HttpReplyChannel.cs (TryReceiveRequest): Revert earlier patch for GET
1109 Strip '?' from the query string.
1111 2006-10-13 Ankit Jain <jankit@novell.com>
1113 * MessageVersion.cs (None): Set AddressingVersion.None
1115 2006-10-12 Atsushi Enomoto <atsushi@ximian.com>
1117 * SvcHttpHandler.cs : added config-based endpoint addition code.
1118 Though due to some weird bug in mono-core it does not seem to work,
1119 so commented out for now.
1120 * HttpReplyChannel.cs : handle wsdl query parameter. btw creating
1121 mex request message might just be wrong.
1122 Use expected MessageVersion by the channel.
1123 * AspNetReplyChannel.cs : ditto. Plus, HTTP GET support.
1125 2006-10-12 Atsushi Enomoto <atsushi@ximian.com>
1127 * MessageSecurityBindingSupport.cs : added DefaultSignatureAlgorithm
1128 which differs depending on whether it is asymmetric or symmetric.
1129 * SecurityRequestChannel.cs, SecurityRequestContext.cs :
1130 simplify SecureMessage() and DecryptMessage() arguments (just
1131 take MessageSecurityBindingSupport instead of several parameters).
1132 * MessageSecurityUtility.cs :
1133 - simplify SecureMessage() and DecryptMessage() arguments (just
1134 take MessageSecurityBindingSupport instead of several parameters).
1135 - Take token inclusion mode into account. Don't include them when
1136 it is not expected. Also, change the token reference style.
1137 - add wsa:MessageID to the headers.
1138 - For hmac-sha1 signing (default for symmetric binding), use
1139 symmetric key created for encryption as well to create HMACSHA1.
1140 - add Id to wsu:Timestamp.
1141 - start to handle SecurityMessageProperty.
1142 * WSSecurityMessageHeader.cs :
1143 Added Id to WsuTimestamp. Also use prefixes for its XML output.
1144 Changed date format.
1146 2006-10-06 Atsushi Enomoto <atsushi@ximian.com>
1148 * CommunicationObject.cs : reject faulted state on Open()/Close().
1149 * MessageHeaders.cs : removed extra fields.
1151 2006-10-06 Ankit Jain <jankit@novell.com>
1153 * HttpReplyChannel.cs (TryReceiveRequest): Handle HTTP GET.
1155 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
1157 * MessageSecurityUtility.cs, SecurityRequestContext.cs :
1158 added some FIXMEs and additional arg.
1160 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
1162 * MessageSecurityUtility.cs : remove duplicate Action header.
1164 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
1166 * MessageFault.cs : partly implemented CreateFault(Message, int).
1167 * Message.cs, MessageImpl.cs, MessageBufferImpl.cs :
1168 handle IsFault correctly in each implementation.
1170 2006-10-04 Ankit Jain <jankit@novell.com>
1172 * HttpRequestChannel.cs (ProcessRequest): Read till the end.
1174 2006-10-04 Ankit Jain <jankit@novell.com>
1176 * HttpRequestChannel.cs (ProcessRequest): Temporary workaround for a bug
1177 in WebConnectionStream.
1179 2006-10-04 Ankit Jain <jankit@novell.com>
1181 * MessageHeaders.cs (To): Use GetHeader<string> till
1182 DataContractSerializer gets ISerializable support.
1183 * CustomBinding.cs (.ctor): Get scheme from TransportBindingElement.
1185 2006-10-04 Ankit Jain <jankit@novell.com>
1187 * ServiceHostParser.cs (Parse):
1188 (Split): Add some error checks.
1190 2006-10-03 Atsushi Enomoto <atsushi@ximian.com>
1192 * SslStreamSecurityBindingElement.cs : updated API to Sep. CTP.
1193 * StreamUpgradeAcceptor.cs : Fix AcceptUpgrade().
1194 * SslStreamSecurityUpgradeProvider.cs,
1195 SslStreamSecurityUpgradeAcceptor.cs :
1196 new files for Ssl upgrade provider implementation.
1197 * MessageSecurityUtility.cs :
1198 Create proper C14NTransform. Don't use enveloped signature
1199 transform but sign every significant bits. On securing messages
1200 use ChannelProtectionRequirements.
1201 * SecurityRequestContext.cs : pass ChannelProtectionRequirements to
1203 * MessageEncoder.cs : fix API (missing constraint).
1204 * WSSecurityMessageHeader.cs : it is MustUnderstand.
1205 * StreamUpgradeProvider.cs : API fix and implemented .ctor().
1206 * AsymmetricSecurityBindingElement.cs : default protection order is
1207 SignBeforeEncryptAndEncryptSignature.
1209 2006-09-29 Ankit Jain <jankit@novell.com>
1211 * SvcHttpHandlerFactory.cs (GetTypeFromSvc): Extract and move code to
1212 ServicHostParser and use that here.
1213 (PrivateBinPath): New.
1214 (GetTypeFromBin): New. Load assembly from PrivateBinPath.
1215 (RemovedCallback): Remove and close the SvcHttpHandler when its
1216 corresponding file (.svc) changes.
1217 * SvcHttpHandler.cs (Close): New. Close the ServiceHost.
1219 * ServiceHostParser.cs : New.
1220 * CachingCompiler.cs : New. Code extracted from
1221 System.Web.Compilation.CachingCompiler
1222 * CompilationException.cs : New. From System.Web.Compilation
1223 * HtmlizedException.cs : New. Likewise.
1225 2006-09-29 Atsushi Enomoto <atsushi@ximian.com>
1227 * MessageSecurityBindingSupport.cs : For client side, it is always
1228 InitiatorServiceModelSecurityTokenRequirement which should be
1229 created. Fixed wrong client encryption key acquisition.
1231 2006-09-29 Atsushi Enomoto <atsushi@ximian.com>
1233 * SecurityChannelListener.cs, SecurityRequestContext.cs,
1234 MessageSecurityBindingSupport.cs : made similar changes as factories
1235 to listener so that session channels and input channels would work.
1236 Added authenticator creation.
1238 2006-09-29 Atsushi Enomoto <atsushi@ximian.com>
1240 * Binding.cs : added missing members.
1242 2006-09-28 Atsushi Enomoto <atsushi@ximian.com>
1244 * SecurityRequestChannel.cs, SecurityOutputChannel.cs,
1245 MessageSecurityUtility.cs, MessageSecurityBindingSupport.cs :
1246 reduce code duplication between request and output channels.
1247 The common parts are now in MessageSecurityBindingSupport.
1248 Now reduced several arguments in SecureMessage() for client.
1250 2006-09-28 Atsushi Enomoto <atsushi@ximian.com>
1252 * ChannelFactoryBase.cs : implemented ValidateCreateChannel().
1254 2006-09-28 Atsushi Enomoto <atsushi@ximian.com>
1256 * AsymmetricSecurityBindingElement.cs,
1257 SecurityChannelListener.cs,
1258 SecurityRequestContext.cs,
1259 SymmetricSecurityBindingElement.cs,
1260 SecurityRequestChannel.cs,
1261 SecurityOutputChannel.cs,
1262 SecurityChannelFactory.cs,
1263 MessageSecurityBindingSupport.cs : 1) Refactoring.
1264 IMessageSecurityBindingSupport now becomes a class and contains
1265 all the members which resided in ISecurityChannelSource.
1266 Now it takes more constructor params.
1267 Made dependent changes on all sources above.
1269 2) Added SecurityTokenAuthenticator creation in
1270 SecurityRequestChannel (SecurityOutputChannel should do the same).
1272 2006-09-27 Atsushi Enomoto <atsushi@ximian.com>
1274 * SecurityRequestChannel.cs : ongoing improvements on conditional
1275 key creation. Actually there must be some part that creates an
1276 authenticator (WinFX does that).
1278 2006-09-27 Ankit Jain <jankit@novell.com>
1280 Add suport for handling .svc files.
1281 * SvcHttpHandlerFactory.cs: New.
1282 * SvcHttpHandler.cs: New.
1284 * HttpChannelListener.cs (PopulateChannel): Use AspNetReplyChannel if in
1285 asp.net environment.
1286 (OnOpen): Do nothing in asp.net environment.
1287 (OnClose): Likewise.
1288 * HttpReplyChannel.cs (HttpRequestContext): Move to ..
1289 * HttpRequestContext.cs: .. here.
1291 * AspNetReplyChannel.cs: New.
1292 * AspNetRequestContext.cs: New.
1294 2006-09-26 Atsushi Enomoto <atsushi@ximian.com>
1296 * MessageSecurityUtility.cs :
1297 Significantly rewritten decryption parts to respect ReferenceList
1298 to decrypt (so no workaround anymore).
1299 Now e:ReferenceList inside o:Security is treated as the referenced
1300 EncryptedType items are encrypted by 1) the derived key which is
1301 immediately in front of it, or 2) the default key (it is according
1302 to WS-SecureConversation section 9.1). Thus removed immediately
1303 previous hack to auto-fill wsu:Id attributes.
1305 On securing a message, generate correct Id and add DataReference
1306 to ReferenceList properly.
1308 2006-09-26 Atsushi Enomoto <atsushi@ximian.com>
1310 * WSSecurityMessageHeader.cs : handle ReferenceList. It is being
1313 2006-09-26 Atsushi Enomoto <atsushi@ximian.com>
1315 * WSSecurityMessageHeader.cs : handle DerivedKeyToken as a header content.
1316 Actually WSSecurityTokenSerializer should be able to consume it, but after
1317 spending a lot of time I still cannot successfully read it on WinFX.
1318 Skip ReferenceList for now.
1319 * MessageSecurityUtility.cs :
1320 Replaced some string literals with constants.
1321 Added some workaround for DerivedKeyToken retrieval.
1322 WinFX somehow sends incomplete ISO10126 padding which contains
1323 bigger number than the key size and is rejected by EncryptedXml,
1324 so added DecryptLax() which processes such ones in PaddingMode.None
1325 to workaround it (only for cross-connection between mono and winfx).
1326 Added some incomplete implicit wsu:Id processing.
1327 Don't try to replace SignedXml with EncryptedData. It is not added
1328 to the document tree.
1330 2006-09-25 Atsushi Enomoto <atsushi@ximian.com>
1332 * MessageSecurityUtility.cs : support message signature encryption. Some
1335 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
1337 * SecurityBindingElement.cs : implement Clone(). Remove some MonoTODOs.
1339 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
1341 * MessageSecurityUtility.cs : fix warnings.
1343 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
1345 * MessageSecurityUtility.cs : actually there would be more than one
1346 EncryptedData. Decrypt all.
1348 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
1350 * MessageSecurityUtility.cs : supply correct URIs in SecureMessage().
1351 Use ISO10126 padding mode (it is not required but in manner).
1353 2006-09-21 Atsushi Enomoto <atsushi@ximian.com>
1355 * MessageSecurityUtility.cs : now that EncryptedXml decryption bug is
1356 fixed, remove 16 bytes workaround (we still need encryption bugfix in
1357 that class to make it work fine with mono client).
1358 Removed buggy lines that reset decryption key to AES.
1359 Modified GetKey() argument to take EncryptedData/EncryptedKey element.
1360 * WSSecurityMessageHeader.cs :
1361 (SecurityTokenReferenceKeyInfo) support LoadXml.
1363 2006-09-20 Atsushi Enomoto <atsushi@ximian.com>
1365 * TransactionMessageProperty.cs : new file.
1367 2006-09-20 Atsushi Enomoto <atsushi@ximian.com>
1369 * ChannelPoolSettings.cs, OneWayBindingElement.cs : build fix, as
1370 gmcs happened to report wrong code.
1372 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1374 * SecurityChannelFactory.cs, SecurityChannelListener.cs :
1375 .ctor() now requires ChannelProtectionRequirements which will be
1376 supplied via BindingParameterCollection.
1377 * SymmetricSecurityBindingElement.cs,
1378 AsymmetricSecurityBindingElement.cs : thus add
1379 ChannelProtectionRequirement parameter to factory/listener.
1380 * SecurityRequestChannel.cs : use recipient token requirement to
1381 create an encryption token. Thus differentiate the logic from
1382 signing (initiator) token.
1384 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1386 * SymmetricSecurityChannelFactory.cs, SecurityChannelFactory.cs :
1387 renamed former to latter.
1388 * SymmetricSecurityChannelListener.cs, SecurityChannelListener.cs :
1391 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1393 * MessageSecurityBindingSupport.cs : new internal types to commonize
1394 AsymmetricSecurityBindingElement and SymmetricSecurityBindingElement
1395 and thus make internal factory and listener reusable.
1396 * SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs,
1397 SecurityRequestChannel.cs, SecurityOutputChannel.cs,
1398 SymmetricSecurityChannelListener.cs : rewrote dependent parts on
1399 SymmetricSecurityBindingElement, using the new types above.
1400 * SymmetricSecurityBindingElement.cs :
1401 Use SymmetricMessageSecurityBindingSupport.
1402 * AsymmetricSecurityBindingElement.cs :
1403 thus implemented, using AsymmetricMessageSecurityBindingSupport.
1405 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1407 * ChannelFactoryBase.cs : more RC1 update.
1409 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1411 * MessageEncoder.cs, BinaryMessageEncoder.cs, MtomMessageEncoder.cs,
1412 TextMessageEncoder.cs : updated ReadMessage() API to RC1.
1413 * ChannelListenerBase.cs, ChannelListenerBase_1.cs,
1414 ChannelBase.cs : RC1 API updates.
1415 * MessageImpl.cs : implemented Properties.
1416 * HttpReplyChannel.cs : added HttpRequestMessageProperty support.
1418 2006-09-18 Ankit Jain <jankit@novell.com>
1420 * MessageHeaders.cs (MessageId):
1421 (RelatesTo): UniqueId is not serializable, serialize it as a string.
1423 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
1425 * ChannelParameterCollection.cs : new file.
1426 * LayeredOutputChannel.cs, SecurityOutputChannel.cs :
1427 new files for IOutputChannel implementation.
1428 * OneWayBindingElement.cs : hacky implementation.
1429 * SymmetricSecurityChannelFactory.cs : support IOutputChannel.
1430 * MessageSecurityUtility.cs : now create identifier from the security
1431 token and the token parameters which is added as an argument.
1432 * SecurityRequestContext.cs,
1433 SecurityRequestChannel.cs : SecureMessage() argument changes.
1434 Set MessageSecurityVersion (SecurityTokenVersion) to the token
1437 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
1439 * HttpRequestChannel.cs : close the HttpWebRequest.
1441 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
1443 * HttpRequestChannel.cs,
1444 HttpChannelFactory.cs : implement async request/reply.
1445 * HttpChannelFactory.cs :
1446 verify factory state when creating a channel.
1448 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
1450 * MessageEncoder.cs, TextMessageEncoder.cs, MtomMessageEncoder.cs,
1451 BinaryMessageEncoder.cs : added message version mismatch check.
1453 2006-09-15 Atsushi Enomoto <atsushi@ximian.com>
1455 * SymmetricSecurityChannelListener.cs, SecurityRequestContext.cs :
1456 Making incomplete changes to handle different tokens for encryption
1458 * SymmetricSecurityChannelFactory.cs, SecurityRequestChannel.cs :
1459 split channel implementation classes out to the latter file.
1460 * MessageSecurityUtility.cs : seems like there is
1461 TimeStampValidityDuration property, so use it (incomplete; a server
1462 needs another love).
1464 2006-09-12 Atsushi Enomoto <atsushi@ximian.com>
1466 * MessageSecurityUtility.cs, SymmetricSecurityChannelFactory.cs,
1467 SecurityRequestContext.cs : now that we have key identifier clause
1468 and working ResolveKeyIdentifierClause(), just create keys inside
1469 SecureMessage(). Add KeyInfo to the xmldsig.
1471 2006-09-12 Atsushi Enomoto <atsushi@ximian.com>
1473 * SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs :
1474 pass SecurityKeyIdentifierClause to SecureMessage().
1475 * SecurityBindingElement.cs : set X509ReferenceStyle as Thumbprint
1476 for IssuedToken binding element.
1477 * SymmetricSecurityChannelListener.cs : removed hack to just create
1478 X509 security token, and implemented correct token creation.
1479 * WSSecurityMessageHeader.cs : added new KeyInfoClause type that
1480 wraps SecurityTokenReference element.
1481 * MessageSecurityUtility.cs : use the above.
1483 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
1485 * MessageSecurityUtility.cs : raise MessageSecurityException when it
1486 could not find a security header.
1487 * SymmetricSecurityChannelFactory.cs : now it also supports
1488 IRequestSessionChannel. Extracted SecurityRequestChannel out from
1491 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
1493 * SecurityRequestContext.cs : moved securing message part to
1494 MessageSecurityUtility.cs.
1495 * MessageSecurityUtility.cs : the change above.
1496 use DateTime.Now for timestamp basis. Don't append signature to
1497 the document. Instead it is added to the header. Capture body
1498 content instead of the body itself.
1499 * SymmetricSecurityChannelFactory.cs : decrypt reply message to
1500 be processed by upper layers.
1502 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
1504 * MessageSecurityUtility.cs, WSSecurityMessageHeader.cs,
1505 SymmetricSecurityChannelListener.cs,
1506 SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs :
1507 more refactoring. Request serialization became much more conformant
1508 and add required header items.
1509 Security Token retrieval is needed to send it in the request.
1510 Fixed wrong key encryption.
1512 2006-09-07 Atsushi Enomoto <atsushi@ximian.com>
1514 * SecurityRequestContext.cs : the workaround was not functional.
1516 2006-09-07 Atsushi Enomoto <atsushi@ximian.com>
1518 * SecurityRequestContext.cs : some more refactoring. Use EncryptedXml
1519 API, especially ReplaceData(), instead of native crypto stuff.
1520 * WSSecurityMessageHeader.cs : handle dsig:Signature as well (for
1521 MessageProtectionOrder.SignBeforeEncrypt).
1523 2006-09-07 Atsushi Enomoto <atsushi@ximian.com>
1525 * SecurityRequestContext.cs : label should be combined of both
1526 the client's and the server's.
1528 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
1530 * SecurityRequestContext.cs : enable key derivation (though for now
1531 GenerateDerivedKey() is unimplemented). Create meaningful,
1532 decrypted request message to be consumed by the upper layer.
1534 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
1536 * SecurityRequestContext.cs : implement Close() and Reply().
1537 ongoing implementation of Reply(TimeSpan).
1538 * MessageSecurityUtility.cs : new file to collect utility methods.
1539 * SymmetricSecurityChannelFactory.cs : moved securing message code
1541 * SymmetricSecurityChannelListener.cs : tiny renaming.
1543 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
1545 * SecurityRequestContext.cs : security header is also stored.
1547 * WSSecurityMessageHeader.cs : read EncryptedKey and EncryptedData
1550 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
1552 * SymmetricSecurityChannelFactory.cs : tiny progress on securing
1555 2006-09-05 Atsushi Enomoto <atsushi@ximian.com>
1557 * SymmetricSecurityChannelFactory.cs : specify KeyUsage.Exchange
1558 so that it retrieves the security key in that manner.
1560 2006-09-05 Atsushi Enomoto <atsushi@ximian.com>
1562 * Binding.cs : MessageVersion is null when there is no
1563 MessageEncodingBindingElement.
1564 * Message.cs : null arg check.
1566 2006-09-05 Atsushi Enomoto <atsushi@ximian.com>
1568 * ChannelPoolSettings.cs, OneWayBindingElement.cs : new files.
1570 2006-09-04 Atsushi Enomoto <atsushi@ximian.com>
1572 * SymmetricSecurityChannelListener.cs, SecurityRequestContext.cs,
1573 LayeredReplyChannel.cs, LayeredCommunicationObject.cs,
1574 LayeredRequestChannel.cs : some refactoring.
1575 * SymmetricSecurityChannelFactory.cs :
1576 ongoing secure message creation implementation.
1578 2006-09-01 Atsushi Enomoto <atsushi@ximian.com>
1580 * SymmetricSecurityBindingElement.cs :
1581 pass specific ServiceCredentialsSecurityTokenManager type to
1582 SymmetricSecurityChannelListener as it needs ServiceCertificate.
1583 * SymmetricSecurityChannelListener.cs :
1584 get service certificate. It's a temporary hack.
1585 Move RequestContext code to below.
1586 * SecurityRequestContext.cs : new file.
1587 * WSSecurityMessageHeader.cs : implementing Read(), but to finish
1588 it I have to finish decryption of the incoming message.
1590 2006-08-31 Atsushi Enomoto <atsushi@ximian.com>
1592 * MessageImpl.cs : don't write attributes on the first body content
1593 element *on soap Body element*.
1594 * MessageBufferImpl.cs : don't throw ArgumentNullException.
1595 ObjectDisposedException is appropriate.
1596 * MessageHeader.cs : (RawMessageHeader) don't write element itself
1597 in OnWriteHeader*Contents*().
1599 2006-08-31 Atsushi Enomoto <atsushi@ximian.com>
1601 * WSSecurityMessageHeader.cs : new file.
1602 * SymmetricSecurityChannelFactory.cs :
1603 moved WSSecurityHeader and related types to the above.
1604 * SymmetricSecurityChannelListener.cs :
1605 reject SOAP-env-less message.
1607 2006-08-31 Atsushi Enomoto <atsushi@ximian.com>
1609 * SecurityChannelListener.cs, SymmetricSecurityChannelListener.cs :
1610 renamed former to latter.
1611 * SymmetricSecurityChannelFactory.cs :
1612 create requirements every time. It is also likely that I need
1613 another requirement instance to get service credentials here.
1615 2006-08-30 Atsushi Enomoto <atsushi@ximian.com>
1617 * SymmetricSecurityBindingElement.cs : make BuildChannelListener()
1618 similar to BuildChannelFactory() (set credentials, issuer binding
1620 * SecurityChannelListener.cs :
1621 more ongoing security support implementation.
1622 * SymmetricSecurityChannelFactory.cs :
1623 moved GetSecurityKey() to SymmetricSecurityRequestChannel.
1625 2006-08-29 Atsushi Enomoto <atsushi@ximian.com>
1627 * SecurityChannelListener.cs, SymmetricSecurityBindingElement.cs :
1628 Renamed SecurityChannelListener to SymmetricSecurityChannelListener.
1629 Implementation is underway.
1630 * LayeredReplyChannel.cs :
1631 like LayeredRequestChannel, use ChannelListenerBase to provide
1634 2006-08-29 Atsushi Enomoto <atsushi@ximian.com>
1636 * MessageHeader.cs : added another implementation type that uses
1637 XmlElement, for buffering purpose.
1638 * MessageImpl.cs : Header item types are user-driven by
1639 MessageHeader.GetHeader<T>(int), so at storing phase just store
1640 nodes as XmlElement.
1641 * MessageHeaders.cs : avoid dumping XmlNode to string to create
1644 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
1646 * SymmetricSecurityBindingElement.cs : find ClientCredentials from
1647 BindingParameterCollection, not from binding element properties.
1649 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
1651 * SecurityChannelFactory.cs, SymmetricSecurityChannelFactory.cs :
1652 renamed former to latter.
1654 2006-08-25 Atsushi Enomoto <atsushi@ximian.com>
1656 * SecurityBindingElement.cs : SetIssuerBindingContext should also
1657 work for SslSecurityTokenParameters.
1659 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
1661 * SecurityBindingElement.cs :
1662 Added SetIssuerBindingContextIfRequired().
1663 * SecurityChannelFactory.cs :
1664 Changed .ctor() arg again, just to receive binding element.
1665 * SymmetricSecurityBindingElement.cs :
1666 Call SetIssuerBindingContextIfRequired() in BuildChannelFactory().
1667 SymmetricSecurityChannelFactory .ctor() arg changes.
1668 "ProtectionTokenParameters" is not passed now.
1670 2006-08-23 Atsushi Enomoto <atsushi@ximian.com>
1672 * SymmetricSecurityBindingElement.cs : requirements should be
1673 filled at InitializeSecurityTokenParameters as long as possible.
1674 SymmetricSecurityChannelFactory<T> now does not receive
1675 requirements (it now creates one inside it) at .ctor().
1676 * SecurityChannelFactory.cs : remove requirement argument.
1678 2006-08-23 Atsushi Enomoto <atsushi@ximian.com>
1680 * SymmetricSecurityBindingElement.cs : implemented copy constructor.
1682 2006-08-22 Atsushi Enomoto <atsushi@ximian.com>
1684 * SymmetricSecurityBindingElement.cs :
1685 MessageSecurityVersion property is of type SecurityTokenVersion.
1686 * SecurityBindingElement.cs :
1687 Implemented CreateSecureConversationBindingElement().
1688 For CreateIssuedTokenBindingElement(), ProtectionTokenParameters is
1689 the argument IssuedSecurityTokenParameters itself.
1691 2006-08-22 Atsushi Enomoto <atsushi@ximian.com>
1693 * SymmetricSecurityBindingElement.cs :
1694 CreateSecurityTokenManager() can be directly used now.
1695 Use CallInitializeSecurityTokenRequirement() to fill requirement
1698 2006-08-16 Atsushi Enomoto <atsushi@ximian.com>
1700 * ChannelFactoryBase.cs : GetProperty() is virtual.
1702 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
1704 * SymmetricSecurityBindingElement.cs : in BuildChannelFactory(),
1705 create token manager, token parameters and token requirements,
1706 and fill some requirements.
1707 * TransportBindingElement.cs, HttpTransportBindingElement.cs,
1708 TextMessageEncodingBindingElement.cs : workaround to not throw NIE.
1709 * BindingContext.cs : implemented RemainingBindingElements.
1710 kill "no remaining binding element" error in GetInnerProperty()
1711 * SecurityChannelFactory.cs : now it became
1712 SymmetricSecurityChannelFactory, thus soon to be renamed.
1713 Several ongoing actual security resolution is on.
1715 2006-08-11 Atsushi Enomoto <atsushi@ximian.com>
1717 * CommunicationObject.cs :
1718 add GetCommunicationObjectType() and use it.
1719 * ChannelFactoryBase.cs, ChannelListenerBase_1.cs :
1720 use ThrowIfDisposedOrNotOpen().
1721 * LayeredCommunicationObject.cs : have similar ThrowIf...() methods
1722 to CommunicationObject. Make it IDisposable.
1723 * LayeredRequestChannel.cs : use above.
1724 * SecurityChannelFactory.cs : removed state check as it is done at
1727 2006-08-10 Atsushi Enomoto <atsushi@ximian.com>
1729 * SecurityBindingElement.cs : (CanBuildChannelFactory and
1730 CanBuildChannelListener) directly dispatch to BindingContext.
1731 * SymmetricSecurityBindingElement.cs : require protection token
1732 parameters before building a channel or a listener.
1733 * ChannelFactoryBase.cs : raise an error when a channel is being
1734 created without opening the factory.
1735 * ChannelListenerBase_1.cs : ditto for the listener.
1736 * SecurityChannelFactory.cs : before sending a request, it must be
1739 2006-08-07 Atsushi Enomoto <atsushi@ximian.com>
1741 * MessageBufferImpl.cs : initialize fields.
1742 workaround BufferSize just to return 0.
1743 * MessageImpl.cs : for BodyWriter, don't use DefaultMessageBuffer
1744 which does not support multi time write.
1745 * Message.cs : implemented State.
1747 2006-08-07 Atsushi Enomoto <atsushi@ximian.com>
1749 * Message.cs : OnGetBodyAttribute() cannot return anything unless it
1750 is consuming XmlReader.
1751 Implemented OnCreateBufferedCopy(), to return XPathMessageBuffer.
1752 * MessageBuffer.cs : implemented CreateNavigator().
1753 * MessageBufferImpl.cs : added XPathMessageBuffer class.
1755 I kinda know that MS heavily depends on binary XmlReader and may have
1756 XPathNavigator implementation based on the binary stuff, but at
1757 least for now we have almost no motivation to mimick it.
1759 2006-08-07 Atsushi Enomoto <atsushi@ximian.com>
1761 * SecurityChannelFactory.cs : a bit more of security header code.
1763 2006-08-04 Atsushi Enomoto <atsushi@ximian.com>
1765 * SymmetricSecurityBindingElement.cs :
1766 set default MessageProtectionOrder in every construction.
1768 2006-08-03 Atsushi Enomoto <atsushi@ximian.com>
1770 * LayeredRequestChannel.cs, SecurityChannelFactory.cs :
1771 changed to require ChannelFactoryBase to support default timeout.
1772 Made some methods non-virtual. Preparing code to add security
1773 headers (empty yet).
1774 * SecurityBindingElement.cs : implemented several factory methods
1775 that return SymmetricSecurityBindingElement.
1777 2006-08-02 Atsushi Enomoto <atsushi@ximian.com>
1779 * IStreamUpgradeBindingElement.cs,
1780 StreamUpgradeBindingElement.cs : renamed from former to latter.
1782 2006-08-02 Atsushi Enomoto <atsushi@ximian.com>
1784 * IStreamUpgradeBindingElement.cs : API update, soon to be renamed.
1786 2006-07-31 Ankit Jain <jankit@novell.com>
1788 * MessageHeaders.cs (From): Use Constants.WSA1
1789 (MessageId): Implement the same pattern as other properties (From etc).
1791 2006-07-28 Atsushi Enomoto <atsushi@ximian.com>
1793 * LocalClientSecuritySettings.cs : initialize IdentityVerifier as well.
1794 * SecurityBindingElement.cs : some cosmetic changes.
1796 2006-07-28 Atsushi Enomoto <atsushi@ximian.com>
1798 * SecurityBindingElement.cs : LocalClientSettings and
1799 LocalServiceSettings returns an instance for each.
1800 * LocalClientSecuritySettings.cs : initialized fields.
1802 2006-07-28 Atsushi Enomoto <atsushi@ximian.com>
1804 * LocalClientSecuritySettings.cs : moved from S.SM.Description, and
1805 kinda implemented Clone() just with MemberwiseClone().
1807 2006-07-27 Ankit Jain <jankit@novell.com>
1809 * MessageHeaders.cs (set_To): Use Uri.AbsoluteUri .
1810 * MessageHeader.cs (knownTypes): New. Known type array containing
1812 (CreateHeader): Use knownTypes with the DataContractSerializer .ctor
1814 2006-07-21 Atsushi Enomoto <atsushi@ximian.com>
1816 * LayeredRequestChannel.cs, LayeredReplyChannel.cs,
1817 LayeredCommunicationObject.cs,
1818 SecurityChannelFactory.cs, SecurityChannelListener.cs :
1819 new files to support security channels, though right now they
1820 just pass inner channels through.
1821 * SymmetricSecurityBindingElement.cs : use above.
1823 2006-07-21 Atsushi Enomoto <atsushi@ximian.com>
1825 * AsymmetricSecurityBindingElement.cs,
1826 SymmetricSecurityBindingElement.cs :
1827 Default SecurityTokenParameters is null.
1829 2006-07-20 Atsushi Enomoto <atsushi@ximian.com>
1831 * AsymmetricSecurityBindingElement.cs : remove NotImpl for now.
1833 2006-07-20 Atsushi Enomoto <atsushi@ximian.com>
1835 * Message.cs : When EnvelopeVersion is None, don't write SOAP
1837 * MessageHeader.cs : don't write headers when EnvelopeVersion is None.
1838 * MessageHeaders.cs : When EnvelopeVersion is None, don't output
1839 headers. When AddressingVersion is None, don't output addressing
1840 headers as well, except for Action which is still needed by
1843 2006-07-20 Atsushi Enomoto <atsushi@ximian.com>
1845 * MessageHeaders.cs : changed specific properties to find it from
1846 headers as Action property does (local variables won't be set by
1847 setter). Cache serializers. Check null serializer arguments.
1848 For EndpointAddress, GetHeader<T>() shouldn't use serializer.
1850 2006-07-19 Atsushi Enomoto <atsushi@ximian.com>
1852 * MessageHeader.cs : WriteTo() should treat EndpointAddress to not
1853 use XmlObjectSerializer (since it is not data contract type).
1855 2006-07-18 Atsushi Enomoto <atsushi@ximian.com>
1857 * MessageImpl.cs : Improved ReadHeaders().
1858 For certain header items, use EndpointAddress.ReadFrom().
1860 2006-07-18 Atsushi Enomoto <atsushi@ximian.com>
1862 * AsymmetricSecurityBindingElement.cs :
1863 it is not ISecurityCapabilities anymore.
1865 2006-07-18 Atsushi Enomoto <atsushi@ximian.com>
1867 * MessageVersion.cs : added None.
1869 2006-07-14 Atsushi Enomoto <atsushi@ximian.com>
1871 * Message.cs : GetReaderAtBodyContents() implementation using
1874 2006-07-13 Atsushi Enomoto <atsushi@ximian.com>
1876 * Message.cs : CreateMessage(version,action,xmlReader) incorrectly
1877 used MessageVersion.Default.
1879 2006-07-12 Duncan Mak <duncan@novell.com>
1881 * MessageBuffer.cs (MessageContentType): Return
1882 "application/soap+msbin1".
1884 * MessageImpl.cs (EmptyMessage.OnCreateBufferedCopy):
1885 (SimpleMessage.OnCreateBufferedCopy):
1886 (XmlReaderMessage.OnCreateBufferedCopy): Hook up with the new
1887 MessageBuffer implementations.
1889 * MessageBufferImpl.cs: Concrete implmentations for MessageBuffer.
1890 (DefaultMessageBuffer): Used by EmptyMessage and SimpleMessage.
1891 (XmlReaderMessageBuffer): Used by XmlReaderMessage.
1893 2006-07-12 Atsushi Enomoto <atsushi@ximian.com>
1895 * MessageImpl.cs : Action should be added in request messages. Omit
1896 it only in reply message, thus moved to dispatcher logic.
1898 2006-07-12 Ankit Jain <jankit@novell.com>
1900 * HttpRequestChannel.cs (HttpRequestChannel.Request): Workaround for a
1901 bug in WebConnectionStream.
1902 * MessageHeaders.cs (MessageHeaders.From):
1903 (MessageHeaders.ReplyTo):
1904 (MessageHeaders.To): Add the corresponding MessageHeader on set.
1906 2006-07-11 Atsushi Enomoto <atsushi@ximian.com>
1908 * MessageImpl.cs : when AddressingVersion is None (e.g. POX), don't
1909 add SOAP Action to the response at any time.
1911 2006-07-10 Atsushi Enomoto <atsushi@ximian.com>
1913 * SymmetricSecurityBindingElement.cs,
1914 SecurityBindingElement.cs : They are not ISecurityCapabilities now.
1915 Implemented .ctor() and some properties.
1917 2006-07-10 Atsushi Enomoto <atsushi@ximian.com>
1919 * TransactionFlowBindingElement.cs : new file.
1920 * HttpTransportBindingElement.cs : added missing KeepAliveEnabled.
1922 2006-07-06 Atsushi Enomoto <atsushi@ximian.com>
1925 DefaultAction vanished. CreateFault() now takes bufferSize arg.
1926 * MessageHeaders.cs : ArgumentException -> MessageHeaderException.
1927 * AddressingVersion.cs : added None. Equals() and GetHashCode()
1928 vanished (there is anyways no way to instantiate this type).
1929 * MessageVersion.cs : added Soap11 and Soap12.
1930 * TextMessageEncoder.cs : silly quotation mark wrapper disappeared
1931 in June CTP. goodie.
1933 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
1935 * MtomMessageEncoder.cs, BinaryMessageEncoder.cs, Message.cs :
1936 removed some vanished CreateMessage() overloads.
1938 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
1940 * CustomBinding.cs, HttpsTransportBindingElement.cs,
1941 HttpTransportBindingElement.cs :
1942 They are not ISecurityCapabilities anymore.
1943 Modified code to match June CTP behavior.
1945 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
1947 * StreamSecurityUpgradeProvider.cs : Identity -> EndpointIdentity.
1949 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
1951 * EmptyFaultException.cs : removed unused code.
1952 * IRequestContext.cs, RequestContext.cs : renamed former to latter.
1954 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
1956 * LayeredChannelFactory.cs : removed obsolete class.
1957 * ChannelFactoryBase.cs, HttpChannelFactory.cs,
1958 ChannelListenerBase.cs, HttpChannelListener.cs,
1959 HttpReplyChannel.cs, ChannelManagerBase.cs :
1960 all those changes were brought by ChannelManagerBase changes.
1962 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
1964 * ReplyChannelBase.cs, HttpChannelFactory.cs, ChannelBase.cs
1965 CommunicationObject.cs, HttpChannelListener.cs,
1966 ChannelFactoryBase.cs :
1967 CommunicationObject abstract changes brought this madness.
1969 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
1971 * BindingContext.cs : listenUri address parameters could be null in
1974 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
1976 * IRequestContext.cs :
1977 Now it became a class. File renaming will follow soon.
1978 * IChannelFactory.cs, IInputChannel.cs, IReplyChannel.cs,
1979 IDuplexChannel.cs, IDuplexSessionChannel.cs,
1980 IOutputChannel.cs, IOutputSessionChannel.cs,
1981 IRequestChannel.cs, IRequestSessionChannel.cs :
1982 They are not IDisposable anymore.
1983 For IReplyChannel, IRequestContext -> RequestContext.
1984 * IChannelListener.cs : removed Identity. Added GetProperty().
1985 * ChannelListenerBase.cs, ChannelListenerBase.cs,
1986 ReplyChannelBase.cs, HttpReplyChannel.cs :
1987 Several members disappeared, and dependent changes.
1988 * HttpTransportBindingElement.cs,
1989 HttpChannelListener.cs, :
1990 ChannelListenerBase.SharedChannelListener vanished.
1992 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
1994 * MessageEncodingBindingElement.cs
1995 MtomMessageEncodingBindingElement.cs,
1996 TextMessageEncodingBindingElement.cs,
1997 BinaryMessageEncodingBindingElement.cs :
1998 June CTP updates: AddressingVersion -> MessageVersion.
1999 * Binding.cs : June CTP. MessageVersion is added.
2000 * ChannelBase.cs, BindingContext.cs, IChannel.cs
2001 ChannelListenerBase_1.cs,
2002 ChannelListenerBase.cs, IChannelListener.cs,
2004 ChannelFactoryBase.cs, ChannelManagerBase.cs :
2005 June CTP. Several interface changes.
2006 * HttpTransportBindingElement.cs : June CTP. HttpMappingMode is gone.
2007 * IChannelManager.cs, LayeredChannelListener.cs,
2008 GenericWrapperChannelFactory.cs,
2009 GenericWrapperChannelListener.cs : They are not used anymore.
2011 2006-07-04 Atsushi Enomoto <atsushi@ximian.com>
2013 * MtomMessageEncoder.cs, BinaryMessageEncoder.cs :
2014 sync fix with June CTP API updates.
2016 2006-07-03 Ankit Jain <jankit@novell.com>
2018 * MessageEncodingBindingElementConverter.cs:
2019 * StandardBindingConverter.cs:
2020 * TransportBindingElementConverter.cs:
2021 * TransactionFlowBindingElementConverter.cs:
2022 * ReliableSessionBindingElementConverter.cs:
2023 * SecurityBindingElementConverter.cs:
2024 Rename *Converter.cs to *Importer.cs
2026 * TransferMode.cs: Move to System.ServiceModel
2028 2006-06-22 Atsushi Enomoto <atsushi@ximian.com>
2030 * CommunicationObject.cs : make sure to change State before
2031 OnClosing/OnClosed/OnOpening/OnOpened when they are overriden.
2033 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
2035 * Message.cs : output WSAddressing xmlns only when Action is
2036 specified (To should be affected, but seems like it is ignored).
2038 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
2040 * MessageImpl.cs : don't set Action when it is null.
2042 2006-06-12 Ankit Jain <jankit@novell.com>
2044 * TransportBindingElementConverter.cs (ImportEndpoint): Implement.
2046 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2048 * SecurityBindingElement.cs, SecurityBindingElementConverter.cs :
2049 some updated API fixes.
2051 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2053 * EnvelopeVersion.cs : moved back to S.SM.
2055 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2057 * IBindingManualAddressing.cs : vanished in beta2.
2058 * HostedTransportConfiguration.cs, EnvelopeVersion.cs,
2059 LocalClientSecuritySettings.cs, LocalServiceSecuritySettings.cs :
2061 * SecurityBindingElement.cs :
2062 SecurityStandardsManager -> SecurityTokenSerializer.
2064 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2066 * XmlSerializerBodyWriter.cs : new file to handle
2067 TypedMessageConverter.ToMessage().
2069 2006-04-26 Ankit Jain <jankit@novell.com>
2071 * TransportBindingElementConverter.cs (BeforeImport): Remove
2072 NotImplementedException.
2073 (ImportContract): Likewise.
2074 * CustomBinding.cs (.ctor): Use scheme from the binding parameter.
2076 2006-04-14 Atsushi Enomoto <atsushi@ximian.com>
2078 * HttpRequestChannel.cs, HttpChannelFactory.cs : message encoder
2079 being used was not reflecting that of Binding elements.
2081 2006-04-07 Atsushi Enomoto <atsushi@ximian.com>
2083 * HttpReplyChannel.cs : when SOAP action is not set as a header item,
2084 just assume that it is in the message.
2086 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
2088 * HttpReplyChannel.cs : actually HTTP header item might be null.
2090 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
2092 * HttpReplyChannel.cs : under SOAP 1.1 SOAP Action is sent as HTTP
2095 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
2097 * TextMessageEncoder.cs : for SOAP 1.1 content type is text/xml.
2099 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
2101 * MessageFault.cs : Fixed SOAP12 reason output.
2103 2006-04-05 Atsushi Enomoto <atsushi@ximian.com>
2105 * HttpReplyChannel.cs : no need to set response ContentEncoding since
2106 MessageEncoder.ContentType explicitly contains encoding.
2107 * AddressingVersion.cs : added ActionNotSupported property. Not sure
2108 if it is SOAP version dependent.
2110 2006-03-23 Atsushi Enomoto <atsushi@ximian.com>
2112 * HttpReplyChannel.cs : actually I could just workaround bug #77816.
2114 2006-03-16 Atsushi Enomoto <atsushi@ximian.com>
2116 * HttpChannelFactory.cs BindingContext.cs
2117 HttpChannelListener.cs HttpTransportBindingElement.cs :
2118 Now BindingContext holds MessageEncoder, and non-custom
2119 channel factory/listener should use it.
2120 * MtomMessageEncodingBindingElement.cs
2121 TextMessageEncodingBindingElement.cs
2122 BinaryMessageEncodingBindingElement.cs : BuildChannelFactory()/
2123 -Listener() now sets internal BindingContext.MessageEncoder.
2124 Fixed some public API.
2126 2006-03-15 Atsushi Enomoto <atsushi@ximian.com>
2128 * BindingContext.cs : CanBuildChannelXXX() should not raise error
2129 for insufficient elements.
2130 * DispatchRuntime.cs : OperationDescription name is not action. So
2131 OperationSelector is created by name, not by action.
2132 * TextMessageEncodingBindingElement.cs : Feb. CTP API fixes.
2134 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
2136 * MessageFaultBodyWriter.cs
2137 XmlReaderBodyWriter.cs
2138 XmlObjectSerializerBodyWriter.cs : made internal.
2139 * SecurityBindingElement.cs
2140 AsymmetricSecurityBindingElement.cs
2141 SymmetricSecurityBindingElement.cs : API fixes.
2142 * TransportBindingElementConverter.cs : ditto.
2143 * TextMessageEncodingBindingElement.cs : added set_AddressingVersion.
2144 * WindowsStreamSecurityBindingElement.cs
2145 SslStreamSecurityBindingElement.cs
2146 TransportSecurityBindingElement.cs : new files.
2148 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
2150 * MessageImpl.cs : according to the W3C REC, mustUnderstand when
2151 reading can be any xs:boolean value.
2153 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
2155 * Message.cs MessageImpl.cs : more sorting out the role of each
2157 * MessageHeader.cs : use envelope namespace, not addressing namespace.
2159 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
2161 * Message.cs : don't write body contents if it is empty.
2162 Moved WriteStartElement(,"Header",) to OnWriteStartHeaders().
2163 * MessageImpl.cs : implemented XmlReaderMessage.OnWriteBodyContents().
2164 * TextMessageEncoder.cs : WriteMessage() should close XmlWriter.
2165 * HttpRequestChannel.cs : close request stream before GetResponse().
2167 2006-03-13 Atsushi Enomoto <atsushi@ximian.com>
2169 * TextMessageEncoderFactory.cs
2170 TextMessageEncoder.cs : encoder does not hold reference to the
2171 factory anymore. Use MessageVersion property in CreateMssage().
2172 * HttpChannelListener.cs : now it holds message encoder.
2173 * HttpReplyChannel.cs : now it uses listener's shared message encoder.
2174 * MessageImpl.cs : header is optional.
2175 * EnvelopeVersion.cs : namespace URI is missing.
2177 2006-03-10 Atsushi Enomoto <atsushi@ximian.com>
2179 * CustomBinding.cs : removed Initialize().
2180 * Message.cs : renamed ForwardingMessage -> XmlReaderMessage.
2181 * MessageImpl.cs : renamed ForwardingMessage to XmlReaderMessage (used
2182 by Message.CreateMessage(MessageVersion,XmlReader,int) and
2183 implemented Headers, IsEmpty and GetReaderAtBodyContents().
2185 2006-03-08 Atsushi Enomoto <atsushi@ximian.com>
2187 * MessageHeaders.cs : implemented GetReaderAtHeader() and Action (it
2188 could be also added by Add() method and could be reset by Remove()).
2189 * MessageImpl.cs : implemented more. As noted above, Now we don't
2190 have to add Action header explicitly.
2191 * MessageHeader.cs : recovered Writer methods and ToString() from
2192 commented old version. Use prefixes for writing.
2193 Use WriteObjectContent() rather than WriteObject() (it needs
2194 DataContractSerializer fix btw).
2196 2006-03-08 Atsushi Enomoto <atsushi@ximian.com>
2198 * MessageHeader.cs : added missing IsReferenceParameter.
2199 * MessageHeaderInfo.cs : added missing IsReferenceParameter.
2200 * MessageHeaders.cs : avoid NullRef when actors is null.
2201 * MessageImpl.cs : (MessageImplBase) add Action header in .ctor().
2202 (ForwardingMessage) reader consumer is being added (not done).
2203 * MtomMessageEncodingBindingElement.cs : simply use Mtom factory.
2204 * MtomMessageEncoder.cs : updated ContentType value to Feb. CTP.
2205 * HttpRequestChannel.cs : this channel automatically call Open()
2206 when Request() is called. Set content length for request.
2207 Use MessageEncoder's ContentType to also handle charset.
2209 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
2211 * MessageImpl.cs : make them internal.
2212 * HttpReplyChannel.cs : set HttpListenerResponse properties correctly.
2214 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
2216 * ChannelManagerBase.cs : cleanup MonoTODO and unused field.
2217 * HttpChannelListener.cs : removed commented line.
2218 * RequestChannelBase.cs : new base class for request channel classes.
2219 * ChannelListenerBase.cs : OnEndClose() is rather NotImplemented yet.
2220 * HttpReplyChannel.cs : WaitHandle accepts limited timeout value.
2221 * Message.cs : default IsEmpty and IsFault false by default.
2222 * LayeredChannelListener.cs : removed Uri (no chance to set).
2223 * ChannelBase.cs : reimplemented timeout properties.
2224 * HttpRequestChannel.cs : now it is mostly based on
2225 RequestChannelBase. Some more attempt to implement Request().
2227 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
2229 * Binding.cs CustomBinding.cs : removed OnApplyConfiguration() and
2230 OnInitialize(). Added more BuildChannelListener() overloads.
2232 2006-03-06 Atsushi Enomoto <atsushi@ximian.com>
2234 * Binding.cs : added some more missing members especially to support
2236 * HttpChannelListener.cs : Uri should not be null.
2237 * HttpTransportBindingElement.cs : implemented
2238 CanBuildChannelFactory() and CanBuildChannelListener().
2239 * ServiceHostBase.cs : make Initialize() practically work at OnOpen().
2241 2006-03-06 Atsushi Enomoto <atsushi@ximian.com>
2243 * Binding.cs : updated default namespace property value to Feb. CTP.
2245 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
2247 * AddressHeader.cs : avoid null reference when value is null.
2248 * BindingContext.cs : check null ListenUri args.
2250 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
2252 * MessageFault.cs : Fixed default action name. Null arg check.
2254 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
2256 * BindingElement.cs : Dequeue elements in BindingContext directly.
2257 * BindingContext.cs : Added GetProperty<T>().
2258 * GenericWrapperChannelFactory.cs GenericWrapperChannelListener.cs :
2259 Now we don't need these extra classes, so marked as deprecated.
2261 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
2263 * Binding.cs : null arg check.
2264 * AddressingVersion.cs : fixed constants to pass the tests.
2265 * BindingElement.cs : tiny meessage fix.
2267 2006-03-02 Atsushi Enomoto <atsushi@ximian.com>
2269 * MessageEncodingBindingElement.cs
2270 BinaryMessageEncodingBindingElement.cs
2271 TextMessageEncodingBindingElement.cs
2272 MtomMessageEncodingBindingElement.cs
2273 MessageEncodingBindingElementConverter.cs : several API fixes.
2274 * BindingElement.cs : now if we use generic wrapper it causes
2275 infinite loop, so for now replace it with most-possible-but-
2278 2006-03-02 Atsushi Enomoto <atsushi@ximian.com>
2280 (back to normal "record-ChangeLogs" mode after the big API change mess)
2281 * HttpTransportBindingElement.cs : fixed minor API differences.
2283 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
2285 * AsymmetricSecurityBindingElement.cs SecurityBindingElement.cs
2286 SymmetricSecurityBindingElement.cs :
2287 Dependent fixes for System.IdentityModel reorgainzation.
2289 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
2291 * InputChannelBase.cs.notused IInputSession.cs IOutputSession.cs
2292 IProxyFormatter.cs WSHttpBindingBase.cs
2293 PnrpPeerResolverBindingElement.cs IMessageHeaderInfo.cs
2294 MessageInterceptorEventArgs.cs WSHttpBinding.cs
2295 WSFederationBinding.cs ISessionChannel.cs
2296 CompositeDuplexBindingElement.cs MessageVersion.cs
2297 MessageHeader.cs IRequestSessionChannel.cs
2298 BindingElementCollection.cs IReplySessionChannel.cs
2299 MessageProperties.cs IDuplexClientChannel.cs
2300 IInputSessionChannel.cs MessageImpl.cs IDuplexSessionChannel.cs
2301 TcpTransportBindingElement.cs EmptyFaultException.cs
2302 IBindingRuntimePreferences.cs AddressHeaderCollection.cs
2303 IStubFormatter.cs AsymmetricSecurityBindingElement.cs
2304 ConnectionOrientedTransportBindingElement.cs
2305 IProxyOperationSelector.cs MessageBuffer.cs IChannel.cs
2306 PeerResolverBindingElement.cs Message.cs
2307 HttpsTransportBindingElement.cs BindingElement.cs
2308 NamedPipetransportBindingElement.cs IBindingManualAddressing.cs
2309 MessageFaultBodyWriter.cs IReplyChannel.cs
2310 IBindingCapabilities.cs AddressHeader.cs IInputChannel.cs
2311 IMessageProperty.cs IOutputChannel.cs NetPeerTcpBinding.cs
2312 IRequestContext.cs IInputSessionShutdown.cs
2313 SecurityBindingElement.cs PeerTransportBindingElement.cs
2314 IDuplexSession.cs IChannelInitializer.cs
2315 IProxyMessageInspector.cs IChannelListener.cs NetTcpBinding.cs
2316 AddressingVersion.cs FaultException.cs
2317 IRequestChannel.cs MtomMessageEncodingBindingElement.cs
2318 TransportBindingElement.cs BinaryMessageEncodingBindingElement.cs
2319 TextMessageEncodingBindingElement.cs IChannelFactory.cs Binding.cs
2320 ITransportBindingElement.cs IChannelManager.cs MessageFault.cs
2321 MessageHeaders.cs IStubMessageInspector.cs UnderstoodHeaders.cs
2322 BindingParameterCollection.cs IInstanceProvider.cs
2323 WSDualHttpBinding.cs ISession.cs IErrorHandler.cs
2324 MessageEncodingBindingElement.cs HttpTransportBindingElement.cs
2325 IDuplexChannel.cs CustomBinding.cs IOutputSessionChannel.cs
2326 MessageContractAttribute.cs SymmetricSecurityBindingElement.cs :
2327 moved from System.ServiceModel due to the API changes.
2329 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
2331 * ChannelFactoryBase.cs ChannelListenerBase.cs HttpChannelFactory.cs
2332 HttpChannelListener.cs HttpRequestChannel.cs
2333 LayeredChannelListener.cs PeerMessagePropagationFilter.cs
2334 PeerNode.cs ReplyChannelBase.cs :
2335 Feb. CTP API changes - chapter 1.
2337 2006-02-15 Atsushi Enomoto <atsushi@ximian.com>
2339 * ChannelBase.cs : OnOpen() and OnClosed() do nothing.
2340 * ReplyChannelBase.cs : now it is based on ChannelBase.
2341 * ChannelListenerBase_1.cs : use DefaultCommunicationTimeouts.Instance
2342 and check null argument in .ctor().
2343 * HttpReplyChannel.cs : several changes.
2344 Non-async members are mostly implemented.
2345 * HttpChannelListener.cs : no need to receive
2346 IDefaultCommunicationTimeouts.
2347 * HttpRequestChannel.cs : maxSizeOfHeaders is used in MessageHeaders
2348 to allocate buffer array and int.MaxValue causes OutOfMemory.
2350 2006-02-15 Atsushi Enomoto <atsushi@ximian.com>
2352 * ClientFramingDecoderState.cs : added missing enum.
2353 * HttpRequestMessageProperty.cs HttpResponseMessageProperty.cs :
2355 * ChannelBase.cs, LayeredChannelListener.cs : tiny API fixes.
2357 2006-02-15 Atsushi Enomoto <atsushi@ximian.com>
2359 * HttpChannelListener.cs : Added GetChannels() and OnClose().
2360 AcceptChannel() has some code now but it needs more love.
2362 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
2364 * CommunicationObject.cs : Close() does not call Begin/EndClose().
2365 * ChannelManagerBase.cs : implemented AbortChannel and CloseChannel.
2366 * ChannelListenerBase.cs : implemented OnAbort and OnClose.
2368 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
2370 * HttpRequestChannel.cs : close the streams.
2372 HttpChannelListener.cs : renamed from former to latter.
2374 2006-02-09 Atsushi Enomoto <atsushi@ximian.com>
2376 * ReplyChannelBase.cs : new file for IReplyChannel implementations.
2377 * HttpReplyChannel.cs : new file for HTTP IReplyChannel.
2378 * HttpListenerFactory.cs : removed obsolete file.
2379 * HttpListener.cs : hacky WaitForChannel and AcceptChannel.
2380 * ChannelListenerBase_1.cs : implemented virtual stuff.
2381 * CommunicationObject.cs : Open() should not call BeginOpen() and
2382 EndOpen(). Instead, invoke events individually.
2383 * ChannelListenerBase.cs : its Open() is WaitForChannel().
2385 2006-02-08 Atsushi Enomoto <atsushi@ximian.com>
2387 * HttpRequestChannel.cs : call Flush() after serializing message
2390 2006-02-08 Atsushi Enomoto <atsushi@ximian.com>
2392 * HttpRequestChannel.cs : implemented pretty hacky Request().
2394 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
2396 * HttpRequestChannel.cs : Manager is HttpChannelFactory.
2398 2006-02-01 Atsushi Enomoto <atsushi@ximian.com>
2400 * ChannelFactoryBase.cs : removed some NotImplementedException for
2401 further internal implementation.
2403 2006-01-26 Atsushi Enomoto <atsushi@ximian.com>
2405 * HttpRequestChannel.cs : new file. mostly not implemented.
2406 * HttpChannelFactory.cs : Implemented CanCreateChannel().
2407 Partly implemented CreateChannel().
2409 2006-01-26 Atsushi Enomoto <atsushi@ximian.com>
2411 * HttpChannelFactory.cs : (.ctor())
2412 Don't take ChannelBuildContext.
2414 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2416 * StreamSecurityUpgradeInitiator.cs PeerMessageOrigination.cs
2417 ChannelBase.cs StreamSecurityUpgradeAcceptor.cs
2418 PeerMessagePropagation.cs : updated to Nov. CTP.
2420 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2422 * ChannelListenerBase.cs, ChannelManagerBase.cs,
2423 ChannelListenerBase_1.cs, LayeredChannelListener.cs,
2424 StreamSecurityUpgradeAcceptor.cs,
2425 StreamSecurityUpgradeInitiator.cs :
2426 Updated to Nov. CTP API.
2428 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2430 Now we can rename ListenerFactoryBase.cs to ChannelListenerBase.cs.
2432 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2434 renamed ChannelListenerBase.cs to ChannelListenerBase_1.cs.
2436 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2438 * ChannelBase.cs : tiny filename fix.
2439 * ChannelListenerBase.cs : added more .ctor()s.
2441 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2443 * HttpListenerFactory.cs LayeredChannelListener.cs HttpListener.cs
2444 ListenerFactoryBase.cs ChannelListenerBase.cs :
2445 updated IListener related stuff to Nov. CTP.
2446 file renaming will come soon.
2448 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2450 * ListenerBase.cs, ChannelListenerBase.cs :
2451 moved from former to latter.
2452 * LayeredListenerFactory.cs, LayeredChannelListener.cs :
2453 moved from former to latter.
2455 2005-11-20 Atsushi Enomoto <atsushi@ximian.com>
2457 * SessionFaultedException.cs : removed in Nov. CTP
2459 2005-11-20 Atsushi Enomoto <atsushi@ximian.com>
2461 * CommunicationObject.cs : updated to Nov. CTP.
2462 * SessionFaultedException.cs : removed (in Nov. CTP)
2464 2005-11-03 Atsushi Enomoto <atsushi@ximian.com>
2466 * TextMessageEncoder.cs : kinda implemented (untested; Message is not
2469 2005-11-03 Atsushi Enomoto <atsushi@ximian.com>
2471 * MtomMessageEncoder.cs, BinaryMessageEncoderFactory.cs,
2472 TextMessageEncoderFactory.cs, BinaryMessageEncoder.cs,
2473 TextMessageEncoder.cs, MtomMessageEncoderFactory.cs : new files.
2474 * MessageEncoder.cs : largely implemented.
2476 2005-11-02 Atsushi Enomoto <atsushi@ximian.com>
2478 * IRequestReplyCorrelator.cs : new file.
2480 2005-11-02 Atsushi Enomoto <atsushi@ximian.com>
2482 * CommunicationObject.cs : OnClose() and OnError() are not virtual.
2483 * DirectionalAction.cs : implemented IComparable<DirectionalAction>.
2484 * MessageEncoder.cs : added misssing ToString().
2486 2005-11-02 Atsushi Enomoto <atsushi@ximian.com>
2488 * ChannelBehaviorCollection.cs : moved to sys.sm.
2490 2005-10-28 Atsushi Enomoto <atsushi@ximian.com>
2492 * HttpListenerFactory.cs, HttpListener.cs : new files.
2493 * ListenerFactoryBase.cs, ChannelManagerBase.cs,
2494 CommunicationObject.cs, ChannelFactoryBase.cs,
2495 StreamUpgradeProvider.cs, ChannelBase.cs : timeouts are now
2497 * CommunicationObject.cs : Aborted is bool. Added InternalClose()
2498 * ListenerFactoryBase.cs : kinda implemented GetListeners().
2500 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
2502 * ListenerFactoryBase.cs : some implementation.
2504 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
2506 * CommunicationObject.cs : more state fixes.
2508 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
2510 * CommunicationObject.cs : some state machine fixes.
2512 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
2514 * PeerNode.cs, ChannelManagerBase.cs :
2515 several API fixes detected by improved corcompare.
2517 2005-10-25 Atsushi Enomoto <atsushi@ximian.com>
2519 * LayeredListenerFactory.cs : added missing generic class constraint.
2521 2005-10-25 Atsushi Enomoto <atsushi@ximian.com>
2523 * ListenerFactoryBase.cs,
2524 ListenerBase.cs : class constraints were missing for generic args.
2526 2005-10-24 Atsushi Enomoto <atsushi@ximian.com>
2528 * StreamUpgradeInitiator.cs : tiny API fix.
2530 2005-10-23 Atsushi Enomoto <atsushi@ximian.com>
2532 * PeerMessagePropagationFilter.cs : tiny build fix.
2534 2005-10-23 Atsushi Enomoto <atsushi@ximian.com>
2536 * HttpRequestMessageProperty.cs, HttpResponseMessageProperty.cs :
2537 added Name. fixed StatusCode type.
2538 * StreamSecurityUpgradeInitiator.cs, StreamUpgradeAcceptor.cs,
2539 PeerNode.cs, StreamSecurityUpgradeAcceptor.cs,
2540 StreamUpgradeProvider.cs, StreamUpgradeInitiator.cs,
2541 DirectionalAction.cs, HostedTransportConfiguration.cs,
2542 StreamSecurityUpgradeProvider.cs, SessionFaultedException.cs,
2543 PeerMessagePropagationFilter.cs : added missing files.
2544 * Dummy.cs : removed. MSMQ stuff can be added later.
2546 2005-10-21 Atsushi Enomoto <atsushi@ximian.com>
2548 * DeliveryStatus.cs, DeliveryFailure.cs,
2549 HttpRequestMessageProperty.cs, PeerMessageOrigination.cs,
2550 PeerMessagePropagation.cs, HttpResponseMessageProperty.cs :
2552 * Dummy.cs : removed above.
2554 2005-10-18 Atsushi Enomoto <atsushi@ximian.com>
2556 * ChannelFactoryBase.cs : tiny .ctor() delegation fix.
2558 2005-10-09 Atsushi Enomoto <atsushi@ximian.com>
2560 * MessageEncoderFactory.cs, LayeredListenerFactory.cs,
2561 MessageEncoder.cs, BufferManager.cs : new files.
2562 * Dummy.cs : removed above.
2564 2005-10-09 Atsushi Enomoto <atsushi@ximian.com>
2566 * ChannelBase.cs, ChannelBehaviorCollection.cs : new channel files.
2567 * Dummy.cs : removed above.
2568 * CommunicationObject.cs, ListenerFactoryBase.cs : added missing bits.
2570 2005-10-09 Atsushi Enomoto <atsushi@ximian.com>
2572 * HttpChannelFactory.cs : new file.
2574 2005-10-08 Atsushi Enomoto <atsushi@ximian.com>
2576 * IReplyChannel.cs, IRequestContext.cs, IRequestChannel.cs:
2577 moved to ../System.ServiceModel (correct location).
2578 * ChannelFactoryBase.cs, LayeredChannelFactory.cs, TransferMode.cs:
2579 new files for channels.
2580 * Dummy.cs : reflected above changes.
2581 * ChannelManagerBase.cs : added a bit of code and todos.
2583 2005-10-04 Atsushi Enomoto <atsushi@ximian.com>
2585 * ChannelManagerBase.cs, ListenerBase.cs, ListenerFactoryBase.cs :
2586 added listener support files.
2587 * Dummy.cs : removed above.
2589 2005-10-03 Atsushi Enomoto <atsushi@ximian.com>
2591 * IReplyChannel.cs, IRequestContext.cs, IRequestChannel.cs :
2592 added request/reply channel interfaces.
2593 * Dummy.cs : removed above.
2594 * CommunicationObject.cs : FIXME comments.
2596 2005-10-03 Atsushi Enomoto <atsushi@ximian.com>
2598 * CommunicationObject.cs : implemented some members.
2600 2005-09-29 Atsushi Enomoto <atsushi@ximian.com>
2602 * CommunicationObject.cs : some signature fixes.