f93cf255d4
Closes #238 Update all files to list SPDX license shortname. Most files are BSD 3 clause license. The exceptions are: serge@sl ~/src/shadow$ git grep SPDX-License | grep -v BSD-3-Clause contrib/atudel:# SPDX-License-Identifier: BSD-4-Clause lib/tcbfuncs.c: * SPDX-License-Identifier: 0BSD libmisc/salt.c: * SPDX-License-Identifier: Unlicense src/login_nopam.c: * SPDX-License-Identifier: Unlicense src/nologin.c: * SPDX-License-Identifier: BSD-2-Clause src/vipw.c: * SPDX-License-Identifier: GPL-2.0-or-later Signed-off-by: Serge Hallyn <serge@hallyn.com>
86 lines
1.2 KiB
C
86 lines
1.2 KiB
C
/*
|
|
* SPDX-FileCopyrightText: 1992 , Julianne Frances Haugh
|
|
* SPDX-FileCopyrightText: 1996 - 1998, Marek Michałkiewicz
|
|
* SPDX-FileCopyrightText: 2005 , Tomasz Kłoczko
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#include <config.h>
|
|
|
|
#ifndef HAVE_LCKPWDF
|
|
|
|
#ident "$Id$"
|
|
|
|
#include "prototypes.h"
|
|
#include "defines.h"
|
|
#include "pwio.h"
|
|
#include "shadowio.h"
|
|
/*
|
|
* lckpwdf - lock the password files
|
|
*/
|
|
int lckpwdf (void)
|
|
{
|
|
int i;
|
|
|
|
/*
|
|
* We have 15 seconds to lock the whole mess
|
|
*/
|
|
|
|
for (i = 0; i < 15; i++)
|
|
if (pw_lock ())
|
|
break;
|
|
else
|
|
sleep (1);
|
|
|
|
/*
|
|
* Did we run out of time?
|
|
*/
|
|
|
|
if (i == 15)
|
|
return -1;
|
|
|
|
/*
|
|
* Nope, use any remaining time to lock the shadow password
|
|
* file.
|
|
*/
|
|
|
|
for (; i < 15; i++)
|
|
if (spw_lock ())
|
|
break;
|
|
else
|
|
sleep (1);
|
|
|
|
/*
|
|
* Out of time yet?
|
|
*/
|
|
|
|
if (i == 15) {
|
|
pw_unlock ();
|
|
return -1;
|
|
}
|
|
|
|
/*
|
|
* Nope - and both files are now locked.
|
|
*/
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
* ulckpwdf - unlock the password files
|
|
*/
|
|
|
|
int ulckpwdf (void)
|
|
{
|
|
|
|
/*
|
|
* Unlock both files.
|
|
*/
|
|
|
|
return (pw_unlock () && spw_unlock ())? 0 : -1;
|
|
}
|
|
#else
|
|
extern int errno; /* warning: ANSI C forbids an empty source file */
|
|
#endif
|