From patchwork Tue Aug 22 16:33:30 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Steve Ellcey X-Patchwork-Id: 22311 Received: (qmail 14577 invoked by alias); 22 Aug 2017 16:33:40 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 13923 invoked by uid 89); 22 Aug 2017 16:33:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.0 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=8488 X-HELO: NAM03-DM3-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Steve.Ellcey@cavium.com; Message-ID: <1503419610.28672.3.camel@cavium.com> Subject: Re: [PATCH] Remove compat from DEFAULT_CONFIG lookup strings From: Steve Ellcey Reply-To: sellcey@cavium.com To: Joseph Myers Cc: DJ Delorie , libc-alpha@sourceware.org Date: Tue, 22 Aug 2017 09:33:30 -0700 In-Reply-To: References: <1503089397.2986.43.camel@cavium.com> <1503092097.2986.55.camel@cavium.com> Mime-Version: 1.0 X-ClientProxiedBy: DM5PR2201CA0067.namprd22.prod.outlook.com (10.174.111.148) To DM5PR07MB3547.namprd07.prod.outlook.com (10.164.153.145) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3597d6fb-377e-470c-a6f5-08d4e97b8824 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(49563074)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM5PR07MB3547; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3547; 3:hCDl+87aaS/K9d1Ji0wgFgOrtG0XDgcQoJY6SoQz4aR9igZmoOIdk5VJLV6tmQwmEwiySLb83ycjF/f6VKhJvsttS2/Apfz3hSRUEXPAtJAaFXahxT2tpGAv/Wp7fBRSbQmPflENW/CXtfnEF933fWQNPYSwiSi6erjk+YHqJGiDtWD9M+I/ZfooQRt3/L2L8zHzdqwskBMBHhILvvTmhOf1Rk2WpAEzACtNJ+HoZCe8cqEL4UoJ4kh3eQK8/oCj; 25:xqYZMZ6YtUO3UtN9hlj7bXamEfsoK6FRfIMViYbm2K/vKsaBQ/nqisM4lWmY0SzMiZRc7GajlSzxuzjmgpMsVi64XQc81y7yMxhHTAKgiXeWNrgv6vI2fn9VX41fdrBuBsRUWsVi7yWVDi0UisdtQ4Bd3NCHwtvpFCBOxZ2PxXkZ4zVCGWr6RVFdy/SBSQ5zGAQs+OyfuuLN917mT4amJA+oJdha84L3wE4DBkyTpxBxtgZAuBWSVgZOaSMZe+3/inNKg8sHLU+gnehLr7Q3MlT3CXk489/peIh63fBsVpl7w3F/jROFt/eAYRIZepo4RrlvyP8SOcR1BoDhFh9zVw==; 31:WKeXEaILOwW20v6D7pIANtkU5qyZkmdPkyrUP2trMdw+/GcV/hYCPHRma0smR8LUNvZIwZ0N6XWboZz1/tqc/ocX4Lotiy+hoqeSkCh4zPrNViqO5OHCd3QdJGjcvDgk9Ip/hCMYxNz5zGM3WnshesDpfRusJSkI8BQtJYGQ48PXlwI7Nyltx8sNAAv5zNIODyiVAIf3DtNCI1b+TkdRnz5Hnkc1C1dR3nBh0B66w44= X-MS-TrafficTypeDiagnostic: DM5PR07MB3547: X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3547; 20:8EWEvyOx4fyL/rOinz9HLxKsQRm6rs8IncZ0GD4EFp37XJPSC/Cq2km+HZGTmipOZOwuSN76XU0iJe8nYDXX8qLv4yPM6prAazbBWbKKUeqYislqQ5voku1Iqx9MiakycQCB+DgbwG64fZmksR22bN5MUDs1vnxmMpszvXsewk+iLdcEokFSmPp58vCgd3TV+0WmJ9aj8IIs/nki88lxuvdDt9mam48wuUgG2+3h5Fl9fXfbcoHDDg7W0KxGSR2XtQEcCAyxomYIENgVDjEvW3HOKtujJkhrKtAYz8QTWC0I4GNLoIqscTmUOd+zbuQ4lBWHpcvrLvoch9Buune6apmxVqTnluaWneo5iD7wRmXxTdHfQJe3rnWffAZ2a/9MyHecRgGf18FJZkl1qn6JFHYQLtVEsxHMCrKS961MIQaDP0QRTSGc2qloT8qsiKP+YIGNSq38BBjsvKL5wg/Gw1AlgbIH7fDefaa8HO4XvEjB4zkiv6rM+G2OMGtESPZt; 4:LpEg8CqoqdhQLoq3fsppTMf++mf7ShLZOSrVcrJoLwRM9jqtPOvb/EPKBYi/z5yTYZvK4UW0XXTT0m66ZMYTCNWysic8v2Kzxj9a7WqJDP/vzEh2Rfn4VTdsF8KdZCgapDheBovwef1wg+CgrUH9PbcxPxP5leFKKxP4zm4yQNJKGGbbNlWrKhCpiGqq7mjGxjX+4MbSAMXHBWGXCA7bdQp8kgdf+qF9Mq6CqdQK7rxXUEJANcAL63RtoQPpNUai X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(102415395)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(3002001)(93006095)(93001095)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123562025)(20161123564025)(20161123555025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR07MB3547; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR07MB3547; X-Forefront-PRVS: 04073E895A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(199003)(24454002)(189002)(377424004)(97736004)(512874002)(72206003)(6506006)(2476003)(305945005)(6486002)(478600001)(5890100001)(43066003)(189998001)(3450700001)(6116002)(5660300001)(33646002)(7736002)(66066001)(4610100001)(103116003)(25786009)(101416001)(229853002)(3846002)(69596002)(81166006)(53416004)(6246003)(81156014)(110136004)(5000100001)(93886005)(36756003)(50986999)(6512007)(2906002)(42186005)(568964002)(50226002)(6916009)(7350300001)(76176999)(68736007)(106356001)(84326002)(4326008)(2950100002)(53936002)(105586002)(8676002)(99106002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR07MB3547; H:sellcey-dt.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR07MB3547; 23:sUC6Ciz+fVp+bsiSk32SNwIcYMpb6/JhLmonZe9V8?= =?us-ascii?Q?z0HdrqeBfjxbkPgfjlQhl76mrb1MT0mRIOAzYm3SQH1C1H4nfTXELy/ls3YU?= =?us-ascii?Q?47DmCb8YSZdwjnlyCSNWyEZIglQizEWrcBx3P30pqxyhPFETIZnkC7woxFHF?= =?us-ascii?Q?hnhCTCnBcPgfKxkNJnWNImJIQo97DnrFI2SesjN/DMlbi++hAy9ZFL//q6zf?= =?us-ascii?Q?hbOBueiVyr1GTDFMzkf1rctftsK4yId8OMXhgluuGhtxWSEldXHd9hrnHlar?= =?us-ascii?Q?Ny6t9ZacNCH6XLqZfGsz19X0LrVZ+wT7hfpU+ru9Vmp2N28uqkO1Cqoni5D3?= =?us-ascii?Q?tUnYUNePdmj1emyiCiQAdevFz3SQsRM+jcQcciDjgs1Z2SvIXG805L433lqO?= =?us-ascii?Q?d/xP6vpG1b10lxmJW9v5DE8PHNSgPHlKkfCjtL9SXNCl9FPubeNY0w2F5z9e?= =?us-ascii?Q?KkcgrFKiFkVnBLc2a7BeyCswZOOGqbQplBvTrLhw16zc8+Eo05awubPbDuYH?= =?us-ascii?Q?ThVpJLZL3jLI0MosynVxd2DNF8gjdAHFi4kifhmX+BPWc3dGKzA3DvUgkGao?= =?us-ascii?Q?GNlhFG/ToNS6OyIQtlHj4nbyJlpx/w3fqAMYa0G1G1qwcVo4Cgo/DjsSrjJW?= =?us-ascii?Q?//GH1Cez4Ubeuf1TnIru/sUL4J2Ohhyr5wWz5tFbjC8AxTDG8kTBFpCEWqXF?= =?us-ascii?Q?nMjgi+9+uegZ30/LwVKa/mF9MfNWmP7/bYC1JsSI922oszW08vESCe/Hl04j?= =?us-ascii?Q?2SWW5ktXMRV4JZ77h2CkHUjEKpW41A1GD1TXDTUnMfN2REXMRLpZU77vOYxH?= =?us-ascii?Q?6F4xxBYlXviKIyXUNUP5cjmx7QNW7H4h7hMdnQhZHpPqjqB4YknbaGE+hTTs?= =?us-ascii?Q?lNKPIAMOb5bYKvedBGkcF6TaAgUMa/pGz0ZRzg6IZfQnA+EnYXQlX4Mj9v/W?= =?us-ascii?Q?qBdWOM+h8Yx7SII85hTmeZfLV8qc7sXyyCbYsI4QtEJRSvIraRsjpq/bLna2?= =?us-ascii?Q?833nokO7R7xKdKrYJOCNAGy5ypfPKx3fe5wOHemm2bsxEWvABHsV2Bn1V3E3?= =?us-ascii?Q?xK76TUZjvcAk8y8OKuL+pgsXrxdKu+m1RmYNNNkNuiRARCThSLtFTX+Xrjgj?= =?us-ascii?Q?HxH0GT0s2l2QFUSaXXziD2y1wya+M6Bo5PfWIJNuU+eGKlzl5zWzB7+/biJ9?= =?us-ascii?Q?cr0n57Nt93CCgBXculZJ/gXFjJHMBg3b5FWme4gcV5nwevA1y8hSZqK+Iz0A?= =?us-ascii?Q?Bbhmz5bzLlMbAchrZe/N/rsPaXleW5ZDJWY6tbRimJeosvFha4EiE/WbJmUD?= =?us-ascii?Q?FO/2Ws0fbw6uGLh6/Q3QAOURZGxgrCdkdevswocLjihjqvm7g7LXuy+PMlN4?= =?us-ascii?Q?sofRq1sQnIXSe2ahnsRiXFt10I=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3547; 6:cuw15F8eINmIzxDoFjULrsagrkPx2sDwenIuCPwQgCPPq5sXr/rR4X7pXavz4PTKDxweJthER4WYPUdlZ4Nxghd+Ys9cr/99UB9RAesOu4B2sIVRrWyZoC26i4P0g2bjCcfWnhSFYqgkfd6o+t+AayLiZMbPoPJVcevmqkQ5IYn8MCKVAVJGdliwYp+E9AeIZBzHWElAwRX9efdjnLp/xGJ3bjsfZ8+uTY93gqaw7KV6srRMDyxTEqO1sCwPYx1uO/csVjxUhniujsQOkuppgQ45vWRWA/4j6ycwsBgywhKQHJQCDbMwut40i+WPZWqAq7Gdia1lJRSmqOn5nVKVSQ==; 5:acIYyDbM0fk0Ne9kmJ/WrQgPJZK+INCfFRoFUs7QT07omakbzTJdLlkVXcR/bJmHur4yIn9Bv6IFBETw4NS+5dy8e3Ld7EKnZ89swmISv6bENQnxSBvSn6uMY9Ts3mMazAO+XXFPr71Fe/d53kNUlQ==; 24:DHyNUe72CZtLVC5YUNPt7ZiCZY8MJnn6Qza4HKUdAReziP0aPV4y9rYedsuzJlze9gOrGso9gg16TQjzcnh5hG/q+sQNZC7k49mTbCzH6bc=; 7:3XM2DpkHGTmXyhBOymtI+HOXNwEmEMtjJeVLIFnuKDoZt+pnqUulDm0b/JHuwI32wFOmmNyOm9skgmphY/KkVjUbB0hzgGUDHZBZ/VlZ+jvhNNTr0a1b7cLNQoK2CcGQ6cXpYMoBXegyRJLd2AOHfsiI8w0aEJA4JjAWqZzgarrzbs263t2fNHxCCusEZCUxvxg10imTqkdz7sSNfkhlxcQFMBwYfGzZkwm+HHgJtWE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2017 16:33:33.7622 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR07MB3547 On Fri, 2017-08-18 at 22:12 +0000, Joseph Myers wrote: >  > But the impression that NEWS entry gives is that you can use  > --enable-obsolete-nsl to get back the previous semantics.  Does your patch  > change the semantics in the --enable-obsolete-nsl case? Here is an updated patch that maintains the original semantics and default settings when --enable-obsolete-nsl is used. Steve Ellcey sellcey@cavium.com 2017-08-22  Steve Ellcey   * grp/initgroups.c: Include config.h. (DEFAULT_CONFIG): New macro. (internal_getgrouplist): Use DEFAULT_CONFIG. * nscd/initgrcache.c (addinitgroupsX): Likewise. * nss/nsswitch.c (__nss_disable_nscd): Likewise. * nss/grp-lookup.c: Include config.h (DEFAULT_CONFIG): Set definition based on LINK_OBSOLETE_NSL. * nss/pwd-lookup.c (DEFAULT_CONFIG): Likewise. * nss/spwd-lookup.c (DEFAULT_CONFIG): Likewise. diff --git a/grp/initgroups.c b/grp/initgroups.c index 0d5b841..4448afe 100644 --- a/grp/initgroups.c +++ b/grp/initgroups.c @@ -26,10 +26,16 @@ #include #include #include +#include #include "../nscd/nscd-client.h" #include "../nscd/nscd_proto.h" +#ifdef LINK_OBSOLETE_NSL +# define DEFAULT_CONFIG "compat files" +#else +# define DEFAULT_CONFIG "files" +#endif /* Type of the lookup function. */ typedef enum nss_status (*initgroups_dyn_function) (const char *, gid_t, @@ -79,7 +85,7 @@ internal_getgrouplist (const char *user, gid_t group, long int *size, &__nss_initgroups_database) < 0) { if (__nss_group_database == NULL) - no_more = __nss_database_lookup ("group", NULL, "compat files", + no_more = __nss_database_lookup ("group", NULL, DEFAULT_CONFIG, &__nss_group_database); __nss_initgroups_database = __nss_group_database; diff --git a/nscd/initgrcache.c b/nscd/initgrcache.c index 4deb483..4114fbe 100644 --- a/nscd/initgrcache.c +++ b/nscd/initgrcache.c @@ -25,6 +25,7 @@ #include #include #include +#include #include "dbg_log.h" #include "nscd.h" @@ -34,6 +35,11 @@ #include "../nss/nsswitch.h" +#ifdef LINK_OBSOLETE_NSL +# define DEFAULT_CONFIG "compat [NOTFOUND=return] files" +#else +# define DEFAULT_CONFIG "files" +#endif /* Type of the lookup function. */ typedef enum nss_status (*initgroups_dyn_function) (const char *, gid_t, @@ -85,8 +91,7 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req, int no_more; if (group_database == NULL) - no_more = __nss_database_lookup ("group", NULL, - "compat [NOTFOUND=return] files", + no_more = __nss_database_lookup ("group", NULL, DEFAULT_CONFIG, &group_database); else no_more = 0; diff --git a/nss/grp-lookup.c b/nss/grp-lookup.c index 8cb00aa..7c019f8 100644 --- a/nss/grp-lookup.c +++ b/nss/grp-lookup.c @@ -16,7 +16,13 @@ License along with the GNU C Library; if not, see . */ +#include + #define DATABASE_NAME group -#define DEFAULT_CONFIG "compat [NOTFOUND=return] files" +#ifdef LINK_OBSOLETE_NSL +# define DEFAULT_CONFIG "compat [NOTFOUND=return] files" +#else +# define DEFAULT_CONFIG "files" +#endif #include "XXX-lookup.c" diff --git a/nss/nsswitch.c b/nss/nsswitch.c index 8f31658..f6365a9 100644 --- a/nss/nsswitch.c +++ b/nss/nsswitch.c @@ -40,6 +40,13 @@ #include "nsswitch.h" #include "../nscd/nscd_proto.h" #include +#include + +#ifdef LINK_OBSOLETE_NSL +# define DEFAULT_CONFIG "compat [NOTFOUND=return] files" +#else +# define DEFAULT_CONFIG "files" +#endif /* Prototypes for the local functions. */ static name_database *nss_parse_file (const char *fname) internal_function; @@ -848,8 +855,8 @@ __nss_disable_nscd (void (*cb) (size_t, struct traced_file *)) is_nscd = true; /* Find all the relevant modules so that the init functions are called. */ - nss_load_all_libraries ("passwd", "compat [NOTFOUND=return] files"); - nss_load_all_libraries ("group", "compat [NOTFOUND=return] files"); + nss_load_all_libraries ("passwd", DEFAULT_CONFIG); + nss_load_all_libraries ("group", DEFAULT_CONFIG); nss_load_all_libraries ("hosts", "dns [!UNAVAIL=return] files"); nss_load_all_libraries ("services", NULL); diff --git a/nss/pwd-lookup.c b/nss/pwd-lookup.c index 00040d4..180ac7c 100644 --- a/nss/pwd-lookup.c +++ b/nss/pwd-lookup.c @@ -16,7 +16,13 @@ License along with the GNU C Library; if not, see . */ +#include + #define DATABASE_NAME passwd -#define DEFAULT_CONFIG "compat [NOTFOUND=return] files" +#ifdef LINK_OBSOLETE_NSL +# define DEFAULT_CONFIG "compat [NOTFOUND=return] files" +#else +# define DEFAULT_CONFIG "files" +#endif #include "XXX-lookup.c" diff --git a/nss/spwd-lookup.c b/nss/spwd-lookup.c index 319a7bb..f12156d 100644 --- a/nss/spwd-lookup.c +++ b/nss/spwd-lookup.c @@ -16,8 +16,14 @@ License along with the GNU C Library; if not, see . */ +#include + #define DATABASE_NAME shadow #define ALTERNATE_NAME passwd -#define DEFAULT_CONFIG "compat [NOTFOUND=return] files" +#ifdef LINK_OBSOLETE_NSL +# define DEFAULT_CONFIG "compat [NOTFOUND=return] files" +#else +# define DEFAULT_CONFIG "files" +#endif #include "XXX-lookup.c"