[ Avaa Bypassed ]




Upload:

Command:

www-data@18.224.202.121: ~ $
#!/usr/bin/perl
# autoreply.pl
# Simple autoreply script. Command line arguments are :
# autoreply-file username alternate-file

# Read sendmail module config
$ENV{'PATH'} = "/bin:/usr/bin:/sbin:/usr/sbin";
$p = -l $0 ? readlink($0) : $0;
$p =~ /^(.*)\/[^\/]+$/;
$moddir = $1;
%config = &read_config_file("$moddir/config");

# If this isn't the sendmail module, try it
if (!$config{'sendmail_path'} || !-x $config{'sendmail_path'}) {
	$moddir =~ s/([^\/]+)$/sendmail/;
	%config = &read_config_file("$moddir/config");
	}

if (!$config{'sendmail_path'} || !-x $config{'sendmail_path'}) {
	# Make some guesses about sendmail
	if (-x "/usr/sbin/sendmail") {
		%config = ( 'sendmail_path' => '/usr/sbin/sendmail' );
		}
	elsif (-x "/usr/local/sbin/sendmail") {
		%config = ( 'sendmail_path' => '/usr/local/sbin/sendmail' );
		}
	elsif (-x "/opt/csw/lib/sendmail") {
		%config = ( 'sendmail_path' => '/opt/csw/lib/sendmail' );
		}
	elsif (-x "/usr/lib/sendmail") {
		%config = ( 'sendmail_path' => '/usr/lib/sendmail' );
		}
	else {
		die "Failed to find sendmail or config file";
		}
	}

# read headers and body
$lnum = 0;
while(<STDIN>) {
	$headers .= $_;
	s/\r|\n//g;
	if (/^From\s+(\S+)/ && $lnum == 0) {
		# Magic From line
		$fromline = $1;
		}
	elsif (/^(\S+):\s+(.*)/) {
		$header{lc($1)} = $2;
		$lastheader = lc($1);
		}
	elsif (/^\s+(.*)/ && $lastheader) {
		$header{$lastheader} .= $_;
		}
	elsif (!$_) { last; }
	$lnum++;
	}
while(<STDIN>) {
	$body .= $_;
	}
if ($header{'x-webmin-autoreply'} ||
    $header{'auto-submitted'} && lc($header{'auto-submitted'}) ne 'no') {
	print STDERR "Cancelling autoreply to an autoreply\n";
	exit 0;
	}
if ($header{'x-spam-flag'} =~ /^Yes/i || $header{'x-spam-status'} =~ /^Yes/i) {
        print STDERR "Cancelling autoreply to message already marked as spam\n";
        exit 0;
        }
if ($header{'x-mailing-list'} ||
    $header{'list-id'} ||
    $header{'precedence'} =~ /junk|bulk|list/i ||
    $header{'to'} =~ /Multiple recipients of/i ||
    $header{'from'} =~ /majordomo/i ||
    $fromline =~ /majordomo/i) {
	# Do nothing if post is from a mailing list
	print STDERR "Cancelling autoreply to message from mailing list\n";
	exit 0;
	}
if ($header{'from'} =~ /postmaster|mailer-daemon/i ||
    $fromline =~ /postmaster|mailer-daemon|<>/ ) {
	# Do nothing if post is a bounce
	print STDERR "Cancelling autoreply to bounce message\n";
	exit 0;
	}

# work out the correct to address
@to = ( &split_addresses($header{'to'}),
	&split_addresses($header{'cc'}),
	&split_addresses($header{'bcc'}) );
$to = $to[0]->[0];
foreach $t (@to) {
	if ($t->[0] =~ /^([^\@\s]+)/ && $1 eq $ARGV[1] ||
	    $t->[0] eq $ARGV[1]) {
		$to = $t->[0];
		}
	}

# build list of default reply headers
$rheader{'From'} = $to;
$rheader{'To'} = $header{'reply-to'} ? $header{'reply-to'}
				     : $header{'from'};
$rheader{'Subject'} = "Autoreply to $header{'subject'}";
$rheader{'X-Webmin-Autoreply'} = 1;
$rheader{'X-Originally-To'} = $header{'to'};
chop($host = `hostname`);
$rheader{'Message-Id'} = "<".time().".".$$."\@".$host.">";
$rheader{'Auto-Submitted'} = 'auto-replied';

# read the autoreply file (or alternate)
if (open(AUTO, "<".$ARGV[0]) ||
    $ARGV[2] && open(AUTO, "<".$ARGV[2])) {
	while(<AUTO>) {
		s/\$SUBJECT/$header{'subject'}/g;
		s/\$FROM/$header{'from'}/g;
		s/\$TO/$to/g;
		s/\$DATE/$header{'date'}/g;
		s/\$BODY/$body/g;
		if (/^(\S+):\s*(.*)/ && !$doneheaders) {
			if ($1 eq "No-Autoreply-Regexp") {
				push(@no_regexp, $2);
				}
			elsif ($1 eq "Must-Autoreply-Regexp") {
				push(@must_regexp, $2);
				}
			elsif ($1 eq "Autoreply-File") {
				push(@files, $2);
				}
			else {
				$rheader{$1} = $2;
				$rheaders .= $_;
				}
			}
		else {
			$rbody .= $_;
			$doneheaders = 1;
			}
		}
	close(AUTO);
	}
else {
	$rbody = "Failed to open autoreply file $ARGV[0] : $!";
	}

if ($header{'x-original-to'} && $rheader{'No-Forward-Reply'}) {
	# Don't autoreply to a forwarded email
	($ot) = &split_addresses($header{'x-original-to'});
	if ($ot->[0] =~ /^([^\@\s]+)/ && $1 ne $ARGV[1] &&
	    $ot->[0] ne $ARGV[1]) {
		print STDERR "Cancelling autoreply to forwarded message\n";
		exit 0;
		}
	}

# Open the replies tracking DBM, if one was set
my $rtfile = $rheader{'Reply-Tracking'};
if ($rtfile) {
	$track_replies = dbmopen(%replies, $rtfile, 0700);
	eval { $replies{"test\@example.com"} = 1; };
	if ($@) {
		# DBM is corrupt! Clear it
		dbmclose(%replies);
		unlink($rtfile.".dir");
		unlink($rtfile.".pag");
		unlink($rtfile.".db");
		$track_replies = dbmopen(%replies, $rtfile, 0700);
		}
	}
if ($track_replies) {
	# See if we have replied to this address before
	$period = $rheader{'Reply-Period'} || 60*60;
	($from) = &split_addresses($header{'from'});
	if ($from) {
		$lasttime = $replies{$from->[0]};
		$now = time();
		if ($now < $lasttime+$period) {
			# Autoreplied already in this period .. just halt
			print STDERR "Already autoreplied at $lasttime which ",
				     "is less than $period ago\n";
			exit 0;
			}
		$replies{$from->[0]} = $now;
		}
	}
delete($rheader{'Reply-Tracking'});
delete($rheader{'Reply-Period'});

# Check if we are within the requested time range
if ($rheader{'Autoreply-Start'} && time() < $rheader{'Autoreply-Start'} ||
    $rheader{'Autoreply-End'} && time() > $rheader{'Autoreply-End'}) {
	# Nope .. so do nothing
	print STDERR "Outside of autoreply window of ",
		     "$rheader{'Autoreply-Start'}-$rheader{'Autoreply-End'}\n";
	exit 0;
	}
delete($rheader{'Autoreply-Start'});
delete($rheader{'Autoreply-End'});

# Check if there is a deny list, and if so don't send a reply
@fromsplit = &split_addresses($header{'from'});
if (@fromsplit) {
	$from = $fromsplit[0]->[0];
	($fromuser, $fromdom) = split(/\@/, $from);
	foreach $n (split(/\s+/, $rheader{'No-Autoreply'})) {
		if ($n =~ /^(\S+)\@(\S+)$/ && lc($from) eq lc($n) ||
		    $n =~ /^\*\@(\S+)$/ && lc($fromdom) eq lc($1) ||
		    $n =~ /^(\S+)\@\*$/ && lc($fromuser) eq lc($1) ||
		    $n =~ /^\*\@\*(\S+)$/ && lc($fromdom) =~ /$1$/i ||
		    $n =~ /^(\S+)\@\*(\S+)$/ && lc($fromuser) eq lc($1) &&
						lc($fromdom) =~ /$2$/i) {
			exit(0);
			}
		}
	delete($rheader{'No-Autoreply'});
	}

# Check if message matches one of the deny regexps, or doesn't match a
# required regexp
foreach $re (@no_regexp) {
	if ($re =~ /\S/ && $headers =~ /$re/i) {
		print STDERR "Skipping due to match on $re\n";
		exit(0);
		}
	}
if (@must_regexp) {
	my $found = 0;
	foreach $re (@must_regexp) {
		if ($headers =~ /$re/i) {
			$found++;
			}
		}
	if (!$found) {
		print STDERR "Skipping due to no match on ",
			     join(" ", @must_regexp),"\n";
		exit(0);
		}
	}

# if spamassassin is installed, feed the email to it
$spam = &has_command("spamassassin");
if ($spam) {
	$temp = "/tmp/autoreply.spam.$$";
	unlink($temp);
	open(SPAM, "| $spam >$temp 2>/dev/null");
	print SPAM $headers;
	print SPAM $body;
	close(SPAM);
	$isspam = undef;
	open(SPAMOUT, "<".$temp);
	while(<SPAMOUT>) {
		if (/^X-Spam-Status:\s+Yes/i) {
			$isspam = 1;
			last;
			}
		last if (!/\S/);
		}
	close(SPAMOUT);
	unlink($temp);
	if ($isspam) {
		print STDERR "Not autoreplying to spam\n";
		exit 0;
		}
	}

# Read attached files
foreach $f (@files) {
	local $/ = undef;
	if (!open(FILE, "<".$f)) {
		print STDERR "Failed to open $f : $!\n";
		exit(1);
		}
	$data = <FILE>;
	close(FILE);
	$f =~ s/^.*\///;
	$type = &guess_mime_type($f)."; name=\"$f\"";
	$disp = "inline; filename=\"$f\"";
	push(@attach, { 'headers' => [ [ 'Content-Type', $type ],
				       [ 'Content-Disposition', $disp ],
				       [ 'Content-Transfer-Encoding', 'base64' ]
				     ],
			'data' => $data });
	}

# Work out the content type and encoding
$type = $rbody =~ /<html[^>]*>|<body[^>]*>/i ? "text/html" : "text/plain";
$cs = $rheader{'Charset'};
delete($rheader{'Charset'});
if ($rbody =~ /[\177-\377]/) {
	# High-ascii
	$enc = "quoted-printable";
	$encrbody = &quoted_encode($rbody);
	$type .= "; charset=".($cs || "UTF-8");
	}
else {
	$enc = undef;
	$encrbody = $rbody;
	$type .= "; charset=$cs" if ($cs);
	}

# run sendmail and feed it the reply
($rfrom) = &split_addresses($rheader{'From'});
if ($rfrom->[0]) {
	open(MAIL, "|$config{'sendmail_path'} -t -f".quotemeta($rfrom->[0]));
	}
else {
	open(MAIL, "|$config{'sendmail_path'} -t -f".quotemeta($to));
	}
foreach $h (keys %rheader) {
	print MAIL "$h: $rheader{$h}\n";
	}

# Create the message body
if (!@attach) {
	# Just text, so no encoding is needed
	if ($enc) {
		print MAIL "Content-Transfer-Encoding: $enc\n";
		}
	if (!$rheader{'Content-Type'}) {
		print MAIL "Content-Type: $type\n";
		}
	print MAIL "\n";
	print MAIL $encrbody;
	}
else {
	# Need to send a multi-part MIME message
	print MAIL "MIME-Version: 1.0\n";
	$bound = "bound".time();
	$ctype = "multipart/mixed";
	print MAIL "Content-Type: $ctype; boundary=\"$bound\"\n";
	print MAIL "\n";
	$bodyattach = { 'headers' => [ [ 'Content-Type', $type ], ],
			'data' => $encrbody };
	if ($enc) {
		push(@{$bodyattach->{'headers'}},
		     [ 'Content-Transfer-Encoding', $enc ]);
		}
	splice(@attach, 0, 0, $bodyattach);

	# Send attachments
	print MAIL "This is a multi-part message in MIME format.","\n";
	$lnum++;
	foreach $a (@attach) {
		print MAIL "\n";
		print MAIL "--",$bound,"\n";
		local $enc;
		foreach $h (@{$a->{'headers'}}) {
			print MAIL $h->[0],": ",$h->[1],"\n";
			$enc = $h->[1]
				if (lc($h->[0]) eq 'content-transfer-encoding');
			$lnum++;
			}
		print MAIL "\n";
		$lnum++;
		if (lc($enc) eq 'base64') {
			local $enc = &encode_base64($a->{'data'});
			$enc =~ s/\r//g;
			print MAIL $enc;
			}
		else {
			$a->{'data'} =~ s/\r//g;
			$a->{'data'} =~ s/\n\.\n/\n\. \n/g;
			print MAIL $a->{'data'};
			if ($a->{'data'} !~ /\n$/) {
				print MAIL "\n";
				}
			}
		}
	print MAIL "\n";
	print MAIL "--",$bound,"--","\n";
	print MAIL "\n";
	}
close(MAIL);

# split_addresses(string)
# Splits a comma-separated list of addresses into [ email, real-name, original ]
# triplets
sub split_addresses
{
local (@rv, $str = $_[0]);
while(1) {
	if ($str =~ /^[\s,]*(([^<>\(\)"\s]+)\s+\(([^\(\)]+)\))(.*)$/) {
		# An address like  foo@bar.com (Fooey Bar)
		push(@rv, [ $2, $3, $1 ]);
		$str = $4;
		}
	elsif ($str =~ /^[\s,]*("([^"]+)"\s*<([^\s<>,]+)>)(.*)$/ ||
	       $str =~ /^[\s,]*(([^<>\@]+)\s+<([^\s<>,]+)>)(.*)$/ ||
	       $str =~ /^[\s,]*(([^<>\@]+)<([^\s<>,]+)>)(.*)$/ ||
	       $str =~ /^[\s,]*(([^<>\[\]]+)\s+\[mailto:([^\s\[\]]+)\])(.*)$/||
	       $str =~ /^[\s,]*(()<([^<>,]+)>)(.*)/ ||
	       $str =~ /^[\s,]*(()([^\s<>,]+))(.*)/) {
		# Addresses like  "Fooey Bar" <foo@bar.com>
		#                 Fooey Bar <foo@bar.com>
		#                 Fooey Bar<foo@bar.com>
		#		  Fooey Bar [mailto:foo@bar.com]
		#		  <foo@bar.com>
		#		  <group name>
		#		  foo@bar.com
		push(@rv, [ $3, $2 eq "," ? "" : $2, $1 ]);
		$str = $4;
		}
	else {
		last;
		}
	}
return @rv;
}

# encode_base64(string)
# Encodes a string into base64 format
sub encode_base64
{
    local $res;
    pos($_[0]) = 0;                          # ensure start at the beginning
    while ($_[0] =~ /(.{1,57})/gs) {
        $res .= substr(pack('u57', $1), 1)."\n";
        chop($res);
    }
    $res =~ tr|\` -_|AA-Za-z0-9+/|;
    local $padding = (3 - length($_[0]) % 3) % 3;
    $res =~ s/.{$padding}$/'=' x $padding/e if ($padding);
    return $res;
}

# guess_mime_type(filename)
sub guess_mime_type
{
local ($file) = @_;
return $file =~ /\.gif/i ? "image/gif" :
       $file =~ /\.(jpeg|jpg)/i ? "image/jpeg" :
       $file =~ /\.txt/i ? "text/plain" :
       $file =~ /\.(htm|html)/i ? "text/html" :
       $file =~ /\.doc/i ? "application/msword" :
       $file =~ /\.xls/i ? "application/vnd.ms-excel" :
       $file =~ /\.ppt/i ? "application/vnd.ms-powerpoint" :
       $file =~ /\.(mpg|mpeg)/i ? "video/mpeg" :
       $file =~ /\.avi/i ? "video/x-msvideo" :
       $file =~ /\.(mp2|mp3)/i ? "audio/mpeg" :
       $file =~ /\.wav/i ? "audio/x-wav" :
			   "application/octet-stream";
}

sub read_config_file
{
local %config;
if (open(CONF, "<".$_[0])) {
	while(<CONF>) {
		if (/^(\S+)=(.*)/) {
			$config{$1} = $2;
			}
		}
	close(CONF);
	}
return %config;
}

# quoted_encode(text)
# Encodes text to quoted-printable format
sub quoted_encode
{
local $t = $_[0];
$t =~ s/([=\177-\377])/sprintf("=%2.2X",ord($1))/ge;
return $t;
}

sub has_command
{
local ($cmd) = @_;
if ($cmd =~ /^\//) {
	return -x $cmd ? $cmd : undef;
	}
else {
	foreach my $d (split(":", $ENV{'PATH'}), "/usr/bin", "/usr/local/bin") {
		return "$d/$cmd" if (-x "$d/$cmd");
		}
	return undef;
	}
}

Filemanager

Name Type Size Permission Actions
help Folder 0755
images Folder 0755
lang Folder 0755
CHANGELOG File 4.2 KB 0644
access-lib.pl File 6.41 KB 0755
acl_security.pl File 9.7 KB 0755
aliases-lib.pl File 7.93 KB 0755
autoreply.pl File 12.19 KB 0755
backup_config.pl File 1.48 KB 0755
boxes-lib.pl File 80.37 KB 0755
build.cgi File 1.84 KB 0755
cgi_args.pl File 1.42 KB 0755
config-AlmaLinux-7.0-ALL File 685 B 0644
config-Amazon-Linux-2-ALL File 685 B 0644
config-CentOS-Linux-7.0-ALL File 685 B 0644
config-CentOS-Stream-Linux-8.0-ALL File 685 B 0644
config-CloudLinux-8.0-ALL File 685 B 0644
config-Oracle-Linux-8.0-ALL File 685 B 0644
config-Redhat-Enterprise-Linux-7.0-ALL File 685 B 0644
config-Rocky-Linux-7.0-ALL File 685 B 0644
config-Scientific-Linux-7.0-ALL File 685 B 0644
config-aix File 573 B 0644
config-cobalt-linux File 669 B 0644
config-coherent-linux File 661 B 0644
config-corel-linux File 528 B 0644
config-debian-linux File 607 B 0644
config-debian-linux-2.1-2.2 File 612 B 0644
config-debian-linux-3.0-ALL File 616 B 0644
config-freebsd File 654 B 0644
config-freebsd-4.0-ALL File 659 B 0644
config-generic-linux File 672 B 0644
config-gentoo-linux File 697 B 0644
config-hpux File 525 B 0644
config-irix File 668 B 0644
config-macos File 657 B 0644
config-macos-1.3-ALL File 662 B 0644
config-mandrake-linux File 678 B 0644
config-mandrake-linux-8.2 File 661 B 0644
config-mandrake-linux-9.0-ALL File 678 B 0644
config-msc-linux File 576 B 0644
config-netbsd File 639 B 0644
config-open-linux File 671 B 0644
config-open-linux-2.5 File 676 B 0644
config-open-linux-3.1e File 676 B 0644
config-openSUSE-Linux-15.0-ALL File 636 B 0644
config-openbsd File 640 B 0644
config-openserver File 572 B 0644
config-osf1 File 538 B 0644
config-redhat-linux File 654 B 0644
config-redhat-linux-10.0-23.0 File 685 B 0644
config-redhat-linux-24.0-ALL File 747 B 0644
config-redhat-linux-7.1-7.3 File 656 B 0644
config-redhat-linux-7.4-9.0 File 661 B 0644
config-slackware-linux File 523 B 0644
config-slackware-linux-8.0 File 672 B 0644
config-slackware-linux-8.1-ALL File 699 B 0644
config-sol-linux File 679 B 0644
config-solaris File 641 B 0644
config-solaris-10-ALL File 722 B 0644
config-solaris-7 File 730 B 0644
config-solaris-8-9 File 729 B 0644
config-suse-linux File 592 B 0644
config-suse-linux-8.2-ALL File 640 B 0644
config-turbo-linux File 654 B 0644
config-united-linux File 592 B 0644
config-unixware File 566 B 0644
config.info File 2.4 KB 0644
config.info.ca File 2.78 KB 0644
config.info.cs File 2.6 KB 0644
config.info.de File 2.79 KB 0644
config.info.es File 1.74 KB 0644
config.info.fr File 2.42 KB 0644
config.info.hu File 0 B 0644
config.info.nl File 2.72 KB 0644
config.info.no File 2.52 KB 0644
config.info.pl File 1.13 KB 0644
config.info.pt_BR File 2.85 KB 0644
config.info.ru File 2.45 KB 0644
config.info.sv File 1.06 KB 0644
config.info.tr File 1.09 KB 0644
config.info.uk File 2.48 KB 0644
config.info.zh File 970 B 0644
config.info.zh_TW File 1.04 KB 0644
create_file.cgi File 1.41 KB 0755
defaultacl File 286 B 0644
defines File 3.77 KB 0644
del_mailq.cgi File 1.31 KB 0755
del_mailqs.cgi File 2.82 KB 0755
delete_access.cgi File 782 B 0755
delete_aliases.cgi File 800 B 0755
delete_domains.cgi File 710 B 0755
delete_generics.cgi File 790 B 0755
delete_mailers.cgi File 713 B 0755
delete_virtusers.cgi File 799 B 0755
domain-lib.pl File 4.25 KB 0755
dontblames File 3.34 KB 0644
edit_access.cgi File 505 B 0755
edit_afile.cgi File 1.08 KB 0755
edit_alias.cgi File 470 B 0755
edit_domain.cgi File 433 B 0755
edit_feature.cgi File 2.98 KB 0755
edit_ffile.cgi File 2.05 KB 0755
edit_file.cgi File 2.26 KB 0755
edit_generic.cgi File 460 B 0755
edit_mailer.cgi File 435 B 0755
edit_rfile.cgi File 3.05 KB 0755
edit_virtuser.cgi File 473 B 0755
features-lib.pl File 4.25 KB 0755
feedback_files.pl File 397 B 0755
filter.pl File 1.99 KB 0755
flushq.cgi File 714 B 0755
generics-lib.pl File 4.52 KB 0755
index.cgi File 4.81 KB 0755
install_check.pl File 452 B 0755
list_access.cgi File 3.04 KB 0755
list_aliases.cgi File 3.48 KB 0755
list_cgs.cgi File 636 B 0755
list_cws.cgi File 706 B 0755
list_domains.cgi File 2.36 KB 0755
list_features.cgi File 2.97 KB 0755
list_generics.cgi File 3.83 KB 0755
list_mailers.cgi File 2.66 KB 0755
list_mailq.cgi File 3.54 KB 0755
list_masq.cgi File 1.15 KB 0755
list_opts.cgi File 4.91 KB 0755
list_ports.cgi File 2.2 KB 0755
list_relay.cgi File 938 B 0755
list_trusts.cgi File 646 B 0755
list_us File 1 B 0644
list_virtusers.cgi File 3.75 KB 0755
log_parser.pl File 1.73 KB 0755
mailers-lib.pl File 5.32 KB 0755
mailq_search.cgi File 996 B 0755
manual_features.cgi File 398 B 0755
module.info File 646 B 0644
module.info.af File 0 B 0644
module.info.af.auto File 129 B 0644
module.info.ar File 0 B 0644
module.info.ar.auto File 217 B 0644
module.info.be File 0 B 0644
module.info.be.auto File 218 B 0644
module.info.bg File 0 B 0644
module.info.bg.auto File 230 B 0644
module.info.ca File 144 B 0644
module.info.ca.auto File 24 B 0644
module.info.cs File 30 B 0644
module.info.cs.auto File 122 B 0644
module.info.da File 0 B 0644
module.info.da.auto File 137 B 0644
module.info.de File 130 B 0644
module.info.de.auto File 17 B 0644
module.info.el File 0 B 0644
module.info.el.auto File 296 B 0644
module.info.es File 35 B 0644
module.info.es.auto File 134 B 0644
module.info.eu File 0 B 0644
module.info.eu.auto File 150 B 0644
module.info.fa File 0 B 0644
module.info.fa.auto File 229 B 0644
module.info.fi File 0 B 0644
module.info.fi.auto File 164 B 0644
module.info.fr File 34 B 0644
module.info.fr.auto File 133 B 0644
module.info.he File 0 B 0644
module.info.he.auto File 173 B 0644
module.info.hr File 0 B 0644
module.info.hr.auto File 161 B 0644
module.info.hu File 37 B 0644
module.info.hu.auto File 129 B 0644
module.info.it File 0 B 0644
module.info.it.auto File 161 B 0644
module.info.ja File 27 B 0644
module.info.ja.auto File 143 B 0644
module.info.ko File 24 B 0644
module.info.ko.auto File 141 B 0644
module.info.lt File 0 B 0644
module.info.lt.auto File 173 B 0644
module.info.lv File 0 B 0644
module.info.lv.auto File 169 B 0644
module.info.ms File 127 B 0644
module.info.ms.auto File 21 B 0644
module.info.mt File 0 B 0644
module.info.mt.auto File 142 B 0644
module.info.nl File 30 B 0644
module.info.nl.auto File 108 B 0644
module.info.no File 31 B 0644
module.info.no.auto File 113 B 0644
module.info.pl File 31 B 0644
module.info.pl.auto File 122 B 0644
module.info.pt File 35 B 0644
module.info.pt.auto File 122 B 0644
module.info.pt_BR File 39 B 0644
module.info.pt_BR.auto File 128 B 0644
module.info.ro File 0 B 0644
module.info.ro.auto File 144 B 0644
module.info.ru File 42 B 0644
module.info.ru.auto File 214 B 0644
module.info.sk File 0 B 0644
module.info.sk.auto File 146 B 0644
module.info.sl File 0 B 0644
module.info.sl.auto File 153 B 0644
module.info.sv File 32 B 0644
module.info.sv.auto File 104 B 0644
module.info.th File 0 B 0644
module.info.th.auto File 294 B 0644
module.info.tr File 35 B 0644
module.info.tr.auto File 131 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 233 B 0644
module.info.vi File 0 B 0644
module.info.vi.auto File 156 B 0644
module.info.zh File 24 B 0644
module.info.zh.auto File 93 B 0644
module.info.zh_TW File 27 B 0644
module.info.zh_TW.auto File 99 B 0644
move.cgi File 559 B 0755
negativeacl File 8 B 0644
prefs.info File 147 B 0644
qdetach.cgi File 1.05 KB 0755
rbac-mapping File 186 B 0644
save_access.cgi File 1.98 KB 0755
save_afile.cgi File 580 B 0755
save_alias.cgi File 4.12 KB 0755
save_cgs.cgi File 640 B 0755
save_cws.cgi File 678 B 0755
save_domain.cgi File 1.37 KB 0755
save_feature.cgi File 2.32 KB 0755
save_ffile.cgi File 860 B 0755
save_file.cgi File 3.02 KB 0755
save_generic.cgi File 1.57 KB 0755
save_mailer.cgi File 1.83 KB 0755
save_masq.cgi File 1.2 KB 0755
save_opts.cgi File 3.29 KB 0755
save_ports.cgi File 2.47 KB 0755
save_relay.cgi File 710 B 0755
save_rfile.cgi File 1.25 KB 0755
save_trusts.cgi File 589 B 0755
save_virtuser.cgi File 2.81 KB 0755
sendmail-lib.pl File 17.76 KB 0755
start.cgi File 248 B 0755
stop.cgi File 276 B 0755
useradmin_update.pl File 1.43 KB 0755
view_mailq.cgi File 3.91 KB 0755
virtusers-lib.pl File 6.22 KB 0755