Re: sys/syslog.h dnsreflector breakage
Armin Wolfermann writes: > * Jérémie Courrèges-Anglas [16.07.2014 00:48]: >> struct syslog_data lost its 'opened' member. Kind of a namespace >> violation, this looks like an easy fix: > > An update to 1.03 fixes this problem: Looks fine to me, except for the user change: "dnsrefle" doesn't exist and falling back to "nobody" looks like a bad idea. New diff with uid reserved (uid 737 taken by popa3d) and a rc script. ok? Index: Makefile === RCS file: /cvs/ports/net/dnsreflector/Makefile,v retrieving revision 1.8 diff -u -p -r1.8 Makefile --- Makefile11 Oct 2013 23:50:16 - 1.8 +++ Makefile16 Jul 2014 11:32:45 - @@ -2,7 +2,7 @@ COMMENT= DNS queries reflector -DISTNAME= dnsreflector-1.02 +DISTNAME= dnsreflector-1.03 CATEGORIES=net sysutils HOMEPAGE= http://www.wolfermann.org/dnsreflector.html Index: distinfo === RCS file: /cvs/ports/net/dnsreflector/distinfo,v retrieving revision 1.3 diff -u -p -r1.3 distinfo --- distinfo5 Apr 2007 16:20:09 - 1.3 +++ distinfo16 Jul 2014 11:32:51 - @@ -1,5 +1,2 @@ -MD5 (dnsreflector-1.02.tar.gz) = EZydHklJhAMZrsXe9E4dVQ== -RMD160 (dnsreflector-1.02.tar.gz) = KiJkm1q+M9a7/ylWyglO6z7QDBE= -SHA1 (dnsreflector-1.02.tar.gz) = fLT/j3ZLNQOykOTkoGaO/j/meDE= -SHA256 (dnsreflector-1.02.tar.gz) = XIOEhRZ7Moj//qzquEDDFTYpDzc0oRhxPiLrmBHOFCo= -SIZE (dnsreflector-1.02.tar.gz) = 4324 +SHA256 (dnsreflector-1.03.tar.gz) = 6LltUepxynOp0lcjWXS7uPJ5ySCMTelOuovlNjqaPCs= +SIZE (dnsreflector-1.03.tar.gz) = 5093 Index: patches/patch-dnsreflector_c === RCS file: patches/patch-dnsreflector_c diff -N patches/patch-dnsreflector_c --- /dev/null 1 Jan 1970 00:00:00 - +++ patches/patch-dnsreflector_c16 Jul 2014 11:55:24 - @@ -0,0 +1,14 @@ +$OpenBSD$ +--- dnsreflector.c.origWed Jul 16 13:54:57 2014 dnsreflector.c Wed Jul 16 13:55:17 2014 +@@ -183,9 +183,7 @@ main(int argc, char *argv[]) + fatal("Unable to daemonize: %s", strerror(errno)); + + /* Find less privileged user */ +- pw = getpwnam("dnsrefle"); +- if (!pw) +- pw = getpwnam("nobody"); ++ pw = getpwnam("_dnsreflector"); + if (!pw) + fatal("No unprivileged user found"); + Index: pkg/PLIST === RCS file: /cvs/ports/net/dnsreflector/pkg/PLIST,v retrieving revision 1.2 diff -u -p -r1.2 PLIST --- pkg/PLIST 15 Sep 2004 18:17:39 - 1.2 +++ pkg/PLIST 16 Jul 2014 11:48:21 - @@ -1,3 +1,6 @@ @comment $OpenBSD: PLIST,v 1.2 2004/09/15 18:17:39 espie Exp $ +@newgroup _dnsreflector:738 +@newuser _dnsreflector:738:_dnsreflector::DNS reflector unprivileged user:/var/empty:/sbin/nologin @man man/man1/dnsreflector.1 -sbin/dnsreflector +@bin sbin/dnsreflector +@rcscript ${RCDIR}/dnsreflector Index: pkg/dnsreflector.rc === RCS file: pkg/dnsreflector.rc diff -N pkg/dnsreflector.rc --- /dev/null 1 Jan 1970 00:00:00 - +++ pkg/dnsreflector.rc 16 Jul 2014 11:49:28 - @@ -0,0 +1,9 @@ +#!/bin/sh +# +# $OpenBSD$ + +daemon="${TRUEPREFIX}/sbin/dnsreflector -d" + +. /etc/rc.d/rc.subr + +rc_cmd $1 -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE
Re: sys/syslog.h dnsreflector breakage
* Jérémie Courrèges-Anglas [16.07.2014 00:48]: > struct syslog_data lost its 'opened' member. Kind of a namespace > violation, this looks like an easy fix: An update to 1.03 fixes this problem: Index: Makefile === RCS file: /cvs/ports/net/dnsreflector/Makefile,v retrieving revision 1.8 diff -u -p -u -r1.8 Makefile --- Makefile11 Oct 2013 23:50:16 - 1.8 +++ Makefile16 Jul 2014 10:22:57 - @@ -2,7 +2,7 @@ COMMENT= DNS queries reflector -DISTNAME= dnsreflector-1.02 +DISTNAME= dnsreflector-1.03 CATEGORIES=net sysutils HOMEPAGE= http://www.wolfermann.org/dnsreflector.html Index: distinfo === RCS file: /cvs/ports/net/dnsreflector/distinfo,v retrieving revision 1.3 diff -u -p -u -r1.3 distinfo --- distinfo5 Apr 2007 16:20:09 - 1.3 +++ distinfo16 Jul 2014 10:22:57 - @@ -1,5 +1,2 @@ -MD5 (dnsreflector-1.02.tar.gz) = EZydHklJhAMZrsXe9E4dVQ== -RMD160 (dnsreflector-1.02.tar.gz) = KiJkm1q+M9a7/ylWyglO6z7QDBE= -SHA1 (dnsreflector-1.02.tar.gz) = fLT/j3ZLNQOykOTkoGaO/j/meDE= -SHA256 (dnsreflector-1.02.tar.gz) = XIOEhRZ7Moj//qzquEDDFTYpDzc0oRhxPiLrmBHOFCo= -SIZE (dnsreflector-1.02.tar.gz) = 4324 +SHA256 (dnsreflector-1.03.tar.gz) = 6LltUepxynOp0lcjWXS7uPJ5ySCMTelOuovlNjqaPCs= +SIZE (dnsreflector-1.03.tar.gz) = 5093
sys/syslog.h dnsreflector breakage
struct syslog_data lost its 'opened' member. Kind of a namespace violation, this looks like an easy fix: Index: Makefile === RCS file: /cvs/ports/net/dnsreflector/Makefile,v retrieving revision 1.8 diff -u -p -r1.8 Makefile --- Makefile11 Oct 2013 23:50:16 - 1.8 +++ Makefile15 Jul 2014 21:25:47 - @@ -3,6 +3,7 @@ COMMENT= DNS queries reflector DISTNAME= dnsreflector-1.02 +REVISION= 0 CATEGORIES=net sysutils HOMEPAGE= http://www.wolfermann.org/dnsreflector.html Index: patches/patch-dnsreflector_c === RCS file: patches/patch-dnsreflector_c diff -N patches/patch-dnsreflector_c --- /dev/null 1 Jan 1970 00:00:00 - +++ patches/patch-dnsreflector_c15 Jul 2014 21:24:46 - @@ -0,0 +1,28 @@ +$OpenBSD$ +--- dnsreflector.c.origSun Apr 27 15:22:13 2003 dnsreflector.c Tue Jul 15 23:24:39 2014 +@@ -88,6 +88,7 @@ + #define MAXQUERY (PACKETSZ - sizeof(ADDITIONAL) - sizeof(AUTHORITY) - sizeof(ANSWER_)) + + static struct syslog_data sdata = SYSLOG_DATA_INIT; ++static int daemonize; + + static void + logit(int level, const char *fmt, ...) +@@ -97,7 +98,7 @@ logit(int level, const char *fmt, ...) + + va_start(ap, fmt); + +- if (sdata.opened) { ++ if (daemonize) { + vsyslog_r(level, &sdata, fmt, ap); + } else { + fprintf(stderr, "%s: ", __progname); +@@ -148,7 +149,6 @@ main(int argc, char *argv[]) + + /* Options and their defaults */ + char *address = NULL; +- int daemonize = 0; + int port = 53000; + + /* Process commandline arguments */ -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE