summaryrefslogtreecommitdiff
path: root/source3/web/startstop.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2002-08-17 14:34:48 +0000
committerJelmer Vernooij <jelmer@samba.org>2002-08-17 14:34:48 +0000
commitfcbb06414d2c8385ce4e68f23905a528c8fbd4e8 (patch)
treec144a08aabe318863920dd5bfac4ce9bd84f265f /source3/web/startstop.c
parente51ed63864a4e334e0e5ca518750892480e37d52 (diff)
downloadsamba-fcbb06414d2c8385ce4e68f23905a528c8fbd4e8.tar.gz
samba-fcbb06414d2c8385ce4e68f23905a528c8fbd4e8.tar.bz2
samba-fcbb06414d2c8385ce4e68f23905a528c8fbd4e8.zip
sync 3.0 branch with HEAD
(This used to be commit d53d77cc8e21dfbfd376d529661ef299e14e31a0)
Diffstat (limited to 'source3/web/startstop.c')
-rw-r--r--source3/web/startstop.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/source3/web/startstop.c b/source3/web/startstop.c
index 893784dd55..e10dff4118 100644
--- a/source3/web/startstop.c
+++ b/source3/web/startstop.c
@@ -67,6 +67,27 @@ void start_nmbd(void)
exit(0);
}
+/** Startup winbindd from web interface. */
+void start_winbindd(void)
+{
+ pstring binfile;
+
+ if (geteuid() != 0) return;
+
+ if (fork()) {
+ sleep(SLEEP_TIME);
+ return;
+ }
+
+ slprintf(binfile, sizeof(pstring) - 1, "%s/winbindd", dyn_SBINDIR);
+
+ become_daemon();
+
+ execl(binfile, binfile, NULL);
+
+ exit(0);
+}
+
/* stop smbd */
void stop_smbd(void)
@@ -91,7 +112,19 @@ void stop_nmbd(void)
kill(pid, SIGTERM);
}
+#ifdef WITH_WINBIND
+/* stop winbindd */
+void stop_winbindd(void)
+{
+ pid_t pid = pidfile_pid("winbindd");
+ if (geteuid() != 0) return;
+
+ if (pid <= 0) return;
+
+ kill(pid, SIGTERM);
+}
+#endif
/* kill a specified process */
void kill_pid(pid_t pid)
{