{
    use esmith::DomainsDB;

    $OUT='';

    my $ddb = esmith::DomainsDB->open_ro();

    my $edb;

    $edb = esmith::ConfigDB->open('/home/e-smith/db/ddclient')
        or $edb = esmith::ConfigDB->create('/home/e-smith/db/ddclient');

    #------------------------------------------------------------
    # Look up domains and domain descriptions
    #------------------------------------------------------------


    my %DDNS = (
    DYNDNS1=> dyndns2,
    DYNDNS2=>dyndns2,
    DYNDNS3=>dyndns2,
    ZONEDIT=>zoneedit1,
    EASYDNS=>easydns,
    HAMMER=>hammernode1,
    DSLREPORTS=>dslreports1,
    EURODYNDNS=>namecheap,
    DTDNS=>dtdns,
    LOOPIA=>dyndns2,
    DNSPARK=>dyndns2,
    DYNHOST=>dyndns2,
    NOIP=>noip,
    CHANGEIP=>dyndns2,
    NAMECHEAP=>namecheap,
    SPDNS=>dyndns2,
    );
    my %DDSERV= (
    DYNDNS1=> 'members.dyndns.org',
    DYNDNS2=>'members.dyndns.org',
    DYNDNS3=>'members.dyndns.org',
    ZONEDIT=>'dynamic.zoneedit.com',
    EASYDNS=>'members.easydns.com',
    HAMMER=>'dup.hn.org',
    DSLREPORTS=>'members.dslreports.com',
    EURODYNDNS=>'eurodyndns.org',
    DTDNS=>'www.dtdns.com',
    LOOPIA=>'dns.loopia.se',
    DNSPARK=>'www.dnspark.com',
    DYNHOST=>'www.ovh.com',
    NOIP=>'dynupdate.no-ip.com',
    CHANGEIP=>'nic.changeip.com',
    NAMECHEAP=>'dynamicdns.park-your-domain.com',
    SPDNS=>'update.spdyn.de',
    );

    for my $edom ( $ddb->domains , $edb->get_all_by_prop(type=>'ddhost') )
    {
	{

		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 $customdns = $edom->prop('customdns') || '';
		my $customprotocol = $edom->prop('customprotocol') || '';

		my $pubserv="";
		$pubserv= $DDSERV{$dns} if exists $DDSERV{$dns}; #not needed for v3.11.1 => yes it is
		$pubserv= $customdns if( $dns eq 'CUSTOMDNS' ); 
		# Not sure if wee need these either!
		my $static=$edom->prop('static') || '';
		my $custom=$edom->prop('custom') || '';
		my $wildcard=$edom->prop('wildcard') || '';
		my $backupmx=$edom->prop('backupmx') || '';

		my $mx=$edom->prop('mx') || '';
		my $protocol=$dns;
		$protocol = $DDNS{$dns} if  exists $DDNS{$dns};
		my $explain='## '.$edom->prop('dns').' dynamic address';
		
		if($dns ne '')
		{
		    $OUT .="##\n";
		    $OUT .=$explain."\n";
		    $OUT .="##\n";
		    $OUT .="server=".$pubserv.", \\\n"; # not needed for v3.11.1; is needed
		    $OUT .="protocol=".$protocol.", \\\n";
		    #if( $dns eq 'DTDNS' ) {
			#$OUT .="client=ddclient, \\\n";
		    #}
		    #if( $dns eq 'LOOPIA' ) {
			#$OUT .="use=web, \\\n";
			#$OUT .="web=loopia, \\\n";
			#$OUT .="script=/XDynDNSServer/XDynDNS.php, \\\n";
		    #}
		    if($static ne '') {
		    	$OUT .="static=".$static.", \\\n";
		    }
		    
		    if($wildcard ne '') {
		    	$OUT .="wildcard=".$wildcard.", \\\n";
		    }
		    
		    if($custom ne '') {
		    	$OUT .="custom=".$custom.", \\\n";
		    }
		    
		    if ($mx ne '') {
			$OUT .="mx=".$mx.", \\\n";
		    }
		    
		    $OUT .="login=".$login.", \\\n";
		    $OUT .="password=".$password." \\\n";
		    $OUT .= ( $dns ne 'NAMECHEAP' )? $edom->key."\n" : "@.".$edom->key()."\n";
		    $OUT .="##\n";
		    $OUT .="##\n";
                    $OUT .="\n";
		}
	    }
	}
}


