summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/crypt/Makefile.inc4
-rw-r--r--lib/libc/crypt/crypt.c14
-rw-r--r--lib/libc/crypt/crypt2.c107
3 files changed, 9 insertions, 116 deletions
diff --git a/lib/libc/crypt/Makefile.inc b/lib/libc/crypt/Makefile.inc
index f4cf2de0275..2a06f73acc3 100644
--- a/lib/libc/crypt/Makefile.inc
+++ b/lib/libc/crypt/Makefile.inc
@@ -1,8 +1,8 @@
-# $OpenBSD: Makefile.inc,v 1.24 2014/11/20 19:18:25 tedu Exp $
+# $OpenBSD: Makefile.inc,v 1.25 2014/12/08 20:36:18 tedu Exp $
.PATH: ${LIBCSRCDIR}/arch/${MACHINE_CPU}/crypt ${LIBCSRCDIR}/crypt
-SRCS+= crypt.c crypt2.c cryptutil.c arc4random.c arc4random_uniform.c \
+SRCS+= crypt.c cryptutil.c arc4random.c arc4random_uniform.c \
blowfish.c bcrypt.c
MAN+= crypt.3 crypt_checkpass.3 blowfish.3 arc4random.3
diff --git a/lib/libc/crypt/crypt.c b/lib/libc/crypt/crypt.c
index a4c864dea36..c7ff5d970b3 100644
--- a/lib/libc/crypt/crypt.c
+++ b/lib/libc/crypt/crypt.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: crypt.c,v 1.24 2014/11/25 03:23:22 tedu Exp $ */
+/* $OpenBSD: crypt.c,v 1.25 2014/12/08 20:36:18 tedu Exp $ */
/*
* FreeSec: libcrypt
@@ -158,7 +158,7 @@ const u_int32_t _des_bits32[32] =
0x00000008, 0x00000004, 0x00000002, 0x00000001
};
-const u_char _des_bits8[8] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 };
+static const u_char _des_bits8[8] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 };
static const u_int32_t *bits28, *bits24;
static u_char init_perm[64], final_perm[64];
@@ -196,7 +196,7 @@ ascii_to_bin(char ch)
return(0);
}
-void
+static void
_des_init(void)
{
int i, j, b, k, inbit, obit;
@@ -324,7 +324,7 @@ _des_init(void)
_des_initialised = 1;
}
-u_int32_t
+static u_int32_t
_des_setup_salt(int32_t salt)
{
u_int32_t obit, saltbit, saltbits;
@@ -342,7 +342,7 @@ _des_setup_salt(int32_t salt)
return saltbits;
}
-int
+static int
des_setkey(const char *key)
{
u_int32_t k0, k1, rawkey0, rawkey1;
@@ -422,7 +422,7 @@ des_setkey(const char *key)
return(0);
}
-int
+static int
_des_do_des(u_int32_t l_in, u_int32_t r_in, u_int32_t *l_out, u_int32_t *r_out,
int count, u_int32_t saltbits)
{
@@ -539,7 +539,7 @@ _des_do_des(u_int32_t l_in, u_int32_t r_in, u_int32_t *l_out, u_int32_t *r_out,
return(0);
}
-int
+static int
des_cipher(const char *in, char *out, int32_t salt, int count)
{
u_int32_t l_out, r_out, rawl, rawr, saltbits;
diff --git a/lib/libc/crypt/crypt2.c b/lib/libc/crypt/crypt2.c
deleted file mode 100644
index f64721368ad..00000000000
--- a/lib/libc/crypt/crypt2.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/* $OpenBSD: crypt2.c,v 1.5 2014/05/17 13:27:55 tedu Exp $ */
-
-/*
- * FreeSec: libcrypt
- *
- * Copyright (c) 1994 David Burren
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the author nor the names of other contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *
- * This is an original implementation of the DES and the crypt(3) interfaces
- * by David Burren <davidb@werj.com.au>.
- *
- * An excellent reference on the underlying algorithm (and related
- * algorithms) is:
- *
- * B. Schneier, Applied Cryptography: protocols, algorithms,
- * and source code in C, John Wiley & Sons, 1994.
- *
- * Note that in that book's description of DES the lookups for the initial,
- * pbox, and final permutations are inverted (this has been brought to the
- * attention of the author). A list of errata for this book has been
- * posted to the sci.crypt newsgroup by the author and is available for FTP.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <pwd.h>
-#include <unistd.h>
-#include <string.h>
-
-#ifdef DEBUG
-# include <stdio.h>
-#endif
-
-extern const u_char _des_bits8[8];
-extern const u_int32_t _des_bits32[32];
-extern int _des_initialised;
-void _des_init(void);
-u_int32_t _des_setup_salt(int32_t salt);
-int _des_do_des(u_int32_t , u_int32_t , u_int32_t *, u_int32_t *, int, u_int32_t);
-
-int
-setkey(const char *key)
-{
- int i, j;
- u_int32_t packed_keys[2];
- u_char *p;
-
- p = (u_char *) packed_keys;
-
- for (i = 0; i < 8; i++) {
- p[i] = 0;
- for (j = 0; j < 8; j++)
- if (*key++ & 1)
- p[i] |= _des_bits8[j];
- }
- return(des_setkey((char *)p));
-}
-
-int
-encrypt(char *block, int flag)
-{
- u_int32_t saltbits, io[2];
- u_char *p;
- int i, j, retval;
-
- if (!_des_initialised)
- _des_init();
-
- saltbits = _des_setup_salt(0);
- p = (u_char *)block;
- for (i = 0; i < 2; i++) {
- io[i] = 0L;
- for (j = 0; j < 32; j++)
- if (*p++ & 1)
- io[i] |= _des_bits32[j];
- }
- retval = _des_do_des(io[0], io[1], io, io + 1, flag ? -1 : 1, saltbits);
- for (i = 0; i < 2; i++)
- for (j = 0; j < 32; j++)
- block[(i << 5) | j] = (io[i] & _des_bits32[j]) ? 1 : 0;
- return(retval);
-}