diff options
Diffstat (limited to 'source/libsmb/credentials.c')
-rw-r--r-- | source/libsmb/credentials.c | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/source/libsmb/credentials.c b/source/libsmb/credentials.c deleted file mode 100644 index 4c81177fb20..00000000000 --- a/source/libsmb/credentials.c +++ /dev/null @@ -1,101 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - code to manipulate domain credentials - Copyright (C) Andrew Tridgell 1997 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#include "includes.h" - - -/**************************************************************************** - setup the session key. -Input: 8 byte challenge block - 8 byte server challenge block - 16 byte md4 encrypted password -Output: - 8 byte session key -****************************************************************************/ -void cred_session_key(char *challenge, char *srv_challenge, char *pass, - char *session_key) -{ - uint32 sum[2]; - char sum2[8]; - char buf[8]; - - sum[0] = IVAL(challenge, 0) + IVAL(srv_challenge, 0); - sum[1] = IVAL(challenge, 4) + IVAL(srv_challenge, 4); - - SIVAL(sum2,0,sum[0]); - SIVAL(sum2,4,sum[1]); - - E1(pass,sum2,buf); - E1(pass+9,buf,session_key); -} - - -/**************************************************************************** -create a credential - -Input: - 8 byte sesssion key - 8 byte stored credential - 4 byte timestamp - -Output: - 8 byte credential -****************************************************************************/ -void cred_create(char *session_key, char *stored_cred, UTIME timestamp, - char *cred) -{ - char key2[7]; - char buf[8]; - char timecred[8]; - - memcpy(timecred, stored_cred, 8); - SIVAL(timecred, 0, IVAL(stored_cred, 0) + timestamp.time); - - E1(session_key, timecred, buf); - memset(key2, 0, 7); - key2[0] = session_key[7]; - E1(key2, buf, cred); -} - - -/**************************************************************************** - check a supplied credential - -Input: - 8 byte received credential - 8 byte sesssion key - 8 byte stored credential - 4 byte timestamp - -Output: - returns 1 if computed credential matches received credential - returns 0 otherwise -****************************************************************************/ -int cred_assert(char *cred, char *session_key, char *stored_cred, - NTTIME timestamp) -{ - char cred2[8]; - - cred_create(session_key, stored_cred, timestamp, cred2); - - return memcmp(cred, cred2, 8) == 0; -} - |