1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-29 21:47:30 +03:00

r11079: Narrowing down on the #1828 PPC bug. The PPC client sends an

initial NTLMSSP negotiate blob of only 16 bytes - no strings
added ! (So don't try parsing them).
Jeremy.
This commit is contained in:
Jeremy Allison 2005-10-15 00:46:38 +00:00 committed by Gerald (Jerry) Carter
parent 458da8987e
commit e15b758f5f

View File

@ -419,7 +419,6 @@ static NTSTATUS ntlmssp_server_negotiate(struct ntlmssp_state *ntlmssp_state,
fstring dnsname, dnsdomname;
uint32 neg_flags = 0;
uint32 ntlmssp_command, chal_flags;
char *cliname=NULL, *domname=NULL;
const uint8 *cryptkey;
const char *target_name;
@ -429,40 +428,15 @@ static NTSTATUS ntlmssp_server_negotiate(struct ntlmssp_state *ntlmssp_state,
#endif
if (request.length) {
BOOL parse_ok = msrpc_parse(&request, "CddAA",
"NTLMSSP",
&ntlmssp_command,
&neg_flags,
&cliname,
&domname);
if (!parse_ok) {
/* PocketPC 2003 sends the cliname and domname strings in unicode,
but doesn't set the unicode bit. Try with a parse string of "CddUU" */
SAFE_FREE(cliname);
SAFE_FREE(domname);
parse_ok = msrpc_parse(&request, "CddUU",
"NTLMSSP",
&ntlmssp_command,
&neg_flags,
&cliname,
&domname);
}
if (!parse_ok) {
DEBUG(1, ("ntlmssp_server_negotiate: failed to parse NTLMSSP Negotiate:\n"));
if ((request.length < 16) || !msrpc_parse(&request, "Cdd",
"NTLMSSP",
&ntlmssp_command,
&neg_flags)) {
DEBUG(1, ("ntlmssp_server_negotiate: failed to parse NTLMSSP Negotiate of length %u\n",
(unsigned int)request.length));
dump_data(2, (const char *)request.data, request.length);
SAFE_FREE(cliname);
SAFE_FREE(domname);
return NT_STATUS_INVALID_PARAMETER;
}
DEBUG(10, ("ntlmssp_server_negotiate: client = %s, domain = %s\n",
cliname ? cliname : "", domname ? domname : ""));
SAFE_FREE(cliname);
SAFE_FREE(domname);
debug_ntlmssp_flags(neg_flags);
}