--- /dev/null
+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
$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'};
&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;
$lref->[$i] = "INTERFACES=\"$iface\"";
}
}
- &flush_file_lines();
+ &flush_file_lines("/etc/init.d/dhcp");
}
}
elsif ($config{'interfaces_type'} eq 'caldera') {
&write_env_file("/etc/conf.d/dhcp", \%dhcp);
}
-
&redirect("");