Bug 4669 - Receive excessive data
: Receive excessive data
Status: RESOLVED INVALID
: CoG jglobus
io
: unspecified
: PC Linux
: P3 normal
: ---
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2006-08-18 04:09 by
Modified: 2006-08-18 12:12 (History)


Attachments
myProgram.sh (21.57 KB, text/plain)
2006-08-18 04:13, ASOU Masato
Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2006-08-18 04:09:23
OS: Red Hat Linux release 7.3 (Valhalla)
kernel: 2.4.20-30.8.legacysmp
    GT: Globus Toolkit 4.0.1
Flavor: gcc32dbg, gcc32dbgpthr

I have a client server model program. The client program was written
by C and the Server program was written by Java. The server only reply
the receive data from client to client. The client read from stdin and
send the read data to server. Next the client receive the data from
server and print the receive data to stdout.

I have a problem. Excessive data will be received immediately after
connection by the server side. Although the client not send data.
Example as follows:

Start the server.

    % ant authonly
    Buildfile: build.xml

    compile:

    authonly:

Start the client.

    % ./client example.org 10000

Then, the server output the following logs.

         [exec] Connected...
         [exec] Receive excessive data: 1bytes: "48"

Why does it receive excessive data?
------- Comment #1 From 2006-08-18 04:13:10 -------
Created an attachment (id=1039) [details]
myProgram.sh
------- Comment #2 From 2006-08-18 12:12:58 -------
There are two modes for GSI. One that's just plain SSL and another that's SSL
with the extra delegation steps. The extra data you are seeing is part of the
delegation steps that happen after the SSL handshake is established. 
So what you are seeing is a mismatch between client and server mode. The server
is in plain SSL mode while client is in the 'SSL with delegation' mode. So you
have to ensure that both are in the same mode.
On the server side (Java) you control the mode by setting the following
property:

context.setOption(GSSConstants.GSS_MODE, gssMode);

where gssMode is either GSIConstants.MODE_SSL or GSIConstants.MODE_GSI;

Same sort of properties can be set on the C side of things but I'm unfamiliar
with the API.