]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/commitdiff
ddns.cgi: Fix token auth for provider regfish.com.
authorStefan Schantl <stefan.schantl@ipfire.org>
Fri, 1 Aug 2014 17:56:52 +0000 (19:56 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 4 Aug 2014 10:53:59 +0000 (12:53 +0200)
In the past the regfish.com auth token was stored as username similar than freedns.afraid.com. We now expected
the token key stored as password, to keep compatiblity with old installations I've added some compatible code
to prevent users from various issues.

html/cgi-bin/ddns.cgi

index 7be9a50f073bd64560560204efb749014ef386fb..3072a8b763f62fd1598e9646dc59dfb04c863da7 100644 (file)
@@ -187,7 +187,7 @@ if (($settings{'ACTION'} eq $Lang::tr{'add'}) || ($settings{'ACTION'} eq $Lang::
 
        # Check if a password has been typed in.
        # freedns.afraid.org does not require this field.
-       if (($settings{'PASSWORD'} eq '') && ($settings{'SERVICE'} ne 'freedns.afraid.org')) {
+       if (($settings{'PASSWORD'} eq '') && ($settings{'SERVICE'} ne 'freedns.afraid.org') && ($settings{'SERVICE'} ne 'regfish.com')) {
                $errormessage = $Lang::tr{'password not set'};
        }
 
@@ -650,8 +650,8 @@ sub GenerateDDNSConfigFile {
                if ($provider ~~ ["dns.lightningwirelabs.com", "entrydns.net", "regfish.com"] && $username eq "token") {
                        $use_token = 1;
 
-               # Handle token auth for freedns.afraid.org.
-               } elsif ($provider eq "freedns.afraid.org" && $password eq "") {
+               # Handle token auth for freedns.afraid.org and regfish.com.
+               } elsif ($provider ~~ ["freedns.afraid.org", "regfish.com"] && $password eq "") {
                        $use_token = 1;
                        $password = $username;