Handle hostnames with upper-case letters
[webmin.git] / pam / pam_time.so.pl
1 # display args for pam_time.so
2
3 # display_args(&service, &module, &args)
4 sub display_module_args
5 {
6 local $file = "/etc/security/time.conf";
7 local @time;
8 open(FILE, $file);
9 while(<FILE>) {
10         s/#.*$//;
11         s/\r|\n//g;
12         if (/^\s*([^;]*)\s*;\s*([^;]*)\s*;\s*([^;]*)\s*;\s*([^;]*)\s*$/) {
13                 push(@time, [ $1, $2, $3, $4 ]);
14                 }
15         }
16 close(FILE);
17 local $tt = &ui_columns_start([ $text{'time_services'},
18                                 $text{'time_ttys'},
19                                 $text{'time_users'},
20                                 $text{'time_times'} ]);
21 local $i = 0;
22 foreach $t (@time, [ ]) {
23         $tt .= &ui_columns_row([
24                 &ui_textbox("services_$i", $t->[0], 25),
25                 &ui_textbox("ttys_$i", $t->[1], 25),
26                 &ui_textbox("users_$i", $t->[2], 25),
27                 &ui_textbox("times_$i", $t->[3], 25),
28                 ]);
29         $i++;
30         }
31 $tt .= &ui_columns_end();
32 $tt .= "<br>".$text{'time_info'};
33 print &ui_table_row(undef, $tt, 4);
34 }
35
36 # parse_module_args(&service, &module, &args)
37 sub parse_module_args
38 {
39 local $file = "/etc/security/time.conf";
40 local (@lines, $i);
41 for($i=0; defined($in{"services_$i"}); $i++) {
42         next if (!$in{"services_$i"});
43         push(@lines, join(";", $in{"services_$i"}, $in{"ttys_$i"},
44                                $in{"users_$i"}, $in{"times_$i"}),"\n");
45         }
46 &lock_file($file);
47 &open_tempfile(FILE, ">$file");
48 &print_tempfile(FILE, @lines);
49 &close_tempfile(FILE);
50 &unlock_file($file);
51 }
52