svn commit: samba r18773 - in branches/SAMBA_3_0/source/smbd: .
vlendec at samba.org
vlendec at samba.org
Thu Sep 21 05:29:07 GMT 2006
Author: vlendec
Date: 2006-09-21 05:29:07 +0000 (Thu, 21 Sep 2006)
New Revision: 18773
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=18773
Log:
Change negprot_spnego to return a blob
Modified:
branches/SAMBA_3_0/source/smbd/negprot.c
Changeset:
Modified: branches/SAMBA_3_0/source/smbd/negprot.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/negprot.c 2006-09-21 05:19:22 UTC (rev 18772)
+++ branches/SAMBA_3_0/source/smbd/negprot.c 2006-09-21 05:29:07 UTC (rev 18773)
@@ -169,7 +169,7 @@
Generate the spnego negprot reply blob. Return the number of bytes used.
****************************************************************************/
-static int negprot_spnego(char *p)
+static DATA_BLOB negprot_spnego(void)
{
DATA_BLOB blob;
nstring dos_name;
@@ -180,7 +180,6 @@
OID_NTLMSSP,
NULL};
const char *OIDs_plain[] = {OID_NTLMSSP, NULL};
- int len;
global_spnego_negotiated = True;
@@ -222,11 +221,7 @@
SAFE_FREE(host_princ_s);
}
- memcpy(p, blob.data, blob.length);
- len = blob.length;
- data_blob_free(&blob);
-
- return len;
+ return blob;
}
/****************************************************************************
@@ -332,10 +327,17 @@
STR_UNICODE|STR_TERMINATE|STR_NOALIGN);
DEBUG(3,("not using SPNEGO\n"));
} else {
- int len = negprot_spnego(p);
-
+ DATA_BLOB spnego_blob = negprot_spnego();
+
+ if (spnego_blob.data == NULL) {
+ return ERROR_NT(NT_STATUS_NO_MEMORY);
+ }
+
+ memcpy(p, spnego_blob.data, spnego_blob.length);
+ p += spnego_blob.length;
+ data_blob_free(&spnego_blob);
+
SCVAL(outbuf,smb_vwv16+1, 0);
- p += len;
DEBUG(3,("using SPNEGO\n"));
}
More information about the samba-cvs
mailing list