X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fpppcrypt.h;h=90835940e0589e9a79b2add18d10e05bf2408855;hb=35198adc7f3c1f0c1e3437f983e7f3ac96477997;hp=adcdcbcb68ddc321e2bf0bcdb51f655bee049fa1;hpb=f53a48eb9d74db3c71938e114b7f489c339bc003;p=ppp.git diff --git a/pppd/pppcrypt.h b/pppd/pppcrypt.h index adcdcbc..9083594 100644 --- a/pppd/pppcrypt.h +++ b/pppd/pppcrypt.h @@ -2,7 +2,9 @@ * pppcrypt.c - PPP/DES linkage for MS-CHAP and EAP SRP-SHA1 * * Extracted from chap_ms.c by James Carlson. + * Updated to better reflect RFC2759 by Eivind Naess * + * Copyright (c) 2022 Eivind Naess. All rights reserved. * Copyright (c) 1995 Eric Rosenquist. All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,20 +31,45 @@ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#ifndef PPP_PPPCRYPT_H +#define PPP_PPPCRYPT_H -#ifndef PPPCRYPT_H -#define PPPCRYPT_H +#include "pppdconf.h" -#ifdef HAVE_CRYPT_H -#include -#endif - -#ifndef USE_CRYPT -#include -#endif +/** + * This is the DES encrypt functions as described by RFC2759. + * + * Parameters: + * unsigned char *clear: + * A 8 byte input array to be encrypted + * + * unsigned char *key: + * A raw 7-byte array to be expanded to 8 with odd-parity + * + * unsigned char *cipher: + * A 8 byte outut array providing space for the output data + * + * DesEncrypt returns 1 on success + */ +int DesEncrypt(unsigned char *clear, unsigned char *key, + unsigned char *cipher); -extern bool DesSetkey __P((u_char *)); -extern bool DesEncrypt __P((u_char *, u_char *)); -extern bool DesDecrypt __P((u_char *, u_char *)); +/** + * This is the DES decrypt functions as described by RFC2759. + * + * Parameters: + * unsigned char *cipher: + * A 8 byte input array to be decrypted + * + * unsigned char *key: + * A raw 7-byte array to be expanded to a 8-byte key with odd-parity + * + * unsigned char *clear: + * A 8 byte output array providing space for the output data + * + * DesDecrypt returns 1 on success + */ +int DesDecrypt(unsigned char *cipher, unsigned char *key, + unsigned char *clear); -#endif /* PPPCRYPT_H */ +#endif /* PPP_PPPCRYPT_H */