Merge pull request #128 from jhrozek/sssd
Flush sssd caches in addition to nscd caches
This commit is contained in:
commit
58ee899dce
10
configure.ac
10
configure.ac
@ -280,6 +280,9 @@ AC_ARG_WITH(sha-crypt,
|
|||||||
AC_ARG_WITH(nscd,
|
AC_ARG_WITH(nscd,
|
||||||
[AC_HELP_STRING([--with-nscd], [enable support for nscd @<:@default=yes@:>@])],
|
[AC_HELP_STRING([--with-nscd], [enable support for nscd @<:@default=yes@:>@])],
|
||||||
[with_nscd=$withval], [with_nscd=yes])
|
[with_nscd=$withval], [with_nscd=yes])
|
||||||
|
AC_ARG_WITH(sssd,
|
||||||
|
[AC_HELP_STRING([--with-sssd], [enable support for flushing sssd caches @<:@default=yes@:>@])],
|
||||||
|
[with_sssd=$withval], [with_sssd=yes])
|
||||||
AC_ARG_WITH(group-name-max-length,
|
AC_ARG_WITH(group-name-max-length,
|
||||||
[AC_HELP_STRING([--with-group-name-max-length], [set max group name length @<:@default=16@:>@])],
|
[AC_HELP_STRING([--with-group-name-max-length], [set max group name length @<:@default=16@:>@])],
|
||||||
[with_group_name_max_length=$withval], [with_group_name_max_length=yes])
|
[with_group_name_max_length=$withval], [with_group_name_max_length=yes])
|
||||||
@ -304,6 +307,12 @@ if test "$with_nscd" = "yes"; then
|
|||||||
[AC_MSG_ERROR([posix_spawn is needed for nscd support])])
|
[AC_MSG_ERROR([posix_spawn is needed for nscd support])])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "$with_sssd" = "yes"; then
|
||||||
|
AC_CHECK_FUNC(posix_spawn,
|
||||||
|
[AC_DEFINE(USE_SSSD, 1, [Define to support flushing of sssd caches])],
|
||||||
|
[AC_MSG_ERROR([posix_spawn is needed for sssd support])])
|
||||||
|
fi
|
||||||
|
|
||||||
dnl Check for some functions in libc first, only if not found check for
|
dnl Check for some functions in libc first, only if not found check for
|
||||||
dnl other libraries. This should prevent linking libnsl if not really
|
dnl other libraries. This should prevent linking libnsl if not really
|
||||||
dnl needed (Linux glibc, Irix), but still link it if needed (Solaris).
|
dnl needed (Linux glibc, Irix), but still link it if needed (Solaris).
|
||||||
@ -679,5 +688,6 @@ echo " shadow group support: $enable_shadowgrp"
|
|||||||
echo " S/Key support: $with_skey"
|
echo " S/Key support: $with_skey"
|
||||||
echo " SHA passwords encryption: $with_sha_crypt"
|
echo " SHA passwords encryption: $with_sha_crypt"
|
||||||
echo " nscd support: $with_nscd"
|
echo " nscd support: $with_nscd"
|
||||||
|
echo " sssd support: $with_sssd"
|
||||||
echo " subordinate IDs support: $enable_subids"
|
echo " subordinate IDs support: $enable_subids"
|
||||||
echo
|
echo
|
||||||
|
@ -30,6 +30,8 @@ libshadow_la_SOURCES = \
|
|||||||
lockpw.c \
|
lockpw.c \
|
||||||
nscd.c \
|
nscd.c \
|
||||||
nscd.h \
|
nscd.h \
|
||||||
|
sssd.c \
|
||||||
|
sssd.h \
|
||||||
pam_defs.h \
|
pam_defs.h \
|
||||||
port.c \
|
port.c \
|
||||||
port.h \
|
port.h \
|
||||||
|
@ -45,6 +45,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#ifdef WITH_TCB
|
#ifdef WITH_TCB
|
||||||
#include <tcb.h>
|
#include <tcb.h>
|
||||||
#endif /* WITH_TCB */
|
#endif /* WITH_TCB */
|
||||||
@ -485,6 +486,7 @@ static void dec_lock_count (void)
|
|||||||
if (nscd_need_reload) {
|
if (nscd_need_reload) {
|
||||||
nscd_flush_cache ("passwd");
|
nscd_flush_cache ("passwd");
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_PASSWD | SSSD_DB_GROUP);
|
||||||
nscd_need_reload = false;
|
nscd_need_reload = false;
|
||||||
}
|
}
|
||||||
#ifdef HAVE_LCKPWDF
|
#ifdef HAVE_LCKPWDF
|
||||||
|
75
lib/sssd.c
Normal file
75
lib/sssd.c
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
/* Author: Peter Vrabec <pvrabec@redhat.com> */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
#ifdef USE_SSSD
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <sys/wait.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include "exitcodes.h"
|
||||||
|
#include "defines.h"
|
||||||
|
#include "prototypes.h"
|
||||||
|
#include "sssd.h"
|
||||||
|
|
||||||
|
#define MSG_SSSD_FLUSH_CACHE_FAILED "%s: Failed to flush the sssd cache.\n"
|
||||||
|
|
||||||
|
int sssd_flush_cache (int dbflags)
|
||||||
|
{
|
||||||
|
int status, code, rv;
|
||||||
|
const char *cmd = "/usr/sbin/sss_cache";
|
||||||
|
char *sss_cache_args = NULL;
|
||||||
|
const char *spawnedArgs[] = {"sss_cache", NULL, NULL};
|
||||||
|
const char *spawnedEnv[] = {NULL};
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
sss_cache_args = malloc(4);
|
||||||
|
if (sss_cache_args == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
sss_cache_args[i++] = '-';
|
||||||
|
if (dbflags & SSSD_DB_PASSWD) {
|
||||||
|
sss_cache_args[i++] = 'U';
|
||||||
|
}
|
||||||
|
if (dbflags & SSSD_DB_GROUP) {
|
||||||
|
sss_cache_args[i++] = 'G';
|
||||||
|
}
|
||||||
|
sss_cache_args[i++] = '\0';
|
||||||
|
if (i == 2) {
|
||||||
|
/* Neither passwd nor group, nothing to do */
|
||||||
|
free(sss_cache_args);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
spawnedArgs[1] = sss_cache_args;
|
||||||
|
|
||||||
|
rv = run_command (cmd, spawnedArgs, spawnedEnv, &status);
|
||||||
|
free(sss_cache_args);
|
||||||
|
if (rv != 0) {
|
||||||
|
/* run_command writes its own more detailed message. */
|
||||||
|
(void) fprintf (stderr, _(MSG_SSSD_FLUSH_CACHE_FAILED), Prog);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
code = WEXITSTATUS (status);
|
||||||
|
if (!WIFEXITED (status)) {
|
||||||
|
(void) fprintf (stderr,
|
||||||
|
_("%s: sss_cache did not terminate normally (signal %d)\n"),
|
||||||
|
Prog, WTERMSIG (status));
|
||||||
|
return -1;
|
||||||
|
} else if (code == E_CMD_NOTFOUND) {
|
||||||
|
/* sss_cache is not installed, or it is installed but uses an
|
||||||
|
interpreter that is missing. Probably the former. */
|
||||||
|
return 0;
|
||||||
|
} else if (code != 0) {
|
||||||
|
(void) fprintf (stderr, _("%s: sss_cache exited with status %d\n"),
|
||||||
|
Prog, code);
|
||||||
|
(void) fprintf (stderr, _(MSG_SSSD_FLUSH_CACHE_FAILED), Prog);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#else /* USE_SSSD */
|
||||||
|
extern int errno; /* warning: ANSI C forbids an empty source file */
|
||||||
|
#endif /* USE_SSSD */
|
||||||
|
|
17
lib/sssd.h
Normal file
17
lib/sssd.h
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#ifndef _SSSD_H_
|
||||||
|
#define _SSSD_H_
|
||||||
|
|
||||||
|
#define SSSD_DB_PASSWD 0x001
|
||||||
|
#define SSSD_DB_GROUP 0x002
|
||||||
|
|
||||||
|
/*
|
||||||
|
* sssd_flush_cache - flush specified service buffer in sssd cache
|
||||||
|
*/
|
||||||
|
#ifdef USE_SSSD
|
||||||
|
extern int sssd_flush_cache (int dbflags);
|
||||||
|
#else
|
||||||
|
#define sssd_flush_cache(service) (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -47,6 +47,7 @@
|
|||||||
#include "defines.h"
|
#include "defines.h"
|
||||||
#include "getdef.h"
|
#include "getdef.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#ifdef USE_PAM
|
#ifdef USE_PAM
|
||||||
#include "pam_defs.h"
|
#include "pam_defs.h"
|
||||||
#endif
|
#endif
|
||||||
@ -746,6 +747,7 @@ int main (int argc, char **argv)
|
|||||||
SYSLOG ((LOG_INFO, "changed user '%s' information", user));
|
SYSLOG ((LOG_INFO, "changed user '%s' information", user));
|
||||||
|
|
||||||
nscd_flush_cache ("passwd");
|
nscd_flush_cache ("passwd");
|
||||||
|
sssd_flush_cache (SSSD_DB_PASSWD);
|
||||||
|
|
||||||
closelog ();
|
closelog ();
|
||||||
exit (E_SUCCESS);
|
exit (E_SUCCESS);
|
||||||
|
@ -46,6 +46,7 @@
|
|||||||
#endif /* ACCT_TOOLS_SETUID */
|
#endif /* ACCT_TOOLS_SETUID */
|
||||||
#include "defines.h"
|
#include "defines.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
#include "groupio.h"
|
#include "groupio.h"
|
||||||
#ifdef SHADOWGRP
|
#ifdef SHADOWGRP
|
||||||
@ -581,6 +582,7 @@ int main (int argc, char **argv)
|
|||||||
close_files ();
|
close_files ();
|
||||||
|
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_GROUP);
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
@ -44,6 +44,7 @@
|
|||||||
#endif /* USE_PAM */
|
#endif /* USE_PAM */
|
||||||
#include "defines.h"
|
#include "defines.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "getdef.h"
|
#include "getdef.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
#include "pwio.h"
|
#include "pwio.h"
|
||||||
@ -624,6 +625,7 @@ int main (int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
nscd_flush_cache ("passwd");
|
nscd_flush_cache ("passwd");
|
||||||
|
sssd_flush_cache (SSSD_DB_PASSWD);
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
@ -46,6 +46,7 @@
|
|||||||
#include "defines.h"
|
#include "defines.h"
|
||||||
#include "getdef.h"
|
#include "getdef.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
#include "pwauth.h"
|
#include "pwauth.h"
|
||||||
#include "pwio.h"
|
#include "pwio.h"
|
||||||
@ -557,6 +558,7 @@ int main (int argc, char **argv)
|
|||||||
SYSLOG ((LOG_INFO, "changed user '%s' shell to '%s'", user, loginsh));
|
SYSLOG ((LOG_INFO, "changed user '%s' shell to '%s'", user, loginsh));
|
||||||
|
|
||||||
nscd_flush_cache ("passwd");
|
nscd_flush_cache ("passwd");
|
||||||
|
sssd_flush_cache (SSSD_DB_PASSWD);
|
||||||
|
|
||||||
closelog ();
|
closelog ();
|
||||||
exit (E_SUCCESS);
|
exit (E_SUCCESS);
|
||||||
|
@ -45,6 +45,7 @@
|
|||||||
#include "defines.h"
|
#include "defines.h"
|
||||||
#include "groupio.h"
|
#include "groupio.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
#ifdef SHADOWGRP
|
#ifdef SHADOWGRP
|
||||||
#include "sgroupio.h"
|
#include "sgroupio.h"
|
||||||
@ -1201,6 +1202,7 @@ int main (int argc, char **argv)
|
|||||||
close_files ();
|
close_files ();
|
||||||
|
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_GROUP);
|
||||||
|
|
||||||
exit (E_SUCCESS);
|
exit (E_SUCCESS);
|
||||||
}
|
}
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
#include "getdef.h"
|
#include "getdef.h"
|
||||||
#include "groupio.h"
|
#include "groupio.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
#ifdef SHADOWGRP
|
#ifdef SHADOWGRP
|
||||||
#include "sgroupio.h"
|
#include "sgroupio.h"
|
||||||
@ -625,6 +626,7 @@ int main (int argc, char **argv)
|
|||||||
close_files ();
|
close_files ();
|
||||||
|
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_GROUP);
|
||||||
|
|
||||||
return E_SUCCESS;
|
return E_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -49,6 +49,7 @@
|
|||||||
#include "defines.h"
|
#include "defines.h"
|
||||||
#include "groupio.h"
|
#include "groupio.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
#ifdef SHADOWGRP
|
#ifdef SHADOWGRP
|
||||||
#include "sgroupio.h"
|
#include "sgroupio.h"
|
||||||
@ -492,6 +493,7 @@ int main (int argc, char **argv)
|
|||||||
close_files ();
|
close_files ();
|
||||||
|
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_GROUP);
|
||||||
|
|
||||||
return E_SUCCESS;
|
return E_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
#include "groupio.h"
|
#include "groupio.h"
|
||||||
#include "pwio.h"
|
#include "pwio.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
#ifdef SHADOWGRP
|
#ifdef SHADOWGRP
|
||||||
#include "sgroupio.h"
|
#include "sgroupio.h"
|
||||||
@ -877,6 +878,7 @@ int main (int argc, char **argv)
|
|||||||
close_files ();
|
close_files ();
|
||||||
|
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_GROUP);
|
||||||
|
|
||||||
return E_SUCCESS;
|
return E_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -45,6 +45,7 @@
|
|||||||
#include "defines.h"
|
#include "defines.h"
|
||||||
#include "groupio.h"
|
#include "groupio.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
|
|
||||||
#ifdef SHADOWGRP
|
#ifdef SHADOWGRP
|
||||||
@ -870,6 +871,7 @@ int main (int argc, char **argv)
|
|||||||
close_files (changed);
|
close_files (changed);
|
||||||
|
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_GROUP);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Tell the user what we did and exit.
|
* Tell the user what we did and exit.
|
||||||
|
@ -48,6 +48,7 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
/*@-exitarg@*/
|
/*@-exitarg@*/
|
||||||
#include "exitcodes.h"
|
#include "exitcodes.h"
|
||||||
@ -273,6 +274,7 @@ int main (int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_GROUP);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -48,6 +48,7 @@
|
|||||||
#include <grp.h>
|
#include <grp.h>
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
/*@-exitarg@*/
|
/*@-exitarg@*/
|
||||||
#include "exitcodes.h"
|
#include "exitcodes.h"
|
||||||
@ -236,6 +237,7 @@ int main (int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_GROUP);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -62,6 +62,7 @@
|
|||||||
#include "getdef.h"
|
#include "getdef.h"
|
||||||
#include "groupio.h"
|
#include "groupio.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "pwio.h"
|
#include "pwio.h"
|
||||||
#include "sgroupio.h"
|
#include "sgroupio.h"
|
||||||
#include "shadowio.h"
|
#include "shadowio.h"
|
||||||
@ -1233,6 +1234,7 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
nscd_flush_cache ("passwd");
|
nscd_flush_cache ("passwd");
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_PASSWD | SSSD_DB_GROUP);
|
||||||
|
|
||||||
#ifdef USE_PAM
|
#ifdef USE_PAM
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
#include "defines.h"
|
#include "defines.h"
|
||||||
#include "getdef.h"
|
#include "getdef.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
#include "pwauth.h"
|
#include "pwauth.h"
|
||||||
#include "pwio.h"
|
#include "pwio.h"
|
||||||
@ -1150,6 +1151,7 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
nscd_flush_cache ("passwd");
|
nscd_flush_cache ("passwd");
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_PASSWD | SSSD_DB_GROUP);
|
||||||
|
|
||||||
SYSLOG ((LOG_INFO, "password for '%s' changed by '%s'", name, myname));
|
SYSLOG ((LOG_INFO, "password for '%s' changed by '%s'", name, myname));
|
||||||
closelog ();
|
closelog ();
|
||||||
|
@ -48,6 +48,7 @@
|
|||||||
#include "shadowio.h"
|
#include "shadowio.h"
|
||||||
#include "getdef.h"
|
#include "getdef.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#ifdef WITH_TCB
|
#ifdef WITH_TCB
|
||||||
#include "tcbfuncs.h"
|
#include "tcbfuncs.h"
|
||||||
#endif /* WITH_TCB */
|
#endif /* WITH_TCB */
|
||||||
@ -877,6 +878,7 @@ int main (int argc, char **argv)
|
|||||||
close_files (changed);
|
close_files (changed);
|
||||||
|
|
||||||
nscd_flush_cache ("passwd");
|
nscd_flush_cache ("passwd");
|
||||||
|
sssd_flush_cache (SSSD_DB_PASSWD);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Tell the user what we did and exit.
|
* Tell the user what we did and exit.
|
||||||
|
@ -72,6 +72,7 @@
|
|||||||
#include "pwio.h"
|
#include "pwio.h"
|
||||||
#include "shadowio.h"
|
#include "shadowio.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* exit status values
|
* exit status values
|
||||||
@ -328,6 +329,7 @@ int main (int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
nscd_flush_cache ("passwd");
|
nscd_flush_cache ("passwd");
|
||||||
|
sssd_flush_cache (SSSD_DB_PASSWD);
|
||||||
|
|
||||||
return E_SUCCESS;
|
return E_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -42,6 +42,7 @@
|
|||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
#include "defines.h"
|
#include "defines.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
#include "pwio.h"
|
#include "pwio.h"
|
||||||
#include "shadowio.h"
|
#include "shadowio.h"
|
||||||
@ -250,6 +251,7 @@ int main (int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
nscd_flush_cache ("passwd");
|
nscd_flush_cache ("passwd");
|
||||||
|
sssd_flush_cache (SSSD_DB_PASSWD);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -60,6 +60,7 @@
|
|||||||
#include "getdef.h"
|
#include "getdef.h"
|
||||||
#include "groupio.h"
|
#include "groupio.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
#include "pwauth.h"
|
#include "pwauth.h"
|
||||||
#include "pwio.h"
|
#include "pwio.h"
|
||||||
@ -2425,6 +2426,7 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
nscd_flush_cache ("passwd");
|
nscd_flush_cache ("passwd");
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_PASSWD | SSSD_DB_GROUP);
|
||||||
|
|
||||||
return E_SUCCESS;
|
return E_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -53,6 +53,7 @@
|
|||||||
#include "getdef.h"
|
#include "getdef.h"
|
||||||
#include "groupio.h"
|
#include "groupio.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
#include "pwauth.h"
|
#include "pwauth.h"
|
||||||
#include "pwio.h"
|
#include "pwio.h"
|
||||||
@ -1328,6 +1329,7 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
nscd_flush_cache ("passwd");
|
nscd_flush_cache ("passwd");
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_PASSWD | SSSD_DB_GROUP);
|
||||||
|
|
||||||
return ((0 != errors) ? E_HOMEDIR : E_SUCCESS);
|
return ((0 != errors) ? E_HOMEDIR : E_SUCCESS);
|
||||||
}
|
}
|
||||||
|
@ -57,6 +57,7 @@
|
|||||||
#include "getdef.h"
|
#include "getdef.h"
|
||||||
#include "groupio.h"
|
#include "groupio.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
#include "pwauth.h"
|
#include "pwauth.h"
|
||||||
#include "pwio.h"
|
#include "pwio.h"
|
||||||
@ -2255,6 +2256,7 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
nscd_flush_cache ("passwd");
|
nscd_flush_cache ("passwd");
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_PASSWD | SSSD_DB_GROUP);
|
||||||
|
|
||||||
#ifdef WITH_SELINUX
|
#ifdef WITH_SELINUX
|
||||||
if (Zflg) {
|
if (Zflg) {
|
||||||
|
@ -42,6 +42,7 @@
|
|||||||
#include "defines.h"
|
#include "defines.h"
|
||||||
#include "groupio.h"
|
#include "groupio.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
|
#include "sssd.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
#include "pwio.h"
|
#include "pwio.h"
|
||||||
#include "sgroupio.h"
|
#include "sgroupio.h"
|
||||||
@ -556,6 +557,7 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
nscd_flush_cache ("passwd");
|
nscd_flush_cache ("passwd");
|
||||||
nscd_flush_cache ("group");
|
nscd_flush_cache ("group");
|
||||||
|
sssd_flush_cache (SSSD_DB_PASSWD | SSSD_DB_GROUP);
|
||||||
|
|
||||||
return E_SUCCESS;
|
return E_SUCCESS;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user