Hi there,

This is a "by design" security change in the V1.1 framework. Basically,
the rules for what can be deserialized with the default security
settings have changed. You can find the details here [1].

There are a number of fixes, all of which effectively amount to
slackening this security restriction. (Details of which are also there).

This does, however, bring up an important fundamental point about
security. That is - to communicate information from one place to another
there has to be some kind of trust relationship, and therefore some kind
security hole. When you transmit information, you try to make as small a
hole as possible, for as little time as possible, and poke the
information across. This change in the default security settings forces
you to think about the hole you are making, but it doesn't take away the
need for the hole!

Matthew Adams
Development Manager
Digital Healthcare Ltd

[1]
http://www.gotdotnet.com/team/changeinfo/Backwards1.0to1.1/default.aspx#
00000153
(Beware word wrap)


-----Original Message-----
From: Borisov, William [mailto:[EMAIL PROTECTED] 
Sent: 03 April 2003 22:52
To: [EMAIL PROTECTED]

I'm trying to use a design I had working in the previous release version
of
.net which remoted events from the server to the client using the
Observer
pattern, Attach, Deattach on the remoted object.

In v1.1 I'm getting a
System.Runtime.Serialization.SerializationException
which seems to be originating in the method
System.Runtime.Serialization.FormatterServices.GetSafeUninitializedObjec
t.
The documention for this class claims it is supported only in version
1.1 of
the .NET Framework.

Am I missign something here, or is this a possible bug in the Final Beta
version.

TIA.

        StackTrace      "\nServer stack trace: \n   at
System.Runtime.Serialization.FormatterServices.GetSafeUninitializedObjec
t(Ty
pe type)\r\n   at
System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObject(
Pars
eRecord pr)\r\n   at
System.Runtime.Serialization.Formatters.Binary.ObjectReader.Parse(ParseR
ecor
d pr)\r\n   at
System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObject
With
MapTyped(BinaryObjectWithMapTyped record)\r\n   at
System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObject
With
MapTyped(BinaryHeaderEnum binaryHeaderEnum)\r\n   at
System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()\r\n
at
System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(
Head
erHandler handler, __BinaryParser serParser, Boolean fCheck,
IMethodCallMessage methodCallMessage)\r\n   at
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deseriali
ze(S
tream serializationStream, HeaderHandler handler, Boolean fCheck,
IMethodCallMessage methodCallMessage)\r\n   at
System.Runtime.Remoting.Channels.CoreChannel.DeserializeBinaryRequestMes
sage
(String objectUri, Stream inputStream, Boolean bStrictBinding,
TypeFilterLevel securityLevel)\r\n   at
System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessag
e(IS
erverChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders
requestHeaders, Stream requestStream, IMessage& responseMsg,
ITransportHeaders& responseHeaders, Stream& responseStream)\n\nException
rethrown at [0]: \n   at
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
reqMsg, IMessage retMsg)\r\n   at
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
msgData, Int32 type)\r\n   at
CIBC.CPM.DataInfrastructure.Remoting.IRemoteObserver.Attach(IRemoteSink
sink)\r\n   at DIRemoter_Test.MainClass.Main(String[] args) in
e:\\zoser\\code\\dot_net\\di remoting\\diremoter_test\\main.cs:line 47"
string

Information in this message reflects current market conditions and is
subject to change without notice.
It is believed to be reliable, but is not guaranteed for accuracy or
completeness. Details provided do
not supersede your normal trade confirmations or statements. Any product
is subject to prior sale.
CIBC World Markets Corp, its affiliated companies, and their officers or
employees, may have a position
in or make a market in any security described above, and may act as an
investment banker or advisor to such.
Although CIBC World Markets Corp. is an indirect, wholly owned
subsidiary of Canadian Imperial Bank of Commerce ("CIBC"),
it is solely responsible for its contractual obligations. Any securities
products recommended, purchased, or sold in
any client accounts
(i) will not be insured by the FDIC,
(ii)will not be deposits or obligations of CIBC,
(iii) will not be endorsed or guaranteed by CIBC, and
(iv) will be subject to risks, including possible loss of principal
invested.

Reply via email to