mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-27 19:23:24 +02:00
ddns.cgi: Support hostname details without seperating dots.
To keep compatiblity with the settings file of the old DDNS update script (setddns.pl) we keept the storrage of the hostname information in two parts (hostname and domain) and connected both with a dot to get a valid FQDN again. OpenDNS and may some other providers do not use a dotted format for this information, so one of these two values were empty. We now can handle such cases in a right way.
This commit is contained in:
committed by
Michael Tremer
parent
a6df80269b
commit
4851bc81f3
@@ -293,8 +293,17 @@ if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {
|
||||
# Splitt lines (splitting element is a single ",") and save values into temp array.
|
||||
@temp = split(/\,/,$line);
|
||||
|
||||
# Handle hostname details. Only connect the values with a dott if both are available.
|
||||
my $hostname;
|
||||
|
||||
if (($temp[1]) && ($temp[2])) {
|
||||
$hostname = "$temp[1].$temp[2]";
|
||||
} else {
|
||||
$hostname = "$temp[1]";
|
||||
}
|
||||
|
||||
$settings{'SERVICE'} = $temp[0];
|
||||
$settings{'HOSTNAME'} = "$temp[1].$temp[2]";
|
||||
$settings{'HOSTNAME'} = $hostname;
|
||||
$settings{'PROXY'} = $temp[3];
|
||||
$settings{'WILDCARDS'} = $temp[4];
|
||||
$settings{'LOGIN'} = $temp[5];
|
||||
@@ -531,11 +540,20 @@ END
|
||||
$col="bgcolor='$color{'color22'}'";
|
||||
}
|
||||
|
||||
# Handle hostname details. Only connect the values with a dott if both are available.
|
||||
my $hostname="";
|
||||
|
||||
if (($temp[1]) && ($temp[2])) {
|
||||
$hostname="$temp[1].$temp[2]";
|
||||
} else {
|
||||
$hostname="$temp[1]";
|
||||
}
|
||||
|
||||
# The following HTML Code still is part of the loop.
|
||||
print <<END;
|
||||
<tr>
|
||||
<td align='center' $col><a href='http://$temp[0]'>$temp[0]</a></td>
|
||||
<td align='center' $col>$sync$temp[1].$sync$temp[2]</td>
|
||||
<td align='center' $col>$sync$hostname</td>
|
||||
|
||||
<td align='center' $col><form method='post' action='$ENV{'SCRIPT_NAME'}'>
|
||||
<input type='hidden' name='ID' value='$id'>
|
||||
@@ -637,7 +655,13 @@ sub GenerateDDNSConfigFile {
|
||||
# Skip disabled entries.
|
||||
next unless ($enabled eq "on");
|
||||
|
||||
print FILE "[$hostname.$domain]\n";
|
||||
# Handle hostname details. Only connect the values with a dott if both are available.
|
||||
if (($hostname) && ($domain)) {
|
||||
print FILE "[$hostname.$domain]\n";
|
||||
} else {
|
||||
print FILE "[$hostname]\n";
|
||||
}
|
||||
|
||||
print FILE "provider = $provider\n";
|
||||
|
||||
my $use_token = 0;
|
||||
|
||||
Reference in New Issue
Block a user