From 944ecbcbd47afcc20e2e408a06d57c7b8d0d86a8 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 26 Oct 1997 07:45:36 +0000 Subject: [PATCH] fix some casting errors in smbencrypt and some multiply-defined errors in clientutil.c (Luke, you can't just copy a global variable declaration from one file to another, you need to declare one of them extern) --- source/client/client.c | 1 - source/client/clientutil.c | 2 +- source/libsmb/smbdes.c | 5 ----- source/libsmb/smbencrypt.c | 10 +++++----- 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/source/client/client.c b/source/client/client.c index 68cd930cf93..6528919051d 100644 --- a/source/client/client.c +++ b/source/client/client.c @@ -44,7 +44,6 @@ extern BOOL connect_as_printer; extern BOOL connect_as_ipc; extern struct in_addr ipzero; -char cryptkey[8]; extern BOOL doencrypt; extern pstring user_socket_options; diff --git a/source/client/clientutil.c b/source/client/clientutil.c index 47cb78f0ce6..d05be8ae9b8 100644 --- a/source/client/clientutil.c +++ b/source/client/clientutil.c @@ -67,7 +67,7 @@ int max_xmit = BUFFER_SIZE; BOOL have_ip = False; -struct in_addr dest_ip; +extern struct in_addr dest_ip; extern int Protocol; diff --git a/source/libsmb/smbdes.c b/source/libsmb/smbdes.c index 9675401f146..e4f8280f9bc 100644 --- a/source/libsmb/smbdes.c +++ b/source/libsmb/smbdes.c @@ -329,11 +329,6 @@ void cred_hash2(unsigned char *out,unsigned char *in,unsigned char *key) { unsigned char buf[8]; static unsigned char key2[8]; - int i; - - for (i=0;i<8;i++) { - key2[i] = 0; - } smbhash(buf, in, key); key2[0] = key[7]; diff --git a/source/libsmb/smbencrypt.c b/source/libsmb/smbencrypt.c index 517ee0f941f..38d414cf23d 100644 --- a/source/libsmb/smbencrypt.c +++ b/source/libsmb/smbencrypt.c @@ -111,14 +111,14 @@ void SMBNTencrypt(uchar *passwd, uchar *c8, uchar *p24) /* Does both the NT and LM owfs of a user's password */ -void nt_lm_owf_gen(char *pwd, char nt_p16[16], char p16[16]) +void nt_lm_owf_gen(char *pwd, char *nt_p16, char *p16) { - char passwd[129]; - strncpy(passwd, pwd, 129); + char passwd[130]; + StrnCpy(passwd, pwd, sizeof(passwd)-1); /* Calculate the MD4 hash (NT compatible) of the password */ memset(nt_p16, '\0', 16); - E_md4hash((uchar *)passwd, nt_p16); + E_md4hash((uchar *)passwd, (uchar *)nt_p16); /* Mangle the passwords into Lanman format */ passwd[14] = '\0'; @@ -127,7 +127,7 @@ void nt_lm_owf_gen(char *pwd, char nt_p16[16], char p16[16]) /* Calculate the SMB (lanman) hash functions of the password */ memset(p16, '\0', 16); - E_P16((uchar *) passwd, p16); + E_P16((uchar *) passwd, (uchar *)p16); /* clear out local copy of user's password (just being paranoid). */ bzero(passwd, sizeof(passwd));