Re: comm_failure for large sequences using giop between two machines
- From: Bowie Owens <bowie owens csiro au>
- To: Michael Meeks <michael ximian com>
- Cc: orbit <orbit-list gnome org>
- Subject: Re: comm_failure for large sequences using giop between two machines
- Date: Thu, 19 Jun 2003 11:33:03 +1000
Hi Michael,
I have tracked the problem with large sequences over GIOP down to
src/orb/GIOP/giop-recv-buffer.c giop_recv_msg_reading_body. There is a
condition causes the function to fail:
!is_auth && buf->msg.header.message_size > giop_initial_msg_size_limit
My large messages exceed the giop_initial_msg_size_limit (256K)
substatially. So giop_recv_msg_reading_body fails and this eventually
causes the client to disconnect and generate the COMM_ERROR exception.
Removing the condition allows the test I sent yesterday to run to
completion.
What is the purpose of the above condition? Is it to prevent a client
from performing an attack by sending very large messages? Can it be
removed? is_auth is determined by the protocol and therefore never set
for IPv4, is that correct?
These artificial limits pose a bit of a problem for the project I am
working on. Since the client and server may need to send and receive
very large sequences. Unfortunately, there is no way to predict
beforehand an upper limit on the size of the sequences.
Michael Meeks wrote:
> Hopefully we can nail it easily enough then,
>
>
>
--
Bowie Owens
CSIRO Mathematical & Information Sciences
phone : +61 3 9545 8055
fax : +61 3 9545 8080
mobile : 0425 729 875
email : Bowie.Owens@csiro.au
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]