New test.
[mono.git] / mcs / class / corlib / System.Runtime.Remoting / ChangeLog
1 2006-08-23  Lluis Sanchez Gual  <lluis@novell.com>
2
3         * ObjRef.cs: Throw a TypeLoadException exception if the referenced
4           type can't be found. That's better than a nullref.
5
6 2006-07-15  Jonathan Chambers  <joncham@gmail.com>
7
8         * RemotingServices.cs: Begin implementing COM Interop.
9
10 2006-04-27  Robert Jordan  <robertj@gmx.net>
11
12         * RemotingServices.cs (IsObjectOutOfAppDomain, IsObjectOutOfContext):
13         add parameter validation. Fixes bug #78164.
14
15 2006-04-07  Sebastien Pouliot  <sebastien@ximian.com>
16
17         * RemotingServices.cs: Assert SerializationFormatter permissions if 
18         the runtime wants to do cross-appdomain serialization (this will need
19         to be better reviewed/tested later but it fix some current issues).
20
21 2005-12-07  Robert Jordan  <robertj@gmx.net>
22
23         * RemotingServices.cs: Accept the application name beeing a part of
24           the object URI. Fixes bug #76809.
25
26 2005-11-06  Svetlana Zholkovsky  <svetlanaz@mainsoft.com>
27
28         * RemotingConfiguration.cs: Fix ConfigHandler.OnEndElement to handle case
29         when the configuration file contains custom providers with child elements.
30         * ServerIdentity.cs: clear _serverSink field in the DisposeServerObject method.
31
32 2005-10-18  Lluis Sanchez Gual  <lluis@novell.com>
33
34         * RemotingConfiguration.cs: The value for customErrors tag must be
35         case-insensitive. Fixes bug #76466 (patch by Robert Jordan).
36         
37 2005-10-17  Lluis Sanchez Gual  <lluis@novell.com>
38
39         * RemotingConfiguration.cs: Rethrow catched exceptions
40         in ReadConfigFile (patch by Robert Jordan). Fixes bug #76434.
41         Properly set the application name.
42
43 2005-08-18  Lluis Sanchez Gual  <lluis@novell.com>
44
45         * RemotingServices.cs: Notify marshals, unmarshals and disconnections
46         to TrackingServices. Fixes bug #75814.
47
48 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
49
50         * ObjRef.cs RemotingServices.cs: Add some missing 2.0 attributes.
51
52 2005-05-26  Ben Maurer  <bmaurer@ximian.com>
53
54         * InternalRemotingServices.cs: Move hashtable init to
55         cctor. Removes double checked locking and locking on typeof.
56
57 2005-05-17  Lluis Sanchez Gual  <lluis@novell.com>
58
59         * ObjRef.cs: Use IsInstanceOfType instead of IsAssignableFrom
60         since GetType() may not return the correct type if the object is
61         a remoting proxy.
62
63 2005-05-12  Atsushi Enomoto  <atsushi@ximian.com>
64
65         * RemotingConfiguration.cs : MiniParser->SmallXmlParser changes.
66
67 2005-05-09  Lluis Sanchez Gual  <lluis@novell.com>
68
69         * RemotingServices.cs: Fix warning.
70
71 2004-10-26  Lluis Sanchez Gual  <lluis@novell.com>
72
73         * RemotingServices.cs: Added several serialization methods needed by
74         the cross app domain wrappers.
75         In GetOrCreateClientIdentity(), set the domain of the proxy if it
76         references an object in another domain.
77
78 2004-09-28  Lluis Sanchez Gual  <lluis@novell.com>
79
80         * RemotingServices.cs: Allways pass the uri when calling
81           GetClientChannelSinkChain, even if it has channel data.
82           This fixes bug 66768.
83         
84 2004-09-27  Lluis Sanchez Gual  <lluis@novell.com>
85
86         * ServerIdentity.cs: Only set the target identity if it has not already
87           been set.
88
89 2004-09-23  Lluis Sanchez Gual  <lluis@novell.com>
90
91         * RemotingServices.cs: Fixed wrong patch for InternalExecuteMessage.
92           The MethodBase in the message may not be the same type of the object
93           (the method can be called using an interface).
94
95 2004-09-22  Lluis Sanchez Gual  <lluis@novell.com>
96
97         * RemotingServices.cs: In InternalExecute, use MethodBase instead
98           of MonoMethod, so it can be also used for running constructors.
99         * ServerIdentity.cs: Added methods for getting and setting the client
100           proxy in ClientActivatedIdentity. This is needed for CBOs, since
101           messages need to be dispatched using the proxy as "this", not the
102           real object.
103
104 2004-09-11 Ben Maurer  <bmaurer@users.sourceforge.net>
105
106         * RemotingServices.cs: use MethodBase rather than looking
107         for the method ourselves. It has higher perf in x-ad calls.
108
109 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
110
111         * RemotingServices.cs (IsMethodOverloaded): use the internal
112         method GetMethodsByName. It does much less work than GetMembers.
113
114 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
115
116         * RemotingServices.cs (IsOneWay): use IsDefined rather than
117         GetCustomAttributes. It is much faster.
118
119 2004-07-22  Lluis Sanchez Gual  <lluis@novell.com>
120
121         * ObjRef.cs: Fixed type check in in ObjRef constructor. The requested class
122           must be the object class or a base class. This fixes bug #61249.
123
124 2004-07-22  Lluis Sanchez Gual  <lluis@novell.com>
125
126         * RemotingServices.cs: Changed GetMethodBaseFromMethodMessage so its code
127           can be reused internally. Also fixed bug when gettting a method from an
128           interface.
129
130 2004-07-02  Lluis Sanchez Gual  <lluis@ximian.com>
131
132         * ServerIdentity.cs: When disposing an identity, detach the identity from
133           the object, so it can be safely marshalled again.
134         * RemotingServices.cs: Fixed IsObjectOutOfContext and 
135           IsObjectOutOfAppDomain. In SetObjectUriForMarshal, take into account
136           contextful objects.
137
138 2004-07-01  Lluis Sanchez Gual  <lluis@ximian.com>
139
140         * RemotingConfiguration.cs: Avoid adding "id" and "type" as custom 
141           properties of providers. This fixes bug #60934.
142         
143 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
144
145         * RemotingTimeoutException.cs: added missing serialization ctor
146         * ServerException.cs: added missing serialization ctor
147
148 2004-06-15  Lluis Sanchez Gual  <lluis@ximian.com>
149
150         * RemotingConfiguration.cs: Read application name from configuraation file.
151
152 2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
153
154         * RemotingServices.cs: Added missing Conditional attribute and
155         MonoTODO attribute on LogRemotingStage
156
157 2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
158
159         * RemotingConfiguration.cs: Added method for configuring chanels with the
160           delayed client load flag. Added locks for accessing internal tables.
161
162 2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
163
164         * RemotingServices.cs: In GetMethodBaseFromMethodMessage, look for 
165           constructors if no method is found.
166
167 2004-05-07  Lluis Sanchez Gual  <lluis@ximian.com>
168
169         * SoapServices.cs: Support encoded namespace names in 
170           DecodeXmlNamespaceForClrTypeNamespace. Thanks to George Kodinov.
171
172 2004-04-28  Lluis Sanchez Gual  <lluis@ximian.com>
173
174         * RemotingServices.cs: When create a ReturnMessage, provide an array with
175           all parameters, including input parameters.
176
177 2004-04-26  Lluis Sanchez Gual  <lluis@ximian.com>
178
179         * ObjRef.cs: Little optimization.
180
181 2004-03-09  Lluis Sanchez Gual  <lluis@ximian.com>
182
183         * RemotingServices.cs: Marshal(): If the object is a proxy, return the ObjRef
184           stored in the identity object.
185
186 2004-03-04  Lluis Sanchez Gual  <lluis@ximian.com>
187
188         * Identity.cs: Removed object type from Identity, since it is hold
189           now in the IRemotingTypeInfo object.
190         * ServerIdentity.cs: Added object type.
191         * TypeInfo.cs: Added null check for the class hierarchy.
192
193 2004-02-17  Lluis Sanchez Gual  <lluis@ximian.com>
194
195         * RemotingServices.cs: Client identities are registered using the full url,
196           not the object uri, so they must be unregistered using the same key.
197
198 2004-01-24  Lluis Sanchez Gual  <lluis@ximian.com>
199
200         * TypeInfo.cs: The list of interfaces may be null. Added check.
201
202 2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
203
204         * RemotingServices.cs: When marshalling a custom proxy, allow the creation
205         of a new identity. This fixes bug #52921.
206         * ServerIdentity.cs: Allow the creation of server identities that
207         represent a custom proxy instead of a real object.
208
209 2003-12-10  Lluis Sanchez Gual  <lluis@ximian.com>
210
211         * SoapServices.cs: Little fix: correctly encode namespaces.
212
213 2003-12-10  Martin Willemoes Hansen  <mwh@sysrq.dk>
214
215         * RemotingConfiguration.cs: fixed wrong attribute name
216           sponsorShipTimeOut it should be sponsorshipTimeout
217
218 2003-12-03  Lluis Sanchez Gual <lluis@ximian.com>
219
220         * SoapServices.cs: Little fix in namespace construction.
221         
222 2003-11-28  Dick Porter  <dick@ximian.com>
223
224         * TypeInfo.cs: 
225         * RemotingConfiguration.cs: Use the char form of IndexOf, so that
226         the comparison is done with the Invariant culture.
227
228 2003-11-26  Lluis Sanchez Gual <lluis@ximian.com>
229
230         * InternalRemotingServices.cs: Fixed GetCachedSoapAttribute().
231         * RemotingConfiguration.cs: Implemented CustomErrorsEnabled(). 
232           Added support for soapInterop configuration section.
233         * SoapServices.cs: Several fixes to match MS behavior.
234
235 2003-11-25  Lluis Sanchez Gual <lluis@ximian.com>
236
237         * InternalRemotingServices.cs: Implemented GetCachedSoapAttribute().
238         * SoapServices.cs: Implemented missing methods.
239         * WellKnownClientTypeEntry.cs: Initialize object_url in constructor.
240
241 2003-11-24  Jackson Harper <jackson@ximian.com>
242
243         * ServerIdentity.cs: Get non public types, so remote objects can
244         be non public or have non public constructors.
245         
246 2003-11-19  Lluis Sanchez Gual <lluis@ximian.com>
247
248         * InternalRemotingServices.cs: Added missing attributes.
249           
250 2003-11-17  Lluis Sanchez Gual <lluis@ximian.com>
251
252         * InternalRemotingServices.cs: Added CLSCompliant to SetServerIdentity
253           (MethodCall is not compliant)
254         * IObjectHandle.cs: Set correct value for Guid.
255         
256 2003-11-16  Lluis Sanchez Gual <lluis@ximian.com>
257
258         * IObjectHandle.cs, ObjectHandle.cs: Added missing attributes.
259         * RemotingConfiguration.cs: GetRegisteredActivatedClientTypes made public.
260           Declared CustomErrorsEnabled() method.
261         * RemotingServices.cs: Implemented GetSessionIdForMethodMessage().
262           IsAsyncMessage must be internal.
263         * InternalRemotingServices.cs: Added.
264
265 2003-11-13  Lluis Sanchez Gual <lluis@ximian.com>
266
267         * RemotingServices.cs: Add ".rem" suffix to generated uri names.
268
269 2003-11-12  Lluis Sanchez Gual <lluis@ximian.com>
270
271         * RemotingConfiguration.cs: Implemented all remaining functionality.
272         * ActivatedClientTypeEntry.cs: Set the value of ObjectType in the constructor
273         * ActivatedServiceTypeEntry.cs, WellKnownClientTypeEntry.cs,
274           WellKnownServiceTypeEntry.cs: Check that the provided type is valid.
275
276 2003-11-11  Lluis Sanchez Gual <lluis@ximian.com>
277
278         * RemotingConfiguration.cs: Added initial implementation of Configure method
279           by Jaime Anguiano.
280
281 2003-11-11  Lluis Sanchez Gual <lluis@ximian.com>
282
283         * ActivatedClientTypeEntry.cs, ActivatedServiceTypeEntry.cs, 
284           IRemotingTypeInfo.cs, RemotingServices.cs, WellKnownServiceTypeEntry.cs:
285           Removed some TODOs.
286
287 2003-11-01  Zoltan Varga  <vargaz@freemail.hu>
288
289         * RemotingServices.cs (GetDomainProxy): Use the new InvokeInDomain 
290         function instead of calling SetDomain.
291
292 2003-10-23  Lluis Sanchez Gual <lluis@ximian.com>
293
294         * RemotingServices.cs: Do not create an identity for an object if it
295           already has one.
296
297 2003-10-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
298
299         * RemotingServices.cs: (NewUri) use Interlocked.Increment on next_id.
300
301 2003-10-09  Lluis Sanchez Gual <lluis@ximian.com>
302
303         * ObjRef.cs: Added new constructor to support CAD channel.
304
305 2003-10-08  Lluis Sanchez Gual <lluis@ximian.com>
306
307         * Identity.cs, RemotingServices.cs: Fixed memory leak. I Changed reference 
308           to proxy in ClientIdentity to a WeakReference. This fixes a memory leak.
309         * RemotingServices.cs: Ignore first "/" char in uris when looking for
310           and object. 
311           Take into account that identity now has a weak reference
312           of the proxy.
313
314 2003-09-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
315
316         * ObjectHandle.cs: simplified and fix InitializeLifetimeService.
317
318 2003-09-11  Lluis Sanchez Gual <lluis@ximian.com>
319
320         * RemotingServices.cs: Collect value of parameters with the Out flag
321         into the return message. Also set and reset CallContext.  Added method
322         UpdateOutArgObject.
323
324 2003-08-25  Lluis Sanchez Gual <lluis@ximian.com>
325
326         * RemotingServices.cs: Some small fixes.
327
328 2003-08-14  Lluis Sanchez Gual <lluis@ximian.com>
329
330         * ObjRef.cs: Implemented IsFromThisProcess().
331         * RemotingServices.cs: Implemented methods GetLifetimeService and
332           GetEnvoyChainForProxy. Stubbed LogRemotingStage.
333         
334 2003-07-29  Lluis Sanchez Gual <lluis@ximian.com>
335
336         * RemotingServices.cs: GetObjectUri(): For client proxies, return
337           the target url.
338
339 2003-07-26  Duncan Mak  <duncan@ximian.com>
340
341         * SoapServices.cs (XmlNsForClrTypeWithNsAndAssembly):
342         Fixed typo. It's 'Ns', but 'Ms'.
343
344 2003-07-25  Lluis Sanchez Gual <lluis@ximian.com>
345
346         * RemotingServices.cs: If the type for a proxy is not available in
347           the client site, use the MarshalByRefObject type.
348
349 2003-07-21  Lluis Sanchez Gual <lluis@ximian.com>
350
351         * ServerIdentity.cs: Fixed bug #46645
352
353 2003-07-16  Lluis Sanchez Gual <lluis@ximian.com>
354
355         * Identity.cs: Added TargetUri property
356
357 2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
358
359         * ObjRef.cs: Fixed bug #43187, based on the patch by Jean-Marc Andre
360
361 2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
362
363         * ObjRef.cs: Renamed ChannelInfoStore to ChannelInfo (match MS.NET)
364         * RemotingServices.cs: Added method to help support Async messages.
365         * RemotingConfiguration.cs: Implemented property ProcessID.
366
367 2003-03-24  Lluis Sanchez Gual <lluis@ideary.com>
368
369         * RemotingServices.cs: Fixed bug #39915
370
371 2003-03-20  Lluis Sanchez Gual <lluis@ideary.com>
372
373         * Identity.cs: Added support for dynamic properties.
374         * ObjRef.cs: Removed some [MonoTODO]
375         * TypeInfo.cs: Added support for interfaces.
376         * RemotingServices.cs: Several fixes to support interfaces in proxies.
377
378 2003-03-15  Lluis Sanchez Gual <lluis@ideary.com>
379
380         * RemotingServices.cs: fixes bugs #39380 and #39331.
381
382 2003-02-25 Lluis Sanchez Gual <lluis@ideary.com>
383
384         * Identity.cs: Added property to check if an identity is connected (it is remotely accesible)
385         * ObjRef.cs: Added internal helper method for getting the server type of an ObjRef.
386         * RemotingServices.cs: Implemented Disconnect method. Added support for custom proxy
387           creating using ProxyAttribute. Added support for activation attributes in creation
388           of proxies. Some other minor corrections.
389         * ServerIdentity.cs: minor corrections.
390
391 2003-02-18 Lluis Sanchez Gual <lluis@ideary.com>
392
393         * Identity.cs: Added envoy message sink.
394         * ObjRef.cs: Implemented EnvoySink property
395         * RemotingConfiguration.cs: now enables proxy creation for types registered
396           as ClientActivatedType or WellKnownClientType.
397         * RemotingServices.cs: Added support for ContextBoundObjects.
398           Added methods for creating proxies. 
399         * ServerIdentity.cs: Added initialization of envoy sink.
400         * EnvoyInfo.cs: Added. It is an implementation on IEnvoyInfo.
401
402 2003-02-08  Sebastien Pouliot  <spouliot@videotron.ca>
403
404         * RemotingConfiguration.cs: Changed using to Mono.Xml for MiniParser.
405
406 2003-02-07 Patrik Torstensson
407
408         * RemotingServices.cs: Always marshal an object in GetObjectData
409
410 2003-02-07 Lluis Sanchez Gual <lluis@ideary.com>
411
412         * Identity.cs: Added ObjRef attribute, that holds the objref of the object.
413           Removed implementation of CreateObjRef. Now it is implemented in the derived classes.
414         * ServerIdentity.cs: Added implementation of CreateObjRef.
415         * RemotingServices.cs: Changed implementation of GetRemoteObject and GetClientIdentity.
416           Now they only have and ObjRef as input parameter. This is the objref received from
417           the server. Unmarshal() also checks if the objref is for a well known object.
418           In this case, a proxy is always created, but if not, it tries to get the real object.
419         * ObjRef.cs: Added some flags that have info for marshalling/unmarshalling.
420           Changed behavior of IsPossibleToCAD. Now returns false. Returning true makes serialization 
421           of this ObjRef to fail in the target AD. Added method UpdateChannelInfo.
422
423 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
424
425         * Identity.cs: created and identity class for each identity type. It is a more clear design.
426         * ServerIdentity.cs: added. Implements identity funtionality specific to server objects
427         * RemotingServices.cs: Modified to work with new types of identities.
428         * RemotingConfiguration.cs: Modified to work with new types of identities.
429         * ObjRef.cs: Added initialization of channel info in default constructor.
430         * Identity.cs: Added support for WellKnownService objects.
431
432 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
433
434         * RemotingServices.cs:
435         (GetMethodBaseFromMethodMessage): fixed to make it also work with
436         internal methods without MethodSignature (see ApplicationHost.cs).
437
438 2003-02-03 Patrik Torstensson
439
440         * ObjRef.cs: added copy constructor and two helpers for cross 
441           appdomain message marshalling.
442         * RemotingServices.cs: Added helper to create transparant proxy for appdomain, and
443           register internal cross appdomain channel.
444
445 2003-01-29 Lluis Sanchez Gual <lluis@ideary.com>
446
447         * RemotingServices.cs: Added support for WellKnownService objects.
448         * RemotingConfiguration.cs: Implemented most of methods (Configure is not working yet).
449         * ObjRef.cs: Added initialization of channel info in default constructor.
450         * Identity.cs: Added support for WellKnownService objects.
451
452 2003-01-28 Patrik Torstensson
453
454         * ObjRef.cs: Fixed Objref marshalling flags
455         
456 2003-01-24 Lluis Sanchez Gual <lluis@ideary.com>
457
458         * RemotingServices.cs: Implemented some missing methods: IsMethodOverloaded, 
459           SetObjectUriForMarshal, IsOneWay, IsObjectOutOfAppDomain, 
460           IsObjectOutOfContext, GetObjRefForProxy, GetObjectData,
461           GetMethodBaseFromMethodMessage.
462         * TypeInfo.cs: Added.
463         * ObjRef.cs: Implemented serialization and added support for IRemotingTypeInfo.
464
465 2002-12-28 Lluis Sanchez Gual <lluis@ideary.com>
466
467         * SoapServices.cs: Implemented some methods
468
469 2002-12-20 Lluis Sanchez Gual <lluis@ideary.com>
470
471         * ObjRef.cs: Implementation now based on methods of RemotingServices.
472         * RemotingServices.cs: Remoting information now kept in Identity objects.
473           All methods adapted to work with identities.
474           Renamed ExecuteMessage to InternalExecuteMessage. ExecuteMessage should
475           not make a direct call to the object.
476         * Identity.cs: added.
477
478 2002-12-11  Jaime Anguiano Olarra <jaime@gnome.org>
479
480         * RemotingConfiguration.cs: added to the CVS.
481
482 2002-11-29  Jaime Anguiano Olarra <jaime@gnome.org>
483
484         * ObjectHandle.cs: added implementation  for InitializeLifetimeService
485         * method.
486
487
488 2002-11-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
489
490         * SoapServices.cs: fix error CS3005.
491
492 2002-09-03  Dietmar Maurer  <dietmar@ximian.com>
493
494         * RemotingServices.cs: add an unique app_id string used to generate
495         unique object uris.
496
497         * ObjRef.cs: added serialization support
498
499 2002-08-31  Dietmar Maurer  <dietmar@ximian.com>
500
501         * ObjRef.cs: gather the channel date at creation time.
502
503 2002-08-20  Dietmar Maurer  <dietmar@ximian.com>
504
505         * RemotingServices.cs: Connect impl. 
506
507 2002-08-02  Duncan Mak  <duncan@ximian.com>
508
509         * ActivatedClientTypeEntry.cs:
510         * ActivatedServiceTypeEntry.cs:
511         * WellKnownClientTypeEntry.cs:
512         * WellKnownServiceTypeEntry.cs: Various visibility fixes.
513
514 2002-07-31  Duncan Mak  <duncan@ximian.com>
515
516         * TypeEntry.cs:
517         * ActivatedClientTypeEntry.cs:
518         * ActivatedServiceTypeEntry.cs:
519         * WellKnownClientTypeEntry.cs:
520         * WellKnownServiceTypeEntry.cs: Added all the classes derived from TypeEntry.
521
522         * RemotingException.cs: 
523         * RemotingTimeoutException.cs: 
524         * ServerException.cs: Added missing exceptions.
525
526         * IChannelInfo.cs: 
527         * IEnvoyInfo.cs: 
528         * IRemotingTypeInfo.cs: Added missing interfaces.
529
530 2002-07-24  Duncan Mak  <duncan@ximian.com>
531
532         * LeaseState.cs: Moved to System.Runtime.Remoting.Lifetime.
533
534         * SoapMethodOption.cs: 
535         * SoapOption.cs: Removed and merged into System.Runtime.Remoting.Metadata.SoapOption.
536
537 2002-07-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
538
539         * IObjectHandle.cs: New file.
540         * ObjectHandle.cs: implemented constructor and Unwrap.
541
542 2002-01-05  Ravi Pratap  <ravi@ximian.com>
543
544         * ObjRef.cs : Strew the MonoTODO attribute.
545
546 2001-09-02  Miguel de Icaza  <miguel@ximian.com>
547
548         * ObjRef.cs: Include System.Runtime.Serialization