summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/Makefile.in3
-rw-r--r--server/conf_macros.m416
-rw-r--r--server/configure.ac1
-rw-r--r--server/sysv/sssd106
4 files changed, 126 insertions, 0 deletions
diff --git a/server/Makefile.in b/server/Makefile.in
index 97b71128..329d0622 100644
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -11,6 +11,7 @@ bindir = @bindir@
sbindir = @sbindir@
mandir = @mandir@
localstatedir = @localstatedir@
+initrddir = @initrddir@
VPATH = @srcdir@:@libreplacedir@
srcdir = @srcdir@
builddir = @builddir@
@@ -163,6 +164,7 @@ install:: all installdirs installheaders installlibs installbin installsupport
${INSTALLCMD} -d $(DESTDIR)$(sbindir)
${INSTALLCMD} -m 755 sbin/sssd $(DESTDIR)$(sbindir)
${INSTALLCMD} -m 755 $(TOOLSBINS) $(DESTDIR)$(sbindir)
+ ${INSTALLCMD} -m 755 sysv/sssd $(DESTDIR)$(initrddir)
${INSTALLCMD} -d $(DESTDIR)$(SSSD_LIBEXEC_PATH)
${INSTALLCMD} -m 755 $(LIBEXECBINS) $(DESTDIR)$(SSSD_LIBEXEC_PATH)
@@ -170,6 +172,7 @@ installdirs::
mkdir -p $(DESTDIR)$(includedir) \
$(DESTDIR)$(libdir) \
$(DESTDIR)$(sbindir) \
+ $(DESTDIR)$(initrddir) \
$(DESTDIR)$(SSSD_LIBDIR) \
$(DESTDIR)$(LDB_LIBDIR) \
$(DESTDIR)$(DBUS_SYSBUS_POLICY_DIR) \
diff --git a/server/conf_macros.m4 b/server/conf_macros.m4
index a65b5130..e5ecaa70 100644
--- a/server/conf_macros.m4
+++ b/server/conf_macros.m4
@@ -107,3 +107,19 @@ AC_DEFUN(WITH_TESTS,
fi
])
+AC_DEFUN(WITH_INITRD_DIR,
+ [ AC_ARG_WITH([initrd-dir],
+ [AC_HELP_STRING([--with-initrd-dir=DIR],
+ [Where to store init script for sssd [/etc/rc.d/init.d]]
+ )
+ ]
+ )
+ initrddir="/etc/rc.d/init.d"
+ if test x"$with_initrd_dir" != x; then
+ initrddir=$with_initrd_dir
+ fi
+ AC_SUBST(initrddir)
+ AC_DEFINE_UNQUOTED(INITRD_DIR, "$initrddir", [Where to store init script for sssd])
+ ])
+
+
diff --git a/server/configure.ac b/server/configure.ac
index 0c1036a9..f12a75c5 100644
--- a/server/configure.ac
+++ b/server/configure.ac
@@ -44,6 +44,7 @@ WITH_PIPE_PATH
WITH_INFOPIPE
WITH_POLICYKIT
WITH_TESTS
+WITH_INITRD_DIR
m4_include(pkg.m4)
m4_include(libpopt.m4)
diff --git a/server/sysv/sssd b/server/sysv/sssd
new file mode 100644
index 00000000..e4f6c47b
--- /dev/null
+++ b/server/sysv/sssd
@@ -0,0 +1,106 @@
+#!/bin/sh
+#
+#
+# chkconfig: 2345 40 60
+# description: Provides a set of daemons to manage access to remote directories
+# and authentication mechanisms. It provides an NSS and PAM
+# interface toward the system and a pluggable backend system to
+# connect to multiple different account sources. It is also the
+# basis to provide client auditing and policy services for projects
+# like FreeIPA.
+#
+
+RETVAL=0
+prog="sssd"
+
+# Source function library.
+. /etc/init.d/functions
+
+SSSD=/usr/sbin/sssd
+
+LOCK_FILE=/var/lock/subsys/sssd
+PID_FILE=/var/run/sssd.pid
+
+start() {
+ [ -x $SSSD ] || exit 5
+ echo -n $"Starting $prog: "
+ daemon $SSSD -D && success || failure
+ RETVAL=$?
+ [ "$RETVAL" = 0 ] && touch $LOCK_FILE
+ echo
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ killproc -p $PID_FILE $SSSD -TERM
+ RETVAL=$?
+ [ "$RETVAL" = 0 ] && rm -f $LOCK_FILE
+ echo
+}
+
+reload() {
+ echo -n $"Reloading $prog: "
+ killproc $SSSD -HUP
+ echo
+}
+
+restart() {
+ stop
+ start
+}
+
+reload() {
+ restart
+}
+
+force_reload() {
+ restart
+}
+
+rh_status() {
+ # run checks to determine if the service is running or use generic status
+ status $prog
+}
+
+rh_status_q() {
+ rh_status >/dev/null 2>&1
+}
+
+case "$1" in
+ start)
+ rh_status_q && exit 0
+ $1
+ ;;
+
+ stop)
+ rh_status_q || exit 0
+ $1
+ ;;
+
+ restart)
+ $1
+ ;;
+
+ reload)
+ rh_status_q || exit 7
+ $1
+ ;;
+
+ force-reload)
+ force_reload
+ ;;
+
+ status)
+ rh_status
+ ;;
+
+ condrestart|try-restart)
+ rh_status_q || exit 0
+ restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ exit 2
+esac
+exit $?
+