<?php require_once('globals.inc'); require_once('config.inc'); require_once('service-utils.inc'); require_once('filter.inc'); function clamsmtp_install_command() { global $g; $clamav_rundir = "{$g['varrun_path']}/clamav"; $pidfile = "$clamav_rundir/clamsmtpd.pid"; $rcfile = array(); $rcfile['file'] = 'clamsmtp.sh'; $rcfile['start'] = "mkdir -p $clamav_rundir\n\tchown proxy:proxy $clamav_rundir\n\tclamsmtpd"; $rcfile['stop'] = "kill `cat $pidfile`"; write_rcfile($rcfile); clamsmtp_resync(); } function clamsmtp_validate_input($post, $input_errors) { if (!is_ipaddr(trim($post['smtp_server']))) $input_errors[] = 'The field \'SMTP server\' must contain a valid IP address.'; $port = trim($post['smtp_port']); if (!is_numeric($port) || ($port < 0) || ($port > 65535)) $input_errors[] = 'The field \'SMTP server\' must contain a port ranging from 0 to 65535'; } function clamsmtp_resync() { global $g, $config; $avconf = $config['installedpackages']['clamav']['config'][0]; if ($avconf['scan_smtp'] == 'on') $outaddress = "{$avconf['smtp_server']}:{$avconf['smtp_port']}"; else $outaddress = '127.0.0.1:25'; $clamav_rundir = "{$g['varrun_path']}/clamav"; $clamsocket = "$clamav_rundir/clamd.socket"; $pidfile = "$clamav_rundir/clamsmtpd.pid"; $conf = <<<EOD Listen: 127.0.0.1:10025 OutAddress: $outaddress ClamAddress: $clamsocket User: proxy PidFile: $pidfile EOD; file_put_contents('/usr/local/etc/clamsmtpd.conf', $conf); restart_service('clamsmtp'); filter_configure(); } ?>