Re: sys/syslog.h dnsreflector breakage

2014-07-16 Thread Jérémie Courrèges-Anglas
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

2014-07-16 Thread Armin Wolfermann
* 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

2014-07-15 Thread Jérémie Courrèges-Anglas

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