From patchwork Mon Oct 2 12:11:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 728547 Delivered-To: patch@linaro.org Received: by 2002:a5d:60c8:0:b0:31d:da82:a3b4 with SMTP id x8csp1629014wrt; Mon, 2 Oct 2023 05:12:11 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGEAivSFkB7Uqrc6FgFJaCr7Cg07Vl1USa9Bjo7PIQf+qB5NP+49v5l2l32oGx4cVGHeRXp X-Received: by 2002:a5d:6688:0:b0:314:dc0:2fca with SMTP id l8-20020a5d6688000000b003140dc02fcamr10922711wru.29.1696248731047; Mon, 02 Oct 2023 05:12:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696248731; cv=none; d=google.com; s=arc-20160816; b=VfJaDJ3DR6EI2GJ4bmOtuGT5MDjqZPCSZR82qM8EwPayQ6jGZDP6DgKPPBuSKwVKt6 YcbGWbUwgrs7dGfYjv1Kx94Us5gboE3NGWZzLIr/nqARUs0gYkeR1td7HwraRI0v3XwT U0WB4Yp/X+FV7WUTbPzpmRJnK1qM7Sy5ima4zv+epMMNHwWyr3n7qdwSx71XJgB3xgJr Jzj3rV8HBO0vZHFREcAH4InnL58v8nLhUDHmJ5tV7H05BZaLGVmYaeczkZhsEW3mfT1z QzxI08jTxtC9K41aNP8/kFxZwT4QuHrGzGkT12d8jxIWvzftbWVGHLpIMQjk+4ypWlBx tpEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:to:from:dkim-signature :dmarc-filter:delivered-to; bh=1IgFtWihDKJ+f5/qBJtPrKhjppZmap8Bygz3/Q3OT1E=; fh=6BsJSPeBPGM1/I4nz94JuI1Rg6HJ6On3zQAAX36y0Mw=; b=lus/UAQrSPQhMy3PPUoTu67VUCqC5lW4hfPqVTuGNxqA2uU3uiwAEDNVWkAoiz6Lsr hzVz09aKcgCh71CRRLpfNHydull9O0DUq+8U3rq4n3GdLHY9W6amkiUWeyAvoNUK651X iwf+LPicDkpel7G9TfoBXpwTz2sngjqCimjaqwIqJGLx6EQxd5NQIVW/IXtpRGx7ZLFP Lo7sO/mUzIbWjfUkHIZCUERBnMrBhGXCPbRNicfIZg/B6WqTid/NYLgAJyR+xicehQ+Q QM4c8/+B+JPcCT1VcwIAvwY3YsP7BKlDsxUDfLNbzkdRH5eV56qfckPROVuK9+MP1ycV 8+YA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KLQSeDKJ; spf=pass (google.com: domain of libc-alpha-bounces+patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces+patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id m20-20020a056402431400b005334545630asi22990118edc.212.2023.10.02.05.12.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Oct 2023 05:12:11 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces+patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KLQSeDKJ; spf=pass (google.com: domain of libc-alpha-bounces+patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces+patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0454C385C6F5 for ; Mon, 2 Oct 2023 12:12:10 +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 ; 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 ; 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-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 To: libc-alpha@sourceware.org, Zack Weinberg 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 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces+patch=linaro.org@sourceware.org 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 Reviewed-by: Carlos O'Donell