diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/auth/ntlmssp/ntlmssp_parse.c | 10 | ||||
-rw-r--r-- | source4/auth/ntlmssp/ntlmssp_server.c | 11 |
2 files changed, 8 insertions, 13 deletions
diff --git a/source4/auth/ntlmssp/ntlmssp_parse.c b/source4/auth/ntlmssp/ntlmssp_parse.c index 42546cb1308..fa839b43d8e 100644 --- a/source4/auth/ntlmssp/ntlmssp_parse.c +++ b/source4/auth/ntlmssp/ntlmssp_parse.c @@ -21,7 +21,6 @@ */ #include "includes.h" -#include "pstring.h" /* this is a tiny msrpc packet generator. I am only using this to @@ -210,7 +209,7 @@ BOOL msrpc_parse(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob, uint16_t len1, len2; uint32_t ptr; uint32_t *v; - pstring p; + char *p; va_start(ap, format); for (i=0; format[i]; i++) { @@ -237,13 +236,10 @@ BOOL msrpc_parse(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob, return False; if (0 < len1) { - pull_string(p, blob->data + ptr, sizeof(p), - len1, - STR_UNICODE|STR_NOALIGN); - (*ps) = talloc_strdup(mem_ctx, p); - if (!(*ps)) { + if (convert_string_talloc(mem_ctx, CH_UTF16, CH_UNIX, blob->data + ptr, len1, (void **)&p) < 0) { return False; } + (*ps) = p; } else { (*ps) = ""; } diff --git a/source4/auth/ntlmssp/ntlmssp_server.c b/source4/auth/ntlmssp/ntlmssp_server.c index 9f106da37cb..c448402a55d 100644 --- a/source4/auth/ntlmssp/ntlmssp_server.c +++ b/source4/auth/ntlmssp/ntlmssp_server.c @@ -26,7 +26,6 @@ #include "auth/auth.h" #include "auth/ntlmssp/ntlmssp.h" #include "lib/crypto/crypto.h" -#include "pstring.h" #include "system/filesys.h" /** @@ -107,7 +106,7 @@ static const char *ntlmssp_target_name(struct gensec_ntlmssp_state *gensec_ntlms */ static BOOL get_myfullname(char *my_name) { - pstring hostname; + char hostname[HOST_NAME_MAX]; *hostname = 0; @@ -121,13 +120,13 @@ static BOOL get_myfullname(char *my_name) hostname[sizeof(hostname)-1] = '\0'; if (my_name) - fstrcpy(my_name, hostname); + strncpy(my_name, hostname, sizeof(hostname)); return True; } static BOOL get_mydomname(char *my_domname) { - pstring hostname; + char hostname[HOST_NAME_MAX]; char *p; /* arrgh! relies on full name in system */ @@ -150,7 +149,7 @@ static BOOL get_mydomname(char *my_domname) p++; if (my_domname) - fstrcpy(my_domname, p); + strncpy(my_domname, p, sizeof(hostname)); return True; } @@ -173,7 +172,7 @@ NTSTATUS ntlmssp_server_negotiate(struct gensec_security *gensec_security, { struct gensec_ntlmssp_state *gensec_ntlmssp_state = gensec_security->private_data; DATA_BLOB struct_blob; - fstring dnsname, dnsdomname; + char dnsname[HOST_NAME_MAX], dnsdomname[HOST_NAME_MAX]; uint32_t neg_flags = 0; uint32_t ntlmssp_command, chal_flags; char *cliname=NULL, *domname=NULL; |