Project

General

Profile

Feature #10256 ยป NoIPv6.patch

Csoban Kesmarki, 02/12/2020 12:33 PM

View differences:

new/etc/inc/services.inc 2020-02-12 15:45:18.015517000 +0100
24 24
 */
25 25

  
26 26

  
27
define('DYNDNS_PROVIDER_VALUES', 'all-inkl azure azurev6 citynetwork cloudflare cloudflare-v6 cloudns custom custom-v6 digitalocean dnsexit dnsimple dnsmadeeasy dnsomatic dreamhost dreamhost-v6 duiadns duiadns-v6 dyndns dyndns-custom dyndns-static dyns easydns eurodns freedns freedns-v6 glesys godaddy godaddy-v6 googledomains gratisdns he-net he-net-v6 he-net-tunnelbroker hover loopia namecheap noip noip-free ods opendns ovh-dynhost route53 route53-v6 selfhost spdyn spdyn-v6 zoneedit');
28
define('DYNDNS_PROVIDER_DESCRIPTIONS', 'All-Inkl.com,Azure DNS,Azure DNS (v6),City Network,Cloudflare,Cloudflare (v6),ClouDNS,Custom,Custom (v6),DigitalOcean,DNSexit,DNSimple,DNS Made Easy,DNS-O-Matic,DreamHost,Dreamhost (v6),DuiaDns.net,DuiaDns.net (v6),DynDNS (dynamic),DynDNS (custom),DynDNS (static),DyNS,easyDNS,Euro Dns,freeDNS,freeDNS (v6),GleSYS,GoDaddy,GoDaddy (v6),Google Domains,GratisDNS,HE.net,HE.net (v6),HE.net Tunnelbroker,Hover,Loopia,Namecheap,No-IP,No-IP (free),ODS.org,OpenDNS,OVH DynHOST,Route 53,Route 53 (v6),SelfHost,SPDYN,SPDYN (v6),ZoneEdit');
27
define('DYNDNS_PROVIDER_VALUES', 'all-inkl azure azurev6 citynetwork cloudflare cloudflare-v6 cloudns custom custom-v6 digitalocean dnsexit dnsimple dnsmadeeasy dnsomatic dreamhost dreamhost-v6 duiadns duiadns-v6 dyndns dyndns-custom dyndns-static dyns easydns eurodns freedns freedns-v6 glesys godaddy godaddy-v6 googledomains gratisdns he-net he-net-v6 he-net-tunnelbroker hover loopia namecheap noip noip-v6 noip-free noip-free-v6 ods opendns ovh-dynhost route53 route53-v6 selfhost spdyn spdyn-v6 zoneedit');
28
define('DYNDNS_PROVIDER_DESCRIPTIONS', 'All-Inkl.com,Azure DNS,Azure DNS (v6),City Network,Cloudflare,Cloudflare (v6),ClouDNS,Custom,Custom (v6),DigitalOcean,DNSexit,DNSimple,DNS Made Easy,DNS-O-Matic,DreamHost,Dreamhost (v6),DuiaDns.net,DuiaDns.net (v6),DynDNS (dynamic),DynDNS (custom),DynDNS (static),DyNS,easyDNS,Euro Dns,freeDNS,freeDNS (v6),GleSYS,GoDaddy,GoDaddy (v6),Google Domains,GratisDNS,HE.net,HE.net (v6),HE.net Tunnelbroker,Hover,Loopia,Namecheap,No-IP,No-IP (v6),No-IP (free),No-IP (free-v6),ODS.org,OpenDNS,OVH DynHOST,Route 53,Route 53 (v6),SelfHost,SPDYN,SPDYN (v6),ZoneEdit');
29 29

  
30 30
/* implement ipv6 route advertising daemon */
31 31
function services_radvd_configure($blacklist = array()) {
32
-- orig/etc/inc/dyndns.class	2020-02-12 15:37:50.701551000 +0100
32
++ new/etc/inc/dyndns.class	2020-02-12 16:41:44.486691000 +0100
......
279 279
				case 'dreamhost-v6':
280 280
				case 'godaddy-v6':
281 281
				case 'azurev6':
282
				case 'noip-v6':
283
				case 'noip-free-v6':
282 284
					$this->_useIPv6 = true;
283 285
					break;
284 286
				default:
......
329 331
					case 'dyndns-custom':
330 332
					case 'dhs':
331 333
					case 'noip':
334
					case 'noip-v6':
332 335
					case 'noip-free':
336
					case 'noip-free-v6':
333 337
					case 'easydns':
334 338
					case 'hn':
335 339
					case 'zoneedit':
......
488 492
					curl_setopt($ch, CURLOPT_USERPWD, $this->_dnsUser.':'.$this->_dnsPass);
489 493
					curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
490 494
					break;
495
				case 'noip-v6':
496
				case 'noip-free-v6':
497
					$needsIP = TRUE;
498
					$server = "https://dynupdate.no-ip.com/ducupdate.php";
499
					$port = "";
500
					if ($this->_dnsServer) {
501
						$server = $this->_dnsServer;
502
					}
503
					if ($this->_dnsPort) {
504
						$port = ":" . $this->_dnsPort;
505
					}
506
					if (($this->_dnsService == "noip-free-v6") &&
507
					    ($this->_forceUpdateNeeded == true) &&
508
					    ($this->_dnsDummyUpdateDone == false)) {
509
						// Update the IP to a dummy value to force No-IP free accounts to see a change.
510
						$iptoset = "fd00:d::1";
511
						$this->_dnsDummyUpdateDone = true;
512
						log_error(sprintf(gettext('Dynamic DNS %1$s (%2$s): Processing dummy update on No-IP free account. IP temporarily set to %3$s'), $this->_dnsService, $this->_dnsHost, $iptoset));
513
					} else {
514
						$iptoset = $this->_dnsIP;
515
					}
516
					curl_setopt($ch, CURLOPT_URL, $server . $port . '?username=' . urlencode($this->_dnsUser) . '&pass=' . urlencode($this->_dnsPass) . '&h[]=' . $this->_dnsHost.'&ipv6=' . $iptoset);
517
					break;
491 518
				case 'noip':
492 519
				case 'noip-free':
493 520
					$needsIP = TRUE;
......
1445 1472
				case 'dhs':
1446 1473
					break;
1447 1474
				case 'noip':
1475
				case 'noip-v6':
1448 1476
				case 'noip-free':
1477
				case 'noip-free-v6':
1449 1478
					list($ip, $code) = explode(":", $data);
1450 1479
					switch ($code) {
1451 1480
						case 0:
    (1-1/1)