Hello community, here is the log from the commit of package ddclient for openSUSE:Factory checked in at 2014-01-03 14:57:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ddclient (Old) and /work/SRC/openSUSE:Factory/.ddclient.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ddclient" Changes: -------- --- /work/SRC/openSUSE:Factory/ddclient/ddclient.changes 2013-12-05 21:35:25.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.ddclient.new/ddclient.changes 2014-01-03 14:57:48.000000000 +0100 @@ -1,0 +2,14 @@ +Tue Dec 31 17:02:59 UTC 2013 - [email protected] + +- update to 3.8.2 + * adding support by ChangeIP + * sha-1 patch to allow Digest::SHA + * allow reuse of use + * preventing deep sleep - see bug #46 + * Fallback to iproute if ifconfig doesn't work +- drop ddclient-3.8.1-update_nic.patch: upstream changed the "use" + logic +- move all sample-* to examples under the documentation directory +- update source url on sourceforge + +------------------------------------------------------------------- Old: ---- ddclient-3.8.1-update_nic.patch ddclient-3.8.1.tar.bz2 New: ---- ddclient-3.8.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ddclient.spec ++++++ --- /var/tmp/diff_new_pack.qIjGTh/_old 2014-01-03 14:57:48.000000000 +0100 +++ /var/tmp/diff_new_pack.qIjGTh/_new 2014-01-03 14:57:48.000000000 +0100 @@ -20,16 +20,15 @@ Summary: A Perl Client to Update Dynamic DNS Entries License: GPL-2.0+ Group: Productivity/Networking/DNS/Utilities -Version: 3.8.1 +Version: 3.8.2 Release: 0 Url: http://ddclient.sourceforge.net/ -Source0: http://switch.dl.sourceforge.net/sourceforge/ddclient/%{name}-%{version}.tar.bz2 +Source0: http://prdownloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2 Source1: %{name}.service Source2: %{name}.sysconfig Source3: %{name}-tmpfiles.conf Source4: rc.%{name} Patch0: %{name}-3.8.1-config.patch -Patch1: %{name}-3.8.1-update_nic.patch BuildRequires: pkgconfig(systemd) BuildArch: noarch Requires(pre): %fillup_prereq @@ -52,11 +51,10 @@ %prep %setup %patch0 -%patch1 rm -f sample-etc_ddclient.conf.orig chmod a-x sample-* mkdir examples -mv sample-ddclient-wrapper.sh examples +mv sample-* examples %build #%%configure @@ -76,7 +74,7 @@ %{__mkdir_p} %{buildroot}%{_sysconfdir}/init.d %endif %{__install} -m 755 %{name} %{buildroot}%{_sbindir}/ -%{__install} -m 644 sample-etc_ddclient.conf %{buildroot}%{_sysconfdir}/%{name}.conf +%{__install} -m 644 examples/sample-etc_ddclient.conf %{buildroot}%{_sysconfdir}/%{name}.conf # init script and config file %if 0%{?suse_version} >=1230 %{__install} -m 644 %{SOURCE1} %{buildroot}/%{_unitdir}/%{name}.service @@ -113,7 +111,7 @@ %files %defattr(-, root, root) -%doc COPY* README* sample* examples +%doc COPY* README* examples %config(noreplace) %attr(600,root,root) %{_sysconfdir}/%{name}.conf %if 0%{?suse_version} >=1230 %{_unitdir}/%{name}.service ++++++ ddclient-3.8.1.tar.bz2 -> ddclient-3.8.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddclient-3.8.1/ChangeLog new/ddclient-3.8.2/ChangeLog --- old/ddclient-3.8.1/ChangeLog 2009-01-27 20:14:39.000000000 +0100 +++ new/ddclient-3.8.2/ChangeLog 1970-01-01 01:00:00.000000000 +0100 @@ -1,292 +0,0 @@ -2008-12-04 wimpunk - - * [r106] ddclient: help about postscript added - -2008-11-19 wimpunk - - * [r105] ddclient, patches/password.patch: Added better password - handling sended by Ingo Schwarze - * [r104] TODO, sample-ddclient-wrapper.sh: Added ddclient wrapper - script - * [r103] ddclient: Extra fix for multiple IP's - -2008-11-01 wimpunk - - * [r102] sample-etc_ddclient.conf: Added some remarks concerning - the postscript. See - https://sourceforge.net/forum/message.php?msg_id=5550545 - -2008-09-30 wimpunk - - * [r101] ddclient, patches/multiple-ip.patch: Added support for - multiple IP adresses. See - http://permalink.gmane.org/gmane.network.dns.ddclient.user/17 - * [r100] patches/namecheap.patch: extra comments added to namecheap - patch - -2008-07-04 wimpunk - - * [r99] patches/namecheap.patch: namecheap patch added to patches - section - -2008-06-13 wimpunk - - * [r98] .: New trunk created based on the old trunk/svn - * [r96] svn: Moved old trunk/svn to ddclient and it will be the new - trunk - * [r95] svn: Ignoring test configuration - * [r94] svn/.cvsignore, svn/RELEASENOTE, svn/UPGRADE: Added some - release related files - * [r93] svn/patches/no-host.patch: Added not used no-host patch to - patches section - -2008-06-05 wimpunk - - * [r90] svn/ddclient: Added more info about the daemon interval - * [r89] svn/ddclient: Preventing error while reading cache when ip - wasn't set correctly before - * [r88] svn/ddclient: Preventing an error when trying to send a - message on mail-failure - -2008-06-02 wimpunk - - * [r87] svn/ddclient, svn/sample-etc_ddclient.conf: Modified - documentation about zoneedit based on the comments from Oren Held - -2008-03-04 wimpunk - - * [r86] svn/patches/ddclient.daemon-timeout.patch: Added patch - which was applied to rev 27 (posted by James deBoer) - -2008-02-19 wimpunk - - * [r85] svn/patches/eurodns.patch: Patch modified to apply on - ddclient 3.7.3 - -2008-02-08 wimpunk - - * [r84] svn/patches/mail-on-kill.patch: Added mail-on-kill patch to - patches section - -2008-02-05 wimpunk - - * [r83] svn/ddclient: Sending mail when killed, not after - TERM-signal - * [r82] svn/README: Added creation of cache dir - -2007-10-29 wimpunk - - * [r81] svn/ddclient, svn/patches/ubuntu/default-timeout.patch: - Added and applied default timeout patch from - https://bugs.launchpad.net/ubuntu/+source/ddclient/+bug/116066 - -2007-08-29 wimpunk - - * [r80] svn/ddclient, svn/patches/ddclient-noip.patch: Added - ddclient-noip.patch send by Kurt Bussche. - -2007-08-07 wimpunk - - * [r78] svn/ddclient: Updated version number to 3.7.3 - -2007-08-01 wimpunk - - * [r77] svn/ddclient, svn/patches/typo_dnspark.patch: Applied - typo_dnspark.patch send by Marco - -2007-07-31 wimpunk - - * [r76] svn/README.ssl: Renamed dyndns.org to dyndns.com - * [r75] svn/README: Removed ^M at line 37 - * [r74] svn/ddclient: Removed line 183, comments on Vigor 2200 USB - -2007-07-30 wimpunk - - * [r73] svn: Ignoring ChangeLog since autogenerated - * [r72] svn/Changelog: Notification about changed ChangeLog - configuration - * [r71] svn/patches/ubuntu/dyndns_com.diff: Removed patch since - it's invalid - * [r70] svn/patches/opendns.patch: Added not applied opendns.patch, - see tracker #1758564 - * [r69] svn/patches/debianpatches, - svn/patches/debianpatches/abuse_msg.diff, - svn/patches/debianpatches/cachedir.diff, - svn/patches/debianpatches/cisco_fw.diff, - svn/patches/debianpatches/config_path.diff, - svn/patches/debianpatches/daemon_check.diff, - svn/patches/debianpatches/daemon_interval.diff, - svn/patches/debianpatches/help_nonroot(2).diff, - svn/patches/debianpatches/help_nonroot.diff, - svn/patches/debianpatches/ip-up_run-parts.diff, - svn/patches/debianpatches/maxinterval.diff, - svn/patches/debianpatches/readme.txt, - svn/patches/debianpatches/sample_path.diff, - svn/patches/debianpatches/smc-barricade-7401bra.patch, - svn/patches/debianpatches/smc-barricade-fw-alt.diff, - svn/patches/debianpatches/update-new-config.patch, - svn/patches/ubuntu, svn/patches/ubuntu/checked_ssl_load.diff, - svn/patches/ubuntu/config_path.diff, - svn/patches/ubuntu/daemon_interval.diff, - svn/patches/ubuntu/dyndns_com.diff, - svn/patches/ubuntu/sample_ubuntu.diff, svn/patches/ubuntu/series, - svn/patches/ubuntu/smc-barricade-fw-alt.diff: Added debian and - ubuntu patches - -2007-07-29 wimpunk - - * [r68] svn/TODO: Added url to feature request dyndns - -2007-07-12 wimpunk - - * [r67] svn/README, svn/patches/readme.patch: Run dos2unix on - readme and it's patch which Marco Rodrigues submitted. - * [r66] svn/README, svn/patches/readme.patch: Partial applied - readme.patch. See tracker #1752931 - -2007-07-10 wimpunk - - * [r65] svn/ddclient: signature modified - * [r64] svn/ddclient: Added website to ddclient comments - * [r63] svn/patches/regex_vlan.patch: Added extra comments to the - patch. - * [r62] svn/ddclient, svn/patches/create_patch.sh, - svn/patches/regex_vlan.patch, - svn/patches/typo_namecheap_patch.diff.new: Added patches and - applied regex_vlan.patch. See bug #1747337 - * [r61] svn/ddclient: Applied typo_namecheap_patch.diff send by - Marco Rodrigues - -2007-07-07 wimpunk - - * [r60] svn/sample-etc_ppp_ip-up.local: Reverted the patch from - torsten. See [ 1749470 ] Bug in Script sample-etc_ppp_ip-up.local - -2007-07-04 wimpunk - - * [r59] svn/release, svn/release/readme.txt: Adding some release - documentation - -2007-06-14 wimpunk - - * [r57] svn/Changelog, svn/ddclient: Changed version number - * [r55] svn/patches, svn/patches/3com-oc-remote812.patch, - svn/patches/easydns.patch, svn/patches/eurodns.patch: Patches - directory added - -2007-06-12 wimpunk - - * [r54] svn/ddclient: 3com-oc-remote812 patch by The_Beast via IRC: - see patches/3com-oc-remote812.patch - -2007-06-05 wimpunk - - * [r53] svn/ddclient: Applied easydns.patch, patch 117054 - -2007-05-28 wimpunk - - * [r52] svn/ddclient: Changed nic_namecheap_update following the - suggestion of edmdude on the forum - (https://sourceforge.net/forum/message.php?msg_id=4316938) - -2007-05-19 wimpunk - - * [r48] svn/ddclient: Cosmetic change about checkip - * [r47] svn/ddclient: Applied checked_ssl_load.diff from ubuntu - * [r46] svn/ddclient: Removed the two empty lines at the end of - ddclient - -2007-02-26 wimpunk - - * [r44] svn/TODO: added a TODO list - -2007-02-21 wimpunk - - * [r43] svn/Changelog, svn/ddclient: Preventing unitialized values, - check https://sourceforge.net/forum/message.php?msg_id=4167772 - -2007-01-24 wimpunk - - * [r40] svn/Changelog, svn/ddclient: Changed max-interval to - 25days. See https://www.dyndns.com/services/dns/dyndns/faq.html - -2006-12-03 wimpunk - - * [r39] svn/Changelog, svn/ddclient: Applied maxinterval.diff: - Increase max interval for updates. - See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=129370 - http://www.dyndns.com/support/services/dyndns/faq.html#q15 - * [r38] svn/ddclient: Applied cisco_fw.diff: Use configured - hostname for firewall access with - -use=cisco (closes: #345712). Thanks to Per Carlson for the - patch! - See http://bugs.debian.org/345712. - -2006-12-02 wimpunk - - * [r37] svn/Changelog, svn/ddclient: Applied - smc-barricade-7401bra.patch: Support for SMC Barricade 7401BRA FW - firewall (submitted by Torsten) - Changelog modified for all previous patches from Torsten - * [r36] svn/ddclient: Applied update-new-config.patch: Force update - if config has changed - (submitted by Torsten) - * [r35] svn/sample-etc_ppp_ip-up.local: Applied - ip-up_run-parts.diff: Fix parameter in ip-up script. - (submitted by Torsten) - * [r34] svn/ddclient: Applied help_nonroot.diff: Allow calling the - help function as non-root. - (submitted by Torsten) - * [r33] svn/ddclient: Applied cachedir.diff: Original ddclient - stores a cache file in /etc which - would belong in /var/cache in my opinion and according to the - FHS. Patch - changes that. (submitted by Torsten) - * [r32] svn/ddclient: Applied abuse_msg.diff: ddclient still - reports the email to contact dyndns.org - but they prefer a web form today (IIRC). This patch adjusts the - abuse warning - printed by ddclient. (submitted by Torsten) - * [r31] svn/Changelog: Changed Changelog syntax - -2006-11-27 wimpunk - - * [r30] svn/Changelog, svn/ddclient: Don't send any mail when in - not running daemon mode (patch submitted by Daniel Thaler) - -2006-11-03 wimpunk - - * [r28] svn/Changelog, svn/ddclient: Added patch "Patch: Treat - --daemon values as intervals" - (submitted by James deBoer) - -2006-09-30 wimpunk - - * [r22] svn/Changelog, svn/sample-etc_rc.d_init.d_ddclient.ubuntu: - Added initscript for Ubuntu (posted by Paolo Martinelli) - -2006-09-14 wimpunk - - * [r21] svn/Changelog, svn/ddclient: URL of zoneedit has changed - (see bug #1558483) - -2006-06-14 wimpunk - - * [r11] svn/Changelog, svn/ddclient: Changed version number - * [r8] ., html, svn, xml: Created trunk and tags, moved directories - to it - * [r6] Changed the order of perl and update of README.ssl - -2006-06-11 ddfisher - - * [r5] see Changelog - -2006-06-10 ddfisher - - * [r4] updated changelog - * [r3] See Changelog - -2006-05-22 wimpunk - - * [r2] Reorganise - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddclient-3.8.1/README new/ddclient-3.8.2/README --- old/ddclient-3.8.1/README 2011-07-11 23:04:21.000000000 +0200 +++ new/ddclient-3.8.2/README 1970-01-01 01:00:00.000000000 +0100 @@ -1,176 +0,0 @@ -=============================================================================== -DDCLIENT v3.6.7 - -ddclient is a Perl client used to update dynamic DNS entries for accounts -on many dynamic DNS services. - -IMPORTANT: The format and options used by ddclient have CHANGED. - Please examine the sample configuration file. - It is highly recommended that you take advantage of the - new daemon mode of operation. - -IMPORTANT: The installation location for the ddclient script has changed from - /root/bin/ - to - /usr/sbin/ - -=============================================================================== - -Dynamic DNS services currently supported include: - -DynDNS.com - See http://www.dyndns.com for details on obtaining a free account. -Hammernode - See http://www.hn.org for details on obtaining a free account. -Zoneedit - See http://www.zoneedit.com for details. -EasyDNS - See http://www.easydns.com for details. -NameCheap - See http://www.namecheap.com for details -ConCont - See http://www.dydns.za.net for details -DnsPark - See http://www.dnspark.com for details -DslReports - See http://www.dslreports.com for details -Sitelutions - see http://www.sitelutions.com for details -Loopia - See http://www.loopia.se for details - -DDclient now supports many of cable/dsl broadband routers. - -Comments, suggestions and requests: use the forums on - http://sourceforge.net/projects/ddclient/ - -The code was originally written by Paul Burry and is now hosted and maintained -through sourceforge.net. Please check out http://ddclient.sf.net - -------------------------------------------------------------------------------- -REQUIREMENTS: - -- one or more accounts from one of the dynamic DNS services - -- Perl 5.004 or later - (you need the IO::Socket::SSL perl library for ssl-support) - -- Linux or probably any common Unix system - -------------------------------------------------------------------------------- -INSTALLATION: - - cp ddclient /usr/sbin/ - mkdir /etc/ddclient - mkdir /var/cache/ddclient - cp sample-etc_ddclient.conf /etc/ddclient/ddclient.conf - vi /etc/ddclient/ddclient.conf - -- and change hostnames, logins, and passwords appropriately - - ## For those using Redhat style rc files and using daemon-mode: - cp sample-etc_rc.d_init.d_ddclient /etc/rc.d/init.d/ddclient - ## enable automatic startup when booting - ## check your distribution - /sbin/chkconfig --add ddclient - ## start the first time by hand - /etc/rc.d/init.d/ddclient start - - ## If you are not using daemon-mode, configure cron and dhcp or ppp - ## as described below. - -------------------------------------------------------------------------------- -TROUBLESHOOTING: - - 1. enable debugging and verbose messages. - $ ddclient -daemon=0 -debug -verbose -noquiet - - 2. Do you need to specify a proxy? - If so, just add a - proxy=your.isp.proxy - to the ddclient.conf file. - - 3. Define the IP address of your router with fw=xxx.xxx.xxx.xxx in - /etc/ddclient/ddclient.conf and then try - $ ddclient -daemon=0 -query - to see if the router status web page can be understood. - - 4. Need support for another router/firewall? - Define the router status page yourself with: - fw=url-to-your-router's-status-page - fw-skip=any-string-preceding-your-IP-address - - ddclient does something like this to provide builtin support for - common routers. - For example, the Linksys routers could have been added with: - fw=192.168.1.1/Status.htm - fw-skip=WAN.*?IP Address - - OR - Send me the output from: - $ ddclient -geturl {fw-ip-status-url} [-login login [-password password]] - and I'll add it to the next release! - - ie. for my fw/router I used: - $ ddclient -geturl 192.168.1.254/status.htm - - 5. Some broadband routers require the use of a password when ddclient - accesses its status page to determine the router's WAN IP address. - If this is the case for your router, add - fw-login=your-router-login - fw-password=your-router-password - to the beginning of your ddclient.conf file. - Note that some routers use either 'root' or 'admin' as their login - while some others accept anything. - -------------------------------------------------------------------------------- -USING DDCLIENT WITH ppp - -If you are using a ppp connection, you can easily update your DynDNS -entry with each connection, with: - ## configure pppd to update DynDNS with each connection - cp sample-etc_ppp_ip-up.local /etc/ppp/ip-up.local - -Alternatively, you may just configure ddclient to operate as a daemon -and monitor your ppp interface. - -------------------------------------------------------------------------------- -USING DDCLIENT WITH cron - -If you have not configured ddclient to use daemon-mode, you'll need to -configure cron to force an update once a month so that the dns entry will -not become stale. - - ## configure cron to force an update twice a month - cp sample-etc_cron.d_ddclient /etc/cron.d/ddclient - vi /etc/cron.d/ddclient - -------------------------------------------------------------------------------- -USING DDCLIENT WITH dhcpcd-1.3.17 - -If you are using dhcpcd-1.3.17 or thereabouts, you can easily update -your DynDNS entry automatically every time your lease is obtained -or renewed by creating an executable file named: - /etc/dhcpc/dhcpcd-{your-interface}.exe -ie.: - cp sample-etc_dhcpc_dhcpcd-eth0.exe /etc/dhcpc/dhcpcd-{your-interface}.exe - -In my case, it is named dhcpcd-eth0.exe and contains the lines: - #!/bin/sh - PATH=/usr/sbin:/root/bin:${PATH} - logger -t dhcpcd IP address changed to $1 - ddclient -proxy fasthttp.sympatico.ca -wildcard -ip $1 | logger -t ddclient - exit 0 - -Other DHCP clients may have another method of calling out to programs -for updating DNS entries. - -Alternatively, you may just configure ddclient to operate as a daemon -and monitor your ethernet interface. - -------------------------------------------------------------------------------- -USING DDCLIENT WITH dhclient - -If you are using the ISC DHCP client (dhclient), you can update -your DynDNS entry automatically every time your lease is obtained -or renewed by creating an executable file named: - /etc/dhclient-exit-hooks -ie.: - cp sample-etc_dhclient-exit-hooks /etc/dhclient-exit-hooks - -Edit /etc/dhclient-exit-hooks to change any options required. - -Alternatively, you may just configure ddclient to operate as a daemon -and monitor your ethernet interface. - -------------------------------------------------------------------------------- -$Id: README 112 2009-09-10 10:21:19Z wimpunk $ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddclient-3.8.1/README.md new/ddclient-3.8.2/README.md --- old/ddclient-3.8.1/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/ddclient-3.8.2/README.md 2013-12-26 10:04:25.000000000 +0100 @@ -0,0 +1,173 @@ +=============================================================================== +# DDCLIENT v3.8.2 + +ddclient is a Perl client used to update dynamic DNS entries for accounts +on many dynamic DNS services. + +=============================================================================== + +Dynamic DNS services currently supported include: + + DynDNS.com - See http://www.dyndns.com for details on obtaining a free account. + Hammernode - See http://www.hn.org for details on obtaining a free account. + Zoneedit - See http://www.zoneedit.com for details. + EasyDNS - See http://www.easydns.com for details. + NameCheap - See http://www.namecheap.com for details + ConCont - See http://www.dydns.za.net for details + DnsPark - See http://www.dnspark.com for details + DslReports - See http://www.dslreports.com for details + Sitelutions - See http://www.sitelutions.com for details + Loopia - See http://www.loopia.se for details + Noip - See http://www.noip.com/ for details + Freedns - See http://freedns.afraid.org/ for details + ChangeIP - See http://www.changeip.com/ for details + dtdns - See http://www.dtdns.com/ for details + +DDclient now supports many of cable/dsl broadband routers. + +Comments, suggestions and requests: use the forums on + http://sourceforge.net/projects/ddclient/ + +The code was originally written by Paul Burry and is now hosted and maintained +through sourceforge.net. Please check out http://ddclient.sf.net + +------------------------------------------------------------------------------- +REQUIREMENTS: + +- one or more accounts from one of the dynamic DNS services + +- Perl 5.004 or later + (you need the IO::Socket::SSL perl library for ssl-support) + +- Linux or probably any common Unix system + +------------------------------------------------------------------------------- +INSTALLATION: + + cp ddclient /usr/sbin/ + mkdir /etc/ddclient + mkdir /var/cache/ddclient + cp sample-etc_ddclient.conf /etc/ddclient/ddclient.conf + vi /etc/ddclient/ddclient.conf + -- and change hostnames, logins, and passwords appropriately + + ## For those using Redhat style rc files and using daemon-mode: + cp sample-etc_rc.d_init.d_ddclient /etc/rc.d/init.d/ddclient + ## enable automatic startup when booting + ## check your distribution + /sbin/chkconfig --add ddclient + ## start the first time by hand + /etc/rc.d/init.d/ddclient start + + ## If you are not using daemon-mode, configure cron and dhcp or ppp + ## as described below. + +------------------------------------------------------------------------------- +TROUBLESHOOTING: + + 1. enable debugging and verbose messages. + ``$ ddclient -daemon=0 -debug -verbose -noquiet`` + + 2. Do you need to specify a proxy? + If so, just add a + ``proxy=your.isp.proxy`` + to the ddclient.conf file. + + 3. Define the IP address of your router with ``fw=xxx.xxx.xxx.xxx`` in + ``/etc/ddclient/ddclient.conf`` and then try + ``$ ddclient -daemon=0 -query`` + to see if the router status web page can be understood. + + 4. Need support for another router/firewall? + Define the router status page yourself with: + ``fw=url-to-your-router``'s-status-page + ``fw-skip=any-string-preceding-your-IP-address`` + + ddclient does something like this to provide builtin support for + common routers. + For example, the Linksys routers could have been added with: + + fw=192.168.1.1/Status.htm + fw-skip=WAN.*?IP Address + + OR + Send me the output from: + $ ddclient -geturl {fw-ip-status-url} [-login login [-password password]] + and I'll add it to the next release! + + ie. for my fw/router I used: + $ ddclient -geturl 192.168.1.254/status.htm + + 5. Some broadband routers require the use of a password when ddclient + accesses its status page to determine the router's WAN IP address. + If this is the case for your router, add + fw-login=your-router-login + fw-password=your-router-password + to the beginning of your ddclient.conf file. + Note that some routers use either 'root' or 'admin' as their login + while some others accept anything. + +------------------------------------------------------------------------------- +USING DDCLIENT WITH ppp + +If you are using a ppp connection, you can easily update your DynDNS +entry with each connection, with: + + ## configure pppd to update DynDNS with each connection + cp sample-etc_ppp_ip-up.local /etc/ppp/ip-up.local + +Alternatively, you may just configure ddclient to operate as a daemon +and monitor your ppp interface. + +------------------------------------------------------------------------------- +USING DDCLIENT WITH cron + +If you have not configured ddclient to use daemon-mode, you'll need to +configure cron to force an update once a month so that the dns entry will +not become stale. + + ## configure cron to force an update twice a month + cp sample-etc_cron.d_ddclient /etc/cron.d/ddclient + vi /etc/cron.d/ddclient + +------------------------------------------------------------------------------- +USING DDCLIENT WITH dhcpcd-1.3.17 + +If you are using dhcpcd-1.3.17 or thereabouts, you can easily update +your DynDNS entry automatically every time your lease is obtained +or renewed by creating an executable file named: + /etc/dhcpc/dhcpcd-{your-interface}.exe +ie.: + cp sample-etc_dhcpc_dhcpcd-eth0.exe /etc/dhcpc/dhcpcd-{your-interface}.exe + +In my case, it is named dhcpcd-eth0.exe and contains the lines: + + #!/bin/sh + PATH=/usr/sbin:/root/bin:${PATH} + logger -t dhcpcd IP address changed to $1 + ddclient -proxy fasthttp.sympatico.ca -wildcard -ip $1 | logger -t ddclient + exit 0 + +Other DHCP clients may have another method of calling out to programs +for updating DNS entries. + +Alternatively, you may just configure ddclient to operate as a daemon +and monitor your ethernet interface. + +------------------------------------------------------------------------------- +USING DDCLIENT WITH dhclient + +If you are using the ISC DHCP client (dhclient), you can update +your DynDNS entry automatically every time your lease is obtained +or renewed by creating an executable file named: + /etc/dhclient-exit-hooks +ie.: + cp sample-etc_dhclient-exit-hooks /etc/dhclient-exit-hooks + +Edit /etc/dhclient-exit-hooks to change any options required. + +Alternatively, you may just configure ddclient to operate as a daemon +and monitor your ethernet interface. + +------------------------------------------------------------------------------- +$Id: README.md 157 2013-12-26 09:02:05Z wimpunk $ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddclient-3.8.1/RELEASENOTE new/ddclient-3.8.2/RELEASENOTE --- old/ddclient-3.8.1/RELEASENOTE 2011-07-11 23:13:44.000000000 +0200 +++ new/ddclient-3.8.2/RELEASENOTE 2013-12-26 10:04:25.000000000 +0100 @@ -1,10 +1,11 @@ -Once again it has been to before releasing a new version of ddclient. This -version has some minor changes which are all logged in the ChangeLog file. +It's been a while and has been announced a while agobut here is new release of +ddclient. There are some important changes and some documentation is modified. +A detailed overview can be found in ChangeLog but here's a quick overview: + + * adding support by ChangeIP - patch send by Michele Giorato + * sha-1 patch send by pirast to allow Digest::SHA + * allow reuse of use - patch send by Rodrigo Araujo + * preventing deep sleep - see [bugs:#46] + * Fallback to iproute if ifconfig doesn't work send by Maccied Grela - * Fixing #28: FreeDNS.afraid.org changed api slightly - * Added dtdns-support - * Added support for longer password - * Added cisco-asa patch - * Added support for LoopiaDNS -Hopefully we will be able to release the next version of ddclient much sooner. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddclient-3.8.1/ddclient new/ddclient-3.8.2/ddclient --- old/ddclient-3.8.1/ddclient 2011-07-11 23:04:21.000000000 +0200 +++ new/ddclient-3.8.2/ddclient 2013-12-26 10:04:25.000000000 +0100 @@ -1,7 +1,7 @@ #!/usr/bin/perl -w #!/usr/local/bin/perl -w ###################################################################### -# $Id: ddclient 130 2011-07-11 21:02:07Z wimpunk $ +# $Id: ddclient 157 2013-12-26 09:02:05Z wimpunk $ # # DDCLIENT - a Perl client for updating DynDNS information # @@ -20,9 +20,9 @@ use Sys::Hostname; use IO::Socket; -my ($VERSION) = q$Revision: 130 $ =~ /(\d+)/; +my ($VERSION) = q$Revision: 157 $ =~ /(\d+)/; -my $version = "3.8.1"; +my $version = "3.8.2"; my $programd = $0; $programd =~ s%^.*/%%; my $program = $programd; @@ -554,6 +554,16 @@ $variables{'service-common-defaults'}, ), }, + 'changeip' => { + 'updateable' => undef, + 'update' => \&nic_changeip_update, + 'examples' => \&nic_changeip_examples, + 'variables' => merge( + { 'server' => setv(T_FQDNP, 1, 0, 1, 'nic.changeip.com', undef) }, + { 'min-interval' => setv(T_DELAY, 0, 0, 1, 0, interval('5m')),}, + $variables{'service-common-defaults'}, + ), + }, 'dtdns' => { 'updateable' => undef, 'update' => \&nic_dtdns_update, @@ -723,6 +733,10 @@ $0 = sprintf("%s - sleeping for %s seconds", $program, $left); $left -= sleep $delay; + # preventing deep sleep - see [bugs:#46] + if ($left > $daemon) { + $left = $daemon; + } } $caught_hup = 0; $result = 0; @@ -773,15 +787,16 @@ foreach my $h (sort keys %config) { next if $config{$h}{'protocol'} ne lc($s); $examined{$h} = 1; - my $use = $config{$h}{'use'} || opt('use'); - local $opt{$use} = $config{$h}{$use} if $config{$h}{$use}; - # bug #13: we should only do this once - # use isn't enough, we have to save the origin to. - # this will break the multiple ip stuff if use has - # been used twice for the same device. + # we only do this once per 'use' and argument combination + my $use = opt('use', $h); + my $arg_ip = opt('ip', $h) || ''; + my $arg_fw = opt('fw', $h) || ''; + my $arg_if = opt('if', $h) || ''; + my $arg_web = opt('web', $h) || ''; + my $arg_cmd = opt('cmd', $h) || ''; my $ip = ""; - if (defined $iplist{$use}) { - $ip = $iplist{$use}; + if (exists $iplist{$use}{$arg_ip}{$arg_fw}{$arg_if}{$arg_web}{$arg_cmd}) { + $ip = $iplist{$use}{$arg_ip}{$arg_fw}{$arg_if}{$arg_web}{$arg_cmd}; } else { $ip = get_ip($use, $h); if (!defined $ip || !$ip) { @@ -793,7 +808,7 @@ warning("malformed IP address (%s)", $ip); next; } - $iplist{$use} = $ip; + $iplist{$use}{$arg_ip}{$arg_fw}{$arg_if}{$arg_web}{$arg_cmd} = $ip; } $config{$h}{'wantip'} = $ip; next if !nic_updateable($h, $updateable); @@ -1779,13 +1794,18 @@ ###################################################################### sub load_sha1_support { my $sha1_loaded = eval {require Digest::SHA1}; - unless ($sha1_loaded) { + my $sha_loaded = eval {require Digest::SHA}; + unless ($sha1_loaded || $sha_loaded) { fatal(<<"EOM"); -Error loading the Perl module Digest::SHA1 needed for freedns update. -On Debian, the package libdigest-sha1-perl must be installed. +Error loading the Perl module Digest::SHA1 or Digest::SHA needed for freedns update. +On Debian, the package libdigest-sha1-perl or libdigest-sha-perl must be installed. EOM } - import Digest::SHA1 (qw/sha1_hex/); + if($sha1_loaded) { + import Digest::SHA1 (qw/sha1_hex/); + } elsif($sha_loaded) { + import Digest::SHA (qw/sha1_hex/); + } } ###################################################################### ## geturl @@ -1928,7 +1948,7 @@ sub get_ip { my $use = lc shift; my $h = shift; - my ($ip, $arg, $reply, $url, $skip) = (undef, opt($use), ''); + my ($ip, $arg, $reply, $url, $skip) = (undef, opt($use, $h), ''); $arg = '' unless $arg; if ($use eq 'ip') { @@ -1938,6 +1958,7 @@ } elsif ($use eq 'if') { $skip = opt('if-skip', $h) || ''; $reply = `ifconfig $arg 2> /dev/null`; + $reply = `ip addr list dev $arg 2> /dev/null` if $?; $reply = '' if $?; } elsif ($use eq 'cmd') { @@ -3588,7 +3609,79 @@ } } +###################################################################### +## nic_changeip_examples +###################################################################### +sub nic_changeip_examples { +return <<EoEXAMPLE; + +o 'changeip' + +The 'changeip' protocol is used by DNS services offered by changeip.com. + +Configuration variables applicable to the 'changeip' protocol are: + protocol=changeip ## + server=fqdn.of.service ## defaults to nic.changeip.com + login=service-login ## login name and password registered with the service + password=service-password ## + fully.qualified.host ## the host registered with the service. + +Example ${program}.conf file entries: + ## single host update + protocol=changeip, \\ + login=my-my-changeip.com-login, \\ + password=my-changeip.com-password \\ + myhost.changeip.org + +EoEXAMPLE +} + ###################################################################### +## nic_changeip_update +## +## adapted by Michele Giorato +## +## https://nic.ChangeIP.com/nic/update?hostname=host.example.org&myip=66.185.162.19 +## +###################################################################### +sub nic_changeip_update { + + + debug("\nnic_changeip_update -------------------"); + + ## update each configured host + foreach my $h (@_) { + my $ip = delete $config{$h}{'wantip'}; + info("setting IP address to %s for %s", $ip, $h); + verbose("UPDATE:","updating %s", $h); + + my $url; + $url = "http://$config{$h}{'server'}/nic/update"; + $url .= "?hostname=$h"; + $url .= "&ip="; + $url .= $ip if $ip; + + my $reply = geturl(opt('proxy'), $url, $config{$h}{'login'}, $config{$h}{'password'}); + if (!defined($reply) || !$reply) { + failed("updating %s: Could not connect to %s.", $h, $config{$h}{'server'}); + last; + } + last if !header_ok($h, $reply); + + my @reply = split /\n/, $reply; + if (grep /success/i, @reply) { + $config{$h}{'ip'} = $ip; + $config{$h}{'mtime'} = $now; + $config{$h}{'status'} = 'good'; + success("updating %s: good: IP address set to %s", $h, $ip); + } else { + $config{$h}{'status'} = 'failed'; + warning("SENT: %s", $url) unless opt('verbose'); + warning("REPLIED: %s", $reply); + failed("updating %s: Invalid reply.", $h); + } + } +} ###################################################################### ## nic_dtdns_examples diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ddclient-3.8.1/sample-etc_ddclient.conf new/ddclient-3.8.2/sample-etc_ddclient.conf --- old/ddclient-3.8.1/sample-etc_ddclient.conf 2011-07-11 23:04:21.000000000 +0200 +++ new/ddclient-3.8.2/sample-etc_ddclient.conf 2013-12-26 10:04:25.000000000 +0100 @@ -1,6 +1,6 @@ ###################################################################### ## -## $Id: sample-etc_ddclient.conf 125 2011-05-19 20:31:20Z wimpunk $ +## $Id: sample-etc_ddclient.conf 150 2013-04-28 14:55:34Z wimpunk $ ## ## Define default global variables with lines like: ## var=value [, var=value]* @@ -179,6 +179,16 @@ # my.domain.tld,other.domain.tld ## +## +## ChangeIP (changeip.com) +## +## single host update +# protocol=changeip, \ +# login=my-my-changeip.com-login, \ +# password=my-changeip.com-password \ +# myhost.changeip.org + +## ## DtDNS (www.dtdns.com) ## # protocol=dtdns, -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
