diff -Nur --no-dereference smeserver-dhcpmanager-2.0.4.old/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/dhcpd smeserver-dhcpmanager-2.0.4/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/dhcpd --- smeserver-dhcpmanager-2.0.4.old/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/dhcpd 2015-08-17 18:06:47.000000000 -0400 +++ smeserver-dhcpmanager-2.0.4/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/dhcpd 2021-03-30 22:30:01.180000000 -0400 @@ -80,6 +80,10 @@ Secondary DNS + TERTIARY_DNS_ADDRESS + Tertiary DNS + + CUSTOM_GATEWAY_TITLE Enable a custom gateway address. diff -Nur --no-dereference smeserver-dhcpmanager-2.0.4.old/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25DomainNameServers smeserver-dhcpmanager-2.0.4/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25DomainNameServers --- smeserver-dhcpmanager-2.0.4.old/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25DomainNameServers 2015-08-13 08:43:24.000000000 -0400 +++ smeserver-dhcpmanager-2.0.4/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25DomainNameServers 1969-12-31 19:00:00.000000000 -0500 @@ -1,22 +0,0 @@ -{ - - my $dhcpdnscustom = $DB->get_prop('dhcpd', 'dnscustom'); - my $dhcpdns1server = $DB->get_prop('dhcpd', 'dns1server'); - my $dhcpdns2server = $DB->get_prop('dhcpd', 'dns2server'); - - if ($dhcpdnscustom eq 'enabled') - { - if ($dhcpdns2server eq "" ) - { - $OUT .= " option domain-name-servers $dhcpdns1server;"; - } - else - { - $OUT .= " option domain-name-servers $dhcpdns1server, $dhcpdns2server;"; - } - } - else - { - $OUT .= " option domain-name-servers $LocalIP;"; - } -} diff -Nur --no-dereference smeserver-dhcpmanager-2.0.4.old/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25LeaseTimeDefault smeserver-dhcpmanager-2.0.4/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25LeaseTimeDefault --- smeserver-dhcpmanager-2.0.4.old/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25LeaseTimeDefault 2015-08-13 08:43:24.000000000 -0400 +++ smeserver-dhcpmanager-2.0.4/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25LeaseTimeDefault 1969-12-31 19:00:00.000000000 -0500 @@ -1,4 +0,0 @@ -{ - my $dhcpleasetime = $DB->get_prop('dhcpd', 'leasetime') || 86400; - $OUT .= " default-lease-time $dhcpleasetime;"; -} diff -Nur --no-dereference smeserver-dhcpmanager-2.0.4.old/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25LeaseTimeMax smeserver-dhcpmanager-2.0.4/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25LeaseTimeMax --- smeserver-dhcpmanager-2.0.4.old/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25LeaseTimeMax 2015-08-13 08:43:24.000000000 -0400 +++ smeserver-dhcpmanager-2.0.4/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25LeaseTimeMax 1969-12-31 19:00:00.000000000 -0500 @@ -1,6 +0,0 @@ -{ - - my $leasetime = $DB->get_prop('dhcpd', 'leasetime') || 86400; - my $maxleasetime = 7 * $leasetime; - $OUT .= " max-lease-time $maxleasetime;"; -} diff -Nur --no-dereference smeserver-dhcpmanager-2.0.4.old/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25Routers smeserver-dhcpmanager-2.0.4/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25Routers --- smeserver-dhcpmanager-2.0.4.old/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25Routers 2015-08-13 08:43:24.000000000 -0400 +++ smeserver-dhcpmanager-2.0.4/root/etc/e-smith/templates-custom/etc/dhcpd.conf/25Routers 1969-12-31 19:00:00.000000000 -0500 @@ -1,21 +0,0 @@ -{ - - my $dhcpgatewaycustom = $DB->get_prop('dhcpd', 'gatewaycustom'); - my $dhcpgateway= $DB->get_prop('dhcpd', 'gateway'); - if ($dhcpgatewaycustom eq 'enabled') - { - $OUT .= " option routers $dhcpgateway;"; - } - else - { - my $router = (defined $SystemMode && $SystemMode =~ /servergateway/) - ? $LocalIP : - defined $GatewayIP ? $GatewayIP : undef; - - $OUT = ""; - if ($router) - { - $OUT .= " option routers $router;"; - } - } -} diff -Nur --no-dereference smeserver-dhcpmanager-2.0.4.old/root/etc/e-smith/web/functions/dhcpd smeserver-dhcpmanager-2.0.4/root/etc/e-smith/web/functions/dhcpd --- smeserver-dhcpmanager-2.0.4.old/root/etc/e-smith/web/functions/dhcpd 2021-03-30 21:54:50.428000000 -0400 +++ smeserver-dhcpmanager-2.0.4/root/etc/e-smith/web/functions/dhcpd 2021-03-30 22:30:01.447000000 -0400 @@ -212,6 +212,10 @@ $fm->localise('SECONDARY_DNS_ADDRESS'), 'dhcp_dns2server', $sme_conf{'dns2server'}), + esmith::cgi::genNameValueRow ($q, + $fm->localise('TERTIARY_DNS_ADDRESS'), + 'dhcp_dns3server', + $sme_conf{'dns3server'}), #### Custom default Gateway esmith::cgi::genTextRow ($q, @@ -273,6 +277,7 @@ my $dhcpd_dnscustom = $q->param ('dhcp_dnscustom'); my $dhcpd_dns1server = $q->param ('dhcp_dns1server'); my $dhcpd_dns2server = $q->param ('dhcp_dns2server'); + my $dhcpd_dns3server = $q->param ('dhcp_dns3server'); my $dhcpd_gatewaycustom = $q->param ('dhcp_gatewaycustom'); my $dhcpd_gateway = $q->param ('dhcp_gateway'); @@ -350,18 +355,20 @@ if ($dhcpd_dnscustom eq "enabled") { #check if $dhcpd_dns1server and ( $dhcpd_dns2server are valid ip or $dhcpd_dns2server = null ) - if ( isValidIP ($dhcpd_dns1server) && (isValidIP($dhcpd_dns2server) || ( $dhcpd_dns2server eq "") ) ) + if ( isValidIP ($dhcpd_dns1server) && (isValidIP($dhcpd_dns2server) || ( $dhcpd_dns2server eq "") ) && (isValidIP($dhcpd_dns3server) || ( $dhcpd_dns3server eq "") ) ) { #set value my $dhcpd_dns1server = cleanIP($dhcpd_dns1server); $sme_record->set_prop('dns1server' , $dhcpd_dns1server); my $dhcpd_dns2server = cleanIP($dhcpd_dns2server); $sme_record->set_prop('dns2server' , $dhcpd_dns2server); + my $dhcpd_dns3server = cleanIP($dhcpd_dns3server); + $sme_record->set_prop('dns3server' , $dhcpd_dns3server); } else { - ##if $dhcpd_dns1server or $dhcpd_dns2server are not valid ip then display an error - Main_Display($q, $fm->localise('DNS_SERVER_WITH_BAD_IP') . ' (' . $dhcpd_dns1server . '/' . $dhcpd_dns2server .')'); + ##if $dhcpd_dns1server or $dhcpd_dns2server or $dhcpd_dns3server are not valid ip then display an error + Main_Display($q, $fm->localise('DNS_SERVER_WITH_BAD_IP') . ' (' . $dhcpd_dns1server . '/' . $dhcpd_dns2server . '/' . $dhcpd_dns3server .')'); } }