X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fpppcrypt.h;h=90835940e0589e9a79b2add18d10e05bf2408855;hb=3ae4027842d48c3c92996ffb8443b9b320c1c775;hp=364940e39f79e269cc169aada4b8b167b10dd3b1;hpb=5ece6e68baaf9fdbd6e73daa7b27335f8852d85b;p=ppp.git diff --git a/pppd/pppcrypt.h b/pppd/pppcrypt.h index 364940e..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(u_char *); -extern bool DesEncrypt(u_char *, u_char *); -extern bool DesDecrypt(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 */