Re: Limiting maximum RPC message length

Gerd Stolpmann <[email protected]> Fri, 21 Aug 2009 14:14:58 +0200
Newsgroups gmane.comp.lang.ocaml.lib.net.devel
Message-ID <[email protected]>
This is fixed in the svn version
(https://godirepo.camlcity.org/svn/lib-ocamlnet2/trunk). I've also added
a message length filter for Rpc_client in addition to the one for
Rpc_server.

Gerd

Am Dienstag, den 11.08.2009, 23:04 +0200 schrieb Gerd Stolpmann:
> Am Sonntag, den 09.08.2009, 18:48 +0200 schrieb Hans Ole Rafaelsen:
> > Hi.
> > 
> > The message length given in the RPC message is checked for validity in 
> > that the message length is less than Sys.max_string_length. If that is 
> > found to hold, a string with the size given in the message is created.
> > 
> > On a 32bit system this is 32MB but on a 64bit this value is fairly 
> > large. So just connecting to a RPC server and sending some 'junk' (e.g: 
> > echo dddd | nc 127.0.0.1 10000 -q 1) causes the application to allocate 
> > several gigabytes of memory.
> > 
> > Here is a simple patch for rpc_transport.ml(i) that allows the user to 
> > set the maximum length of RPC messages. Can something along these lines 
> > be included into further versions on Ocamlnet?
> 
> Well, there is such a mechanism in rpc_server.ml, but seems to be partly
> non-functional. The interface is Rpc_server.set_session_filter, e.g.
> 
> Rpc_server.set_session_filter
>   srv
>   (fun _ -> `Accept_limit_length(n, `Drop)
>   (* accept messages up to n bytes, and if exceeded, drop the message *)
> 
> This admittedly does not work, and there must have been some regression.
> 
> For clients, there is no such mechanism, but is probably easy to add.
> 
> Anyway, I've added this to my TODO list.
> 
> Gerd
> 
> > 
> > Kindest regards,
> > 
> > Hans Ole Rafaelsen
> > 
> > ------------------------------------------------------------------------------
> > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
> > trial. Simplify your report design, integration and deployment - and focus on 
> > what you do best, core application coding. Discover what's new with 
> > Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> > _______________________________________________ Ocamlnet-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel
-- 
------------------------------------------------------------
Gerd Stolpmann, Bad Nauheimer Str.3, 64289 Darmstadt,Germany 
[email protected]          http://www.gerd-stolpmann.de
Phone: +49-6151-153855                  Fax: +49-6151-997714
------------------------------------------------------------


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july