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/stunnel/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/libexec/webmin/stunnel/index.cgi
#!/usr/bin/perl
# index.cgi
# Display all existing SSL tunnels

require './stunnel-lib.pl';

# Check if stunnel is installed
if (!-x $config{'stunnel_path'}) {
	&ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1);
	print &text('index_estunnel', "<tt>$config{'stunnel_path'}</tt>",
		    "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	&ui_print_footer("/", $text{"index"});
	exit;
	}

# Check if inetd or xinetd is installed
if (!$has_inetd && !$has_xinetd) {
	&ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1);
	print "$text{'index_einetd'}<p>\n";
	&ui_print_footer("/", $text{"index"});
	exit;
	}

# Get the version
$ver = &get_stunnel_version(\$out);
&ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1, 0,
	&help_search_link("stunnel", "man", "doc"), undef, undef,
	&text('index_version', $ver));
#if ($ver >= 4) {
#	print "<p>",&text('index_eversion', $ver, 4.0),"<p>\n";
#	print &ui_hr();
#	&ui_print_footer("/", $text{'index'});
#	exit;
#	}

# List all tunnels currently setup in inetd
@tunnels = &list_stunnels();
@links = ( &select_all_link("d"),
	   &select_invert_link("d"),
	   "<a href='edit_stunnel.cgi?new=1'>$text{'index_add'}</a>" );
if (@tunnels) {
	print &ui_form_start("delete_tunnels.cgi", "post");
	@tds = ( "width=5" );
	print &ui_links_row(\@links);
	print &ui_columns_start([ "",
				  $text{'index_name'},
				  $text{'index_port'},
				  $text{'index_active'},
				  $text{'index_action'} ], 100, 0, \@tds); 
	foreach $t (@tunnels) {
		local @cols;
		if ($ver > 4) {
			# Parse new-style stunnel config file
			if ($t->{'args'} =~ /^(\S+)\s+(\S+)/) {
				$cfile = $2;
				@conf = &get_stunnel_config($cfile);
				($conf) = grep { !$_->{'name'} } @conf;
				}
			}
		if ($ver > 4 && !$cfile) {
			push(@cols, &html_escape($t->{'name'}));
			}
		else {
			push(@cols,
			    "<a href='edit_stunnel.cgi?idx=$t->{'index'}'>".
			    &html_escape($t->{'name'})."</a>");
			}
		push(@cols, &html_escape($t->{'port'}));
		push(@cols, $t->{'active'} ? $text{'yes'} :
			"<font color=#ff0000>$text{'no'}</font>");
		if ($ver > 4) {
			# Parse new-style stunnel config file
			if ($exec = $conf->{'values'}->{'exec'}) {
				$args = $conf->{'values'}->{'execargs'};
				push(@cols, &text('index_cmd',
				   $args ? "<tt>".&html_escape($args)."</tt>"
				         : "<tt>".&html_escape($exec)."</tt>"));
				}
			elsif ($conn = $conf->{'values'}->{'connect'}) {
				push(@cols, &text('index_remote',
				    "<tt>".&html_escape($conn)."</tt>"));
				}
			elsif ($cfile) {
				push(@cols, &text('index_conf',
					"<tt>$cfile</tt>"));
				}
			else {
				push(@cols, $text{'index_noconf'});
				}
			}
		else {
			# Parse old-style stunnel args
			if ($t->{'args'} =~ /\s*-([lL])\s+(\S+)\s+--\s+(.*)/ ||
			    $t->{'args'} =~ /\s*-([lL])\s+(\S+)/) {
				push(@cols, &text('index_cmd',
				    $3 ? "<tt>".&html_escape($3)."</tt>"
				       : "<tt>".&html_escape($2)."</tt>"));
				}
			elsif ($t->{'args'} =~ /-r\s+(\S+):(\d+)/) {
				push(@cols, &text('index_remote',
				    "<tt>".&html_escape("$1:$2")."</tt>"));
				}
			elsif ($t->{'args'} =~ /-r\s+(\d+)/) {
				push(@cols, &text('index_rport',
				    "<tt>".&html_escape($1)."</tt>"));
				}
			else {
				push(@cols,
				    "<tt>".&html_escape($t->{'args'})."</tt>");
				}
			}
		print &ui_checked_columns_row(\@cols, \@tds, "d",$t->{'index'});
		}
	print &ui_columns_end();
	print &ui_links_row(\@links);
	print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]);
	}
else {
	print "<b>$text{'index_none'}</b><p>\n";
	print &ui_links_row([ $links[2] ]);
	}

print &ui_hr();
print "<table width=100%><tr>\n";
print "<form action=apply.cgi>\n";
print "<td><input type=submit value='$text{'index_apply'}'></td>\n";
if ($has_inetd && $has_xinetd) {
	print "<td>$text{'index_applymsg1'}</td>\n";
	}
elsif ($has_inetd) {
	print "<td>$text{'index_applymsg2'}</td>\n";
	}
else {
	print "<td>$text{'index_applymsg3'}</td>\n";
	}
print "</form></tr></table>\n";

&ui_print_footer("/", $text{'index'});


Anon7 - 2021