aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dns/maradns/Makefile3
-rw-r--r--dns/maradns/files/patch-tools_duende.c34
2 files changed, 33 insertions, 4 deletions
diff --git a/dns/maradns/Makefile b/dns/maradns/Makefile
index d71c92274189..d4c3ab83e48f 100644
--- a/dns/maradns/Makefile
+++ b/dns/maradns/Makefile
@@ -7,6 +7,7 @@
PORTNAME= maradns
PORTVERSION= 1.4.06
+PORTREVISION= 1
CATEGORIES= dns
MASTER_SITES= http://www.maradns.org/download/1.4/${PORTVERSION}/ \
SF/${PORTNAME}/MaraDNS/${PORTVERSION}/
@@ -18,6 +19,8 @@ REINPLACE_ARGS= -i ""
MAKE_ENV= FLAGS="${CFLAGS} ${PTHREAD_CFLAGS}"
USE_RC_SUBR= ${PORTNAME} zoneserver
+USERS= bind
+GROUPS= bind
MAN1= askmara.1 getzone.1 fetchzone.1
MAN5= mararc.5 csv1.5 csv2.5 csv2_txt.5
diff --git a/dns/maradns/files/patch-tools_duende.c b/dns/maradns/files/patch-tools_duende.c
index 8f6d02bd6193..eed161e2ce14 100644
--- a/dns/maradns/files/patch-tools_duende.c
+++ b/dns/maradns/files/patch-tools_duende.c
@@ -1,5 +1,5 @@
---- tools/duende.c.orig 2008-08-03 20:10:49.000000000 +0200
-+++ tools/duende.c 2009-09-23 01:57:16.000000000 +0200
+--- tools/duende.c.orig 2008-08-03 20:10:49.000000000 +0200
++++ tools/duende.c 2010-09-30 01:46:03.000000000 +0200
@@ -35,10 +35,13 @@
#include <signal.h>
#include <stdio.h>
@@ -14,7 +14,33 @@
#include <unistd.h>
#include "../MaraDns.h"
-@@ -139,6 +142,10 @@
+@@ -61,13 +64,24 @@
+
+ void log_helper(char *name,int stdout_fd) {
+ char out_buf[1024];
++
++ /* Prefix MaraDNS syslog messages with ident of "maradns:"
++ instead of "/usr/local/sbin/maradns:" */
++ char *needle, *ident;
++ needle = strrchr(name,'/');
++ /* needle found and not at the end of string */
++ if (needle && *(needle + 1) != '\0') {
++ ident = needle + 1;
++ } else {
++ ident = name;
++ }
+
+ /* We can't use our signal handlers because fgets is blocking */
+ signal(SIGTERM,SIG_DFL);
+ signal(SIGHUP,SIG_DFL);
+
+ /* Open up the sys log */
+- openlog(name,0,LOG_DAEMON);
++ openlog(ident,0,LOG_DAEMON);
+
+ /* Drop all privileges */
+ if(chdir(DUENDE_CHROOT_DIR) != 0) {
+@@ -146,6 +160,10 @@
int exit_status;
pid_t pid, log_pid;
int stream1[2]; /* Used for piping */
@@ -25,7 +51,7 @@
if(argv[0] == NULL || argv[1] == NULL) {
printf("Usage: duende [program] [arguments]\n");
exit(1);
-@@ -203,6 +210,23 @@
+@@ -210,6 +228,23 @@
syslog(LOG_ALERT,"log_helper finished, terminating\n");
exit(1);
}