Private
Server IP : 195.201.23.43  /  Your IP : 3.17.156.160
Web Server : Apache
System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64
User : kdecoratie ( 1041)
PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/usermin/spam/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/share/usermin/spam/process.cgi
#!/usr/bin/perl
# process.cgi
# Delete, move or whitelist messages

require './spam-lib.pl';
&foreign_require("mailbox", "mailbox-lib.pl");
$folder = &spam_file_folder();
&disable_indexing($folder);
&ReadParse();

@delete = sort { $a <=> $b } split(/\0/, $in{'d'});
@mail = &mailbox::mailbox_list_mails_sorted($delete[0], $delete[@delete-1],
				     $folder);
foreach $d (@delete) {
	push(@delmail, $mail[$d]);
	}

if ($in{'inbox'} || $in{'whitelist'} || $in{'ham'}) {
	# Move mails to inbox
	@delete || &error($mailbox::text{'delete_emnone'});
	@folders = &mailbox::list_folders();
	($inbox) = grep { $_->{'inbox'} } @folders;
	if ($userconfig{'inbox'}) {
		$mfolder = &mailbox::find_named_folder(
				$userconfig{'inbox'}, \@folders);
		}
	$mfolder ||= $inbox;
	foreach $d (@delete) {
		push(@movemail, $mail[$d]);
		push(@addrs, map { $_->[0] } &mailbox::split_addresses($mail[$d]->{'header'}->{'from'}));
		}

	# Pass through spamassassin to remove headers, then add to Inbox
	&mailbox::lock_folder($mfolder);
	foreach $d (@movemail) {
		local $temp = &transname();
		&mailbox::send_mail($d, $temp);
		local $newmail = &mailbox::read_mail_file("$config{'spamassassin'} -d <$temp |");
		$newmail || &error($text{'process_eclean'});
		&mailbox::write_mail_folder($newmail, $mfolder);
		unlink($temp);
		}
	&mailbox::unlock_folder($mfolder);

	# Delete from spam folder
	&mailbox::lock_folder($folder);
	&mailbox::mailbox_delete_mail($folder, $mfolder, @movemail);
	&mailbox::unlock_folder($folder);
	}
if ($in{'whitelist'}) {
	# Add senders to whitelist
	foreach $d (@delete) {
		push(@addrs, map { $_->[0] } &mailbox::split_addresses($mail[$d]->{'header'}->{'from'}));
		}
	&lock_file($local_cf);
	$conf = &get_config();
	@from = map { @{$_->{'words'}} } &find("whitelist_from", $conf);
	%already = map { $_, 1 } @from;
	@newaddrs = grep { !$already{$_} } &unique(@addrs);
	push(@from, @newaddrs);
	&save_directives($conf, 'whitelist_from', \@from, 1);
	&flush_file_lines();
	&unlock_file($local_cf);
	}
if ($in{'ham'}) {
	# Report to spamassassin as ham
	local $temp = &transname();
	foreach $d (@delmail) {
		&mailbox::send_mail($d, $temp);
		local $out = `$config{'sa_learn'} --ham <$temp 2>&1`;
		unlink($temp);
		if ($? || $out =~ /failed/i) {
			&error(&text('process_ereport',
				     "<pre>$out</pre>"));
			}
		}
	}
if ($in{'delete'} || $in{'razor'}) {
	# Delete messages
	@delete || &error($mailbox::text{'delete_enone'});
	&mailbox::lock_folder($folder);
	&mailbox::mailbox_delete_mail($folder, @delmail);
	&mailbox::unlock_folder($folder);
	}
if ($in{'razor'}) {
	# Report to spamassassin as spam
	local $temp = &transname();
	foreach $d (@delmail) {
		&mailbox::send_mail($d, $temp);
		local $out = `$config{'spamassassin'} -r <$temp 2>&1`;
		unlink($temp);
		if ($? || $out =~ /failed/i) {
			&error(&text('process_ereport',
				     "<pre>$out</pre>"));
			}
		}
	}

&redirect("mail.cgi");

Private