svn commit: samba r25005 - in branches/SAMBA_4_0: . source/auth/ntlmssp

jelmer at samba.org jelmer at samba.org
Fri Sep 7 16:30:09 GMT 2007


Author: jelmer
Date: 2007-09-07 16:30:06 +0000 (Fri, 07 Sep 2007)
New Revision: 25005

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25005

Log:
Avoid pstring.
Modified:
   branches/SAMBA_4_0/
   branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp_server.c


Changeset:

Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: bzr:revision-info
...skipped...
Name: bzr:revision-id:v3-trunk0
...skipped...

Modified: branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp_server.c
===================================================================
--- branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp_server.c	2007-09-07 16:27:57 UTC (rev 25004)
+++ branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp_server.c	2007-09-07 16:30:06 UTC (rev 25005)
@@ -25,7 +25,6 @@
 #include "auth/ntlmssp/ntlmssp.h"
 #include "auth/ntlmssp/msrpc_parse.h"
 #include "lib/crypto/crypto.h"
-#include "pstring.h"
 #include "system/filesys.h"
 #include "libcli/auth/libcli_auth.h"
 #include "auth/credentials/credentials.h"
@@ -105,61 +104,8 @@
 	}
 }
 
-/*
-  Andrew, please remove these totally bogus calls when you get time
-*/
-static BOOL get_myfullname(char *my_name)
-{
-	pstring hostname;
 
-	*hostname = 0;
 
-	/* get my host name */
-	if (gethostname(hostname, sizeof(hostname)) == -1) {
-		DEBUG(0,("gethostname failed\n"));
-		return False;
-	} 
-
-	/* Ensure null termination. */
-	hostname[sizeof(hostname)-1] = '\0';
-
-	if (my_name)
-		fstrcpy(my_name, hostname);
-	return True;
-}
-
-static BOOL get_mydomname(char *my_domname)
-{
-	pstring hostname;
-	char *p;
-
-	/* arrgh! relies on full name in system */
-
-	*hostname = 0;
-	/* get my host name */
-	if (gethostname(hostname, sizeof(hostname)) == -1) {
-		DEBUG(0,("gethostname failed\n"));
-		return False;
-	} 
-
-	/* Ensure null termination. */
-	hostname[sizeof(hostname)-1] = '\0';
-
-	p = strchr_m(hostname, '.');
-
-	if (!p)
-		return False;
-
-	p++;
-	
-	if (my_domname)
-		fstrcpy(my_domname, p);
-
-	return True;
-}
-
-
-
 /**
  * Next state function for the Negotiate packet
  * 
@@ -176,7 +122,8 @@
 {
 	struct gensec_ntlmssp_state *gensec_ntlmssp_state = (struct gensec_ntlmssp_state *)gensec_security->private_data;
 	DATA_BLOB struct_blob;
-	fstring dnsname, dnsdomname;
+	char dnsname[MAXHOSTNAMELEN], dnsdomname[MAXHOSTNAMELEN];
+	const char *p;
 	uint32_t neg_flags = 0;
 	uint32_t ntlmssp_command, chal_flags;
 	const uint8_t *cryptkey;
@@ -227,14 +174,21 @@
 	gensec_ntlmssp_state->chal = data_blob_talloc(gensec_ntlmssp_state, cryptkey, 8);
 	gensec_ntlmssp_state->internal_chal = data_blob_talloc(gensec_ntlmssp_state, cryptkey, 8);
 
+	dnsname[0] = '\0';
+	if (gethostname(dnsname, sizeof(dnsname)) == -1) {
+		DEBUG(0,("gethostname failed\n"));
+		return NT_STATUS_UNSUCCESSFUL;
+	}
+
 	/* This should be a 'netbios domain -> DNS domain' mapping */
-	dnsdomname[0] = '\0';
-	get_mydomname(dnsdomname);
-	strlower_m(dnsdomname);
+	p = strchr(dnsname, '.');
+	if (p != NULL) {
+		safe_strcpy(dnsdomname, p+1, sizeof(dnsdomname));
+		strlower_m(dnsdomname);
+	} else {
+		dnsdomname[0] = '\0';
+	}
 	
-	dnsname[0] = '\0';
-	get_myfullname(dnsname);
-	
 	/* This creates the 'blob' of names that appears at the end of the packet */
 	if (chal_flags & NTLMSSP_CHAL_TARGET_INFO) 
 	{



More information about the samba-cvs mailing list