Fixed for Debian 6 support
authorJamie Cameron <jcameron@webmin.com>
Fri, 11 Feb 2011 01:05:00 +0000 (17:05 -0800)
committerJamie Cameron <jcameron@webmin.com>
Fri, 11 Feb 2011 01:05:00 +0000 (17:05 -0800)
dhcpd/config-debian-linux-3.1-5.9 [moved from dhcpd/config-debian-linux-3.1-* with 100% similarity]
dhcpd/config-debian-linux-6.0-* [new file with mode: 0644]
dhcpd/edit_iface.cgi
dhcpd/save_iface.cgi

diff --git a/dhcpd/config-debian-linux-6.0-* b/dhcpd/config-debian-linux-6.0-*
new file mode 100644 (file)
index 0000000..8e9ded2
--- /dev/null
@@ -0,0 +1,16 @@
+dhcpd_conf=/etc/dhcp/dhcpd.conf
+pid_file=/var/run/dhcpd.pid
+dhcpd_path=/usr/sbin/dhcpd
+lease_file=/var/lib/dhcp/dhcpd.leases
+lease_sort=0
+dhcpd_nocols=5
+lease_tz=0
+start_cmd=/etc/init.d/isc-dhcp-server start
+stop_cmd=/etc/init.d/isc-dhcp-server stop
+restart_cmd=/etc/init.d/isc-dhcp-server restart
+show_ip=0
+show_mac=0
+group_name=0
+display_max=100
+desc_name=0
+interfaces_type=debian
index 8e99cdc..4b4a769 100755 (executable)
@@ -35,7 +35,12 @@ elsif ($config{'interfaces_type'} eq 'suse') {
        $iface = $dhcpd{'DHCPD_INTERFACE'};
        }
 elsif ($config{'interfaces_type'} eq 'debian') {
-       if (-r "/etc/default/dhcp") {
+       if (-r "/etc/default/isc-dhcp-server") {
+               # Debian 6+ uses a new environment file
+               &read_env_file("/etc/default/isc-dhcp-server", \%dhcpd);
+               $iface = $dhcpd{'INTERFACES'};
+               }
+       elsif (-r "/etc/default/dhcp") {
                # New debian uses an environment file
                &read_env_file("/etc/default/dhcp", \%dhcpd);
                $iface = $dhcpd{'INTERFACES'};
index 8703f41..50c9e55 100755 (executable)
@@ -54,7 +54,13 @@ elsif ($config{'interfaces_type'} eq 'suse') {
        &write_env_file("/etc/sysconfig/dhcpd", \%dhcpd);
        }
 elsif ($config{'interfaces_type'} eq 'debian') {
-       if (-r "/etc/default/dhcp") {
+       if (-r "/etc/default/isc-dhcp-server") {
+               # Write to Debian 6.0 environment file
+               &read_env_file("/etc/default/isc-dhcp-server", \%dhcpd);
+               $dhcpd{'INTERFACES'} = $iface;
+               &write_env_file("/etc/default/isc-dhcp-server", \%dhcpd);
+               }
+       elsif (-r "/etc/default/dhcp") {
                # Write to Debian environment file
                &read_env_file("/etc/default/dhcp", \%dhcpd);
                $dhcpd{'INTERFACES'} = $iface;
@@ -76,7 +82,7 @@ elsif ($config{'interfaces_type'} eq 'debian') {
                                $lref->[$i] = "INTERFACES=\"$iface\"";
                                }
                        }
-               &flush_file_lines();
+               &flush_file_lines("/etc/init.d/dhcp");
                }
        }
 elsif ($config{'interfaces_type'} eq 'caldera') {
@@ -93,6 +99,5 @@ elsif ($config{'interfaces_type'} eq 'gentoo') {
        &write_env_file("/etc/conf.d/dhcp", \%dhcp);
        }
 
-
 &redirect("");