Message ID | 20231002121149.2325402-1-adhemerval.zanella@linaro.org |
---|---|
Headers |
Return-Path: <libc-alpha-bounces+patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BC46E3864C64 for <patchwork@sourceware.org>; Mon, 2 Oct 2023 12:12:17 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pg1-x535.google.com (mail-pg1-x535.google.com [IPv6:2607:f8b0:4864:20::535]) by sourceware.org (Postfix) with ESMTPS id 94B9D3858C5E for <libc-alpha@sourceware.org>; Mon, 2 Oct 2023 12:11:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 94B9D3858C5E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-pg1-x535.google.com with SMTP id 41be03b00d2f7-5859e22c7daso1820946a12.1 for <libc-alpha@sourceware.org>; Mon, 02 Oct 2023 05:11:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1696248714; x=1696853514; darn=sourceware.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=1IgFtWihDKJ+f5/qBJtPrKhjppZmap8Bygz3/Q3OT1E=; b=KLQSeDKJgHkVNmE4JUr4C2ZblgApbdHNwpLR9r6RqqS16t9NsJKcglMXGoIm09+0qy TCA08ShtpjcRq+169EUl/XurnEVlS2IJpgaJW1eWZ+inHvujmkn2jSVREKskIl3ntoJX tUDmfX8nFN5nwjvUaVi5mYT3YrtuCRIXnGFw+UmVMyv+QKuhQkoNOhwjmAgRsGamv1qt MrPw9OrjdNabwbZBpeey2+RaoATxu2IPrl/Q7AJr23yuLTNYiXNnwIb4w1voyKGYK0RR LNVFITuJKRcCENmLv2QoMnsmTsbKiDddFtY2Zw2MokqxOb1p+NJbQwVeDbfWbKTStF7l qpjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696248714; x=1696853514; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1IgFtWihDKJ+f5/qBJtPrKhjppZmap8Bygz3/Q3OT1E=; b=LAvrLyWTkSK8GLHlMsHmcvDf/VQjCPPTHP6V89gOOiACykOXswOGWVhCoiUnog7w2D nW8QcnfbEgwggJDQyICcUxmBCt4eACShfz3EAVolkVrLmDaKw4niIW/4IPSJ0NIOS72F Sj8auR3NtX4qpOSkrmCF7jb105qVdmi1575dulG16prwtncFLcqXtxgssjgzQzrEtdix BfYQ7nCWFuGYTU9OzkES9XiDkJTWh08abf5YrpEKUhKGsx4XX+5qj398lC4yeRsyUYt5 znj0uECNSL4kc/+vpMqTcJ57vEvN4nenWvrOKDGLhGhN5g0nHq8Sx6a9rs4eyQWVgn6R k4ew== X-Gm-Message-State: AOJu0Yx/7O0qLl+IGJ0WDd/u9KZJ6iFMp2wEcULiYPljAd+JrCRrorys GrdSo130ZOum6YU0QCRBW3aNEAm6L8YHwfaEqrECiA== X-Google-Smtp-Source: AGHT+IFS0lZX3UGtE+oYjVXX5swHeDe1QNWB0YiaUgd+wLR4CDPdwtpPhf2ccZXnY6voIfDOVciPWg== X-Received: by 2002:a05:6a21:338d:b0:159:beec:79d4 with SMTP id yy13-20020a056a21338d00b00159beec79d4mr11279576pzb.0.1696248713835; Mon, 02 Oct 2023 05:11:53 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c1:feaf:8f32:80e:c10a:4836]) by smtp.gmail.com with ESMTPSA id i187-20020a639dc4000000b0050f85ef50d1sm18912070pgd.26.2023.10.02.05.11.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Oct 2023 05:11:53 -0700 (PDT) From: Adhemerval Zanella <adhemerval.zanella@linaro.org> To: libc-alpha@sourceware.org, Zack Weinberg <zack@owlfolio.org> Subject: [PATCH v2 0/2] Remove libcrypt support Date: Mon, 2 Oct 2023 09:11:47 -0300 Message-Id: <20231002121149.2325402-1-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list <libc-alpha.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/libc-alpha>, <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/libc-alpha>, <mailto:libc-alpha-request@sourceware.org?subject=subscribe> Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org |
Series |
Remove libcrypt support
|
|
Message
Adhemerval Zanella Netto
Oct. 2, 2023, 12:11 p.m. UTC
The libcrypt is no longer built by default since 2.38, it lacks support for newer password hashing schmes, and the code has some code issues (like extensive use of alloca, where not all architectures have stack haderning support). libxcrypt [1] provides full support along with ABI compatbility, meaning it is a drop-in replacement without the need to either code changes or rebuilding. It is also provided with a similar licensing (LGPL 2.1). [1] https://github.com/besser82/libxcrypt Adhemerval Zanella (2): sparc: Remove optimize md5, sha256, and sha512 crypt: Remove libcrypt support CONTRIBUTED-BY | 15 - INSTALL | 13 - Makeconfig | 5 - NEWS | 16 +- SHARED-FILES | 2 - config.make.in | 4 - configure | 126 --- configure.ac | 65 -- conform/Makefile | 5 - crypt/Makefile | 69 -- crypt/README.ufc-crypt | 135 --- crypt/Versions | 5 - crypt/badsalttest.c | 54 - crypt/cert.c | 135 --- crypt/cert.input | 171 ---- crypt/crypt-entry.c | 183 ---- crypt/crypt-private.h | 76 -- crypt/crypt.c | 115 --- crypt/crypt.h | 70 -- crypt/crypt_util.c | 946 ------------------ crypt/md5-crypt.c | 331 ------ crypt/md5c-test.c | 18 - crypt/md5test-giant.c | 137 --- crypt/md5test.c | 53 - crypt/sha256-block.c | 98 -- crypt/sha256-crypt.c | 423 -------- crypt/sha256.c | 193 ---- crypt/sha256.h | 69 -- crypt/sha256c-test.c | 61 -- crypt/sha256test.c | 102 -- crypt/sha512-block.c | 105 -- crypt/sha512-crypt.c | 445 -------- crypt/sha512.c | 221 ---- crypt/sha512.h | 72 -- crypt/sha512c-test.c | 63 -- crypt/sha512test.c | 113 --- crypt/speeds.c | 153 --- crypt/ufc-crypt.h | 28 - crypt/ufc.c | 54 - elf/Makefile | 38 - elf/tst-linkall-static.c | 6 - include/crypt.h | 3 - locale/Makefile | 4 +- locale/programs/locarchive.c | 2 +- locale/programs/locfile.c | 2 +- {crypt => locale/programs}/md5-block.c | 0 {crypt => locale/programs}/md5.c | 104 +- {crypt => locale/programs}/md5.h | 46 +- manual/contrib.texi | 2 +- manual/crypt.texi | 234 +---- manual/examples/genpass.c | 59 -- manual/examples/testpass.c | 67 -- manual/users.texi | 4 +- posix/unistd.h | 10 - scripts/build-many-glibcs.py | 9 +- scripts/documented.sh | 2 +- shlib-versions | 3 - stdio-common/Versions | 2 - sysdeps/generic/fips-private.h | 36 - sysdeps/generic/libcrypt.abilist | 0 sysdeps/mach/Makefile | 4 +- sysdeps/mach/hurd/i386/libcrypt.abilist | 7 - sysdeps/mach/hurd/x86_64/libcrypt.abilist | 2 - .../sparc/sparc32/sparcv9/multiarch/Makefile | 8 - .../sparc32/sparcv9/multiarch/md5-block.c | 1 - .../sparc32/sparcv9/multiarch/md5-crop.S | 1 - .../sparc32/sparcv9/multiarch/sha256-block.c | 1 - .../sparc32/sparcv9/multiarch/sha256-crop.S | 1 - .../sparc32/sparcv9/multiarch/sha512-block.c | 1 - .../sparc32/sparcv9/multiarch/sha512-crop.S | 1 - sysdeps/sparc/sparc64/multiarch/Makefile | 8 - sysdeps/sparc/sparc64/multiarch/md5-block.c | 29 - sysdeps/sparc/sparc64/multiarch/md5-crop.S | 109 -- .../sparc/sparc64/multiarch/sha256-block.c | 32 - sysdeps/sparc/sparc64/multiarch/sha256-crop.S | 100 -- .../sparc/sparc64/multiarch/sha512-block.c | 32 - sysdeps/sparc/sparc64/multiarch/sha512-crop.S | 130 --- .../unix/sysv/linux/aarch64/libcrypt.abilist | 7 - .../unix/sysv/linux/alpha/libcrypt.abilist | 7 - sysdeps/unix/sysv/linux/alpha/shlib-versions | 1 - sysdeps/unix/sysv/linux/arc/libcrypt.abilist | 2 - sysdeps/unix/sysv/linux/arm/Makefile | 4 - .../unix/sysv/linux/arm/be/libcrypt.abilist | 7 - .../unix/sysv/linux/arm/le/libcrypt.abilist | 7 - sysdeps/unix/sysv/linux/csky/libcrypt.abilist | 2 - sysdeps/unix/sysv/linux/fips-private.h | 74 -- sysdeps/unix/sysv/linux/hppa/libcrypt.abilist | 7 - sysdeps/unix/sysv/linux/i386/libcrypt.abilist | 7 - sysdeps/unix/sysv/linux/ia64/libcrypt.abilist | 7 - .../linux/loongarch/lp64/libcrypt.abilist | 2 - .../sysv/linux/m68k/coldfire/libcrypt.abilist | 7 - .../sysv/linux/m68k/m680x0/libcrypt.abilist | 7 - .../sysv/linux/microblaze/be/libcrypt.abilist | 7 - .../sysv/linux/microblaze/le/libcrypt.abilist | 7 - .../sysv/linux/mips/mips32/libcrypt.abilist | 7 - .../sysv/linux/mips/mips64/libcrypt.abilist | 7 - .../unix/sysv/linux/nios2/libcrypt.abilist | 7 - sysdeps/unix/sysv/linux/or1k/libcrypt.abilist | 2 - .../linux/powerpc/powerpc32/libcrypt.abilist | 7 - .../powerpc/powerpc64/be/libcrypt.abilist | 7 - .../powerpc/powerpc64/le/libcrypt.abilist | 7 - .../sysv/linux/riscv/rv32/libcrypt.abilist | 2 - .../sysv/linux/riscv/rv64/libcrypt.abilist | 7 - .../sysv/linux/s390/s390-32/libcrypt.abilist | 7 - .../sysv/linux/s390/s390-64/libcrypt.abilist | 7 - .../unix/sysv/linux/sh/be/libcrypt.abilist | 7 - .../unix/sysv/linux/sh/le/libcrypt.abilist | 7 - .../sysv/linux/sparc/sparc32/libcrypt.abilist | 7 - .../sysv/linux/sparc/sparc64/libcrypt.abilist | 7 - .../sysv/linux/x86_64/64/libcrypt.abilist | 7 - .../sysv/linux/x86_64/x32/libcrypt.abilist | 7 - 111 files changed, 61 insertions(+), 6259 deletions(-) delete mode 100644 crypt/Makefile delete mode 100644 crypt/README.ufc-crypt delete mode 100644 crypt/Versions delete mode 100644 crypt/badsalttest.c delete mode 100644 crypt/cert.c delete mode 100644 crypt/cert.input delete mode 100644 crypt/crypt-entry.c delete mode 100644 crypt/crypt-private.h delete mode 100644 crypt/crypt.c delete mode 100644 crypt/crypt.h delete mode 100644 crypt/crypt_util.c delete mode 100644 crypt/md5-crypt.c delete mode 100644 crypt/md5c-test.c delete mode 100644 crypt/md5test-giant.c delete mode 100644 crypt/md5test.c delete mode 100644 crypt/sha256-block.c delete mode 100644 crypt/sha256-crypt.c delete mode 100644 crypt/sha256.c delete mode 100644 crypt/sha256.h delete mode 100644 crypt/sha256c-test.c delete mode 100644 crypt/sha256test.c delete mode 100644 crypt/sha512-block.c delete mode 100644 crypt/sha512-crypt.c delete mode 100644 crypt/sha512.c delete mode 100644 crypt/sha512.h delete mode 100644 crypt/sha512c-test.c delete mode 100644 crypt/sha512test.c delete mode 100644 crypt/speeds.c delete mode 100644 crypt/ufc-crypt.h delete mode 100644 crypt/ufc.c delete mode 100644 include/crypt.h rename {crypt => locale/programs}/md5-block.c (100%) rename {crypt => locale/programs}/md5.c (65%) rename {crypt => locale/programs}/md5.h (74%) delete mode 100644 manual/examples/genpass.c delete mode 100644 manual/examples/testpass.c delete mode 100644 sysdeps/generic/fips-private.h delete mode 100644 sysdeps/generic/libcrypt.abilist delete mode 100644 sysdeps/mach/hurd/i386/libcrypt.abilist delete mode 100644 sysdeps/mach/hurd/x86_64/libcrypt.abilist delete mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/md5-block.c delete mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/md5-crop.S delete mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/sha256-block.c delete mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/sha256-crop.S delete mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/sha512-block.c delete mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/sha512-crop.S delete mode 100644 sysdeps/sparc/sparc64/multiarch/md5-block.c delete mode 100644 sysdeps/sparc/sparc64/multiarch/md5-crop.S delete mode 100644 sysdeps/sparc/sparc64/multiarch/sha256-block.c delete mode 100644 sysdeps/sparc/sparc64/multiarch/sha256-crop.S delete mode 100644 sysdeps/sparc/sparc64/multiarch/sha512-block.c delete mode 100644 sysdeps/sparc/sparc64/multiarch/sha512-crop.S delete mode 100644 sysdeps/unix/sysv/linux/aarch64/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/alpha/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/arc/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/arm/be/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/arm/le/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/csky/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/fips-private.h delete mode 100644 sysdeps/unix/sysv/linux/hppa/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/i386/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/ia64/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/loongarch/lp64/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/m68k/coldfire/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/m68k/m680x0/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/microblaze/be/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/microblaze/le/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/mips/mips32/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/mips/mips64/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/nios2/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/or1k/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/riscv/rv64/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/sh/be/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/sh/le/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc32/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/x86_64/64/libcrypt.abilist delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/libcrypt.abilist
Comments
On 10/2/23 08:11, Adhemerval Zanella wrote: > The libcrypt is no longer built by default since 2.38, it lacks > support for newer password hashing schmes, and the code has some > code issues (like extensive use of alloca, where not all > architectures have stack haderning support). > > libxcrypt [1] provides full support along with ABI compatbility, > meaning it is a drop-in replacement without the need to either > code changes or rebuilding. It is also provided with a similar > licensing (LGPL 2.1). Downstream Fedora has been using libxcrypt since Fedora 28: https://fedoraproject.org/wiki/Changes/Replace_glibc_libcrypt_with_libxcrypt Since 2018 (glibc 2.27) Fedora has been using libxcrypt. Over the last 5 years we haven't had any problems with libcrypt. The direction this series takes is the right direction, which is to remove all of the extra interfaces from glibc which are not a part of the core C library and which can and should evolve at a different speed, and possibly with their own security policy. Reviewed-by: Carlos O'Donell <carlos@redhat.com> > [1] https://github.com/besser82/libxcrypt > > Adhemerval Zanella (2): > sparc: Remove optimize md5, sha256, and sha512 > crypt: Remove libcrypt support > > CONTRIBUTED-BY | 15 - > INSTALL | 13 - > Makeconfig | 5 - > NEWS | 16 +- > SHARED-FILES | 2 - > config.make.in | 4 - > configure | 126 --- > configure.ac | 65 -- > conform/Makefile | 5 - > crypt/Makefile | 69 -- > crypt/README.ufc-crypt | 135 --- > crypt/Versions | 5 - > crypt/badsalttest.c | 54 - > crypt/cert.c | 135 --- > crypt/cert.input | 171 ---- > crypt/crypt-entry.c | 183 ---- > crypt/crypt-private.h | 76 -- > crypt/crypt.c | 115 --- > crypt/crypt.h | 70 -- > crypt/crypt_util.c | 946 ------------------ > crypt/md5-crypt.c | 331 ------ > crypt/md5c-test.c | 18 - > crypt/md5test-giant.c | 137 --- > crypt/md5test.c | 53 - > crypt/sha256-block.c | 98 -- > crypt/sha256-crypt.c | 423 -------- > crypt/sha256.c | 193 ---- > crypt/sha256.h | 69 -- > crypt/sha256c-test.c | 61 -- > crypt/sha256test.c | 102 -- > crypt/sha512-block.c | 105 -- > crypt/sha512-crypt.c | 445 -------- > crypt/sha512.c | 221 ---- > crypt/sha512.h | 72 -- > crypt/sha512c-test.c | 63 -- > crypt/sha512test.c | 113 --- > crypt/speeds.c | 153 --- > crypt/ufc-crypt.h | 28 - > crypt/ufc.c | 54 - > elf/Makefile | 38 - > elf/tst-linkall-static.c | 6 - > include/crypt.h | 3 - > locale/Makefile | 4 +- > locale/programs/locarchive.c | 2 +- > locale/programs/locfile.c | 2 +- > {crypt => locale/programs}/md5-block.c | 0 > {crypt => locale/programs}/md5.c | 104 +- > {crypt => locale/programs}/md5.h | 46 +- > manual/contrib.texi | 2 +- > manual/crypt.texi | 234 +---- > manual/examples/genpass.c | 59 -- > manual/examples/testpass.c | 67 -- > manual/users.texi | 4 +- > posix/unistd.h | 10 - > scripts/build-many-glibcs.py | 9 +- > scripts/documented.sh | 2 +- > shlib-versions | 3 - > stdio-common/Versions | 2 - > sysdeps/generic/fips-private.h | 36 - > sysdeps/generic/libcrypt.abilist | 0 > sysdeps/mach/Makefile | 4 +- > sysdeps/mach/hurd/i386/libcrypt.abilist | 7 - > sysdeps/mach/hurd/x86_64/libcrypt.abilist | 2 - > .../sparc/sparc32/sparcv9/multiarch/Makefile | 8 - > .../sparc32/sparcv9/multiarch/md5-block.c | 1 - > .../sparc32/sparcv9/multiarch/md5-crop.S | 1 - > .../sparc32/sparcv9/multiarch/sha256-block.c | 1 - > .../sparc32/sparcv9/multiarch/sha256-crop.S | 1 - > .../sparc32/sparcv9/multiarch/sha512-block.c | 1 - > .../sparc32/sparcv9/multiarch/sha512-crop.S | 1 - > sysdeps/sparc/sparc64/multiarch/Makefile | 8 - > sysdeps/sparc/sparc64/multiarch/md5-block.c | 29 - > sysdeps/sparc/sparc64/multiarch/md5-crop.S | 109 -- > .../sparc/sparc64/multiarch/sha256-block.c | 32 - > sysdeps/sparc/sparc64/multiarch/sha256-crop.S | 100 -- > .../sparc/sparc64/multiarch/sha512-block.c | 32 - > sysdeps/sparc/sparc64/multiarch/sha512-crop.S | 130 --- > .../unix/sysv/linux/aarch64/libcrypt.abilist | 7 - > .../unix/sysv/linux/alpha/libcrypt.abilist | 7 - > sysdeps/unix/sysv/linux/alpha/shlib-versions | 1 - > sysdeps/unix/sysv/linux/arc/libcrypt.abilist | 2 - > sysdeps/unix/sysv/linux/arm/Makefile | 4 - > .../unix/sysv/linux/arm/be/libcrypt.abilist | 7 - > .../unix/sysv/linux/arm/le/libcrypt.abilist | 7 - > sysdeps/unix/sysv/linux/csky/libcrypt.abilist | 2 - > sysdeps/unix/sysv/linux/fips-private.h | 74 -- > sysdeps/unix/sysv/linux/hppa/libcrypt.abilist | 7 - > sysdeps/unix/sysv/linux/i386/libcrypt.abilist | 7 - > sysdeps/unix/sysv/linux/ia64/libcrypt.abilist | 7 - > .../linux/loongarch/lp64/libcrypt.abilist | 2 - > .../sysv/linux/m68k/coldfire/libcrypt.abilist | 7 - > .../sysv/linux/m68k/m680x0/libcrypt.abilist | 7 - > .../sysv/linux/microblaze/be/libcrypt.abilist | 7 - > .../sysv/linux/microblaze/le/libcrypt.abilist | 7 - > .../sysv/linux/mips/mips32/libcrypt.abilist | 7 - > .../sysv/linux/mips/mips64/libcrypt.abilist | 7 - > .../unix/sysv/linux/nios2/libcrypt.abilist | 7 - > sysdeps/unix/sysv/linux/or1k/libcrypt.abilist | 2 - > .../linux/powerpc/powerpc32/libcrypt.abilist | 7 - > .../powerpc/powerpc64/be/libcrypt.abilist | 7 - > .../powerpc/powerpc64/le/libcrypt.abilist | 7 - > .../sysv/linux/riscv/rv32/libcrypt.abilist | 2 - > .../sysv/linux/riscv/rv64/libcrypt.abilist | 7 - > .../sysv/linux/s390/s390-32/libcrypt.abilist | 7 - > .../sysv/linux/s390/s390-64/libcrypt.abilist | 7 - > .../unix/sysv/linux/sh/be/libcrypt.abilist | 7 - > .../unix/sysv/linux/sh/le/libcrypt.abilist | 7 - > .../sysv/linux/sparc/sparc32/libcrypt.abilist | 7 - > .../sysv/linux/sparc/sparc64/libcrypt.abilist | 7 - > .../sysv/linux/x86_64/64/libcrypt.abilist | 7 - > .../sysv/linux/x86_64/x32/libcrypt.abilist | 7 - > 111 files changed, 61 insertions(+), 6259 deletions(-) > delete mode 100644 crypt/Makefile > delete mode 100644 crypt/README.ufc-crypt > delete mode 100644 crypt/Versions > delete mode 100644 crypt/badsalttest.c > delete mode 100644 crypt/cert.c > delete mode 100644 crypt/cert.input > delete mode 100644 crypt/crypt-entry.c > delete mode 100644 crypt/crypt-private.h > delete mode 100644 crypt/crypt.c > delete mode 100644 crypt/crypt.h > delete mode 100644 crypt/crypt_util.c > delete mode 100644 crypt/md5-crypt.c > delete mode 100644 crypt/md5c-test.c > delete mode 100644 crypt/md5test-giant.c > delete mode 100644 crypt/md5test.c > delete mode 100644 crypt/sha256-block.c > delete mode 100644 crypt/sha256-crypt.c > delete mode 100644 crypt/sha256.c > delete mode 100644 crypt/sha256.h > delete mode 100644 crypt/sha256c-test.c > delete mode 100644 crypt/sha256test.c > delete mode 100644 crypt/sha512-block.c > delete mode 100644 crypt/sha512-crypt.c > delete mode 100644 crypt/sha512.c > delete mode 100644 crypt/sha512.h > delete mode 100644 crypt/sha512c-test.c > delete mode 100644 crypt/sha512test.c > delete mode 100644 crypt/speeds.c > delete mode 100644 crypt/ufc-crypt.h > delete mode 100644 crypt/ufc.c > delete mode 100644 include/crypt.h > rename {crypt => locale/programs}/md5-block.c (100%) > rename {crypt => locale/programs}/md5.c (65%) > rename {crypt => locale/programs}/md5.h (74%) > delete mode 100644 manual/examples/genpass.c > delete mode 100644 manual/examples/testpass.c > delete mode 100644 sysdeps/generic/fips-private.h > delete mode 100644 sysdeps/generic/libcrypt.abilist > delete mode 100644 sysdeps/mach/hurd/i386/libcrypt.abilist > delete mode 100644 sysdeps/mach/hurd/x86_64/libcrypt.abilist > delete mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/md5-block.c > delete mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/md5-crop.S > delete mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/sha256-block.c > delete mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/sha256-crop.S > delete mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/sha512-block.c > delete mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/sha512-crop.S > delete mode 100644 sysdeps/sparc/sparc64/multiarch/md5-block.c > delete mode 100644 sysdeps/sparc/sparc64/multiarch/md5-crop.S > delete mode 100644 sysdeps/sparc/sparc64/multiarch/sha256-block.c > delete mode 100644 sysdeps/sparc/sparc64/multiarch/sha256-crop.S > delete mode 100644 sysdeps/sparc/sparc64/multiarch/sha512-block.c > delete mode 100644 sysdeps/sparc/sparc64/multiarch/sha512-crop.S > delete mode 100644 sysdeps/unix/sysv/linux/aarch64/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/alpha/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/arc/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/arm/be/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/arm/le/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/csky/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/fips-private.h > delete mode 100644 sysdeps/unix/sysv/linux/hppa/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/i386/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/ia64/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/loongarch/lp64/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/m68k/coldfire/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/m68k/m680x0/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/microblaze/be/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/microblaze/le/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/mips/mips32/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/mips/mips64/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/nios2/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/or1k/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/riscv/rv64/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/sh/be/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/sh/le/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc32/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/x86_64/64/libcrypt.abilist > delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/libcrypt.abilist >