On Sat, 21 Mar 2015 22:36:50 +0000, Stuart Henderson wrote:
> On 2015/03/21 22:32, Pascal Stumpf wrote:
> > +@sample /var/run/ddclient/
> 
> /var/run is cleared at boot so this won't persist; please "install -d"
> it from rc_pre in the rc script instead of creating it via PLIST.
> 
> 

New diff after sthen@'s and ajacoutot@'s comments:


Index: Makefile
===================================================================
RCS file: /cvs/ports/net/ddclient/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- Makefile    25 Mar 2014 10:06:25 -0000      1.19
+++ Makefile    21 Mar 2015 23:00:19 -0000
@@ -3,11 +3,12 @@
 COMMENT=               Dynamic DNS service update client
 
 DISTNAME=              ddclient-3.8.2
+REVISION=              0
 CATEGORIES=            net
 
 HOMEPAGE=              http://ddclient.sourceforge.net/
 
-# GPL
+# GPLv2+
 PERMIT_PACKAGE_CDROM=  Yes
 
 MASTER_SITES=          ${MASTER_SITE_SOURCEFORGE:=ddclient/}
Index: patches/patch-ddclient
===================================================================
RCS file: patches/patch-ddclient
diff -N patches/patch-ddclient
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-ddclient      21 Mar 2015 23:00:19 -0000
@@ -0,0 +1,20 @@
+$OpenBSD$
+--- ddclient.orig      Tue Nov 25 15:02:26 2014
++++ ddclient   Tue Nov 25 15:03:18 2014
+@@ -997,16 +997,6 @@ sub _read_config {
+       # fatal("Cannot open file '%s'. ($!)", $file);
+       warning("Cannot open file '%s'. ($!)", $file);
+     }
+-    # Check for only owner has any access to config file
+-    my ($dev, $ino, $mode, @statrest) = stat(FD);
+-    if ($mode & 077) {                          
+-      if (-f FD && (chmod 0600, $file)) {
+-          warning("file $file must be accessible only by its owner (fixed).");
+-      } else {
+-          # fatal("file $file must be accessible only by its owner.");
+-          warning("file $file must be accessible only by its owner.");
+-      }
+-    }
+ 
+     local $lineno       = 0;
+     my    $continuation = '';
Index: patches/patch-sample-etc_ddclient_conf
===================================================================
RCS file: patches/patch-sample-etc_ddclient_conf
diff -N patches/patch-sample-etc_ddclient_conf
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-sample-etc_ddclient_conf      21 Mar 2015 23:00:19 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- sample-etc_ddclient.conf.orig      Tue Nov 25 14:37:20 2014
++++ sample-etc_ddclient.conf   Tue Nov 25 14:37:49 2014
+@@ -22,7 +22,7 @@ daemon=300                           # check every 300 
seconds
+ syslog=yes                            # log update msgs to syslog
+ mail=root                             # mail all msgs to root
+ mail-failure=root                     # mail failed update msgs to root
+-pid=/var/run/ddclient.pid             # record PID in file.
++pid=/var/run/ddclient/ddclient.pid    # record PID in file.
+ ssl=yes                                       # use ssl-support.  Works with
+                                       # ssl-library
+ # postscript=script                   # run script after updating.  The
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/ddclient/pkg/PLIST,v
retrieving revision 1.10
diff -u -p -r1.10 PLIST
--- pkg/PLIST   25 Mar 2014 10:06:25 -0000      1.10
+++ pkg/PLIST   21 Mar 2015 23:00:19 -0000
@@ -1,4 +1,6 @@
 @comment $OpenBSD: PLIST,v 1.10 2014/03/25 10:06:25 dcoppa Exp $
+@newgroup _ddclient:750
+@newuser _ddclient:750:_ddclient:daemon:DynDNS 
Client:/var/db/ddclient:/sbin/nologin
 sbin/ddclient
 share/doc/ddclient/
 share/doc/ddclient/README.cisco
@@ -9,11 +11,15 @@ share/examples/ddclient/
 share/examples/ddclient/sample-ddclient-wrapper.sh
 share/examples/ddclient/sample-etc_cron.d_ddclient
 share/examples/ddclient/sample-etc_ddclient.conf
-@mode 0600
+@group _ddclient
+@mode 0640
 @sample ${SYSCONFDIR}/ddclient/ddclient.conf
 @mode
+@group
 share/examples/ddclient/sample-etc_dhclient-exit-hooks
 share/examples/ddclient/sample-etc_dhcpc_dhcpcd-eth0.exe
 share/examples/ddclient/sample-etc_ppp_ip-up.local
+@owner _ddclient
 @sample /var/db/ddclient/
+@owner
 @rcscript ${RCDIR}/ddclient
Index: pkg/ddclient.rc
===================================================================
RCS file: /cvs/ports/net/ddclient/pkg/ddclient.rc,v
retrieving revision 1.3
diff -u -p -r1.3 ddclient.rc
--- pkg/ddclient.rc     27 Dec 2010 14:50:22 -0000      1.3
+++ pkg/ddclient.rc     21 Mar 2015 23:00:19 -0000
@@ -3,9 +3,14 @@
 # $OpenBSD: ddclient.rc,v 1.3 2010/12/27 14:50:22 ajacoutot Exp $
 
 daemon="${TRUEPREFIX}/sbin/ddclient"
+daemon_user="_ddclient"
 
 . /etc/rc.d/rc.subr
 
 pexp="perl: ddclient"
+
+rc_pre() {
+       install -d -o _ddclient -g _ddclient /var/run/ddclient
+}
 
 rc_cmd $1

Reply via email to