diff --git a/html/cgi-bin/hosts.cgi b/html/cgi-bin/hosts.cgi
index 41fe8a5b6..973c480b3 100644
--- a/html/cgi-bin/hosts.cgi
+++ b/html/cgi-bin/hosts.cgi
@@ -2,9 +2,9 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2019 IPFire Team #
# #
-# This program is free software you can redistribute it and/or modify #
+# This program is free software you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
@@ -50,9 +50,10 @@ our %settings = ();
#Must not be saved !
$settings{'EN'} = ''; # reuse for dummy field in position zero
$settings{'IP'} = '';
-$settings{'HOST'} = '';
-$settings{'DOM'} = '';
-my @nosaved=('EN','IP','HOST','DOM'); # List here ALL setting2 fields. Mandatory
+$settings{'HOST'} = '';
+$settings{'DOM'} = '';
+$settings{'PTR'} = '';
+my @nosaved=('EN','IP','HOST','DOM','PTR'); # List here ALL setting2 fields. Mandatory
$settings{'ACTION'} = ''; # add/edit/remove
$settings{'KEY1'} = ''; # point record for ACTION
@@ -78,6 +79,10 @@ if (open(FILE, "$datafile")) {
## Settings1 Box not used...
&General::readhash("${General::swroot}/main/settings", \%settings);
+# Set PTR to off if filed was not received
+if ($settings{'PTR'} eq '') {
+ $settings{'PTR'} = 'off';
+}
## Now manipulate the multi-line list with Settings2
# Basic actions are:
@@ -122,13 +127,12 @@ if ($settings{'ACTION'} eq $Lang::tr{'add'}) {
$errormessage = $Lang::tr{'invalid domain name'};
}
-
unless ($errormessage) {
if ($settings{'KEY1'} eq '') { #add or edit ?
- unshift (@current, "$settings{'EN'},$settings{'IP'},$settings{'HOST'},$settings{'DOM'}\n");
+ unshift (@current, "$settings{'EN'},$settings{'IP'},$settings{'HOST'},$settings{'DOM'},$settings{'PTR'}\n");
&General::log($Lang::tr{'hosts config added'});
} else {
- @current[$settings{'KEY1'}] = "$settings{'EN'},$settings{'IP'},$settings{'HOST'},$settings{'DOM'}\n";
+ @current[$settings{'KEY1'}] = "$settings{'EN'},$settings{'IP'},$settings{'HOST'},$settings{'DOM'},$settings{'PTR'}\n";
$settings{'KEY1'} = ''; # End edit mode
&General::log($Lang::tr{'hosts config changed'});
}
@@ -150,6 +154,11 @@ if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {
$settings{'IP'}=$temp[1];
$settings{'HOST'}=$temp[2];
$settings{'DOM'}=$temp[3];
+ if ($temp[4] eq '') {
+ $settings{'PTR'} = 'on';
+ } else {
+ $settings{'PTR'}=$temp[4];
+ }
}
if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {
@@ -190,6 +199,7 @@ if ($settings{'ACTION'} eq '' ) { # First launch from GUI
# Place here default value when nothing is initialized
$settings{'EN'} = 'on';
$settings{'DOM'} = $settings{'DOMAINNAME'};
+ $settings{'PTR'} = 'on';
}
&Header::openpage($Lang::tr{'hostname'}, 1, '');
@@ -238,6 +248,7 @@ if ($errormessage) {
# Second check box is for editing the list
#
$checked{'EN'}{'on'} = ($settings{'EN'} eq '' ) ? '' : "checked='checked'";
+$checked{'PTR'}{'on'} = ($settings{'PTR'} eq 'off' ) ? '' : "checked='checked'";
my $buttontext = $Lang::tr{'add'};
if ($settings{'KEY1'} ne '') {
@@ -257,9 +268,16 @@ print <