[ Avaa Bypassed ]




Upload:

Command:

www-data@18.188.66.142: ~ $
#!/usr/bin/perl
# edit_serv.cgi
# Edit or create a webmin server

use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
require './servers-lib.pl';
our (%text, %in, %config, %access, $status_error_msg);
&ReadParse();
$access{'edit'} || &error($text{'edit_ecannot'});

my $s;
if ($in{'new'}) {
	&ui_print_header(undef, $text{'create_title'}, "");
	my %miniserv;
	&get_miniserv_config(\%miniserv);
	my $ts = &this_server();
	$s = { 'port' => $miniserv{'port'},
	       'type' => $config{'auto_type'} || $ts->{'type'}, };
	}
else {
	&ui_print_header(undef, $text{'edit_title'}, "");
	$s = &get_server($in{'id'});
	&can_use_server($s) || &error($text{'edit_ecannot'});
	}

print &ui_form_start("save_serv.cgi");
print &ui_hidden("new", $in{'new'});
print &ui_hidden("id", $in{'id'});
print &ui_table_start($text{'edit_details'}, undef, 2);

print &ui_table_row($text{'edit_host'},
		    &ui_textbox("host", $s->{'host'}, 60));

if ($in{'new'} || $s->{'port'}) {
	print &ui_table_row($text{'edit_port'},
			    &ui_textbox("port", $s->{'port'}, 5));
	}
else {
	print &ui_table_row($text{'edit_port'},
			    &ui_opt_textbox("port", $s->{'port'}, 5,
					    $text{'edit_portnone'}));
	}

if ($s->{'realhost'}) {
	print &ui_table_row($text{'edit_realhost'},
			    "<tt>$s->{'realhost'}</tt>");
	}

if ($access{'forcetype'}) {
	print &ui_hidden("type", $s->{'type'});
	}
else {
	print &ui_table_row($text{'edit_type'},
	    &ui_select("type", $s->{'type'},
		[ map { [ $_->[0], $_->[1] ] }
		      sort { $a->[1] cmp $b->[1] } &get_server_types() ]));
	}

print &ui_table_row($text{'edit_ssl'},
		    &ui_yesno_radio("ssl", int($s->{'ssl'}))."<br>\n".
		    &ui_checkbox("checkssl", 1, $text{'edit_checkssl'},
				 $s->{'checkssl'}));

print &ui_table_row($text{'edit_desc'},
    $config{'show_ip'} ?
	&ui_textbox("desc", $s->{'desc'}, 40, 0, 40) :
	&ui_opt_textbox("desc", $s->{'desc'}, 40, $text{'edit_desc_def'}));

if ($access{'forcegroup'}) {
	# Cannot change group
	foreach my $g (split(/\t/, $s->{'group'})) {
		print &ui_hidden("group", $g),"\n";
		}
	}
else {
	# Show group checkboxes, with option to add a new one
	my @groups = &unique(map { split(/\t/, $_->{'group'}) }
				 &list_servers());
	my %ingroups = map { $_, 1 } split(/\t/, $s->{'group'});
	my @grid = ( );
	foreach my $g (@groups) {
		push(@grid, &ui_checkbox("group", $g, $g, $ingroups{$g}));
		}
	my $gtable = &ui_grid_table(\@grid, 4);
	$gtable .= $text{'edit_new'}." ".&ui_textbox("newgroup", undef, 10);
	print &ui_table_row($text{'edit_group'}, $gtable, 3);
	}

my $mode = $in{'new'} ? $config{'deflink'} :
	$s->{'autouser'} ? 2 :
	$s->{'sameuser'} ? 3 : $s->{'user'} ? 1 : 0;
if ($access{'forcelink'}) {
	print &ui_hidden("mode", $mode),"\n";
	if ($mode == 1) {
		print &ui_table_row($text{'edit_luser'},
				    &ui_textbox("wuser", $s->{'user'}, 10));
		print &ui_table_row($text{'edit_lpass'},
				    &ui_password("wpass", $s->{'pass'}, 10));
		}
	}
else {
	# Login mode
	my $linksel = &ui_radio("mode", $mode,
		[ [ 0, "$text{'edit_mode0'}<br>" ],
		  [ 1, $text{'edit_mode1'}." ".$text{'edit_user'}." ".
		       &ui_textbox("wuser", $mode == 1 ? $s->{'user'} : "", 10).
		       " ".$text{'edit_pass'}.
		       &ui_password("wpass", $s->{'pass'}, 10)."<br>" ],
		  [ 2, "$text{'edit_mode2'}<br>" ],
		  ($access{'pass'} && !$main::session_id || $mode == 3 ?
		    ( [ 3, "$text{'edit_mode3'}<br>".
			   (defined($main::remote_pass) ? "" :
			    "<font size=-1>($text{'edit_same'})</font><br>") ] )
		    : ( ) ) ]);
	print &ui_table_row($text{'edit_link'}, $linksel);
	}

if ($access{'forcefast'}) {
	# Don't allow choosing of fast mode
	print &ui_hidden("fast", $in{'new'} ? $config{'deffast'}
					    : $s->{'fast'});
	}
else {
	if ($in{'new'} || $s->{'fast'} == 2) {
		print &ui_table_row($text{'edit_fast'},
			&ui_radio("fast", $config{'deffast'},
				[ [ 1, $text{'yes'} ],
				  [ 2, $text{'edit_auto'} ],
				  [ 0, $text{'no'} ] ]));
		}
	else {
		print &ui_table_row($text{'edit_fast'},
			&ui_radio("fast", int($s->{'fast'}),
				[ [ 1, $text{'yes'} ],
				  [ 0, $text{'no'} ] ]));
		}
	}

if ($s->{'user'} && $config{'show_status'}) {
	sub status_error
	{
	$status_error_msg = join("", @_);
	}
	my $msg;
	&remote_error_setup(\&status_error);
	eval {
		$SIG{'ALRM'} = sub { die "alarm\n" };
		alarm(10);
		&remote_foreign_require($s, "webmin","webmin-lib.pl");
		if ($status_error_msg) {
			# Failed to connect
			$msg = $status_error_msg;
			}
		else {
			# Connected - get status
			$msg = &text('edit_version',
				&remote_foreign_call($s, "webmin",
						     "get_webmin_version"));
			}
		alarm(0);
		};
	if ($@) {
		$msg = $text{'edit_timeout'};
		}

	print &ui_table_row($text{'edit_status'}, $msg, 3);
	}
print &ui_table_end();
print &ui_form_end([
	[ "save", $text{'save'} ],
	$in{'new'} ? ( ) : ( [ 'delete', $text{'delete'} ] ) ]);

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


Filemanager

Name Type Size Permission Actions
images Folder 0755
lang Folder 0755
CHANGELOG File 1.63 KB 0644
acl_security.pl File 2.46 KB 0755
auto.pl File 2.9 KB 0755
backup_config.pl File 678 B 0755
cgi_args.pl File 313 B 0755
config File 140 B 0644
config-debian-linux File 174 B 0644
config-redhat-linux File 180 B 0644
config-syno-linux File 140 B 0644
config.info File 977 B 0644
config.info.ar File 1.5 KB 0644
config.info.ca File 1.17 KB 0644
config.info.cs File 421 B 0644
config.info.de File 1.14 KB 0644
config.info.es File 481 B 0644
config.info.fr File 489 B 0644
config.info.hu File 147 B 0644
config.info.it File 1.03 KB 0644
config.info.ja File 1.21 KB 0644
config.info.ko File 983 B 0644
config.info.ms File 934 B 0644
config.info.nl File 979 B 0644
config.info.no File 925 B 0644
config.info.pl File 1.02 KB 0644
config.info.pt_BR File 460 B 0644
config.info.ru File 1.48 KB 0644
config.info.sk File 445 B 0644
config.info.sv File 99 B 0644
config.info.tr File 487 B 0644
config.info.zh File 81 B 0644
config.info.zh_TW File 60 B 0644
config_info.pl File 264 B 0755
defaultacl File 88 B 0644
delete_servs.cgi File 836 B 0755
edit_auto.cgi File 2.32 KB 0755
edit_serv.cgi File 4.8 KB 0755
find.cgi File 1.46 KB 0755
index-json.cgi File 266 B 0755
index.cgi File 5.76 KB 0755
link.cgi File 7 KB 0755
log_parser.pl File 843 B 0755
login.cgi File 441 B 0755
logout.cgi File 340 B 0755
module.info File 178 B 0644
module.info.af File 0 B 0644
module.info.af.auto File 124 B 0644
module.info.ar File 133 B 0644
module.info.ar.auto File 23 B 0644
module.info.be File 0 B 0644
module.info.be.auto File 189 B 0644
module.info.bg File 0 B 0644
module.info.bg.auto File 190 B 0644
module.info.ca File 120 B 0644
module.info.ca.auto File 18 B 0644
module.info.cs File 31 B 0644
module.info.cs.auto File 92 B 0644
module.info.da File 0 B 0644
module.info.da.auto File 119 B 0644
module.info.de File 117 B 0644
module.info.de.auto File 15 B 0644
module.info.el File 0 B 0644
module.info.el.auto File 194 B 0644
module.info.es File 37 B 0644
module.info.es.auto File 109 B 0644
module.info.eu File 0 B 0644
module.info.eu.auto File 141 B 0644
module.info.fa File 0 B 0644
module.info.fa.auto File 193 B 0644
module.info.fi File 0 B 0644
module.info.fi.auto File 145 B 0644
module.info.fr File 34 B 0644
module.info.fr.auto File 102 B 0644
module.info.he File 0 B 0644
module.info.he.auto File 141 B 0644
module.info.hr File 0 B 0644
module.info.hr.auto File 141 B 0644
module.info.hu File 25 B 0644
module.info.hu.auto File 109 B 0644
module.info.it File 33 B 0644
module.info.it.auto File 99 B 0644
module.info.ja File 141 B 0644
module.info.ko File 32 B 0644
module.info.ko.auto File 109 B 0644
module.info.lt File 0 B 0644
module.info.lt.auto File 151 B 0644
module.info.lv File 0 B 0644
module.info.lv.auto File 131 B 0644
module.info.ms File 110 B 0644
module.info.ms.auto File 16 B 0644
module.info.mt File 0 B 0644
module.info.mt.auto File 127 B 0644
module.info.nl File 29 B 0644
module.info.nl.auto File 97 B 0644
module.info.no File 23 B 0644
module.info.no.auto File 89 B 0644
module.info.pl File 24 B 0644
module.info.pl.auto File 95 B 0644
module.info.pt File 36 B 0644
module.info.pt.auto File 107 B 0644
module.info.pt_BR File 40 B 0644
module.info.pt_BR.auto File 113 B 0644
module.info.ro File 0 B 0644
module.info.ro.auto File 125 B 0644
module.info.ru File 30 B 0644
module.info.ru.auto File 152 B 0644
module.info.sk File 31 B 0644
module.info.sk.auto File 91 B 0644
module.info.sl File 0 B 0644
module.info.sl.auto File 133 B 0644
module.info.sv File 27 B 0644
module.info.sv.auto File 93 B 0644
module.info.th File 0 B 0644
module.info.th.auto File 285 B 0644
module.info.tr File 36 B 0644
module.info.tr.auto File 111 B 0644
module.info.uk File 0 B 0644
module.info.uk.auto File 192 B 0644
module.info.ur File 0 B 0644
module.info.ur.auto File 188 B 0644
module.info.vi File 0 B 0644
module.info.vi.auto File 163 B 0644
module.info.zh File 30 B 0644
module.info.zh.auto File 85 B 0644
module.info.zh_TW File 34 B 0644
module.info.zh_TW.auto File 91 B 0644
prefs.info File 63 B 0644
save_auto.cgi File 2.34 KB 0755
save_serv.cgi File 3.31 KB 0755
servers-lib.pl File 15.04 KB 0755
uninstall.pl File 262 B 0755