From patchwork Mon Oct 2 12:55:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arjun Shankar X-Patchwork-Id: 1842108 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=Xnn7DU0q; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Rzh1r2HqRz1ypV for ; Tue, 3 Oct 2023 00:02:24 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5F490386C5B6 for ; Mon, 2 Oct 2023 13:02:22 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 861CC385CC91 for ; Mon, 2 Oct 2023 13:02:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 861CC385CC91 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696251730; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9l0leiNT5s+PoYERAmgKwHhQv59EQZboIhGRM0SYCP4=; b=Xnn7DU0qId5msKfEXdjWL327UAfEjXhLs6KpAQ7PXGYug2m5YNRUsEYN4aMAqVHwYCJx/a DOpa30wT8zmov6kWzfepip6kzc8kO5azS6+QIS8YP7g9fGAkfFflBX5RL+smrPtStuwH3R sdxqDSaI715nSasIzJR4Otn+nPrcG5w= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-411-sqz8ev6_N-KiMvln-zkDtw-1; Mon, 02 Oct 2023 09:02:07 -0400 X-MC-Unique: sqz8ev6_N-KiMvln-zkDtw-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 9593F811E88 for ; Mon, 2 Oct 2023 13:02:07 +0000 (UTC) Received: from localhost.localdomain (dhcp129-93.brq.redhat.com [10.34.129.93]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1E155C15BB8; Mon, 2 Oct 2023 13:02:07 +0000 (UTC) From: Arjun Shankar To: libc-alpha@sourceware.org, Arjun Shankar Subject: [PATCH 05/16] Remove 'pwd' and merge into 'nss' Date: Mon, 2 Oct 2023 14:55:17 +0200 Message-ID: <20231002130150.1497733-6-arjun@redhat.com> In-Reply-To: <20231002130150.1497733-1-arjun@redhat.com> References: <20231002130150.1497733-1-arjun@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, 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+incoming=patchwork.ozlabs.org@sourceware.org The majority of pwd routines are entry points for nss functionality. This commit removes the 'pwd' subdirectory and moves all functionality and tests to 'nss'. References to pwd/ are accordingly changed. Reviewed-by: Adhemerval Zanella --- Makeconfig | 2 +- include/pwd.h | 2 +- nss/Makefile | 24 +++++++++++++++++++++ nss/Versions | 8 +++++++ {pwd => nss}/fgetpwent.c | 0 {pwd => nss}/fgetpwent_r.c | 0 {pwd => nss}/getpw.c | 0 {pwd => nss}/getpwent.c | 0 {pwd => nss}/getpwent_r.c | 0 {pwd => nss}/getpwnam.c | 0 {pwd => nss}/getpwnam_r.c | 0 {pwd => nss}/getpwuid.c | 0 {pwd => nss}/getpwuid_r.c | 0 {pwd => nss}/putpwent.c | 0 {pwd => nss}/pwd.h | 0 {pwd => nss}/tst-getpw.c | 0 {pwd => nss}/tst-putpwent.c | 0 pwd/Makefile | 42 ------------------------------------- pwd/Versions | 19 ----------------- 19 files changed, 34 insertions(+), 63 deletions(-) rename {pwd => nss}/fgetpwent.c (100%) rename {pwd => nss}/fgetpwent_r.c (100%) rename {pwd => nss}/getpw.c (100%) rename {pwd => nss}/getpwent.c (100%) rename {pwd => nss}/getpwent_r.c (100%) rename {pwd => nss}/getpwnam.c (100%) rename {pwd => nss}/getpwnam_r.c (100%) rename {pwd => nss}/getpwuid.c (100%) rename {pwd => nss}/getpwuid_r.c (100%) rename {pwd => nss}/putpwent.c (100%) rename {pwd => nss}/pwd.h (100%) rename {pwd => nss}/tst-getpw.c (100%) rename {pwd => nss}/tst-putpwent.c (100%) delete mode 100644 pwd/Makefile delete mode 100644 pwd/Versions diff --git a/Makeconfig b/Makeconfig index ac7fa3dbb3..e5badddbc4 100644 --- a/Makeconfig +++ b/Makeconfig @@ -1352,7 +1352,7 @@ endif # dependencies and generate sorted-subdirs dynamically. all-subdirs = csu assert ctype locale intl catgets math setjmp signal \ stdlib stdio-common libio malloc string wcsmbs time dirent \ - pwd posix io termios resource misc socket sysvipc gmon \ + posix io termios resource misc socket sysvipc gmon \ gnulib iconv iconvdata wctype manual shadow po argp \ localedata timezone rt conform debug mathvec support \ dlfcn elf diff --git a/include/pwd.h b/include/pwd.h index f8975d4957..c4ca8bab33 100644 --- a/include/pwd.h +++ b/include/pwd.h @@ -1,5 +1,5 @@ #ifndef _PWD_H -#include +#include #ifndef _ISOMAC /* Now define the internal interfaces. */ diff --git a/nss/Makefile b/nss/Makefile index 5256b90f8b..28648ea884 100644 --- a/nss/Makefile +++ b/nss/Makefile @@ -26,6 +26,7 @@ headers := \ grp.h \ gshadow.h \ nss.h \ + pwd.h \ # headers # This is the trivial part which goes into libc itself. @@ -103,6 +104,27 @@ CFLAGS-getsgnam.c += -fexceptions CFLAGS-getsgnam_r.c += -fexceptions endif +# pwd routines: +routines += \ + fgetpwent \ + fgetpwent_r \ + getpw \ + getpwent \ + getpwent_r \ + getpwnam \ + getpwnam_r \ + getpwuid \ + getpwuid_r \ + putpwent \ + # routines + +ifeq ($(have-thread-library),yes) +CFLAGS-fgetpwent_r.c += $(libio-mtsafe) +CFLAGS-getpw.c += -fexceptions +CFLAGS-getpwent.c += -fexceptions +CFLAGS-getpwent_r.c += -fexceptions +endif + # These are the databases that go through nss dispatch. # Caution: if you add a database here, you must add its real name # in databases.def, too. @@ -143,6 +165,7 @@ tests := \ test-netdb \ testgrp \ tst-fgetsgent_r \ + tst-getpw \ tst-gshadow \ tst-nss-getpwent \ tst-nss-hash \ @@ -152,6 +175,7 @@ tests := \ tst-nss-test5 \ tst-nss-test_errno \ tst-putgrent \ + tst-putpwent \ tst-putsgent \ tst-sgetsgent \ # tests diff --git a/nss/Versions b/nss/Versions index 6204ac0af1..58ca73c9df 100644 --- a/nss/Versions +++ b/nss/Versions @@ -8,19 +8,26 @@ libc { # e* endgrent; + endpwent; # f* fgetgrent; fgetgrent_r; + fgetpwent; fgetpwent_r; # g* getgrent; getgrent_r; getgrgid; getgrgid_r; getgrnam; getgrnam_r; getgroups; + getpw; getpwent; getpwent_r; getpwnam; getpwnam_r; getpwuid; getpwuid_r; # i* initgroups; + # p* + putpwent; + # s* setgrent; + setpwent; } GLIBC_2.1 { # p* @@ -29,6 +36,7 @@ libc { GLIBC_2.1.2 { # g* getgrent_r; getgrgid_r; getgrnam_r; + getpwent_r; getpwuid_r; getpwnam_r; } GLIBC_2.2.2 { __nss_hostname_digits_dots; diff --git a/pwd/fgetpwent.c b/nss/fgetpwent.c similarity index 100% rename from pwd/fgetpwent.c rename to nss/fgetpwent.c diff --git a/pwd/fgetpwent_r.c b/nss/fgetpwent_r.c similarity index 100% rename from pwd/fgetpwent_r.c rename to nss/fgetpwent_r.c diff --git a/pwd/getpw.c b/nss/getpw.c similarity index 100% rename from pwd/getpw.c rename to nss/getpw.c diff --git a/pwd/getpwent.c b/nss/getpwent.c similarity index 100% rename from pwd/getpwent.c rename to nss/getpwent.c diff --git a/pwd/getpwent_r.c b/nss/getpwent_r.c similarity index 100% rename from pwd/getpwent_r.c rename to nss/getpwent_r.c diff --git a/pwd/getpwnam.c b/nss/getpwnam.c similarity index 100% rename from pwd/getpwnam.c rename to nss/getpwnam.c diff --git a/pwd/getpwnam_r.c b/nss/getpwnam_r.c similarity index 100% rename from pwd/getpwnam_r.c rename to nss/getpwnam_r.c diff --git a/pwd/getpwuid.c b/nss/getpwuid.c similarity index 100% rename from pwd/getpwuid.c rename to nss/getpwuid.c diff --git a/pwd/getpwuid_r.c b/nss/getpwuid_r.c similarity index 100% rename from pwd/getpwuid_r.c rename to nss/getpwuid_r.c diff --git a/pwd/putpwent.c b/nss/putpwent.c similarity index 100% rename from pwd/putpwent.c rename to nss/putpwent.c diff --git a/pwd/pwd.h b/nss/pwd.h similarity index 100% rename from pwd/pwd.h rename to nss/pwd.h diff --git a/pwd/tst-getpw.c b/nss/tst-getpw.c similarity index 100% rename from pwd/tst-getpw.c rename to nss/tst-getpw.c diff --git a/pwd/tst-putpwent.c b/nss/tst-putpwent.c similarity index 100% rename from pwd/tst-putpwent.c rename to nss/tst-putpwent.c diff --git a/pwd/Makefile b/pwd/Makefile deleted file mode 100644 index d85842af3e..0000000000 --- a/pwd/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright (C) 1991-2023 Free Software Foundation, Inc. -# This file is part of the GNU C Library. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, see -# . - -# -# Sub-makefile for pwd portion of the library. -# -subdir := pwd - -include ../Makeconfig - -headers := pwd.h - -routines := fgetpwent getpw putpwent \ - getpwent getpwnam getpwuid \ - getpwent_r getpwnam_r getpwuid_r fgetpwent_r - -tests := tst-getpw tst-putpwent - -include ../Rules - -ifeq ($(have-thread-library),yes) - -CFLAGS-getpwent_r.c += -fexceptions -CFLAGS-getpwent.c += -fexceptions -CFLAGS-getpw.c += -fexceptions -CFLAGS-fgetpwent_r.c += $(libio-mtsafe) - -endif diff --git a/pwd/Versions b/pwd/Versions deleted file mode 100644 index b56970019a..0000000000 --- a/pwd/Versions +++ /dev/null @@ -1,19 +0,0 @@ -libc { - GLIBC_2.0 { - # e* - endpwent; - - # f* - fgetpwent; fgetpwent_r; - - # g* - getpw; getpwent; getpwent_r; getpwnam; getpwnam_r; getpwuid; getpwuid_r; - - # p* - putpwent; setpwent; - } - GLIBC_2.1.2 { - # g* - getpwent_r; getpwuid_r; getpwnam_r; - } -}