Continued...
After my last post my initial impression was related to using an incorrect
wire protocol. Since then I have done more testing and have the problems
related to a series of sprintf()'s. Here is the code where the mangling of
the message header happens:
snippet from src/mcom/MSU.c
if (DoSocketLayerAuth == TRUE)
{
time(&Now);
sprintf(TSLine,"%s%ld %s%s",
MCKeyword[mckTimeStamp],
(long)Now,
MCKeyword[mckAuth],
MUUIDToName(MOSGetEUID()));
if (S->Name[0] != '\0')
{
/* sprintf weirdness
sprintf(TSLine,"%s %s%s",
TSLine,
MCKeyword[mckClient],
S->Name);
* These strcat's perform the same thing as the above sprintf
*/
strcat(TSLine, " ");
strcat(TSLine, MCKeyword[mckClient]);
strcat(TSLine, S->Name);
}
/* sprintf weirdness
sprintf(TSLine,"%s %s",
TSLine,
MCKeyword[mckData]);
* These strcat's perform the same thing as the above sprintf
*/
strcat(TSLine, " ");
strcat(TSLine, MCKeyword[mckData]);
MSecGetChecksum2(
TSLine,
strlen(TSLine),
S->SBuffer,
strlen(S->SBuffer), /* NOTE: was S->SBufSize */
CKSum,
NULL,
S->CSAlgo,
S->CSKey);
sprintf(CKLine,"%s%s %s",
MCKeyword[mckCheckSum],
CKSum,
TSLine);
} /* END if (DoSocketLayerAuth == TRUE) */
Before I changed anything the above code using the sprintf's gave me the
following message header (no TS):
CK=3705ca6ad72eedfb DT=
After I commented out the above sprintf's and inserted the srtcat's here is
the header that gets created:
CK=a9cada1bf3c723cf TS=1163691018 AUTH=root DT=
At this point I get much further and now the client gives the following
error:
ERROR: cannot parse server response (status)
I have traced the problem to when the client receives this message from the
server it looks for a status code which should look like "SC=1" but that
does not appear in the message. Here is the message:
CK=0dbeffe7e9858cae TS=1163691019 AUTH=root CLIENT=[NONE] DT= 1
ARG=1163690830 10 10 10 10 0 0
If you notice there are three white spaces right before the 1 in "DT= 1",
I will bet money that in should read "DT=SC=1".
I am going through the server code now to find out where the SC is added to
the message. It would be helpful if someone with a working system can send
me the output of "showq --loglevel=9".
Thank you,
Earle
_______________________________________________
mauiusers mailing list
[email protected]
http://www.supercluster.org/mailman/listinfo/mauiusers