Bug 179316

Summary: [NEW PORT] dns/ddns: lightweight UDP-based dynamic DNS updater
Product: Ports & Packages Reporter: Natacha Porté <natbsd>
Component: Individual Port(s)Assignee: Frederic Culot <culot>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.shar
none
ddns.shar
none
ddns.shar none

Description Natacha Porté 2013-06-04 22:00:00 UTC
ddns is a lightweight UDP-based dynamic DNS updater.
It consists of a client that regularly sends UDP packets and a
server that updates a bind zone file or runs a command using the
peer IPv4 address of recieved UDP packets.

WWW: http://fossil.instinctive.eu/ddns/home

Fix: Patch attached with submission follows:
Comment 1 Frederic Culot freebsd_committer freebsd_triage 2013-06-28 12:44:55 UTC
Responsible Changed
From-To: freebsd-ports-bugs->culot

I'll take it.
Comment 2 Natacha Porté 2013-06-29 15:32:18 UTC
Here is an updated SHAR after personal communication with culot@ in case
it was lost when personally sent.
Comment 3 Frederic Culot freebsd_committer freebsd_triage 2013-07-01 10:27:36 UTC
Hi,

please find attached a corrected shar which allows the proper handling
of pkg-message. The displayed message was updated as well to give a
bit more information to the user.

Let me know if this is ok for you.

Regards,
Frederic
Comment 4 dfilter service freebsd_committer freebsd_triage 2013-07-01 13:53:55 UTC
Author: culot
Date: Mon Jul  1 12:53:39 2013
New Revision: 322124
URL: http://svnweb.freebsd.org/changeset/ports/322124

Log:
  ddns is a lightweight UDP-based dynamic DNS updater.
  It consists of a client that regularly sends UDP packets and a
  server that updates a bind zone file or runs a command using the
  peer IPv4 address of recieved UDP packets.
  
  WWW: http://fossil.instinctive.eu/ddns/home
  
  PR:		ports/179316
  Submitted by:	Natacha Porte <natbsd@instinctive.eu>

Added:
  head/dns/ddns/
  head/dns/ddns/Makefile   (contents, props changed)
  head/dns/ddns/distinfo   (contents, props changed)
  head/dns/ddns/files/
  head/dns/ddns/files/ddns_client.conf.sample   (contents, props changed)
  head/dns/ddns/files/ddns_client.in   (contents, props changed)
  head/dns/ddns/files/ddns_server.conf.sample   (contents, props changed)
  head/dns/ddns/files/ddns_server.in   (contents, props changed)
  head/dns/ddns/files/pkg-message.in   (contents, props changed)
  head/dns/ddns/pkg-descr   (contents, props changed)
Modified:
  head/dns/Makefile

Modified: head/dns/Makefile
==============================================================================
--- head/dns/Makefile	Mon Jul  1 12:01:05 2013	(r322123)
+++ head/dns/Makefile	Mon Jul  1 12:53:39 2013	(r322124)
@@ -18,6 +18,7 @@
     SUBDIR += crossip
     SUBDIR += curvedns
     SUBDIR += ddclient
+    SUBDIR += ddns
     SUBDIR += dhisd
     SUBDIR += djbdns
     SUBDIR += djbdns-tools

Added: head/dns/ddns/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/dns/ddns/Makefile	Mon Jul  1 12:53:39 2013	(r322124)
@@ -0,0 +1,32 @@
+# Created by: Natacha Porte <natbsd@instinctive.eu>
+# $FreeBSD$
+
+PORTNAME=	ddns
+PORTVERSION=	1.0
+CATEGORIES=	dns
+MASTER_SITES=	http://instinctive.eu/code/
+
+MAINTAINER=	natbsd@instinctive.eu
+COMMENT=	Lightweight UDP-based dynamic DNS updater
+
+LICENSE=	BSD
+
+MAKEFILE=	BSDmakefile
+USE_BZIP2=	yes
+
+USE_RC_SUBR=	ddns_client ddns_server
+
+SUB_FILES=	pkg-message
+PLIST_FILES=	sbin/ddns-server sbin/ddns-client \
+		etc/ddns_client.conf.sample etc/ddns_server.conf.sample
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/ddns-client ${PREFIX}/sbin
+	${INSTALL_PROGRAM} ${WRKSRC}/ddns-server ${PREFIX}/sbin
+	${INSTALL_DATA} ${FILESDIR}/ddns_client.conf.sample ${PREFIX}/etc
+	${INSTALL_DATA} ${FILESDIR}/ddns_server.conf.sample ${PREFIX}/etc
+
+post-install:
+	@${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.mk>

Added: head/dns/ddns/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/dns/ddns/distinfo	Mon Jul  1 12:53:39 2013	(r322124)
@@ -0,0 +1,2 @@
+SHA256 (ddns-1.0.tar.bz2) = ea65c8f8c0169b5aff1c987000e309186e502e9c8aef6c2d8de1d8a75a593251
+SIZE (ddns-1.0.tar.bz2) = 29856

Added: head/dns/ddns/files/ddns_client.conf.sample
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/dns/ddns/files/ddns_client.conf.sample	Mon Jul  1 12:53:39 2013	(r322124)
@@ -0,0 +1,9 @@
+(server ns.example.com 24680)
+(interval 60)
+(name host-1)
+(resolv-interval 0)
+(resolv-retry 7)
+(key #  0123456789ABCDEF 0123456789ABCDEF
+	0123456789ABCDEF 0123456789ABCDEF
+	0123456789ABCDEF 0123456789ABCDEF
+	0123456789ABCDEF 0123456789ABCDEF  #))

Added: head/dns/ddns/files/ddns_client.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/dns/ddns/files/ddns_client.in	Mon Jul  1 12:53:39 2013	(r322124)
@@ -0,0 +1,29 @@
+#!/bin/sh
+# $FreeBSD$
+#
+# PROVIDE: ddns_client
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable ddns_client:
+#
+# ddns_client_enable (bool):    Set it to "YES" to enable ddns client
+#                               Default is "NO".
+# ddns_client_conf (path):      Set full path to config file.
+#                               Default is "%%PREFIX%%/etc/ddns_client.conf".
+
+. /etc/rc.subr
+
+name=ddns_client
+rcvar=ddns_client_enable
+
+load_rc_config $name
+
+: ${ddns_client_enable:=NO}
+: ${ddns_client_conf="%%PREFIX%%/etc/ddns_client.conf"}
+
+command=%%PREFIX%%/sbin/ddns-client
+command_args="-d -c ${ddns_client_conf}"
+required_files=${ddns_client_conf}
+
+run_rc_command "$1"

Added: head/dns/ddns/files/ddns_server.conf.sample
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/dns/ddns/files/ddns_server.conf.sample	Mon Jul  1 12:53:39 2013	(r322124)
@@ -0,0 +1,22 @@
+(listen 24680)
+(defaults
+	(effector
+		(system "logger 'shell script for " (name) " switching to address " (addr) "'")
+		(zone /etc/namedb/master/example.com)
+		(kill HUP /var/run/named/pid))
+	(flags allow-unsafe)
+	(interval 70 10)
+	(timeout 900))
+(account
+	(name host-1)
+	(key #  0123456789ABCDEF 0123456789ABCDEF
+		0123456789ABCDEF 0123456789ABCDEF
+		0123456789ABCDEF 0123456789ABCDEF
+		0123456789ABCDEF 0123456789ABCDEF  #))
+(account
+	(name ntpless-host-2)
+	(key #  FEDCBA9876543210 FEDCBA9876543210
+		FEDCBA9876543210 FEDCBA9876543210
+		FEDCBA9876543210 FEDCBA9876543210
+		FEDCBA9876543210 FEDCBA9876543210  #)
+	(interval 86400))

Added: head/dns/ddns/files/ddns_server.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/dns/ddns/files/ddns_server.in	Mon Jul  1 12:53:39 2013	(r322124)
@@ -0,0 +1,29 @@
+#!/bin/sh
+# $FreeBSD$
+#
+# PROVIDE: ddns_server
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable ddns_server:
+#
+# ddns_server_enable (bool):    Set it to "YES" to enable ddns server
+#                               Default is "NO".
+# ddns_server_conf (path):      Set full path to config file.
+#                               Default is "%%PREFIX%%/etc/ddns_server.conf".
+
+. /etc/rc.subr
+
+name=ddns_server
+rcvar=ddns_server_enable
+
+load_rc_config $name
+
+: ${ddns_server_enable:=NO}
+: ${ddns_server_conf="%%PREFIX%%/etc/ddns_server.conf"}
+
+command=%%PREFIX%%/sbin/ddns-server
+command_args="-d -c ${ddns_server_conf}"
+required_files=${ddns_server_conf}
+
+run_rc_command "$1"

Added: head/dns/ddns/files/pkg-message.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/dns/ddns/files/pkg-message.in	Mon Jul  1 12:53:39 2013	(r322124)
@@ -0,0 +1,41 @@
+========================================================================
+ddns configuration files were installed in the following directory:
+
+	%%ETCDIR%%
+
+Before starting the server or the client you need to perform the
+following steps:
+
+1) Copy the appropriate sample configuration file as follows:
+
+	cp %%ETCDIR%%/ddns_server.conf.sample %%ETCDIR%%/ddns_server.conf
+
+   or
+
+	cp %%ETCDIR%%/ddns_client.conf.sample %%ETCDIR%%/ddns_client.conf
+
+2) Edit ddns's configuration file to suit your needs:
+
+	$EDITOR %%ETCDIR%%/ddns_server.conf
+
+   or
+
+	$EDITOR %%ETCDIR%%/ddns_client.conf
+
+3) Add the following line to your rc.conf:
+
+	ddns_server_enable="YES" 
+
+   or
+
+	ddns_client_enable="YES" 
+
+
+Then you can start a ddns daemon by issuing the following command:
+
+	%%PREFIX%%/etc/rc.d/ddns_server start
+
+    or
+
+	%%PREFIX%%/etc/rc.d/ddns_client start
+========================================================================

Added: head/dns/ddns/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/dns/ddns/pkg-descr	Mon Jul  1 12:53:39 2013	(r322124)
@@ -0,0 +1,6 @@
+ddns is a lightweight UDP-based dynamic DNS updater.
+It consists of a client that regularly sends UDP packets and a
+server that updates a bind zone file or runs a command using the
+peer IPv4 address of recieved UDP packets.
+
+WWW: http://fossil.instinctive.eu/ddns/home
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 5 Frederic Culot freebsd_committer freebsd_triage 2013-07-01 13:55:57 UTC
State Changed
From-To: open->closed

New port added. Thanks!