diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2023-10-02 09:11:49 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2023-10-30 13:03:59 -0300 |
commit | e6e3c666880847ad908692087ca6d5015895dffa (patch) | |
tree | d8a728bc0a180334644cb62ce3f83905d5ce4c11 /crypt/cert.c | |
parent | bb2ff12abd1ee7945957c6fb6f4c9ee091e446ce (diff) | |
download | glibc-e6e3c666880847ad908692087ca6d5015895dffa.zip glibc-e6e3c666880847ad908692087ca6d5015895dffa.tar.gz glibc-e6e3c666880847ad908692087ca6d5015895dffa.tar.bz2 |
crypt: Remove libcrypt support
All the crypt related functions, cryptographic algorithms, and
make requirements are removed, with only the exception of md5
implementation which is moved to locale folder since it is
required by localedef for integrity protection (libc's
locale-reading code does not check these, but localedef does
generate them).
Besides thec code itself, both internal documentation and the
manual is also adjusted. This allows to remove both --enable-crypt
and --enable-nss-crypt configure options.
Checked with a build for all affected ABIs.
Co-authored-by: Zack Weinberg <zack@owlfolio.org>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'crypt/cert.c')
-rw-r--r-- | crypt/cert.c | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/crypt/cert.c b/crypt/cert.c deleted file mode 100644 index 5b4277f..0000000 --- a/crypt/cert.c +++ /dev/null @@ -1,135 +0,0 @@ - -/* - * This crypt(3) validation program shipped with UFC-crypt - * is derived from one distributed with Phil Karns PD DES package. - * - * @(#)cert.c 1.8 11 Aug 1996 - */ - -#include <stdio.h> -#include <stdlib.h> -#include "crypt.h" - -/* This file tests the deprecated setkey/encrypt interface. */ -#include <shlib-compat.h> -#if TEST_COMPAT (libcrypt, GLIBC_2_0, GLIBC_2_28) - -#define libcrypt_version_reference(symbol, version) \ - _libcrypt_version_reference (symbol, VERSION_libcrypt_##version) -#define _libcrypt_version_reference(symbol, version) \ - __libcrypt_version_reference (symbol, version) -#define __libcrypt_version_reference(symbol, version) \ - __asm__ (".symver " #symbol ", " #symbol "@" #version) - -extern void setkey (const char *); -extern void encrypt (const char *, int); -libcrypt_version_reference (setkey, GLIBC_2_0); -libcrypt_version_reference (encrypt, GLIBC_2_0); - -int totfails = 0; - -int main (int argc, char *argv[]); -void get8 (char *cp); -void put8 (char *cp); -void good_bye (void) __attribute__ ((noreturn)); - -void -good_bye (void) -{ - if(totfails == 0) { - printf("Passed DES validation suite\n"); - exit(0); - } else { - printf("%d failures during DES validation suite!!!\n", totfails); - exit(1); - } -} - -int -main (int argc, char *argv[]) -{ - char key[64],plain[64],cipher[64],answer[64]; - int i; - int fail; - - for(;!feof(stdin);){ - - get8(key); - printf(" K: "); put8(key); - setkey(key); - - get8(plain); - printf(" P: "); put8(plain); - - get8(answer); - printf(" C: "); put8(answer); - - for(i=0;i<64;i++) - cipher[i] = plain[i]; - encrypt(cipher, 0); - - for(i=0;i<64;i++) - if(cipher[i] != answer[i]) - break; - fail = 0; - if(i != 64){ - printf(" Encrypt FAIL"); - fail++; totfails++; - } - - encrypt(cipher, 1); - - for(i=0;i<64;i++) - if(cipher[i] != plain[i]) - break; - if(i != 64){ - printf(" Decrypt FAIL"); - fail++; totfails++; - } - - if(fail == 0) - printf(" OK"); - printf("\n"); - } - good_bye(); -} -void -get8 (char *cp) -{ - int i,j,t; - - for(i=0;i<8;i++){ - if (scanf("%2x",&t) < 1) - { - if(ferror(stdin)) - totfails++; - } - if(feof(stdin)) - good_bye(); - for(j=0; j<8 ; j++) { - *cp++ = (t & (0x01 << (7-j))) != 0; - } - } -} -void -put8 (char *cp) -{ - int i,j,t; - - for(i=0;i<8;i++){ - t = 0; - for(j = 0; j<8; j++) - t = (t<<1) | *cp++; - printf("%02x", t); - } -} - -#else /* encrypt and setkey are not available. */ - -int -main (void) -{ - return 77; /* UNSUPPORTED */ -} - -#endif |