summaryrefslogtreecommitdiffstats
path: root/abs/extra/ddclient
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/ddclient')
-rw-r--r--abs/extra/ddclient/PKGBUILD30
-rw-r--r--abs/extra/ddclient/ddclient-foreground.patch47
-rw-r--r--abs/extra/ddclient/ddclient.conf.dynamic.dyndns.sample162
3 files changed, 223 insertions, 16 deletions
diff --git a/abs/extra/ddclient/PKGBUILD b/abs/extra/ddclient/PKGBUILD
index 121d2c5..f283cb9 100644
--- a/abs/extra/ddclient/PKGBUILD
+++ b/abs/extra/ddclient/PKGBUILD
@@ -3,33 +3,31 @@
# Contributor: David Rosenstrauch <darose@darose.net>
pkgname=ddclient
-pkgver=3.7.3
-pkgrel=2
+pkgver=3.8.0
+pkgrel=1
pkgdesc="Update dynamic DNS entries for accounts on many dynamic DNS services."
arch=('i686' 'x86_64')
url="http://ddclient.sourceforge.net/"
license=('GPL2')
depends=('perl' 'perl-io-socket-ssl')
-backup=('etc/ddclient/ddclient.conf' 'etc/conf.d/ddclient')
-install=ddclient.install
-source=(http://downloads.sourceforge.net/sourceforge/ddclient/ddclient-$pkgver.tar.bz2 ddclient.rc ddclient.conf.d)
+backup=('etc/ddclient.conf')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
+ ddclient.conf.dynamic.dyndns.sample
+ ddclient-foreground.patch)
build() {
- cd ${srcdir}/ddclient-${pkgver}
+ cd ${srcdir}/$pkgname-${pkgver}
+ patch < ${srcdir}/ddclient-foreground.patch
# core files
install -D -m755 ddclient ${pkgdir}/usr/sbin/ddclient
- install -D -m755 ${srcdir}/ddclient.rc ${pkgdir}/etc/rc.d/ddclient
- install -D -m600 sample-etc_ddclient.conf ${pkgdir}/etc/ddclient/ddclient.conf
- install -D -m644 ${srcdir}/ddclient.conf.d ${pkgdir}/etc/conf.d/ddclient
+ install -D -m600 sample-etc_ddclient.conf ${pkgdir}/etc/ddclient/ddclient.conf.sample
+ install -D -m600 ${srcdir}/ddclient.conf.dynamic.dyndns.sample ${pkgdir}/etc/ddclient/
install -d ${pkgdir}/var/cache/ddclient
# additional instructions, sample configs
- install -D -m644 README ${pkgdir}/etc/ddclient/samples/README
- install -D -m644 sample-etc_cron.d_ddclient ${pkgdir}/etc/ddclient/samples/sample-etc_cron.d_ddclient
- install -D -m644 sample-etc_dhcpc_dhcpcd-eth0.exe ${pkgdir}/etc/ddclient/samples/sample-etc_dhcpc_dhcpcd-eth0.exe
- install -D -m644 sample-etc_ppp_ip-up.local ${pkgdir}/etc/ddclient/samples/sample-etc_ppp_ip-up.local
+ install -D -m644 README ${pkgdir}/etc/ddclient/README
}
-md5sums=('f6a55bc68cf73ffe7e80d2fa5cd44f85'
- '7035bf8132f3517a59167f61ee5e8b90'
- 'b8f39c82827776da948b76ef83544d33')
+md5sums=('6cac7a5eb1da781bfd4d98cef0b21f8e'
+ '4194825b9b4a7fcc1c57c2f5a4f6162b'
+ 'd8ffc95f98f9afcb4a06a1e192220e35')
diff --git a/abs/extra/ddclient/ddclient-foreground.patch b/abs/extra/ddclient/ddclient-foreground.patch
new file mode 100644
index 0000000..a814ede
--- /dev/null
+++ b/abs/extra/ddclient/ddclient-foreground.patch
@@ -0,0 +1,47 @@
+--- ../ddclient-orig/ddclient 2009-10-19 22:45:15.000000000 +1030
++++ ddclient 2009-10-19 22:50:11.000000000 +1030
+@@ -307,6 +307,7 @@
+ my %variables = (
+ 'global-defaults' => {
+ 'daemon' => setv(T_DELAY, 0, 0, 1, 0, interval('60s')),
++ 'foreground' => setv(T_BOOL, 0, 0, 1, 0, undef),
+ 'file' => setv(T_FILE, 0, 0, 1, "$etc$program.conf", undef),
+ 'cache' => setv(T_FILE, 0, 0, 1, "$cachedir$program.cache", undef),
+ 'pid' => setv(T_FILE, 0, 0, 1, "", undef),
+@@ -535,6 +536,7 @@
+ "usage: ${program} [options]",
+ "options are:",
+ [ "daemon", "=s", "-daemon delay : run as a daemon, specify delay as an interval." ],
++ [ "foreground", "!", "-foreground : do not fork" ],
+ [ "proxy", "=s", "-proxy host : use 'host' as the HTTP proxy" ],
+ [ "server", "=s", "-server host : update DNS information on 'host'" ],
+ [ "protocol", "=s", "-protocol type : update protocol used" ],
+@@ -623,7 +625,10 @@
+ $SIG{'HUP'} = sub { $caught_hup = 1; };
+ $SIG{'TERM'} = sub { $caught_term = 1; };
+ $SIG{'KILL'} = sub { $caught_kill = 1; };
+-if (opt('daemon') && !opt('force')) {
++# don't fork() if foreground or force is on
++if (opt('foreground') || opt('force')) {
++ ;
++} elsif (opt('daemon')) {
+ $SIG{'CHLD'} = 'IGNORE';
+ my $pid = fork;
+ if ($pid < 0) {
+@@ -633,12 +638,15 @@
+ exit 0;
+ }
+ $SIG{'CHLD'} = 'DEFAULT';
+- $opt{'syslog'} = 1;
+ open(STDOUT, ">/dev/null");
+ open(STDERR, ">/dev/null");
+ open(STDIN, "</dev/null");
++}
+
++# write out the pid file if we're daemon'ized
++if(opt('daemon')) {
+ write_pid();
++ $opt{'syslog'} = 1;
+ }
+
+ umask 077;
diff --git a/abs/extra/ddclient/ddclient.conf.dynamic.dyndns.sample b/abs/extra/ddclient/ddclient.conf.dynamic.dyndns.sample
new file mode 100644
index 0000000..a492c8b
--- /dev/null
+++ b/abs/extra/ddclient/ddclient.conf.dynamic.dyndns.sample
@@ -0,0 +1,162 @@
+######################################################################
+##
+## $Id: sample-etc_ddclient.conf 102 2008-11-01 11:23:03Z wimpunk $
+##
+## Define default global variables with lines like:
+## var=value [, var=value]*
+## These values will be used for each following host unless overridden
+## with a local variable definition.
+##
+## Define local variables for one or more hosts with:
+## var=value [, var=value]* host.and.domain[,host2.and.domain...]
+##
+## Lines can be continued on the following line by ending the line
+## with a \
+##
+##
+## Warning: not all supported routers or dynamic DNS services
+## are mentioned here.
+##
+######################################################################
+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.
+ssl=yes # use ssl-support. Works with
+ # ssl-library
+# postscript=script # run script after updating. The
+ # new IP is added as argument.
+#
+#use=watchguard-soho, fw=192.168.111.1:80 # via Watchguard's SOHO FW
+#use=netopia-r910, fw=192.168.111.1:80 # via Netopia R910 FW
+#use=smc-barricade, fw=192.168.123.254:80 # via SMC's Barricade FW
+#use=netgear-rt3xx, fw=192.168.0.1:80 # via Netgear's internet FW
+#use=linksys, fw=192.168.1.1:80 # via Linksys's internet FW
+#use=maxgate-ugate3x00, fw=192.168.0.1:80 # via MaxGate's UGATE-3x00 FW
+#use=elsa-lancom-dsl10, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
+#use=elsa-lancom-dsl10-ch01, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
+#use=elsa-lancom-dsl10-ch02, fw=10.0.0.254:80 # via ELSA LanCom DSL/10 DSL Router
+#use=alcatel-stp, fw=10.0.0.138:80 # via Alcatel Speed Touch Pro
+#use=xsense-aero, fw=192.168.1.1:80 # via Xsense Aero Router
+#use=allnet-1298, fw=192.168.1.1:80 # via AllNet 1298 DSL Router
+#use=3com-oc-remote812, fw=192.168.0.254:80 # via 3com OfficeConnect Remote 812
+#use=e-tech, fw=192.168.1.1:80 # via E-tech Router
+#use=cayman-3220h, fw=192.168.0.1:1080 # via Cayman 3220-H DSL Router
+#
+#fw-login=admin, fw-password=XXXXXX # FW login and password
+#
+## To obtain an IP address from FW status page (using fw-login, fw-password)
+#use=fw, fw=192.168.1.254/status.htm, fw-skip='IP Address' # found after IP Address
+#
+## To obtain an IP address from Web status page (using the proxy if defined)
+#use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address
+#
+#use=ip, ip=127.0.0.1 # via static IP's
+#use=if, if=eth0 # via interfaces
+use=web # via web
+#
+#protocol=dyndns2 # default protocol
+#proxy=fasthttp.sympatico.ca:80 # default proxy
+#server=members.dyndns.org # default server
+#server=members.dyndns.org:8245 # default server (bypassing proxies)
+
+login=your-dynamic-dyndns-login # default login
+password=your-dynamic-dyndns-password # default password
+#mx=mx.for.your.host # default MX
+#backupmx=yes|no # host is primary MX?
+#wildcard=yes|no # add wildcard CNAME?
+
+##
+## dyndns.org dynamic addresses
+##
+## (supports variables: wildcard,mx,backupmx)
+##
+server=members.dyndns.org, \
+protocol=dyndns2 \
+your-dynamic-dyndns-host
+
+##
+## dyndns.org static addresses
+##
+## (supports variables: wildcard,mx,backupmx)
+##
+# static=yes, \
+# server=members.dyndns.org, \
+# protocol=dyndns2 \
+# your-static-host.dyndns.org
+
+##
+##
+## dyndns.org custom addresses
+##
+## (supports variables: wildcard,mx,backupmx)
+##
+# custom=yes, \
+# server=members.dyndns.org, \
+# protocol=dyndns2 \
+# your-domain.top-level,your-other-domain.top-level
+
+##
+## ZoneEdit (zoneedit.com)
+##
+# server=dynamic.zoneedit.com, \
+# protocol=zoneedit1, \
+# login=your-zoneedit-login, \
+# password=your-zoneedit-password \
+# your.any.domain,your-2nd.any.dom
+
+##
+## EasyDNS (easydns.com)
+##
+# server=members.easydns.com, \
+# protocol=easydns, \
+# login=your-easydns-login, \
+# password=your-easydns-password \
+# your.any.domain,your-2nd.any.domain
+
+##
+## Hammernode (hn.org) dynamic addresses
+##
+# server=dup.hn.org, \
+# protocol=hammernode1, \
+# login=your-hn-login, \
+# password=your-hn-password \
+# your-hn-host.hn.org,your-2nd-hn-host.hn.org
+
+##
+## dslreports.com dynamic-host monitoring
+##
+# server=members.dslreports.com \
+# protocol=dslreports1, \
+# login=dslreports-login, \
+# password=dslreports-password \
+# dslreports-unique-id
+
+##
+## OrgDNS.org account-configuration
+##
+# use=web, web=members.orgdns.org/nic/ip
+# server=www.orgdns.org \
+# protocol=dyndns2 \
+# login=yourLoginName \
+# password=yourPassword \
+# yourSubdomain.orgdns.org
+
+##
+## dnspark.com
+## (supports variables: mx, mxpri)
+##
+# use=web, web=ipdetect.dnspark.com, web-skip='Current Address:'
+# protocol=dnspark, \
+# server=www.dnspark.com, \
+# your-host.dnspark.com
+
+##
+## NameCheap (namecheap.com)
+##
+# protocol=namecheap, \
+# server=dynamicdns.park-your-domain.com, \
+# login=my-namecheap.com-login, \
+# password=my-namecheap.com-password \
+# myhost.namecheap.com