123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- 'use strict';
- 'require form';
- 'require fs';
- 'require uci';
- 'require view';
- return view.extend({
- load: function() {
- },
- render: function() {
- let m, s, o;
- m = new form.Map('clamav-milter', _('ClamAV Milter'), _('Configuration'));
- // Section
- s = m.section(form.TypedSection, 'clamav-milter', _('Settings'));
- s.anonymous = true;
- s.addremove = false;
- // Advanced Tab
- s.tab('tab_advanced', _('Settings'));
- // clamav_milter_config_file
- o = s.taboption('tab_advanced', form.Value, 'clamav_milter_config_file', _('clamav-milter config file'));
- o.datatype = 'string';
- o.value('/etc/clamav/clamav-milter.conf');
- o.placeholder = '/etc/clamav/clamav-milter.conf';
- // Foreground
- o = s.taboption('tab_advanced', form.ListValue, 'Foreground', _('Run in foreground'));
- o.value('false', _('No'));
- o.value('true', _('Yes'));
- o.placeholder = 'false';
- // PidFile
- o = s.taboption('tab_advanced', form.Value, 'PidFile', _('PID file'));
- o.datatype = 'string';
- o.value('/var/run/clamav/clamav-milter.pid');
- o.placeholder = '/var/run/clamav/clamav-milter.pid';
- // User
- o = s.taboption('tab_advanced', form.Value, 'User', _('User'));
- o.datatype = 'string';
- o.value('nobody');
- o.placeholder = 'nobody';
- // MilterSocketGroup
- o = s.taboption('tab_advanced', form.Value, 'MilterSocketGroup', _('Milter socket group'));
- o.datatype = 'string';
- o.value('nogroup');
- o.placeholder = 'nogroup';
- // ReadTimeout
- o = s.taboption('tab_advanced', form.Value, 'ReadTimeout', _('Read timeout'));
- o.value('120');
- // OnClean
- o = s.taboption('tab_advanced', form.ListValue, 'OnClean', _('On-clean action'));
- o.value('Accept', _('Accept'));
- o.value('Reject', _('Reject'));
- o.value('Defer', _('Defer'));
- o.value('Blackhole', _('Blackhole'));
- o.value('Quarantine', _('Quarantine'));
- // OnInfected
- o = s.taboption('tab_advanced', form.ListValue, 'OnInfected', _('On-infected action'));
- o.value('Accept', _('Accept'));
- o.value('Reject', _('Reject'));
- o.value('Defer', _('Defer'));
- o.value('Blackhole', _('Blackhole'));
- o.value('Quarantine', _('Quarantine'));
- // OnFail
- o = s.taboption('tab_advanced', form.ListValue, 'OnFail', _('On-fail action'));
- o.value('Accept', _('Accept'));
- o.value('Reject', _('Reject'));
- o.value('Defer', _('Defer'));
- // AddHeader
- o = s.taboption('tab_advanced', form.ListValue, 'AddHeader', _('Add header'));
- o.value('Replace', _('Replace'));
- o.value('Yes', _('Yes'));
- /*
- // LogFile
- o = s.taboption('tab_advanced', form.Value, 'LogFile', _('Logfile'));
- o.value('/tmp/clamav-milter.log');
- o.placeholder = '/tmp/clamav-milter.log';
- // LogFileUnlock
- o = s.taboption('tab_advanced', form.ListValue, 'LogFileUnlock', _('Unlock logfile'));
- o.value('false', _('No'));
- o.value('true', _('Yes'));
- // LogFileMaxSize
- o = s.taboption('tab_advanced', form.Value, 'LogFileMaxSize', _('Max size of log file'));
- o.value('512K', _('512K'));
- o.value('1M', _('1M'));
- o.value('2M', _('2M'));
- */
- // LogTime
- o = s.taboption('tab_advanced', form.ListValue, 'LogTime', _('Log time with each message'));
- o.value('false', _('No'));
- o.value('true', _('Yes'));
- // LogVerbose
- o = s.taboption('tab_advanced', form.ListValue, 'LogVerbose', _('Enable verbose logging'));
- o.value('false', _('No'));
- o.value('true', _('Yes'));
- // Debug
- o = s.taboption('tab_advanced', form.ListValue, 'Debug', _('Debug logging'));
- o.value('false', _('No'));
- o.value('true', _('Yes'));
- o.placeholder = 'true';
- // LogSyslog
- o = s.taboption('tab_advanced', form.ListValue, 'LogSyslog', _('Log to syslog'));
- o.value('false', _('No'));
- o.value('true', _('Yes'));
- o.placeholder = 'true';
- // LogFacility
- o = s.taboption('tab_advanced', form.ListValue, 'LogFacility', _('Syslog facility'));
- o.value('LOG_KERN');
- o.value('LOG_USER');
- o.value('LOG_MAIL');
- o.value('LOG_DAEMON');
- o.value('LOG_AUTH');
- o.value('LOG_LPR');
- o.value('LOG_NEWS');
- o.value('LOG_UUCP');
- o.value('LOG_CRON');
- o.value('LOG_LOCAL0');
- o.value('LOG_LOCAL1');
- o.value('LOG_LOCAL2');
- o.value('LOG_LOCAL3');
- o.value('LOG_LOCAL4');
- o.value('LOG_LOCAL5');
- o.value('LOG_LOCAL6');
- o.value('LOG_LOCAL7');
- // cannot do o.depends - it removes the option if dep condition is not met, thereby causing a startup error
- // o.depends('LogSyslog', 'true');
- // LogInfected
- o = s.taboption('tab_advanced', form.ListValue, 'LogInfected', _('Log infections'));
- o.value('Off', _('Off'));
- o.value('Basic', _('Basic'));
- o.value('Full', _('Full'));
- // LogClean
- o = s.taboption('tab_advanced', form.ListValue, 'LogClean', _('Log clean'));
- o.value('Off', _('Off'));
- o.value('Basic', _('Basic'));
- o.value('Full', _('Full'));
- // MaxFileSize
- o = s.taboption('tab_advanced', form.Value, 'MaxFileSize', _('Max size of scanned file'));
- o.datatype = 'string';
- o.value('512K', _('512K'));
- o.value('1M', _('1M'));
- o.value('2M', _('2M'));
- o.value('25M', _('25M'));
- o.value('50M', _('50M'));
- o.placeholder = '25M';
- // SupportMultipleRecipients
- o = s.taboption('tab_advanced', form.ListValue, 'SupportMultipleRecipients', _('Support multiple recipients'));
- o.value('false', _('No'));
- o.value('true', _('Yes'));
- // RejectMsg
- o = s.taboption('tab_advanced', form.TextValue, 'RejectMsg', _('Rejection log message'));
- o.wrap = 'off';
- o.rows = 3;
- o.monospace = true;
- o.editable = true;
- o.placeholder = _('Rejecting Harmful Email: %v found.')
- // TemporaryDirectory
- o = s.taboption('tab_advanced', form.Value, 'TemporaryDirectory', _('Temporary directory'));
- o.datatype = 'string';
- o.value('/tmp');
- o.placeholder = '/tmp';
- // MilterSocket
- o = s.taboption('tab_advanced', form.Value, 'MilterSocket', _('Local socket'));
- o.datatype = 'string';
- o.value('unix:/var/run/clamav/clamav-milter.sock');
- o.placeholder = 'unix:/var/run/clamav/clamav-milter.sock';
- // MilterSocketMode
- o = s.taboption('tab_advanced', form.Value, 'MilterSocketMode', _('Local socket'));
- o.datatype = 'string';
- o.value('666');
- o.placeholder = '666';
- // ClamdSocket
- o = s.taboption('tab_advanced', form.Value, 'ClamdSocket', _('clamd socket'));
- o.datatype = 'string';
- o.value('tcp:127.0.0.1:3310');
- o.placeholder = 'tcp:127.0.0.1:3310';
- // FixStaleSocket
- o = s.taboption('tab_advanced', form.ListValue, 'FixStaleSocket', _('Fix stale socket'));
- o.value('false', _('No'));
- o.value('true', _('Yes'));
- return m.render();
- },
- });
|