diff --git a/ddclient b/ddclient
index 15b8a2e..c442b5f 100755
--- a/ddclient
+++ b/ddclient
@@ -76,35 +76,60 @@ my %builtinweb = (
'myonlineportal' => { 'url' => 'https://myonlineportal.net/checkip', },
);
my %builtinfw = (
- 'watchguard-soho' => {
- 'name' => 'Watchguard SOHO FW',
- 'url' => '/pubnet.htm',
- 'skip' => 'NAME=IPAddress VALUE=',
+ '2wire' => {
+ 'name' => '2Wire 1701HG Gateway',
+ 'url' => '/xslt?PAGE=B01',
+ 'skip' => 'Internet Address:',
},
- 'netopia-r910' => {
- 'name' => 'Netopia R910 FW',
- 'url' => '/WanEvtLog',
- 'skip' => 'local:',
+ '3com-3c886a' => {
+ 'name' => '3com 3c886a 56k Lan Modem',
+ 'url' => '/stat3.htm',
+ 'skip' => 'IP address in use',
},
- 'smc-barricade' => {
- 'name' => 'SMC Barricade FW',
- 'url' => '/status.htm',
- 'skip' => 'IP Address',
+ '3com-oc-remote812' => {
+ 'name' => '3com OfficeConnect Remote 812',
+ 'url' => '/callEvent',
+ 'skip' => '.*LOCAL',
},
- 'smc-barricade-alt' => {
- 'name' => 'SMC Barricade FW (alternate config)',
- 'url' => '/status.HTM',
- 'skip' => 'WAN IP',
+ 'alcatel-510' => {
+ 'name' => 'Alcatel Speed Touch 510',
+ 'url' => '/cgi/ip/',
+ 'skip' => 'ppp',
},
- 'smc-barricade-7401bra' => {
- 'name' => 'SMC Barricade 7401BRA FW',
- 'url' => '/admin/wan1.htm',
- 'skip' => 'IP Address',
+ 'alcatel-stp' => {
+ 'name' => 'Alcatel Speed Touch Pro',
+ 'url' => '/cgi/router/',
+ 'skip' => 'Brt',
},
- 'netgear-rt3xx' => {
- 'name' => 'Netgear FW',
- 'url' => '/mtenSysStatus.html',
- 'skip' => 'IP Address',
+ 'allnet-1298' => {
+ 'name' => 'Allnet 1298',
+ 'url' => '/cgi/router/',
+ 'skip' => 'WAN',
+ },
+ 'cayman-3220h' => {
+ 'name' => 'Cayman 3220-H DSL',
+ 'url' => '/shell/show+ip+interfaces',
+ 'skip' => '.*inet',
+ },
+ 'dlink-524' => {
+ 'name' => 'D-Link DI-524',
+ 'url' => '/st_device.html',
+ 'skip' => 'WAN.*?Addres',
+ },
+ 'dlink-604' => {
+ 'name' => 'D-Link DI-604',
+ 'url' => '/st_devic.html',
+ 'skip' => 'WAN.*?IP.*Address',
+ },
+ 'dlink-614' => {
+ 'name' => 'D-Link DI-614+',
+ 'url' => '/st_devic.html',
+ 'skip' => 'WAN',
+ },
+ 'e-tech' => {
+ 'name' => 'E-tech Router',
+ 'url' => '/Status.htm',
+ 'skip' => 'Public IP Address',
},
'elsa-lancom-dsl10' => {
'name' => 'ELSA LanCom DSL/10 DSL FW',
@@ -126,6 +151,16 @@ my %builtinfw = (
'url' => '/Status.htm',
'skip' => 'WAN.*?Address',
},
+ 'linksys-rv042-wan1' => {
+ 'name' => 'Linksys RV042 Dual Homed Router WAN Port 2',
+ 'url' => '/home.htm',
+ 'skip' => 'WAN1 IP',
+ },
+ 'linksys-rv042-wan2' => {
+ 'name' => 'Linksys RV042 Dual Homed Router WAN Port 2',
+ 'url' => '/home.htm',
+ 'skip' => 'WAN2 IP',
+ },
'linksys-ver2' => {
'name' => 'Linksys FW version 2',
'url' => '/RouterStatus.htm',
@@ -136,6 +171,11 @@ my %builtinfw = (
'url' => '/Status_Router.htm',
'skip' => 'WAN.*?Address',
},
+ 'linksys-wcg200' => {
+ 'name' => 'Linksys WCG200 FW',
+ 'url' => '/RgStatus.asp',
+ 'skip' => 'WAN.IP.*?Address',
+ },
'linksys-wrt854g' => {
'name' => 'Linksys WRT854G FW',
'url' => '/Status_Router.asp',
@@ -151,145 +191,105 @@ my %builtinfw = (
'url' => '/MainPage?id=6',
'skip' => 'ppp-0',
},
- '3com-3c886a' => {
- 'name' => '3com 3c886a 56k Lan Modem',
- 'url' => '/stat3.htm',
- 'skip' => 'IP address in use',
- },
- 'sohoware-nbg800' => {
- 'name' => 'SOHOWare BroadGuard NBG800',
- 'url' => '/status.htm',
- 'skip' => 'Internet IP',
- },
- 'xsense-aero' => {
- 'name' => 'Xsense Aero',
- 'url' => '/A_SysInfo.htm',
- 'skip' => 'WAN.*?IP Address',
- },
- 'alcatel-stp' => {
- 'name' => 'Alcatel Speed Touch Pro',
- 'url' => '/cgi/router/',
- 'skip' => 'Brt',
- },
- 'alcatel-510' => {
- 'name' => 'Alcatel Speed Touch 510',
- 'url' => '/cgi/ip/',
- 'skip' => 'ppp',
- },
- 'allnet-1298' => {
- 'name' => 'Allnet 1298',
- 'url' => '/cgi/router/',
- 'skip' => 'WAN',
- },
- '3com-oc-remote812' => {
- 'name' => '3com OfficeConnect Remote 812',
- 'url' => '/callEvent',
- 'skip' => '.*LOCAL',
- },
- 'e-tech' => {
- 'name' => 'E-tech Router',
- 'url' => '/Status.htm',
- 'skip' => 'Public IP Address',
- },
- 'cayman-3220h' => {
- 'name' => 'Cayman 3220-H DSL',
- 'url' => '/shell/show+ip+interfaces',
- 'skip' => '.*inet',
- },
- 'vigor-2200usb' => {
- 'name' => 'Vigor 2200 USB',
- 'url' => '/doc/online.sht',
- 'skip' => 'PPPoA',
- },
- 'dlink-614' => {
- 'name' => 'D-Link DI-614+',
- 'url' => '/st_devic.html',
- 'skip' => 'WAN',
- },
- 'dlink-604' => {
- 'name' => 'D-Link DI-604',
- 'url' => '/st_devic.html',
- 'skip' => 'WAN.*?IP.*Address',
- },
- 'olitec-SX200' => {
- 'name' => 'olitec-SX200',
- 'url' => '/doc/wan.htm',
- 'skip' => 'st_wan_ip[0] = "',
- },
- 'westell-6100' => {
- 'name' => 'Westell C90-610015-06 DSL Router',
- 'url' => '/advstat.htm',
- 'skip' => 'IP.+?Address',
- },
- '2wire' => {
- 'name' => '2Wire 1701HG Gateway',
- 'url' => '/xslt?PAGE=B01',
- 'skip' => 'Internet Address:',
- },
- 'linksys-rv042-wan1' => {
- 'name' => 'Linksys RV042 Dual Homed Router WAN Port 2',
- 'url' => '/home.htm',
- 'skip' => 'WAN1 IP',
- },
- 'linksys-rv042-wan2' => {
- 'name' => 'Linksys RV042 Dual Homed Router WAN Port 2',
- 'url' => '/home.htm',
- 'skip' => 'WAN2 IP',
+ 'netgear-dg834g' => {
+ 'name' => 'netgear-dg834g',
+ 'url' => '/setup.cgi?next_file=s_status.htm&todo=cfg_init',
+ 'skip' => '',
},
'netgear-rp614' => {
'name' => 'Netgear RP614 FW',
'url' => '/sysstatus.html',
'skip' => 'IP Address',
},
- 'watchguard-edge-x' => {
- 'name' => 'Watchguard Edge X FW',
- 'url' => '/netstat.htm',
- 'skip' => 'inet addr:',
- },
- 'dlink-524' => {
- 'name' => 'D-Link DI-524',
- 'url' => '/st_device.html',
- 'skip' => 'WAN.*?Addres',
- },
- 'rtp300' => {
- 'name' => 'Linksys RTP300',
- 'url' => '/cgi-bin/webcm?getpage=%2Fusr%2Fwww_safe%2Fhtml%2Fstatus%2FRouter.html',
- 'skip' => 'Internet.*?IP Address',
- },
- 'netgear-wpn824' => {
- 'name' => 'Netgear WPN824 FW',
- 'url' => '/RST_status.htm',
+ 'netgear-rt3xx' => {
+ 'name' => 'Netgear FW',
+ 'url' => '/mtenSysStatus.html',
'skip' => 'IP Address',
},
- 'linksys-wcg200' => {
- 'name' => 'Linksys WCG200 FW',
- 'url' => '/RgStatus.asp',
- 'skip' => 'WAN.IP.*?Address',
- },
- 'netgear-dg834g' => {
- 'name' => 'netgear-dg834g',
- 'url' => '/setup.cgi?next_file=s_status.htm&todo=cfg_init',
- 'skip' => '',
- },
'netgear-wgt624' => {
'name' => 'Netgear WGT624',
'url' => '/RST_st_dhcp.htm',
'skip' => 'IP Address
',
},
- 'sveasoft' => {
- 'name' => 'Sveasoft WRT54G/WRT54GS',
- 'url' => '/Status_Router.asp',
- 'skip' => 'var wan_ip',
+ 'netgear-wpn824' => {
+ 'name' => 'Netgear WPN824 FW',
+ 'url' => '/RST_status.htm',
+ 'skip' => 'IP Address',
+ },
+ 'netopia-r910' => {
+ 'name' => 'Netopia R910 FW',
+ 'url' => '/WanEvtLog',
+ 'skip' => 'local:',
+ },
+ 'olitec-SX200' => {
+ 'name' => 'olitec-SX200',
+ 'url' => '/doc/wan.htm',
+ 'skip' => 'st_wan_ip[0] = "',
+ },
+ 'rtp300' => {
+ 'name' => 'Linksys RTP300',
+ 'url' => '/cgi-bin/webcm?getpage=%2Fusr%2Fwww_safe%2Fhtml%2Fstatus%2FRouter.html',
+ 'skip' => 'Internet.*?IP Address',
+ },
+ 'sitecom-dc202' => {
+ 'name' => 'Sitecom DC-202 FW',
+ 'url' => '/status.htm',
+ 'skip' => 'Internet IP Address',
+ },
+ 'smc-barricade' => {
+ 'name' => 'SMC Barricade FW',
+ 'url' => '/status.htm',
+ 'skip' => 'IP Address',
},
'smc-barricade-7004vbr' => {
'name' => 'SMC Barricade FW (7004VBR model config)',
'url' => '/status_main.stm',
'skip' => 'var wan_ip=',
},
- 'sitecom-dc202' => {
- 'name' => 'Sitecom DC-202 FW',
+ 'smc-barricade-7401bra' => {
+ 'name' => 'SMC Barricade 7401BRA FW',
+ 'url' => '/admin/wan1.htm',
+ 'skip' => 'IP Address',
+ },
+ 'smc-barricade-alt' => {
+ 'name' => 'SMC Barricade FW (alternate config)',
+ 'url' => '/status.HTM',
+ 'skip' => 'WAN IP',
+ },
+ 'sohoware-nbg800' => {
+ 'name' => 'SOHOWare BroadGuard NBG800',
'url' => '/status.htm',
- 'skip' => 'Internet IP Address',
+ 'skip' => 'Internet IP',
+ },
+ 'sveasoft' => {
+ 'name' => 'Sveasoft WRT54G/WRT54GS',
+ 'url' => '/Status_Router.asp',
+ 'skip' => 'var wan_ip',
+ },
+ 'vigor-2200usb' => {
+ 'name' => 'Vigor 2200 USB',
+ 'url' => '/doc/online.sht',
+ 'skip' => 'PPPoA',
+ },
+ 'watchguard-edge-x' => {
+ 'name' => 'Watchguard Edge X FW',
+ 'url' => '/netstat.htm',
+ 'skip' => 'inet addr:',
+ },
+ 'watchguard-soho' => {
+ 'name' => 'Watchguard SOHO FW',
+ 'url' => '/pubnet.htm',
+ 'skip' => 'NAME=IPAddress VALUE=',
+ },
+ 'westell-6100' => {
+ 'name' => 'Westell C90-610015-06 DSL Router',
+ 'url' => '/advstat.htm',
+ 'skip' => 'IP.+?Address',
+ },
+ 'xsense-aero' => {
+ 'name' => 'Xsense Aero',
+ 'url' => '/A_SysInfo.htm',
+ 'skip' => 'WAN.*?IP Address',
},
);
@@ -313,328 +313,195 @@ sub setv {
'type' => shift,
'required' => shift,
'cache' => shift,
- 'config' => shift,
'default' => shift,
'minimum' => shift,
};
}
my %variables = (
'global-defaults' => {
- 'daemon' => setv(T_DELAY, 0, 0, 1, $daemon_default, 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),
- 'proxy' => setv(T_FQDNP, 0, 0, 1, '', undef),
- 'protocol' => setv(T_PROTO, 0, 0, 1, 'dyndns2', undef),
+ 'daemon' => setv(T_DELAY, 0, 0, $daemon_default, interval('60s')),
+ 'foreground' => setv(T_BOOL, 0, 0, 0, undef),
+ 'file' => setv(T_FILE, 0, 0, "$etc$program.conf", undef),
+ 'cache' => setv(T_FILE, 0, 0, "$cachedir$program.cache", undef),
+ 'pid' => setv(T_FILE, 0, 0, "", undef),
+ 'proxy' => setv(T_FQDNP, 0, 0, '', undef),
+ 'protocol' => setv(T_PROTO, 0, 0, 'dyndns2', undef),
- 'use' => setv(T_USE, 0, 0, 1, 'ip', undef),
- 'ip' => setv(T_IP, 0, 0, 1, undef, undef),
- 'if' => setv(T_IF, 0, 0, 1, 'ppp0', undef),
- 'if-skip' => setv(T_STRING,1, 0, 1, '', undef),
- 'web' => setv(T_STRING,0, 0, 1, 'dyndns', undef),
- 'web-skip' => setv(T_STRING,1, 0, 1, '', undef),
- 'fw' => setv(T_ANY, 0, 0, 1, '', undef),
- 'fw-skip' => setv(T_STRING,1, 0, 1, '', undef),
- 'fw-login' => setv(T_LOGIN, 1, 0, 1, '', undef),
- 'fw-password' => setv(T_PASSWD,1, 0, 1, '', undef),
- 'cmd' => setv(T_PROG, 0, 0, 1, '', undef),
- 'cmd-skip' => setv(T_STRING,1, 0, 1, '', undef),
+ 'use' => setv(T_USE, 0, 0, 'ip', undef),
+ 'ip' => setv(T_IP, 0, 0, undef, undef),
+ 'if' => setv(T_IF, 0, 0, 'ppp0', undef),
+ 'if-skip' => setv(T_STRING,1, 0, '', undef),
+ 'web' => setv(T_STRING,0, 0, 'dyndns', undef),
+ 'web-skip' => setv(T_STRING,1, 0, '', undef),
+ 'fw' => setv(T_ANY, 0, 0, '', undef),
+ 'fw-skip' => setv(T_STRING,1, 0, '', undef),
+ 'fw-login' => setv(T_LOGIN, 1, 0, '', undef),
+ 'fw-password' => setv(T_PASSWD,1, 0, '', undef),
+ 'cmd' => setv(T_PROG, 0, 0, '', undef),
+ 'cmd-skip' => setv(T_STRING,1, 0, '', undef),
- 'timeout' => setv(T_DELAY, 0, 0, 1, interval('120s'), interval('120s')),
- 'retry' => setv(T_BOOL, 0, 0, 0, 0, undef),
- 'force' => setv(T_BOOL, 0, 0, 0, 0, undef),
- 'ssl' => setv(T_BOOL, 0, 0, 0, 0, undef),
- 'ipv6' => setv(T_BOOL, 0, 0, 0, 0, undef),
- 'syslog' => setv(T_BOOL, 0, 0, 1, 0, undef),
- 'facility' => setv(T_STRING,0, 0, 1, 'daemon', undef),
- 'priority' => setv(T_STRING,0, 0, 1, 'notice', undef),
- 'mail' => setv(T_EMAIL, 0, 0, 1, '', undef),
- 'mail-failure' => setv(T_EMAIL, 0, 0, 1, '', undef),
+ 'timeout' => setv(T_DELAY, 0, 0, interval('120s'), interval('120s')),
+ 'retry' => setv(T_BOOL, 0, 0, 0, undef),
+ 'force' => setv(T_BOOL, 0, 0, 0, undef),
+ 'ssl' => setv(T_BOOL, 0, 0, 0, undef),
+ 'ipv6' => setv(T_BOOL, 0, 0, 0, undef),
+ 'syslog' => setv(T_BOOL, 0, 0, 0, undef),
+ 'facility' => setv(T_STRING,0, 0, 'daemon', undef),
+ 'priority' => setv(T_STRING,0, 0, 'notice', undef),
+ 'mail' => setv(T_EMAIL, 0, 0, '', undef),
+ 'mail-failure' => setv(T_EMAIL, 0, 0, '', undef),
- 'exec' => setv(T_BOOL, 0, 0, 1, 1, undef),
- 'debug' => setv(T_BOOL, 0, 0, 1, 0, undef),
- 'verbose' => setv(T_BOOL, 0, 0, 1, 0, undef),
- 'quiet' => setv(T_BOOL, 0, 0, 1, 0, undef),
- 'help' => setv(T_BOOL, 0, 0, 1, 0, undef),
- 'test' => setv(T_BOOL, 0, 0, 1, 0, undef),
- 'geturl' => setv(T_STRING,0, 0, 0, '', undef),
+ 'exec' => setv(T_BOOL, 0, 0, 1, undef),
+ 'debug' => setv(T_BOOL, 0, 0, 0, undef),
+ 'verbose' => setv(T_BOOL, 0, 0, 0, undef),
+ 'quiet' => setv(T_BOOL, 0, 0, 0, undef),
+ 'help' => setv(T_BOOL, 0, 0, 0, undef),
+ 'test' => setv(T_BOOL, 0, 0, 0, undef),
+ 'geturl' => setv(T_STRING,0, 0, '', undef),
- 'postscript' => setv(T_POSTS, 0, 0, 1, '', undef),
+ 'postscript' => setv(T_POSTS, 0, 0, '', undef),
},
'service-common-defaults' => {
- 'server' => setv(T_FQDNP, 1, 0, 1, 'members.dyndns.org', undef),
- 'login' => setv(T_LOGIN, 1, 0, 1, '', undef),
- 'password' => setv(T_PASSWD,1, 0, 1, '', undef),
- 'host' => setv(T_STRING,1, 1, 1, '', undef),
+ 'server' => setv(T_FQDNP, 1, 0, 'members.dyndns.org', undef),
+ 'login' => setv(T_LOGIN, 1, 0, '', undef),
+ 'password' => setv(T_PASSWD,1, 0, '', undef),
+ 'host' => setv(T_STRING,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),
- 'ipv6' => setv(T_BOOL, 0, 0, 0, 0, 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),
- 'atime' => setv(T_NUMBER,0, 1, 0, 0, undef),
- 'status' => setv(T_ANY, 0, 1, 0, '', undef),
- 'min-interval' => setv(T_DELAY, 0, 0, 1, interval('30s'), 0),
- 'max-interval' => setv(T_DELAY, 0, 0, 1, interval('25d'), 0),
- 'min-error-interval' => setv(T_DELAY, 0, 0, 1, interval('5m'), 0),
+ 'use' => setv(T_USE, 0, 0, 'ip', undef),
+ 'if' => setv(T_IF, 0, 0, 'ppp0', undef),
+ 'if-skip' => setv(T_STRING,0, 0, '', undef),
+ 'web' => setv(T_STRING,0, 0, 'dyndns', undef),
+ 'web-skip' => setv(T_STRING,0, 0, '', undef),
+ 'fw' => setv(T_ANY, 0, 0, '', undef),
+ 'fw-skip' => setv(T_STRING,0, 0, '', undef),
+ 'fw-login' => setv(T_LOGIN, 0, 0, '', undef),
+ 'fw-password' => setv(T_PASSWD,0, 0, '', undef),
+ 'cmd' => setv(T_PROG, 0, 0, '', undef),
+ 'cmd-skip' => setv(T_STRING,0, 0, '', undef),
+ 'ipv6' => setv(T_BOOL, 0, 0, 0, undef),
+ 'ip' => setv(T_IP, 0, 1, undef, undef),
+ 'wtime' => setv(T_DELAY, 0, 1, 0, interval('30s')),
+ 'mtime' => setv(T_NUMBER,0, 1, 0, undef),
+ 'atime' => setv(T_NUMBER,0, 1, 0, undef),
+ 'status' => setv(T_ANY, 0, 1, '', undef),
+ 'min-interval' => setv(T_DELAY, 0, 0, interval('30s'), 0),
+ 'max-interval' => setv(T_DELAY, 0, 0, interval('25d'), 0),
+ 'min-error-interval' => setv(T_DELAY, 0, 0, interval('5m'), 0),
- 'warned-min-interval' => setv(T_ANY, 0, 1, 0, 0, undef),
- 'warned-min-error-interval' => setv(T_ANY, 0, 1, 0, 0, undef),
+ 'warned-min-interval' => setv(T_ANY, 0, 1, 0, undef),
+ 'warned-min-error-interval' => setv(T_ANY, 0, 1, 0, undef),
},
'dyndns-common-defaults' => {
- 'static' => setv(T_BOOL, 0, 1, 1, 0, undef),
- 'wildcard' => setv(T_BOOL, 0, 1, 1, 0, undef),
- 'mx' => setv(T_OFQDN, 0, 1, 1, '', undef),
- 'backupmx' => setv(T_BOOL, 0, 1, 1, 0, undef),
+ 'static' => setv(T_BOOL, 0, 1, 0, undef),
+ 'wildcard' => setv(T_BOOL, 0, 1, 0, undef),
+ 'mx' => setv(T_OFQDN, 0, 1, '', undef),
+ 'backupmx' => setv(T_BOOL, 0, 1, 0, undef),
},
'easydns-common-defaults' => {
- 'wildcard' => setv(T_BOOL, 0, 1, 1, 0, undef),
- 'mx' => setv(T_OFQDN, 0, 1, 1, '', undef),
- 'backupmx' => setv(T_BOOL, 0, 1, 1, 0, undef),
+ 'wildcard' => setv(T_BOOL, 0, 1, 0, undef),
+ 'mx' => setv(T_OFQDN, 0, 1, '', undef),
+ 'backupmx' => setv(T_BOOL, 0, 1, 0, undef),
},
'noip-common-defaults' => {
- 'static' => setv(T_BOOL, 0, 1, 1, 0, undef),
+ 'static' => setv(T_BOOL, 0, 1, 0, undef),
},
'noip-service-common-defaults' => {
- 'server' => setv(T_FQDNP, 1, 0, 1, 'dynupdate.no-ip.com',undef),
- 'login' => setv(T_LOGIN, 1, 0, 1, '', undef),
- 'password' => setv(T_PASSWD,1, 0, 1, '', undef),
- 'host' => setv(T_STRING,1, 1, 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),
- 'atime' => setv(T_NUMBER,0, 1, 0, 0, undef),
- 'status' => setv(T_ANY, 0, 1, 0, '', undef),
- 'min-interval' => setv(T_DELAY, 0, 0, 1, interval('30s'), 0),
- 'max-interval' => setv(T_DELAY, 0, 0, 1, interval('25d'), 0),
- 'min-error-interval' => setv(T_DELAY, 0, 0, 1, interval('5m'), 0),
- 'warned-min-interval' => setv(T_ANY, 0, 1, 0, 0, undef),
- 'warned-min-error-interval' => setv(T_ANY, 0, 1, 0, 0, undef),
+ 'server' => setv(T_FQDNP, 1, 0, 'dynupdate.no-ip.com',undef),
+ 'login' => setv(T_LOGIN, 1, 0, '', undef),
+ 'password' => setv(T_PASSWD,1, 0, '', undef),
+ 'host' => setv(T_STRING,1, 1, '', undef),
+ 'ip' => setv(T_IP, 0, 1, undef, undef),
+ 'wtime' => setv(T_DELAY, 0, 1, 0, interval('30s')),
+ 'mtime' => setv(T_NUMBER,0, 1, 0, undef),
+ 'atime' => setv(T_NUMBER,0, 1, 0, undef),
+ 'status' => setv(T_ANY, 0, 1, '', undef),
+ 'min-interval' => setv(T_DELAY, 0, 0, interval('30s'), 0),
+ 'max-interval' => setv(T_DELAY, 0, 0, interval('25d'), 0),
+ 'min-error-interval' => setv(T_DELAY, 0, 0, interval('5m'), 0),
+ 'warned-min-interval' => setv(T_ANY, 0, 1, 0, undef),
+ 'warned-min-error-interval' => setv(T_ANY, 0, 1, 0, undef),
},
'zoneedit-service-common-defaults' => {
- 'zone' => setv(T_OFQDN, 0, 0, 1, undef, undef),
+ 'zone' => setv(T_OFQDN, 0, 0, undef, undef),
},
'dtdns-common-defaults' => {
- 'login' => setv(T_LOGIN, 0, 0, 0, 'unused', undef),
- 'client' => setv(T_STRING,0, 1, 1, $program, undef),
+ 'login' => setv(T_LOGIN, 0, 0, 'unused', undef),
+ 'client' => setv(T_STRING,0, 1, $program, undef),
},
'nsupdate-common-defaults' => {
- 'ttl' => setv(T_NUMBER,0, 1, 0, 600, undef),
- 'zone' => setv(T_STRING,1, 1, 1, '', undef),
- 'tcp' => setv(T_BOOL, 0, 1, 1, 0, undef),
+ 'ttl' => setv(T_NUMBER,0, 1, 600, undef),
+ 'zone' => setv(T_STRING,1, 1, '', undef),
+ 'tcp' => setv(T_BOOL, 0, 1, 0, undef),
},
'cloudflare-common-defaults' => {
- 'server' => setv(T_FQDNP, 1, 0, 1, 'api.cloudflare.com/client/v4', undef),
- 'zone' => setv(T_FQDN, 1, 0, 1, '', undef),
- 'login' => setv(T_LOGIN, 0, 0, 1, 'token', undef),
- 'static' => setv(T_BOOL, 0, 1, 1, 0, undef),
- 'wildcard' => setv(T_BOOL, 0, 1, 1, 0, undef),
- 'mx' => setv(T_OFQDN, 0, 1, 1, '', undef),
- 'backupmx' => setv(T_BOOL, 0, 1, 1, 0, undef),
- 'ttl' => setv(T_NUMBER,1, 0, 1, 1, undef),
+ 'server' => setv(T_FQDNP, 1, 0, 'api.cloudflare.com/client/v4', undef),
+ 'zone' => setv(T_FQDN, 1, 0, '', undef),
+ 'login' => setv(T_LOGIN, 0, 0, 'token', undef),
+ 'static' => setv(T_BOOL, 0, 1, 0, undef),
+ 'wildcard' => setv(T_BOOL, 0, 1, 0, undef),
+ 'mx' => setv(T_OFQDN, 0, 1, '', undef),
+ 'backupmx' => setv(T_BOOL, 0, 1, 0, undef),
+ 'ttl' => setv(T_NUMBER,1, 0, 1, undef),
},
'googledomains-common-defaults' => {
- 'server' => setv(T_FQDNP, 1, 0, 1, 'domains.google.com', undef),
+ 'server' => setv(T_FQDNP, 1, 0, 'domains.google.com', undef),
},
'duckdns-common-defaults' => {
- 'server' => setv(T_FQDNP, 1, 0, 1, 'www.duckdns.org', undef),
- 'login' => setv(T_LOGIN, 0, 0, 0, 'unused', undef),
+ 'server' => setv(T_FQDNP, 1, 0, 'www.duckdns.org', undef),
+ 'login' => setv(T_LOGIN, 0, 0, 'unused', undef),
},
'freemyip-common-defaults' => {
- 'server' => setv(T_FQDNP, 1, 0, 1, 'freemyip.com', undef),
- 'login' => setv(T_LOGIN, 0, 0, 0, 'unused', undef),
+ 'server' => setv(T_FQDNP, 1, 0, 'freemyip.com', undef),
+ 'login' => setv(T_LOGIN, 0, 0, 'unused', undef),
},
'woima-common-defaults' => {
- 'static' => setv(T_BOOL, 0, 1, 1, 0, undef),
- 'wildcard' => setv(T_BOOL, 0, 1, 1, 0, undef),
- 'mx' => setv(T_OFQDN, 0, 1, 1, '', undef),
- 'backupmx' => setv(T_BOOL, 0, 1, 1, 0, undef),
- 'custom' => setv(T_BOOL, 0, 1, 1, 0, undef),
- 'script' => setv(T_STRING,1, 1, 1, '/nic/update', undef),
+ 'static' => setv(T_BOOL, 0, 1, 0, undef),
+ 'wildcard' => setv(T_BOOL, 0, 1, 0, undef),
+ 'mx' => setv(T_OFQDN, 0, 1, '', undef),
+ 'backupmx' => setv(T_BOOL, 0, 1, 0, undef),
+ 'custom' => setv(T_BOOL, 0, 1, 0, undef),
+ 'script' => setv(T_STRING,1, 1, '/nic/update', undef),
},
'woima-service-common-defaults' => {
- 'server' => setv(T_FQDNP, 1, 0, 1, 'dyn.woima.fi', undef),
- 'login' => setv(T_LOGIN, 1, 0, 1, '', undef),
- 'password' => setv(T_PASSWD,1, 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),
- 'atime' => setv(T_NUMBER,0, 1, 0, 0, undef),
- 'status' => setv(T_ANY, 0, 1, 0, '', undef),
- 'min-interval' => setv(T_DELAY, 0, 0, 1, interval('30s'), 0),
- 'max-interval' => setv(T_DELAY, 0, 0, 1, interval('25d'), 0),
- 'min-error-interval' => setv(T_DELAY, 0, 0, 1, interval('5m'), 0),
- 'warned-min-interval' => setv(T_ANY, 0, 1, 0, 0, undef),
- 'warned-min-error-interval' => setv(T_ANY, 0, 1, 0, 0, undef),
+ 'server' => setv(T_FQDNP, 1, 0, 'dyn.woima.fi', undef),
+ 'login' => setv(T_LOGIN, 1, 0, '', undef),
+ 'password' => setv(T_PASSWD,1, 0, '', undef),
+ 'ip' => setv(T_IP, 0, 1, undef, undef),
+ 'wtime' => setv(T_DELAY, 0, 1, 0, interval('30s')),
+ 'mtime' => setv(T_NUMBER,0, 1, 0, undef),
+ 'atime' => setv(T_NUMBER,0, 1, 0, undef),
+ 'status' => setv(T_ANY, 0, 1, '', undef),
+ 'min-interval' => setv(T_DELAY, 0, 0, interval('30s'), 0),
+ 'max-interval' => setv(T_DELAY, 0, 0, interval('25d'), 0),
+ 'min-error-interval' => setv(T_DELAY, 0, 0, interval('5m'), 0),
+ 'warned-min-interval' => setv(T_ANY, 0, 1, 0, undef),
+ 'warned-min-error-interval' => setv(T_ANY, 0, 1, 0, undef),
},
'yandex-common-defaults' => {
- 'server' => setv(T_FQDNP, 1, 0, 1, 'pddimp.yandex.ru', undef),
+ 'server' => setv(T_FQDNP, 1, 0, 'pddimp.yandex.ru', undef),
},
'dnsmadeeasy-common-defaults' => {
- 'server' => setv(T_FQDNP, 1, 0, 1, 'cp.dnsmadeeasy.com', undef),
- 'script' => setv(T_STRING,1, 1, 1, '/servlet/updateip', undef),
+ 'server' => setv(T_FQDNP, 1, 0, 'cp.dnsmadeeasy.com', undef),
+ 'script' => setv(T_STRING,1, 1, '/servlet/updateip', undef),
},
'dondominio-common-defaults' => {
- 'server' => setv(T_FQDNP, 1, 0, 1, 'dondns.dondominio.com', undef),
+ 'server' => setv(T_FQDNP, 1, 0, 'dondns.dondominio.com', undef),
},
'ovh-common-defaults' => {
- 'server' => setv(T_FQDNP, 1, 0, 1, 'www.ovh.com', undef),
- 'script' => setv(T_STRING,1, 1, 1, '/nic/update', undef),
- 'login' => setv(T_LOGIN, 1, 0, 1, '', undef),
- 'password' => setv(T_PASSWD,1, 0, 1, '', undef),
+ 'server' => setv(T_FQDNP, 1, 0, 'www.ovh.com', undef),
+ 'script' => setv(T_STRING,1, 1, '/nic/update', undef),
+ 'login' => setv(T_LOGIN, 1, 0, '', undef),
+ 'password' => setv(T_PASSWD,1, 0, '', undef),
},
);
my %services = (
- 'dyndns1' => {
- 'updateable' => \&nic_dyndns2_updateable,
- 'update' => \&nic_dyndns1_update,
- 'examples' => \&nic_dyndns1_examples,
- 'variables' => merge(
- $variables{'dyndns-common-defaults'},
- $variables{'service-common-defaults'},
- ),
- },
- 'dyndns2' => {
- 'updateable' => \&nic_dyndns2_updateable,
- 'update' => \&nic_dyndns2_update,
- 'examples' => \&nic_dyndns2_examples,
- 'variables' => merge(
- { 'custom' => setv(T_BOOL, 0, 1, 1, 0, undef), },
- { 'script' => setv(T_STRING, 1, 1, 1, '/nic/update', undef), },
- $variables{'dyndns-common-defaults'},
- $variables{'service-common-defaults'},
- ),
- },
- 'noip' => {
- 'updateable' => undef,
- 'update' => \&nic_noip_update,
- 'examples' => \&nic_noip_examples,
- 'variables' => merge(
- { 'custom' => setv(T_BOOL, 0, 1, 1, 0, undef), },
- $variables{'noip-common-defaults'},
- $variables{'noip-service-common-defaults'},
- ),
- },
- 'dslreports1' => {
- 'updateable' => undef,
- 'update' => \&nic_dslreports1_update,
- 'examples' => \&nic_dslreports1_examples,
- 'variables' => merge(
- { 'host' => setv(T_NUMBER, 1, 1, 1, 0, undef) },
- $variables{'service-common-defaults'},
- ),
- },
- 'hammernode1' => {
- 'updateable' => undef,
- 'update' => \&nic_hammernode1_update,
- 'examples' => \&nic_hammernode1_examples,
- 'variables' => merge(
- { 'server' => setv(T_FQDNP, 1, 0, 1, 'dup.hn.org', undef) },
- { 'min-interval' => setv(T_DELAY, 0, 0, 1, interval('5m'), 0), },
- $variables{'service-common-defaults'},
- ),
- },
- 'zoneedit1' => {
- 'updateable' => undef,
- 'update' => \&nic_zoneedit1_update,
- 'examples' => \&nic_zoneedit1_examples,
- 'variables' => merge(
- { 'server' => setv(T_FQDNP, 1, 0, 1, 'dynamic.zoneedit.com', undef) },
- { 'min-interval' => setv(T_DELAY, 0, 0, 1, interval('5m'), 0), },
- $variables{'service-common-defaults'},
- $variables{'zoneedit-service-common-defaults'},
- ),
- },
- 'easydns' => {
- 'updateable' => undef,
- 'update' => \&nic_easydns_update,
- 'examples' => \&nic_easydns_examples,
- 'variables' => merge(
- { 'server' => setv(T_FQDNP, 1, 0, 1, 'members.easydns.com', undef) },
- { 'min-interval' => setv(T_DELAY, 0, 0, 1, interval('5m'), 0), },
- $variables{'easydns-common-defaults'},
- $variables{'service-common-defaults'},
- ),
- },
- 'namecheap' => {
- 'updateable' => undef,
- 'update' => \&nic_namecheap_update,
- 'examples' => \&nic_namecheap_examples,
- 'variables' => merge(
- { 'server' => setv(T_FQDNP, 1, 0, 1, 'dynamicdns.park-your-domain.com', undef) },
- { 'min-interval' => setv(T_DELAY, 0, 0, 1, 0, interval('5m')), },
- $variables{'service-common-defaults'},
- ),
- },
- 'nfsn' => {
- 'updateable' => undef,
- 'update' => \&nic_nfsn_update,
- 'examples' => \&nic_nfsn_examples,
- 'variables' => merge(
- { 'server' => setv(T_FQDNP, 1, 0, 1, 'api.nearlyfreespeech.net', undef) },
- { 'min_interval' => setv(T_FQDNP, 0, 0, 1, 0, interval('5m')) },
- { 'ttl' => setv(T_NUMBER, 1, 0, 1, 300, undef) },
- { 'zone' => setv(T_FQDN, 1, 0, 1, undef, undef) },
- $variables{'service-common-defaults'},
- ),
- },
- 'sitelutions' => {
- 'updateable' => undef,
- 'update' => \&nic_sitelutions_update,
- 'examples' => \&nic_sitelutions_examples,
- 'variables' => merge(
- { 'server' => setv(T_FQDNP, 1, 0, 1, 'www.sitelutions.com', undef) },
- { 'min-interval' => setv(T_DELAY, 0, 0, 1, 0, interval('5m')), },
- $variables{'service-common-defaults'},
- ),
- },
- 'freedns' => {
- 'updateable' => undef,
- 'update' => \&nic_freedns_update,
- 'examples' => \&nic_freedns_examples,
- 'variables' => merge(
- { 'server' => setv(T_FQDNP, 1, 0, 1, 'freedns.afraid.org', undef) },
- { 'min-interval' => setv(T_DELAY, 0, 0, 1, 0, interval('5m')), },
- $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,
- 'examples' => \&nic_dtdns_examples,
- 'variables' => merge(
- $variables{'dtdns-common-defaults'},
- $variables{'service-common-defaults'},
- ),
- },
- 'nsupdate' => {
- 'updateable' => undef,
- 'update' => \&nic_nsupdate_update,
- 'examples' => \&nic_nsupdate_examples,
- 'variables' => merge(
- { 'login' => setv(T_LOGIN, 1, 0, 1, '/usr/bin/nsupdate', undef), },
- $variables{'nsupdate-common-defaults'},
+ { 'server' => setv(T_FQDNP, 1, 0, 'nic.changeip.com', undef) },
+ { 'min-interval' => setv(T_DELAY, 0, 0, 0, interval('5m')), },
$variables{'service-common-defaults'},
),
},
@@ -643,59 +510,12 @@ my %services = (
'update' => \&nic_cloudflare_update,
'examples' => \&nic_cloudflare_examples,
'variables' => merge(
- { 'server' => setv(T_FQDNP, 1, 0, 1, 'api.cloudflare.com/client/v4', undef) },
- { 'min-interval' => setv(T_DELAY, 0, 0, 1, interval('5m'), 0), },
+ { 'server' => setv(T_FQDNP, 1, 0, 'api.cloudflare.com/client/v4', undef) },
+ { 'min-interval' => setv(T_DELAY, 0, 0, interval('5m'), 0), },
$variables{'cloudflare-common-defaults'},
$variables{'service-common-defaults'},
),
},
- 'googledomains' => {
- 'updateable' => undef,
- 'update' => \&nic_googledomains_update,
- 'examples' => \&nic_googledomains_examples,
- 'variables' => merge(
- { 'min-interval' => setv(T_DELAY, 0, 0, 1, interval('5m'), 0), },
- $variables{'googledomains-common-defaults'},
- $variables{'service-common-defaults'},
- ),
- },
- 'duckdns' => {
- 'updateable' => undef,
- 'update' => \&nic_duckdns_update,
- 'examples' => \&nic_duckdns_examples,
- 'variables' => merge(
- $variables{'duckdns-common-defaults'},
- $variables{'service-common-defaults'},
- ),
- },
- 'freemyip' => {
- 'updateable' => undef,
- 'update' => \&nic_freemyip_update,
- 'examples' => \&nic_freemyip_examples,
- 'variables' => merge(
- $variables{'freemyip-common-defaults'},
- $variables{'service-common-defaults'},
- ),
- },
- 'woima' => {
- 'updateable' => undef,
- 'update' => \&nic_woima_update,
- 'examples' => \&nic_woima_examples,
- 'variables' => merge(
- $variables{'woima-common-defaults'},
- $variables{'woima-service-common-defaults'},
- ),
- },
- 'yandex' => {
- 'updateable' => undef,
- 'update' => \&nic_yandex_update,
- 'examples' => \&nic_yandex_examples,
- 'variables' => merge(
- { 'min-interval' => setv(T_DELAY, 0, 0, 1, interval('5m'), 0), },
- $variables{'yandex-common-defaults'},
- $variables{'service-common-defaults'},
- ),
- },
'dnsmadeeasy' => {
'updateable' => undef,
'update' => \&nic_dnsmadeeasy_update,
@@ -714,6 +534,145 @@ my %services = (
$variables{'service-common-defaults'},
),
},
+ 'dslreports1' => {
+ 'updateable' => undef,
+ 'update' => \&nic_dslreports1_update,
+ 'examples' => \&nic_dslreports1_examples,
+ 'variables' => merge(
+ { 'host' => setv(T_NUMBER, 1, 1, 0, undef) },
+ $variables{'service-common-defaults'},
+ ),
+ },
+ 'dtdns' => {
+ 'updateable' => undef,
+ 'update' => \&nic_dtdns_update,
+ 'examples' => \&nic_dtdns_examples,
+ 'variables' => merge(
+ $variables{'dtdns-common-defaults'},
+ $variables{'service-common-defaults'},
+ ),
+ },
+ 'duckdns' => {
+ 'updateable' => undef,
+ 'update' => \&nic_duckdns_update,
+ 'examples' => \&nic_duckdns_examples,
+ 'variables' => merge(
+ $variables{'duckdns-common-defaults'},
+ $variables{'service-common-defaults'},
+ ),
+ },
+ 'dyndns1' => {
+ 'updateable' => \&nic_dyndns2_updateable,
+ 'update' => \&nic_dyndns1_update,
+ 'examples' => \&nic_dyndns1_examples,
+ 'variables' => merge(
+ $variables{'dyndns-common-defaults'},
+ $variables{'service-common-defaults'},
+ ),
+ },
+ 'dyndns2' => {
+ 'updateable' => \&nic_dyndns2_updateable,
+ 'update' => \&nic_dyndns2_update,
+ 'examples' => \&nic_dyndns2_examples,
+ 'variables' => merge(
+ { 'custom' => setv(T_BOOL, 0, 1, 0, undef), },
+ { 'script' => setv(T_STRING, 1, 1, '/nic/update', undef), },
+ $variables{'dyndns-common-defaults'},
+ $variables{'service-common-defaults'},
+ ),
+ },
+ 'easydns' => {
+ 'updateable' => undef,
+ 'update' => \&nic_easydns_update,
+ 'examples' => \&nic_easydns_examples,
+ 'variables' => merge(
+ { 'server' => setv(T_FQDNP, 1, 0, 'members.easydns.com', undef) },
+ { 'min-interval' => setv(T_DELAY, 0, 0, interval('5m'), 0), },
+ $variables{'easydns-common-defaults'},
+ $variables{'service-common-defaults'},
+ ),
+ },
+ 'freedns' => {
+ 'updateable' => undef,
+ 'update' => \&nic_freedns_update,
+ 'examples' => \&nic_freedns_examples,
+ 'variables' => merge(
+ { 'server' => setv(T_FQDNP, 1, 0, 'freedns.afraid.org', undef) },
+ { 'min-interval' => setv(T_DELAY, 0, 0, 0, interval('5m')), },
+ $variables{'service-common-defaults'},
+ ),
+ },
+ 'freemyip' => {
+ 'updateable' => undef,
+ 'update' => \&nic_freemyip_update,
+ 'examples' => \&nic_freemyip_examples,
+ 'variables' => merge(
+ $variables{'freemyip-common-defaults'},
+ $variables{'service-common-defaults'},
+ ),
+ },
+ 'googledomains' => {
+ 'updateable' => undef,
+ 'update' => \&nic_googledomains_update,
+ 'examples' => \&nic_googledomains_examples,
+ 'variables' => merge(
+ { 'min-interval' => setv(T_DELAY, 0, 0, interval('5m'), 0), },
+ $variables{'googledomains-common-defaults'},
+ $variables{'service-common-defaults'},
+ ),
+ },
+ 'hammernode1' => {
+ 'updateable' => undef,
+ 'update' => \&nic_hammernode1_update,
+ 'examples' => \&nic_hammernode1_examples,
+ 'variables' => merge(
+ { 'server' => setv(T_FQDNP, 1, 0, 'dup.hn.org', undef) },
+ { 'min-interval' => setv(T_DELAY, 0, 0, interval('5m'), 0), },
+ $variables{'service-common-defaults'},
+ ),
+ },
+ 'namecheap' => {
+ 'updateable' => undef,
+ 'update' => \&nic_namecheap_update,
+ 'examples' => \&nic_namecheap_examples,
+ 'variables' => merge(
+ { 'server' => setv(T_FQDNP, 1, 0, 'dynamicdns.park-your-domain.com', undef) },
+ { 'min-interval' => setv(T_DELAY, 0, 0, 0, interval('5m')), },
+ $variables{'service-common-defaults'},
+ ),
+ },
+ 'nfsn' => {
+ 'updateable' => undef,
+ 'update' => \&nic_nfsn_update,
+ 'examples' => \&nic_nfsn_examples,
+ 'variables' => merge(
+ { 'server' => setv(T_FQDNP, 1, 0, 'api.nearlyfreespeech.net', undef) },
+ { 'min_interval' => setv(T_FQDNP, 0, 0, 0, interval('5m')) },
+ { 'ttl' => setv(T_NUMBER, 1, 0, 300, undef) },
+ { 'zone' => setv(T_FQDN, 1, 0, undef, undef) },
+ $variables{'service-common-defaults'},
+ ),
+ },
+ 'noip' => {
+ 'updateable' => undef,
+ 'update' => \&nic_noip_update,
+ 'examples' => \&nic_noip_examples,
+ 'variables' => merge(
+ { 'custom' => setv(T_BOOL, 0, 1, 0, undef), },
+ $variables{'noip-common-defaults'},
+ $variables{'noip-service-common-defaults'},
+ ),
+ },
+ 'nsupdate' => {
+ 'updateable' => undef,
+ 'update' => \&nic_nsupdate_update,
+ 'examples' => \&nic_nsupdate_examples,
+ 'variables' => merge(
+ { 'login' => setv(T_LOGIN, 1, 0, '/usr/bin/nsupdate', undef), },
+ $variables{'nsupdate-common-defaults'},
+ $variables{'service-common-defaults'},
+ ),
+ },
'ovh' => {
'updateable' => undef,
'update' => \&nic_ovh_update,
@@ -723,6 +682,46 @@ my %services = (
$variables{'service-common-defaults'},
),
},
+ 'sitelutions' => {
+ 'updateable' => undef,
+ 'update' => \&nic_sitelutions_update,
+ 'examples' => \&nic_sitelutions_examples,
+ 'variables' => merge(
+ { 'server' => setv(T_FQDNP, 1, 0, 'www.sitelutions.com', undef) },
+ { 'min-interval' => setv(T_DELAY, 0, 0, 0, interval('5m')), },
+ $variables{'service-common-defaults'},
+ ),
+ },
+ 'woima' => {
+ 'updateable' => undef,
+ 'update' => \&nic_woima_update,
+ 'examples' => \&nic_woima_examples,
+ 'variables' => merge(
+ $variables{'woima-common-defaults'},
+ $variables{'woima-service-common-defaults'},
+ ),
+ },
+ 'yandex' => {
+ 'updateable' => undef,
+ 'update' => \&nic_yandex_update,
+ 'examples' => \&nic_yandex_examples,
+ 'variables' => merge(
+ { 'min-interval' => setv(T_DELAY, 0, 0, interval('5m'), 0), },
+ $variables{'yandex-common-defaults'},
+ $variables{'service-common-defaults'},
+ ),
+ },
+ 'zoneedit1' => {
+ 'updateable' => undef,
+ 'update' => \&nic_zoneedit1_update,
+ 'examples' => \&nic_zoneedit1_examples,
+ 'variables' => merge(
+ { 'server' => setv(T_FQDNP, 1, 0, 'dynamic.zoneedit.com', undef) },
+ { 'min-interval' => setv(T_DELAY, 0, 0, interval('5m'), 0), },
+ $variables{'service-common-defaults'},
+ $variables{'zoneedit-service-common-defaults'},
+ ),
+ },
);
$variables{'merged'} = merge($variables{'global-defaults'},
$variables{'service-common-defaults'},
|