5 require './xinetd-lib.pl';
7 &error_setup($text{'defs_err'});
8 &lock_file($config{'xinetd_conf'});
9 @conf = &get_xinetd_config();
11 if ($c->{'name'} eq 'defaults') {
17 $defs = { 'name' => 'defaults',
21 # Parse and save inputs
22 &set_member_value($defs, 'only_from', $in{'from_def'} ? undef :
23 $in{'from'} ? split(/\s+/, $in{'from'}) : ("") );
24 &set_member_value($defs, 'no_access', $in{'access_def'} ? undef :
25 $in{'access'} ? split(/\s+/, $in{'access'}) : ("") );
26 if ($in{'log_mode'} == 0) {
27 &set_member_value($defs, 'log_type');
29 elsif ($in{'log_mode'} == 1) {
30 &set_member_value($defs, 'log_type', 'SYSLOG', $in{'facility'},
31 $in{'level'} ? ( $in{'level'} ) : ( ) );
33 elsif ($in{'log_mode'} == 2) {
34 $in{'file'} =~ /^\S+$/ || &error($text{'defs_efile'});
35 $in{'soft'} =~ /^\d*$/ || &error($text{'defs_esoft'});
36 $in{'hard'} =~ /^\d*$/ || &error($text{'defs_ehard'});
37 &set_member_value($defs, 'log_type', 'FILE', $in{'file'},
38 $in{'soft'} ? ( $in{'soft'} ) : ( ),
39 $in{'hard'} ? ( $in{'hard'} ) : ( ) );
41 &set_member_value($defs, 'log_on_success', split(/\0/, $in{'success'}));
42 &set_member_value($defs, 'log_on_failure', split(/\0/, $in{'failure'}));
49 &unlock_file($config{'xinetd_conf'});
50 &webmin_log("defaults", undef, undef, $defs->{'quick'});