diff --git a/dhcpd/CHANGELOG b/dhcpd/CHANGELOG index 937a74861..d3ac8208f 100644 --- a/dhcpd/CHANGELOG +++ b/dhcpd/CHANGELOG @@ -35,3 +35,5 @@ Converted buttons on the module's main page to use the Webmin UI library. Expired leases are no longer counted towards usage on the DHCP Leases page. Added a mode to the DHCP Leases page to show usage by subnet, thanks to a suggestion by Coles. When applying the configuration fails with an error mentioning a line in the config file, 10 lines around that will also be displayed by Webmin in the error. +---- Changes since 1.510 ---- +Added support for multi-value options, thanks to a patch from Luke Suchocki. diff --git a/dhcpd/edit_options.cgi b/dhcpd/edit_options.cgi index 01684a5dd..1a002fa84 100755 --- a/dhcpd/edit_options.cgi +++ b/dhcpd/edit_options.cgi @@ -147,8 +147,9 @@ if ($config{'dhcpd_version'} >= 3) { printf "\n", $o->{'values'}->[2]; print "$text{'eopt_dtype'}\n"; + my $a=scalar(@{$o->{'values'}})-1; printf "\n", - $o->{'values'}->[4]; + join(" ",@{$o->{'values'}}[4..$a]); print " \n"; } diff --git a/dhcpd/save_options.cgi b/dhcpd/save_options.cgi index 97c7fdc65..af6524944 100755 --- a/dhcpd/save_options.cgi +++ b/dhcpd/save_options.cgi @@ -98,7 +98,7 @@ if ($config{'dhcpd_version'} >= 3) { &error(&text('sopt_edname', $in{"dname_$i"})); $in{"dnum_$i"} =~ /^\d+$/ || &error(&text('sopt_ednum', $in{"dnum_$i"})); - $in{"dtype_$i"} =~ /^[a-z0-9\.\-\_]+$/i || + $in{"dtype_$i"} =~ /^[a-z0-9\s\.\-\_]+$/i || &error(&text('sopt_edtype', $in{"dtype_$i"})); push(@newdefs, { 'name' => 'option', 'values' => [ $in{"dname_$i"}, "code",