I believe I understand what has happened:
When I execute:
showq --loglevel=9
This line is of importance
MSUSendData(S,30000000,TRUE,FALSE)
The 3rd parameter sets DoSocketLayerAuth=TRUE which when TRUE it will add
the mckTimeStamp (i.e. TS=1163530003) to the data packet that is sent to
the server.
However, when WireProtocol = mwpS32 it will set DoSocketLayerAuth=FALSE and
therefore not add the TimeStamp to the data packet. This creates the
condition that I am having.
The only place I can see where it sets the WireProtocol = mwpS32 is here
if (S->WireProtocol == mwpNONE)
{
/* determine wire protocol */
if (strstr(S->RBuffer,"<Envelope") != NULL)
{
S->WireProtocol = mwpS32;
/* set default algorithm */
S->CSAlgo = MSched.DefaultCSAlgo;
}
} /* END if (S->WireProtocol == mwpNONE) */
/* adjust state */
switch (S->WireProtocol)
{
case mwpS32:
/* no socket level authentication required */
DoAuthenticate = FALSE;
break;
default:
/* NO-OP */
break;
} /* END switch (S->WireProtocol) */
While all this seems ok the server is expecting an mckTimeStamp which is
removed when the WireProtocol = mwpS32.
So the final question is should the server not look for a mckTimeStamp when
the WireProtocol = mwpS32
or
Should the client still be adding the mckTimeStamp to the data packet when
the WireProtocol = mwpS32?
Does anyone have an idea?
Earle
(I am partial to the first option, server should not expect to see a
mckTimeStamp when the WireProtocol = mwpS32.)
_______________________________________________
mauiusers mailing list
[email protected]
http://www.supercluster.org/mailman/listinfo/mauiusers