diff options
author | Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> | 2001-11-16 00:25:52 +0000 |
---|---|---|
committer | Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> | 2001-11-16 00:25:52 +0000 |
commit | a2c2f90a08fcf5552b328b9f60e3bf90d87b8a9b (patch) | |
tree | 7afb6168b31ca9519584f7db40c49e7c4989bdfc /net/silc-server | |
parent | 4d70efd3f7206317114fb81b2ef3850f38b89d98 (diff) | |
download | ports-a2c2f90a08fcf5552b328b9f60e3bf90d87b8a9b.tar.gz ports-a2c2f90a08fcf5552b328b9f60e3bf90d87b8a9b.zip |
Notes
Diffstat (limited to 'net/silc-server')
-rw-r--r-- | net/silc-server/Makefile | 11 | ||||
-rw-r--r-- | net/silc-server/distinfo | 2 | ||||
-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 | ||||
-rw-r--r-- | net/silc-server/pkg-install | 8 |
8 files changed, 41 insertions, 223 deletions
diff --git a/net/silc-server/Makefile b/net/silc-server/Makefile index 575459a58dd6..0040391543f4 100644 --- a/net/silc-server/Makefile +++ b/net/silc-server/Makefile @@ -6,8 +6,7 @@ # PORTNAME= silc -PORTVERSION= 0.6.2 -PORTREVISION= 1 +PORTVERSION= 0.6.4 CATEGORIES= net security MASTER_SITES= http://www.silcnet.org/download/ \ ftp://ftp.silcnet.org/pub/silc/ \ @@ -26,15 +25,17 @@ DISTNAME= ${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION} MAINTAINER= lioux@FreeBSD.org +.ifndef(NOPORTDOCS) +RUN_DEPENDS= ${LOCALBASE}/share/doc/silc/CREDITS:${.CURDIR}/../silc-doc +.endif + USE_BZIP2= yes GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-silcd-config-file=${PREFIX}/etc/${PORTNAME}/silcd.conf \ - --with-docdir=share/doc/${PORTNAME} \ --with-etcdir=${PREFIX}/etc/${PORTNAME} \ --with-helpdir=share/${PORTNAME}/help \ --with-logsdir=${PORTNAME}/logs \ - --with-silcd-pid-file=/var/run/silcd.pid \ - --with-simdir=libexec/${PORTNAME}/modules + --with-silcd-pid-file=/var/run/silcd.pid INSTALLS_SHLIB= yes PLIST_SUB= INSTALL_DIR="${INSTALL_DIR}" PKGDEINSTALL= ${PKGINSTALL} diff --git a/net/silc-server/distinfo b/net/silc-server/distinfo index b5f884a8e537..bbb8963d92b1 100644 --- a/net/silc-server/distinfo +++ b/net/silc-server/distinfo @@ -1 +1 @@ -MD5 (silc-server-0.6.2.tar.bz2) = aaef2947dc28d6b5d3651d99213ce0c1 +MD5 (silc-server-0.6.4.tar.bz2) = de6efa6582b6fa679ee84c7be948775a diff --git a/net/silc-server/files/patch-Makefile.in b/net/silc-server/files/patch-Makefile.in index aacee5b5b5c8..922283827b73 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 17a24e0684b0..0af7d4318609 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 2a94c3781b40..000000000000 --- 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 575f9a4633f6..000000000000 --- 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 793aa99bf8cb..000000000000 --- 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); diff --git a/net/silc-server/pkg-install b/net/silc-server/pkg-install index 7ea02a81e09e..73788f8030a5 100644 --- a/net/silc-server/pkg-install +++ b/net/silc-server/pkg-install @@ -52,7 +52,7 @@ POST-INSTALL) else ${SILC_DAEMON} -C ${CONF_DIR} fi - ${INSTALL_DIR} ${PKG_PREFIX}/libexec/silc/modules ${PKG_PREFIX}/silc/logs + ${INSTALL_DIR} ${PKG_PREFIX}/silc/logs ;; DEINSTALL) @@ -72,12 +72,6 @@ DEINSTALL) done echo "$PKGNAME: Also, do not forget to 'rmdir ${CONF_DIR} 2>/dev/null'" - ${RMDIR} ${PKG_PREFIX}/libexec/silc/modules 2>/dev/null - if [ -d ${PKG_PREFIX}/libexec/silc ] - then - ${RMDIR} ${PKG_PREFIX}/libexec/silc 2>/dev/null || echo "$PKGNAME: Will not remove silc modules. If permanently removing the port, 'rm -Rf ${PKG_PREFIX}/libexec/silc'" - fi - ${RMDIR} ${PKG_PREFIX}/silc/logs 2>/dev/null if [ -d ${PKG_PREFIX}/silc ] then |