From: Dimitri John Ledkov Date: Fri, 27 Feb 2015 11:23:58 +0000 (+0000) Subject: Do not bail out on missing login.defs. X-Git-Tag: 4.3.0~6^2~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=51c1fc93e36ac90ef1f6273832d3c5ea11f2180e;p=shadow Do not bail out on missing login.defs. For most operations tools have compiled-in defaults, and thus can operate without login.defs present. --- diff --git a/lib/getdef.c b/lib/getdef.c index b5f780ca..c2f2dfb4 100644 --- a/lib/getdef.c +++ b/lib/getdef.c @@ -416,23 +416,26 @@ static void def_load (void) FILE *fp; char buf[1024], *name, *value, *s; + /* + * Set the initialized flag. + * (do it early to prevent recursion in putdef_str()) + */ + def_loaded = true; + /* * Open the configuration definitions file. */ fp = fopen (def_fname, "r"); if (NULL == fp) { + if (errno == ENOENT) + return; + int err = errno; SYSLOG ((LOG_CRIT, "cannot open login definitions %s [%s]", def_fname, strerror (err))); exit (EXIT_FAILURE); } - /* - * Set the initialized flag. - * (do it early to prevent recursion in putdef_str()) - */ - def_loaded = true; - /* * Go through all of the lines in the file. */