1 2009-08-31 Atsushi Enomoto <atsushi@ximian.com>
3 * HttpChannelFactory.cs, HttpRequestChannel.cs,
4 ChannelFactoryBase.cs : fix to previous one; allow null Via uri.
5 Check ManualAddressing value and reject address-missing ones.
7 2009-08-31 Atsushi Enomoto <atsushi@ximian.com>
9 * HttpChannelFactory.cs : reject URI mismatch cases when required.
11 2009-08-26 Atsushi Enomoto <atsushi@ximian.com>
13 * PeerDuplexChannel.cs : When received Connect() from neighbor,
14 add the peer to its internal list.
15 Finally ChatApplication got working.
17 2009-08-26 Atsushi Enomoto <atsushi@ximian.com>
19 * PeerDuplexChannel.cs : since the channel factory is per instance,
20 do not reuse factory that is tied to different callback instance.
21 It resolved the issue that mono callback client didn't receive
22 messages from the client itself.
24 2009-08-26 Atsushi Enomoto <atsushi@ximian.com>
26 * PeerDuplexChannel.cs : in the Welcome response, return the NodeId
27 of the receiver, not the requestor. It resolved the issue that
28 .NET client didn't send further messages to mono server.
30 2009-08-26 Atsushi Enomoto <atsushi@ximian.com>
32 * PeerDuplexChannel.cs : remove some comment on [MC-PRCH] behavior.
33 * TcpDuplexSessionChannel.cs, TcpBinaryFrameManager.cs,
34 TcpReplyChannel.cs, TcpRequestChannel.cs,
35 NamedPipeReplyChannel.cs, NamedPipeRequestChannel.cs:
36 rename EndRecord handling method to appropriate one.
37 Write EndRecord from recipient too.
39 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
41 * PeerDuplexChannel.cs : add PeerFlooder header (see comment).
42 Process PeerTo header to upgrade Message To header. Now mono
43 service accepts mono client (somehow not true for .NET client).
45 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
47 * TcpDuplexSessionChannel.cs, TcpRequestChannel.cs,
48 NamedPipeRequestChannel.cs : no need to add ReplyTo headers.
50 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
52 * PeerDuplexChannel.cs : fix PeerTo/PeerVia header namespace.
54 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
56 * TcpDuplexSessionChannel.cs : check channel state before processing
59 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
61 * NamedPipeReplyChannel.cs, NamedPipeRequestChannel.cs,
62 NamedPipeChannelFactory.cs, NamedPipeChannelListener.cs :
63 ongoing works, not working at all yet.
65 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
67 * TcpChannelListener.cs, TcpReplyChannel.cs :
68 cosmetic cleanup and corrections.
70 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
72 * TcpChannelFactory.cs : use expected Via uri.
73 Remove extra NIE stuff that are implemented in base.
75 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
77 * TcpDuplexSessionChannel.cs : remove extra code.
79 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
81 * PeerDuplexChannel.cs : ongoing implementation towards get callback
82 replies on peer connector clients (not working as duplex client
83 callback is not working yet).
85 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
87 * TcpDuplexSessionChannel.cs : in callback client channels,
88 OperationContext.IncomingMessageHeaders is null.
90 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
92 * MessageHeaders.cs : duplicate check was sloppy.
94 2009-08-18 Atsushi Enomoto <atsushi@ximian.com>
96 * Message.cs, MessageImpl.cs, BodyWriter.cs :
97 Implement BodyWriter.OnCreateBufferedCopy() and use it.
99 2009-08-18 Atsushi Enomoto <atsushi@ximian.com>
101 * ReplyChannelBase.cs : initialize field.
103 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
105 * ReplyChannelBase.cs, DuplexChannelBase.cs, RequestChannelBase.cs:
106 implement GetProperty<T>() and return its channel manager.
108 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
110 * PeerDuplexChannel.cs : ongoing implementation. Fix wrong peer
111 destination address in Connect() request. To repeat sending
112 request, use buffered copy. Set some peer-channel specific
113 header items. (todo: and consume them.)
115 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
117 * Message.cs : state is set only after WriteBodyContents().
119 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
121 * MessageHeaders.cs : eliminate wrong use of
122 ReadElementContentAsString() (it is not always simple string).
124 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
126 * MessageHeaders.cs : when the value is null, do not try to
127 deserialize EndpointAddress.
129 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
131 * MessageHeader.cs : add Value property. (Forgot dependent change.)
133 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
135 * MessageHeaders.cs : GetHeader<T>() could mostly skip extra
136 serialization and deserialization of values.
138 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
140 * PeerDuplexChannel.cs : handle Welcome and Refuse at client side.
141 Now simply use connector contract.
143 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
145 * PeerDuplexChannel.cs : handle Disconnect(). Fix URLs a bit.
147 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
149 * TcpChannelListener.cs : do not try to compare dead connection's
150 IPEndPoint (it raises an error).
152 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
154 * MessageHeaders.cs : allow null header value on each specific setter.
156 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
158 * DuplexChannelBase.cs, TcpDuplexSessionChannel.cs :
159 get local and remote address of connected counterpart to get
160 callback channel connected.
161 * PeerDuplexChannel.cs : remove FIXME wrt above.
163 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
165 * PeerDuplexChannel.cs : add fixme comment and remove extra FIXME.
167 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
169 * MessageHeader.cs : fill IsReferenceParameter.
171 2009-08-06 Atsushi Enomoto <atsushi@ximian.com>
173 * ReplyChannelBase.cs, TcpReplyChannel.cs, HttpReplyChannel.cs:
174 implement remaining async methods and LocalAddress.
176 2009-08-05 Atsushi Enomoto <atsushi@ximian.com>
178 * PeerDuplexChannel.cs : ongoing listener refactoring. Now it uses
179 ServiceHost to process neighbor connection (not sure if this is
180 right way to go though ...).
182 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
184 * PeerDuplexChannel.cs : ongoing [MC-PRCH] implementation. Rewrote
185 connection part to use new internal IPeerConnectorContract for
188 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
190 * ChannelListenerBase_1.cs, TcpChannelListener.cs,
191 PeerChannelListener.cs, HttpChannelListener.cs :
192 support ListenUri accordingly too so that it could be used when
193 it is different from LocalAddress.Uri.
195 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
197 * TcpChannelFactory.cs, TcpDuplexSessionChannel.cs,
198 TcpRequestChannel.cs : use Via uri to validate and connect.
200 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
202 * RequestChannelBase.cs, DuplexChannelBase.cs :
203 Return endpoint address Uri when no explicit Via uri is specified.
204 * ChannelFactoryBase.cs : Remove extra async close methods.
205 Add async open methods. Reject null EndpointAddress.
206 * PeerChannelFactory.cs : remove async open methods (now in base).
208 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
210 * PeerDuplexChannel.cs : set correct message endpoint (To header).
212 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
214 * TcpDuplexSessionChannel.cs, PeerDuplexChannel.cs,
215 DuplexChannelBase.cs : set LocalAddress property at base.
217 2009-07-30 Atsushi Enomoto <atsushi@ximian.com>
219 * PeerDuplexChannel.cs : ongoing refactoring to work both as
220 listener and client. Now it creates a listening peer node, and
221 creates a set of TCP client channels for each peer in the mesh.
223 (EndpointAddress must be fixed to not filter out correct inputs).
225 2009-07-30 Atsushi Enomoto <atsushi@ximian.com>
227 * PeerChannelListener.cs : do not accept more than one channel
228 which results in lots of listening peer node. Only one is enough.
230 2009-07-30 Atsushi Enomoto <atsushi@ximian.com>
232 * DuplexChannelBase.cs : fix wrong loop implementation.
234 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
236 * TcpChannelListener.cs : to avoid creating two or more channels
237 for one remote endpoint, check existing remote endpoints and
238 ignore such connections (it must be handled in different thread
239 fired by ChannelDispatcher loop).
241 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
243 * TcpReplyChannel.cs : make sure to not try to receive request when
244 it is already closed.
246 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
248 * TcpChannelListener.cs, TcpDuplexSessionChannel.cs :
249 some mannerless clients [*1] do not send EndRecord accordingly, but
250 such channels at listener side should not be kept open. So, close
251 disconnected channels when the listener needs to accept another
253 [*1] see olive/samples/wcf/clientbase/samplecli4.cs.
255 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
257 * TcpDuplexSessionChannel.cs :
258 Remove extra NIE overrides.
259 Implement OnAbort() apart from OnClose().
260 For duplex session channel, unlike reply channel, it must acquire
261 TCP connection before OnOpen(), otherwise ChannelDispatcher
262 releases the connection acceptance WaitHandle and the detected
263 live connection may be stolen by another channel acceptor.
265 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
267 * HttpRequestChannel.cs : implement OnAbort().
269 2009-07-24 Atsushi Enomoto <atsushi@ximian.com>
271 * PeerChannelListener.cs : set source field. Remove unnecessary NIE.
272 * DuplexChannelBase.cs : comment out some extra fields (so far).
273 * PeerDuplexChannel.cs : pass valid EndpointAddress to PeerNodeImpl.
275 2009-07-24 Atsushi Enomoto <atsushi@ximian.com>
277 * PeerCustomResolverBindingElement.cs : add some null checks.
279 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
281 * TcpChannelListener.cs, TcpReplyChannel.cs, TcpRequestChannel.cs:
282 Acquire TcpClient for each request/reply. Now it is fully
283 interoperable with .NET.
285 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
287 * TcpReplyChannel.cs, TcpRequestChannel.cs: it somehow adds/expects
288 ReplyTo and MessageId (though it is session-less), and it expects
289 EndRecord at weird stage, inconsistent with [MC-NMF]...
290 Now .NET service accepts one mono client request.
292 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
294 * TcpReplyChannel.cs, TcpRequestChannel.cs, TcpBinaryFrameManager.cs:
295 Send and receive unsized message terminator at once.
296 Send EndRecord mutually. Got one .net client request working.
298 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
300 * BinaryMessageEncoder.cs : revert the previous dictionary change.
301 They are indeed used for non-in-band-dictionary messages.
303 2009-07-23 Atsushi Enomoto <atsushi@ximian.com>
305 * TcpDuplexSessionChannel.cs, TcpBinaryFrameManager.cs:
306 split out binary frame manager class into separate file.
308 2009-07-21 Atsushi Enomoto <atsushi@ximian.com>
310 * TcpReplyChannel.cs : new reply channel implementation.
311 * TcpChannelListener.cs : use above for streamed reply channel.
312 * TcpDuplexSessionChannel.cs : more streaming mode support.
313 * TcpRequestChannel.cs : a couple of updates to get it working
314 with the reply channel above. Still some issues on .NET interop.
316 2009-07-21 Atsushi Enomoto <atsushi@ximian.com>
318 * RequestContext.cs : added internal derived class that implements
321 2009-07-21 Atsushi Enomoto <atsushi@ximian.com>
323 * BinaryMessageEncoder.cs : for non-session reader and writer, do not
326 2009-07-17 Atsushi Enomoto <atsushi@ximian.com>
328 * PeerDuplexChannel.cs: add the registered node itself to peer list.
329 (The messaging must be done as TCP request/reply pattern, so it's
332 2009-07-17 Atsushi Enomoto <atsushi@ximian.com>
334 * TcpRequestChannel.cs : new channel file (TCP for request/reply
335 messaging pattern). The messaging part is not working yet.
336 * TcpChannelFactory.cs : support IRequestChannel.
337 * TcpDuplexSessionChannel.cs : add unsized message support.
339 2009-07-17 Atsushi Enomoto <atsushi@ximian.com>
341 * HttpRequestChannel.cs, RequestChannelBase.cs :
342 A couple of async members are now implemented in the base class.
343 Ditto for EndpointAddress and Via.
345 2009-07-10 Atsushi Enomoto <atsushi@ximian.com>
347 * PeerDuplexChannel.cs : now it implements some of node management
348 functionality and Send operation. The receiver part is not yet.
350 2009-07-10 Atsushi Enomoto <atsushi@ximian.com>
352 * TcpChannelListener.cs, TcpDuplexSessionChannel.cs : do not pass
353 timeout to channel constructor. it does not make sense.
355 2009-07-10 Atsushi Enomoto <atsushi@ximian.com>
357 * PeerChannelFactory.cs, PeerChannelListener.cs : add MessageEncoder
358 as common interface member, and use binary encoder (not text).
360 2009-07-09 Atsushi Enomoto <atsushi@ximian.com>
362 * PeerDuplexChannel.cs : PeerNode constructor argument changes.
364 2009-07-08 Atsushi Enomoto <atsushi@ximian.com>
366 * PeerDuplexChannel.cs, PeerChannelListener.cs, PeerOutputChannel.cs,
367 PeerInputChannel.cs, PeerChannelFactory.cs : those channels are
368 going to be unified to PeerDuplexChannel. And it is likely that
369 input and output functionalities are to be unified too.
371 2009-07-08 Atsushi Enomoto <atsushi@ximian.com>
373 * TcpChannelFactory.cs : (TcpChannelInfo) ease type restriction. I
374 may have to reuse it for peer transport.
375 * PeerChannelListener.cs : add binding member.
376 * PeerDuplexChannel.cs : remove NIE overrides. Fill fields a bit.
378 2009-07-08 Atsushi Enomoto <atsushi@ximian.com>
380 * ChannelFactoryBase.cs, HttpChannelFactory.cs,
381 PeerChannelFactory.cs : close opened channels at OnClose() as
382 documented. Implement async methods.
383 * PeerChannelListener.cs : removed some NIE overrides.
385 2009-07-02 Atsushi Enomoto <atsushi@ximian.com>
387 * DuplexChannelBase.cs : some more async methods.
389 2009-06-29 Atsushi Enomoto <atsushi@ximian.com>
391 * TcpDuplexSessionChannel.cs : on Abort(), do just Close() within
393 * TcpChannelListener.cs : accept multiple channels at a time.
395 2009-06-29 Atsushi Enomoto <atsushi@ximian.com>
397 * TcpDuplexSessionChannel.cs : do not output all (stored) writer
398 session strings but output only those new ones in current message.
399 This fixes inconsistent body output in repetitive use of sender.
401 2009-06-26 Atsushi Enomoto <atsushi@ximian.com>
403 * TcpDuplexSessionChannel.cs : handle EndRecord for repetitive
404 operation that does not involve session.
405 Preserve writer session as well as reader session.
406 * MessageHeaders.cs : take name and namespace into consideration
407 when creating a serializer.
409 2009-06-25 Atsushi Enomoto <atsushi@ximian.com>
411 * TcpChannelListener.cs, TcpDuplexSessionChannel.cs :
412 Made required changes for repeated use of message exchanges.
413 Hold binary reader session. The channels use it incrementally.
414 Preambles are handled at Open, and EndRecords are handled at
415 Close, Add session shutdown hook here (not working yet though).
417 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
419 * ChannelListenerBase_1.cs : added cancellation hook here too.
420 HttpChannelListener.cs : use above.
421 Do not allow parallel channel creation (this listener does not
422 allow more than one AcceptChannel().
424 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
426 * ReplyChannelBase.cs, HttpReplyChannel.cs :
427 Add cancellation hook for async TryReceiveRequest.
429 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
431 * HttpChannelListener.cs, HttpListenerManager.cs :
432 slightly improved BuildChannelListener().
433 Implement OnAbort() and differentiate it from OnClose().
435 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
437 * TcpDuplexSessionChannel.cs : remove NIE stubs.
439 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
441 * DuplexChannelBase.cs : simple async delegate calls here too.
443 2009-06-16 Atsushi Enomoto <atsushi@ximian.com>
445 * ReplyChannelBase.cs : cosmetic dependency reduction on listener.
447 2009-06-16 Atsushi Enomoto <atsushi@ximian.com>
449 * HttpReplyChannel.cs : cosometic simplification.
451 2009-06-16 Atsushi Enomoto <atsushi@ximian.com>
453 * HttpRequestChannel.cs : Fixed timeout handling. It was causing
454 infinite block in 2.0 profile.
456 2009-06-12 Atsushi Enomoto <atsushi@ximian.com>
458 * TcpChannelListener.cs, TcpDuplexSessionChannel.cs :
459 more careful close to avoid NRE.
461 2009-06-12 Atsushi Enomoto <atsushi@ximian.com>
463 * HttpChannelListener.cs : do not Close() more than once (though
464 it is allowed to call it twice, we don't reject it; just ignore).
466 2009-06-12 Atsushi Enomoto <atsushi@ximian.com>
468 * CustomBinding.cs : copy timeouts from argument binding in copy ctr.
470 2009-06-11 Atsushi Enomoto <atsushi@ximian.com>
472 * HttpReplyChannel.cs : reject multiple WaitForRequest calls.
473 Temporarily disable HTTP Keep-Alive since it somehow results in
474 wrong reuse of connection (shown as NRE in HttpConnection).
475 Make sure to close RequestContext which was created from it.
476 * HttpRequestContext.cs : simplify.
478 2009-06-11 Atsushi Enomoto <atsushi@ximian.com>
480 * HttpChannelListener.cs, TcpChannelListener.cs,
481 ChannelListenerBase_1.cs : put common internal listener base
482 and let it handle those async stuff.
484 2009-06-10 Atsushi Enomoto <atsushi@ximian.com>
486 * ReplyChannelBase.cs : fix wrong null delegate check point.
488 2009-06-10 Atsushi Enomoto <atsushi@ximian.com>
490 * HttpReplyChannel.cs, ReplyChannelBase.cs : async operations are
491 now implemented as virtual in base class. Remove NIEs in http.
493 2009-06-10 Atsushi Enomoto <atsushi@ximian.com>
495 * HttpChannelListener.cs : hack async implementation.
497 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
499 * HttpListenerManager.cs : oops, extra line removal.
501 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
503 * HttpChannelManager.cs, HttpListenerManager.cs : rename file too.
505 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
507 * HttpChannelManager.cs, HttpChannelListener.cs: renaming, as
508 "ChannelManager" is confusing (there is ChannelManagerBase).
510 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
512 * HttpChannelManager.cs, HttpTransportBindingElement.cs,
513 HttpReplyChannel.cs, AspNetReplyChannel.cs, HttpChannelListener.cs:
514 they should be split into separate listener->reply channel lines
515 (remove "if (HostingEnvironment.IsAspNet)".)
517 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
519 * CommunicationObject.cs : OnClosed() requires call to base method.
520 Close() could rather abort the channel, and Abort() does not
521 always invke OnAbort().
522 * ChannelBase.cs : add call to base as above.
524 2009-06-05 Sebastien Pouliot <sebastien@ximian.com>
526 * ClientAccessPolicy.cs: Removed
527 * CrossDomainAccessManager.cs: Removed
528 * CrossDomainPolicy.cs: Removed
529 * HttpRequestChannel.cs: Remove call to CrossDomainAccessManager
530 since this is now done inside the BeginGetResponse call (outside
531 this assembly) for Moonlight (NET_2_1)
533 2009-06-04 Alan McGovern <amcgovern@novell.com>
535 * HttpRequestChannel.cs : Rewrite ProcessRequest to use the async APIs
536 instead of the sync apis. Prevents a possible deadlock condition in
539 2009-06-03 Atsushi Enomoto <atsushi@ximian.com>
541 * HttpRequestChannel.cs : that SL2/ML2 does not seem to allow null
542 callbacks, so add hacky ones.
544 2009-06-01 Atsushi Enomoto <atsushi@ximian.com>
546 * TcpDuplexSessionChannel.cs : WaitForMessage() should not return
547 true when socket input is not available.
549 2009-05-29 Atsushi Enomoto <atsushi@ximian.com>
551 * TcpDuplexSessionChannel.cs : Moved tcp listener accept to OnOpen().
552 I cannot precisely identify when EndRecord should be consumed,
553 so allow it at either at the end of ReadSizedMessage() or on
554 consuming preamble (it's likely handling EndRecord of previous
557 Now duplex IPeerResolverContract communication works between
558 either of .NET/Mono client and .NET/Mono server.
560 2009-05-29 Atsushi Enomoto <atsushi@ximian.com>
562 * TcpDuplexSessionChannel.cs : looks like I have added some bogus
563 code. Handle preamble ack on ReadSizedMessage() only at server.
564 Consume EndRecord from server, at client side. Though it is likely
565 changed as it's blocking when mono is at server side.
567 2009-05-29 Atsushi Enomoto <atsushi@ximian.com>
569 * TcpDuplexSessionChannel.cs : .NET seems to be based on somewhat
570 different protocol than existing code with related to preamble ack.
571 So changed it to work fine with .NET client (finally).
573 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
575 * MessageBufferImpl.cs : do not output Action twice.
577 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
579 * MessageBufferImpl.cs : it did not copy headers.
580 * Message.cs : remove 2_1 conditional implementation for buffered
581 copy and hence remove bogus code.
583 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
585 * MessageProperties.cs : copy argument is wrong.
587 2009-05-27 Atsushi Enomoto <atsushi@ximian.com>
589 * PeerCustomResolverBindingElement.cs : some argument check.
591 2009-05-27 Atsushi Enomoto <atsushi@ximian.com>
593 * BinaryMessageEncoder.cs : the serializer somehow leaves binary
594 xml open, so close the writer as well as open elements.
595 * TcpDuplexSessionChannel.cs : clear write buffer on each operation.
596 Do not output EndRecord and SizedMessage at a time.
598 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
600 * TcpDuplexSessionChannel.cs : there was a miscalculation on the
601 length of the SizedMessage in the output.
603 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
605 * CommunicationObject.cs : use sane default timeout.
606 * PeerCustomResolverBindingElement.cs : check timeout arg sanity.
607 * TcpDuplexSessionChannel.cs : ditto.
609 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
611 * TcpDuplexSessionChannel.cs : It seems that buffered stream channel
612 only accepts buffered messages, so do as such for write buffers.
613 Add RelatesTo header.
615 2009-05-26 Atsushi Enomoto <atsushi@ximian.com>
617 * DuplexSessionChannelBase.cs, DuplexChannelBase.cs:
618 rename from former to latter.
620 2009-05-25 Atsushi Enomoto <atsushi@ximian.com>
622 * TcpDuplexSessionChannel.cs : reader does not always return full
623 buffer (depending on the stream).
625 2009-05-25 Atsushi Enomoto <atsushi@ximian.com>
627 * PeerDuplexChannel.cs, PeerOutputChannel.cs : use new PeerNode.ctor.
629 2009-05-25 Atsushi Enomoto <atsushi@ximian.com>
631 * PeerCustomResolverBindingElement.cs : (Resolve) returned addresses
634 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
636 * ChannelManagerBase.cs : there was annoying non-2.1 stuff.
638 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
640 * TcpChannelListener.cs, TcpChannelFactory.cs : get reader quotas.
642 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
644 * ChannelManagerBase.cs : fix wrong session channel detection.
646 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
648 * BinaryMessageEncoderFactory.cs, BinaryMessageEncoder.cs
649 This encoder factory implements CreateSessionEncoder() and binary
650 encoder does support session transmit, in different media type.
651 * ChannelManagerBase.cs : added utility method to create appropriate
653 * HttpChannelFactory.cs, HttpChannelListener.cs,
654 MsmqChannelFactory.cs, MsmqChannelListener.cs,
655 PeerChannelFactory.cs, PeerChannelListener.cs,
656 TcpChannelFactory.cs, TcpChannelListener.cs : use above.
658 2009-05-22 Atsushi Enomoto <atsushi@ximian.com>
660 * TcpDuplexSessionChannel.cs : add ReplyTo header.
662 2009-05-21 Atsushi Enomoto <atsushi@ximian.com>
664 * DuplexSessionBase.cs : new file, for session implementation.
665 * TcpDuplexSessionChannel.cs, PeerDuplexChannel.cs,
666 DuplexSessionChannelBase.cs : changed sync/async implementation
667 pattern. Now async methods call sync methods using delegates.
669 2009-05-21 Atsushi Enomoto <atsushi@ximian.com>
671 * InputChannelBase.cs, TransportBindingElement.cs, RequestContext.cs:
672 a few minor API fixes.
674 2009-05-21 Atsushi Enomoto <atsushi@ximian.com>
676 * MessageEncoderFactory.cs : implement CreateSessionEncoder().
678 2009-05-19 Atsushi Enomoto <atsushi@ximian.com>
680 * TcpDuplexSessionChannel.cs : add To header.
682 2009-05-19 Atsushi Enomoto <atsushi@ximian.com>
684 * MessageFault.cs : fix several SOAP12 fault deserialization in xml
687 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
689 * FaultConverter.cs : avoid NRE for null IncomingMessageHeaders.
691 2009-05-15 Atsushi Enomoto <atsushi@ximian.com>
693 * MessageFault.cs : Reason is mandatory. raise XmlException, and
694 CommunicationException in each CreateFault().
696 2009-05-15 Atsushi Enomoto <atsushi@ximian.com>
698 * TcpDuplexSessionChannel.cs : on listener side, get TcpClient at
699 Open(). Some (but not all yet) continuous communication works now.
700 Use ProtocolException. Remove dummy binary session string.
702 2009-05-14 Atsushi Enomoto <atsushi@ximian.com>
704 * TcpDuplexSessionChannel.cs : more [MC-NMF] implementation. Moved
705 sending/receiving SizedMessageRecord parts to manager class.
706 Handle writer session, though it is likely broken at dictionary
707 writer part (no string is written so far).
708 * BinaryMessageEncoder.cs : add writer session and rename reader
711 2009-05-14 Atsushi Enomoto <atsushi@ximian.com>
713 * TcpDuplexSessionChannel.cs : more [MC-NMF] implementation. Via uri
714 is mandatory in initiator preamble packet. Handle Fault reply in
717 2009-05-14 Atsushi Enomoto <atsushi@ximian.com>
719 * TcpDuplexSessionChannel.cs : ongoing refactoring to collect [MC-NMF]
720 based communication under TcpBinaryFrameManager class.
722 2009-05-13 Jb Evain <jbevain@novell.com>
724 * MessageHeader.cs: use a SL friendly way of creating an XmlReader
727 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
729 * MessageImpl.cs, MessageHeader.cs : eliminate xlinq in 2.1, and
730 actually eliminate DOM-based implementation too in 2.0.
732 2009-04-28 Atsushi Enomoto <atsushi@ximian.com>
734 * TcpDuplexSessionChannel.cs : implement in-band dictionary support
735 in [MC-NMF] and [MC-NBFSE], used in duplex channels. Added some
736 comments for magic numbers based on [MC-NMF].
738 2009-04-28 Atsushi Enomoto <atsushi@ximian.com>
740 * BinaryMessageEncoder.cs : implement part of in-band dictionary
741 support for [MC-NBFSE] record in [MC-NMF], in this class.
743 2009-04-28 Atsushi Enomoto <atsushi@ximian.com>
745 * BinaryMessageEncodingBindingElement.cs : clear extra public members.
747 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
749 * TcpDuplexSessionChannel.cs : implemented some channel methods.
751 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
753 * BinaryMessageEncoder.cs : use XmlDictionary specified as [MC-NBFS].
755 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
757 * ChannelManagerBase.cs : implement Open/CloseTimeout correctly.
759 2009-04-23 Atsushi Enomoto <atsushi@ximian.com>
761 * BinaryMessageEncoder.cs : use quotas in binding element.
762 Implement WriteMessage().
764 2009-04-22 Atsushi Enomoto <atsushi@ximian.com>
766 * PeerCustomResolverBindingElement.cs : do initialize field.
768 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
770 * PeerCustomResolverBindingElement.cs :
771 implement full custom resolver.
773 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
775 * PeerDuplexChannel.cs, PeerChannelListener.cs,
776 PeerOutputChannel.cs, PeerCustomResolverBindingElement.cs,
777 PeerChannelFactory.cs : ongoing p2p channel implementation.
779 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
781 * PnrpPeerResolverBindingElement.cs : sync with PeerResolver changes.
783 2009-04-21 Atsushi Enomoto <atsushi@ximian.com>
785 * BinaryMessageEncodingBindingElement.cs, ChannelBase.cs,
786 ChannelFactoryBase.cs, WindowsStreamSecurityBindingElement.cs :
787 implement GetProperty<T>(). Return documented objects or null.
789 2009-04-20 Atsushi Enomoto <atsushi@ximian.com>
791 * PeerChannelFactory.cs, PeerChannelListener.cs,
792 PeerCustomResolverBindingElement.cs, PeerDuplexChannel.cs
793 PeerInputChannel.cs, PeerOutputChannel.cs :
794 new; ongoing peer transport implementation.
795 * DuplexSessionChannelBase.cs, InputChannelBase.cs
796 MsmqOutputChannel.cs, OutputChannelBase.cs,
797 PeerResolverBindingElement.cs, PeerTransportBindingElement.cs,
798 PnrpPeerResolverBindingElement.cs, TcpDuplexSessionChannel.cs :
799 several internal changes (either required or for simplification)
800 for ongoing peer transport implementation.
802 2009-04-08 Atsushi Enomoto <atsushi@ximian.com>
804 * PeerTransportBindingElement.cs : ListenIPAddress is IPAddress.
806 2009-04-07 Atsushi Enomoto <atsushi@ximian.com>
808 * TcpTransportBindingElement.cs : check build-ability before
809 actually building channels.
810 * ConnectionOrientedTransportBindingElement.cs : fixed build-ability
811 conditions according to MSDN.
813 2009-03-05 Atsushi Enomoto <atsushi@ximian.com>
815 * MessageHeader.cs, MessageHeaders.cs, MessageImpl.cs :
816 handle headers in SL2. Slightly changed 3.0 code too.
818 2009-03-04 Atsushi Enomoto <atsushi@ximian.com>
820 * HttpRequestChannel.cs : use cross domain access manager.
822 2009-02-27 Atsushi Enomoto <atsushi@ximian.com>
824 * Message.cs : (in CreateBufferedCopy) do not pass the entire
825 message as BodyWriter.
826 (in GetReaderAtBodyContents) just write body contents.
827 * MessageImpl.cs : do not try to read body at ctor (fixed tons
829 Add some state check in GetReaderAtBodyContents().
830 * XmlReaderBodyWriter.cs : avoid possible extra xmldecl onto output.
832 2009-02-18 Atsushi Enomoto <atsushi@ximian.com>
834 * Message.cs : do not forget to flush.
835 * HttpRequestChannel.cs : give more exact error info.
837 2009-02-18 Atsushi Enomoto <atsushi@ximian.com>
839 * Message.cs, MessageBufferImpl.cs, XmlReaderBodyWriter.cs :
840 make buffered copy in ML2 really buffered.
842 2009-02-12 Atsushi Enomoto <atsushi@ximian.com>
844 * Message.cs : if there is no header item to write, do not write
847 2009-01-22 Alan McGovern <amcgovern@novell.com>
849 * MessageHeaders.cs : List<T>.RemoveAll(Predicate<T>) doesn't exist in Silverlight.
850 Rewrite to avoid usage of it.
852 2009-01-14 Atsushi Enomoto <atsushi@ximian.com>
854 * ChannelParameterCollection.cs : implement, rather than NIE.
856 2008-05-22 Noam Lampert <noaml@mainsoft.com>
858 * MessageFault.cs: Correctly serialize ExceptionDetails. Expose SimpleMessageFault to allow
859 internal users to know the type of the detail.
861 2008-05-20 Noam Lampert <noaml@mainsoft.com>
863 * Message.c: Use private setter for state private variable to ease debugging.
864 Modify ToString not to change the state, as it is called quite often by VS debugger
866 2008-04-21 Roei Erez <roeie@mainsoft.com>
868 * HttpChannleManager: Fix for multithreaded use.
869 * HttpReplyChannel: Fix crash during sutdown.
871 2008-04-17 Igor Zelmanovich <igorz@mainsoft.com>
873 * HttpChannleManager: ensure trailing slash in uri.
875 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
877 * added: HttpChannleManager,
878 * HttpChannelListener: added use of HttpChannelManager
880 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
882 * MessageEncodingBindingElement.cs: fixed ctor
884 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
886 * XmlReaderBodyWriter.cs: fixed ctor, skip xml declaration
888 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
890 * HttpReplyChannel.cs: fixed TryReceiveRequest, fix message header To
892 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
894 * MessageFault.cs: fixed CreateFault11, implemented "detail"
896 2008-04-17 Noam Lampert <noaml@mainsoft.com>
898 * HttpReplyChannel.cs: fix API - Fix crash during service shutdown.
900 2008-04-13 Igor Zelmanovich <igorz@mainsoft.com>
902 * BindingElementCollection.cs: fix API - .ctor's signature.
904 2008-04-10 Eyal Alaluf <eyala@mainsoft.com>
906 * XmlSerializerBodyWriter.cs: Removed.
908 2008-03-25 Vladimir Krasnov <vladimirk@mainsoft.com>
910 * MessageFault.cs: fixed WriteReason, .net XmlWriter compatible
912 2008-02-20 Atsushi Enomoto <atsushi@ximian.com>
914 * DuplexSessionChannelBase.cs : made it non-session (more reusable).
915 * TcpChannelFactory.cs, TcpChannelListener.cs :
916 unify factory and listener into TcpChannelInfo for use in
917 TCP channel implementation. Do not store stream in the listener.
918 Factory now uses BinaryMessageEncoder.
919 * TcpDuplexSessionChannel.cs : changes explained above, and now it
920 holds TcpClient that the listener has accepted.
922 tcp-transport-binding-element sample now communicates (though
923 only when both sides are mono: there seems binary mismatch).
925 2008-02-20 Atsushi Enomoto <atsushi@ximian.com>
927 * TcpTransportBindingElement.cs, TcpConnectionPoolSettings.cs :
928 clone connection pool settings too.
929 * NamedPipetransportBindingElement.cs,
930 NamedPipeConnectionPoolSettings.cs : let's clean them up too (not
931 being likely implemented though).
933 2008-02-20 Atsushi Enomoto <atsushi@ximian.com>
935 * ConnectionOrientedTransportBindingElement.cs,
936 TcpTransportBindingElement.cs : some API updates.
937 Initialize default values.
938 * TcpConnectionPoolSettings.cs : new file.
940 2008-02-18 Atsushi Enomoto <atsushi@ximian.com>
942 * ServiceHostParser.cs, SvcHttpHandlerFactory.cs, SvcHttpHandler.cs:
943 added support for "factory" attribute.
945 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
947 * HttpRequestContent.cs : consider HttpResponseMessageProperty.
949 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
951 * HttpRequestChannel.cs : pass response ContentType to ReadMessage().
953 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
955 * HttpRequestChannel.cs : create WebRequest against To message header
957 Consider HttpRequestMessageProperty.
958 Do not output body when suppressed or the method is GET.
960 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
962 * HttpChannelListener.cs : BindingContext may not have listenUri
965 2008-02-08 Atsushi Enomoto <atsushi@ximian.com>
967 * BindingContext.cs : RemainingBindingElements is not just a dummy
968 collection but is actually user-controlled.
970 2008-02-08 Atsushi Enomoto <atsushi@ximian.com>
972 * TcpChannelFactory.cs, TcpChannelListener.cs,
973 HttpChannelFactory.cs, HttpChannelListener.cs,
974 MsmqChannelFactory.cs, MsmqChannelListener.cs,
975 TextMessageEncodingBindingElement.cs,
976 BinaryMessageEncodingBindingElement.cs,
977 MtomMessageEncodingBindingElement.cs :
978 message encoder should be retrieved only through public API.
979 * BindingContext.cs : so my old guess was wrong.
981 See also: http://blogs.msdn.com/drnick/archive/2006/05/10/594134.aspx
983 2008-02-05 Atsushi Enomoto <atsushi@ximian.com>
985 * HttpTransportBindingElement.cs : implemented copy constructor.
987 2007-08-20 Atsushi Enomoto <atsushi@ximian.com>
989 * HttpRequestChannel.cs, HttpReplyChannel.cs : treat SOAPAction HTTP
990 header when AddressingVersion is None.
992 2007-08-20 Atsushi Enomoto <atsushi@ximian.com>
994 * MessageHeaders.cs : AddressingVersion.None rejects some WSA
997 2007-08-19 Atsushi Enomoto <atsushi@ximian.com>
999 * OneWayBindingElementImporter.cs
1000 CompositeDuplexBindingElementImporter.cs : new files.
1002 2007-08-17 Atsushi Enomoto <atsushi@ximian.com>
1004 * MessageHeaders.cs : due to the DataContractSerializer.ReadObject()
1005 semantic change, its bool parameter must be false, not true.
1007 2007-07-13 Atsushi Enomoto <atsushi@ximian.com>
1009 * InputChannelBase.cs, MsmqChannelListener.cs, MsmqInputChannel.cs :
1010 new files. Msmq transport listener Implementation.
1011 * MsmqOutputChannel.cs : implemented Send(). Not sure if it works
1012 (wait for System.Messaging impl.)
1013 * HttpReplyChannel.cs : added comment
1015 2007-07-06 Atsushi Enomoto <atsushi@ximian.com>
1017 * MsmqChannelFactory.cs MsmqOutputChannel.cs OutputChannelBase.cs :
1018 new files. internal stuff for msmq channel.
1019 * BinaryMessageEncoder.cs : added another .ctor().
1020 * MsmqTransportBindingElement.cs :
1021 implemented [Can]BuildChannelFactory().
1023 2007-07-06 Atsushi Enomoto <atsushi@ximian.com>
1025 * MsmqBindingElementBase.cs MsmqTransportBindingElement.cs :
1026 initialize some fields.
1028 2007-07-05 Atsushi Enomoto <atsushi@ximian.com>
1030 * MsmqBindingElementBase.cs MsmqMessageProperty.cs
1031 MsmqTransportBindingElement.cs ITransactedBindingElement.cs :
1032 couple of msmq stubs.
1034 2007-04-02 Atsushi Enomoto <atsushi@ximian.com>
1036 * SecureMessageGenerator.cs : SecurityContextToken support (though
1037 it is still regarded as invalid by WCF).
1039 2007-03-13 Atsushi Enomoto <atsushi@ximian.com>
1041 * WSSecurityMessageHeader.cs, SecureMessageGenerator.cs :
1042 make header.Contents.Add() more strict.
1043 Use HasAsymmetricKey to determine whether to use asymmetric algorithm
1045 Added some hack to allow ssl token external mode.
1046 Commented out such lines that always premised asymmtric key.
1048 2007-03-08 Atsushi Enomoto <atsushi@ximian.com>
1050 * TransactionFlowBindingElement.cs : forgot necessary Clone().
1052 2007-03-08 Atsushi Enomoto <atsushi@ximian.com>
1054 * MessageSecurityBindingSupport.cs : support check to create
1055 authenticator is now done in both initiator/recipient sides.
1056 * SecurityRequestContext.cs : don't encrypt WS-Trust RSTR.
1058 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
1060 * MessageSecurityBindingSupport.cs : for now, comment out the code
1061 that makes authenticator creation optional.
1062 * SecurityRequestContext.cs : don't decrypt message when it is
1063 WS-Trust messages. Also, do not secure SOAP Fault (it is likely
1065 * SecurityChannelListener.cs : GetProperty<T>() now returns
1066 MessageSecurityBindingSupport when requested. It is used by
1067 EndpointDispatcher to check if it supports WS-Trust negotiation.
1068 * ChannelListenerBase.cs :
1069 removed extra TODO and field. Implemented GetProperty<T>().
1070 * Message.cs : In CreateMessage() for SOAP Fault, create
1071 SimpleMessage with IsFault = true.
1073 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
1075 * SecurityRequestContext.cs : try to reply fault with the inner
1076 channel when an error occurred internally.
1077 * FaultConverter.cs : implemented based on OperationContext (at normal
1078 state it does not seem to create messages, so I implemented it this
1081 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
1083 * TransportBindingElement.cs : implemented GetProperty<T>().
1084 * TransactionFlowBindingElement.cs : on building factory or listener,
1085 reject channel types that cannot build.
1086 * SecurityBindingElement.cs : added some TODO comments.
1087 * HttpTransportBindingElement.cs : GetProperty<T>() should rather
1088 delegate to base, not BindingContext.
1089 * SecurityRequestContext.cs : somewhat late decryption.
1091 2007-03-06 Atsushi Enomoto <atsushi@ximian.com>
1093 * MessageSecurityBindingSupport.cs,
1094 AsymmetricSecurityBindingElement.cs,
1095 SymmetricSecurityBindingElement.cs :
1096 renamed *SecurityBindingElementSupport to *SecurityCapabilities and
1097 implemented ISecurityCapabilities on them. Now those binding
1098 elements support GetProperty<ISecurityCapabilities>().
1100 2007-03-05 Atsushi Enomoto <atsushi@ximian.com>
1102 * SecurityBindingElement.cs : SetIssuerBindingContextIfRequired()
1103 will work only for predefined parameter types.
1105 2007-03-01 Atsushi Enomoto <atsushi@ximian.com>
1107 * MessageSecurityBindingSupport.cs :
1108 Set proper MessageDirection to the requirement after creation.
1109 split CreateTokenAuthenticator() as MessageDirection is different.
1110 Removed extra creation of requirement.
1112 2007-03-01 Atsushi Enomoto <atsushi@ximian.com>
1114 * MessageSecurityBindingSupport.cs : token authenticator is not
1115 always created on channel-opening stage.
1116 * SecurityBindingElement.cs : use SslSecurityTokenParameters for
1117 Sslnego binding factory method.
1119 2007-02-28 Atsushi Enomoto <atsushi@ximian.com>
1121 * SecureMessageGenerator.cs : inconsistent ReferenceList has caused
1122 signature velification failure.
1124 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1126 * SecureMessageGenerator.cs : encrypt signature confirmations only
1127 when they are required.
1129 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1131 * SecureMessageGenerator.cs : SignatureConfirmation must be encrypted
1132 when [Signature Protection is true i.e. when we use
1133 SignBeforeEncryptAndEncryptSignature.
1135 With this change finally samplesvc.cs/samplecli.cs became
1138 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1140 * SecureMessageDecryptor.cs : signature verification was not done
1141 for endorsing supporting tokens.
1142 * SecureMessageGenerator.cs : moved SignatureConfirmation position
1143 in the security header. Don't output empty ReferenceList.
1145 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1147 * SecureMessageGenerator.cs : signingToken was added before being
1148 initialized and thus caused NRE.
1150 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1152 * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
1153 SecureMessageGenerator.cs : use SHA1 instead of HMACSHA1. Now we
1154 don't need workaround for symmetric key restoration.
1156 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1158 * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
1159 SecureMessageGenerator.cs :
1160 Avoid extra reference search from the request's ReferenceList.
1161 create HMACSHA1 always with the key to compute hash (I'm not sure
1162 it is correct; it is rather to adjust all hash consistent.)
1164 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1166 * SecureMessageDecryptor.cs : verify that endorsing supporting tokens
1167 actually endorsed the primary signature.
1168 * SecureMessageGenerator.cs : implemented endorsing of the primary
1169 signature. So, now supporting tokens are fully implemented.
1171 2007-02-27 Atsushi Enomoto <atsushi@ximian.com>
1173 * MessageSecurityBindingSupport.cs : so, those supporting tokens are
1174 totally signing tokens.
1175 * SecureMessageGenerator.cs : Endorsing tokens should also be
1176 included in the message. They are just not signed.
1178 2007-02-26 Atsushi Enomoto <atsushi@ximian.com>
1180 * SecureMessageGenerator.cs : support signing and encryption of
1181 supporting tokens. Some required refactory to do it.
1182 * MessageSecurityBindingSupport.cs : added EncryptedData member.
1184 2007-02-26 Atsushi Enomoto <atsushi@ximian.com>
1186 * SecureMessageDecryptor.cs : fix exception message.
1187 * WSSecurityMessageHeader.cs, WSSignedXml.cs, WSEncryptedXml.cs :
1188 XmlNamespaceManager is not required for GetIdElement().
1190 2007-02-22 Atsushi Enomoto <atsushi@ximian.com>
1192 * SecureMessageDecryptor.cs, WSSecurityMessageHeader.cs :
1193 moved decryption part from former file to latter file, to reuse
1194 SignedXml instance (though now I doubt how it actually was good)
1195 which in turn required to replace EncryptedData in
1196 WSSecurityMessageHeader with decrypted one.
1197 * WSEncryptedXml.cs : similar to WSSignedXml.cs, to handle wsu:Id.
1199 2007-02-21 Atsushi Enomoto <atsushi@ximian.com>
1201 * SecureMessageGenerator.cs : when we create DerivedKeyToken, those
1202 EncryptedData should contain KeyInfo as it is not obvious which key
1203 is used there. .net<->mono DerivedKeyToken introp is done.
1204 * SecureMessageDecryptor.cs : check derived key requirement.
1205 Reduce dom-dependent parts.
1207 2007-02-21 Atsushi Enomoto <atsushi@ximian.com>
1209 * WSSecurityMessageHeader.cs : ReferenceList needs to be bound to
1210 the related DerivedKeyToken (if any).
1211 * SecureMessageGenerator.cs : largely done with DerivedKeyToken
1212 support. Some refactoring to distinguish deried-token-related
1214 * SecureMessageDecryptor.cs : removed its own support for derived
1215 key tokens. Now it fully works with DerivedKeySecurityToken.
1217 2007-02-21 Atsushi Enomoto <atsushi@ximian.com>
1219 * WSSecurityMessageHeader.cs, SecureMessageDecryptor.cs,
1220 SecureMessageDecryptor.cs :
1221 Implemented increment token reading in o:Security, as
1222 DerivedKeyToken could reference to existing wrapped key.
1223 Removed WsscDerivedKeyToken and all relevant code.
1224 * SecureMessageGenerator.cs : replaced WsscDerivedKeyToken with
1225 DerivedKeySecurityToken.
1227 2007-02-16 Atsushi Enomoto <atsushi@ximian.com>
1229 * SecureMessageGenerator.cs : it was setting security tokens into
1230 incorrect SecurityMessageProperty.
1231 Use correct WrappedKeySecurityToken for EncryptedKeySHA1.
1232 Now it uses SecurityRequestContext instead of just primary key.
1233 * SecureMessageDecryptor.cs : removed extra lines. Limit workarounds
1234 to symmetric reply decryption, which is the only trouble case.
1235 Do not create another SignedXml.
1236 * WSSecurityMessageHeader.cs : SignedXml processing changes above.
1238 2007-02-15 Atsushi Enomoto <atsushi@ximian.com>
1240 * SecureMessageDecryptor.cs : Now it uses union token resolver and
1241 the resolver works with in-progress token reading in o:Security.
1242 * WSSecurityMessageHeader.cs : now it does not read EncryptedKey
1243 as EncryptedKeyIdentifierClause. It is rather a SecurityToken.
1244 * SecureMessageGenerator.cs : cosmetic refactoring.
1246 2007-02-14 Atsushi Enomoto <atsushi@ximian.com>
1248 * WSSecurityMessageHeader.cs : read EncryptedKeyIdentifierClause
1249 instead of EncryptedKey.
1251 2007-02-13 Atsushi Enomoto <atsushi@ximian.com>
1253 * MessageSecurityBindingSupport.cs : SigningToken and EncryptionToken
1254 should not be always prepared at channel Open(). It also caused
1255 that extra token requirements.
1256 * SecureMessageGenerator.cs : use correct key clause for encryption.
1257 * SecureMessageDecryptor.cs : reduce extra key acquisition.
1259 2007-02-06 Atsushi Enomoto <atsushi@ximian.com>
1261 * MessageSecurityBindingSupport.cs : added CreateTokenAuthenticator()
1262 for supporting 'supporting tokens' .
1263 * SecureMessageGenerator.cs : Supporting token creation is done only
1264 at initiator (not sure if it is supposed that, but for now it is).
1265 Removed extraneous CollectSupportingTokens().
1266 * SecureMessageDecryptor.cs : implemented supporting token
1267 authentication (partly). "Signed" supporting tokens are expected
1270 2007-02-06 Atsushi Enomoto <atsushi@ximian.com>
1272 * SecureMessageGenerator.cs :
1273 make SignBeforeEncryptAndEncryptSignature working.
1275 2007-02-06 Atsushi Enomoto <atsushi@ximian.com>
1277 * SecureMessageGenerator.cs : EncryptedKeySHA1 needs key hash, not
1278 the key itself. ProtectionToken is WrappedKey.
1279 * SecureMessageDecryptor.cs : now it is internal encrypted key clause,
1280 not EncryptedKeyIdentifierClause which is not for embedded key.
1281 * MessageProperties.cs : Fixed copy direction in CopyProperties().
1283 2007-02-05 Atsushi Enomoto <atsushi@ximian.com>
1285 * MessageSecurityBindingSupport.cs : added DefaultKeyWrapAlgorithm
1286 to switch asymmetric and symmetric. Not used yet.
1287 * SecurityRequestChannel.cs : now it pass the request security
1288 property to reply receiver so that it could use the primary key
1289 used at request phase.
1290 * SecurityRequestContext.cs : now it pass the context itself to
1291 reply sender so that it could embed related MessageID.
1292 * SecureMessageGenerator.cs : ongoing changes to support symmetric
1293 binding element. Add RelatesTo output and remove MessageID when
1294 replying to the sender. Added some hacks to get symmetric binding
1296 * SecureMessageDecryptor.cs : ditto. Handle embedded encryption key
1297 in SecurityTokenReference (it also involved existing encrypted key
1298 retrieval). In reply receiver, reuse the key that was used at
1299 request phase. It needs significant token resolution refactoring.
1301 2007-02-02 Atsushi Enomoto <atsushi@ximian.com>
1303 * MessageSecurityBindingSupport.cs : cosmetic refactoring.
1304 * SecureMessageDecryptor.cs : store token and its authentication
1305 policies into the security property, and reuse it on reply.
1306 Some code refactoring; there is at most one o:Security to solve at
1307 one endpoint (depends on Actor). Some attempt to use correct
1308 token parameters (but for now I have only samples that use x509).
1309 * SecureMessageGenerator.cs : For replying message, use initiator's
1310 signing token as the encryption token. Simply reuse security
1311 property from the input message.
1313 I have some nasty workaround at decryptor for initiator that could
1314 not retrieve decryption key.
1316 2007-02-02 Atsushi Enomoto <atsushi@ximian.com>
1318 * SecureMessageGenerator.cs, SecurityChannelListener.cs,
1319 SecurityRequestContext.cs, MessageSecurityBindingSupport.cs:
1320 several refactoring on token acquisition. Large part of
1321 MessageSecurityBindingSupport code is unified.
1323 2007-02-02 Atsushi Enomoto <atsushi@ximian.com>
1325 * MessageProperties.cs : Security property should be one of the items.
1326 Actually many other properties should be similar as well.
1327 * MessageImpl.cs, MessageBufferImpl.cs, Message.cs :
1328 when copying a message, copy properties as well.
1329 * SecurityRequestContext.cs : on replying, pass input
1330 SecurityMessageProperty to the security generator.
1331 * SecureMessageGenerator.cs : both of above, for SignatureConfirmation
1333 * WSSecurityMessageHeader.cs : fixed lazy .ctor() that did nothing.
1335 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
1338 MessageHeader.cs, Message.cs, WSSecurityMessageHeader.cs,
1339 SecureMessageDecryptor.cs, SecureMessageGenerator.cs:
1340 use new WSSignedXml instead of SignedXml, and remove coexisting
1341 Id and wsu:Id. Now we can live only with wsu:Id and therefore
1342 - our reply messages could be consumed by .NET, and
1343 - .NET signature could be verified.
1345 2007-02-01 Atsushi Enomoto <atsushi@ximian.com>
1347 * SecureMessageDecryptor.cs : The signing key must be passed as
1348 CheckSignature() argument, not SigningKey.
1350 2007-01-31 Atsushi Enomoto <atsushi@ximian.com>
1352 * MessageImpl.cs : don't read attribute after ReadStartElement().
1354 2007-01-31 Atsushi Enomoto <atsushi@ximian.com>
1356 * MessageSecurityBindingSupport.cs : some Release() refactoring.
1357 * SecureMessageGenerator.cs : use correct signing key clause for
1358 SecurityTokenReferenceKeyInfo to be serialized.
1359 * SecureMessageDecryptor.cs : now it can try to parse signature.
1361 2007-01-31 Atsushi Enomoto <atsushi@ximian.com>
1363 Ongoing changes to support signature confirmation
1364 * SecureMessageGenerator.cs :
1365 Don't output ReplyTo onto reply message.
1366 Write SignatureConfirmation if needed.
1367 * SecureMessageDecryptor.cs :
1368 Some refactoring for header cunsumption. Added commented-out
1369 signature verification part (not working yet, on client side due
1370 to incorrect reply from service and insufficient clause reader).
1371 * WSSecurityMessageHeader.cs :
1372 Added SignatureConfirmation support.
1373 KeyInfoClause for o:SecurityTokenReference should be replaced with
1374 SecurityTokenReferenceKeyInfo.
1376 2007-01-29 Atsushi Enomoto <atsushi@ximian.com>
1378 * SecureMessageGenerator.cs : support Timestamp signature.
1379 Removed unused code, and extra argument in CreateReference().
1380 * WSSecurityMessageHeader.cs : Timestamp also needs Id for SignedXml.
1382 2007-01-29 Atsushi Enomoto <atsushi@ximian.com>
1384 * SecureMessageGenerator.cs :
1385 Several fixes to make asymmetric binding working:
1386 - Differentiate signing and encryption token in several areas.
1387 - Fixed signing keyinfo.
1389 Added initial SecurityMessageProperty handling, not sure if it is
1390 appropriate here though.
1391 * HttpRequestChannel.cs : (some debugging lines)
1393 2007-01-26 Atsushi Enomoto <atsushi@ximian.com>
1395 Woohoo! Here is a very basic WS-Security compliant message which could
1396 be allowed by Indigo.
1397 * MessageHeader.cs : added Id support for writing.
1398 * Message.cs : added internal BodyId for signature reference.
1399 * MessageImpl.cs : write Body Id if required.
1400 * SecureMessageGenerator.cs : Before signing, the target elements must
1401 be given wsu:Id. Since I still use System.Security.dll, I need some
1402 trick for signing (I give both Id and wsu:Id, former to sign and
1403 latter to be consumed). Maybe I will have to replace xmldsig/xmlenc
1404 implementation later. Now singning mechanism works except for
1405 wsu:Timestamp (which is kind of mandatory).
1407 I can's still consume replies from Indigo but it's a big progress :)
1409 2007-01-26 Atsushi Enomoto <atsushi@ximian.com>
1411 * MessageHeaderInfo.cs : added internal Id.
1412 * MessageHeader.cs : read and write wsu:Id.
1413 * Message.cs : output wsu namespace if Id exists in any header.
1414 * HttpReplyChannel.cs : (some debugging lines.)
1415 * SecureMessageDecryptor.cs : (remove debugging lines.)
1416 * MessageImpl.cs : removed obsolete code.
1417 * WSSecurityMessageHeader.cs : output "o" prefix.
1418 * SecureMessageGenerator.cs : replaced XmlElement-based header
1419 signing with MessageHeader-based signing, to support Id correctly.
1421 2007-01-15 Atsushi Enomoto <atsushi@ximian.com>
1423 * SecureMessageGenerator.cs : some more refactoring and code comments.
1424 * MessageSecurityUtility.cs : made decryptor into an instance class,
1425 like I've done for SecureMessageGenerator.
1426 * SecurityRequestContext.cs, SecurityRequestChannel.cs :
1427 dependent changes for above.
1429 2007-01-12 Atsushi Enomoto <atsushi@ximian.com>
1431 * SecureMessageGenerator.cs : fixed derived keysize. derived key was
1432 causing NRE due to the lack of token reference.
1433 No need to pass doc to SignedXml.ctor() anymore.
1434 Moved ReferenceList before the signature(s).
1436 2007-01-12 Atsushi Enomoto <atsushi@ximian.com>
1438 * SecureMessageGenerator.cs : add wsu:Timestamp to signing target.
1439 Moved signing key generation code to non-HMACSHA1 signing part.
1440 Don't try to sign wss:Security.
1441 Pass document itself to SignedXml.ctor().
1442 Use temporary DataObjects to avoid adding Ids (not sure what is the
1443 expected processing yet).
1444 * WSSecurityMessageHeader.cs : to support timestamp signing, add
1445 WriteTo() method in WsuTimestamp.
1447 2007-01-12 Atsushi Enomoto <atsushi@ximian.com>
1449 * SecureMessageGenerator.cs : wrong key was used for signing.
1450 Omit KeyInfo for now - it seems that .net (sometimes?) omits it.
1452 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1454 * SecureMessageGenerator.cs :
1455 Now ID generation process does not modify input message.
1456 Moved derived key generation part into (virtual) signing loop.
1457 MessagePartSpecification support for signing is done.
1459 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1461 * SecureMessageGenerator.cs : some reordering to handle signing and
1462 encryption with supporting tokens. Fixed XPath query bug for
1463 soap header contents (we want s:Header/*, not s:Header).
1465 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1467 * MessageSecurityBindingSupport.cs : more refactoring.
1468 Made it abstract and added Initiator- and Recipient- classes.
1469 Several members were moved to those derived types.
1470 * AsymmetricSecurityBindingElement.cs,
1471 SymmetricSecurityBindingElement.cs
1472 SecurityChannelFactory.cs, SecurityChannelListener.cs,
1473 SecurityRequestChannel.cs, SecurityOutputChannel.cs,
1474 SecurityRequestContext.cs, SecureMessageGenerator.cs :
1475 All dependent changes by above. Removed ISecurityChannelSource
1476 which became useless.
1478 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1480 * SecureMessageGenerator.cs : encryption parts should exist too.
1481 * AsymmetricSecurityBindingElement.cs
1482 SymmetricSecurityBindingElement.cs,
1483 MessageSecurityBindingSupport.cs : some refactoring.
1484 Split MessageSecurityBindingSupport into security binding element
1485 specific parts and made MessageSecurityBindingSupport concrete.
1486 It is likely split again, next time based on initiator/recipient.
1488 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1490 * MessageSecurityUtility.cs, SecureMessageGenerator.cs :
1491 split encryptor part in the former file into latter file, and
1493 * SecurityRequestChannel.cs, SecurityOutputChannel.cs,
1494 SecurityRequestContext.cs : apply the change above.
1496 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1498 * MessageSecurityBindingSupport.cs :
1499 Fixed incorrect TrgGetValue() use.
1500 Added CollectRecipientSupportingTokens().
1502 2007-01-11 Atsushi Enomoto <atsushi@ximian.com>
1504 * MessageSecurityUtility.cs: acctually ReferenceList was inside
1505 EncryptedKey. So, when a key itself is used to encrypt data,
1506 ReferenceList is contained by itself.
1507 * MessageSecurityBindingSupport.cs :
1508 added CollectInitiatorSupportingTokens().
1510 2007-01-10 Atsushi Enomoto <atsushi@ximian.com>
1512 * MessageSecurityUtility.cs: it should support ReferenceList-less
1515 2007-01-10 Atsushi Enomoto <atsushi@ximian.com>
1517 * WSSecurityMessageHeader.cs : reverted previous unnecessary change.
1518 * MessageSecurityUtility.cs : there already was uuid.
1520 2007-01-09 Atsushi Enomoto <atsushi@ximian.com>
1522 * MessageSecurityUtility.cs : replaced EncryptedKey with
1523 WrappedKeySecurityToken, which seems to be in actual use in .net.
1524 * WSSecurityMessageHeader.cs : added internal Guid so that it
1525 could be shared between header items.
1527 2006-12-14 Atsushi Enomoto <atsushi@ximian.com>
1529 * HttpRequestContext.cs, TextMessageEncoder.cs :
1530 some null arg check.
1532 2006-12-08 Atsushi Enomoto <atsushi@ximian.com>
1534 * MessageSecurityUtility.cs : reducing DOM dependency. Use KeyInfoNode
1535 for SecurityTokenReference resolution.
1537 2006-12-08 Atsushi Enomoto <atsushi@ximian.com>
1539 * MessageSecurityUtility.cs : fixed EncryptedData decryption to
1540 consider DerivedKeyTokens correctly.
1541 When creating LocalId, don't add '#' here.
1543 2006-12-07 Atsushi Enomoto <atsushi@ximian.com>
1545 * MessageSecurityUtility.cs :
1546 handle key mapping for each wsse:Security.
1548 2006-12-07 Atsushi Enomoto <atsushi@ximian.com>
1550 * WSSecurityMessageHeader.cs : use prefix "c" for ws-secureconv.
1552 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1554 * WSSecurityMessageHeader.cs : write top-level ReferenceList in
1556 * MessageSecurityUtility.cs :
1557 Now ReferenceList is placed under wsse:Security as WS-Security 1.1
1558 suggests, and it is used to dereference decryption targets.
1559 Now it premises multiple wsse:Security elements to read.
1561 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1563 * WSSecurityMessageHeader.cs : don't write o:SecurityTokenReference
1564 manually (and actually the namespace URI was wrong).
1566 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1568 * WSSecurityMessageHeader.cs : improved DerivedKeyToken writing
1570 * MessageSecurityUtility.cs : DerivedKeyToken creation.
1572 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1574 * SecurityBindingElement.cs,
1575 SymmetricSecurityBindingElement.cs,
1576 AsymmetricSecurityBindingElement.cs :
1577 implemented SetKeyDerivation().
1579 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1581 * MessageSecurityUtility.cs : don't add KeyInfoClause to EncryptedKey
1584 2006-12-06 Atsushi Enomoto <atsushi@ximian.com>
1586 * MessageBufferImpl.cs : XmlReader-based buffer is not possible, so
1589 2006-12-05 Atsushi Enomoto <atsushi@ximian.com>
1591 * MessageSecurityUtility.cs : u:Timestamp will be encrypted/signed,
1592 thus move it in front of encryption/signing.
1594 2006-12-04 Atsushi Enomoto <atsushi@ximian.com>
1596 * TransactionFlowBindingElement.cs : OnOpen()/OnClose() should not
1597 check state by themselves (btw it's not really working).
1598 * HttpChannelListener.cs : If the url does not end with '/' add it
1599 so that it could be fed to HttpListener.
1601 2006-12-04 Atsushi Enomoto <atsushi@ximian.com>
1603 * HttpChannelFactory.cs : check scheme on CreateChannel.
1604 * MessageHeader.cs : finish IsMessageVersionSupported().
1606 2006-12-04 Atsushi Enomoto <atsushi@ximian.com>
1608 * FaultConverter.cs : new file, not used yet though.
1610 2006-10-21 Atsushi Enomoto <atsushi@ximian.com>
1612 * SvcHttpHandler.cs : set GET URL to ServiceMetadataBehavior.
1614 2006-10-20 Atsushi Enomoto <atsushi@ximian.com>
1616 * SvcHttpHandler.cs : once AspNetReplyChannel get working with HTTP
1617 GET as well as HttpReplyChannel, configuration would be ready now.
1619 2006-10-18 Ankit Jain <jankit@novell.com>
1621 * TextMessageEncoder.cs (MediaType): Use 'application/soap+xml' for
1622 EnvelopeVersion.Soap12 and 'text/xml' for others.
1623 * HttpReplyChannel.cs (TryReceiveRequest): Revert earlier patch for GET
1625 Strip '?' from the query string.
1627 2006-10-13 Ankit Jain <jankit@novell.com>
1629 * MessageVersion.cs (None): Set AddressingVersion.None
1631 2006-10-12 Atsushi Enomoto <atsushi@ximian.com>
1633 * SvcHttpHandler.cs : added config-based endpoint addition code.
1634 Though due to some weird bug in mono-core it does not seem to work,
1635 so commented out for now.
1636 * HttpReplyChannel.cs : handle wsdl query parameter. btw creating
1637 mex request message might just be wrong.
1638 Use expected MessageVersion by the channel.
1639 * AspNetReplyChannel.cs : ditto. Plus, HTTP GET support.
1641 2006-10-12 Atsushi Enomoto <atsushi@ximian.com>
1643 * MessageSecurityBindingSupport.cs : added DefaultSignatureAlgorithm
1644 which differs depending on whether it is asymmetric or symmetric.
1645 * SecurityRequestChannel.cs, SecurityRequestContext.cs :
1646 simplify SecureMessage() and DecryptMessage() arguments (just
1647 take MessageSecurityBindingSupport instead of several parameters).
1648 * MessageSecurityUtility.cs :
1649 - simplify SecureMessage() and DecryptMessage() arguments (just
1650 take MessageSecurityBindingSupport instead of several parameters).
1651 - Take token inclusion mode into account. Don't include them when
1652 it is not expected. Also, change the token reference style.
1653 - add wsa:MessageID to the headers.
1654 - For hmac-sha1 signing (default for symmetric binding), use
1655 symmetric key created for encryption as well to create HMACSHA1.
1656 - add Id to wsu:Timestamp.
1657 - start to handle SecurityMessageProperty.
1658 * WSSecurityMessageHeader.cs :
1659 Added Id to WsuTimestamp. Also use prefixes for its XML output.
1660 Changed date format.
1662 2006-10-06 Atsushi Enomoto <atsushi@ximian.com>
1664 * CommunicationObject.cs : reject faulted state on Open()/Close().
1665 * MessageHeaders.cs : removed extra fields.
1667 2006-10-06 Ankit Jain <jankit@novell.com>
1669 * HttpReplyChannel.cs (TryReceiveRequest): Handle HTTP GET.
1671 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
1673 * MessageSecurityUtility.cs, SecurityRequestContext.cs :
1674 added some FIXMEs and additional arg.
1676 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
1678 * MessageSecurityUtility.cs : remove duplicate Action header.
1680 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
1682 * MessageFault.cs : partly implemented CreateFault(Message, int).
1683 * Message.cs, MessageImpl.cs, MessageBufferImpl.cs :
1684 handle IsFault correctly in each implementation.
1686 2006-10-04 Ankit Jain <jankit@novell.com>
1688 * HttpRequestChannel.cs (ProcessRequest): Read till the end.
1690 2006-10-04 Ankit Jain <jankit@novell.com>
1692 * HttpRequestChannel.cs (ProcessRequest): Temporary workaround for a bug
1693 in WebConnectionStream.
1695 2006-10-04 Ankit Jain <jankit@novell.com>
1697 * MessageHeaders.cs (To): Use GetHeader<string> till
1698 DataContractSerializer gets ISerializable support.
1699 * CustomBinding.cs (.ctor): Get scheme from TransportBindingElement.
1701 2006-10-04 Ankit Jain <jankit@novell.com>
1703 * ServiceHostParser.cs (Parse):
1704 (Split): Add some error checks.
1706 2006-10-03 Atsushi Enomoto <atsushi@ximian.com>
1708 * SslStreamSecurityBindingElement.cs : updated API to Sep. CTP.
1709 * StreamUpgradeAcceptor.cs : Fix AcceptUpgrade().
1710 * SslStreamSecurityUpgradeProvider.cs,
1711 SslStreamSecurityUpgradeAcceptor.cs :
1712 new files for Ssl upgrade provider implementation.
1713 * MessageSecurityUtility.cs :
1714 Create proper C14NTransform. Don't use enveloped signature
1715 transform but sign every significant bits. On securing messages
1716 use ChannelProtectionRequirements.
1717 * SecurityRequestContext.cs : pass ChannelProtectionRequirements to
1719 * MessageEncoder.cs : fix API (missing constraint).
1720 * WSSecurityMessageHeader.cs : it is MustUnderstand.
1721 * StreamUpgradeProvider.cs : API fix and implemented .ctor().
1722 * AsymmetricSecurityBindingElement.cs : default protection order is
1723 SignBeforeEncryptAndEncryptSignature.
1725 2006-09-29 Ankit Jain <jankit@novell.com>
1727 * SvcHttpHandlerFactory.cs (GetTypeFromSvc): Extract and move code to
1728 ServicHostParser and use that here.
1729 (PrivateBinPath): New.
1730 (GetTypeFromBin): New. Load assembly from PrivateBinPath.
1731 (RemovedCallback): Remove and close the SvcHttpHandler when its
1732 corresponding file (.svc) changes.
1733 * SvcHttpHandler.cs (Close): New. Close the ServiceHost.
1735 * ServiceHostParser.cs : New.
1736 * CachingCompiler.cs : New. Code extracted from
1737 System.Web.Compilation.CachingCompiler
1738 * CompilationException.cs : New. From System.Web.Compilation
1739 * HtmlizedException.cs : New. Likewise.
1741 2006-09-29 Atsushi Enomoto <atsushi@ximian.com>
1743 * MessageSecurityBindingSupport.cs : For client side, it is always
1744 InitiatorServiceModelSecurityTokenRequirement which should be
1745 created. Fixed wrong client encryption key acquisition.
1747 2006-09-29 Atsushi Enomoto <atsushi@ximian.com>
1749 * SecurityChannelListener.cs, SecurityRequestContext.cs,
1750 MessageSecurityBindingSupport.cs : made similar changes as factories
1751 to listener so that session channels and input channels would work.
1752 Added authenticator creation.
1754 2006-09-29 Atsushi Enomoto <atsushi@ximian.com>
1756 * Binding.cs : added missing members.
1758 2006-09-28 Atsushi Enomoto <atsushi@ximian.com>
1760 * SecurityRequestChannel.cs, SecurityOutputChannel.cs,
1761 MessageSecurityUtility.cs, MessageSecurityBindingSupport.cs :
1762 reduce code duplication between request and output channels.
1763 The common parts are now in MessageSecurityBindingSupport.
1764 Now reduced several arguments in SecureMessage() for client.
1766 2006-09-28 Atsushi Enomoto <atsushi@ximian.com>
1768 * ChannelFactoryBase.cs : implemented ValidateCreateChannel().
1770 2006-09-28 Atsushi Enomoto <atsushi@ximian.com>
1772 * AsymmetricSecurityBindingElement.cs,
1773 SecurityChannelListener.cs,
1774 SecurityRequestContext.cs,
1775 SymmetricSecurityBindingElement.cs,
1776 SecurityRequestChannel.cs,
1777 SecurityOutputChannel.cs,
1778 SecurityChannelFactory.cs,
1779 MessageSecurityBindingSupport.cs : 1) Refactoring.
1780 IMessageSecurityBindingSupport now becomes a class and contains
1781 all the members which resided in ISecurityChannelSource.
1782 Now it takes more constructor params.
1783 Made dependent changes on all sources above.
1785 2) Added SecurityTokenAuthenticator creation in
1786 SecurityRequestChannel (SecurityOutputChannel should do the same).
1788 2006-09-27 Atsushi Enomoto <atsushi@ximian.com>
1790 * SecurityRequestChannel.cs : ongoing improvements on conditional
1791 key creation. Actually there must be some part that creates an
1792 authenticator (WinFX does that).
1794 2006-09-27 Ankit Jain <jankit@novell.com>
1796 Add suport for handling .svc files.
1797 * SvcHttpHandlerFactory.cs: New.
1798 * SvcHttpHandler.cs: New.
1800 * HttpChannelListener.cs (PopulateChannel): Use AspNetReplyChannel if in
1801 asp.net environment.
1802 (OnOpen): Do nothing in asp.net environment.
1803 (OnClose): Likewise.
1804 * HttpReplyChannel.cs (HttpRequestContext): Move to ..
1805 * HttpRequestContext.cs: .. here.
1807 * AspNetReplyChannel.cs: New.
1808 * AspNetRequestContext.cs: New.
1810 2006-09-26 Atsushi Enomoto <atsushi@ximian.com>
1812 * MessageSecurityUtility.cs :
1813 Significantly rewritten decryption parts to respect ReferenceList
1814 to decrypt (so no workaround anymore).
1815 Now e:ReferenceList inside o:Security is treated as the referenced
1816 EncryptedType items are encrypted by 1) the derived key which is
1817 immediately in front of it, or 2) the default key (it is according
1818 to WS-SecureConversation section 9.1). Thus removed immediately
1819 previous hack to auto-fill wsu:Id attributes.
1821 On securing a message, generate correct Id and add DataReference
1822 to ReferenceList properly.
1824 2006-09-26 Atsushi Enomoto <atsushi@ximian.com>
1826 * WSSecurityMessageHeader.cs : handle ReferenceList. It is being
1829 2006-09-26 Atsushi Enomoto <atsushi@ximian.com>
1831 * WSSecurityMessageHeader.cs : handle DerivedKeyToken as a header content.
1832 Actually WSSecurityTokenSerializer should be able to consume it, but after
1833 spending a lot of time I still cannot successfully read it on WinFX.
1834 Skip ReferenceList for now.
1835 * MessageSecurityUtility.cs :
1836 Replaced some string literals with constants.
1837 Added some workaround for DerivedKeyToken retrieval.
1838 WinFX somehow sends incomplete ISO10126 padding which contains
1839 bigger number than the key size and is rejected by EncryptedXml,
1840 so added DecryptLax() which processes such ones in PaddingMode.None
1841 to workaround it (only for cross-connection between mono and winfx).
1842 Added some incomplete implicit wsu:Id processing.
1843 Don't try to replace SignedXml with EncryptedData. It is not added
1844 to the document tree.
1846 2006-09-25 Atsushi Enomoto <atsushi@ximian.com>
1848 * MessageSecurityUtility.cs : support message signature encryption. Some
1851 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
1853 * SecurityBindingElement.cs : implement Clone(). Remove some MonoTODOs.
1855 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
1857 * MessageSecurityUtility.cs : fix warnings.
1859 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
1861 * MessageSecurityUtility.cs : actually there would be more than one
1862 EncryptedData. Decrypt all.
1864 2006-09-22 Atsushi Enomoto <atsushi@ximian.com>
1866 * MessageSecurityUtility.cs : supply correct URIs in SecureMessage().
1867 Use ISO10126 padding mode (it is not required but in manner).
1869 2006-09-21 Atsushi Enomoto <atsushi@ximian.com>
1871 * MessageSecurityUtility.cs : now that EncryptedXml decryption bug is
1872 fixed, remove 16 bytes workaround (we still need encryption bugfix in
1873 that class to make it work fine with mono client).
1874 Removed buggy lines that reset decryption key to AES.
1875 Modified GetKey() argument to take EncryptedData/EncryptedKey element.
1876 * WSSecurityMessageHeader.cs :
1877 (SecurityTokenReferenceKeyInfo) support LoadXml.
1879 2006-09-20 Atsushi Enomoto <atsushi@ximian.com>
1881 * TransactionMessageProperty.cs : new file.
1883 2006-09-20 Atsushi Enomoto <atsushi@ximian.com>
1885 * ChannelPoolSettings.cs, OneWayBindingElement.cs : build fix, as
1886 gmcs happened to report wrong code.
1888 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1890 * SecurityChannelFactory.cs, SecurityChannelListener.cs :
1891 .ctor() now requires ChannelProtectionRequirements which will be
1892 supplied via BindingParameterCollection.
1893 * SymmetricSecurityBindingElement.cs,
1894 AsymmetricSecurityBindingElement.cs : thus add
1895 ChannelProtectionRequirement parameter to factory/listener.
1896 * SecurityRequestChannel.cs : use recipient token requirement to
1897 create an encryption token. Thus differentiate the logic from
1898 signing (initiator) token.
1900 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1902 * SymmetricSecurityChannelFactory.cs, SecurityChannelFactory.cs :
1903 renamed former to latter.
1904 * SymmetricSecurityChannelListener.cs, SecurityChannelListener.cs :
1907 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1909 * MessageSecurityBindingSupport.cs : new internal types to commonize
1910 AsymmetricSecurityBindingElement and SymmetricSecurityBindingElement
1911 and thus make internal factory and listener reusable.
1912 * SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs,
1913 SecurityRequestChannel.cs, SecurityOutputChannel.cs,
1914 SymmetricSecurityChannelListener.cs : rewrote dependent parts on
1915 SymmetricSecurityBindingElement, using the new types above.
1916 * SymmetricSecurityBindingElement.cs :
1917 Use SymmetricMessageSecurityBindingSupport.
1918 * AsymmetricSecurityBindingElement.cs :
1919 thus implemented, using AsymmetricMessageSecurityBindingSupport.
1921 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1923 * ChannelFactoryBase.cs : more RC1 update.
1925 2006-09-19 Atsushi Enomoto <atsushi@ximian.com>
1927 * MessageEncoder.cs, BinaryMessageEncoder.cs, MtomMessageEncoder.cs,
1928 TextMessageEncoder.cs : updated ReadMessage() API to RC1.
1929 * ChannelListenerBase.cs, ChannelListenerBase_1.cs,
1930 ChannelBase.cs : RC1 API updates.
1931 * MessageImpl.cs : implemented Properties.
1932 * HttpReplyChannel.cs : added HttpRequestMessageProperty support.
1934 2006-09-18 Ankit Jain <jankit@novell.com>
1936 * MessageHeaders.cs (MessageId):
1937 (RelatesTo): UniqueId is not serializable, serialize it as a string.
1939 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
1941 * ChannelParameterCollection.cs : new file.
1942 * LayeredOutputChannel.cs, SecurityOutputChannel.cs :
1943 new files for IOutputChannel implementation.
1944 * OneWayBindingElement.cs : hacky implementation.
1945 * SymmetricSecurityChannelFactory.cs : support IOutputChannel.
1946 * MessageSecurityUtility.cs : now create identifier from the security
1947 token and the token parameters which is added as an argument.
1948 * SecurityRequestContext.cs,
1949 SecurityRequestChannel.cs : SecureMessage() argument changes.
1950 Set MessageSecurityVersion (SecurityTokenVersion) to the token
1953 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
1955 * HttpRequestChannel.cs : close the HttpWebRequest.
1957 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
1959 * HttpRequestChannel.cs,
1960 HttpChannelFactory.cs : implement async request/reply.
1961 * HttpChannelFactory.cs :
1962 verify factory state when creating a channel.
1964 2006-09-17 Atsushi Enomoto <atsushi@ximian.com>
1966 * MessageEncoder.cs, TextMessageEncoder.cs, MtomMessageEncoder.cs,
1967 BinaryMessageEncoder.cs : added message version mismatch check.
1969 2006-09-15 Atsushi Enomoto <atsushi@ximian.com>
1971 * SymmetricSecurityChannelListener.cs, SecurityRequestContext.cs :
1972 Making incomplete changes to handle different tokens for encryption
1974 * SymmetricSecurityChannelFactory.cs, SecurityRequestChannel.cs :
1975 split channel implementation classes out to the latter file.
1976 * MessageSecurityUtility.cs : seems like there is
1977 TimeStampValidityDuration property, so use it (incomplete; a server
1978 needs another love).
1980 2006-09-12 Atsushi Enomoto <atsushi@ximian.com>
1982 * MessageSecurityUtility.cs, SymmetricSecurityChannelFactory.cs,
1983 SecurityRequestContext.cs : now that we have key identifier clause
1984 and working ResolveKeyIdentifierClause(), just create keys inside
1985 SecureMessage(). Add KeyInfo to the xmldsig.
1987 2006-09-12 Atsushi Enomoto <atsushi@ximian.com>
1989 * SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs :
1990 pass SecurityKeyIdentifierClause to SecureMessage().
1991 * SecurityBindingElement.cs : set X509ReferenceStyle as Thumbprint
1992 for IssuedToken binding element.
1993 * SymmetricSecurityChannelListener.cs : removed hack to just create
1994 X509 security token, and implemented correct token creation.
1995 * WSSecurityMessageHeader.cs : added new KeyInfoClause type that
1996 wraps SecurityTokenReference element.
1997 * MessageSecurityUtility.cs : use the above.
1999 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
2001 * MessageSecurityUtility.cs : raise MessageSecurityException when it
2002 could not find a security header.
2003 * SymmetricSecurityChannelFactory.cs : now it also supports
2004 IRequestSessionChannel. Extracted SecurityRequestChannel out from
2007 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
2009 * SecurityRequestContext.cs : moved securing message part to
2010 MessageSecurityUtility.cs.
2011 * MessageSecurityUtility.cs : the change above.
2012 use DateTime.Now for timestamp basis. Don't append signature to
2013 the document. Instead it is added to the header. Capture body
2014 content instead of the body itself.
2015 * SymmetricSecurityChannelFactory.cs : decrypt reply message to
2016 be processed by upper layers.
2018 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
2020 * MessageSecurityUtility.cs, WSSecurityMessageHeader.cs,
2021 SymmetricSecurityChannelListener.cs,
2022 SymmetricSecurityChannelFactory.cs, SecurityRequestContext.cs :
2023 more refactoring. Request serialization became much more conformant
2024 and add required header items.
2025 Security Token retrieval is needed to send it in the request.
2026 Fixed wrong key encryption.
2028 2006-09-07 Atsushi Enomoto <atsushi@ximian.com>
2030 * SecurityRequestContext.cs : the workaround was not functional.
2032 2006-09-07 Atsushi Enomoto <atsushi@ximian.com>
2034 * SecurityRequestContext.cs : some more refactoring. Use EncryptedXml
2035 API, especially ReplaceData(), instead of native crypto stuff.
2036 * WSSecurityMessageHeader.cs : handle dsig:Signature as well (for
2037 MessageProtectionOrder.SignBeforeEncrypt).
2039 2006-09-07 Atsushi Enomoto <atsushi@ximian.com>
2041 * SecurityRequestContext.cs : label should be combined of both
2042 the client's and the server's.
2044 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
2046 * SecurityRequestContext.cs : enable key derivation (though for now
2047 GenerateDerivedKey() is unimplemented). Create meaningful,
2048 decrypted request message to be consumed by the upper layer.
2050 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
2052 * SecurityRequestContext.cs : implement Close() and Reply().
2053 ongoing implementation of Reply(TimeSpan).
2054 * MessageSecurityUtility.cs : new file to collect utility methods.
2055 * SymmetricSecurityChannelFactory.cs : moved securing message code
2057 * SymmetricSecurityChannelListener.cs : tiny renaming.
2059 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
2061 * SecurityRequestContext.cs : security header is also stored.
2063 * WSSecurityMessageHeader.cs : read EncryptedKey and EncryptedData
2066 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
2068 * SymmetricSecurityChannelFactory.cs : tiny progress on securing
2071 2006-09-05 Atsushi Enomoto <atsushi@ximian.com>
2073 * SymmetricSecurityChannelFactory.cs : specify KeyUsage.Exchange
2074 so that it retrieves the security key in that manner.
2076 2006-09-05 Atsushi Enomoto <atsushi@ximian.com>
2078 * Binding.cs : MessageVersion is null when there is no
2079 MessageEncodingBindingElement.
2080 * Message.cs : null arg check.
2082 2006-09-05 Atsushi Enomoto <atsushi@ximian.com>
2084 * ChannelPoolSettings.cs, OneWayBindingElement.cs : new files.
2086 2006-09-04 Atsushi Enomoto <atsushi@ximian.com>
2088 * SymmetricSecurityChannelListener.cs, SecurityRequestContext.cs,
2089 LayeredReplyChannel.cs, LayeredCommunicationObject.cs,
2090 LayeredRequestChannel.cs : some refactoring.
2091 * SymmetricSecurityChannelFactory.cs :
2092 ongoing secure message creation implementation.
2094 2006-09-01 Atsushi Enomoto <atsushi@ximian.com>
2096 * SymmetricSecurityBindingElement.cs :
2097 pass specific ServiceCredentialsSecurityTokenManager type to
2098 SymmetricSecurityChannelListener as it needs ServiceCertificate.
2099 * SymmetricSecurityChannelListener.cs :
2100 get service certificate. It's a temporary hack.
2101 Move RequestContext code to below.
2102 * SecurityRequestContext.cs : new file.
2103 * WSSecurityMessageHeader.cs : implementing Read(), but to finish
2104 it I have to finish decryption of the incoming message.
2106 2006-08-31 Atsushi Enomoto <atsushi@ximian.com>
2108 * MessageImpl.cs : don't write attributes on the first body content
2109 element *on soap Body element*.
2110 * MessageBufferImpl.cs : don't throw ArgumentNullException.
2111 ObjectDisposedException is appropriate.
2112 * MessageHeader.cs : (RawMessageHeader) don't write element itself
2113 in OnWriteHeader*Contents*().
2115 2006-08-31 Atsushi Enomoto <atsushi@ximian.com>
2117 * WSSecurityMessageHeader.cs : new file.
2118 * SymmetricSecurityChannelFactory.cs :
2119 moved WSSecurityHeader and related types to the above.
2120 * SymmetricSecurityChannelListener.cs :
2121 reject SOAP-env-less message.
2123 2006-08-31 Atsushi Enomoto <atsushi@ximian.com>
2125 * SecurityChannelListener.cs, SymmetricSecurityChannelListener.cs :
2126 renamed former to latter.
2127 * SymmetricSecurityChannelFactory.cs :
2128 create requirements every time. It is also likely that I need
2129 another requirement instance to get service credentials here.
2131 2006-08-30 Atsushi Enomoto <atsushi@ximian.com>
2133 * SymmetricSecurityBindingElement.cs : make BuildChannelListener()
2134 similar to BuildChannelFactory() (set credentials, issuer binding
2136 * SecurityChannelListener.cs :
2137 more ongoing security support implementation.
2138 * SymmetricSecurityChannelFactory.cs :
2139 moved GetSecurityKey() to SymmetricSecurityRequestChannel.
2141 2006-08-29 Atsushi Enomoto <atsushi@ximian.com>
2143 * SecurityChannelListener.cs, SymmetricSecurityBindingElement.cs :
2144 Renamed SecurityChannelListener to SymmetricSecurityChannelListener.
2145 Implementation is underway.
2146 * LayeredReplyChannel.cs :
2147 like LayeredRequestChannel, use ChannelListenerBase to provide
2150 2006-08-29 Atsushi Enomoto <atsushi@ximian.com>
2152 * MessageHeader.cs : added another implementation type that uses
2153 XmlElement, for buffering purpose.
2154 * MessageImpl.cs : Header item types are user-driven by
2155 MessageHeader.GetHeader<T>(int), so at storing phase just store
2156 nodes as XmlElement.
2157 * MessageHeaders.cs : avoid dumping XmlNode to string to create
2160 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
2162 * SymmetricSecurityBindingElement.cs : find ClientCredentials from
2163 BindingParameterCollection, not from binding element properties.
2165 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
2167 * SecurityChannelFactory.cs, SymmetricSecurityChannelFactory.cs :
2168 renamed former to latter.
2170 2006-08-25 Atsushi Enomoto <atsushi@ximian.com>
2172 * SecurityBindingElement.cs : SetIssuerBindingContext should also
2173 work for SslSecurityTokenParameters.
2175 2006-08-24 Atsushi Enomoto <atsushi@ximian.com>
2177 * SecurityBindingElement.cs :
2178 Added SetIssuerBindingContextIfRequired().
2179 * SecurityChannelFactory.cs :
2180 Changed .ctor() arg again, just to receive binding element.
2181 * SymmetricSecurityBindingElement.cs :
2182 Call SetIssuerBindingContextIfRequired() in BuildChannelFactory().
2183 SymmetricSecurityChannelFactory .ctor() arg changes.
2184 "ProtectionTokenParameters" is not passed now.
2186 2006-08-23 Atsushi Enomoto <atsushi@ximian.com>
2188 * SymmetricSecurityBindingElement.cs : requirements should be
2189 filled at InitializeSecurityTokenParameters as long as possible.
2190 SymmetricSecurityChannelFactory<T> now does not receive
2191 requirements (it now creates one inside it) at .ctor().
2192 * SecurityChannelFactory.cs : remove requirement argument.
2194 2006-08-23 Atsushi Enomoto <atsushi@ximian.com>
2196 * SymmetricSecurityBindingElement.cs : implemented copy constructor.
2198 2006-08-22 Atsushi Enomoto <atsushi@ximian.com>
2200 * SymmetricSecurityBindingElement.cs :
2201 MessageSecurityVersion property is of type SecurityTokenVersion.
2202 * SecurityBindingElement.cs :
2203 Implemented CreateSecureConversationBindingElement().
2204 For CreateIssuedTokenBindingElement(), ProtectionTokenParameters is
2205 the argument IssuedSecurityTokenParameters itself.
2207 2006-08-22 Atsushi Enomoto <atsushi@ximian.com>
2209 * SymmetricSecurityBindingElement.cs :
2210 CreateSecurityTokenManager() can be directly used now.
2211 Use CallInitializeSecurityTokenRequirement() to fill requirement
2214 2006-08-16 Atsushi Enomoto <atsushi@ximian.com>
2216 * ChannelFactoryBase.cs : GetProperty() is virtual.
2218 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
2220 * SymmetricSecurityBindingElement.cs : in BuildChannelFactory(),
2221 create token manager, token parameters and token requirements,
2222 and fill some requirements.
2223 * TransportBindingElement.cs, HttpTransportBindingElement.cs,
2224 TextMessageEncodingBindingElement.cs : workaround to not throw NIE.
2225 * BindingContext.cs : implemented RemainingBindingElements.
2226 kill "no remaining binding element" error in GetInnerProperty()
2227 * SecurityChannelFactory.cs : now it became
2228 SymmetricSecurityChannelFactory, thus soon to be renamed.
2229 Several ongoing actual security resolution is on.
2231 2006-08-11 Atsushi Enomoto <atsushi@ximian.com>
2233 * CommunicationObject.cs :
2234 add GetCommunicationObjectType() and use it.
2235 * ChannelFactoryBase.cs, ChannelListenerBase_1.cs :
2236 use ThrowIfDisposedOrNotOpen().
2237 * LayeredCommunicationObject.cs : have similar ThrowIf...() methods
2238 to CommunicationObject. Make it IDisposable.
2239 * LayeredRequestChannel.cs : use above.
2240 * SecurityChannelFactory.cs : removed state check as it is done at
2243 2006-08-10 Atsushi Enomoto <atsushi@ximian.com>
2245 * SecurityBindingElement.cs : (CanBuildChannelFactory and
2246 CanBuildChannelListener) directly dispatch to BindingContext.
2247 * SymmetricSecurityBindingElement.cs : require protection token
2248 parameters before building a channel or a listener.
2249 * ChannelFactoryBase.cs : raise an error when a channel is being
2250 created without opening the factory.
2251 * ChannelListenerBase_1.cs : ditto for the listener.
2252 * SecurityChannelFactory.cs : before sending a request, it must be
2255 2006-08-07 Atsushi Enomoto <atsushi@ximian.com>
2257 * MessageBufferImpl.cs : initialize fields.
2258 workaround BufferSize just to return 0.
2259 * MessageImpl.cs : for BodyWriter, don't use DefaultMessageBuffer
2260 which does not support multi time write.
2261 * Message.cs : implemented State.
2263 2006-08-07 Atsushi Enomoto <atsushi@ximian.com>
2265 * Message.cs : OnGetBodyAttribute() cannot return anything unless it
2266 is consuming XmlReader.
2267 Implemented OnCreateBufferedCopy(), to return XPathMessageBuffer.
2268 * MessageBuffer.cs : implemented CreateNavigator().
2269 * MessageBufferImpl.cs : added XPathMessageBuffer class.
2271 I kinda know that MS heavily depends on binary XmlReader and may have
2272 XPathNavigator implementation based on the binary stuff, but at
2273 least for now we have almost no motivation to mimick it.
2275 2006-08-07 Atsushi Enomoto <atsushi@ximian.com>
2277 * SecurityChannelFactory.cs : a bit more of security header code.
2279 2006-08-04 Atsushi Enomoto <atsushi@ximian.com>
2281 * SymmetricSecurityBindingElement.cs :
2282 set default MessageProtectionOrder in every construction.
2284 2006-08-03 Atsushi Enomoto <atsushi@ximian.com>
2286 * LayeredRequestChannel.cs, SecurityChannelFactory.cs :
2287 changed to require ChannelFactoryBase to support default timeout.
2288 Made some methods non-virtual. Preparing code to add security
2289 headers (empty yet).
2290 * SecurityBindingElement.cs : implemented several factory methods
2291 that return SymmetricSecurityBindingElement.
2293 2006-08-02 Atsushi Enomoto <atsushi@ximian.com>
2295 * IStreamUpgradeBindingElement.cs,
2296 StreamUpgradeBindingElement.cs : renamed from former to latter.
2298 2006-08-02 Atsushi Enomoto <atsushi@ximian.com>
2300 * IStreamUpgradeBindingElement.cs : API update, soon to be renamed.
2302 2006-07-31 Ankit Jain <jankit@novell.com>
2304 * MessageHeaders.cs (From): Use Constants.WSA1
2305 (MessageId): Implement the same pattern as other properties (From etc).
2307 2006-07-28 Atsushi Enomoto <atsushi@ximian.com>
2309 * LocalClientSecuritySettings.cs : initialize IdentityVerifier as well.
2310 * SecurityBindingElement.cs : some cosmetic changes.
2312 2006-07-28 Atsushi Enomoto <atsushi@ximian.com>
2314 * SecurityBindingElement.cs : LocalClientSettings and
2315 LocalServiceSettings returns an instance for each.
2316 * LocalClientSecuritySettings.cs : initialized fields.
2318 2006-07-28 Atsushi Enomoto <atsushi@ximian.com>
2320 * LocalClientSecuritySettings.cs : moved from S.SM.Description, and
2321 kinda implemented Clone() just with MemberwiseClone().
2323 2006-07-27 Ankit Jain <jankit@novell.com>
2325 * MessageHeaders.cs (set_To): Use Uri.AbsoluteUri .
2326 * MessageHeader.cs (knownTypes): New. Known type array containing
2328 (CreateHeader): Use knownTypes with the DataContractSerializer .ctor
2330 2006-07-21 Atsushi Enomoto <atsushi@ximian.com>
2332 * LayeredRequestChannel.cs, LayeredReplyChannel.cs,
2333 LayeredCommunicationObject.cs,
2334 SecurityChannelFactory.cs, SecurityChannelListener.cs :
2335 new files to support security channels, though right now they
2336 just pass inner channels through.
2337 * SymmetricSecurityBindingElement.cs : use above.
2339 2006-07-21 Atsushi Enomoto <atsushi@ximian.com>
2341 * AsymmetricSecurityBindingElement.cs,
2342 SymmetricSecurityBindingElement.cs :
2343 Default SecurityTokenParameters is null.
2345 2006-07-20 Atsushi Enomoto <atsushi@ximian.com>
2347 * AsymmetricSecurityBindingElement.cs : remove NotImpl for now.
2349 2006-07-20 Atsushi Enomoto <atsushi@ximian.com>
2351 * Message.cs : When EnvelopeVersion is None, don't write SOAP
2353 * MessageHeader.cs : don't write headers when EnvelopeVersion is None.
2354 * MessageHeaders.cs : When EnvelopeVersion is None, don't output
2355 headers. When AddressingVersion is None, don't output addressing
2356 headers as well, except for Action which is still needed by
2359 2006-07-20 Atsushi Enomoto <atsushi@ximian.com>
2361 * MessageHeaders.cs : changed specific properties to find it from
2362 headers as Action property does (local variables won't be set by
2363 setter). Cache serializers. Check null serializer arguments.
2364 For EndpointAddress, GetHeader<T>() shouldn't use serializer.
2366 2006-07-19 Atsushi Enomoto <atsushi@ximian.com>
2368 * MessageHeader.cs : WriteTo() should treat EndpointAddress to not
2369 use XmlObjectSerializer (since it is not data contract type).
2371 2006-07-18 Atsushi Enomoto <atsushi@ximian.com>
2373 * MessageImpl.cs : Improved ReadHeaders().
2374 For certain header items, use EndpointAddress.ReadFrom().
2376 2006-07-18 Atsushi Enomoto <atsushi@ximian.com>
2378 * AsymmetricSecurityBindingElement.cs :
2379 it is not ISecurityCapabilities anymore.
2381 2006-07-18 Atsushi Enomoto <atsushi@ximian.com>
2383 * MessageVersion.cs : added None.
2385 2006-07-14 Atsushi Enomoto <atsushi@ximian.com>
2387 * Message.cs : GetReaderAtBodyContents() implementation using
2390 2006-07-13 Atsushi Enomoto <atsushi@ximian.com>
2392 * Message.cs : CreateMessage(version,action,xmlReader) incorrectly
2393 used MessageVersion.Default.
2395 2006-07-12 Duncan Mak <duncan@novell.com>
2397 * MessageBuffer.cs (MessageContentType): Return
2398 "application/soap+msbin1".
2400 * MessageImpl.cs (EmptyMessage.OnCreateBufferedCopy):
2401 (SimpleMessage.OnCreateBufferedCopy):
2402 (XmlReaderMessage.OnCreateBufferedCopy): Hook up with the new
2403 MessageBuffer implementations.
2405 * MessageBufferImpl.cs: Concrete implmentations for MessageBuffer.
2406 (DefaultMessageBuffer): Used by EmptyMessage and SimpleMessage.
2407 (XmlReaderMessageBuffer): Used by XmlReaderMessage.
2409 2006-07-12 Atsushi Enomoto <atsushi@ximian.com>
2411 * MessageImpl.cs : Action should be added in request messages. Omit
2412 it only in reply message, thus moved to dispatcher logic.
2414 2006-07-12 Ankit Jain <jankit@novell.com>
2416 * HttpRequestChannel.cs (HttpRequestChannel.Request): Workaround for a
2417 bug in WebConnectionStream.
2418 * MessageHeaders.cs (MessageHeaders.From):
2419 (MessageHeaders.ReplyTo):
2420 (MessageHeaders.To): Add the corresponding MessageHeader on set.
2422 2006-07-11 Atsushi Enomoto <atsushi@ximian.com>
2424 * MessageImpl.cs : when AddressingVersion is None (e.g. POX), don't
2425 add SOAP Action to the response at any time.
2427 2006-07-10 Atsushi Enomoto <atsushi@ximian.com>
2429 * SymmetricSecurityBindingElement.cs,
2430 SecurityBindingElement.cs : They are not ISecurityCapabilities now.
2431 Implemented .ctor() and some properties.
2433 2006-07-10 Atsushi Enomoto <atsushi@ximian.com>
2435 * TransactionFlowBindingElement.cs : new file.
2436 * HttpTransportBindingElement.cs : added missing KeepAliveEnabled.
2438 2006-07-06 Atsushi Enomoto <atsushi@ximian.com>
2441 DefaultAction vanished. CreateFault() now takes bufferSize arg.
2442 * MessageHeaders.cs : ArgumentException -> MessageHeaderException.
2443 * AddressingVersion.cs : added None. Equals() and GetHashCode()
2444 vanished (there is anyways no way to instantiate this type).
2445 * MessageVersion.cs : added Soap11 and Soap12.
2446 * TextMessageEncoder.cs : silly quotation mark wrapper disappeared
2447 in June CTP. goodie.
2449 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2451 * MtomMessageEncoder.cs, BinaryMessageEncoder.cs, Message.cs :
2452 removed some vanished CreateMessage() overloads.
2454 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2456 * CustomBinding.cs, HttpsTransportBindingElement.cs,
2457 HttpTransportBindingElement.cs :
2458 They are not ISecurityCapabilities anymore.
2459 Modified code to match June CTP behavior.
2461 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2463 * StreamSecurityUpgradeProvider.cs : Identity -> EndpointIdentity.
2465 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2467 * EmptyFaultException.cs : removed unused code.
2468 * IRequestContext.cs, RequestContext.cs : renamed former to latter.
2470 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2472 * LayeredChannelFactory.cs : removed obsolete class.
2473 * ChannelFactoryBase.cs, HttpChannelFactory.cs,
2474 ChannelListenerBase.cs, HttpChannelListener.cs,
2475 HttpReplyChannel.cs, ChannelManagerBase.cs :
2476 all those changes were brought by ChannelManagerBase changes.
2478 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2480 * ReplyChannelBase.cs, HttpChannelFactory.cs, ChannelBase.cs
2481 CommunicationObject.cs, HttpChannelListener.cs,
2482 ChannelFactoryBase.cs :
2483 CommunicationObject abstract changes brought this madness.
2485 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2487 * BindingContext.cs : listenUri address parameters could be null in
2490 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2492 * IRequestContext.cs :
2493 Now it became a class. File renaming will follow soon.
2494 * IChannelFactory.cs, IInputChannel.cs, IReplyChannel.cs,
2495 IDuplexChannel.cs, IDuplexSessionChannel.cs,
2496 IOutputChannel.cs, IOutputSessionChannel.cs,
2497 IRequestChannel.cs, IRequestSessionChannel.cs :
2498 They are not IDisposable anymore.
2499 For IReplyChannel, IRequestContext -> RequestContext.
2500 * IChannelListener.cs : removed Identity. Added GetProperty().
2501 * ChannelListenerBase.cs, ChannelListenerBase.cs,
2502 ReplyChannelBase.cs, HttpReplyChannel.cs :
2503 Several members disappeared, and dependent changes.
2504 * HttpTransportBindingElement.cs,
2505 HttpChannelListener.cs, :
2506 ChannelListenerBase.SharedChannelListener vanished.
2508 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
2510 * MessageEncodingBindingElement.cs
2511 MtomMessageEncodingBindingElement.cs,
2512 TextMessageEncodingBindingElement.cs,
2513 BinaryMessageEncodingBindingElement.cs :
2514 June CTP updates: AddressingVersion -> MessageVersion.
2515 * Binding.cs : June CTP. MessageVersion is added.
2516 * ChannelBase.cs, BindingContext.cs, IChannel.cs
2517 ChannelListenerBase_1.cs,
2518 ChannelListenerBase.cs, IChannelListener.cs,
2520 ChannelFactoryBase.cs, ChannelManagerBase.cs :
2521 June CTP. Several interface changes.
2522 * HttpTransportBindingElement.cs : June CTP. HttpMappingMode is gone.
2523 * IChannelManager.cs, LayeredChannelListener.cs,
2524 GenericWrapperChannelFactory.cs,
2525 GenericWrapperChannelListener.cs : They are not used anymore.
2527 2006-07-04 Atsushi Enomoto <atsushi@ximian.com>
2529 * MtomMessageEncoder.cs, BinaryMessageEncoder.cs :
2530 sync fix with June CTP API updates.
2532 2006-07-03 Ankit Jain <jankit@novell.com>
2534 * MessageEncodingBindingElementConverter.cs:
2535 * StandardBindingConverter.cs:
2536 * TransportBindingElementConverter.cs:
2537 * TransactionFlowBindingElementConverter.cs:
2538 * ReliableSessionBindingElementConverter.cs:
2539 * SecurityBindingElementConverter.cs:
2540 Rename *Converter.cs to *Importer.cs
2542 * TransferMode.cs: Move to System.ServiceModel
2544 2006-06-22 Atsushi Enomoto <atsushi@ximian.com>
2546 * CommunicationObject.cs : make sure to change State before
2547 OnClosing/OnClosed/OnOpening/OnOpened when they are overriden.
2549 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
2551 * Message.cs : output WSAddressing xmlns only when Action is
2552 specified (To should be affected, but seems like it is ignored).
2554 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
2556 * MessageImpl.cs : don't set Action when it is null.
2558 2006-06-12 Ankit Jain <jankit@novell.com>
2560 * TransportBindingElementConverter.cs (ImportEndpoint): Implement.
2562 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2564 * SecurityBindingElement.cs, SecurityBindingElementConverter.cs :
2565 some updated API fixes.
2567 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2569 * EnvelopeVersion.cs : moved back to S.SM.
2571 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2573 * IBindingManualAddressing.cs : vanished in beta2.
2574 * HostedTransportConfiguration.cs, EnvelopeVersion.cs,
2575 LocalClientSecuritySettings.cs, LocalServiceSecuritySettings.cs :
2577 * SecurityBindingElement.cs :
2578 SecurityStandardsManager -> SecurityTokenSerializer.
2580 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
2582 * XmlSerializerBodyWriter.cs : new file to handle
2583 TypedMessageConverter.ToMessage().
2585 2006-04-26 Ankit Jain <jankit@novell.com>
2587 * TransportBindingElementConverter.cs (BeforeImport): Remove
2588 NotImplementedException.
2589 (ImportContract): Likewise.
2590 * CustomBinding.cs (.ctor): Use scheme from the binding parameter.
2592 2006-04-14 Atsushi Enomoto <atsushi@ximian.com>
2594 * HttpRequestChannel.cs, HttpChannelFactory.cs : message encoder
2595 being used was not reflecting that of Binding elements.
2597 2006-04-07 Atsushi Enomoto <atsushi@ximian.com>
2599 * HttpReplyChannel.cs : when SOAP action is not set as a header item,
2600 just assume that it is in the message.
2602 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
2604 * HttpReplyChannel.cs : actually HTTP header item might be null.
2606 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
2608 * HttpReplyChannel.cs : under SOAP 1.1 SOAP Action is sent as HTTP
2611 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
2613 * TextMessageEncoder.cs : for SOAP 1.1 content type is text/xml.
2615 2006-04-06 Atsushi Enomoto <atsushi@ximian.com>
2617 * MessageFault.cs : Fixed SOAP12 reason output.
2619 2006-04-05 Atsushi Enomoto <atsushi@ximian.com>
2621 * HttpReplyChannel.cs : no need to set response ContentEncoding since
2622 MessageEncoder.ContentType explicitly contains encoding.
2623 * AddressingVersion.cs : added ActionNotSupported property. Not sure
2624 if it is SOAP version dependent.
2626 2006-03-23 Atsushi Enomoto <atsushi@ximian.com>
2628 * HttpReplyChannel.cs : actually I could just workaround bug #77816.
2630 2006-03-16 Atsushi Enomoto <atsushi@ximian.com>
2632 * HttpChannelFactory.cs BindingContext.cs
2633 HttpChannelListener.cs HttpTransportBindingElement.cs :
2634 Now BindingContext holds MessageEncoder, and non-custom
2635 channel factory/listener should use it.
2636 * MtomMessageEncodingBindingElement.cs
2637 TextMessageEncodingBindingElement.cs
2638 BinaryMessageEncodingBindingElement.cs : BuildChannelFactory()/
2639 -Listener() now sets internal BindingContext.MessageEncoder.
2640 Fixed some public API.
2642 2006-03-15 Atsushi Enomoto <atsushi@ximian.com>
2644 * BindingContext.cs : CanBuildChannelXXX() should not raise error
2645 for insufficient elements.
2646 * DispatchRuntime.cs : OperationDescription name is not action. So
2647 OperationSelector is created by name, not by action.
2648 * TextMessageEncodingBindingElement.cs : Feb. CTP API fixes.
2650 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
2652 * MessageFaultBodyWriter.cs
2653 XmlReaderBodyWriter.cs
2654 XmlObjectSerializerBodyWriter.cs : made internal.
2655 * SecurityBindingElement.cs
2656 AsymmetricSecurityBindingElement.cs
2657 SymmetricSecurityBindingElement.cs : API fixes.
2658 * TransportBindingElementConverter.cs : ditto.
2659 * TextMessageEncodingBindingElement.cs : added set_AddressingVersion.
2660 * WindowsStreamSecurityBindingElement.cs
2661 SslStreamSecurityBindingElement.cs
2662 TransportSecurityBindingElement.cs : new files.
2664 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
2666 * MessageImpl.cs : according to the W3C REC, mustUnderstand when
2667 reading can be any xs:boolean value.
2669 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
2671 * Message.cs MessageImpl.cs : more sorting out the role of each
2673 * MessageHeader.cs : use envelope namespace, not addressing namespace.
2675 2006-03-14 Atsushi Enomoto <atsushi@ximian.com>
2677 * Message.cs : don't write body contents if it is empty.
2678 Moved WriteStartElement(,"Header",) to OnWriteStartHeaders().
2679 * MessageImpl.cs : implemented XmlReaderMessage.OnWriteBodyContents().
2680 * TextMessageEncoder.cs : WriteMessage() should close XmlWriter.
2681 * HttpRequestChannel.cs : close request stream before GetResponse().
2683 2006-03-13 Atsushi Enomoto <atsushi@ximian.com>
2685 * TextMessageEncoderFactory.cs
2686 TextMessageEncoder.cs : encoder does not hold reference to the
2687 factory anymore. Use MessageVersion property in CreateMssage().
2688 * HttpChannelListener.cs : now it holds message encoder.
2689 * HttpReplyChannel.cs : now it uses listener's shared message encoder.
2690 * MessageImpl.cs : header is optional.
2691 * EnvelopeVersion.cs : namespace URI is missing.
2693 2006-03-10 Atsushi Enomoto <atsushi@ximian.com>
2695 * CustomBinding.cs : removed Initialize().
2696 * Message.cs : renamed ForwardingMessage -> XmlReaderMessage.
2697 * MessageImpl.cs : renamed ForwardingMessage to XmlReaderMessage (used
2698 by Message.CreateMessage(MessageVersion,XmlReader,int) and
2699 implemented Headers, IsEmpty and GetReaderAtBodyContents().
2701 2006-03-08 Atsushi Enomoto <atsushi@ximian.com>
2703 * MessageHeaders.cs : implemented GetReaderAtHeader() and Action (it
2704 could be also added by Add() method and could be reset by Remove()).
2705 * MessageImpl.cs : implemented more. As noted above, Now we don't
2706 have to add Action header explicitly.
2707 * MessageHeader.cs : recovered Writer methods and ToString() from
2708 commented old version. Use prefixes for writing.
2709 Use WriteObjectContent() rather than WriteObject() (it needs
2710 DataContractSerializer fix btw).
2712 2006-03-08 Atsushi Enomoto <atsushi@ximian.com>
2714 * MessageHeader.cs : added missing IsReferenceParameter.
2715 * MessageHeaderInfo.cs : added missing IsReferenceParameter.
2716 * MessageHeaders.cs : avoid NullRef when actors is null.
2717 * MessageImpl.cs : (MessageImplBase) add Action header in .ctor().
2718 (ForwardingMessage) reader consumer is being added (not done).
2719 * MtomMessageEncodingBindingElement.cs : simply use Mtom factory.
2720 * MtomMessageEncoder.cs : updated ContentType value to Feb. CTP.
2721 * HttpRequestChannel.cs : this channel automatically call Open()
2722 when Request() is called. Set content length for request.
2723 Use MessageEncoder's ContentType to also handle charset.
2725 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
2727 * MessageImpl.cs : make them internal.
2728 * HttpReplyChannel.cs : set HttpListenerResponse properties correctly.
2730 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
2732 * ChannelManagerBase.cs : cleanup MonoTODO and unused field.
2733 * HttpChannelListener.cs : removed commented line.
2734 * RequestChannelBase.cs : new base class for request channel classes.
2735 * ChannelListenerBase.cs : OnEndClose() is rather NotImplemented yet.
2736 * HttpReplyChannel.cs : WaitHandle accepts limited timeout value.
2737 * Message.cs : default IsEmpty and IsFault false by default.
2738 * LayeredChannelListener.cs : removed Uri (no chance to set).
2739 * ChannelBase.cs : reimplemented timeout properties.
2740 * HttpRequestChannel.cs : now it is mostly based on
2741 RequestChannelBase. Some more attempt to implement Request().
2743 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
2745 * Binding.cs CustomBinding.cs : removed OnApplyConfiguration() and
2746 OnInitialize(). Added more BuildChannelListener() overloads.
2748 2006-03-06 Atsushi Enomoto <atsushi@ximian.com>
2750 * Binding.cs : added some more missing members especially to support
2752 * HttpChannelListener.cs : Uri should not be null.
2753 * HttpTransportBindingElement.cs : implemented
2754 CanBuildChannelFactory() and CanBuildChannelListener().
2755 * ServiceHostBase.cs : make Initialize() practically work at OnOpen().
2757 2006-03-06 Atsushi Enomoto <atsushi@ximian.com>
2759 * Binding.cs : updated default namespace property value to Feb. CTP.
2761 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
2763 * AddressHeader.cs : avoid null reference when value is null.
2764 * BindingContext.cs : check null ListenUri args.
2766 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
2768 * MessageFault.cs : Fixed default action name. Null arg check.
2770 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
2772 * BindingElement.cs : Dequeue elements in BindingContext directly.
2773 * BindingContext.cs : Added GetProperty<T>().
2774 * GenericWrapperChannelFactory.cs GenericWrapperChannelListener.cs :
2775 Now we don't need these extra classes, so marked as deprecated.
2777 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
2779 * Binding.cs : null arg check.
2780 * AddressingVersion.cs : fixed constants to pass the tests.
2781 * BindingElement.cs : tiny meessage fix.
2783 2006-03-02 Atsushi Enomoto <atsushi@ximian.com>
2785 * MessageEncodingBindingElement.cs
2786 BinaryMessageEncodingBindingElement.cs
2787 TextMessageEncodingBindingElement.cs
2788 MtomMessageEncodingBindingElement.cs
2789 MessageEncodingBindingElementConverter.cs : several API fixes.
2790 * BindingElement.cs : now if we use generic wrapper it causes
2791 infinite loop, so for now replace it with most-possible-but-
2794 2006-03-02 Atsushi Enomoto <atsushi@ximian.com>
2796 (back to normal "record-ChangeLogs" mode after the big API change mess)
2797 * HttpTransportBindingElement.cs : fixed minor API differences.
2799 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
2801 * AsymmetricSecurityBindingElement.cs SecurityBindingElement.cs
2802 SymmetricSecurityBindingElement.cs :
2803 Dependent fixes for System.IdentityModel reorgainzation.
2805 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
2807 * InputChannelBase.cs.notused IInputSession.cs IOutputSession.cs
2808 IProxyFormatter.cs WSHttpBindingBase.cs
2809 PnrpPeerResolverBindingElement.cs IMessageHeaderInfo.cs
2810 MessageInterceptorEventArgs.cs WSHttpBinding.cs
2811 WSFederationBinding.cs ISessionChannel.cs
2812 CompositeDuplexBindingElement.cs MessageVersion.cs
2813 MessageHeader.cs IRequestSessionChannel.cs
2814 BindingElementCollection.cs IReplySessionChannel.cs
2815 MessageProperties.cs IDuplexClientChannel.cs
2816 IInputSessionChannel.cs MessageImpl.cs IDuplexSessionChannel.cs
2817 TcpTransportBindingElement.cs EmptyFaultException.cs
2818 IBindingRuntimePreferences.cs AddressHeaderCollection.cs
2819 IStubFormatter.cs AsymmetricSecurityBindingElement.cs
2820 ConnectionOrientedTransportBindingElement.cs
2821 IProxyOperationSelector.cs MessageBuffer.cs IChannel.cs
2822 PeerResolverBindingElement.cs Message.cs
2823 HttpsTransportBindingElement.cs BindingElement.cs
2824 NamedPipetransportBindingElement.cs IBindingManualAddressing.cs
2825 MessageFaultBodyWriter.cs IReplyChannel.cs
2826 IBindingCapabilities.cs AddressHeader.cs IInputChannel.cs
2827 IMessageProperty.cs IOutputChannel.cs NetPeerTcpBinding.cs
2828 IRequestContext.cs IInputSessionShutdown.cs
2829 SecurityBindingElement.cs PeerTransportBindingElement.cs
2830 IDuplexSession.cs IChannelInitializer.cs
2831 IProxyMessageInspector.cs IChannelListener.cs NetTcpBinding.cs
2832 AddressingVersion.cs FaultException.cs
2833 IRequestChannel.cs MtomMessageEncodingBindingElement.cs
2834 TransportBindingElement.cs BinaryMessageEncodingBindingElement.cs
2835 TextMessageEncodingBindingElement.cs IChannelFactory.cs Binding.cs
2836 ITransportBindingElement.cs IChannelManager.cs MessageFault.cs
2837 MessageHeaders.cs IStubMessageInspector.cs UnderstoodHeaders.cs
2838 BindingParameterCollection.cs IInstanceProvider.cs
2839 WSDualHttpBinding.cs ISession.cs IErrorHandler.cs
2840 MessageEncodingBindingElement.cs HttpTransportBindingElement.cs
2841 IDuplexChannel.cs CustomBinding.cs IOutputSessionChannel.cs
2842 MessageContractAttribute.cs SymmetricSecurityBindingElement.cs :
2843 moved from System.ServiceModel due to the API changes.
2845 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
2847 * ChannelFactoryBase.cs ChannelListenerBase.cs HttpChannelFactory.cs
2848 HttpChannelListener.cs HttpRequestChannel.cs
2849 LayeredChannelListener.cs PeerMessagePropagationFilter.cs
2850 PeerNode.cs ReplyChannelBase.cs :
2851 Feb. CTP API changes - chapter 1.
2853 2006-02-15 Atsushi Enomoto <atsushi@ximian.com>
2855 * ChannelBase.cs : OnOpen() and OnClosed() do nothing.
2856 * ReplyChannelBase.cs : now it is based on ChannelBase.
2857 * ChannelListenerBase_1.cs : use DefaultCommunicationTimeouts.Instance
2858 and check null argument in .ctor().
2859 * HttpReplyChannel.cs : several changes.
2860 Non-async members are mostly implemented.
2861 * HttpChannelListener.cs : no need to receive
2862 IDefaultCommunicationTimeouts.
2863 * HttpRequestChannel.cs : maxSizeOfHeaders is used in MessageHeaders
2864 to allocate buffer array and int.MaxValue causes OutOfMemory.
2866 2006-02-15 Atsushi Enomoto <atsushi@ximian.com>
2868 * ClientFramingDecoderState.cs : added missing enum.
2869 * HttpRequestMessageProperty.cs HttpResponseMessageProperty.cs :
2871 * ChannelBase.cs, LayeredChannelListener.cs : tiny API fixes.
2873 2006-02-15 Atsushi Enomoto <atsushi@ximian.com>
2875 * HttpChannelListener.cs : Added GetChannels() and OnClose().
2876 AcceptChannel() has some code now but it needs more love.
2878 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
2880 * CommunicationObject.cs : Close() does not call Begin/EndClose().
2881 * ChannelManagerBase.cs : implemented AbortChannel and CloseChannel.
2882 * ChannelListenerBase.cs : implemented OnAbort and OnClose.
2884 2006-02-10 Atsushi Enomoto <atsushi@ximian.com>
2886 * HttpRequestChannel.cs : close the streams.
2888 HttpChannelListener.cs : renamed from former to latter.
2890 2006-02-09 Atsushi Enomoto <atsushi@ximian.com>
2892 * ReplyChannelBase.cs : new file for IReplyChannel implementations.
2893 * HttpReplyChannel.cs : new file for HTTP IReplyChannel.
2894 * HttpListenerFactory.cs : removed obsolete file.
2895 * HttpListener.cs : hacky WaitForChannel and AcceptChannel.
2896 * ChannelListenerBase_1.cs : implemented virtual stuff.
2897 * CommunicationObject.cs : Open() should not call BeginOpen() and
2898 EndOpen(). Instead, invoke events individually.
2899 * ChannelListenerBase.cs : its Open() is WaitForChannel().
2901 2006-02-08 Atsushi Enomoto <atsushi@ximian.com>
2903 * HttpRequestChannel.cs : call Flush() after serializing message
2906 2006-02-08 Atsushi Enomoto <atsushi@ximian.com>
2908 * HttpRequestChannel.cs : implemented pretty hacky Request().
2910 2006-02-02 Atsushi Enomoto <atsushi@ximian.com>
2912 * HttpRequestChannel.cs : Manager is HttpChannelFactory.
2914 2006-02-01 Atsushi Enomoto <atsushi@ximian.com>
2916 * ChannelFactoryBase.cs : removed some NotImplementedException for
2917 further internal implementation.
2919 2006-01-26 Atsushi Enomoto <atsushi@ximian.com>
2921 * HttpRequestChannel.cs : new file. mostly not implemented.
2922 * HttpChannelFactory.cs : Implemented CanCreateChannel().
2923 Partly implemented CreateChannel().
2925 2006-01-26 Atsushi Enomoto <atsushi@ximian.com>
2927 * HttpChannelFactory.cs : (.ctor())
2928 Don't take ChannelBuildContext.
2930 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2932 * StreamSecurityUpgradeInitiator.cs PeerMessageOrigination.cs
2933 ChannelBase.cs StreamSecurityUpgradeAcceptor.cs
2934 PeerMessagePropagation.cs : updated to Nov. CTP.
2936 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2938 * ChannelListenerBase.cs, ChannelManagerBase.cs,
2939 ChannelListenerBase_1.cs, LayeredChannelListener.cs,
2940 StreamSecurityUpgradeAcceptor.cs,
2941 StreamSecurityUpgradeInitiator.cs :
2942 Updated to Nov. CTP API.
2944 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2946 Now we can rename ListenerFactoryBase.cs to ChannelListenerBase.cs.
2948 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2950 renamed ChannelListenerBase.cs to ChannelListenerBase_1.cs.
2952 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2954 * ChannelBase.cs : tiny filename fix.
2955 * ChannelListenerBase.cs : added more .ctor()s.
2957 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2959 * HttpListenerFactory.cs LayeredChannelListener.cs HttpListener.cs
2960 ListenerFactoryBase.cs ChannelListenerBase.cs :
2961 updated IListener related stuff to Nov. CTP.
2962 file renaming will come soon.
2964 2005-11-21 Atsushi Enomoto <atsushi@ximian.com>
2966 * ListenerBase.cs, ChannelListenerBase.cs :
2967 moved from former to latter.
2968 * LayeredListenerFactory.cs, LayeredChannelListener.cs :
2969 moved from former to latter.
2971 2005-11-20 Atsushi Enomoto <atsushi@ximian.com>
2973 * SessionFaultedException.cs : removed in Nov. CTP
2975 2005-11-20 Atsushi Enomoto <atsushi@ximian.com>
2977 * CommunicationObject.cs : updated to Nov. CTP.
2978 * SessionFaultedException.cs : removed (in Nov. CTP)
2980 2005-11-03 Atsushi Enomoto <atsushi@ximian.com>
2982 * TextMessageEncoder.cs : kinda implemented (untested; Message is not
2985 2005-11-03 Atsushi Enomoto <atsushi@ximian.com>
2987 * MtomMessageEncoder.cs, BinaryMessageEncoderFactory.cs,
2988 TextMessageEncoderFactory.cs, BinaryMessageEncoder.cs,
2989 TextMessageEncoder.cs, MtomMessageEncoderFactory.cs : new files.
2990 * MessageEncoder.cs : largely implemented.
2992 2005-11-02 Atsushi Enomoto <atsushi@ximian.com>
2994 * IRequestReplyCorrelator.cs : new file.
2996 2005-11-02 Atsushi Enomoto <atsushi@ximian.com>
2998 * CommunicationObject.cs : OnClose() and OnError() are not virtual.
2999 * DirectionalAction.cs : implemented IComparable<DirectionalAction>.
3000 * MessageEncoder.cs : added misssing ToString().
3002 2005-11-02 Atsushi Enomoto <atsushi@ximian.com>
3004 * ChannelBehaviorCollection.cs : moved to sys.sm.
3006 2005-10-28 Atsushi Enomoto <atsushi@ximian.com>
3008 * HttpListenerFactory.cs, HttpListener.cs : new files.
3009 * ListenerFactoryBase.cs, ChannelManagerBase.cs,
3010 CommunicationObject.cs, ChannelFactoryBase.cs,
3011 StreamUpgradeProvider.cs, ChannelBase.cs : timeouts are now
3013 * CommunicationObject.cs : Aborted is bool. Added InternalClose()
3014 * ListenerFactoryBase.cs : kinda implemented GetListeners().
3016 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
3018 * ListenerFactoryBase.cs : some implementation.
3020 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
3022 * CommunicationObject.cs : more state fixes.
3024 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
3026 * CommunicationObject.cs : some state machine fixes.
3028 2005-10-26 Atsushi Enomoto <atsushi@ximian.com>
3030 * PeerNode.cs, ChannelManagerBase.cs :
3031 several API fixes detected by improved corcompare.
3033 2005-10-25 Atsushi Enomoto <atsushi@ximian.com>
3035 * LayeredListenerFactory.cs : added missing generic class constraint.
3037 2005-10-25 Atsushi Enomoto <atsushi@ximian.com>
3039 * ListenerFactoryBase.cs,
3040 ListenerBase.cs : class constraints were missing for generic args.
3042 2005-10-24 Atsushi Enomoto <atsushi@ximian.com>
3044 * StreamUpgradeInitiator.cs : tiny API fix.
3046 2005-10-23 Atsushi Enomoto <atsushi@ximian.com>
3048 * PeerMessagePropagationFilter.cs : tiny build fix.
3050 2005-10-23 Atsushi Enomoto <atsushi@ximian.com>
3052 * HttpRequestMessageProperty.cs, HttpResponseMessageProperty.cs :
3053 added Name. fixed StatusCode type.
3054 * StreamSecurityUpgradeInitiator.cs, StreamUpgradeAcceptor.cs,
3055 PeerNode.cs, StreamSecurityUpgradeAcceptor.cs,
3056 StreamUpgradeProvider.cs, StreamUpgradeInitiator.cs,
3057 DirectionalAction.cs, HostedTransportConfiguration.cs,
3058 StreamSecurityUpgradeProvider.cs, SessionFaultedException.cs,
3059 PeerMessagePropagationFilter.cs : added missing files.
3060 * Dummy.cs : removed. MSMQ stuff can be added later.
3062 2005-10-21 Atsushi Enomoto <atsushi@ximian.com>
3064 * DeliveryStatus.cs, DeliveryFailure.cs,
3065 HttpRequestMessageProperty.cs, PeerMessageOrigination.cs,
3066 PeerMessagePropagation.cs, HttpResponseMessageProperty.cs :
3068 * Dummy.cs : removed above.
3070 2005-10-18 Atsushi Enomoto <atsushi@ximian.com>
3072 * ChannelFactoryBase.cs : tiny .ctor() delegation fix.
3074 2005-10-09 Atsushi Enomoto <atsushi@ximian.com>
3076 * MessageEncoderFactory.cs, LayeredListenerFactory.cs,
3077 MessageEncoder.cs, BufferManager.cs : new files.
3078 * Dummy.cs : removed above.
3080 2005-10-09 Atsushi Enomoto <atsushi@ximian.com>
3082 * ChannelBase.cs, ChannelBehaviorCollection.cs : new channel files.
3083 * Dummy.cs : removed above.
3084 * CommunicationObject.cs, ListenerFactoryBase.cs : added missing bits.
3086 2005-10-09 Atsushi Enomoto <atsushi@ximian.com>
3088 * HttpChannelFactory.cs : new file.
3090 2005-10-08 Atsushi Enomoto <atsushi@ximian.com>
3092 * IReplyChannel.cs, IRequestContext.cs, IRequestChannel.cs:
3093 moved to ../System.ServiceModel (correct location).
3094 * ChannelFactoryBase.cs, LayeredChannelFactory.cs, TransferMode.cs:
3095 new files for channels.
3096 * Dummy.cs : reflected above changes.
3097 * ChannelManagerBase.cs : added a bit of code and todos.
3099 2005-10-04 Atsushi Enomoto <atsushi@ximian.com>
3101 * ChannelManagerBase.cs, ListenerBase.cs, ListenerFactoryBase.cs :
3102 added listener support files.
3103 * Dummy.cs : removed above.
3105 2005-10-03 Atsushi Enomoto <atsushi@ximian.com>
3107 * IReplyChannel.cs, IRequestContext.cs, IRequestChannel.cs :
3108 added request/reply channel interfaces.
3109 * Dummy.cs : removed above.
3110 * CommunicationObject.cs : FIXME comments.
3112 2005-10-03 Atsushi Enomoto <atsushi@ximian.com>
3114 * CommunicationObject.cs : implemented some members.
3116 2005-09-29 Atsushi Enomoto <atsushi@ximian.com>
3118 * CommunicationObject.cs : some signature fixes.