1# display args for pam_time.so 2 3# display_args(&service, &module, &args) 4sub display_module_args 5{ 6local $file = "/etc/security/time.conf"; 7local @time; 8open(FILE, "<".$file); 9while(<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 } 16close(FILE); 17local $tt = &ui_columns_start([ $text{'time_services'}, 18 $text{'time_ttys'}, 19 $text{'time_users'}, 20 $text{'time_times'} ]); 21local $i = 0; 22foreach $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'}; 33print &ui_table_row(undef, $tt, 4); 34} 35 36# parse_module_args(&service, &module, &args) 37sub parse_module_args 38{ 39local $file = "/etc/security/time.conf"; 40local (@lines, $i); 41for($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 53