ddclient-support Mailing List for ddclient (Page 16)
Brought to you by:
supersandro2000,
wimpunk
This list is closed, nobody may subscribe to it.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(1) |
Oct
(4) |
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(5) |
Dec
|
2007 |
Jan
(2) |
Feb
(38) |
Mar
(13) |
Apr
(10) |
May
(30) |
Jun
(18) |
Jul
(17) |
Aug
(4) |
Sep
(2) |
Oct
|
Nov
(1) |
Dec
|
2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
(2) |
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
(2) |
Oct
(3) |
Nov
(1) |
Dec
|
2009 |
Jan
(1) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
(1) |
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
(1) |
Feb
|
Mar
(2) |
Apr
|
May
(9) |
Jun
|
Jul
|
Aug
|
Sep
(5) |
Oct
(1) |
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
(2) |
Feb
(2) |
Mar
|
Apr
|
May
(4) |
Jun
(9) |
Jul
(7) |
Aug
(5) |
Sep
|
Oct
(1) |
Nov
(3) |
Dec
(1) |
2014 |
Jan
|
Feb
(1) |
Mar
|
Apr
(10) |
May
(9) |
Jun
(6) |
Jul
(7) |
Aug
(3) |
Sep
(4) |
Oct
(7) |
Nov
|
Dec
|
2015 |
Jan
(4) |
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
(1) |
Nov
(4) |
Dec
|
2017 |
Jan
|
Feb
(4) |
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
(8) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2018 |
Jan
(3) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(4) |
Jun
(1) |
Jul
(1) |
Aug
(3) |
Sep
(2) |
Oct
(3) |
Nov
|
Dec
(8) |
2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(10) |
Sep
(10) |
Oct
(5) |
Nov
|
Dec
(2) |
2020 |
Jan
(3) |
Feb
(1) |
Mar
(3) |
Apr
(2) |
May
(47) |
Jun
(99) |
Jul
(14) |
Aug
(2) |
Sep
|
Oct
(2) |
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Larry H. <la...@gr...> - 2010-02-03 21:03:12
|
Ingo: On Mon, 1 Feb 2010, Ingo Schwarze wrote: > Larry Houston wrote on Sat, Jan 23, 2010 at 09:35:29PM -0500: > >> I had assumed that I could just modify Static Gateways on all Computers >> to switch between "Providers", > > That doesn't look like a good approach, it may cause all sorts of issues. > For example, what about incoming connections? They will continue to > arrive via both providers, and you may end up with asymmetric routing, > just to name one example. Besides, what about your security policy, > and how are you planning to enforce it in that kind of setup? Using Wireshark I was able to Capture a TCP Stream in which there appears to be some Asymmetric Routing, leading DDClient to "Detect" the Public IP Address of Provider #2 instead of Provider #1!!! I have attached a Capture of TCP Stream #581 to this Posting, although I do NOT know if the DDClient List "Accepts" Attachments??? Within Stream #581: MAC Address of Provider #1's Gateway (00:1c:10:9e:ae:2b) MAC Address of Provider #2's Gateway (00:13:46:43:8c:4c) All Frames leaving the Ubuntu Server are correctly targeting the MAC Address of Provider #1's Gateway, although of the Frames returning from checkip.dyndns.com (208.78.70.70) [Frames 2, 5, 6 & 12] have returned from the MAC Address of Provider #2's Gateway and have therefore DDClient has instead detected the Public IP Address of Provider #2!!! If List Users have time to look at Stream #581's Capture, could they provide possible explanations as to why this Asymmetric Routing has occurred??? Within a Fully Switched Segment it would be more "Challenging" to verify from which Provider's Router the TCP Stream actually exited the Private Segment, although it might be that the TCP Stream actually left the Switched Segment via Router #2, even though initially the Frame was sent to Router #1's Gateway Interface??? If that was the case, then I might have created a "Dynamic" Routing Issue without know it??? Thanks again for everone's patience... > Yours, > Ingo > > -- > Ingo Schwarze <isc...@as...> | Software Engineer | Framework Team > Astaro AG | www.astaro.com | 76227 Karlsruhe | Germany > |
From: Larry H. <la...@gr...> - 2010-02-02 02:09:56
|
Ingo: On Mon, 1 Feb 2010, Ingo Schwarze wrote: > Hi Larry, > > Larry Houston wrote on Sat, Jan 23, 2010 at 09:35:29PM -0500: > >> Currently evaluating a "New" Provider, but had left both Gateways left >> connected to our LAN's Switch. > > You mean, you connect your Internet uplink directly to your LAN network > segment? This remark is not related to ddclient, but if i understand > correctly what you are doing, it seems like a firewall is missing from > that network design. Instead of Gateways I should have a specified NAT Based Routers, such that the Gateways for both Providers were connected to that same LAN Segment/Switch. >> I had assumed that I could just modify Static Gateways on all Computers >> to switch between "Providers", > > That doesn't look like a good approach, it may cause all sorts of issues. > For example, what about incoming connections? They will continue to > arrive via both providers, and you may end up with asymmetric routing, > just to name one example. Besides, what about your security policy, > and how are you planning to enforce it in that kind of setup? To my knowledge there no asymmetric routing, for those computers using Provider #1 the traffic was exiting/returning by Provider 1's Gateway... The same for those computers using Provider #2 and Provider #2's Gateway... >> but to my surprise the DDclient (3.7.3 under Ubuntu 8.04) on occasion >> would use the Gateway of the "Old" Provider and consequently use that >> for its IP Address Determination and update my DynDNS Entry accordingly!!! >> Effectively "Flapping" between Providers, switching back to the "New" >> Provider 5 Minutes after updating the DynDNS Entry to reflect the "Old" >> Provider's IP Address... >> >> Although I have now disconnected the Router for the "Old" Provider from >> the LAN's Switch and expect the "Flapping" should stop, I am curious to >> know by what mechanism the DDclient would have been able to "Discover" the >> Second Router (Provider) without that being specified as a "Static" >> Gateway??? > > That's hard to say. > Ddclient supports are large number of very different algorithms to > detect the IP address to publish, and you are telling us absolutely > nothing about your ddclient configuration. My Dynamic DNS Service is DynDNS and I have DDClient configured for Web Detection of my Public IP Address (checkip.dyndns.org) > If you hope for help, you would need to describe your network > topology in more detail and to show your ddclient confugration. Internet / \ / \ / \ / \ / \ / \ Provider #1 Provider #2 | | | | | | Cable Modem DSL Modem | | | | | | Router #1 Router #2 \ / \ / \ / \ / \ / \ / \ / Switch / | \ / | \ / | \ / | \ / | \ / | \ PC (Cable) Server (DDClient) PC (DSL) Gateway #1 Gatway #1 ---> #2 Gateway #2 After adjusting the Gateway on the Server where the DDClient was running from Gateway #1 to Gateway #2, for short period of time Detect the Public IP Address of Provider #1, then switch back 5 Minutes later to picking up the "Correct" Public IP Address of Provider #2!!! -------------------------------------------------------------------------------- # Configuration file for ddclient generated by debconf # # /etc/ddclient.conf pid=/var/run/ddclient.pid protocol=dyndns2 ## 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 server=members.dyndns.org login=username password='password' wildcard=yes hostname1.dyndns.org mail=ro...@ho... -------------------------------------------------------------------------------- Since observing the DDClient momentarily "Flapping" between Providers, I now have two separate LAN Segments on two separate Switches until the Provider "Evaluation" has been completed... I was trying to understand what within DDClient or on the Server where the DDClient is running would account for the DDClient NOT detecting the Public IP Address of Router #2 for whom the Server had been assigned the Gateway Address of Router #2??? Any insite would be appreciated, since I have been using DDClient for years with a Single Provider/Router/Gateway without any problems??? Larry ..... > Yours, > Ingo > > -- > Ingo Schwarze <isc...@as...> | Software Engineer | Framework Team > Astaro AG | www.astaro.com | 76227 Karlsruhe | Germany > |
From: Ingo S. <isc...@as...> - 2010-02-01 12:55:07
|
Hi Larry, Larry Houston wrote on Sat, Jan 23, 2010 at 09:35:29PM -0500: > Currently evaluating a "New" Provider, but had left both Gateways left > connected to our LAN's Switch. You mean, you connect your Internet uplink directly to your LAN network segment? This remark is not related to ddclient, but if i understand correctly what you are doing, it seems like a firewall is missing from that network design. > I had assumed that I could just modify Static Gateways on all Computers > to switch between "Providers", That doesn't look like a good approach, it may cause all sorts of issues. For example, what about incoming connections? They will continue to arrive via both providers, and you may end up with asymmetric routing, just to name one example. Besides, what about your security policy, and how are you planning to enforce it in that kind of setup? > but to my surprise the DDclient (3.7.3 under Ubuntu 8.04) on occasion > would use the Gateway of the "Old" Provider and consequently use that > for its IP Address Determination and update my DynDNS Entry accordingly!!! > Effectively "Flapping" between Providers, switching back to the "New" > Provider 5 Minutes after updating the DynDNS Entry to reflect the "Old" > Provider's IP Address... > > Although I have now disconnected the Router for the "Old" Provider from > the LAN's Switch and expect the "Flapping" should stop, I am curious to > know by what mechanism the DDclient would have been able to "Discover" the > Second Router (Provider) without that being specified as a "Static" > Gateway??? That's hard to say. Ddclient supports are large number of very different algorithms to detect the IP address to publish, and you are telling us absolutely nothing about your ddclient configuration. If you hope for help, you would need to describe your network topology in more detail and to show your ddclient confugration. Yours, Ingo -- Ingo Schwarze <isc...@as...> | Software Engineer | Framework Team Astaro AG | www.astaro.com | 76227 Karlsruhe | Germany |
From: Larry H. <la...@gr...> - 2010-01-24 02:35:39
|
DDclient Support: Currently evaluating a "New" Provider, but had left both Gateways left connected to our LAN's Switch. I had assumed that I could just modify Static Gateways on all Computers to switch between "Providers", but to my surprise the DDclient (3.7.3 under Ubuntu 8.04) on occasion would use the Gateway of the "Old" Provider and consequently use that for its IP Address Determination and update my DynDNS Entry accordingly!!! Effectively "Flapping" between Providers, switching back to the "New" Provider 5 Minutes after updating the DynDNS Entry to reflect the "Old" Provider's IP Address... Although I have now disconnected the Router for the "Old" Provider from the LAN's Switch and expect the "Flapping" should stop, I am curious to know by what mechanism the DDclient would have been able to "Discover" the Second Router (Provider) without that being specified as a "Static" Gateway??? To my knowledge I am not running any Routing Protocol Services on the Ubuntu Server... Lawrence Houston -- (la...@gr...) |
From: Vijay A. <vav...@gm...> - 2009-06-26 16:37:13
|
Wimpunk, I guess it would have helped if I included the version I am using :-P I am using ddclient-3.7.3-1.el5.rf.noarch.rpm<http://dag.wieers.com/rpm/packages/ddclient/ddclient-3.7.3-1.el5.rf.noarch.rpm>from rpmforge, which is not the latest. I will try the latest version (3.8) and let everyone know if it worked or not. Cheers, Vijay On Fri, Jun 26, 2009 at 9:33 AM, wimpunk <wi...@us...>wrote: > Vijay Avarachen wrote: > > Has anyone gotten ddclient to register internal and external ip for > Amazon > > Web Services (aws) instance? > > > > I can easily access the internal IP address by doing: > > > > use=if,if=eth0 > > > > and I can access the external IP address by doing: > > use=cmd,cmd='curl -k -s > http://169.254.169.254/latest/meta-data/public-ipv4' > > > > However, when I configure my ddclient to update my dyndns account, it > > applies the same IP for both records. > > > > daemon=300 > > syslog=yes > > pid=/var/run/ddclient.pid > > > > #Internal > > use=if,if=eth0 > > login=username > > password=secret > > protocol=dyndns2 > > server=members.dyndns.org > > host-int.gotdns.com > > > > #External > > use=cmd > > cmd='curl -k -s http://169.254.169.254/latest/meta-data/public-ipv4' > > login=username > > password=secret > > protocol=dyndns2 > > server=members.dyndns.org > > host-ext.gotdns.com > > > > Can someone please tell me how can I use the same dyndns acount and > update > > two records with two different IP's? > > > > Thanks, > > Vijay > > It should work if you use the most recent version of ddclient which has > the possibility of updating 2 ip addresses. I must admit I never used > that feature but there are some reports on correct functioning. Search > the forum on how to use it. > > Kind regards, > > wimpunk. > -- "Knowledge is the only wealth that grows as you spend it, and diminishes as you save it." -- ancient Sanskrit saying |
From: Vijay A. <vav...@gm...> - 2009-06-22 22:45:56
|
Has anyone gotten ddclient to register internal and external ip for Amazon Web Services (aws) instance? I can easily access the internal IP address by doing: use=if,if=eth0 and I can access the external IP address by doing: use=cmd,cmd='curl -k -s http://169.254.169.254/latest/meta-data/public-ipv4' However, when I configure my ddclient to update my dyndns account, it applies the same IP for both records. daemon=300 syslog=yes pid=/var/run/ddclient.pid #Internal use=if,if=eth0 login=username password=secret protocol=dyndns2 server=members.dyndns.org host-int.gotdns.com #External use=cmd cmd='curl -k -s http://169.254.169.254/latest/meta-data/public-ipv4' login=username password=secret protocol=dyndns2 server=members.dyndns.org host-ext.gotdns.com Can someone please tell me how can I use the same dyndns acount and update two records with two different IP's? Thanks, Vijay -- "Knowledge is the only wealth that grows as you spend it, and diminishes as you save it." -- ancient Sanskrit saying |
From: Detlef G. <dgt...@ya...> - 2009-04-26 14:58:23
|
Hello, maybe it would be a nice feature if ddclient would support getting the IP address with SNMP from the device. I think this is a generic way to get the IP address. Most devices which are SNMP capable are then supported. This feature works of course with the external command (use=cmd). With the following command you "walk" through the interface table: snmpwalk -v 1 -c public 192.168.1.1 IP-MIB::ipAdEntIfIndex IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1 IP-MIB::ipAdEntIfIndex.192.168.1.1 = INTEGER: 2 IP-MIB::ipAdEntIfIndex.217.xx.y.z = INTEGER: 3 The loopback devices and rfc1918 adresses must be discarded. In most cases the remaining IP address is the one which is needed. The Net::SNMP package ist needed if this query is done with Perl. With best regards, Detlef Graef |
From: Detlef G. <dgt...@ya...> - 2009-01-03 16:51:09
|
Hi, I've looked at the source of ddclient Ver. 3.7.3 and I've seen that support for "sitelutions" protocol is implemented. So the change request 1094732 can be closed. Is that correct? The protocol should be mentioned here: http://ddclient.wiki.sourceforge.net/Protocols With best regards, Detlef Graef |
From: wimpunk <wi...@us...> - 2008-11-19 21:17:39
|
On Tue, Sep 30, 2008 at 10:06 PM, wimpunk <bkc...@sp...>wrote: > Ingo Schwarze wrote: > > > > But now, for the upcoming 7.400 release, we have implemented a couple > > of improvements related to DynDNS support. One of these improvements > > involves a few changes to the ddclient source code itself, adding > > support to keep more than one dynamical IP address up to date. > > > > Your patch looks good and I added it to the development tree (r101). I > know there are a few people out there who wants this feature so I try to > make them try the patch. > (btw, for some reason your message felt out of my mailbox so I have to > answer you using the gmane news server) > > Regards, > > wimpunk. > > > Finally I fixed an issue in the noip-code which was caused by applying the patch. r103 is the new working version. Kind regards, wimpunk. -- I would love to change the world, but they wont give me the source code. |
From: Raman G. <roc...@fa...> - 2008-10-16 23:50:19
|
Ingo Schwarze <ischwarze@...> writes: > Technically, the main changes are: > > * Allow use= and its sub-options if=, web=, fw=, and cmd= > to be set seperately for each hosts line. > * Store the formerly global variable $ip in the $config{$h} hash > such that it can be different for different host names. > * Call the post-script with multiple IP arguments when required. > > Below, you find a patch against ddclient-3.7.3 implementing the new > feature. Of course, we would be glad if this feature enhancement > could be integrated into the SourceForge distribution. Suggestions > from the community regarding the code are welcome, and i shall try > to keep our version as close to the official one as possible. > Forking ddclient is certainly not intended. Thanks Ingo, I applied this patch locally and it works well for me. Note however that currently it does a lookup per-host rather than per-use. No big deal, but definitely adds some unnecessary overhead. To illustrate: [... basic settings here...] server=members.dyndns.org protocol=dyndns2 login=XXX password=XXX use=web, web=checkip1.service.com \ XXX.dyndns.org,YYY.dyndns.org use=web, web=checkip2.service.com \ XXX.homeunix.org,YYY.homeunix.org The above config file ends up hitting the checkip1.service.com website two times, and checkip2.service.com two times, instead of just once each. Cheers, Raman Gupta |
From: Adrian P. <adr...@ph...> - 2008-10-13 10:25:12
|
Ingo Schwarze <ischwarze@...> writes: > But now, for the upcoming 7.400 release, we have implemented a couple > of improvements related to DynDNS support. One of these improvements > involves a few changes to the ddclient source code itself, adding > support to keep more than one dynamical IP address up to date. Thank you for this - very good timing as I needed this since a couple of days ago, so patched ddclient (Version: 3.7.3-4ubuntu1) with your patch and it seems to work like a charm, although it has only been 2 days. Oh, and a thank you to all the authors of ddclient. Sincerely, Adrian Phillips |
From: wimpunk <bkc...@sp...> - 2008-10-01 07:05:20
|
Ingo Schwarze wrote: > > But now, for the upcoming 7.400 release, we have implemented a couple > of improvements related to DynDNS support. One of these improvements > involves a few changes to the ddclient source code itself, adding > support to keep more than one dynamical IP address up to date. > Your patch looks good and I added it to the development tree (r101). I know there are a few people out there who wants this feature so I try to make them try the patch. (btw, for some reason your message felt out of my mailbox so I have to answer you using the gmane news server) Regards, wimpunk. |
From: Ingo S. <isc...@as...> - 2008-09-30 19:48:30
|
Dear colleagues, reading the ddclient-3.7.3 source code, you will notice that the config file parser tries to handle some of the subtleties of passwords, in particular passwords containing the sharp character ('#'). All the same, there are still a few problems: 1. If there is white space before the keyword 'password', the sharp handling is bypassed. For example, the following line is parsed as password='very' instead of password='very#secret': user=joe, password=very#secret my.host # special password! 2. If there is whitespace behind the password, the rest of the line is lost, including any trailing backslash. For example, with the following pair of lines, password=secret is parsed into the global scope, and user=joe starts a new host line. password=secret, \ user=joe my.host 3. The worst problem is that passwords containing white space cannot be used. Escaping them is not possible. For example, the following line is parsed as password='very' instead of password='very secret': password=very secret At this point i stopped checking, maybe passwords containing the comma character also cause trouble. The patch included below fixes all this by parsing the passwords into a temporary hash and feeding them back once the main parser has finished splitting on whitespace and commas. Optionally, each password can be included in single quotes ("''"). This is required when the password contains white space or itself starts with a single quote. For example, the password "'secret" must be specified as "password=''secret'". The patch is expected to be backward compatible with the exception of passwords starting with a single quote. Feedback is welcome, but expect some delay; i shall be offline for about two weeks starting on Thurday. Yours, Ingo -- Ingo Schwarze <isc...@as...> | Software Engineer | Framework Team Astaro AG | www.astaro.com | 76227 Karlsruhe | Germany ----- 8< ----- schnipp ----- >8 ----- 8< ----- schnapp ----- >8 ----- # # Patch to improve password handling in ddclient-3.7.3 # Copyright (C) 2008 Astaro AG www.astaro.com # Author: Ingo Schwarze <isc...@as...> 30.09.2008 # # This patch is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This patch is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with the ddclient program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, # or look up http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt . # Index: ddclient =================================================================== RCS file: /home/cvs/sources/d/ddclient/ddclient,v retrieving revision 1.1.1.2 diff -u -p -r1.1.1.2 ddclient --- ddclient 15 Sep 2008 11:13:55 -0000 1.1.1.2 +++ ddclient 30 Sep 2008 18:55:52 -0000 @@ -888,6 +888,7 @@ sub _read_config { local $lineno = 0; my $continuation = ''; + my %passwords = (); while (<FD>) { s/[\r\n]//g; @@ -903,10 +904,17 @@ sub _read_config { } $content .= "$_\n" unless /^#/; - # lines contain passwords are a special case, we don't want to - # arbitrarily strip out '#' - if (/^(\S*password\S*)\s*=\s*(\S+)/i) { $_ = "$1=$2"; } - if (/^#/ || !(/password/i) || /#.*password/i) { s/#.*//; } # remove comments + + ## parsing passwords is special + if (/^([^#]*\s)?([^#]*?password\S*?)\s*=\s*('.*'|[^']\S*)(.*)/) { + my ($head, $key, $value, $tail) = ($1 || '', $2, $3, $4); + $value = $1 if $value =~ /^'(.*)'$/; + $passwords{$key} = $value; + $_ = "${head}${key}=dummy${tail}"; + } + + ## remove comments + s/#.*//; ## handle continuation lines $_ = "$continuation$_"; @@ -931,6 +939,7 @@ sub _read_config { ## verify that keywords are valid...and check the value foreach my $k (keys %locals) { + $locals{$k} = $passwords{$k} if defined $passwords{$k}; if (!exists $variables{'merged'}{$k}) { warning("unrecognized keyword '%s' (ignored)", $k); delete $locals{$k}; @@ -969,6 +978,7 @@ sub _read_config { $config{$h}{'host'} = $h; } } + %passwords = (); } close(FD); |
From: Ingo S. <isc...@as...> - 2008-09-24 12:20:06
|
Dear colleagues, about a year ago, i reported on this mailing list that we switched Dynamic DNS support in the Astaro Security Gateway (www.astaro.com) to use ddclient. Not much maintenace work has been necessary since that time, the software just worked for us. :-) But now, for the upcoming 7.400 release, we have implemented a couple of improvements related to DynDNS support. One of these improvements involves a few changes to the ddclient source code itself, adding support to keep more than one dynamical IP address up to date. A typical configuration file might look like this: daemon=300 ssl=yes mail=XXX@XXX mail-failure=XXX@XXX cache=/var/cache/ddclient/ddclient.cache pid=/opt/tmpfs/ddclient.pid syslog=yes use=if, \ if=ppp0, \ server=members.dyndns.org, \ protocol=dyndns2, \ login=XXX, \ password=XXX \ XXX.dyndns.org use=if, \ if=ppp1, \ server=members.dyndns.org, \ protocol=dyndns2, \ login=YYY, \ password=YYY \ YYY.homeunix.org use=web, \ server=members.dyndns.org, \ protocol=dyndns2, \ login=ZZZ, \ password=ZZZ \ ZZZ.dnsalias.org where the default route need not necessarily be on ppp0 or ppp1. Technically, the main changes are: * Allow use= and its sub-options if=, web=, fw=, and cmd= to be set seperately for each hosts line. * Store the formerly global variable $ip in the $config{$h} hash such that it can be different for different host names. * Call the post-script with multiple IP arguments when required. Below, you find a patch against ddclient-3.7.3 implementing the new feature. Of course, we would be glad if this feature enhancement could be integrated into the SourceForge distribution. Suggestions from the community regarding the code are welcome, and i shall try to keep our version as close to the official one as possible. Forking ddclient is certainly not intended. Yours, Ingo -- Ingo Schwarze <isc...@as...> | Software Engineer | Framework Team Astaro AG | www.astaro.com | 76227 Karlsruhe | Germany ----- 8< ----- schnipp ----- >8 ----- 8< ----- schnapp ----- >8 ----- # # Patch to add multiple IP support to ddclient-3.7.3 # Copyright (C) 2008 Astaro AG www.astaro.com # Author: Ingo Schwarze <isc...@as...> 16.09.2008 # # This patch is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This patch is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with the ddclient program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, # or look up http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt . # Index: ddclient =================================================================== RCS file: /home/cvs/sources/d/ddclient/ddclient,v retrieving revision 1.1.1.2 retrieving revision 1.4.2.1 diff -u -p -r1.1.1.2 -r1.4.2.1 --- ddclient 15 Sep 2008 11:13:55 -0000 1.1.1.2 +++ ddclient 24 Sep 2008 10:06:24 -0000 1.4.2.1 @@ -10,6 +10,9 @@ # # website: http://ddclient.sf.net # +# Support for multiple IP numbers added by +# Astaro AG, Ingo Schwarze <isc...@as...> September 16, 2008 +# ###################################################################### require 5.004; use strict; @@ -349,6 +352,19 @@ my %variables = ( 'login' => setv(T_LOGIN, 1, 0, 1, '', undef), 'password' => setv(T_PASSWD, 1, 0, 1, '', undef), 'host' => setv(T_STRING, 1, 1, 1, '', undef), + + 'use' => setv(T_USE, 0, 0, 1, 'ip', undef), + 'if' => setv(T_IF, 0, 0, 1, 'ppp0', undef), + 'if-skip' => setv(T_STRING,0, 0, 1, '', undef), + 'web' => setv(T_STRING,0, 0, 1, 'dyndns', undef), + 'web-skip' => setv(T_STRING,0, 0, 1, '', undef), + 'fw' => setv(T_ANY, 0, 0, 1, '', undef), + 'fw-skip' => setv(T_STRING,0, 0, 1, '', undef), + 'fw-login' => setv(T_LOGIN, 0, 0, 1, '', undef), + 'fw-password' => setv(T_PASSWD,0, 0, 1, '', undef), + 'cmd' => setv(T_PROG, 0, 0, 1, '', undef), + 'cmd-skip' => setv(T_STRING,0, 0, 1, '', undef), + 'ip' => setv(T_IP, 0, 1, 0, undef, undef), 'wtime' => setv(T_DELAY, 0, 1, 1, 0, interval('30s')), 'mtime' => setv(T_NUMBER, 0, 1, 0, 0, undef), @@ -594,7 +610,7 @@ if (opt('daemon') && !opt('force')) { } umask 077; -my ($daemon, $ip); +my $daemon; do { $now = time; $result = 'OK'; @@ -617,19 +633,7 @@ do { $daemon = $opt{'daemon'}; $daemon = 0 if opt('force'); - ## obtain the IP address to use. - $ip = get_ip(opt('use')); - - ## a little sanity check and then update the NICs.. - if (!defined $ip || !$ip) { - warning("unable to determine IP address") if !$daemon || opt('verbose'); - - } elsif ($ip !~ /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/) { - warning("malformed IP address (%s)", $ip); - - } else { - update_nics(); - } + update_nics(); if ($daemon) { debug("sleep %s", $daemon); @@ -683,20 +687,34 @@ sub update_nics { my %examined = (); foreach my $s (sort keys %services) { - my @hosts = (); + my (@hosts, %ips) = (); my $updateable = $services{$s}{'updateable'}; my $update = $services{$s}{'update'}; 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}; + my $ip = get_ip($use); + if (!defined $ip || !$ip) { + warning("unable to determine IP address") + if !$daemon || opt('verbose'); + next; + } + if ($ip !~ /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/) { + warning("malformed IP address (%s)", $ip); + next; + } + $config{$h}{'wantip'} = $ip; next if !nic_updateable($h, $updateable); push @hosts, $h; + $ips{$ip} = $h; } if (@hosts) { $0 = sprintf("%s - updating %s", $program, join(',', @hosts)); &$update(@hosts); - runpostscript($ip); + runpostscript(join ' ', keys %ips); } } foreach my $h (sort keys %config) { @@ -1885,7 +1903,7 @@ sub group_hosts_by { my %groups = (); foreach my $h (@$hosts) { - my @keys = @$attributes; + my @keys = (@$attributes, 'wantip'); map { $config{$h}{$_} = '' unless exists $config{$h}{$_} } @keys; my $sig = join(',', map { "$_=$config{$h}{$_}" } @keys); @@ -1964,6 +1982,7 @@ sub nic_updateable { my $host = shift; my $sub = shift; my $update = 0; + my $ip = $config{$host}{'wantip'}; if ($config{$host}{'login'} eq '') { warning("null login name specified for host %s.", $host); @@ -2122,6 +2141,7 @@ sub nic_dyndns1_update { debug("\nnic_dyndns1_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); @@ -2266,6 +2286,8 @@ sub nic_dyndns2_update { my @hosts = @{$groups{$sig}}; my $hosts = join(',', @hosts); my $h = $hosts[0]; + my $ip = $config{$h}{'wantip'}; + delete $config{$_}{'wantip'} foreach @hosts; info("setting IP address to %s for %s", $ip, $hosts); verbose("UPDATE:","updating %s", $hosts); @@ -2398,6 +2420,7 @@ sub nic_concont_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); @@ -2480,6 +2503,7 @@ sub nic_dslreports1_update { debug("\nnic_dslreports1_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); @@ -2555,6 +2579,7 @@ sub nic_hammernode1_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); @@ -2636,6 +2661,8 @@ sub nic_zoneedit1_update { my @hosts = @{$groups{$sig}}; my $hosts = join(',', @hosts); my $h = $hosts[0]; + my $ip = $config{$h}{'wantip'}; + delete $config{$_}{'wantip'} foreach @hosts; info("setting IP address to %s for %s", $ip, $hosts); verbose("UPDATE:","updating %s", $hosts); @@ -2778,6 +2805,9 @@ sub nic_easydns_update { my @hosts = @{$groups{$sig}}; my $hosts = join(',', @hosts); my $h = $hosts[0]; + my $ip = $config{$h}{'wantip'}; + delete $config{$_}{'wantip'} foreach @hosts; + info("setting IP address to %s for %s", $ip, $hosts); verbose("UPDATE:","updating %s", $hosts); @@ -2935,6 +2965,9 @@ sub nic_dnspark_update { my @hosts = @{$groups{$sig}}; my $hosts = join(',', @hosts); my $h = $hosts[0]; + my $ip = $config{$h}{'wantip'}; + delete $config{$_}{'wantip'} foreach @hosts; + info("setting IP address to %s for %s", $ip, $hosts); verbose("UPDATE:","updating %s", $hosts); @@ -3050,6 +3083,7 @@ sub nic_namecheap_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); @@ -3132,6 +3166,7 @@ sub nic_sitelutions_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); |
From: wimpunk <wi...@us...> - 2008-06-02 21:15:05
|
I forgot to add the mailinglist... wimpunk. ---------- Forwarded message ---------- From: wimpunk <wi...@us...> Date: Mon, Jun 2, 2008 at 11:13 PM Subject: Re: [Ddclient-support] Fwd: Zoneedit update On Mon, Jun 2, 2008 at 10:48 PM, Oren Held <or...@he...> wrote: > Sorry, the attachment was stripped for some reason, I'll just paste it: > > --- ddclient-3.7.3/sample-etc_ddclient.conf.old 2008-06-02 23:41:05.000000000 > +0300 > +++ ddclient-3.7.3/sample-etc_ddclient.conf 2008-06-02 23:41:14.000000000 > +0300 > @@ -98,7 +98,7 @@ > ## > ## ZoneEdit (zoneedit.com) > ## > -# server=www.zoneedit.com, \ > +# server=dynamic.zoneedit.com, \ > # protocol=zoneedit1, \ > # login=your-zoneedit-login, \ > # password=your-zoneedit-password \ > > > > ---------- Forwarded Message ---------- > > Subject: [Ddclient-support] Zoneedit update > Date: Monday, 2 June 2008 > From: Oren Held <or...@he...> > To: ddc...@li... > > Hi, > > As I posted in my blog [http://www.held.org.il/blog/?p=63], Zoneedit URL > should become dynamic.zoneedit.com. > > Attached is a patch to address this issue. > > Also, Zoneedit does send "302 Redirect" message which ddclient doesn't > understand.. Maybe it can be solved as well. > > 10x > > - Oren > > ------------------------------------------------------- > Thanks for pointing this out. It wasn't a real bug, it's just a documentation issue but it's fixed in r87: /trunk/svn/ (ddclient sample-etc_ddclient.conf): Modified documentation about zoneedit based on the comments from Oren Held it will be added to the next release of ddclient. wimpunk. -- I would love to change the world, but they wont give me the source code. |
From: Oren H. <or...@he...> - 2008-06-02 20:48:35
|
Sorry, the attachment was stripped for some reason, I'll just paste it: --- ddclient-3.7.3/sample-etc_ddclient.conf.old 2008-06-02 23:41:05.000000000 +0300 +++ ddclient-3.7.3/sample-etc_ddclient.conf 2008-06-02 23:41:14.000000000 +0300 @@ -98,7 +98,7 @@ ## ## ZoneEdit (zoneedit.com) ## -# server=www.zoneedit.com, \ +# server=dynamic.zoneedit.com, \ # protocol=zoneedit1, \ # login=your-zoneedit-login, \ # password=your-zoneedit-password \ ---------- Forwarded Message ---------- Subject: [Ddclient-support] Zoneedit update Date: Monday, 2 June 2008 From: Oren Held <or...@he...> To: ddc...@li... Hi, As I posted in my blog [http://www.held.org.il/blog/?p=63], Zoneedit URL should become dynamic.zoneedit.com. Attached is a patch to address this issue. Also, Zoneedit does send "302 Redirect" message which ddclient doesn't understand.. Maybe it can be solved as well. 10x - Oren ------------------------------------------------------- |
From: Oren H. <or...@he...> - 2008-06-02 20:43:18
|
Hi, As I posted in my blog [http://www.held.org.il/blog/?p=63], Zoneedit URL should become dynamic.zoneedit.com. Attached is a patch to address this issue. Also, Zoneedit does send "302 Redirect" message which ddclient doesn't understand.. Maybe it can be solved as well. 10x - Oren |
From: wimpunk <wi...@us...> - 2008-04-14 07:30:14
|
I intended to send it to the mailing list... ---------- Forwarded message ---------- Date: Mon, Apr 14, 2008 at 9:29 AM Subject: Re: [Ddclient-support] syslog Hi, On Sun, Apr 13, 2008 at 5:10 PM, <bo...@de...> wrote: > first time i ran i saw logging in var/log/messages but not any more. Logging to syslog is controlled by the "syslog=yes|no" parametere. If you want to control the way ddclient logs to syslog you have to manipulate the facility (default:daemon) and priority (default:notice) setting. Check your syslog manual for more information. > also one of the messages in syslog was 'it is considered abuse to run if no changes is ineeded' > how would the script know that it needs to change The message wasn't because ddclient detected your IP didn't change. It's a response from you dynamica dns provider which is warning you. Ddclient tries to find your current IP address, compares it with the value it has cached and if it's changed it tries to update your dynamic provider. There are a few exceptions: if you used force or last update has been done more than (by default) 25 days agon, it also updates your provider. -- I would love to change the world, but they wont give me the source code. -- I would love to change the world, but they wont give me the source code. |
From: <bo...@de...> - 2008-04-13 15:07:58
|
first time i ran i saw logging in var/log/messages but not any more. also one of the messages in syslog was 'it is considered abuse to run if no changes is ineeded' how would the script know that it needs to change |
From: wim v. <wi...@gm...> - 2008-03-04 08:35:20
|
James deBoer wrote: > Attached is a patch to r27 of ddclient. The patch changes --daemon values to > be intervals all of the time, instead of intervals some of the time and > number of seconds the rest of the time. > > This fixes a fairly nasty bug, where values such as '5h' were treated as > zero by the 'sleep' function. > > - James > If I may believe my mailbox, I never replied to this one. Anyway, thanks for the message. It's been applied a long time ago. Kind regards, wimpunk. |
From: Detlef G. <dgt...@ya...> - 2007-11-10 21:51:34
|
Hello, I get the following error: [root@robin ~]# /usr/sbin/ddclient -verbose WARNING: skipping host: #comment: 'login=' is an invalid login. when the config line looks like this: fw-login=admin, fw-password=xxxxxx #comment When I remove "#comment" ddclient is running fine. I'm using: ddclient-3.7.2-1.fc8 (Fedora 8) With a previous version of ddclient (3.6.x) the comment wasn't a problem. I'm doing something wrong? With best regards, Detlef Graef Heute schon einen Blick in die Zukunft von E-Mails wagen? Versuchen Sie´s mit dem neuen Yahoo! Mail. www.yahoo.de/mail |
From: wimpunk <kwd...@sp...> - 2007-09-05 18:55:38
|
Bernd Prager wrote: > I am experiencing a strange error as of today when I updated from version > 3.7.0 to version 3.7.3. > > The cache file repeatedly reports version 3.7.0 even when I delete the > cache file. > I get a 'program version mismatch' warning and the cache file is ignored. > ddclient keeps updating dyndns.org to the point I get blocked due to policy > violation. > > I was scanning my entire file system because I thought I might have an old > version lingering around but that seems not the case. > > Any suggestion how I can debug this without hitting dyndns.org and > violating the update policy? > > Thanks for any help, > -- Bernd > Try to run ddclient in verbose mode by running ddclient -daemon=0 -debug -verbose -noquiet. It should give you more info on what's going wrong. The most recent version of ddclient needs a ddclient cache directory in /var/cache/ddclient. So you probably have to make it and try again. Kind regards, wimpunk. |
From: Bernd P. <be...@pr...> - 2007-09-04 21:15:30
|
I am experiencing a strange error as of today when I updated from version 3.7.0 to version 3.7.3. The cache file repeatedly reports version 3.7.0 even when I delete the cache file. I get a 'program version mismatch' warning and the cache file is ignored. ddclient keeps updating dyndns.org to the point I get blocked due to policy violation. I was scanning my entire file system because I thought I might have an old version lingering around but that seems not the case. Any suggestion how I can debug this without hitting dyndns.org and violating the update policy? Thanks for any help, -- Bernd |
From: wimpunk <wi...@us...> - 2007-08-07 07:38:51
|
Hi, Maybe you've read the news on https://sourceforge.net/forum/forum.php?forum_id=722635 before but ddclient 3.7.3 is released. It has a few bugfixes and typo corrections. Most important change: I'm using an auto generated ChangeLog now. Feel free to update (don't forget to remove or modify your cache file) Kind regards, wimpunk. -- I would love to change the world, but they wont give me the source code. |
From: wimpunk <tef...@sp...> - 2007-08-06 09:25:12
|
Ian Timshel wrote: > Thank-you > Ian > You're welcome. let me know if it worked. |