1 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
3 * ReplyChannelBase.cs, DuplexChannelBase.cs, RequestChannelBase.cs:
4 implement GetProperty<T>() and return its channel manager.
6 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
8 * PeerDuplexChannel.cs : ongoing implementation. Fix wrong peer
9 destination address in Connect() request. To repeat sending
10 request, use buffered copy. Set some peer-channel specific
11 header items. (todo: and consume them.)
13 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
15 * Message.cs : state is set only after WriteBodyContents().
17 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
19 * MessageHeaders.cs : eliminate wrong use of
20 ReadElementContentAsString() (it is not always simple string).
22 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
24 * MessageHeaders.cs : when the value is null, do not try to
25 deserialize EndpointAddress.
27 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
29 * MessageHeader.cs : add Value property. (Forgot dependent change.)
31 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
33 * MessageHeaders.cs : GetHeader<T>() could mostly skip extra
34 serialization and deserialization of values.
36 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
38 * PeerDuplexChannel.cs : handle Welcome and Refuse at client side.
39 Now simply use connector contract.
41 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
43 * PeerDuplexChannel.cs : handle Disconnect(). Fix URLs a bit.
45 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
47 * TcpChannelListener.cs : do not try to compare dead connection's
48 IPEndPoint (it raises an error).
50 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
52 * MessageHeaders.cs : allow null header value on each specific setter.
54 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
56 * DuplexChannelBase.cs, TcpDuplexSessionChannel.cs :
57 get local and remote address of connected counterpart to get
58 callback channel connected.
59 * PeerDuplexChannel.cs : remove FIXME wrt above.
61 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
63 * PeerDuplexChannel.cs : add fixme comment and remove extra FIXME.
65 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
67 * MessageHeader.cs : fill IsReferenceParameter.
69 2009-08-06 Atsushi Enomoto <atsushi@ximian.com>
71 * ReplyChannelBase.cs, TcpReplyChannel.cs, HttpReplyChannel.cs:
72 implement remaining async methods and LocalAddress.
74 2009-08-05 Atsushi Enomoto <atsushi@ximian.com>
76 * PeerDuplexChannel.cs : ongoing listener refactoring. Now it uses
77 ServiceHost to process neighbor connection (not sure if this is
78 right way to go though ...).
80 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
82 * PeerDuplexChannel.cs : ongoing [MC-PRCH] implementation. Rewrote
83 connection part to use new internal IPeerConnectorContract for
86 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
88 * ChannelListenerBase_1.cs, TcpChannelListener.cs,
89 PeerChannelListener.cs, HttpChannelListener.cs :
90 support ListenUri accordingly too so that it could be used when
91 it is different from LocalAddress.Uri.
93 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
95 * TcpChannelFactory.cs, TcpDuplexSessionChannel.cs,
96 TcpRequestChannel.cs : use Via uri to validate and connect.
98 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
100 * RequestChannelBase.cs, DuplexChannelBase.cs :
101 Return endpoint address Uri when no explicit Via uri is specified.
102 * ChannelFactoryBase.cs : Remove extra async close methods.
103 Add async open methods. Reject null EndpointAddress.
104 * PeerChannelFactory.cs : remove async open methods (now in base).
106 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
108 * PeerDuplexChannel.cs : set correct message endpoint (To header).
110 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
112 * TcpDuplexSessionChannel.cs, PeerDuplexChannel.cs,
113 DuplexChannelBase.cs : set LocalAddress property at base.
115 2009-07-30 Atsushi Enomoto <atsushi@ximian.com>
117 * PeerDuplexChannel.cs : ongoing refactoring to work both as
118 listener and client. Now it creates a listening peer node, and
119 creates a set of TCP client channels for each peer in the mesh.
121 (EndpointAddress must be fixed to not filter out correct inputs).
123 2009-07-30 Atsushi Enomoto <atsushi@ximian.com>
125 * PeerChannelListener.cs : do not accept more than one channel
126 which results in lots of listening peer node. Only one is enough.
128 2009-07-30 Atsushi Enomoto <atsushi@ximian.com>
130 * DuplexChannelBase.cs : fix wrong loop implementation.
132 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
134 * TcpChannelListener.cs : to avoid creating two or more channels
135 for one remote endpoint, check existing remote endpoints and
136 ignore such connections (it must be handled in different thread
137 fired by ChannelDispatcher loop).
139 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
141 * TcpReplyChannel.cs : make sure to not try to receive request when
142 it is already closed.
144 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
146 * TcpChannelListener.cs, TcpDuplexSessionChannel.cs :
147 some mannerless clients [*1] do not send EndRecord accordingly, but
148 such channels at listener side should not be kept open. So, close
149 disconnected channels when the listener needs to accept another
151 [*1] see olive/samples/wcf/clientbase/samplecli4.cs.
153 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
155 * TcpDuplexSessionChannel.cs :
156 Remove extra NIE overrides.
157 Implement OnAbort() apart from OnClose().
158 For duplex session channel, unlike reply channel, it must acquire
159 TCP connection before OnOpen(), otherwise ChannelDispatcher
160 releases the connection acceptance WaitHandle and the detected
161 live connection may be stolen by another channel acceptor.
163 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
165 * HttpRequestChannel.cs : implement OnAbort().
167 2009-07-24 Atsushi Enomoto <atsushi@ximian.com>
169 * PeerChannelListener.cs : set source field. Remove unnecessary NIE.
170 * DuplexChannelBase.cs : comment out some extra fields (so far).
171 * PeerDuplexChannel.cs : pass valid EndpointAddress to PeerNodeImpl.
173 2009-07-24 Atsushi Enomoto <atsushi@ximian.com>
175 * PeerCustomResolverBindingElement.cs : add some null checks.
177 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
179 * TcpChannelListener.cs, TcpReplyChannel.cs, TcpRequestChannel.cs:
180 Acquire TcpClient for each request/reply. Now it is fully
181 interoperable with .NET.
183 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
185 * TcpReplyChannel.cs, TcpRequestChannel.cs: it somehow adds/expects
186 ReplyTo and MessageId (though it is session-less), and it expects
187 EndRecord at weird stage, inconsistent with [MC-NMF]...
188 Now .NET service accepts one mono client request.
190 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
192 * TcpReplyChannel.cs, TcpRequestChannel.cs, TcpBinaryFrameManager.cs:
193 Send and receive unsized message terminator at once.
194 Send EndRecord mutually. Got one .net client request working.
196 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
198 * BinaryMessageEncoder.cs : revert the previous dictionary change.
199 They are indeed used for non-in-band-dictionary messages.
201 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
203 * TcpDuplexSessionChannel.cs, TcpBinaryFrameManager.cs:
204 split out binary frame manager class into separate file.
206 2009-07-21 Atsushi Enomoto <atsushi@ximian.com>
208 * TcpReplyChannel.cs : new reply channel implementation.
209 * TcpChannelListener.cs : use above for streamed reply channel.
210 * TcpDuplexSessionChannel.cs : more streaming mode support.
211 * TcpRequestChannel.cs : a couple of updates to get it working
212 with the reply channel above. Still some issues on .NET interop.
214 2009-07-21 Atsushi Enomoto <atsushi@ximian.com>
216 * RequestContext.cs : added internal derived class that implements
219 2009-07-21 Atsushi Enomoto <atsushi@ximian.com>
221 * BinaryMessageEncoder.cs : for non-session reader and writer, do not
224 2009-07-17 Atsushi Enomoto <atsushi@ximian.com>
226 * PeerDuplexChannel.cs: add the registered node itself to peer list.
227 (The messaging must be done as TCP request/reply pattern, so it's
230 2009-07-17 Atsushi Enomoto <atsushi@ximian.com>
232 * TcpRequestChannel.cs : new channel file (TCP for request/reply
233 messaging pattern). The messaging part is not working yet.
234 * TcpChannelFactory.cs : support IRequestChannel.
235 * TcpDuplexSessionChannel.cs : add unsized message support.
237 2009-07-17 Atsushi Enomoto <atsushi@ximian.com>
239 * HttpRequestChannel.cs, RequestChannelBase.cs :
240 A couple of async members are now implemented in the base class.
241 Ditto for EndpointAddress and Via.
243 2009-07-10 Atsushi Enomoto <atsushi@ximian.com>
245 * PeerDuplexChannel.cs : now it implements some of node management
246 functionality and Send operation. The receiver part is not yet.
248 2009-07-10 Atsushi Enomoto <atsushi@ximian.com>
250 * TcpChannelListener.cs, TcpDuplexSessionChannel.cs : do not pass
251 timeout to channel constructor. it does not make sense.
253 2009-07-10 Atsushi Enomoto <atsushi@ximian.com>
255 * PeerChannelFactory.cs, PeerChannelListener.cs : add MessageEncoder
256 as common interface member, and use binary encoder (not text).
258 2009-07-09 Atsushi Enomoto <atsushi@ximian.com>
260 * PeerDuplexChannel.cs : PeerNode constructor argument changes.
262 2009-07-08 Atsushi Enomoto <atsushi@ximian.com>
264 * PeerDuplexChannel.cs, PeerChannelListener.cs, PeerOutputChannel.cs,
265 PeerInputChannel.cs, PeerChannelFactory.cs : those channels are
266 going to be unified to PeerDuplexChannel. And it is likely that
267 input and output functionalities are to be unified too.
269 2009-07-08 Atsushi Enomoto <atsushi@ximian.com>
271 * TcpChannelFactory.cs : (TcpChannelInfo) ease type restriction. I
272 may have to reuse it for peer transport.
273 * PeerChannelListener.cs : add binding member.
274 * PeerDuplexChannel.cs : remove NIE overrides. Fill fields a bit.
276 2009-07-08 Atsushi Enomoto <atsushi@ximian.com>
278 * ChannelFactoryBase.cs, HttpChannelFactory.cs,
279 PeerChannelFactory.cs : close opened channels at OnClose() as
280 documented. Implement async methods.
281 * PeerChannelListener.cs : removed some NIE overrides.
283 2009-07-02 Atsushi Enomoto <atsushi@ximian.com>
285 * DuplexChannelBase.cs : some more async methods.
287 2009-06-29 Atsushi Enomoto <atsushi@ximian.com>
289 * TcpDuplexSessionChannel.cs : on Abort(), do just Close() within
291 * TcpChannelListener.cs : accept multiple channels at a time.
293 2009-06-29 Atsushi Enomoto <atsushi@ximian.com>
295 * TcpDuplexSessionChannel.cs : do not output all (stored) writer
296 session strings but output only those new ones in current message.
297 This fixes inconsistent body output in repetitive use of sender.
299 2009-06-26 Atsushi Enomoto <atsushi@ximian.com>
301 * TcpDuplexSessionChannel.cs : handle EndRecord for repetitive
302 operation that does not involve session.
303 Preserve writer session as well as reader session.
304 * MessageHeaders.cs : take name and namespace into consideration
305 when creating a serializer.
307 2009-06-25 Atsushi Enomoto <atsushi@ximian.com>
309 * TcpChannelListener.cs, TcpDuplexSessionChannel.cs :
310 Made required changes for repeated use of message exchanges.
311 Hold binary reader session. The channels use it incrementally.
312 Preambles are handled at Open, and EndRecords are handled at
313 Close, Add session shutdown hook here (not working yet though).
315 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
317 * ChannelListenerBase_1.cs : added cancellation hook here too.
318 HttpChannelListener.cs : use above.
319 Do not allow parallel channel creation (this listener does not
320 allow more than one AcceptChannel().
322 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
324 * ReplyChannelBase.cs, HttpReplyChannel.cs :
325 Add cancellation hook for async TryReceiveRequest.
327 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
329 * HttpChannelListener.cs, HttpListenerManager.cs :
330 slightly improved BuildChannelListener().
331 Implement OnAbort() and differentiate it from OnClose().
333 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
335 * TcpDuplexSessionChannel.cs : remove NIE stubs.
337 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
339 * DuplexChannelBase.cs : simple async delegate calls here too.
341 2009-06-16 Atsushi Enomoto <atsushi@ximian.com>
343 * ReplyChannelBase.cs : cosmetic dependency reduction on listener.
345 2009-06-16 Atsushi Enomoto <atsushi@ximian.com>
347 * HttpReplyChannel.cs : cosometic simplification.
349 2009-06-16 Atsushi Enomoto <atsushi@ximian.com>
351 * HttpRequestChannel.cs : Fixed timeout handling. It was causing
352 infinite block in 2.0 profile.
354 2009-06-12 Atsushi Enomoto <atsushi@ximian.com>
356 * TcpChannelListener.cs, TcpDuplexSessionChannel.cs :
357 more careful close to avoid NRE.
359 2009-06-12 Atsushi Enomoto <atsushi@ximian.com>
361 * HttpChannelListener.cs : do not Close() more than once (though
362 it is allowed to call it twice, we don't reject it; just ignore).
364 2009-06-12 Atsushi Enomoto <atsushi@ximian.com>
366 * CustomBinding.cs : copy timeouts from argument binding in copy ctr.
368 2009-06-11 Atsushi Enomoto <atsushi@ximian.com>
370 * HttpReplyChannel.cs : reject multiple WaitForRequest calls.
371 Temporarily disable HTTP Keep-Alive since it somehow results in
372 wrong reuse of connection (shown as NRE in HttpConnection).
373 Make sure to close RequestContext which was created from it.
374 * HttpRequestContext.cs : simplify.
376 2009-06-11 Atsushi Enomoto <atsushi@ximian.com>
378 * HttpChannelListener.cs, TcpChannelListener.cs,
379 ChannelListenerBase_1.cs : put common internal listener base
380 and let it handle those async stuff.
382 2009-06-10 Atsushi Enomoto <atsushi@ximian.com>
384 * ReplyChannelBase.cs : fix wrong null delegate check point.
386 2009-06-10 Atsushi Enomoto <atsushi@ximian.com>
388 * HttpReplyChannel.cs, ReplyChannelBase.cs : async operations are
389 now implemented as virtual in base class. Remove NIEs in http.
391 2009-06-10 Atsushi Enomoto <atsushi@ximian.com>
393 * HttpChannelListener.cs : hack async implementation.
395 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
397 * HttpListenerManager.cs : oops, extra line removal.
399 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
401 * HttpChannelManager.cs, HttpListenerManager.cs : rename file too.
403 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
405 * HttpChannelManager.cs, HttpChannelListener.cs: renaming, as
406 "ChannelManager" is confusing (there is ChannelManagerBase).
408 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
410 * HttpChannelManager.cs, HttpTransportBindingElement.cs,
411 HttpReplyChannel.cs, AspNetReplyChannel.cs, HttpChannelListener.cs:
412 they should be split into separate listener->reply channel lines
413 (remove "if (HostingEnvironment.IsAspNet)".)
415 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
417 * CommunicationObject.cs : OnClosed() requires call to base method.
418 Close() could rather abort the channel, and Abort() does not
419 always invke OnAbort().
420 * ChannelBase.cs : add call to base as above.
422 2009-06-05 Sebastien Pouliot <sebastien@ximian.com>
424 * ClientAccessPolicy.cs: Removed
425 * CrossDomainAccessManager.cs: Removed
426 * CrossDomainPolicy.cs: Removed
427 * HttpRequestChannel.cs: Remove call to CrossDomainAccessManager
428 since this is now done inside the BeginGetResponse call (outside
429 this assembly) for Moonlight (NET_2_1)
431 2009-06-04 Alan McGovern <amcgovern@novell.com>
433 * HttpRequestChannel.cs : Rewrite ProcessRequest to use the async APIs
434 instead of the sync apis. Prevents a possible deadlock condition in
437 2009-06-03 Atsushi Enomoto <atsushi@ximian.com>
439 * HttpRequestChannel.cs : that SL2/ML2 does not seem to allow null
440 callbacks, so add hacky ones.
442 2009-06-01 Atsushi Enomoto <atsushi@ximian.com>
444 * TcpDuplexSessionChannel.cs : WaitForMessage() should not return
445 true when socket input is not available.
447 2009-05-29 Atsushi Enomoto <atsushi@ximian.com>
449 * TcpDuplexSessionChannel.cs : Moved tcp listener accept to OnOpen().
450 I cannot precisely identify when EndRecord should be consumed,
451 so allow it at either at the end of ReadSizedMessage() or on
452 consuming preamble (it's likely handling EndRecord of previous
455 Now duplex IPeerResolverContract communication works between
456 either of .NET/Mono client and .NET/Mono server.
458 2009-05-29 Atsushi Enomoto <atsushi@ximian.com>
460 * TcpDuplexSessionChannel.cs : looks like I have added some bogus
461 code. Handle preamble ack on ReadSizedMessage() only at server.
462 Consume EndRecord from server, at client side. Though it is likely
463 changed as it's blocking when mono is at server side.
465 2009-05-29 Atsushi Enomoto <atsushi@ximian.com>
467 * TcpDuplexSessionChannel.cs : .NET seems to be based on somewhat
468 different protocol than existing code with related to preamble ack.
469 So changed it to work fine with .NET client (finally).
471 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
473 * MessageBufferImpl.cs : do not output Action twice.
475 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
477 * MessageBufferImpl.cs : it did not copy headers.
478 * Message.cs : remove 2_1 conditional implementation for buffered
479 copy and hence remove bogus code.
481 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
483 * MessageProperties.cs : copy argument is wrong.
485 2009-05-27 Atsushi Enomoto <atsushi@ximian.com>
487 * PeerCustomResolverBindingElement.cs : some argument check.
489 2009-05-27 Atsushi Enomoto <atsushi@ximian.com>
491 * BinaryMessageEncoder.cs : the serializer somehow leaves binary
492 xml open, so close the writer as well as open elements.
493 * TcpDuplexSessionChannel.cs : clear write buffer on each operation.
494 Do not output EndRecord and SizedMessage at a time.
496 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
498 * TcpDuplexSessionChannel.cs : there was a miscalculation on the
499 length of the SizedMessage in the output.
501 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
503 * CommunicationObject.cs : use sane default timeout.
504 * PeerCustomResolverBindingElement.cs : check timeout arg sanity.
505 * TcpDuplexSessionChannel.cs : ditto.
507 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
509 * TcpDuplexSessionChannel.cs : It seems that buffered stream channel
510 only accepts buffered messages, so do as such for write buffers.
511 Add RelatesTo header.
513 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
515 * DuplexSessionChannelBase.cs, DuplexChannelBase.cs:
516 rename from former to latter.
518 2009-05-25 Atsushi Enomoto <atsushi@ximian.com>
520 * TcpDuplexSessionChannel.cs : reader does not always return full
521 buffer (depending on the stream).
523 2009-05-25 Atsushi Enomoto <atsushi@ximian.com>
525 * PeerDuplexChannel.cs, PeerOutputChannel.cs : use new PeerNode.ctor.
527 2009-05-25 Atsushi Enomoto <atsushi@ximian.com>
529 * PeerCustomResolverBindingElement.cs : (Resolve) returned addresses
532 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
534 * ChannelManagerBase.cs : there was annoying non-2.1 stuff.
536 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
538 * TcpChannelListener.cs, TcpChannelFactory.cs : get reader quotas.
540 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
542 * ChannelManagerBase.cs : fix wrong session channel detection.
544 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
546 * BinaryMessageEncoderFactory.cs, BinaryMessageEncoder.cs
547 This encoder factory implements CreateSessionEncoder() and binary
548 encoder does support session transmit, in different media type.
549 * ChannelManagerBase.cs : added utility method to create appropriate
551 * HttpChannelFactory.cs, HttpChannelListener.cs,
552 MsmqChannelFactory.cs, MsmqChannelListener.cs,
553 PeerChannelFactory.cs, PeerChannelListener.cs,
554 TcpChannelFactory.cs, TcpChannelListener.cs : use above.
556 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
558 * TcpDuplexSessionChannel.cs : add ReplyTo header.
560 2009-05-21 Atsushi Enomoto <atsushi@ximian.com>
562 * DuplexSessionBase.cs : new file, for session implementation.
563 * TcpDuplexSessionChannel.cs, PeerDuplexChannel.cs,
564 DuplexSessionChannelBase.cs : changed sync/async implementation
565 pattern. Now async methods call sync methods using delegates.
567 2009-05-21 Atsushi Enomoto <atsushi@ximian.com>
569 * InputChannelBase.cs, TransportBindingElement.cs, RequestContext.cs:
570 a few minor API fixes.
572 2009-05-21 Atsushi Enomoto <atsushi@ximian.com>
574 * MessageEncoderFactory.cs : implement CreateSessionEncoder().
576 2009-05-19 Atsushi Enomoto <atsushi@ximian.com>
578 * TcpDuplexSessionChannel.cs : add To header.
580 2009-05-19 Atsushi Enomoto <atsushi@ximian.com>
582 * MessageFault.cs : fix several SOAP12 fault deserialization in xml
585 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
587 * FaultConverter.cs : avoid NRE for null IncomingMessageHeaders.
589 2009-05-15 Atsushi Enomoto <atsushi@ximian.com>
591 * MessageFault.cs : Reason is mandatory. raise XmlException, and
592 CommunicationException in each CreateFault().
594 2009-05-15 Atsushi Enomoto <atsushi@ximian.com>
596 * TcpDuplexSessionChannel.cs : on listener side, get TcpClient at
597 Open(). Some (but not all yet) continuous communication works now.
598 Use ProtocolException. Remove dummy binary session string.
600 2009-05-14 Atsushi Enomoto <atsushi@ximian.com>
602 * TcpDuplexSessionChannel.cs : more [MC-NMF] implementation. Moved
603 sending/receiving SizedMessageRecord parts to manager class.
604 Handle writer session, though it is likely broken at dictionary
605 writer part (no string is written so far).
606 * BinaryMessageEncoder.cs : add writer session and rename reader
609 2009-05-14 Atsushi Enomoto <atsushi@ximian.com>
611 * TcpDuplexSessionChannel.cs : more [MC-NMF] implementation. Via uri
612 is mandatory in initiator preamble packet. Handle Fault reply in
615 2009-05-14 Atsushi Enomoto <atsushi@ximian.com>
617 * TcpDuplexSessionChannel.cs : ongoing refactoring to collect [MC-NMF]
618 based communication under TcpBinaryFrameManager class.
620 2009-05-13 Jb Evain <jbevain@novell.com>
622 * MessageHeader.cs: use a SL friendly way of creating an XmlReader
625 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
627 * MessageImpl.cs, MessageHeader.cs : eliminate xlinq in 2.1, and
628 actually eliminate DOM-based implementation too in 2.0.
630 2009-04-28 Atsushi Enomoto <atsushi@ximian.com>
632 * TcpDuplexSessionChannel.cs : implement in-band dictionary support
633 in [MC-NMF] and [MC-NBFSE], used in duplex channels. Added some
634 comments for magic numbers based on [MC-NMF].
636 2009-04-28 Atsushi Enomoto <atsushi@ximian.com>
638 * BinaryMessageEncoder.cs : implement part of in-band dictionary
639 support for [MC-NBFSE] record in [MC-NMF], in this class.
641 2009-04-28 Atsushi Enomoto <atsushi@ximian.com>
643 * BinaryMessageEncodingBindingElement.cs : clear extra public members.
645 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
647 * TcpDuplexSessionChannel.cs : implemented some channel methods.
649 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
651 * BinaryMessageEncoder.cs : use XmlDictionary specified as [MC-NBFS].
653 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
655 * ChannelManagerBase.cs : implement Open/CloseTimeout correctly.
657 2009-04-23 Atsushi Enomoto <atsushi@ximian.com>
659 * BinaryMessageEncoder.cs : use quotas in binding element.
660 Implement WriteMessage().
662 2009-04-22 Atsushi Enomoto <atsushi@ximian.com>
664 * PeerCustomResolverBindingElement.cs : do initialize field.
666 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
668 * PeerCustomResolverBindingElement.cs :
669 implement full custom resolver.
671 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
673 * PeerDuplexChannel.cs, PeerChannelListener.cs,
674 PeerOutputChannel.cs, PeerCustomResolverBindingElement.cs,
675 PeerChannelFactory.cs : ongoing p2p channel implementation.
677 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
679 * PnrpPeerResolverBindingElement.cs : sync with PeerResolver changes.
681 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
683 * BinaryMessageEncodingBindingElement.cs, ChannelBase.cs,
684 ChannelFactoryBase.cs, WindowsStreamSecurityBindingElement.cs :
685 implement GetProperty<T>(). Return documented objects or null.
687 2009-04-20 Atsushi Enomoto <atsushi@ximian.com>
689 * PeerChannelFactory.cs, PeerChannelListener.cs,
690 PeerCustomResolverBindingElement.cs, PeerDuplexChannel.cs
691 PeerInputChannel.cs, PeerOutputChannel.cs :
692 new; ongoing peer transport implementation.
693 * DuplexSessionChannelBase.cs, InputChannelBase.cs
694 MsmqOutputChannel.cs, OutputChannelBase.cs,
695 PeerResolverBindingElement.cs, PeerTransportBindingElement.cs,
696 PnrpPeerResolverBindingElement.cs, TcpDuplexSessionChannel.cs :
697 several internal changes (either required or for simplification)
698 for ongoing peer transport implementation.
700 2009-04-08 Atsushi Enomoto <atsushi@ximian.com>
702 * PeerTransportBindingElement.cs : ListenIPAddress is IPAddress.
704 2009-04-07 Atsushi Enomoto <atsushi@ximian.com>
706 * TcpTransportBindingElement.cs : check build-ability before
707 actually building channels.
708 * ConnectionOrientedTransportBindingElement.cs : fixed build-ability
709 conditions according to MSDN.
711 2009-03-05 Atsushi Enomoto <atsushi@ximian.com>
713 * MessageHeader.cs, MessageHeaders.cs, MessageImpl.cs :
714 handle headers in SL2. Slightly changed 3.0 code too.
716 2009-03-04 Atsushi Enomoto <atsushi@ximian.com>
718 * HttpRequestChannel.cs : use cross domain access manager.
720 2009-02-27 Atsushi Enomoto <atsushi@ximian.com>
722 * Message.cs : (in CreateBufferedCopy) do not pass the entire
723 message as BodyWriter.
724 (in GetReaderAtBodyContents) just write body contents.
725 * MessageImpl.cs : do not try to read body at ctor (fixed tons
727 Add some state check in GetReaderAtBodyContents().
728 * XmlReaderBodyWriter.cs : avoid possible extra xmldecl onto output.
730 2009-02-18 Atsushi Enomoto <atsushi@ximian.com>
732 * Message.cs : do not forget to flush.
733 * HttpRequestChannel.cs : give more exact error info.
735 2009-02-18 Atsushi Enomoto <atsushi@ximian.com>
737 * Message.cs, MessageBufferImpl.cs, XmlReaderBodyWriter.cs :
738 make buffered copy in ML2 really buffered.
740 2009-02-12 Atsushi Enomoto <atsushi@ximian.com>
742 * Message.cs : if there is no header item to write, do not write
745 2009-01-22 Alan McGovern <amcgovern@novell.com>
747 * MessageHeaders.cs : List<T>.RemoveAll(Predicate<T>) doesn't exist in Silverlight.
748 Rewrite to avoid usage of it.
750 2009-01-14 Atsushi Enomoto <atsushi@ximian.com>
752 * ChannelParameterCollection.cs : implement, rather than NIE.
754 2008-05-22 Noam Lampert <noaml@mainsoft.com>
756 * MessageFault.cs: Correctly serialize ExceptionDetails. Expose SimpleMessageFault to allow
757 internal users to know the type of the detail.
759 2008-05-20 Noam Lampert <noaml@mainsoft.com>
761 * Message.c: Use private setter for state private variable to ease debugging.
762 Modify ToString not to change the state, as it is called quite often by VS debugger
764 2008-04-21 Roei Erez <roeie@mainsoft.com>
766 * HttpChannleManager: Fix for multithreaded use.
767 * HttpReplyChannel: Fix crash during sutdown.
769 2008-04-17 Igor Zelmanovich <igorz@mainsoft.com>
771 * HttpChannleManager: ensure trailing slash in uri.
773 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
775 * added: HttpChannleManager,
776 * HttpChannelListener: added use of HttpChannelManager
778 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
780 * MessageEncodingBindingElement.cs: fixed ctor
782 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
784 * XmlReaderBodyWriter.cs: fixed ctor, skip xml declaration
786 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
788 * HttpReplyChannel.cs: fixed TryReceiveRequest, fix message header To
790 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
792 * MessageFault.cs: fixed CreateFault11, implemented "detail"
794 2008-04-17 Noam Lampert <noaml@mainsoft.com>
796 * HttpReplyChannel.cs: fix API - Fix crash during service shutdown.
798 2008-04-13 Igor Zelmanovich <igorz@mainsoft.com>
800 * BindingElementCollection.cs: fix API - .ctor's signature.
802 2008-04-10 Eyal Alaluf <eyala@mainsoft.com>
804 * XmlSerializerBodyWriter.cs: Removed.
806 2008-03-25 Vladimir Krasnov <vladimirk@mainsoft.com>
808 * MessageFault.cs: fixed WriteReason, .net XmlWriter compatible
810 2008-02-20 Atsushi Enomoto <atsushi@ximian.com>
812 * DuplexSessionChannelBase.cs : made it non-session (more reusable).
813 * TcpChannelFactory.cs, TcpChannelListener.cs :
814 unify factory and listener into TcpChannelInfo for use in
815 TCP channel implementation. Do not store stream in the listener.
816 Factory now uses BinaryMessageEncoder.
817 * TcpDuplexSessionChannel.cs : changes explained above, and now it
818 holds TcpClient that the listener has accepted.
820 tcp-transport-binding-element sample now communicates (though
821 only when both sides are mono: there seems binary mismatch).
823 2008-02-20 Atsushi Enomoto <atsushi@ximian.com>
825 * TcpTransportBindingElement.cs, TcpConnectionPoolSettings.cs :
826 clone connection pool settings too.
827 * NamedPipetransportBindingElement.cs,
828 NamedPipeConnectionPoolSettings.cs : let's clean them up too (not
829 being likely implemented though).
831 2008-02-20 Atsushi Enomoto <atsushi@ximian.com>
833 * ConnectionOrientedTransportBindingElement.cs,
834 TcpTransportBindingElement.cs : some API updates.
835 Initialize default values.
836 * TcpConnectionPoolSettings.cs : new file.
838 2008-02-18 Atsushi Enomoto <atsushi@ximian.com>
840 * ServiceHostParser.cs, SvcHttpHandlerFactory.cs, SvcHttpHandler.cs:
841 added support for "factory" attribute.
843 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
845 * HttpRequestContent.cs : consider HttpResponseMessageProperty.
847 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
849 * HttpRequestChannel.cs : pass response ContentType to ReadMessage().
851 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
853 * HttpRequestChannel.cs : create WebRequest against To message header
855 Consider HttpRequestMessageProperty.
856 Do not output body when suppressed or the method is GET.
858 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
860 * HttpChannelListener.cs : BindingContext may not have listenUri
863 2008-02-08 Atsushi Enomoto <atsushi@ximian.com>
865 * BindingContext.cs : RemainingBindingElements is not just a dummy
866 collection but is actually user-controlled.
868 2008-02-08 Atsushi Enomoto <atsushi@ximian.com>
870 * TcpChannelFactory.cs, TcpChannelListener.cs,
871 HttpChannelFactory.cs, HttpChannelListener.cs,
872 MsmqChannelFactory.cs, MsmqChannelListener.cs,
873 TextMessageEncodingBindingElement.cs,
874 BinaryMessageEncodingBindingElement.cs,
875 MtomMessageEncodingBindingElement.cs :
876 message encoder should be retrieved only through public API.
877 * BindingContext.cs : so my old guess was wrong.
879 See also: http://blogs.msdn.com/drnick/archive/2006/05/10/594134.aspx
881 2008-02-05 Atsushi Enomoto <atsushi@ximian.com>
883 * HttpTransportBindingElement.cs : implemented copy constructor.
885 2007-08-20 Atsushi Enomoto <atsushi@ximian.com>
887 * HttpRequestChannel.cs, HttpReplyChannel.cs : treat SOAPAction HTTP
888 header when AddressingVersion is None.
890 2007-08-20 Atsushi Enomoto <atsushi@ximian.com>
892 * MessageHeaders.cs : AddressingVersion.None rejects some WSA
895 2007-08-19 Atsushi Enomoto <atsushi@ximian.com>
897 * OneWayBindingElementImporter.cs
898 CompositeDuplexBindingElementImporter.cs : new files.
900 2007-08-17 Atsushi Enomoto <atsushi@ximian.com>
902 * MessageHeaders.cs : due to the DataContractSerializer.ReadObject()
903 semantic change, its bool parameter must be false, not true.
905 2007-07-13 Atsushi Enomoto <atsushi@ximian.com>
907 * InputChannelBase.cs, MsmqChannelListener.cs, MsmqInputChannel.cs :
908 new files. Msmq transport listener Implementation.
909 * MsmqOutputChannel.cs : implemented Send(). Not sure if it works
910 (wait for System.Messaging impl.)
911 * HttpReplyChannel.cs : added comment
913 2007-07-06 Atsushi Enomoto <atsushi@ximian.com>
915 * MsmqChannelFactory.cs MsmqOutputChannel.cs OutputChannelBase.cs :
916 new files. internal stuff for msmq channel.
917 * BinaryMessageEncoder.cs : added another .ctor().
918 * MsmqTransportBindingElement.cs :
919 implemented [Can]BuildChannelFactory().
921 2007-07-06 Atsushi Enomoto <atsushi@ximian.com>
923 * MsmqBindingElementBase.cs MsmqTransportBindingElement.cs :
924 initialize some fields.
926 2007-07-05 Atsushi Enomoto <atsushi@ximian.com>
928 * MsmqBindingElementBase.cs MsmqMessageProperty.cs
929 MsmqTransportBindingElement.cs ITransactedBindingElement.cs :
930 couple of msmq stubs.
932 2007-04-02 Atsushi Enomoto <atsushi@ximian.com>
934 * SecureMessageGenerator.cs : SecurityContextToken support (though
935 it is still regarded as invalid by WCF).
937 2007-03-13 Atsushi Enomoto <atsushi@ximian.com>
939 * WSSecurityMessageHeader.cs, SecureMessageGenerator.cs :
940 make header.Contents.Add() more strict.
941 Use HasAsymmetricKey to determine whether to use asymmetric algorithm
943 Added some hack to allow ssl token external mode.
944 Commented out such lines that always premised asymmtric key.
946 2007-03-08 Atsushi Enomoto <atsushi@ximian.com>
948 * TransactionFlowBindingElement.cs : forgot necessary Clone().
950 2007-03-08 Atsushi Enomoto <atsushi@ximian.com>
952 * MessageSecurityBindingSupport.cs : support check to create
953 authenticator is now done in both initiator/recipient sides.
954 * SecurityRequestContext.cs : don't encrypt WS-Trust RSTR.
956 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
958 * MessageSecurityBindingSupport.cs : for now, comment out the code
959 that makes authenticator creation optional.
960 * SecurityRequestContext.cs : don't decrypt message when it is
961 WS-Trust messages. Also, do not secure SOAP Fault (it is likely
963 * SecurityChannelListener.cs : GetProperty<T>() now returns
964 MessageSecurityBindingSupport when requested. It is used by
965 EndpointDispatcher to check if it supports WS-Trust negotiation.
966 * ChannelListenerBase.cs :
967 removed extra TODO and field. Implemented GetProperty<T>().
968 * Message.cs : In CreateMessage() for SOAP Fault, create
969 SimpleMessage with IsFault = true.
971 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
973 * SecurityRequestContext.cs : try to reply fault with the inner
974 channel when an error occurred internally.
975 * FaultConverter.cs : implemented based on OperationContext (at normal
976 state it does not seem to create messages, so I implemented it this
979 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
981 * TransportBindingElement.cs : implemented GetProperty<T>().
982 * TransactionFlowBindingElement.cs : on building factory or listener,
983 reject channel types that cannot build.
984 * SecurityBindingElement.cs : added some TODO comments.
985 * HttpTransportBindingElement.cs : GetProperty<T>() should rather
986 delegate to base, not BindingContext.
987 * SecurityRequestContext.cs : somewhat late decryption.
989 2007-03-06 Atsushi Enomoto <atsushi@ximian.com>
991 * MessageSecurityBindingSupport.cs,
992 AsymmetricSecurityBindingElement.cs,
993 SymmetricSecurityBindingElement.cs :
994 renamed *SecurityBindingElementSupport to *SecurityCapabilities and
995 implemented ISecurityCapabilities on them. Now those binding
996 elements support GetProperty<ISecurityCapabilities>().
998 2007-03-05 Atsushi Enomoto <atsushi@ximian.com>
1000 * SecurityBindingElement.cs : SetIssuerBindingContextIfRequired()
1001 will work only for predefined parameter types.
1003 2007-03-01 Atsushi Enomoto <atsushi@ximian.com>
1005 * MessageSecurityBindingSupport.cs :
1006 Set proper MessageDirection to the requirement after creation.
1007 split CreateTokenAuthenticator() as MessageDirection is different.
1008 Removed extra creation of requirement.
1010 2007-03-01 Atsushi Enomoto <atsushi@ximian.com>
1012 * MessageSecurityBindingSupport.cs : token authenticator is not
1013 always created on channel-opening stage.
1014 * SecurityBindingElement.cs : use SslSecurityTokenParameters for
1015 Sslnego binding factory method.
1017 2007-02-28 Atsushi Enomoto <atsushi@ximian.com>
1019 * SecureMessageGenerator.cs : inconsistent ReferenceList has caused
1020 signature velification failure.
1022 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1024 * SecureMessageGenerator.cs : encrypt signature confirmations only
1025 when they are required.
1027 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1029 * SecureMessageGenerator.cs : SignatureConfirmation must be encrypted
1030 when [Signature Protection is true i.e. when we use
1031 SignBeforeEncryptAndEncryptSignature.
1033 With this change finally samplesvc.cs/samplecli.cs became
1036 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1038 * SecureMessageDecryptor.cs : signature verification was not done
1039 for endorsing supporting tokens.
1040 * SecureMessageGenerator.cs : moved SignatureConfirmation position
1041 in the security header. Don't output empty ReferenceList.
1043 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1045 * SecureMessageGenerator.cs : signingToken was added before being
1046 initialized and thus caused NRE.
1048 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1050 * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
1051 SecureMessageGenerator.cs : use SHA1 instead of HMACSHA1. Now we
1052 don't need workaround for symmetric key restoration.
1054 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1056 * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
1057 SecureMessageGenerator.cs :
1058 Avoid extra reference search from the request's ReferenceList.
1059 create HMACSHA1 always with the key to compute hash (I'm not sure
1060 it is correct; it is rather to adjust all hash consistent.)
1062 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1064 * SecureMessageDecryptor.cs : verify that endorsing supporting tokens
1065 actually endorsed the primary signature.
1066 * SecureMessageGenerator.cs : implemented endorsing of the primary
1067 signature. So, now supporting tokens are fully implemented.
1069 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1071 * MessageSecurityBindingSupport.cs : so, those supporting tokens are
1072 totally signing tokens.
1073 * SecureMessageGenerator.cs : Endorsing tokens should also be
1074 included in the message. They are just not signed.
1076 2007-02-26 Atsushi Enomoto <atsushi@ximian.com>
1078 * SecureMessageGenerator.cs : support signing and encryption of
1079 supporting tokens. Some required refactory to do it.
1080 * MessageSecurityBindingSupport.cs : added EncryptedData member.
1082 2007-02-26 Atsushi Enomoto <atsushi@ximian.com>
1084 * SecureMessageDecryptor.cs : fix exception message.
1085 * WSSecurityMessageHeader.cs, WSSignedXml.cs, WSEncryptedXml.cs :
1086 XmlNamespaceManager is not required for GetIdElement().
1088 2007-02-22 Atsushi Enomoto <atsushi@ximian.com>
1090 * SecureMessageDecryptor.cs, WSSecurityMessageHeader.cs :
1091 moved decryption part from former file to latter file, to reuse
1092 SignedXml instance (though now I doubt how it actually was good)
1093 which in turn required to replace EncryptedData in
1094 WSSecurityMessageHeader with decrypted one.
1095 * WSEncryptedXml.cs : similar to WSSignedXml.cs, to handle wsu:Id.
1097 2007-02-21 Atsushi Enomoto <atsushi@ximian.com>
1099 * SecureMessageGenerator.cs : when we create DerivedKeyToken, those
1100 EncryptedData should contain KeyInfo as it is not obvious which key
1101 is used there. .net<->mono DerivedKeyToken introp is done.
1102 * SecureMessageDecryptor.cs : check derived key requirement.
1103 Reduce dom-dependent parts.
1105 2007-02-21 Atsushi Enomoto <atsushi@ximian.com>
1107 * WSSecurityMessageHeader.cs : ReferenceList needs to be bound to
1108 the related DerivedKeyToken (if any).
1109 * SecureMessageGenerator.cs : largely done with DerivedKeyToken
1110 support. Some refactoring to distinguish deried-token-related
1112 * SecureMessageDecryptor.cs : removed its own support for derived
1113 key tokens. Now it fully works with DerivedKeySecurityToken.
1115 2007-02-21 Atsushi Enomoto <atsushi@ximian.com>
1117 * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
1118 SecureMessageDecryptor.cs :
1119 Implemented increment token reading in o:Security, as
1120 DerivedKeyToken could reference to existing wrapped key.
1121 Removed WsscDerivedKeyToken and all relevant code.
1122 * SecureMessageGenerator.cs : replaced WsscDerivedKeyToken with
1123 DerivedKeySecurityToken.
1125 2007-02-16 Atsushi Enomoto <atsushi@ximian.com>
1127 * SecureMessageGenerator.cs : it was setting security tokens into
1128 incorrect SecurityMessageProperty.
1129 Use correct WrappedKeySecurityToken for EncryptedKeySHA1.
1130 Now it uses SecurityRequestContext instead of just primary key.
1131 * SecureMessageDecryptor.cs : removed extra lines. Limit workarounds
1132 to symmetric reply decryption, which is the only trouble case.
1133 Do not create another SignedXml.
1134 * WSSecurityMessageHeader.cs : SignedXml processing changes above.
1136 2007-02-15 Atsushi Enomoto <atsushi@ximian.com>
1138 * SecureMessageDecryptor.cs : Now it uses union token resolver and
1139 the resolver works with in-progress token reading in o:Security.
1140 * WSSecurityMessageHeader.cs : now it does not read EncryptedKey
1141 as EncryptedKeyIdentifierClause. It is rather a SecurityToken.
1142 * SecureMessageGenerator.cs : cosmetic refactoring.
1144 2007-02-14 Atsushi Enomoto <atsushi@ximian.com>
1146 * WSSecurityMessageHeader.cs : read EncryptedKeyIdentifierClause
1147 instead of EncryptedKey.
1149 2007-02-13 Atsushi Enomoto <atsushi@ximian.com>
1151 * MessageSecurityBindingSupport.cs : SigningToken and EncryptionToken
1152 should not be always prepared at channel Open(). It also caused
1153 that extra token requirements.
1154 * SecureMessageGenerator.cs : use correct key clause for encryption.
1155 * SecureMessageDecryptor.cs : reduce extra key acquisition.
1157 2007-02-06 Atsushi Enomoto <atsushi@ximian.com>
1159 * MessageSecurityBindingSupport.cs : added CreateTokenAuthenticator()
1160 for supporting 'supporting tokens' .
1161 * SecureMessageGenerator.cs : Supporting token creation is done only
1162 at initiator (not sure if it is supposed that, but for now it is).
1163 Removed extraneous CollectSupportingTokens().
1164 * SecureMessageDecryptor.cs : implemented supporting token
1165 authentication (partly). "Signed" supporting tokens are expected
1168 2007-02-06 Atsushi Enomoto <atsushi@ximian.com>
1170 * SecureMessageGenerator.cs :
1171 make SignBeforeEncryptAndEncryptSignature working.
1173 2007-02-06 Atsushi Enomoto <atsushi@ximian.com>
1175 * SecureMessageGenerator.cs : EncryptedKeySHA1 needs key hash, not
1176 the key itself. ProtectionToken is WrappedKey.
1177 * SecureMessageDecryptor.cs : now it is internal encrypted key clause,
1178 not EncryptedKeyIdentifierClause which is not for embedded key.
1179 * MessageProperties.cs : Fixed copy direction in CopyProperties().
1181 2007-02-05 Atsushi Enomoto <atsushi@ximian.com>
1183 * MessageSecurityBindingSupport.cs : added DefaultKeyWrapAlgorithm
1184 to switch asymmetric and symmetric. Not used yet.
1185 * SecurityRequestChannel.cs : now it pass the request security
1186 property to reply receiver so that it could use the primary key
1187 used at request phase.
1188 * SecurityRequestContext.cs : now it pass the context itself to
1189 reply sender so that it could embed related MessageID.
1190 * SecureMessageGenerator.cs : ongoing changes to support symmetric
1191 binding element. Add RelatesTo output and remove MessageID when
1192 replying to the sender. Added some hacks to get symmetric binding
1194 * SecureMessageDecryptor.cs : ditto. Handle embedded encryption key
1195 in SecurityTokenReference (it also involved existing encrypted key
1196 retrieval). In reply receiver, reuse the key that was used at
1197 request phase. It needs significant token resolution refactoring.
1199 2007-02-02 Atsushi Enomoto <atsushi@ximian.com>
1201 * MessageSecurityBindingSupport.cs : cosmetic refactoring.
1202 * SecureMessageDecryptor.cs : store token and its authentication
1203 policies into the security property, and reuse it on reply.
1204 Some code refactoring; there is at most one o:Security to solve at
1205 one endpoint (depends on Actor). Some attempt to use correct
1206 token parameters (but for now I have only samples that use x509).
1207 * SecureMessageGenerator.cs : For replying message, use initiator's
1208 signing token as the encryption token. Simply reuse security
1209 property from the input message.
1211 I have some nasty workaround at decryptor for initiator that could
1212 not retrieve decryption key.
1214 2007-02-02 Atsushi Enomoto <atsushi@ximian.com>
1216 * SecureMessageGenerator.cs, SecurityChannelListener.cs,
1217 SecurityRequestContext.cs, MessageSecurityBindingSupport.cs:
1218 several refactoring on token acquisition. Large part of
1219 MessageSecurityBindingSupport code is unified.
1221 2007-02-02 Atsushi Enomoto <atsushi@ximian.com>
1223 * MessageProperties.cs : Security property should be one of the items.
1224 Actually many other properties should be similar as well.
1225 * MessageImpl.cs, MessageBufferImpl.cs, Message.cs :
1226 when copying a message, copy properties as well.
1227 * SecurityRequestContext.cs : on replying, pass input
1228 SecurityMessageProperty to the security generator.
1229 * SecureMessageGenerator.cs : both of above, for SignatureConfirmation
1231 * WSSecurityMessageHeader.cs : fixed lazy .ctor() that did nothing.
1233 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
1236 MessageHeader.cs, Message.cs, WSSecurityMessageHeader.cs,
1237 SecureMessageDecryptor.cs, SecureMessageGenerator.cs:
1238 use new WSSignedXml instead of SignedXml, and remove coexisting
1239 Id and wsu:Id. Now we can live only with wsu:Id and therefore
1240 - our reply messages could be consumed by .NET, and
1241 - .NET signature could be verified.
1243 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
1245 * SecureMessageDecryptor.cs : The signing key must be passed as
1246 CheckSignature() argument, not SigningKey.
1248 2007-01-31 Atsushi Enomoto <atsushi@ximian.com>
1250 * MessageImpl.cs : don't read attribute after ReadStartElement().
1252 2007-01-31 Atsushi Enomoto <atsushi@ximian.com>
1254 * MessageSecurityBindingSupport.cs : some Release() refactoring.
1255 * SecureMessageGenerator.cs : use correct signing key clause for
1256 SecurityTokenReferenceKeyInfo to be serialized.
1257 * SecureMessageDecryptor.cs : now it can try to parse signature.
1259 2007-01-31 Atsushi Enomoto <atsushi@ximian.com>
1261 Ongoing changes to support signature confirmation
1262 * SecureMessageGenerator.cs :
1263 Don't output ReplyTo onto reply message.
1264 Write SignatureConfirmation if needed.
1265 * SecureMessageDecryptor.cs :
1266 Some refactoring for header cunsumption. Added commented-out
1267 signature verification part (not working yet, on client side due
1268 to incorrect reply from service and insufficient clause reader).
1269 * WSSecurityMessageHeader.cs :
1270 Added SignatureConfirmation support.
1271 KeyInfoClause for o:SecurityTokenReference should be replaced with
1272 SecurityTokenReferenceKeyInfo.
1274 2007-01-29 Atsushi Enomoto <atsushi@ximian.com>
1276 * SecureMessageGenerator.cs : support Timestamp signature.
1277 Removed unused code, and extra argument in CreateReference().
1278 * WSSecurityMessageHeader.cs : Timestamp also needs Id for SignedXml.
1280 2007-01-29 Atsushi Enomoto <atsushi@ximian.com>
1282 * SecureMessageGenerator.cs :
1283 Several fixes to make asymmetric binding working:
1284 - Differentiate signing and encryption token in several areas.
1285 - Fixed signing keyinfo.
1287 Added initial SecurityMessageProperty handling, not sure if it is
1288 appropriate here though.
1289 * HttpRequestChannel.cs : (some debugging lines)
1291 2007-01-26 Atsushi Enomoto <atsushi@ximian.com>
1293 Woohoo! Here is a very basic WS-Security compliant message which could
1294 be allowed by Indigo.
1295 * MessageHeader.cs : added Id support for writing.
1296 * Message.cs : added internal BodyId for signature reference.
1297 * MessageImpl.cs : write Body Id if required.
1298 * SecureMessageGenerator.cs : Before signing, the target elements must
1299 be given wsu:Id. Since I still use System.Security.dll, I need some
1300 trick for signing (I give both Id and wsu:Id, former to sign and
1301 latter to be consumed). Maybe I will have to replace xmldsig/xmlenc
1302 implementation later. Now singning mechanism works except for
1303 wsu:Timestamp (which is kind of mandatory).
1305 I can's still consume replies from Indigo but it's a big progress :)
1307 2007-01-26 Atsushi Enomoto <atsushi@ximian.com>
1309 * MessageHeaderInfo.cs : added internal Id.
1310 * MessageHeader.cs : read and write wsu:Id.
1311 * Message.cs : output wsu namespace if Id exists in any header.
1312 * HttpReplyChannel.cs : (some debugging lines.)
1313 * SecureMessageDecryptor.cs : (remove debugging lines.)
1314 * MessageImpl.cs : removed obsolete code.
1315 * WSSecurityMessageHeader.cs : output "o" prefix.
1316 * SecureMessageGenerator.cs : replaced XmlElement-based header
1317 signing with MessageHeader-based signing, to support Id correctly.
1319 2007-01-15 Atsushi Enomoto <atsushi@ximian.com>
1321 * SecureMessageGenerator.cs : some more refactoring and code comments.
1322 * MessageSecurityUtility.cs : made decryptor into an instance class,
1323 like I've done for SecureMessageGenerator.
1324 * SecurityRequestContext.cs, SecurityRequestChannel.cs :
1325 dependent changes for above.
1327 2007-01-12 Atsushi Enomoto <atsushi@ximian.com>
1329 * SecureMessageGenerator.cs : fixed derived keysize. derived key was
1330 causing NRE due to the lack of token reference.
1331 No need to pass doc to SignedXml.ctor() anymore.
1332 Moved ReferenceList before the signature(s).
1334 2007-01-12 Atsushi Enomoto <atsushi@ximian.com>
1336 * SecureMessageGenerator.cs : add wsu:Timestamp to signing target.
1337 Moved signing key generation code to non-HMACSHA1 signing part.
1338 Don't try to sign wss:Security.
1339 Pass document itself to SignedXml.ctor().
1340 Use temporary DataObjects to avoid adding Ids (not sure what is the
1341 expected processing yet).
1342 * WSSecurityMessageHeader.cs : to support timestamp signing, add
1343 WriteTo() method in WsuTimestamp.
1345 2007-01-12 Atsushi Enomoto <atsushi@ximian.com>
1347 * SecureMessageGenerator.cs : wrong key was used for signing.
1348 Omit KeyInfo for now - it seems that .net (sometimes?) omits it.
1350 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1352 * SecureMessageGenerator.cs :
1353 Now ID generation process does not modify input message.
1354 Moved derived key generation part into (virtual) signing loop.
1355 MessagePartSpecification support for signing is done.
1357 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1359 * SecureMessageGenerator.cs : some reordering to handle signing and
1360 encryption with supporting tokens. Fixed XPath query bug for
1361 soap header contents (we want s:Header/*, not s:Header).
1363 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1365 * MessageSecurityBindingSupport.cs : more refactoring.
1366 Made it abstract and added Initiator- and Recipient- classes.
1367 Several members were moved to those derived types.
1368 * AsymmetricSecurityBindingElement.cs,
1369 SymmetricSecurityBindingElement.cs
1370 SecurityChannelFactory.cs, SecurityChannelListener.cs,
1371 SecurityRequestChannel.cs, SecurityOutputChannel.cs,
1372 SecurityRequestContext.cs, SecureMessageGenerator.cs :
1373 All dependent changes by above. Removed ISecurityChannelSource
1374 which became useless.
1376 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1378 * SecureMessageGenerator.cs : encryption parts should exist too.
1379 * AsymmetricSecurityBindingElement.cs
1380 SymmetricSecurityBindingElement.cs,
1381 MessageSecurityBindingSupport.cs : some refactoring.
1382 Split MessageSecurityBindingSupport into security binding element
1383 specific parts and made MessageSecurityBindingSupport concrete.
1384 It is likely split again, next time based on initiator/recipient.
1386 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1388 * MessageSecurityUtility.cs, SecureMessageGenerator.cs :
1389 split encryptor part in the former file into latter file, and
1391 * SecurityRequestChannel.cs, SecurityOutputChannel.cs,
1392 SecurityRequestContext.cs : apply the change above.
1394 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1396 * MessageSecurityBindingSupport.cs :
1397 Fixed incorrect TrgGetValue() use.
1398 Added CollectRecipientSupportingTokens().
1400 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1402 * MessageSecurityUtility.cs: acctually ReferenceList was inside
1403 EncryptedKey. So, when a key itself is used to encrypt data,
1404 ReferenceList is contained by itself.
1405 * MessageSecurityBindingSupport.cs :
1406 added CollectInitiatorSupportingTokens().
1408 2007-01-10 Atsushi Enomoto <atsushi@ximian.com>
1410 * MessageSecurityUtility.cs: it should support ReferenceList-less
1413 2007-01-10 Atsushi Enomoto <atsushi@ximian.com>
1415 * WSSecurityMessageHeader.cs : reverted previous unnecessary change.
1416 * MessageSecurityUtility.cs : there already was uuid.
1418 2007-01-09 Atsushi Enomoto <atsushi@ximian.com>
1420 * MessageSecurityUtility.cs : replaced EncryptedKey with
1421 WrappedKeySecurityToken, which seems to be in actual use in .net.
1422 * WSSecurityMessageHeader.cs : added internal Guid so that it
1423 could be shared between header items.
1425 2006-12-14 Atsushi Enomoto <atsushi@ximian.com>
1427 * HttpRequestContext.cs, TextMessageEncoder.cs :
1428 some null arg check.
1430 2006-12-08 Atsushi Enomoto <atsushi@ximian.com>
1432 * MessageSecurityUtility.cs : reducing DOM dependency. Use KeyInfoNode
1433 for SecurityTokenReference resolution.
1435 2006-12-08 Atsushi Enomoto <atsushi@ximian.com>
1437 * MessageSecurityUtility.cs : fixed EncryptedData decryption to
1438 consider DerivedKeyTokens correctly.
1439 When creating LocalId, don't add '#' here.
1441 2006-12-07 Atsushi Enomoto <atsushi@ximian.com>
1443 * MessageSecurityUtility.cs :
1444 handle key mapping for each wsse:Security.
1446 2006-12-07 Atsushi Enomoto <atsushi@ximian.com>
1448 * WSSecurityMessageHeader.cs : use prefix "c" for ws-secureconv.
1450 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1452 * WSSecurityMessageHeader.cs : write top-level ReferenceList in
1454 * MessageSecurityUtility.cs :
1455 Now ReferenceList is placed under wsse:Security as WS-Security 1.1
1456 suggests, and it is used to dereference decryption targets.
1457 Now it premises multiple wsse:Security elements to read.
1459 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1461 * WSSecurityMessageHeader.cs : don't write o:SecurityTokenReference
1462 manually (and actually the namespace URI was wrong).
1464 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1466 * WSSecurityMessageHeader.cs : improved DerivedKeyToken writing
1468 * MessageSecurityUtility.cs : DerivedKeyToken creation.
1470 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1472 * SecurityBindingElement.cs,
1473 SymmetricSecurityBindingElement.cs,
1474 AsymmetricSecurityBindingElement.cs :
1475 implemented SetKeyDerivation().
1477 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1479 * MessageSecurityUtility.cs : don't add KeyInfoClause to EncryptedKey
1482 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1484 * MessageBufferImpl.cs : XmlReader-based buffer is not possible, so
1487 2006-12-05 Atsushi Enomoto <atsushi@ximian.com>
1489 * MessageSecurityUtility.cs : u:Timestamp will be encrypted/signed,
1490 thus move it in front of encryption/signing.
1492 2006-12-04 Atsushi Enomoto <atsushi@ximian.com>
1494 * TransactionFlowBindingElement.cs : OnOpen()/OnClose() should not
1495 check state by themselves (btw it's not really working).
1496 * HttpChannelListener.cs : If the url does not end with '/' add it
1497 so that it could be fed to HttpListener.
1499 2006-12-04 Atsushi Enomoto <atsushi@ximian.com>
1501 * HttpChannelFactory.cs : check scheme on CreateChannel.
1502 * MessageHeader.cs : finish IsMessageVersionSupported().
1504 2006-12-04 Atsushi Enomoto <atsushi@ximian.com>
1506 * FaultConverter.cs : new file, not used yet though.
1508 2006-10-21 Atsushi Enomoto <atsushi@ximian.com>
1510 * SvcHttpHandler.cs : set GET URL to ServiceMetadataBehavior.
1512 2006-10-20 Atsushi Enomoto <atsushi@ximian.com>
1514 * SvcHttpHandler.cs : once AspNetReplyChannel get working with HTTP
1515 GET as well as HttpReplyChannel, configuration would be ready now.
1517 2006-10-18 Ankit Jain <jankit@novell.com>
1519 * TextMessageEncoder.cs (MediaType): Use 'application/soap+xml' for
1520 EnvelopeVersion.Soap12 and 'text/xml' for others.
1521 * HttpReplyChannel.cs (TryReceiveRequest): Revert earlier patch for GET
1523 Strip '?' from the query string.
1525 2006-10-13 Ankit Jain <jankit@novell.com>
1527 * MessageVersion.cs (None): Set AddressingVersion.None
1529 2006-10-12 Atsushi Enomoto <atsushi@ximian.com>
1531 * SvcHttpHandler.cs : added config-based endpoint addition code.
1532 Though due to some weird bug in mono-core it does not seem to work,
1533 so commented out for now.
1534 * HttpReplyChannel.cs : handle wsdl query parameter. btw creating
1535 mex request message might just be wrong.
1536 Use expected MessageVersion by the channel.
1537 * AspNetReplyChannel.cs : ditto. Plus, HTTP GET support.
1539 2006-10-12 Atsushi Enomoto <atsushi@ximian.com>
1541 * MessageSecurityBindingSupport.cs : added DefaultSignatureAlgorithm
1542 which differs depending on whether it is asymmetric or symmetric.
1543 * SecurityRequestChannel.cs, SecurityRequestContext.cs :
1544 simplify SecureMessage() and DecryptMessage() arguments (just
1545 take MessageSecurityBindingSupport instead of several parameters).
1546 * MessageSecurityUtility.cs :
1547 - simplify SecureMessage() and DecryptMessage() arguments (just
1548 take MessageSecurityBindingSupport instead of several parameters).
1549 - Take token inclusion mode into account. Don't include them when
1550 it is not expected. Also, change the token reference style.
1551 - add wsa:MessageID to the headers.
1552 - For hmac-sha1 signing (default for symmetric binding), use
1553 symmetric key created for encryption as well to create HMACSHA1.
1554 - add Id to wsu:Timestamp.
1555 - start to handle SecurityMessageProperty.
1556 * WSSecurityMessageHeader.cs :
1557 Added Id to WsuTimestamp. Also use prefixes for its XML output.
1558 Changed date format.
1560 2006-10-06 Atsushi Enomoto <atsushi@ximian.com>
1562 * CommunicationObject.cs : reject faulted state on Open()/Close().
1563 * MessageHeaders.cs : removed extra fields.
1565 2006-10-06 Ankit Jain <jankit@novell.com>
1567 * HttpReplyChannel.cs (TryReceiveRequest): Handle HTTP GET.
1569 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
1571 * MessageSecurityUtility.cs, SecurityRequestContext.cs :
1572 added some FIXMEs and additional arg.
1574 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
1576 * MessageSecurityUtility.cs : remove duplicate Action header.
1578 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
1580 * MessageFault.cs : partly implemented CreateFault(Message, int).
1581 * Message.cs, MessageImpl.cs, MessageBufferImpl.cs :
1582 handle IsFault correctly in each implementation.
1584 2006-10-04 Ankit Jain <jankit@novell.com>
1586 * HttpRequestChannel.cs (ProcessRequest): Read till the end.
1588 2006-10-04 Ankit Jain <jankit@novell.com>
1590 * HttpRequestChannel.cs (ProcessRequest): Temporary workaround for a bug
1591 in WebConnectionStream.
1593 2006-10-04 Ankit Jain <jankit@novell.com>
1595 * MessageHeaders.cs (To): Use GetHeader<string> till
1596 DataContractSerializer gets ISerializable support.
1597 * CustomBinding.cs (.ctor): Get scheme from TransportBindingElement.
1599 2006-10-04 Ankit Jain <jankit@novell.com>
1601 * ServiceHostParser.cs (Parse):
1602 (Split): Add some error checks.
1604 2006-10-03 Atsushi Enomoto <atsushi@ximian.com>
1606 * SslStreamSecurityBindingElement.cs : updated API to Sep. CTP.
1607 * StreamUpgradeAcceptor.cs : Fix AcceptUpgrade().
1608 * SslStreamSecurityUpgradeProvider.cs,
1609 SslStreamSecurityUpgradeAcceptor.cs :
1610 new files for Ssl upgrade provider implementation.
1611 * MessageSecurityUtility.cs :
1612 Create proper C14NTransform. Don't use enveloped signature
1613 transform but sign every significant bits. On securing messages
1614 use ChannelProtectionRequirements.
1615 * SecurityRequestContext.cs : pass ChannelProtectionRequirements to
1617 * MessageEncoder.cs : fix API (missing constraint).
1618 * WSSecurityMessageHeader.cs : it is MustUnderstand.
1619 * StreamUpgradeProvider.cs : API fix and implemented .ctor().
1620 * AsymmetricSecurityBindingElement.cs : default protection order is
1621 SignBeforeEncryptAndEncryptSignature.
1623 2006-09-29 Ankit Jain <jankit@novell.com>
1625 * SvcHttpHandlerFactory.cs (GetTypeFromSvc): Extract and move code to
1626 ServicHostParser and use that here.
1627 (PrivateBinPath): New.
1628 (GetTypeFromBin): New. Load assembly from PrivateBinPath.
1629 (RemovedCallback): Remove and close the SvcHttpHandler when its
1630 corresponding file (.svc) changes.
1631 * SvcHttpHandler.cs (Close): New. Close the ServiceHost.
1633 * ServiceHostParser.cs : New.
1634 * CachingCompiler.cs : New. Code extracted from
1635 System.Web.Compilation.CachingCompiler
1636 * CompilationException.cs : New. From System.Web.Compilation
1637 * HtmlizedException.cs : New. Likewise.
1639 2006-09-29 Atsushi Enomoto <atsushi@ximian.com>
1641 * MessageSecurityBindingSupport.cs : For client side, it is always
1642 InitiatorServiceModelSecurityTokenRequirement which should be
1643 created. Fixed wrong client encryption key acquisition.
1645 2006-09-29 Atsushi Enomoto <atsushi@ximian.com>
1647 * SecurityChannelListener.cs, SecurityRequestContext.cs,
1648 MessageSecurityBindingSupport.cs : made similar changes as factories
1649 to listener so that session channels and input channels would work.
1650 Added authenticator creation.
1652 2006-09-29 Atsushi Enomoto <atsushi@ximian.com>
1654 * Binding.cs : added missing members.
1656 2006-09-28 Atsushi Enomoto <atsushi@ximian.com>
1658 * SecurityRequestChannel.cs, SecurityOutputChannel.cs,
1659 MessageSecurityUtility.cs, MessageSecurityBindingSupport.cs :
1660 reduce code duplication between request and output channels.
1661 The common parts are now in MessageSecurityBindingSupport.
1662 Now reduced several arguments in SecureMessage() for client.
1664 2006-09-28 Atsushi Enomoto <atsushi@ximian.com>
1666 * ChannelFactoryBase.cs : implemented ValidateCreateChannel().
1668 2006-09-28 Atsushi Enomoto <atsushi@ximian.com>
1670 * AsymmetricSecurityBindingElement.cs,
1671 SecurityChannelListener.cs,
1672 SecurityRequestContext.cs,
1673 SymmetricSecurityBindingElement.cs,
1674 SecurityRequestChannel.cs,
1675 SecurityOutputChannel.cs,
1676 SecurityChannelFactory.cs,
1677 MessageSecurityBindingSupport.cs : 1) Refactoring.
1678 IMessageSecurityBindingSupport now becomes a class and contains
1679 all the members which resided in ISecurityChannelSource.
1680 Now it takes more constructor params.
1681 Made dependent changes on all sources above.
1683 2) Added SecurityTokenAuthenticator creation in
1684 SecurityRequestChannel (SecurityOutputChannel should do the same).
1686 2006-09-27 Atsushi Enomoto <atsushi@ximian.com>
1688 * SecurityRequestChannel.cs : ongoing improvements on conditional
1689 key creation. Actually there must be some part that creates an
1690 authenticator (WinFX does that).
1692 2006-09-27 Ankit Jain <jankit@novell.com>
1694 Add suport for handling .svc files.
1695 * SvcHttpHandlerFactory.cs: New.
1696 * SvcHttpHandler.cs: New.
1698 * HttpChannelListener.cs (PopulateChannel): Use AspNetReplyChannel if in
1699 asp.net environment.
1700 (OnOpen): Do nothing in asp.net environment.
1701 (OnClose): Likewise.
1702 * HttpReplyChannel.cs (HttpRequestContext): Move to ..
1703 * HttpRequestContext.cs: .. here.
1705 * AspNetReplyChannel.cs: New.
1706 * AspNetRequestContext.cs: New.
1708 2006-09-26 Atsushi Enomoto <atsushi@ximian.com>
1710 * MessageSecurityUtility.cs :
1711 Significantly rewritten decryption parts to respect ReferenceList
1712 to decrypt (so no workaround anymore).
1713 Now e:ReferenceList inside o:Security is treated as the referenced
1714 EncryptedType items are encrypted by 1) the derived key which is
1715 immediately in front of it, or 2) the default key (it is according
1716 to WS-SecureConversation section 9.1). Thus removed immediately
1717 previous hack to auto-fill wsu:Id attributes.
1719 On securing a message, generate correct Id and add DataReference
1720 to ReferenceList properly.
1722 2006-09-26 Atsushi Enomoto <atsushi@ximian.com>
1724 * WSSecurityMessageHeader.cs : handle ReferenceList. It is being
1727 2006-09-26 Atsushi Enomoto <atsushi@ximian.com>
1729 * WSSecurityMessageHeader.cs : handle DerivedKeyToken as a header content.
1730 Actually WSSecurityTokenSerializer should be able to consume it, but after
1731 spending a lot of time I still cannot successfully read it on WinFX.
1732 Skip ReferenceList for now.
1733 * MessageSecurityUtility.cs :
1734 Replaced some string literals with constants.
1735 Added some workaround for DerivedKeyToken retrieval.
1736 WinFX somehow sends incomplete ISO10126 padding which contains
1737 bigger number than the key size and is rejected by EncryptedXml,
1738 so added DecryptLax() which processes such ones in PaddingMode.None
1739 to workaround it (only for cross-connection between mono and winfx).
1740 Added some incomplete implicit wsu:Id processing.
1741 Don't try to replace SignedXml with EncryptedData. It is not added
1742 to the document tree.
1744 2006-09-25 Atsushi Enomoto <atsushi@ximian.com>
1746 * MessageSecurityUtility.cs : support message signature encryption. Some
1749 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
1751 * SecurityBindingElement.cs : implement Clone(). Remove some MonoTODOs.
1753 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
1755 * MessageSecurityUtility.cs : fix warnings.
1757 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
1759 * MessageSecurityUtility.cs : actually there would be more than one
1760 EncryptedData. Decrypt all.
1762 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
1764 * MessageSecurityUtility.cs : supply correct URIs in SecureMessage().
1765 Use ISO10126 padding mode (it is not required but in manner).
1767 2006-09-21 Atsushi Enomoto <atsushi@ximian.com>
1769 * MessageSecurityUtility.cs : now that EncryptedXml decryption bug is
1770 fixed, remove 16 bytes workaround (we still need encryption bugfix in
1771 that class to make it work fine with mono client).
1772 Removed buggy lines that reset decryption key to AES.
1773 Modified GetKey() argument to take EncryptedData/EncryptedKey element.
1774 * WSSecurityMessageHeader.cs :
1775 (SecurityTokenReferenceKeyInfo) support LoadXml.
1777 2006-09-20 Atsushi Enomoto <atsushi@ximian.com>
1779 * TransactionMessageProperty.cs : new file.
1781 2006-09-20 Atsushi Enomoto <atsushi@ximian.com>
1783 * ChannelPoolSettings.cs, OneWayBindingElement.cs : build fix, as
1784 gmcs happened to report wrong code.
1786 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1788 * SecurityChannelFactory.cs, SecurityChannelListener.cs :
1789 .ctor() now requires ChannelProtectionRequirements which will be
1790 supplied via BindingParameterCollection.
1791 * SymmetricSecurityBindingElement.cs,
1792 AsymmetricSecurityBindingElement.cs : thus add
1793 ChannelProtectionRequirement parameter to factory/listener.
1794 * SecurityRequestChannel.cs : use recipient token requirement to
1795 create an encryption token. Thus differentiate the logic from
1796 signing (initiator) token.
1798 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1800 * SymmetricSecurityChannelFactory.cs, SecurityChannelFactory.cs :
1801 renamed former to latter.
1802 * SymmetricSecurityChannelListener.cs, SecurityChannelListener.cs :
1805 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1807 * MessageSecurityBindingSupport.cs : new internal types to commonize
1808 AsymmetricSecurityBindingElement and SymmetricSecurityBindingElement
1809 and thus make internal factory and listener reusable.
1810 * SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs,
1811 SecurityRequestChannel.cs, SecurityOutputChannel.cs,
1812 SymmetricSecurityChannelListener.cs : rewrote dependent parts on
1813 SymmetricSecurityBindingElement, using the new types above.
1814 * SymmetricSecurityBindingElement.cs :
1815 Use SymmetricMessageSecurityBindingSupport.
1816 * AsymmetricSecurityBindingElement.cs :
1817 thus implemented, using AsymmetricMessageSecurityBindingSupport.
1819 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1821 * ChannelFactoryBase.cs : more RC1 update.
1823 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1825 * MessageEncoder.cs, BinaryMessageEncoder.cs, MtomMessageEncoder.cs,
1826 TextMessageEncoder.cs : updated ReadMessage() API to RC1.
1827 * ChannelListenerBase.cs, ChannelListenerBase_1.cs,
1828 ChannelBase.cs : RC1 API updates.
1829 * MessageImpl.cs : implemented Properties.
1830 * HttpReplyChannel.cs : added HttpRequestMessageProperty support.
1832 2006-09-18 Ankit Jain <jankit@novell.com>
1834 * MessageHeaders.cs (MessageId):
1835 (RelatesTo): UniqueId is not serializable, serialize it as a string.
1837 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
1839 * ChannelParameterCollection.cs : new file.
1840 * LayeredOutputChannel.cs, SecurityOutputChannel.cs :
1841 new files for IOutputChannel implementation.
1842 * OneWayBindingElement.cs : hacky implementation.
1843 * SymmetricSecurityChannelFactory.cs : support IOutputChannel.
1844 * MessageSecurityUtility.cs : now create identifier from the security
1845 token and the token parameters which is added as an argument.
1846 * SecurityRequestContext.cs,
1847 SecurityRequestChannel.cs : SecureMessage() argument changes.
1848 Set MessageSecurityVersion (SecurityTokenVersion) to the token
1851 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
1853 * HttpRequestChannel.cs : close the HttpWebRequest.
1855 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
1857 * HttpRequestChannel.cs,
1858 HttpChannelFactory.cs : implement async request/reply.
1859 * HttpChannelFactory.cs :
1860 verify factory state when creating a channel.
1862 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
1864 * MessageEncoder.cs, TextMessageEncoder.cs, MtomMessageEncoder.cs,
1865 BinaryMessageEncoder.cs : added message version mismatch check.
1867 2006-09-15 Atsushi Enomoto <atsushi@ximian.com>
1869 * SymmetricSecurityChannelListener.cs, SecurityRequestContext.cs :
1870 Making incomplete changes to handle different tokens for encryption
1872 * SymmetricSecurityChannelFactory.cs, SecurityRequestChannel.cs :
1873 split channel implementation classes out to the latter file.
1874 * MessageSecurityUtility.cs : seems like there is
1875 TimeStampValidityDuration property, so use it (incomplete; a server
1876 needs another love).
1878 2006-09-12 Atsushi Enomoto <atsushi@ximian.com>
1880 * MessageSecurityUtility.cs, SymmetricSecurityChannelFactory.cs,
1881 SecurityRequestContext.cs : now that we have key identifier clause
1882 and working ResolveKeyIdentifierClause(), just create keys inside
1883 SecureMessage(). Add KeyInfo to the xmldsig.
1885 2006-09-12 Atsushi Enomoto <atsushi@ximian.com>
1887 * SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs :
1888 pass SecurityKeyIdentifierClause to SecureMessage().
1889 * SecurityBindingElement.cs : set X509ReferenceStyle as Thumbprint
1890 for IssuedToken binding element.
1891 * SymmetricSecurityChannelListener.cs : removed hack to just create
1892 X509 security token, and implemented correct token creation.
1893 * WSSecurityMessageHeader.cs : added new KeyInfoClause type that
1894 wraps SecurityTokenReference element.
1895 * MessageSecurityUtility.cs : use the above.
1897 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
1899 * MessageSecurityUtility.cs : raise MessageSecurityException when it
1900 could not find a security header.
1901 * SymmetricSecurityChannelFactory.cs : now it also supports
1902 IRequestSessionChannel. Extracted SecurityRequestChannel out from
1905 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
1907 * SecurityRequestContext.cs : moved securing message part to
1908 MessageSecurityUtility.cs.
1909 * MessageSecurityUtility.cs : the change above.
1910 use DateTime.Now for timestamp basis. Don't append signature to
1911 the document. Instead it is added to the header. Capture body
1912 content instead of the body itself.
1913 * SymmetricSecurityChannelFactory.cs : decrypt reply message to
1914 be processed by upper layers.
1916 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
1918 * MessageSecurityUtility.cs, WSSecurityMessageHeader.cs,
1919 SymmetricSecurityChannelListener.cs,
1920 SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs :
1921 more refactoring. Request serialization became much more conformant
1922 and add required header items.
1923 Security Token retrieval is needed to send it in the request.
1924 Fixed wrong key encryption.
1926 2006-09-07 Atsushi Enomoto <atsushi@ximian.com>
1928 * SecurityRequestContext.cs : the workaround was not functional.
1930 2006-09-07 Atsushi Enomoto <atsushi@ximian.com>
1932 * SecurityRequestContext.cs : some more refactoring. Use EncryptedXml
1933 API, especially ReplaceData(), instead of native crypto stuff.
1934 * WSSecurityMessageHeader.cs : handle dsig:Signature as well (for
1935 MessageProtectionOrder.SignBeforeEncrypt).
1937 2006-09-07 Atsushi Enomoto <atsushi@ximian.com>
1939 * SecurityRequestContext.cs : label should be combined of both
1940 the client's and the server's.
1942 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
1944 * SecurityRequestContext.cs : enable key derivation (though for now
1945 GenerateDerivedKey() is unimplemented). Create meaningful,
1946 decrypted request message to be consumed by the upper layer.
1948 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
1950 * SecurityRequestContext.cs : implement Close() and Reply().
1951 ongoing implementation of Reply(TimeSpan).
1952 * MessageSecurityUtility.cs : new file to collect utility methods.
1953 * SymmetricSecurityChannelFactory.cs : moved securing message code
1955 * SymmetricSecurityChannelListener.cs : tiny renaming.
1957 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
1959 * SecurityRequestContext.cs : security header is also stored.
1961 * WSSecurityMessageHeader.cs : read EncryptedKey and EncryptedData
1964 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
1966 * SymmetricSecurityChannelFactory.cs : tiny progress on securing
1969 2006-09-05 Atsushi Enomoto <atsushi@ximian.com>
1971 * SymmetricSecurityChannelFactory.cs : specify KeyUsage.Exchange
1972 so that it retrieves the security key in that manner.
1974 2006-09-05 Atsushi Enomoto <atsushi@ximian.com>
1976 * Binding.cs : MessageVersion is null when there is no
1977 MessageEncodingBindingElement.
1978 * Message.cs : null arg check.
1980 2006-09-05 Atsushi Enomoto <atsushi@ximian.com>
1982 * ChannelPoolSettings.cs, OneWayBindingElement.cs : new files.
1984 2006-09-04 Atsushi Enomoto <atsushi@ximian.com>
1986 * SymmetricSecurityChannelListener.cs, SecurityRequestContext.cs,
1987 LayeredReplyChannel.cs, LayeredCommunicationObject.cs,
1988 LayeredRequestChannel.cs : some refactoring.
1989 * SymmetricSecurityChannelFactory.cs :
1990 ongoing secure message creation implementation.
1992 2006-09-01 Atsushi Enomoto <atsushi@ximian.com>
1994 * SymmetricSecurityBindingElement.cs :
1995 pass specific ServiceCredentialsSecurityTokenManager type to
1996 SymmetricSecurityChannelListener as it needs ServiceCertificate.
1997 * SymmetricSecurityChannelListener.cs :
1998 get service certificate. It's a temporary hack.
1999 Move RequestContext code to below.
2000 * SecurityRequestContext.cs : new file.
2001 * WSSecurityMessageHeader.cs : implementing Read(), but to finish
2002 it I have to finish decryption of the incoming message.
2004 2006-08-31 Atsushi Enomoto <atsushi@ximian.com>
2006 * MessageImpl.cs : don't write attributes on the first body content
2007 element *on soap Body element*.
2008 * MessageBufferImpl.cs : don't throw ArgumentNullException.
2009 ObjectDisposedException is appropriate.
2010 * MessageHeader.cs : (RawMessageHeader) don't write element itself
2011 in OnWriteHeader*Contents*().
2013 2006-08-31 Atsushi Enomoto <atsushi@ximian.com>
2015 * WSSecurityMessageHeader.cs : new file.
2016 * SymmetricSecurityChannelFactory.cs :
2017 moved WSSecurityHeader and related types to the above.
2018 * SymmetricSecurityChannelListener.cs :
2019 reject SOAP-env-less message.
2021 2006-08-31 Atsushi Enomoto <atsushi@ximian.com>
2023 * SecurityChannelListener.cs, SymmetricSecurityChannelListener.cs :
2024 renamed former to latter.
2025 * SymmetricSecurityChannelFactory.cs :
2026 create requirements every time. It is also likely that I need
2027 another requirement instance to get service credentials here.
2029 2006-08-30 Atsushi Enomoto <atsushi@ximian.com>
2031 * SymmetricSecurityBindingElement.cs : make BuildChannelListener()
2032 similar to BuildChannelFactory() (set credentials, issuer binding
2034 * SecurityChannelListener.cs :
2035 more ongoing security support implementation.
2036 * SymmetricSecurityChannelFactory.cs :
2037 moved GetSecurityKey() to SymmetricSecurityRequestChannel.
2039 2006-08-29 Atsushi Enomoto <atsushi@ximian.com>
2041 * SecurityChannelListener.cs, SymmetricSecurityBindingElement.cs :
2042 Renamed SecurityChannelListener to SymmetricSecurityChannelListener.
2043 Implementation is underway.
2044 * LayeredReplyChannel.cs :
2045 like LayeredRequestChannel, use ChannelListenerBase to provide
2048 2006-08-29 Atsushi Enomoto <atsushi@ximian.com>
2050 * MessageHeader.cs : added another implementation type that uses
2051 XmlElement, for buffering purpose.
2052 * MessageImpl.cs : Header item types are user-driven by
2053 MessageHeader.GetHeader<T>(int), so at storing phase just store
2054 nodes as XmlElement.
2055 * MessageHeaders.cs : avoid dumping XmlNode to string to create
2058 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
2060 * SymmetricSecurityBindingElement.cs : find ClientCredentials from
2061 BindingParameterCollection, not from binding element properties.
2063 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
2065 * SecurityChannelFactory.cs, SymmetricSecurityChannelFactory.cs :
2066 renamed former to latter.
2068 2006-08-25 Atsushi Enomoto <atsushi@ximian.com>
2070 * SecurityBindingElement.cs : SetIssuerBindingContext should also
2071 work for SslSecurityTokenParameters.
2073 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
2075 * SecurityBindingElement.cs :
2076 Added SetIssuerBindingContextIfRequired().
2077 * SecurityChannelFactory.cs :
2078 Changed .ctor() arg again, just to receive binding element.
2079 * SymmetricSecurityBindingElement.cs :
2080 Call SetIssuerBindingContextIfRequired() in BuildChannelFactory().
2081 SymmetricSecurityChannelFactory .ctor() arg changes.
2082 "ProtectionTokenParameters" is not passed now.
2084 2006-08-23 Atsushi Enomoto <atsushi@ximian.com>
2086 * SymmetricSecurityBindingElement.cs : requirements should be
2087 filled at InitializeSecurityTokenParameters as long as possible.
2088 SymmetricSecurityChannelFactory<T> now does not receive
2089 requirements (it now creates one inside it) at .ctor().
2090 * SecurityChannelFactory.cs : remove requirement argument.
2092 2006-08-23 Atsushi Enomoto <atsushi@ximian.com>
2094 * SymmetricSecurityBindingElement.cs : implemented copy constructor.
2096 2006-08-22 Atsushi Enomoto <atsushi@ximian.com>
2098 * SymmetricSecurityBindingElement.cs :
2099 MessageSecurityVersion property is of type SecurityTokenVersion.
2100 * SecurityBindingElement.cs :
2101 Implemented CreateSecureConversationBindingElement().
2102 For CreateIssuedTokenBindingElement(), ProtectionTokenParameters is
2103 the argument IssuedSecurityTokenParameters itself.
2105 2006-08-22 Atsushi Enomoto <atsushi@ximian.com>
2107 * SymmetricSecurityBindingElement.cs :
2108 CreateSecurityTokenManager() can be directly used now.
2109 Use CallInitializeSecurityTokenRequirement() to fill requirement
2112 2006-08-16 Atsushi Enomoto <atsushi@ximian.com>
2114 * ChannelFactoryBase.cs : GetProperty() is virtual.
2116 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
2118 * SymmetricSecurityBindingElement.cs : in BuildChannelFactory(),
2119 create token manager, token parameters and token requirements,
2120 and fill some requirements.
2121 * TransportBindingElement.cs, HttpTransportBindingElement.cs,
2122 TextMessageEncodingBindingElement.cs : workaround to not throw NIE.
2123 * BindingContext.cs : implemented RemainingBindingElements.
2124 kill "no remaining binding element" error in GetInnerProperty()
2125 * SecurityChannelFactory.cs : now it became
2126 SymmetricSecurityChannelFactory, thus soon to be renamed.
2127 Several ongoing actual security resolution is on.
2129 2006-08-11 Atsushi Enomoto <atsushi@ximian.com>
2131 * CommunicationObject.cs :
2132 add GetCommunicationObjectType() and use it.
2133 * ChannelFactoryBase.cs, ChannelListenerBase_1.cs :
2134 use ThrowIfDisposedOrNotOpen().
2135 * LayeredCommunicationObject.cs : have similar ThrowIf...() methods
2136 to CommunicationObject. Make it IDisposable.
2137 * LayeredRequestChannel.cs : use above.
2138 * SecurityChannelFactory.cs : removed state check as it is done at
2141 2006-08-10 Atsushi Enomoto <atsushi@ximian.com>
2143 * SecurityBindingElement.cs : (CanBuildChannelFactory and
2144 CanBuildChannelListener) directly dispatch to BindingContext.
2145 * SymmetricSecurityBindingElement.cs : require protection token
2146 parameters before building a channel or a listener.
2147 * ChannelFactoryBase.cs : raise an error when a channel is being
2148 created without opening the factory.
2149 * ChannelListenerBase_1.cs : ditto for the listener.
2150 * SecurityChannelFactory.cs : before sending a request, it must be
2153 2006-08-07 Atsushi Enomoto <atsushi@ximian.com>
2155 * MessageBufferImpl.cs : initialize fields.
2156 workaround BufferSize just to return 0.
2157 * MessageImpl.cs : for BodyWriter, don't use DefaultMessageBuffer
2158 which does not support multi time write.
2159 * Message.cs : implemented State.
2161 2006-08-07 Atsushi Enomoto <atsushi@ximian.com>
2163 * Message.cs : OnGetBodyAttribute() cannot return anything unless it
2164 is consuming XmlReader.
2165 Implemented OnCreateBufferedCopy(), to return XPathMessageBuffer.
2166 * MessageBuffer.cs : implemented CreateNavigator().
2167 * MessageBufferImpl.cs : added XPathMessageBuffer class.
2169 I kinda know that MS heavily depends on binary XmlReader and may have
2170 XPathNavigator implementation based on the binary stuff, but at
2171 least for now we have almost no motivation to mimick it.
2173 2006-08-07 Atsushi Enomoto <atsushi@ximian.com>
2175 * SecurityChannelFactory.cs : a bit more of security header code.
2177 2006-08-04 Atsushi Enomoto <atsushi@ximian.com>
2179 * SymmetricSecurityBindingElement.cs :
2180 set default MessageProtectionOrder in every construction.
2182 2006-08-03 Atsushi Enomoto <atsushi@ximian.com>
2184 * LayeredRequestChannel.cs, SecurityChannelFactory.cs :
2185 changed to require ChannelFactoryBase to support default timeout.
2186 Made some methods non-virtual. Preparing code to add security
2187 headers (empty yet).
2188 * SecurityBindingElement.cs : implemented several factory methods
2189 that return SymmetricSecurityBindingElement.
2191 2006-08-02 Atsushi Enomoto <atsushi@ximian.com>
2193 * IStreamUpgradeBindingElement.cs,
2194 StreamUpgradeBindingElement.cs : renamed from former to latter.
2196 2006-08-02 Atsushi Enomoto <atsushi@ximian.com>
2198 * IStreamUpgradeBindingElement.cs : API update, soon to be renamed.
2200 2006-07-31 Ankit Jain <jankit@novell.com>
2202 * MessageHeaders.cs (From): Use Constants.WSA1
2203 (MessageId): Implement the same pattern as other properties (From etc).
2205 2006-07-28 Atsushi Enomoto <atsushi@ximian.com>
2207 * LocalClientSecuritySettings.cs : initialize IdentityVerifier as well.
2208 * SecurityBindingElement.cs : some cosmetic changes.
2210 2006-07-28 Atsushi Enomoto <atsushi@ximian.com>
2212 * SecurityBindingElement.cs : LocalClientSettings and
2213 LocalServiceSettings returns an instance for each.
2214 * LocalClientSecuritySettings.cs : initialized fields.
2216 2006-07-28 Atsushi Enomoto <atsushi@ximian.com>
2218 * LocalClientSecuritySettings.cs : moved from S.SM.Description, and
2219 kinda implemented Clone() just with MemberwiseClone().
2221 2006-07-27 Ankit Jain <jankit@novell.com>
2223 * MessageHeaders.cs (set_To): Use Uri.AbsoluteUri .
2224 * MessageHeader.cs (knownTypes): New. Known type array containing
2226 (CreateHeader): Use knownTypes with the DataContractSerializer .ctor
2228 2006-07-21 Atsushi Enomoto <atsushi@ximian.com>
2230 * LayeredRequestChannel.cs, LayeredReplyChannel.cs,
2231 LayeredCommunicationObject.cs,
2232 SecurityChannelFactory.cs, SecurityChannelListener.cs :
2233 new files to support security channels, though right now they
2234 just pass inner channels through.
2235 * SymmetricSecurityBindingElement.cs : use above.
2237 2006-07-21 Atsushi Enomoto <atsushi@ximian.com>
2239 * AsymmetricSecurityBindingElement.cs,
2240 SymmetricSecurityBindingElement.cs :
2241 Default SecurityTokenParameters is null.
2243 2006-07-20 Atsushi Enomoto <atsushi@ximian.com>
2245 * AsymmetricSecurityBindingElement.cs : remove NotImpl for now.
2247 2006-07-20 Atsushi Enomoto <atsushi@ximian.com>
2249 * Message.cs : When EnvelopeVersion is None, don't write SOAP
2251 * MessageHeader.cs : don't write headers when EnvelopeVersion is None.
2252 * MessageHeaders.cs : When EnvelopeVersion is None, don't output
2253 headers. When AddressingVersion is None, don't output addressing
2254 headers as well, except for Action which is still needed by
2257 2006-07-20 Atsushi Enomoto <atsushi@ximian.com>
2259 * MessageHeaders.cs : changed specific properties to find it from
2260 headers as Action property does (local variables won't be set by
2261 setter). Cache serializers. Check null serializer arguments.
2262 For EndpointAddress, GetHeader<T>() shouldn't use serializer.
2264 2006-07-19 Atsushi Enomoto <atsushi@ximian.com>
2266 * MessageHeader.cs : WriteTo() should treat EndpointAddress to not
2267 use XmlObjectSerializer (since it is not data contract type).
2269 2006-07-18 Atsushi Enomoto <atsushi@ximian.com>
2271 * MessageImpl.cs : Improved ReadHeaders().
2272 For certain header items, use EndpointAddress.ReadFrom().
2274 2006-07-18 Atsushi Enomoto <atsushi@ximian.com>
2276 * AsymmetricSecurityBindingElement.cs :
2277 it is not ISecurityCapabilities anymore.
2279 2006-07-18 Atsushi Enomoto <atsushi@ximian.com>
2281 * MessageVersion.cs : added None.
2283 2006-07-14 Atsushi Enomoto <atsushi@ximian.com>
2285 * Message.cs : GetReaderAtBodyContents() implementation using
2288 2006-07-13 Atsushi Enomoto <atsushi@ximian.com>
2290 * Message.cs : CreateMessage(version,action,xmlReader) incorrectly
2291 used MessageVersion.Default.
2293 2006-07-12 Duncan Mak <duncan@novell.com>
2295 * MessageBuffer.cs (MessageContentType): Return
2296 "application/soap+msbin1".
2298 * MessageImpl.cs (EmptyMessage.OnCreateBufferedCopy):
2299 (SimpleMessage.OnCreateBufferedCopy):
2300 (XmlReaderMessage.OnCreateBufferedCopy): Hook up with the new
2301 MessageBuffer implementations.
2303 * MessageBufferImpl.cs: Concrete implmentations for MessageBuffer.
2304 (DefaultMessageBuffer): Used by EmptyMessage and SimpleMessage.
2305 (XmlReaderMessageBuffer): Used by XmlReaderMessage.
2307 2006-07-12 Atsushi Enomoto <atsushi@ximian.com>
2309 * MessageImpl.cs : Action should be added in request messages. Omit
2310 it only in reply message, thus moved to dispatcher logic.
2312 2006-07-12 Ankit Jain <jankit@novell.com>
2314 * HttpRequestChannel.cs (HttpRequestChannel.Request): Workaround for a
2315 bug in WebConnectionStream.
2316 * MessageHeaders.cs (MessageHeaders.From):
2317 (MessageHeaders.ReplyTo):
2318 (MessageHeaders.To): Add the corresponding MessageHeader on set.
2320 2006-07-11 Atsushi Enomoto <atsushi@ximian.com>
2322 * MessageImpl.cs : when AddressingVersion is None (e.g. POX), don't
2323 add SOAP Action to the response at any time.
2325 2006-07-10 Atsushi Enomoto <atsushi@ximian.com>
2327 * SymmetricSecurityBindingElement.cs,
2328 SecurityBindingElement.cs : They are not ISecurityCapabilities now.
2329 Implemented .ctor() and some properties.
2331 2006-07-10 Atsushi Enomoto <atsushi@ximian.com>
2333 * TransactionFlowBindingElement.cs : new file.
2334 * HttpTransportBindingElement.cs : added missing KeepAliveEnabled.
2336 2006-07-06 Atsushi Enomoto <atsushi@ximian.com>
2339 DefaultAction vanished. CreateFault() now takes bufferSize arg.
2340 * MessageHeaders.cs : ArgumentException -> MessageHeaderException.
2341 * AddressingVersion.cs : added None. Equals() and GetHashCode()
2342 vanished (there is anyways no way to instantiate this type).
2343 * MessageVersion.cs : added Soap11 and Soap12.
2344 * TextMessageEncoder.cs : silly quotation mark wrapper disappeared
2345 in June CTP. goodie.
2347 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2349 * MtomMessageEncoder.cs, BinaryMessageEncoder.cs, Message.cs :
2350 removed some vanished CreateMessage() overloads.
2352 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2354 * CustomBinding.cs, HttpsTransportBindingElement.cs,
2355 HttpTransportBindingElement.cs :
2356 They are not ISecurityCapabilities anymore.
2357 Modified code to match June CTP behavior.
2359 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2361 * StreamSecurityUpgradeProvider.cs : Identity -> EndpointIdentity.
2363 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2365 * EmptyFaultException.cs : removed unused code.
2366 * IRequestContext.cs, RequestContext.cs : renamed former to latter.
2368 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2370 * LayeredChannelFactory.cs : removed obsolete class.
2371 * ChannelFactoryBase.cs, HttpChannelFactory.cs,
2372 ChannelListenerBase.cs, HttpChannelListener.cs,
2373 HttpReplyChannel.cs, ChannelManagerBase.cs :
2374 all those changes were brought by ChannelManagerBase changes.
2376 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2378 * ReplyChannelBase.cs, HttpChannelFactory.cs, ChannelBase.cs
2379 CommunicationObject.cs, HttpChannelListener.cs,
2380 ChannelFactoryBase.cs :
2381 CommunicationObject abstract changes brought this madness.
2383 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2385 * BindingContext.cs : listenUri address parameters could be null in
2388 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2390 * IRequestContext.cs :
2391 Now it became a class. File renaming will follow soon.
2392 * IChannelFactory.cs, IInputChannel.cs, IReplyChannel.cs,
2393 IDuplexChannel.cs, IDuplexSessionChannel.cs,
2394 IOutputChannel.cs, IOutputSessionChannel.cs,
2395 IRequestChannel.cs, IRequestSessionChannel.cs :
2396 They are not IDisposable anymore.
2397 For IReplyChannel, IRequestContext -> RequestContext.
2398 * IChannelListener.cs : removed Identity. Added GetProperty().
2399 * ChannelListenerBase.cs, ChannelListenerBase.cs,
2400 ReplyChannelBase.cs, HttpReplyChannel.cs :
2401 Several members disappeared, and dependent changes.
2402 * HttpTransportBindingElement.cs,
2403 HttpChannelListener.cs, :
2404 ChannelListenerBase.SharedChannelListener vanished.
2406 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2408 * MessageEncodingBindingElement.cs
2409 MtomMessageEncodingBindingElement.cs,
2410 TextMessageEncodingBindingElement.cs,
2411 BinaryMessageEncodingBindingElement.cs :
2412 June CTP updates: AddressingVersion -> MessageVersion.
2413 * Binding.cs : June CTP. MessageVersion is added.
2414 * ChannelBase.cs, BindingContext.cs, IChannel.cs
2415 ChannelListenerBase_1.cs,
2416 ChannelListenerBase.cs, IChannelListener.cs,
2418 ChannelFactoryBase.cs, ChannelManagerBase.cs :
2419 June CTP. Several interface changes.
2420 * HttpTransportBindingElement.cs : June CTP. HttpMappingMode is gone.
2421 * IChannelManager.cs, LayeredChannelListener.cs,
2422 GenericWrapperChannelFactory.cs,
2423 GenericWrapperChannelListener.cs : They are not used anymore.
2425 2006-07-04 Atsushi Enomoto <atsushi@ximian.com>
2427 * MtomMessageEncoder.cs, BinaryMessageEncoder.cs :
2428 sync fix with June CTP API updates.
2430 2006-07-03 Ankit Jain <jankit@novell.com>
2432 * MessageEncodingBindingElementConverter.cs:
2433 * StandardBindingConverter.cs:
2434 * TransportBindingElementConverter.cs:
2435 * TransactionFlowBindingElementConverter.cs:
2436 * ReliableSessionBindingElementConverter.cs:
2437 * SecurityBindingElementConverter.cs:
2438 Rename *Converter.cs to *Importer.cs
2440 * TransferMode.cs: Move to System.ServiceModel
2442 2006-06-22 Atsushi Enomoto <atsushi@ximian.com>
2444 * CommunicationObject.cs : make sure to change State before
2445 OnClosing/OnClosed/OnOpening/OnOpened when they are overriden.
2447 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
2449 * Message.cs : output WSAddressing xmlns only when Action is
2450 specified (To should be affected, but seems like it is ignored).
2452 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
2454 * MessageImpl.cs : don't set Action when it is null.
2456 2006-06-12 Ankit Jain <jankit@novell.com>
2458 * TransportBindingElementConverter.cs (ImportEndpoint): Implement.
2460 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2462 * SecurityBindingElement.cs, SecurityBindingElementConverter.cs :
2463 some updated API fixes.
2465 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2467 * EnvelopeVersion.cs : moved back to S.SM.
2469 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2471 * IBindingManualAddressing.cs : vanished in beta2.
2472 * HostedTransportConfiguration.cs, EnvelopeVersion.cs,
2473 LocalClientSecuritySettings.cs, LocalServiceSecuritySettings.cs :
2475 * SecurityBindingElement.cs :
2476 SecurityStandardsManager -> SecurityTokenSerializer.
2478 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2480 * XmlSerializerBodyWriter.cs : new file to handle
2481 TypedMessageConverter.ToMessage().
2483 2006-04-26 Ankit Jain <jankit@novell.com>
2485 * TransportBindingElementConverter.cs (BeforeImport): Remove
2486 NotImplementedException.
2487 (ImportContract): Likewise.
2488 * CustomBinding.cs (.ctor): Use scheme from the binding parameter.
2490 2006-04-14 Atsushi Enomoto <atsushi@ximian.com>
2492 * HttpRequestChannel.cs, HttpChannelFactory.cs : message encoder
2493 being used was not reflecting that of Binding elements.
2495 2006-04-07 Atsushi Enomoto <atsushi@ximian.com>
2497 * HttpReplyChannel.cs : when SOAP action is not set as a header item,
2498 just assume that it is in the message.
2500 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
2502 * HttpReplyChannel.cs : actually HTTP header item might be null.
2504 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
2506 * HttpReplyChannel.cs : under SOAP 1.1 SOAP Action is sent as HTTP
2509 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
2511 * TextMessageEncoder.cs : for SOAP 1.1 content type is text/xml.
2513 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
2515 * MessageFault.cs : Fixed SOAP12 reason output.
2517 2006-04-05 Atsushi Enomoto <atsushi@ximian.com>
2519 * HttpReplyChannel.cs : no need to set response ContentEncoding since
2520 MessageEncoder.ContentType explicitly contains encoding.
2521 * AddressingVersion.cs : added ActionNotSupported property. Not sure
2522 if it is SOAP version dependent.
2524 2006-03-23 Atsushi Enomoto <atsushi@ximian.com>
2526 * HttpReplyChannel.cs : actually I could just workaround bug #77816.
2528 2006-03-16 Atsushi Enomoto <atsushi@ximian.com>
2530 * HttpChannelFactory.cs BindingContext.cs
2531 HttpChannelListener.cs HttpTransportBindingElement.cs :
2532 Now BindingContext holds MessageEncoder, and non-custom
2533 channel factory/listener should use it.
2534 * MtomMessageEncodingBindingElement.cs
2535 TextMessageEncodingBindingElement.cs
2536 BinaryMessageEncodingBindingElement.cs : BuildChannelFactory()/
2537 -Listener() now sets internal BindingContext.MessageEncoder.
2538 Fixed some public API.
2540 2006-03-15 Atsushi Enomoto <atsushi@ximian.com>
2542 * BindingContext.cs : CanBuildChannelXXX() should not raise error
2543 for insufficient elements.
2544 * DispatchRuntime.cs : OperationDescription name is not action. So
2545 OperationSelector is created by name, not by action.
2546 * TextMessageEncodingBindingElement.cs : Feb. CTP API fixes.
2548 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
2550 * MessageFaultBodyWriter.cs
2551 XmlReaderBodyWriter.cs
2552 XmlObjectSerializerBodyWriter.cs : made internal.
2553 * SecurityBindingElement.cs
2554 AsymmetricSecurityBindingElement.cs
2555 SymmetricSecurityBindingElement.cs : API fixes.
2556 * TransportBindingElementConverter.cs : ditto.
2557 * TextMessageEncodingBindingElement.cs : added set_AddressingVersion.
2558 * WindowsStreamSecurityBindingElement.cs
2559 SslStreamSecurityBindingElement.cs
2560 TransportSecurityBindingElement.cs : new files.
2562 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
2564 * MessageImpl.cs : according to the W3C REC, mustUnderstand when
2565 reading can be any xs:boolean value.
2567 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
2569 * Message.cs MessageImpl.cs : more sorting out the role of each
2571 * MessageHeader.cs : use envelope namespace, not addressing namespace.
2573 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
2575 * Message.cs : don't write body contents if it is empty.
2576 Moved WriteStartElement(,"Header",) to OnWriteStartHeaders().
2577 * MessageImpl.cs : implemented XmlReaderMessage.OnWriteBodyContents().
2578 * TextMessageEncoder.cs : WriteMessage() should close XmlWriter.
2579 * HttpRequestChannel.cs : close request stream before GetResponse().
2581 2006-03-13 Atsushi Enomoto <atsushi@ximian.com>
2583 * TextMessageEncoderFactory.cs
2584 TextMessageEncoder.cs : encoder does not hold reference to the
2585 factory anymore. Use MessageVersion property in CreateMssage().
2586 * HttpChannelListener.cs : now it holds message encoder.
2587 * HttpReplyChannel.cs : now it uses listener's shared message encoder.
2588 * MessageImpl.cs : header is optional.
2589 * EnvelopeVersion.cs : namespace URI is missing.
2591 2006-03-10 Atsushi Enomoto <atsushi@ximian.com>
2593 * CustomBinding.cs : removed Initialize().
2594 * Message.cs : renamed ForwardingMessage -> XmlReaderMessage.
2595 * MessageImpl.cs : renamed ForwardingMessage to XmlReaderMessage (used
2596 by Message.CreateMessage(MessageVersion,XmlReader,int) and
2597 implemented Headers, IsEmpty and GetReaderAtBodyContents().
2599 2006-03-08 Atsushi Enomoto <atsushi@ximian.com>
2601 * MessageHeaders.cs : implemented GetReaderAtHeader() and Action (it
2602 could be also added by Add() method and could be reset by Remove()).
2603 * MessageImpl.cs : implemented more. As noted above, Now we don't
2604 have to add Action header explicitly.
2605 * MessageHeader.cs : recovered Writer methods and ToString() from
2606 commented old version. Use prefixes for writing.
2607 Use WriteObjectContent() rather than WriteObject() (it needs
2608 DataContractSerializer fix btw).
2610 2006-03-08 Atsushi Enomoto <atsushi@ximian.com>
2612 * MessageHeader.cs : added missing IsReferenceParameter.
2613 * MessageHeaderInfo.cs : added missing IsReferenceParameter.
2614 * MessageHeaders.cs : avoid NullRef when actors is null.
2615 * MessageImpl.cs : (MessageImplBase) add Action header in .ctor().
2616 (ForwardingMessage) reader consumer is being added (not done).
2617 * MtomMessageEncodingBindingElement.cs : simply use Mtom factory.
2618 * MtomMessageEncoder.cs : updated ContentType value to Feb. CTP.
2619 * HttpRequestChannel.cs : this channel automatically call Open()
2620 when Request() is called. Set content length for request.
2621 Use MessageEncoder's ContentType to also handle charset.
2623 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
2625 * MessageImpl.cs : make them internal.
2626 * HttpReplyChannel.cs : set HttpListenerResponse properties correctly.
2628 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
2630 * ChannelManagerBase.cs : cleanup MonoTODO and unused field.
2631 * HttpChannelListener.cs : removed commented line.
2632 * RequestChannelBase.cs : new base class for request channel classes.
2633 * ChannelListenerBase.cs : OnEndClose() is rather NotImplemented yet.
2634 * HttpReplyChannel.cs : WaitHandle accepts limited timeout value.
2635 * Message.cs : default IsEmpty and IsFault false by default.
2636 * LayeredChannelListener.cs : removed Uri (no chance to set).
2637 * ChannelBase.cs : reimplemented timeout properties.
2638 * HttpRequestChannel.cs : now it is mostly based on
2639 RequestChannelBase. Some more attempt to implement Request().
2641 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
2643 * Binding.cs CustomBinding.cs : removed OnApplyConfiguration() and
2644 OnInitialize(). Added more BuildChannelListener() overloads.
2646 2006-03-06 Atsushi Enomoto <atsushi@ximian.com>
2648 * Binding.cs : added some more missing members especially to support
2650 * HttpChannelListener.cs : Uri should not be null.
2651 * HttpTransportBindingElement.cs : implemented
2652 CanBuildChannelFactory() and CanBuildChannelListener().
2653 * ServiceHostBase.cs : make Initialize() practically work at OnOpen().
2655 2006-03-06 Atsushi Enomoto <atsushi@ximian.com>
2657 * Binding.cs : updated default namespace property value to Feb. CTP.
2659 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
2661 * AddressHeader.cs : avoid null reference when value is null.
2662 * BindingContext.cs : check null ListenUri args.
2664 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
2666 * MessageFault.cs : Fixed default action name. Null arg check.
2668 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
2670 * BindingElement.cs : Dequeue elements in BindingContext directly.
2671 * BindingContext.cs : Added GetProperty<T>().
2672 * GenericWrapperChannelFactory.cs GenericWrapperChannelListener.cs :
2673 Now we don't need these extra classes, so marked as deprecated.
2675 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
2677 * Binding.cs : null arg check.
2678 * AddressingVersion.cs : fixed constants to pass the tests.
2679 * BindingElement.cs : tiny meessage fix.
2681 2006-03-02 Atsushi Enomoto <atsushi@ximian.com>
2683 * MessageEncodingBindingElement.cs
2684 BinaryMessageEncodingBindingElement.cs
2685 TextMessageEncodingBindingElement.cs
2686 MtomMessageEncodingBindingElement.cs
2687 MessageEncodingBindingElementConverter.cs : several API fixes.
2688 * BindingElement.cs : now if we use generic wrapper it causes
2689 infinite loop, so for now replace it with most-possible-but-
2692 2006-03-02 Atsushi Enomoto <atsushi@ximian.com>
2694 (back to normal "record-ChangeLogs" mode after the big API change mess)
2695 * HttpTransportBindingElement.cs : fixed minor API differences.
2697 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
2699 * AsymmetricSecurityBindingElement.cs SecurityBindingElement.cs
2700 SymmetricSecurityBindingElement.cs :
2701 Dependent fixes for System.IdentityModel reorgainzation.
2703 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
2705 * InputChannelBase.cs.notused IInputSession.cs IOutputSession.cs
2706 IProxyFormatter.cs WSHttpBindingBase.cs
2707 PnrpPeerResolverBindingElement.cs IMessageHeaderInfo.cs
2708 MessageInterceptorEventArgs.cs WSHttpBinding.cs
2709 WSFederationBinding.cs ISessionChannel.cs
2710 CompositeDuplexBindingElement.cs MessageVersion.cs
2711 MessageHeader.cs IRequestSessionChannel.cs
2712 BindingElementCollection.cs IReplySessionChannel.cs
2713 MessageProperties.cs IDuplexClientChannel.cs
2714 IInputSessionChannel.cs MessageImpl.cs IDuplexSessionChannel.cs
2715 TcpTransportBindingElement.cs EmptyFaultException.cs
2716 IBindingRuntimePreferences.cs AddressHeaderCollection.cs
2717 IStubFormatter.cs AsymmetricSecurityBindingElement.cs
2718 ConnectionOrientedTransportBindingElement.cs
2719 IProxyOperationSelector.cs MessageBuffer.cs IChannel.cs
2720 PeerResolverBindingElement.cs Message.cs
2721 HttpsTransportBindingElement.cs BindingElement.cs
2722 NamedPipetransportBindingElement.cs IBindingManualAddressing.cs
2723 MessageFaultBodyWriter.cs IReplyChannel.cs
2724 IBindingCapabilities.cs AddressHeader.cs IInputChannel.cs
2725 IMessageProperty.cs IOutputChannel.cs NetPeerTcpBinding.cs
2726 IRequestContext.cs IInputSessionShutdown.cs
2727 SecurityBindingElement.cs PeerTransportBindingElement.cs
2728 IDuplexSession.cs IChannelInitializer.cs
2729 IProxyMessageInspector.cs IChannelListener.cs NetTcpBinding.cs
2730 AddressingVersion.cs FaultException.cs
2731 IRequestChannel.cs MtomMessageEncodingBindingElement.cs
2732 TransportBindingElement.cs BinaryMessageEncodingBindingElement.cs
2733 TextMessageEncodingBindingElement.cs IChannelFactory.cs Binding.cs
2734 ITransportBindingElement.cs IChannelManager.cs MessageFault.cs
2735 MessageHeaders.cs IStubMessageInspector.cs UnderstoodHeaders.cs
2736 BindingParameterCollection.cs IInstanceProvider.cs
2737 WSDualHttpBinding.cs ISession.cs IErrorHandler.cs
2738 MessageEncodingBindingElement.cs HttpTransportBindingElement.cs
2739 IDuplexChannel.cs CustomBinding.cs IOutputSessionChannel.cs
2740 MessageContractAttribute.cs SymmetricSecurityBindingElement.cs :
2741 moved from System.ServiceModel due to the API changes.
2743 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
2745 * ChannelFactoryBase.cs ChannelListenerBase.cs HttpChannelFactory.cs
2746 HttpChannelListener.cs HttpRequestChannel.cs
2747 LayeredChannelListener.cs PeerMessagePropagationFilter.cs
2748 PeerNode.cs ReplyChannelBase.cs :
2749 Feb. CTP API changes - chapter 1.
2751 2006-02-15 Atsushi Enomoto <atsushi@ximian.com>
2753 * ChannelBase.cs : OnOpen() and OnClosed() do nothing.
2754 * ReplyChannelBase.cs : now it is based on ChannelBase.
2755 * ChannelListenerBase_1.cs : use DefaultCommunicationTimeouts.Instance
2756 and check null argument in .ctor().
2757 * HttpReplyChannel.cs : several changes.
2758 Non-async members are mostly implemented.
2759 * HttpChannelListener.cs : no need to receive
2760 IDefaultCommunicationTimeouts.
2761 * HttpRequestChannel.cs : maxSizeOfHeaders is used in MessageHeaders
2762 to allocate buffer array and int.MaxValue causes OutOfMemory.
2764 2006-02-15 Atsushi Enomoto <atsushi@ximian.com>
2766 * ClientFramingDecoderState.cs : added missing enum.
2767 * HttpRequestMessageProperty.cs HttpResponseMessageProperty.cs :
2769 * ChannelBase.cs, LayeredChannelListener.cs : tiny API fixes.
2771 2006-02-15 Atsushi Enomoto <atsushi@ximian.com>
2773 * HttpChannelListener.cs : Added GetChannels() and OnClose().
2774 AcceptChannel() has some code now but it needs more love.
2776 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
2778 * CommunicationObject.cs : Close() does not call Begin/EndClose().
2779 * ChannelManagerBase.cs : implemented AbortChannel and CloseChannel.
2780 * ChannelListenerBase.cs : implemented OnAbort and OnClose.
2782 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
2784 * HttpRequestChannel.cs : close the streams.
2786 HttpChannelListener.cs : renamed from former to latter.
2788 2006-02-09 Atsushi Enomoto <atsushi@ximian.com>
2790 * ReplyChannelBase.cs : new file for IReplyChannel implementations.
2791 * HttpReplyChannel.cs : new file for HTTP IReplyChannel.
2792 * HttpListenerFactory.cs : removed obsolete file.
2793 * HttpListener.cs : hacky WaitForChannel and AcceptChannel.
2794 * ChannelListenerBase_1.cs : implemented virtual stuff.
2795 * CommunicationObject.cs : Open() should not call BeginOpen() and
2796 EndOpen(). Instead, invoke events individually.
2797 * ChannelListenerBase.cs : its Open() is WaitForChannel().
2799 2006-02-08 Atsushi Enomoto <atsushi@ximian.com>
2801 * HttpRequestChannel.cs : call Flush() after serializing message
2804 2006-02-08 Atsushi Enomoto <atsushi@ximian.com>
2806 * HttpRequestChannel.cs : implemented pretty hacky Request().
2808 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
2810 * HttpRequestChannel.cs : Manager is HttpChannelFactory.
2812 2006-02-01 Atsushi Enomoto <atsushi@ximian.com>
2814 * ChannelFactoryBase.cs : removed some NotImplementedException for
2815 further internal implementation.
2817 2006-01-26 Atsushi Enomoto <atsushi@ximian.com>
2819 * HttpRequestChannel.cs : new file. mostly not implemented.
2820 * HttpChannelFactory.cs : Implemented CanCreateChannel().
2821 Partly implemented CreateChannel().
2823 2006-01-26 Atsushi Enomoto <atsushi@ximian.com>
2825 * HttpChannelFactory.cs : (.ctor())
2826 Don't take ChannelBuildContext.
2828 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2830 * StreamSecurityUpgradeInitiator.cs PeerMessageOrigination.cs
2831 ChannelBase.cs StreamSecurityUpgradeAcceptor.cs
2832 PeerMessagePropagation.cs : updated to Nov. CTP.
2834 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2836 * ChannelListenerBase.cs, ChannelManagerBase.cs,
2837 ChannelListenerBase_1.cs, LayeredChannelListener.cs,
2838 StreamSecurityUpgradeAcceptor.cs,
2839 StreamSecurityUpgradeInitiator.cs :
2840 Updated to Nov. CTP API.
2842 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2844 Now we can rename ListenerFactoryBase.cs to ChannelListenerBase.cs.
2846 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2848 renamed ChannelListenerBase.cs to ChannelListenerBase_1.cs.
2850 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2852 * ChannelBase.cs : tiny filename fix.
2853 * ChannelListenerBase.cs : added more .ctor()s.
2855 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2857 * HttpListenerFactory.cs LayeredChannelListener.cs HttpListener.cs
2858 ListenerFactoryBase.cs ChannelListenerBase.cs :
2859 updated IListener related stuff to Nov. CTP.
2860 file renaming will come soon.
2862 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2864 * ListenerBase.cs, ChannelListenerBase.cs :
2865 moved from former to latter.
2866 * LayeredListenerFactory.cs, LayeredChannelListener.cs :
2867 moved from former to latter.
2869 2005-11-20 Atsushi Enomoto <atsushi@ximian.com>
2871 * SessionFaultedException.cs : removed in Nov. CTP
2873 2005-11-20 Atsushi Enomoto <atsushi@ximian.com>
2875 * CommunicationObject.cs : updated to Nov. CTP.
2876 * SessionFaultedException.cs : removed (in Nov. CTP)
2878 2005-11-03 Atsushi Enomoto <atsushi@ximian.com>
2880 * TextMessageEncoder.cs : kinda implemented (untested; Message is not
2883 2005-11-03 Atsushi Enomoto <atsushi@ximian.com>
2885 * MtomMessageEncoder.cs, BinaryMessageEncoderFactory.cs,
2886 TextMessageEncoderFactory.cs, BinaryMessageEncoder.cs,
2887 TextMessageEncoder.cs, MtomMessageEncoderFactory.cs : new files.
2888 * MessageEncoder.cs : largely implemented.
2890 2005-11-02 Atsushi Enomoto <atsushi@ximian.com>
2892 * IRequestReplyCorrelator.cs : new file.
2894 2005-11-02 Atsushi Enomoto <atsushi@ximian.com>
2896 * CommunicationObject.cs : OnClose() and OnError() are not virtual.
2897 * DirectionalAction.cs : implemented IComparable<DirectionalAction>.
2898 * MessageEncoder.cs : added misssing ToString().
2900 2005-11-02 Atsushi Enomoto <atsushi@ximian.com>
2902 * ChannelBehaviorCollection.cs : moved to sys.sm.
2904 2005-10-28 Atsushi Enomoto <atsushi@ximian.com>
2906 * HttpListenerFactory.cs, HttpListener.cs : new files.
2907 * ListenerFactoryBase.cs, ChannelManagerBase.cs,
2908 CommunicationObject.cs, ChannelFactoryBase.cs,
2909 StreamUpgradeProvider.cs, ChannelBase.cs : timeouts are now
2911 * CommunicationObject.cs : Aborted is bool. Added InternalClose()
2912 * ListenerFactoryBase.cs : kinda implemented GetListeners().
2914 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
2916 * ListenerFactoryBase.cs : some implementation.
2918 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
2920 * CommunicationObject.cs : more state fixes.
2922 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
2924 * CommunicationObject.cs : some state machine fixes.
2926 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
2928 * PeerNode.cs, ChannelManagerBase.cs :
2929 several API fixes detected by improved corcompare.
2931 2005-10-25 Atsushi Enomoto <atsushi@ximian.com>
2933 * LayeredListenerFactory.cs : added missing generic class constraint.
2935 2005-10-25 Atsushi Enomoto <atsushi@ximian.com>
2937 * ListenerFactoryBase.cs,
2938 ListenerBase.cs : class constraints were missing for generic args.
2940 2005-10-24 Atsushi Enomoto <atsushi@ximian.com>
2942 * StreamUpgradeInitiator.cs : tiny API fix.
2944 2005-10-23 Atsushi Enomoto <atsushi@ximian.com>
2946 * PeerMessagePropagationFilter.cs : tiny build fix.
2948 2005-10-23 Atsushi Enomoto <atsushi@ximian.com>
2950 * HttpRequestMessageProperty.cs, HttpResponseMessageProperty.cs :
2951 added Name. fixed StatusCode type.
2952 * StreamSecurityUpgradeInitiator.cs, StreamUpgradeAcceptor.cs,
2953 PeerNode.cs, StreamSecurityUpgradeAcceptor.cs,
2954 StreamUpgradeProvider.cs, StreamUpgradeInitiator.cs,
2955 DirectionalAction.cs, HostedTransportConfiguration.cs,
2956 StreamSecurityUpgradeProvider.cs, SessionFaultedException.cs,
2957 PeerMessagePropagationFilter.cs : added missing files.
2958 * Dummy.cs : removed. MSMQ stuff can be added later.
2960 2005-10-21 Atsushi Enomoto <atsushi@ximian.com>
2962 * DeliveryStatus.cs, DeliveryFailure.cs,
2963 HttpRequestMessageProperty.cs, PeerMessageOrigination.cs,
2964 PeerMessagePropagation.cs, HttpResponseMessageProperty.cs :
2966 * Dummy.cs : removed above.
2968 2005-10-18 Atsushi Enomoto <atsushi@ximian.com>
2970 * ChannelFactoryBase.cs : tiny .ctor() delegation fix.
2972 2005-10-09 Atsushi Enomoto <atsushi@ximian.com>
2974 * MessageEncoderFactory.cs, LayeredListenerFactory.cs,
2975 MessageEncoder.cs, BufferManager.cs : new files.
2976 * Dummy.cs : removed above.
2978 2005-10-09 Atsushi Enomoto <atsushi@ximian.com>
2980 * ChannelBase.cs, ChannelBehaviorCollection.cs : new channel files.
2981 * Dummy.cs : removed above.
2982 * CommunicationObject.cs, ListenerFactoryBase.cs : added missing bits.
2984 2005-10-09 Atsushi Enomoto <atsushi@ximian.com>
2986 * HttpChannelFactory.cs : new file.
2988 2005-10-08 Atsushi Enomoto <atsushi@ximian.com>
2990 * IReplyChannel.cs, IRequestContext.cs, IRequestChannel.cs:
2991 moved to ../System.ServiceModel (correct location).
2992 * ChannelFactoryBase.cs, LayeredChannelFactory.cs, TransferMode.cs:
2993 new files for channels.
2994 * Dummy.cs : reflected above changes.
2995 * ChannelManagerBase.cs : added a bit of code and todos.
2997 2005-10-04 Atsushi Enomoto <atsushi@ximian.com>
2999 * ChannelManagerBase.cs, ListenerBase.cs, ListenerFactoryBase.cs :
3000 added listener support files.
3001 * Dummy.cs : removed above.
3003 2005-10-03 Atsushi Enomoto <atsushi@ximian.com>
3005 * IReplyChannel.cs, IRequestContext.cs, IRequestChannel.cs :
3006 added request/reply channel interfaces.
3007 * Dummy.cs : removed above.
3008 * CommunicationObject.cs : FIXME comments.
3010 2005-10-03 Atsushi Enomoto <atsushi@ximian.com>
3012 * CommunicationObject.cs : implemented some members.
3014 2005-09-29 Atsushi Enomoto <atsushi@ximian.com>
3016 * CommunicationObject.cs : some signature fixes.