diff -Nur smeserver-ddclient-1.0.0/createlinks smeserver-ddclient-1.1.0/createlinks --- smeserver-ddclient-1.0.0/createlinks 2008-04-23 15:41:32.000000000 +0200 +++ smeserver-ddclient-1.1.0/createlinks 2009-10-08 10:59:22.000000000 +0200 @@ -8,16 +8,16 @@ my $event = 'ddclient'; safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ddclient"); - templates2events("/etc/ddclient", $event); + templates2events("/etc/ddclient/ddclient.conf", $event); $event = 'domain-delete'; safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ddclient"); - templates2events("/etc/ddclient", $event); + templates2events("/etc/ddclient/ddclient.conf", $event); $event = 'domain-modify'; safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ddclient"); - templates2events("/etc/ddclient", $event); + templates2events("/etc/ddclient/ddclient.conf", $event); $event = 'post-upgrade'; - templates2events("/etc/ddclient", $event); + templates2events("/etc/ddclient/ddclient.conf", $event); templates2events("/etc/ppp/ip-up.local", $event); diff -Nur smeserver-ddclient-1.0.0/root/etc/e-smith/db/configuration/defaults/ddclient/access smeserver-ddclient-1.1.0/root/etc/e-smith/db/configuration/defaults/ddclient/access --- smeserver-ddclient-1.0.0/root/etc/e-smith/db/configuration/defaults/ddclient/access 2008-04-18 03:32:28.000000000 +0200 +++ smeserver-ddclient-1.1.0/root/etc/e-smith/db/configuration/defaults/ddclient/access 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -private diff -Nur smeserver-ddclient-1.0.0/root/etc/e-smith/db/configuration/defaults/ddclient/type smeserver-ddclient-1.1.0/root/etc/e-smith/db/configuration/defaults/ddclient/type --- smeserver-ddclient-1.0.0/root/etc/e-smith/db/configuration/defaults/ddclient/type 1970-01-01 01:00:00.000000000 +0100 +++ smeserver-ddclient-1.1.0/root/etc/e-smith/db/configuration/defaults/ddclient/type 2009-10-08 11:00:44.000000000 +0200 @@ -0,0 +1 @@ +service diff -Nur smeserver-ddclient-1.0.0/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration smeserver-ddclient-1.1.0/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration --- smeserver-ddclient-1.0.0/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration 2006-11-12 16:11:57.000000000 +0100 +++ smeserver-ddclient-1.1.0/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration 2009-10-08 12:24:49.000000000 +0200 @@ -1,46 +1,19 @@ { - use strict; - use esmith::util; - use esmith::ConfigDB; - use esmith::AccountsDB; + use esmith::DomainsDB; $OUT=''; - my $conf = esmith::ConfigDB->open() - or die "Unable to open configuration db"; + my $ddb = esmith::DomainsDB->open_ro(); - my $domaindb = esmith::ConfigDB->open('/home/e-smith/db/domains') - or die "Unable to open domains db"; - - my $edb; - - $edb = esmith::ConfigDB->open('/home/e-smith/db/extras') - or $edb = esmith::ConfigDB->create('/home/e-smith/db/extras'); - - #------------------------------------------------------------ - # Look up domains and domain descriptions - #------------------------------------------------------------ - - my $key; - my @virtualDomains = (); - foreach my $domain ($domaindb->get_all_by_prop(type=>'domain')) - { - $key = $domain->key; - push (@virtualDomains, $key); - } + $OUT .="use=web, web=checkip.dyndns.org:8245/, web-skip='IP Address:' \n"; - my $numDomains = @virtualDomains; - if ($numDomains > 0) + for my $edom ( $ddb->domains ) { - $OUT .="use=web, web=checkip.dyndns.org:8245/, web-skip='IP Address:' \n"; - foreach my $dom (sort @virtualDomains) { - my $edom=$edb->get($dom); - if( defined $edom ) - { - my $dns = $edom->prop('dns'); - $dns =~ tr/a-z/A-Z/; + my $dns = $edom->prop('dns') || ''; + next if ($dns eq ''); + $dns =~ tr/a-z/A-Z/; my $login = $edom->prop('login'); my $password = $edom->prop('password'); my $pubserv=''; @@ -136,12 +109,11 @@ $OUT .="login=".$login.", \\\n"; $OUT .="password=".$password." \\\n"; - $OUT .=$dom."\n"; + $OUT .=$edom->key()."\n"; $OUT .="##\n"; $OUT .="##\n"; } } } - } } diff -Nur smeserver-ddclient-1.0.0/root/etc/e-smith/web/functions/ddclient smeserver-ddclient-1.1.0/root/etc/e-smith/web/functions/ddclient --- smeserver-ddclient-1.0.0/root/etc/e-smith/web/functions/ddclient 2009-10-08 10:55:09.000000000 +0200 +++ smeserver-ddclient-1.1.0/root/etc/e-smith/web/functions/ddclient 2009-10-08 14:57:44.000000000 +0200 @@ -80,14 +80,6 @@ die "Unable to open domains db"; } } - -my $edb = esmith::ConfigDB->open('/home/e-smith/db/extras'); - if ( not defined $edb ) { - $edb = esmith::ConfigDB->open('/home/e-smith/extras'); - if ( not defined $edb ) { - $edb = esmith::ConfigDB->create('/home/e-smith/db/extras'); - } - } #------------------------------------------------------------ # examine state parameter and display the appropriate form #------------------------------------------------------------ @@ -228,12 +220,12 @@ { my %properties = $domaindb->get($domain)->props; - my $test=$edb->get($domain) || ''; + my $test=$domaindb->get($domain) || ''; my %extraprops; if($test ne '') { - %extraprops = $edb->get($domain)->props; + %extraprops = $domaindb->get($domain)->props; } my $content; @@ -333,12 +325,12 @@ my %properties = $domaindb->get($domain)->props; - my $test=$edb->get($domain) || ''; + my $test=$domaindb->get($domain) || ''; my %extraprops; if($test ne '') { - %extraprops = $edb->get($domain)->props; + %extraprops = $domaindb->get($domain)->props; } my $content; @@ -460,7 +452,7 @@ $properties{'password'} = $domainPassword; $properties{'mx'} = $domainMX; - $edb->new_record($domainName, \%properties); + $domaindb->new_record($domainName, \%properties); system ("/sbin/e-smith/signal-event", "ddclient"); @@ -483,7 +475,7 @@ my $domain = $q->param ('domain'); my $value = $domaindb->get($domain); - my $evalue = $edb->get($domain); + my $evalue = $domaindb->get($domain); if ($value) { @@ -602,14 +594,14 @@ #------------------------------------------------------------ my $dns = $q->param ('dns'); - my $dom=$edb->get($domainName); + my $dom=$domaindb->get($domainName); $dom->set_prop('dns' => $dns); $dom->set_prop('login' => $domainLogin); $dom->set_prop('password' => $domainPassword); $dom->set_prop('mx' => $domainMX); - $edb->reload(); + $domaindb->reload(); system ("/sbin/e-smith/signal-event", "ddclient"); @@ -631,7 +623,7 @@ my $domain = $q->param ('domain'); my $value = $domaindb->get($domain); - my $evalue = $edb->get($domain); + my $evalue = $domaindb->get($domain); if ($value) { @@ -701,12 +693,12 @@ return; } - my $evalue = $edb->get($domain); + my $evalue = $domaindb->get($domain); my %props = $evalue->props; my $dns = $fm->localise($props{'dns'}); - $evalue->delete; - $edb->reload(); + $evalue->set_prop('dns' => ''); + $domaindb->reload(); system ("/sbin/e-smith/signal-event", "ddclient"); @@ -717,3 +709,5 @@ ################################################################################################# __DATA__ +
+