3 # Enable or disable logging
5 require './webmin-lib.pl';
7 &error_setup($text{'log_err'});
9 &lock_file($ENV{'MINISERV_CONFIG'});
10 &get_miniserv_config(\%miniserv);
11 $miniserv{'log'} = $in{'log'};
12 $miniserv{'loghost'} = $in{'loghost'};
13 $miniserv{'logclf'} = $in{'logclf'};
14 $miniserv{'logclear'} = $in{'logclear'};
15 !$in{'logclear'} || $in{'logtime'} =~ /^[1-9][0-9]*$/ ||
16 &error(&text('log_ehours', $in{'logtime'}));
17 $miniserv{'logtime'} = $in{'logtime'};
18 if ($in{'perms_def'}) {
19 delete($miniserv{'logperms'});
22 $in{'perms'} =~ /^[0-7]{3,4}$/ || &error($text{'log_eperms'});
23 $miniserv{'logperms'} = $in{'perms'};
25 if (defined($in{'login'})) {
27 # Create and user login wrapper scripts
28 &foreign_require("cron");
29 &cron::create_wrapper($record_login_cmd,"","record-login.pl");
30 &cron::create_wrapper($record_logout_cmd,"","record-logout.pl");
31 $miniserv{'login_script'} = $record_login_cmd;
32 $miniserv{'logout_script'} = $record_logout_cmd;
36 delete($miniserv{'login_script'});
37 delete($miniserv{'logout_script'});
40 &put_miniserv_config(\%miniserv);
41 &unlock_file($ENV{'MINISERV_CONFIG'});
43 $gconfig{'log'} = $in{'log'};
44 $gconfig{'logtime'} = $in{'logtime'};
45 $gconfig{'logclear'} = $in{'logclear'};
46 $gconfig{'logusers'} =
47 $in{'uall'} ? '' : join(" ", split(/\0/, $in{'users'}));
48 $gconfig{'logmodules'} =
49 $in{'mall'} ? '' : join(" ", split(/\0/, $in{'modules'}));
50 $gconfig{'logfiles'} = $in{'logfiles'};
51 $gconfig{'logfullfiles'} = $in{'logfullfiles'};
52 $gconfig{'logperms'} = $miniserv{'logperms'};
53 !$in{'logfiles'} || &has_command("diff") ||
54 &error(&text('log_ediff', "diff"));
55 $gconfig{'logsyslog'} = $in{'logsyslog'} if (defined($in{'logsyslog'}));
56 &lock_file("$config_directory/config");
57 &write_file("$config_directory/config", \%gconfig);
58 &unlock_file("$config_directory/config");
61 &webmin_log("log", undef, undef, \%in);