diff --git a/net/ircd-hybrid/Makefile b/net/ircd-hybrid/Makefile index 0cedda716e2..d4a787ea642 100644 --- a/net/ircd-hybrid/Makefile +++ b/net/ircd-hybrid/Makefile @@ -1,10 +1,10 @@ -# $OpenBSD: Makefile,v 1.3 2009/02/07 09:58:42 simon Exp $ +# $OpenBSD: Makefile,v 1.4 2009/02/09 15:14:22 form Exp $ SHARED_ONLY = Yes COMMENT = Internet Relay Chat server DISTNAME = ircd-hybrid-7.2.3 -PKGNAME = ${DISTNAME}p1 +PKGNAME = ${DISTNAME}p2 CATEGORIES = net HOMEPAGE = http://ircd-hybrid.com/ diff --git a/net/ircd-hybrid/patches/patch-include_defaults_h b/net/ircd-hybrid/patches/patch-include_defaults_h index 1e256501d3f..3d06780b55e 100644 --- a/net/ircd-hybrid/patches/patch-include_defaults_h +++ b/net/ircd-hybrid/patches/patch-include_defaults_h @@ -1,7 +1,15 @@ -$OpenBSD: patch-include_defaults_h,v 1.1.1.1 2009/01/28 23:35:07 bernd Exp $ ---- include/defaults.h.orig Wed Feb 28 05:17:43 2007 -+++ include/defaults.h Tue Jan 27 21:23:01 2009 -@@ -50,11 +50,11 @@ +$OpenBSD: patch-include_defaults_h,v 1.2 2009/02/09 15:14:22 form Exp $ +--- include/defaults.h.orig Wed Feb 28 10:17:43 2007 ++++ include/defaults.h Sun Feb 8 14:28:26 2009 +@@ -47,14 +47,19 @@ + * AUTOMODPATH = directory for autoloaded modules + */ + ++/* users */ ++#ifndef IRCD_USER ++#define IRCD_USER "_ircd-hybrid" ++#endif ++ /* dirs */ #define DPATH IRCD_PREFIX #define BINPATH IRCD_PREFIX "/bin/" @@ -18,7 +26,7 @@ $OpenBSD: patch-include_defaults_h,v 1.1.1.1 2009/01/28 23:35:07 bernd Exp $ /* files */ #define SPATH BINPATH "/ircd" /* ircd executable */ -@@ -70,7 +70,7 @@ +@@ -70,7 +75,7 @@ #define RKPATH ETCPATH "/rkline.conf" #define MPATH ETCPATH "/ircd.motd" /* MOTD file */ #define LPATH LOGPATH "/ircd.log" /* ircd logfile */ diff --git a/net/ircd-hybrid/patches/patch-include_stdinc_h b/net/ircd-hybrid/patches/patch-include_stdinc_h new file mode 100644 index 00000000000..793a28a5944 --- /dev/null +++ b/net/ircd-hybrid/patches/patch-include_stdinc_h @@ -0,0 +1,12 @@ +$OpenBSD: patch-include_stdinc_h,v 1.1 2009/02/09 15:14:22 form Exp $ +--- include/stdinc.h.orig Wed Feb 28 10:17:43 2007 ++++ include/stdinc.h Sun Feb 8 14:33:40 2009 +@@ -94,6 +94,8 @@ + #include + #include + #include ++#include ++#include + + #ifdef _WIN32 + #define PATH_MAX (MAX_PATH - 1) diff --git a/net/ircd-hybrid/patches/patch-src_ircd_c b/net/ircd-hybrid/patches/patch-src_ircd_c new file mode 100644 index 00000000000..c93f02353bb --- /dev/null +++ b/net/ircd-hybrid/patches/patch-src_ircd_c @@ -0,0 +1,33 @@ +$OpenBSD: patch-src_ircd_c,v 1.1 2009/02/09 15:14:22 form Exp $ +--- src/ircd.c.orig Wed Feb 28 10:17:46 2007 ++++ src/ircd.c Sun Feb 8 14:30:08 2009 +@@ -168,7 +168,6 @@ make_daemon(void) + } + else if (pid > 0) + { +- print_startup(pid); + exit(EXIT_SUCCESS); + } + +@@ -544,8 +543,19 @@ main(int argc, char *argv[]) + #ifndef _WIN32 + if (geteuid() == 0) + { +- fprintf(stderr, "Don't run ircd as root!!!\n"); +- return(-1); ++ struct passwd *pw; ++ ++ if ((pw = getpwnam(IRCD_USER)) == NULL) ++ { ++ fprintf(stderr, "Don't run ircd as root!!!\n"); ++ return(-1); ++ } ++ ++ if (setusercontext(NULL, pw, pw->pw_uid, LOGIN_SETALL) < 0) ++ { ++ fprintf(stderr, "Can's set user context to %s!\n", IRCD_USER); ++ return (-1); ++ } + } + + /* Setup corefile size immediately after boot -kre */ diff --git a/net/ircd-hybrid/pkg/MESSAGE b/net/ircd-hybrid/pkg/MESSAGE index b4e13ee01e2..14fb5859ec7 100644 --- a/net/ircd-hybrid/pkg/MESSAGE +++ b/net/ircd-hybrid/pkg/MESSAGE @@ -2,6 +2,7 @@ To start ircd-hybrid at boot time, edit ${SYSCONFDIR}/ircd-hybrid/ircd.conf as required and insert the following into /etc/rc.local. if [ -x ${TRUEPREFIX}/bin/ircd ]; then + echo -n ' ircd' install -d -o _ircd-hybrid /var/run/ircd - sudo -u _ircd-hybrid ${TRUEPREFIX}/bin/ircd >/dev/null + ${TRUEPREFIX}/bin/ircd fi