From 3f09f7b6fb13cc5dfbb1102929e84dd75bdc438f Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 8 Oct 2020 12:17:30 +0200 Subject: [PATCH] getdefs: add foreign (non-shadow-utils) items The login.defs is shared between more upstream projects (util-linux, etc.). We need to improve compatibility between the projects do not report valid, but foreign items. Addresses: https://github.com/shadow-maint/shadow/issues/276 Signed-off-by: Karel Zak --- lib/getdef.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/getdef.c b/lib/getdef.c index 54c31303..92683625 100644 --- a/lib/getdef.c +++ b/lib/getdef.c @@ -77,6 +77,16 @@ struct itemdef { {"SU_WHEEL_ONLY", NULL}, \ {"ULIMIT", NULL}, +/* + * Items used in other tools (util-linux, etc.) + */ +#define FOREIGNDEFS \ + {"ALWAYS_SET_PATH", NULL}, \ + {"ENV_ROOTPATH", NULL}, \ + {"LOGIN_KEEP_USERNAME", NULL}, \ + {"LOGIN_PLAIN_PROMPT", NULL}, \ + {"MOTD_FIRSTONLY", NULL}, \ + #define NUMDEFS (sizeof(def_table)/sizeof(def_table[0])) static struct itemdef def_table[] = { @@ -158,6 +168,7 @@ static struct itemdef knowndef_table[] = { #ifdef USE_PAM PAMDEFS #endif + FOREIGNDEFS {NULL, NULL} }; @@ -414,7 +425,6 @@ static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *name) { struct itemdef *ptr; - /* * Search into the table. */