2 Unix SMB/Netbios implementation.
4 Password and authentication handling
5 Copyright (C) Andrew Tridgell 1992-1998
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 extern int DEBUGLEVEL;
26 /* Data to do lanman1/2 password challenge. */
27 static unsigned char saved_challenge[8];
28 static BOOL challenge_sent=False;
30 /*******************************************************************
31 Get the next challenge value - no repeats.
32 ********************************************************************/
33 void generate_next_challenge(char *challenge)
36 generate_random_buffer(buf,8,False);
37 memcpy(saved_challenge, buf, 8);
38 memcpy(challenge,buf,8);
39 challenge_sent = True;
42 /*******************************************************************
43 set the last challenge sent, usually from a password server
44 ********************************************************************/
45 BOOL set_challenge(unsigned char *challenge)
47 memcpy(saved_challenge,challenge,8);
48 challenge_sent = True;
52 /*******************************************************************
53 get the last challenge sent
54 ********************************************************************/
55 BOOL last_challenge(unsigned char *challenge)
57 if (!challenge_sent) return False;
58 memcpy(challenge,saved_challenge,8);