diff options
author | lioux <lioux@FreeBSD.org> | 2001-11-16 00:25:52 +0000 |
---|---|---|
committer | lioux <lioux@FreeBSD.org> | 2001-11-16 00:25:52 +0000 |
commit | 68bc162c0e001097a83f18868de060b0913d70ef (patch) | |
tree | eb48014f21564a4a82ed5c82ff59e9e12f7d4d7f /net/silc-server/files | |
parent | 118a4d487ecc5e9071a45f3c30123c4b7fa7da4a (diff) | |
download | FreeBSD-ports-68bc162c0e001097a83f18868de060b0913d70ef.zip FreeBSD-ports-68bc162c0e001097a83f18868de060b0913d70ef.tar.gz |
o Update to 0.6.6
o Depend on silc-doc instead of installation documentation by itself
o Update PKG{,DE}INSTALL: do not create/remove modules directory.
There are no modules for BSD platforms yet
Reviewed by: Anders Nor Berle <debolaz@debolaz.com>
Diffstat (limited to 'net/silc-server/files')
-rw-r--r-- | net/silc-server/files/patch-Makefile.in | 34 | ||||
-rw-r--r-- | net/silc-server/files/patch-lib:silccrypt:silcrng.c | 8 | ||||
-rw-r--r-- | net/silc-server/files/patch-silcd:server.c | 121 | ||||
-rw-r--r-- | net/silc-server/files/patch-silcd:server.h | 10 | ||||
-rw-r--r-- | net/silc-server/files/patch-silcd:silcd.c | 70 |
5 files changed, 33 insertions, 210 deletions
diff --git a/net/silc-server/files/patch-Makefile.in b/net/silc-server/files/patch-Makefile.in index aacee5b..9222838 100644 --- a/net/silc-server/files/patch-Makefile.in +++ b/net/silc-server/files/patch-Makefile.in @@ -1,6 +1,29 @@ ---- Makefile.in.orig Wed Nov 7 17:16:23 2001 -+++ Makefile.in Fri Nov 9 15:26:33 2001 -@@ -538,18 +538,13 @@ +--- Makefile.in.orig Sun Nov 11 15:02:16 2001 ++++ Makefile.in Mon Nov 12 22:15:00 2001 +@@ -145,9 +145,9 @@ + + AUTOMAKE_OPTIONS = 1.0 no-dependencies foreign + +-COMMONDIRS = lib irssi silc silcd doc includes +-SUBDIRS = lib silcd doc includes +-DIST_SUBDIRS = lib silcd doc includes ++COMMONDIRS = lib irssi silcd includes ++SUBDIRS = lib silcd includes ++DIST_SUBDIRS = lib silcd includes + + # + # INCLUDE defines +@@ -512,9 +512,6 @@ + + install-dirs: + -mkdir -p $(etcdir) +- -mkdir -p $(modulesdir) +- -mkdir -p $(helpdir) +- -mkdir -p $(docdir) + -mkdir -p $(logsdir) + + generate-server-key: +@@ -538,18 +535,13 @@ $(INSTALL_DATA) $(srcdir)/TODO $(docdir)/ etc-install: @@ -16,9 +39,10 @@ + $(etcdir)/silcd.conf.sample; \ fi - @SILC_DIST_CLIENT_TRUE@install-data-hook: install-dirs sim-install doc-install etc-install +-@SILC_DIST_CLIENT_TRUE@install-data-hook: install-dirs sim-install doc-install etc-install -@SILC_DIST_CLIENT_FALSE@install-data-hook: install-dirs generate-server-key sim-install doc-install etc-install -+@SILC_DIST_CLIENT_FALSE@install-data-hook: install-dirs sim-install doc-install etc-install ++@SILC_DIST_CLIENT_TRUE@install-data-hook: install-dirs etc-install ++@SILC_DIST_CLIENT_FALSE@install-data-hook: install-dirs etc-install # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/net/silc-server/files/patch-lib:silccrypt:silcrng.c b/net/silc-server/files/patch-lib:silccrypt:silcrng.c index 17a24e0..0af7d43 100644 --- a/net/silc-server/files/patch-lib:silccrypt:silcrng.c +++ b/net/silc-server/files/patch-lib:silccrypt:silcrng.c @@ -1,5 +1,5 @@ ---- lib/silccrypt/silcrng.c.orig Sun Nov 4 07:59:11 2001 -+++ lib/silccrypt/silcrng.c Thu Nov 8 14:34:30 2001 +--- lib/silccrypt/silcrng.c.orig Wed Nov 14 12:44:05 2001 ++++ lib/silccrypt/silcrng.c Wed Nov 14 22:19:57 2001 @@ -28,12 +28,23 @@ #include "silcincludes.h" @@ -15,11 +15,11 @@ +#else + #ifdef HAVE_GETSID - extern __pid_t getsid (__pid_t __pid); + extern pid_t getsid (pid_t __pid); #endif #ifdef HAVE_GETPGID - extern __pid_t getpgid (__pid_t __pid); + extern pid_t getpgid (pid_t __pid); +#endif #endif diff --git a/net/silc-server/files/patch-silcd:server.c b/net/silc-server/files/patch-silcd:server.c deleted file mode 100644 index 2a94c37..0000000 --- a/net/silc-server/files/patch-silcd:server.c +++ /dev/null @@ -1,121 +0,0 @@ ---- silcd/server.c.orig Wed Nov 7 20:15:20 2001 -+++ silcd/server.c Sat Nov 10 12:50:39 2001 -@@ -356,19 +356,42 @@ int silc_server_init(SilcServer server) - return FALSE; - } - --/* Fork server to background and set gid+uid to non-root. -- Silcd will not run as root, so trying to set either user or group to -- root will cause silcd to exit. */ -+/* Fork server to background and set gid+uid to non-root */ - - void silc_server_daemonise(SilcServer server) - { -+ int i; -+ -+ i = fork (); -+ -+ if (i) { -+ if (i > 0) { -+ if (geteuid()) -+ SILC_LOG_DEBUG(("Server started as user")); -+ else -+ SILC_LOG_DEBUG(("Server started as root. Dropping privileges.")); -+ -+ SILC_LOG_DEBUG(("Forking SILC server to background")); -+ exit(0); -+ } else { -+ SILC_LOG_DEBUG(("fork() failed, cannot proceed")); -+ exit(1); -+ } -+ } -+ setsid(); -+} -+ -+/* Drop root privligies. If this cannot be done, die. */ -+ -+void silc_server_drop(SilcServer server) -+{ - /* Are we executing silcd as root or a regular user? */ -- if (geteuid()==0) { -- -+ if (!geteuid()) { -+ - struct passwd *pw; - struct group *gr; - char *user, *group; -- -+ - if (!server->config->identity || !server->config->identity->user || - !server->config->identity->group) { - fprintf(stderr, "Error:" -@@ -378,11 +401,11 @@ void silc_server_daemonise(SilcServer se - "\tthe server as non-root user.\n"); - exit(1); - } -- -+ - /* Get the values given for user and group in configuration file */ - user=server->config->identity->user; - group=server->config->identity->group; -- -+ - /* Check whether the user/group information is text */ - if (atoi(user)!=0 || atoi(group)!=0) { - SILC_LOG_DEBUG(("Invalid user and/or group information")); -@@ -391,14 +414,14 @@ void silc_server_daemonise(SilcServer se - fprintf(stderr, "Please assign them as names, not numbers\n"); - exit(1); - } -- -+ - /* Catch the nasty incident of string "0" returning 0 from atoi */ - if (strcmp("0", user)==0 || strcmp("0", group)==0) { - SILC_LOG_DEBUG(("User and/or group configured to 0. Unacceptable")); - fprintf(stderr, "User and/or group configured to 0. Exiting\n"); - exit(1); - } -- -+ - pw=getpwnam(user); - gr=getgrnam(group); - -@@ -411,7 +434,7 @@ void silc_server_daemonise(SilcServer se - fprintf(stderr, "No such group %s found\n", group); - exit(1); - } -- -+ - /* Check whether user and/or group is set to root. If yes, exit - immediately. Otherwise, setgid and setuid server to user.group */ - if (gr->gr_gid==0 || pw->pw_uid==0) { -@@ -422,14 +445,6 @@ void silc_server_daemonise(SilcServer se - "\tthe server as non-root user.\n"); - exit(1); - } else { -- /* Fork server to background, making it a daemon */ -- if (fork()) { -- SILC_LOG_DEBUG(("Server started as root. Dropping privileges.")); -- SILC_LOG_DEBUG(("Forking SILC server to background")); -- exit(0); -- } -- setsid(); -- - SILC_LOG_DEBUG(("Changing to group %s", group)); - if(setgid(gr->gr_gid)==0) { - SILC_LOG_DEBUG(("Setgid to %s", group)); -@@ -449,14 +464,6 @@ void silc_server_daemonise(SilcServer se - exit(1); - } - } -- } else { -- /* Fork server to background, making it a daemon */ -- if (fork()) { -- SILC_LOG_DEBUG(("Server started as user")); -- SILC_LOG_DEBUG(("Forking SILC server to background")); -- exit(0); -- } -- setsid(); - } - } - diff --git a/net/silc-server/files/patch-silcd:server.h b/net/silc-server/files/patch-silcd:server.h deleted file mode 100644 index 575f9a4..0000000 --- a/net/silc-server/files/patch-silcd:server.h +++ /dev/null @@ -1,10 +0,0 @@ ---- silcd/server.h.orig Mon Oct 22 23:41:38 2001 -+++ silcd/server.h Sat Nov 10 12:02:26 2001 -@@ -121,6 +121,7 @@ int silc_server_alloc(SilcServer *new_se - void silc_server_free(SilcServer server); - int silc_server_init(SilcServer server); - void silc_server_daemonise(SilcServer server); -+void silc_server_drop(SilcServer server); - void silc_server_run(SilcServer server); - void silc_server_stop(SilcServer server); - void silc_server_start_key_exchange(SilcServer server, diff --git a/net/silc-server/files/patch-silcd:silcd.c b/net/silc-server/files/patch-silcd:silcd.c deleted file mode 100644 index 793aa99..0000000 --- a/net/silc-server/files/patch-silcd:silcd.c +++ /dev/null @@ -1,70 +0,0 @@ ---- silcd/silcd.c.orig Wed Nov 7 18:33:19 2001 -+++ silcd/silcd.c Sat Nov 10 22:35:36 2001 -@@ -43,6 +43,7 @@ static struct option long_opts[] = - { "config-file", 1, NULL, 'f' }, - { "debug", 1, NULL, 'd' }, - { "help", 0, NULL, 'h' }, -+ { "no-daemon", 0, NULL, 'n' }, - { "version", 0, NULL,'V' }, - - /* Key management options */ -@@ -70,8 +71,9 @@ Usage: silcd [options]\n\ - \n\ - Generic Options:\n\ - -f --config-file=FILE Alternate configuration file\n\ -- -d --debug=string Enable debugging (no daemon)\n\ -+ -d --debug=string Enable debugging (Implies --no-daemon)\n\ - -h --help Display this message\n\ -+ -n --no-daemon Dont fork\n\ - -V --version Display version\n\ - \n\ - Key Management Options:\n\ -@@ -99,6 +101,7 @@ int main(int argc, char **argv) - { - int ret; - int opt, option_index; -+ int daemon = TRUE; - char *config_file = NULL; - SilcServer silcd; - struct sigaction sa; -@@ -108,7 +111,7 @@ int main(int argc, char **argv) - - /* Parse command line arguments */ - if (argc > 1) { -- while ((opt = getopt_long(argc, argv, "cf:d:hVC:", -+ while ((opt = getopt_long(argc, argv, "cf:d:hnVC:", - long_opts, &option_index)) != EOF) { - switch(opt) - { -@@ -130,6 +133,9 @@ int main(int argc, char **argv) - case 'f': - config_file = strdup(optarg); - break; -+ case 'n': -+ daemon = FALSE; -+ break; - - /* - * Key management options -@@ -195,9 +201,8 @@ int main(int argc, char **argv) - sigemptyset(&sa.sa_mask); - sigaction(SIGPIPE, &sa, NULL); - -- if (silc_debug == FALSE) -- /* Before running the server, fork to background and set -- both user and group no non-root */ -+ if ((silc_debug == FALSE) && daemon) -+ /* Before running the server, fork to background. */ - silc_server_daemonise(silcd); - - /* Set /var/run/silcd.pid */ -@@ -206,6 +211,9 @@ int main(int argc, char **argv) - snprintf(pid, sizeof(pid) - 1, "%d\n", getpid()); - silc_file_writefile(SILC_SERVER_PID_FILE, pid, strlen(pid)); - -+ /* Drop root. */ -+ silc_server_drop(silcd); -+ - /* Run the server. When this returns the server has been stopped - and we will exit. */ - silc_server_run(silcd); |