Changeset 1770 in MondoRescue for branches/stable/mindi-busybox/libbb/pw_encrypt.c
- Timestamp:
- Nov 6, 2007, 11:01:53 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/mindi-busybox/libbb/pw_encrypt.c
r821 r1770 5 5 * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org> 6 6 * 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. 11 * 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 GNU 15 * General Public License for more details. 16 * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 * 7 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. 21 8 */ 22 9 23 10 #include "libbb.h" 24 #include <string.h>25 11 #include <crypt.h> 26 27 12 28 13 char *pw_encrypt(const char *clear, const char *salt) 29 14 { 30 static char cipher[128];31 char *cp;15 /* Was static char[BIGNUM]. Malloced thing works as well */ 16 static char *cipher; 32 17 33 #if def CONFIG_FEATURE_SHA1_PASSWORDS18 #if 0 /* was CONFIG_FEATURE_SHA1_PASSWORDS, but there is no such thing??? */ 34 19 if (strncmp(salt, "$2$", 3) == 0) { 35 20 return sha1_crypt(clear); 36 21 } 37 22 #endif 38 cp = (char *) crypt(clear, salt); 39 /* if crypt (a nonstandard crypt) returns a string too large, 40 truncate it so we don't overrun buffers and hope there is 41 enough security in what's left */ 42 safe_strncpy(cipher, cp, sizeof(cipher)); 23 24 free(cipher); 25 cipher = xstrdup(crypt(clear, salt)); 43 26 return cipher; 44 27 } 45
Note:
See TracChangeset
for help on using the changeset viewer.