From: Alejandro Colomar Date: Sun, 10 Nov 2024 15:48:15 +0000 (+0100) Subject: lib/shadow/, lib/, src/: endsgent(): Move to separate file X-Git-Tag: 4.19.0-rc1~143 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1517519ec26cba3745fb025193bc65ddb7903d0a;p=thirdparty%2Fshadow.git lib/shadow/, lib/, src/: endsgent(): Move to separate file Signed-off-by: Alejandro Colomar --- diff --git a/lib/Makefile.am b/lib/Makefile.am index fdbdc968d..74f16b376 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -174,6 +174,8 @@ libshadow_la_SOURCES = \ sgroupio.h \ shadow/grp/agetgroups.c \ shadow/grp/agetgroups.h \ + shadow/gshadow/endsgent.c \ + shadow/gshadow/endsgent.h \ shadow/gshadow/gshadow.c \ shadow/gshadow/gshadow.h \ shadow/gshadow/putsgent.c \ diff --git a/lib/age.c b/lib/age.c index cbaea09eb..bdb789e30 100644 --- a/lib/age.c +++ b/lib/age.c @@ -20,6 +20,7 @@ #include "defines.h" #include "exitcodes.h" #include "prototypes.h" +#include "shadow/gshadow/endsgent.h" #ident "$Id$" diff --git a/lib/gshadow.c b/lib/gshadow.c index 4c5ac4191..b88bba035 100644 --- a/lib/gshadow.c +++ b/lib/gshadow.c @@ -55,15 +55,6 @@ void setsgent (void) } } -void endsgent (void) -{ - if (NULL != gshadow) { - fclose(gshadow); - } - - gshadow = NULL; -} - /*@observer@*//*@null@*/struct sgrp * sgetsgent(const char *s) { diff --git a/lib/gshadow_.h b/lib/gshadow_.h index 21fa21061..618e04369 100644 --- a/lib/gshadow_.h +++ b/lib/gshadow_.h @@ -35,7 +35,6 @@ struct sgrp { /*@observer@*//*@null@*/struct sgrp *sgetsgent (const char *); /*@observer@*//*@null@*/struct sgrp *fgetsgent (/*@null@*/FILE *); void setsgent (void); -void endsgent (void); #define GSHADOW "/etc/gshadow" diff --git a/lib/shadow/gshadow/endsgent.c b/lib/shadow/gshadow/endsgent.c new file mode 100644 index 000000000..5cfb2d4d2 --- /dev/null +++ b/lib/shadow/gshadow/endsgent.c @@ -0,0 +1,30 @@ +// SPDX-FileCopyrightText: 1990-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-1998, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2005, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2008-2009, Nicolas François +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include "config.h" + +#include "shadow/gshadow/endsgent.h" + +#include +#include + +#include "shadow/gshadow/gshadow.h" + + +#if defined(SHADOWGRP) && !__has_include() +// end-working-with shadow group entries +void +endsgent(void) +{ + if (NULL != gshadow) { + fclose(gshadow); + } + + gshadow = NULL; +} +#endif diff --git a/lib/shadow/gshadow/endsgent.h b/lib/shadow/gshadow/endsgent.h new file mode 100644 index 000000000..b1cde28c0 --- /dev/null +++ b/lib/shadow/gshadow/endsgent.h @@ -0,0 +1,22 @@ +// SPDX-FileCopyrightText: 1988-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-1997, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2003-2005, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_SHADOW_GSHADOW_ENDSGENT_H_ +#define SHADOW_INCLUDE_LIB_SHADOW_GSHADOW_ENDSGENT_H_ + + +#include "config.h" + + +#if __has_include() +# include +#else +void endsgent(void); +#endif + + +#endif // include guard diff --git a/src/login.c b/src/login.c index ff6b98e07..7b567aae8 100644 --- a/src/login.c +++ b/src/login.c @@ -37,6 +37,7 @@ #include "getdef.h" #include "prototypes.h" #include "pwauth.h" +#include "shadow/gshadow/endsgent.h" #include "shadowlog.h" #include "string/memset/memzero.h" #include "string/sprintf/snprintf.h" diff --git a/src/newgrp.c b/src/newgrp.c index 0d9cb3395..91cede727 100644 --- a/src/newgrp.c +++ b/src/newgrp.c @@ -27,6 +27,7 @@ #include "search/l/lfind.h" #include "search/l/lsearch.h" #include "shadow/grp/agetgroups.h" +#include "shadow/gshadow/endsgent.h" #include "shadowlog.h" #include "string/sprintf/snprintf.h" #include "string/strcmp/streq.h" diff --git a/src/usermod.c b/src/usermod.c index 8295165a5..47c254750 100644 --- a/src/usermod.c +++ b/src/usermod.c @@ -60,6 +60,7 @@ #ifdef WITH_TCB #include "tcbfuncs.h" #endif +#include "shadow/gshadow/endsgent.h" #include "shadowlog.h" #include "sssd.h" #include "string/memset/memzero.h"