X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fpppcrypt.c;h=a954d62516b94569490814227307e2564c8b2cd1;hb=bdd34ab1f2f87acb23c6d92feee7354ac53005ff;hp=1c4ce3b3fc6122c01f07455bd6c8fafa89affc8b;hpb=d741a3b912f17d84dc8dc87474e0b989c775de50;p=ppp.git diff --git a/pppd/pppcrypt.c b/pppd/pppcrypt.c index 1c4ce3b..a954d62 100644 --- a/pppd/pppcrypt.c +++ b/pppd/pppcrypt.c @@ -3,33 +3,44 @@ * * Extracted from chap_ms.c by James Carlson. * - * Copyright (c) 1995 Eric Rosenquist, Strata Software Limited. - * http://www.strataware.com/ + * Copyright (c) 1995 Eric Rosenquist. All rights reserved. * - * All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: * - * Redistribution and use in source and binary forms are permitted - * provided that the above copyright notice and this paragraph are - * duplicated in all such forms and that any documentation, - * advertising materials, and other materials related to such - * distribution and use acknowledge that the software was developed - * by Eric Rosenquist. The name of the author may not be used to - * endorse or promote products derived from this software without - * specific prior written permission. + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + * 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. + * + * 3. The name(s) of the authors of this software must not be used to + * endorse or promote products derived from this software without + * prior written permission. + * + * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY + * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING + * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include + #include "pppd.h" #include "pppcrypt.h" static u_char -Get7Bits(input, startBit) -u_char *input; -int startBit; +Get7Bits(u_char *input, int startBit) { unsigned int word; @@ -42,10 +53,10 @@ int startBit; } static void -MakeKey(key, des_key) -u_char *key; /* IN 56 bit DES key missing parity bits */ -u_char *des_key; /* OUT 64 bit DES key with parity bits added */ +MakeKey(u_char *key, u_char *des_key) { + /* key IN 56 bit DES key missing parity bits */ + /* des_key OUT 64 bit DES key with parity bits added */ des_key[0] = Get7Bits(key, 0); des_key[1] = Get7Bits(key, 7); des_key[2] = Get7Bits(key, 14); @@ -56,7 +67,7 @@ u_char *des_key; /* OUT 64 bit DES key with parity bits added */ des_key[7] = Get7Bits(key, 49); #ifndef USE_CRYPT - des_set_odd_parity((des_cblock *)des_key); + DES_set_odd_parity((DES_cblock *)des_key); #endif } @@ -67,9 +78,7 @@ u_char *des_key; /* OUT 64 bit DES key with parity bits added */ * Note that the low-order "bit" is always ignored by by setkey() */ static void -Expand(in, out) -u_char *in; -u_char *out; +Expand(u_char *in, u_char *out) { int j, c; int i; @@ -85,9 +94,7 @@ u_char *out; /* The inverse of Expand */ static void -Collapse(in, out) -u_char *in; -u_char *out; +Collapse(u_char *in, u_char *out) { int j; int i; @@ -102,8 +109,7 @@ u_char *out; } bool -DesSetkey(key) -u_char *key; +DesSetkey(u_char *key) { u_char des_key[8]; u_char crypt_key[66]; @@ -118,9 +124,7 @@ u_char *key; } bool -DesEncrypt(clear, cipher) -u_char *clear; /* IN 8 octets */ -u_char *cipher; /* OUT 8 octets */ +DesEncrypt(u_char *clear, u_char *cipher) { u_char des_input[66]; @@ -134,9 +138,7 @@ u_char *cipher; /* OUT 8 octets */ } bool -DesDecrypt(cipher, clear) -u_char *cipher; /* IN 8 octets */ -u_char *clear; /* OUT 8 octets */ +DesDecrypt(u_char *cipher, u_char *clear) { u_char des_input[66]; @@ -150,35 +152,30 @@ u_char *clear; /* OUT 8 octets */ } #else /* USE_CRYPT */ -static des_key_schedule key_schedule; +static DES_key_schedule key_schedule; bool -DesSetkey(key) -u_char *key; +DesSetkey(u_char *key) { - des_cblock des_key; + DES_cblock des_key; MakeKey(key, des_key); - des_set_key(&des_key, key_schedule); + DES_set_key(&des_key, &key_schedule); return (1); } bool -DesEncrypt(clear, key, cipher) -u_char *clear; /* IN 8 octets */ -u_char *cipher; /* OUT 8 octets */ +DesEncrypt(u_char *clear, u_char *cipher) { - des_ecb_encrypt((des_cblock *)clear, (des_cblock *)cipher, - key_schedule, 1); + DES_ecb_encrypt((DES_cblock *)clear, (DES_cblock *)cipher, + &key_schedule, 1); return (1); } bool -DesDecrypt(cipher, clear) -u_char *cipher; /* IN 8 octets */ -u_char *clear; /* OUT 8 octets */ +DesDecrypt(u_char *cipher, u_char *clear) { - des_ecb_encrypt((des_cblock *)cipher, (des_cblock *)clear, - key_schedule, 0); + DES_ecb_encrypt((DES_cblock *)cipher, (DES_cblock *)clear, + &key_schedule, 0); return (1); }