- Make setuid operation and user creation configurable, as requested by users

PR:		111915
Submitted by:	Sten Spans <sten@blinkenlights.nl> (maintainer)
This commit is contained in:
Martin Wilke 2007-05-30 05:51:26 +00:00
parent 20e4e38d89
commit f512eeee4f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=192362
3 changed files with 23 additions and 14 deletions

View file

@ -7,7 +7,7 @@
PORTNAME= powerdns-recursor
PORTVERSION= 3.1.4
PORTREVISION= 3
PORTREVISION= 4
CATEGORIES= dns ipv6
MASTER_SITES= http://downloads.powerdns.com/releases/ \
http://mirrors.evolva.ro/powerdns.com/releases/
@ -20,9 +20,10 @@ BUILD_DEPENDS= bjam:${PORTSDIR}/devel/boost
USE_BZIP2= yes
USE_GMAKE= yes
USE_GCC= 3.4
USE_GCC= 3.4+
OPTIONS= STATIC "Enable Full STATIC" off
OPTIONS= STATIC "Enable Full STATIC" off \
SETUID "Run as pdns_recursor user" on
CXXFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
@ -41,6 +42,10 @@ MAKE_ENV+=STATIC=full
PLIST_SUB+= STATIC="@comment "
.endif
.if defined(WITH_SETUID)
EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-setuid
.endif
.if exists(/usr/include/ucontext.h) && ${OSVERSION} >= 500000
UCONTEXT!= ${AWK} '/setcontext/ { print "YES" }' \
/usr/include/ucontext.h
@ -57,9 +62,11 @@ post-patch:
@${REINPLACE_CMD} -e 's;"/etc/powerdns/";"${PREFIX}/etc/pdns/";' \
${WRKSRC}/config.h
.if defined(WITH_SETUID)
pre-install:
@${ECHO} "==> Creating custom user to run pdns_recursor..."
@${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
.endif
post-install:
.if !exists(${PREFIX}/etc/pdns/recursor.conf)

View file

@ -0,0 +1,13 @@
--- pdns_recursor.cc.orig Wed Jan 17 23:45:51 2007
+++ pdns_recursor.cc Thu Jan 18 00:01:47 2007
@@ -1669,8 +1669,8 @@
::arg().set("daemon","Operate as a daemon")="yes";
::arg().set("log-common-errors","If we should log rather common errors")="yes";
::arg().set("chroot","switch to chroot jail")="";
- ::arg().set("setgid","If set, change group id to this gid for more security")="";
- ::arg().set("setuid","If set, change user id to this uid for more security")="";
+ ::arg().set("setgid","If set, change group id to this gid for more security")="pdns";
+ ::arg().set("setuid","If set, change user id to this uid for more security")="pdns_recursor";
#ifdef WIN32
::arg().set("quiet","Suppress logging of questions and answers")="off";
::arg().setSwitch( "register-service", "Register the service" )= "no";

View file

@ -1,16 +1,5 @@
--- pdns_recursor.cc.orig Wed Jan 17 23:45:51 2007
+++ pdns_recursor.cc Thu Jan 18 00:01:47 2007
@@ -1669,8 +1669,8 @@
::arg().set("daemon","Operate as a daemon")="yes";
::arg().set("log-common-errors","If we should log rather common errors")="yes";
::arg().set("chroot","switch to chroot jail")="";
- ::arg().set("setgid","If set, change group id to this gid for more security")="";
- ::arg().set("setuid","If set, change user id to this uid for more security")="";
+ ::arg().set("setgid","If set, change group id to this gid for more security")="pdns";
+ ::arg().set("setuid","If set, change user id to this uid for more security")="pdns_recursor";
#ifdef WIN32
::arg().set("quiet","Suppress logging of questions and answers")="off";
::arg().setSwitch( "register-service", "Register the service" )= "no";
@@ -1691,7 +1691,7 @@
::arg().set("client-tcp-timeout","Timeout in seconds when talking to TCP clients")="2";
::arg().set("max-tcp-clients","Maximum number of simultaneous TCP clients")="128";