[ Avaa Bypassed ]




Upload:

Command:

www-data@18.216.248.35: ~ $
#!/usr/bin/perl
# index.cgi
# Display all existing databases

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

# Check for PostgreSQL program
if (!-x $config{'psql'} || -d $config{'psql'}) {
	&ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("postgresql", "man", "doc", "google"));
	print &text('index_esql', "<tt>$config{'psql'}</tt>",
		  "@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n";

	&foreign_require("software", "software-lib.pl");
	$lnk = &software::missing_install_link(
			"postgresql", $text{'index_postgresql'},
			"../$module_name/", $text{'index_title'});
	print $lnk,"<p>\n" if ($lnk);

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

# Check for alternate config file, and use
if (!$hba_conf_file && -r $config{'alt_hba_conf'} && &is_postgresql_local()) {
	($hba_conf_file) = split(/\t+/, $config{'hba_conf'});
	my $hba_conf_dir = $hba_conf_file;
	$hba_conf_dir =~ s/\/([^\/]+)$//;
	if (!-d $hba_conf_dir) {
		&make_dir($hba_conf_dir, 0777);
		}
	&copy_source_dest($config{'alt_hba_conf'}, $hba_conf_file);
	}

# Check for the config file
if (!$hba_conf_file && &is_postgresql_local()) {
	&ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("postgresql", "man", "doc", "google"));
	($hba_conf_file) = split(/\t+/, $config{'hba_conf'});
	if ($config{'setup_cmd'}) {
		# Offer to setup DB for first time
		print &text('index_setup', "<tt>$hba_conf_file</tt>",
				  "<tt>$config{'setup_cmd'}</tt>"),"<p>\n";
		print "<form action=setup.cgi><center>\n";
		print "<input type=submit value='$text{'index_setupok'}'>\n";
		print "</center></form><p>\n";
		}
	else {
		# Config file wasn't found
		print &text('index_ehba', "<tt>$hba_conf_file</tt>",
		    "@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n";
		}
	&ui_print_footer("/", $text{'index'});
	exit;
	}

($r, $rout) = &is_postgresql_running();
if ($r == 0) {
	# Not running .. need to start it
	&main_header(1);
	print "<b>$text{'index_notrun'}</b> <p>\n";

	if (&is_postgresql_local()) {
		print &ui_hr();
		print &ui_buttons_start();
		if ($access{'stop'}) {
			# Show start button
			print &ui_buttons_row("start.cgi", $text{'index_start'},
			      		      $text{'index_startmsg2'});
			}
		if ($access{'users'}) {
			print &ui_buttons_row("list_hosts.cgi",
					      $text{'host_title'},
					      &text('index_hostdesc'));
			}
		print &ui_buttons_end();
		}
	}
elsif ($r == -1 && $access{'user'} && 0) {
	# Running, but the user's password is wrong
	&main_header(1);
	print "<b>",&text('index_nouser', "<tt>$access{'user'}</tt>"),
	      "</b><p>\n";
	print &text('index_emsg', "<tt>$rout</tt>"),"<p>\n";
	}
elsif ($r == -1) {
	# Running, but webmin doesn't know the login/password
	&main_header(1);
	print "<b>$text{'index_nopass'}</b> <p>\n";

	print &ui_form_start("login.cgi", "post");
	print &ui_table_start($text{'index_ltitle'}, undef, 2);

	print &ui_table_row($text{'index_login'},
		&ui_textbox("login", $access{'user'} || $config{'login'}, 40));

	print &ui_table_row(" ",
		&ui_checkbox("sameunix", 1, $text{'index_sameunix'},
			     $config{'sameunix'}));

	print &ui_table_row($text{'index_pass'},
		&ui_password("pass", undef, 40));

	print &ui_table_end();
	print &ui_form_end([ [ undef, $text{'save'} ] ]);

	print &text('index_emsg', "<tt>$rout</tt>"),"<p>\n";

	# Button to edit user permissions
	if ($access{'users'}) {
		print &ui_form_start("list_hosts.cgi");
		print &ui_form_end([ [ undef, $text{'index_edithosts'} ] ]);
		}
	}
elsif ($r == -2) {
	# Looks like a shared library problem
	&main_header(1);
	print &text('index_elibrary', "<tt>$config{'psql'}</tt>",
		  "@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n";
	print &text('index_ldpath', "<tt>$ENV{$gconfig{'ld_env'}}</tt>",
		  "<tt>$config{'psql'}</tt>"),"<br>\n";
	print "<pre>",&html_escape($out),"</pre>\n";
	print &text('index_emsg', "<tt>$rout</tt>"),"<p>\n";
	}
else {
	# Running .. check version
	$postgresql_version = &get_postgresql_version();
	if (!$postgresql_version) {
		&main_header(1);
	        print &text('index_superuser',"@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n";
		&ui_print_footer("/", $text{'index'});
		exit;
		}
	if ($postgresql_version < 6.5) {
		&main_header(1);
		print &text('index_eversion', $postgresql_version, 6.5),
		      "<p>\n";
		&ui_print_footer("/", $text{'index'});
		exit;
		}

	# Check if we can re-direct to a single DB's page
	@alldbs = &list_databases();
	@titles = grep { &can_edit_db($_) } @alldbs;
	$can_all = (@alldbs == @titles);
	if (@titles == 1 && $access{'dbs'} ne '*' && !$access{'users'} &&
	    !$access{'create'} && !$access{'stop'}) {
		# Only one DB, so go direct to it!
		&redirect("edit_dbase.cgi?db=$titles[0]");
		exit;
		}

	&main_header();
	print &ui_subheading($text{'index_dbs'}) if ($access{'users'});
	if ($in{'search'}) {
		# Limit to those matching search
		@titles = grep { /\Q$in{'search'}\E/i } @titles;
		print "<table width=100%><tr>\n";
		print "<td> <b>",&text('index_showing',
		    "<tt>".&html_escape($in{'search'})."</tt>"),"</b></td>\n";
		print "<td align=right><a href='index.cgi'>",
			"$text{'view_searchreset'}</a></td>\n";
		print "</tr></table>\n";
		}
	elsif ($in{'show'}) {
		# Limit to specific databases
		%show = map { $_, 1 } split(/\0/, $in{'show'});
		@titles = grep { $show{$_} } @titles;
		}

	# List the databases
	@icons = map { "images/db.gif" } @titles;
	@links = map { "edit_dbase.cgi?db=$_" } @titles;
	$can_create = $access{'create'} == 1 ||
		      $access{'create'} == 2 && @titles < $access{'max'};

	@rowlinks = ( );
	push(@rowlinks, "<a href=newdb_form.cgi>$text{'index_add'}</a>")
		if ($can_create);
	if (!@icons) {
                if ($in{'search'}) {
                        print "<b>$text{'index_nodbs3'}</b> <p>\n";
                        }
		else {
			print "<b>$text{'index_nodbs'}</b> <p>\n";
			}
		}
	elsif (@icons > $max_dbs && !$in{'search'}) {
		# Too many databases to show .. display search and jump forms
		print &ui_form_start("index.cgi");
		print $text{'index_toomany'},"\n";
		print &ui_textbox("search", undef, 20),"\n";
		print &ui_submit($text{'index_search'}),"<br>\n";
		print &ui_form_end();

		print &ui_form_start("edit_dbase.cgi");
		print $text{'index_jump'},"\n";
		print &ui_select("db", undef, [ map { [ $_ ] } @titles ],
				 1, 0, 0, 0, "onChange='form.submit()'"),"\n";
		print &ui_submit($text{'index_jumpok'}),"<br>\n";
		print &ui_form_end();
		@icons = ( );
		}
	else {
		# Show databases as table
		if ($access{'delete'}) {
			print &ui_form_start("drop_dbases.cgi");
			unshift(@rowlinks, &select_all_link("d", 0),
					   &select_invert_link("d", 0) );
			}
		print &ui_links_row(\@rowlinks);
		@checks = @titles;
		if ($config{'style'} == 1) {
			# Show as DB names and table counts
			@tables = map { if (&accepting_connections($_)) {
						my @t = &list_tables($_);
						scalar(@t);
						}
					else {
						"-";
						}
					} @titles;
			@titles = map { &html_escape($_) } @titles;
			&split_table([ "", $text{'index_db'},
				       $text{'index_tables'} ],
				     \@checks, \@links, \@titles, \@tables)
				if (@titles);
			}
		elsif ($config{'style'} == 2) {
                        # Show just DB names
                        @grid = ( );
                        for(my $i=0; $i<@links; $i++) {
                                push(@grid, &ui_checkbox("d", $titles[$i]).
                                  " <a href='$links[$i]'>".
                                  &html_escape($titles[$i])."</a>");
                                }
                        print &ui_grid_table(\@grid, 4, 100, undef, undef, "");
			}
		else {
			# Show databases as icons
			@checks = map { &ui_checkbox("d", $_) } @checks;
			@titles = map { &html_escape($_) } @titles;
			&icons_table(\@links, \@titles, \@icons, 5,
				     undef, undef, undef, \@checks);
			}
		}
	print &ui_links_row(\@rowlinks);
	if (@icons && $access{'delete'}) {
		print &ui_form_end([ [ "delete", $text{'index_drops'} ] ]);
		}

	if ($access{'users'}) {
		print &ui_hr();
		print &ui_subheading($text{'index_users'});
		@links = ( 'list_users.cgi', 'list_groups.cgi',
			   'list_hosts.cgi', 'list_grants.cgi' );
		@titles = ( $text{'user_title'}, $text{'group_title'},
			    $text{'host_title'}, $text{'grant_title'} );
		@images = ( 'images/users.gif', 'images/groups.gif',
			    'images/hosts.gif', 'images/grants.gif' );
		&icons_table(\@links, \@titles, \@images);
		}
	}

print &ui_hr();
print &ui_buttons_start();

# Show stop server button
if ($access{'stop'} && &is_postgresql_local() && $r != 0) {
	print &ui_buttons_row("stop.cgi", $text{'index_stop'},
			      $text{'index_stopmsg'});
	}

if ($r > 0) {
	# Show backup all button
	if ($can_all && $access{'backup'}) {
		print &ui_buttons_row("backup_form.cgi", $text{'index_backup'},
				      $text{'index_backupmsg'},
				      &ui_hidden("all", 1));
		}
	}

print &ui_buttons_end();

# Check if the optional perl modules are installed
if (&foreign_available("cpan")) {
	eval "use DBI";
	push(@needs, "DBI") if ($@);
	$nodbi++ if ($@);
	eval "use DBD::Pg";
	push(@needs, "DBD::Pg") if ($@);
	if (@needs) {
		$needs = &urlize(join(" ", @needs));
		print "<b>".&ui_text_color(&text(@needs == 2 ? 'index_nomods' : 'index_nomod', @needs,
			"../cpan/download.cgi?source=3&cpan=$needs&mode=2&return=/$module_name/&returndesc=".
			    &urlize($text{'index_return'})), 'warn')."</b>";
		}
	}

&ui_print_footer("/", "index");

sub main_header
{
my ($noschemas) = @_;
my $smsg = "";
if (!$noschemas) {
	eval {
		local $main::error_must_die = 1;
		$smsg = supports_schemas($config{'basedb'}) ?
				" ".$text{'index_sch'} : "";
		};
	}
&ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1, 0,
	&help_search_link("postgresql", "man", "doc", "google"),
	undef, undef, $postgresql_version ?
	   &text('index_version', $postgresql_version).$smsg :
	   undef);
}


Filemanager

Name Type Size Permission Actions
help Folder 0755
images Folder 0755
lang Folder 0755
old Folder 0755
CHANGELOG File 5.45 KB 0644
acl_security.pl File 5.46 KB 0755
backup.cgi File 5.2 KB 0755
backup.pl File 1.95 KB 0755
backup_config.pl File 643 B 0755
backup_form.cgi File 4.74 KB 0755
cgi_args.pl File 993 B 0755
config File 501 B 0644
config-AlmaLinux-7.0-ALL File 530 B 0644
config-Amazon-Linux-2-ALL File 484 B 0644
config-CentOS-Linux-7.0-ALL File 530 B 0644
config-CentOS-Stream-Linux-8.0-ALL File 530 B 0644
config-CloudLinux-8.0-ALL File 530 B 0644
config-Oracle-Linux-8.0-ALL File 530 B 0644
config-Redhat-Enterprise-Linux-7.0-ALL File 484 B 0644
config-Rocky-Linux-7.0-ALL File 530 B 0644
config-Scientific-Linux-7.0-ALL File 484 B 0644
config-cobalt-linux File 435 B 0644
config-coherent-linux File 507 B 0644
config-debian-linux File 416 B 0644
config-debian-linux-10.0-ALL File 417 B 0644
config-debian-linux-4.0-9.0 File 425 B 0644
config-freebsd File 588 B 0644
config-freebsd-8-ALL File 580 B 0644
config-gentoo-linux File 429 B 0644
config-mandrake-linux File 435 B 0644
config-msc-linux File 441 B 0644
config-netbsd File 454 B 0644
config-openSUSE-Linux-15.0-ALL File 453 B 0644
config-openmamba-linux File 444 B 0644
config-pardus-linux File 431 B 0644
config-redhat-linux File 444 B 0644
config-redhat-linux-10.0-23.0 File 772 B 0644
config-redhat-linux-24.0-ALL File 500 B 0644
config-redhat-linux-7.0-7.2 File 493 B 0644
config-redhat-linux-7.3 File 507 B 0644
config-redhat-linux-7.4-9.0 File 507 B 0644
config-sol-linux File 462 B 0644
config-suse-linux File 448 B 0644
config-suse-linux-7.0 File 457 B 0644
config-suse-linux-7.1-9.0 File 459 B 0644
config-suse-linux-9.1-ALL File 459 B 0644
config-syno-linux File 454 B 0644
config-trustix-linux File 619 B 0644
config-united-linux File 459 B 0644
config-windows File 510 B 0644
config.info File 1.68 KB 0644
config.info.bg File 2.69 KB 0644
config.info.ca File 1.68 KB 0644
config.info.cs File 729 B 0644
config.info.de File 1.62 KB 0644
config.info.es File 559 B 0644
config.info.fr File 1.85 KB 0644
config.info.ja File 1.68 KB 0644
config.info.ko File 1.42 KB 0644
config.info.nl File 1.6 KB 0644
config.info.no File 1.56 KB 0644
config.info.pl File 521 B 0644
config.info.ru File 950 B 0644
config.info.sv File 459 B 0644
config.info.tr File 1.31 KB 0644
config.info.uk File 980 B 0644
config.info.zh File 328 B 0644
config.info.zh_TW File 426 B 0644
cpan_modules.pl File 86 B 0755
create_table.cgi File 1.18 KB 0755
csv.cgi File 2 KB 0755
csv_form.cgi File 1.68 KB 0755
defaultacl File 99 B 0644
delete_fields.cgi File 629 B 0755
delete_grants.cgi File 1.46 KB 0755
delete_groups.cgi File 548 B 0755
delete_hosts.cgi File 478 B 0755
delete_users.cgi File 442 B 0755
down.cgi File 602 B 0755
download.cgi File 1.07 KB 0755
drop_dbase.cgi File 1.19 KB 0755
drop_dbases.cgi File 1.25 KB 0755
drop_table.cgi File 1.1 KB 0755
drop_tables.cgi File 1.72 KB 0755
edit_dbase.cgi File 7.63 KB 0755
edit_field.cgi File 2.42 KB 0755
edit_grant.cgi File 2.69 KB 0755
edit_group.cgi File 1.84 KB 0755
edit_host.cgi File 4.04 KB 0755
edit_index.cgi File 2 KB 0755
edit_manual.cgi File 541 B 0755
edit_seq.cgi File 2.1 KB 0755
edit_table.cgi File 2.71 KB 0755
edit_user.cgi File 2.58 KB 0755
edit_view.cgi File 1.46 KB 0755
exec.cgi File 1.51 KB 0755
exec_file.cgi File 1.8 KB 0755
exec_form.cgi File 3.15 KB 0755
import.cgi File 2.4 KB 0755
index.cgi File 9.7 KB 0755
install_check.pl File 477 B 0755
list_grants.cgi File 3.41 KB 0755
list_groups.cgi File 1.36 KB 0755
list_hosts.cgi File 2.47 KB 0755
list_users.cgi File 1.96 KB 0755
log_parser.pl File 2.41 KB 0755
login.cgi File 829 B 0755
module.info File 191 B 0644
module.info.af File 0 B 0644
module.info.af.auto File 146 B 0644
module.info.ar File 0 B 0644
module.info.ar.auto File 224 B 0644
module.info.be File 0 B 0644
module.info.be.auto File 257 B 0644
module.info.bg File 0 B 0644
module.info.bg.auto File 243 B 0644
module.info.ca File 135 B 0644
module.info.ca.auto File 19 B 0644
module.info.cs File 0 B 0644
module.info.cs.auto File 156 B 0644
module.info.da File 0 B 0644
module.info.da.auto File 143 B 0644
module.info.de File 131 B 0644
module.info.de.auto File 19 B 0644
module.info.el File 0 B 0644
module.info.el.auto File 235 B 0644
module.info.es File 45 B 0644
module.info.es.auto File 121 B 0644
module.info.eu File 0 B 0644
module.info.eu.auto File 161 B 0644
module.info.fa File 0 B 0644
module.info.fa.auto File 222 B 0644
module.info.fi File 0 B 0644
module.info.fi.auto File 156 B 0644
module.info.fr File 48 B 0644
module.info.fr.auto File 143 B 0644
module.info.he File 0 B 0644
module.info.he.auto File 189 B 0644
module.info.hr File 0 B 0644
module.info.hr.auto File 180 B 0644
module.info.hu File 41 B 0644
module.info.hu.auto File 135 B 0644
module.info.it File 0 B 0644
module.info.it.auto File 141 B 0644
module.info.ja File 48 B 0644
module.info.ja.auto File 144 B 0644
module.info.ko File 45 B 0644
module.info.ko.auto File 141 B 0644
module.info.lt File 0 B 0644
module.info.lt.auto File 186 B 0644
module.info.lv File 0 B 0644
module.info.lv.auto File 158 B 0644
module.info.ms File 144 B 0644
module.info.ms.auto File 19 B 0644
module.info.mt File 0 B 0644
module.info.mt.auto File 156 B 0644
module.info.nl File 35 B 0644
module.info.nl.auto File 105 B 0644
module.info.no File 34 B 0644
module.info.no.auto File 107 B 0644
module.info.pl File 39 B 0644
module.info.pl.auto File 119 B 0644
module.info.pt File 0 B 0644
module.info.pt.auto File 169 B 0644
module.info.pt_BR File 0 B 0644
module.info.pt_BR.auto File 178 B 0644
module.info.ro File 0 B 0644
module.info.ro.auto File 173 B 0644
module.info.ru File 52 B 0644
module.info.ru.auto File 193 B 0644
module.info.sk File 0 B 0644
module.info.sk.auto File 161 B 0644
module.info.sl File 0 B 0644
module.info.sl.auto File 166 B 0644
module.info.sv File 33 B 0644
module.info.sv.auto File 109 B 0644
module.info.th File 0 B 0644
module.info.th.auto File 295 B 0644
module.info.tr File 0 B 0644
module.info.tr.auto File 168 B 0644
module.info.uk File 0 B 0644
module.info.uk.auto File 228 B 0644
module.info.ur File 0 B 0644
module.info.ur.auto File 252 B 0644
module.info.vi File 0 B 0644
module.info.vi.auto File 205 B 0644
module.info.zh File 38 B 0644
module.info.zh.auto File 102 B 0644
module.info.zh_TW File 40 B 0644
module.info.zh_TW.auto File 108 B 0644
newdb.cgi File 1.17 KB 0755
newdb_form.cgi File 1.33 KB 0755
postgresql-lib.pl File 34.79 KB 0755
prefs.info File 69 B 0644
restore.cgi File 1.71 KB 0755
restore_form.cgi File 1.42 KB 0755
save_field.cgi File 1.05 KB 0755
save_grant.cgi File 1.65 KB 0755
save_group.cgi File 2.67 KB 0755
save_host.cgi File 3.4 KB 0755
save_index.cgi File 1.45 KB 0755
save_manual.cgi File 330 B 0755
save_seq.cgi File 2.57 KB 0755
save_sync.cgi File 335 B 0755
save_user.cgi File 1.59 KB 0755
save_view.cgi File 1.37 KB 0755
search_form.cgi File 1.38 KB 0755
setup.cgi File 292 B 0755
start.cgi File 284 B 0755
stop.cgi File 278 B 0755
table_form.cgi File 1.9 KB 0755
up.cgi File 598 B 0755
useradmin_update.pl File 2.1 KB 0755
view-lib.pl File 3.56 KB 0755
view_table.cgi File 15.06 KB 0755