mbox

guardian 2.0: suggested cosmetic changes

Message ID 20160923143304.30134-1-matthias.fischer@ipfire.org
State Accepted
Commit c5f633c91712e4e1f5bb68633f4d55f030aed8a6
Headers

Message

Matthias Fischer Sept. 24, 2016, 12:33 a.m. UTC
  I did the following:

- Rearranged the fields on 'guardian.cgi' a bit - in a (hopefully) logical manner,
  so that they don't need so much room.
- Added some translation-strings and explanations to (revised) 'guardian.cgi'.
- Added missing language string(s), deleted obsolete.
- Deleted all guardian entries from standard language files in
  '/var/ipfire/langs'-directory.
- Added (upgraded) addon-specific language files to '/var/ipfire/addon-lang'-directory.

I hope, I didn't forget something...

Best,
Matthias

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
---
 config/guardian/guardian.de.pl | 45 ++++++++++++++++++++++++
 config/guardian/guardian.en.pl | 45 ++++++++++++++++++++++++
 config/guardian/guardian.es.pl | 23 ++++++++++++
 config/guardian/guardian.fr.pl | 23 ++++++++++++
 config/guardian/guardian.it.pl | 24 +++++++++++++
 config/guardian/guardian.nl.pl | 23 ++++++++++++
 config/guardian/guardian.pl.pl | 23 ++++++++++++
 config/guardian/guardian.ru.pl | 24 +++++++++++++
 config/guardian/guardian.tr.pl | 24 +++++++++++++
 html/cgi-bin/guardian.cgi      | 80 +++++++++++++++++++++++-------------------
 langs/de/cgi-bin/de.pl         | 24 -------------
 langs/en/cgi-bin/en.pl         | 26 --------------
 langs/es/cgi-bin/es.pl         |  6 ----
 langs/fr/cgi-bin/fr.pl         |  6 ----
 langs/it/cgi-bin/it.pl         |  7 ----
 langs/nl/cgi-bin/nl.pl         |  6 ----
 langs/pl/cgi-bin/pl.pl         |  6 ----
 langs/ru/cgi-bin/ru.pl         |  6 ----
 langs/tr/cgi-bin/tr.pl         |  6 ----
 lfs/guardian                   |  9 +++--
 20 files changed, 304 insertions(+), 132 deletions(-)
 create mode 100644 config/guardian/guardian.de.pl
 create mode 100644 config/guardian/guardian.en.pl
 create mode 100644 config/guardian/guardian.es.pl
 create mode 100644 config/guardian/guardian.fr.pl
 create mode 100644 config/guardian/guardian.it.pl
 create mode 100644 config/guardian/guardian.nl.pl
 create mode 100644 config/guardian/guardian.pl.pl
 create mode 100644 config/guardian/guardian.ru.pl
 create mode 100644 config/guardian/guardian.tr.pl
  

Comments

Michael Tremer Sept. 24, 2016, 9:20 p.m. UTC | #1
Hi,

I will wait until Stefan comments on this before I merge it.

This looks really good.

-Michael

On Fri, 2016-09-23 at 16:33 +0200, Matthias Fischer wrote:
> I did the following:
> 
> - Rearranged the fields on 'guardian.cgi' a bit - in a (hopefully) logical
> manner,
>   so that they don't need so much room.
> - Added some translation-strings and explanations to (revised) 'guardian.cgi'.
> - Added missing language string(s), deleted obsolete.
> - Deleted all guardian entries from standard language files in
>   '/var/ipfire/langs'-directory.
> - Added (upgraded) addon-specific language files to '/var/ipfire/addon-lang'-
> directory.
> 
> I hope, I didn't forget something...
> 
> Best,
> Matthias
> 
> Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
> ---
>  config/guardian/guardian.de.pl | 45 ++++++++++++++++++++++++
>  config/guardian/guardian.en.pl | 45 ++++++++++++++++++++++++
>  config/guardian/guardian.es.pl | 23 ++++++++++++
>  config/guardian/guardian.fr.pl | 23 ++++++++++++
>  config/guardian/guardian.it.pl | 24 +++++++++++++
>  config/guardian/guardian.nl.pl | 23 ++++++++++++
>  config/guardian/guardian.pl.pl | 23 ++++++++++++
>  config/guardian/guardian.ru.pl | 24 +++++++++++++
>  config/guardian/guardian.tr.pl | 24 +++++++++++++
>  html/cgi-bin/guardian.cgi      | 80 +++++++++++++++++++++++----------------
> ---
>  langs/de/cgi-bin/de.pl         | 24 -------------
>  langs/en/cgi-bin/en.pl         | 26 --------------
>  langs/es/cgi-bin/es.pl         |  6 ----
>  langs/fr/cgi-bin/fr.pl         |  6 ----
>  langs/it/cgi-bin/it.pl         |  7 ----
>  langs/nl/cgi-bin/nl.pl         |  6 ----
>  langs/pl/cgi-bin/pl.pl         |  6 ----
>  langs/ru/cgi-bin/ru.pl         |  6 ----
>  langs/tr/cgi-bin/tr.pl         |  6 ----
>  lfs/guardian                   |  9 +++--
>  20 files changed, 304 insertions(+), 132 deletions(-)
>  create mode 100644 config/guardian/guardian.de.pl
>  create mode 100644 config/guardian/guardian.en.pl
>  create mode 100644 config/guardian/guardian.es.pl
>  create mode 100644 config/guardian/guardian.fr.pl
>  create mode 100644 config/guardian/guardian.it.pl
>  create mode 100644 config/guardian/guardian.nl.pl
>  create mode 100644 config/guardian/guardian.pl.pl
>  create mode 100644 config/guardian/guardian.ru.pl
>  create mode 100644 config/guardian/guardian.tr.pl
> 
> diff --git a/config/guardian/guardian.de.pl b/config/guardian/guardian.de.pl
> new file mode 100644
> index 0000000..344d045
> --- /dev/null
> +++ b/config/guardian/guardian.de.pl
> @@ -0,0 +1,45 @@
> +%tr = ( 
> +%tr,
> +
> +'guardian' => 'Guardian',
> +'guardian block a host' => 'Host blocken',
> +'guardian block httpd brute-force' => 'httpd-Brute-Force-Erkennung',
> +'guardian block owncloud brute-force' => 'Owncloud-Brute-Force-Erkennung',
> +'guardian block ssh brute-force' => 'SSH-Brute-Force-Erkennung',
> +'guardian blockcount' => 'Trefferschwelle (Snort)',
> +'guardian blocked hosts' => 'Aktuell geblockte Hosts',
> +'guardian blocking of this address is not allowed' => 'Diese Addresse darf
> nicht geblockt werden.',
> +'guardian blocktime' => 'Blockzeit (Sekunden)',
> +'guardian common settings' => 'Allgemeine Einstellungen',
> +'guardian configuration' => 'Guardian-Konfiguration',
> +'guardian daemon' => 'Daemon',
> +'guardian empty input' => 'Fehlende Angabe: Bitte geben Sie einen gültigen
> Host oder ein gültiges Netzwerk an.',
> +'guardian enabled' => 'Guardian aktivieren',
> +'guardian firewallaction' => 'Firewall-Aktion',
> +'guardian ignored hosts' => 'Ignorierte Hosts',
> +'guardian invalid address or subnet' => 'Ungültige Host-Addresse oder
> Netzwerk.',
> +'guardian invalid blockcount' => 'Ungültige Anzahl: Bitte verwenden Sie eine
> natürliche Zahl größer als Null.',
> +'guardian invalid blocktime' => 'Ungültige Blockzeit: Bitte verwenden Sie
> eine natürliche Zahl größer als Null.',
> +'guardian invalid logfile' => 'Der angegebene Pfad zum "Ignore file" ist
> ungültig.',
> +'guardian logfacility' => 'Logziel',
> +'guardian logfile' => 'Logdatei',
> +'guardian loglevel' => 'Loglevel',
> +'guardian loglevel_off' => 'Aus',
> +'guardian loglevel_info' => 'Info',
> +'guardian loglevel_debug' => 'Debug',
> +'guardian logtarget_syslog' => 'Systemlog',
> +'guardian logtarget_file' => 'Datei',
> +'guardian logtarget_console' => 'Konsole',
> +'guardian no entries' => 'Keine Einträge vorhanden.',
> +'guardian not running no hosts can be blocked' => 'Guardian läuft nicht. Es
> werden keine Hosts geblockt.',
> +'guardian priolevel_high' => '1 - Hoch',
> +'guardian priolevel_medium' => '2 - Mittel',
> +'guardian priolevel_low' => '3 - Niedrig',
> +'guardian priolevel_very_low' => '4 - Sehr niedrig',
> +'guardian priority level' => 'Prioritätslevel (Snort)',
> +'guardian service' => 'Guardian-Dienst',
> +'guardian watch snort alertfile' => 'Snort-Alarme auswerten',
> +
> +);
> +
> +#EOF
> diff --git a/config/guardian/guardian.en.pl b/config/guardian/guardian.en.pl
> new file mode 100644
> index 0000000..f6be865
> --- /dev/null
> +++ b/config/guardian/guardian.en.pl
> @@ -0,0 +1,45 @@
> +%tr = ( 
> +%tr,
> +
> +'guardian' => 'Guardian',
> +'guardian block a host' => 'Block host',
> +'guardian block httpd brute-force' => 'httpd Brute Force Detection',
> +'guardian block owncloud brute-force' => 'Owncloud Brute Force detection',
> +'guardian block ssh brute-force' => 'SSH Brute Force Detection',
> +'guardian blockcount' => 'Strike Threshold (Snort)',
> +'guardian blocked hosts' => 'Currently blocked hosts',
> +'guardian blocking of this address is not allowed' => 'Blocking of the given
> address is not allowed.',
> +'guardian blocktime' => 'Block Time (seconds)',
> +'guardian common settings' => 'Common Settings',
> +'guardian configuration' => 'Guardian Configuration',
> +'guardian daemon' => 'Daemon',
> +'guardian empty input' => 'Empty input: Please enter a valid host address or
> subnet.',
> +'guardian enabled' => 'Enable Guardian',
> +'guardian firewallaction' => 'Firewall Action',
> +'guardian ignored hosts' => 'Ignored Hosts',
> +'guardian invalid address or subnet' => 'Invalid host address or subnet.',
> +'guardian invalid blockcount' => 'Invalid BlockCount: Please provide a
> natural number higher than zero.',
> +'guardian invalid blocktime' => 'Invalid BlockTime: Please provide a natural
> number higher than zero.',
> +'guardian invalid logfile' => 'The provided path for the logfile is not
> valid.',
> +'guardian logfacility' => 'Log Facility',
> +'guardian logfile' => 'Log File',
> +'guardian loglevel' => 'Log Level',
> +'guardian loglevel_off' => 'Off',
> +'guardian loglevel_info' => 'Info',
> +'guardian loglevel_debug' => 'Debug',
> +'guardian logtarget_syslog' => 'Systemlog',
> +'guardian logtarget_file' => 'File',
> +'guardian logtarget_console' => 'Console',
> +'guardian no entries' => 'No entries at the moment.',
> +'guardian not running no hosts can be blocked' => 'Guardian is not running.
> No hosts will be blocked.',
> +'guardian priolevel_high' => '1 - High',
> +'guardian priolevel_medium' => '2 - Medium',
> +'guardian priolevel_low' => '3 - Low',
> +'guardian priolevel_very_low' => '4 - Very low',
> +'guardian priority level' => 'Priority Level (Snort)',
> +'guardian service' => 'Guardian Service',
> +'guardian watch snort alertfile' => 'Monitor Snort Alert File',
> +
> +);
> +
> +#EOF
> diff --git a/config/guardian/guardian.es.pl b/config/guardian/guardian.es.pl
> new file mode 100644
> index 0000000..89ffb52
> --- /dev/null
> +++ b/config/guardian/guardian.es.pl
> @@ -0,0 +1,23 @@
> +%tr = ( 
> +%tr,
> +
> +'guardian alertfile' => 'Archivo de alerta',
> +'guardian configuration' => 'Configuración de Guardian',
> +'guardian ignorefile' => 'Archivo Ignorefile',
> +'guardian interface' => 'Interfaz',
> +'guardian logfile' => 'Archivo de registro',
> +'guardian loglevel_off' => 'Off',
> +'guardian loglevel_info' => 'Info',
> +'guardian loglevel_debug' => 'Debug',
> +'guardian logtarget_syslog' => 'Systemlog',
> +'guardian logtarget_file' => 'File',
> +'guardian logtarget_console' => 'Console',
> +'guardian priolevel_high' => '1 - High',
> +'guardian priolevel_medium' => '2 - Medium',
> +'guardian priolevel_low' => '3 - Low',
> +'guardian priolevel_very_low' => '4 - Very low',
> +'guardian timelimit' => 'Límite de tiempo',
> +
> +);
> +
> +#EOF
> diff --git a/config/guardian/guardian.fr.pl b/config/guardian/guardian.fr.pl
> new file mode 100644
> index 0000000..82e5736
> --- /dev/null
> +++ b/config/guardian/guardian.fr.pl
> @@ -0,0 +1,23 @@
> +%tr = ( 
> +%tr,
> +
> +'guardian alertfile' => 'Fichier d\'alerte',
> +'guardian configuration' => 'Configuration du gardien',
> +'guardian ignorefile' => 'Fichier d\'ignorés',
> +'guardian interface' => 'Interface',
> +'guardian logfile' => 'Fichier log',
> +'guardian loglevel_off' => 'Off',
> +'guardian loglevel_info' => 'Info',
> +'guardian loglevel_debug' => 'Debug',
> +'guardian logtarget_syslog' => 'Systemlog',
> +'guardian logtarget_file' => 'File',
> +'guardian logtarget_console' => 'Console',
> +'guardian priolevel_high' => '1 - High',
> +'guardian priolevel_medium' => '2 - Medium',
> +'guardian priolevel_low' => '3 - Low',
> +'guardian priolevel_very_low' => '4 - Very low',
> +'guardian timelimit' => 'Délai maximum',
> +
> +);
> +
> +#EOF
> diff --git a/config/guardian/guardian.it.pl b/config/guardian/guardian.it.pl
> new file mode 100644
> index 0000000..9b89a52
> --- /dev/null
> +++ b/config/guardian/guardian.it.pl
> @@ -0,0 +1,24 @@
> +%tr = ( 
> +%tr,
> +
> +'guaranteed bandwith' => 'Guaranteed bandwith',
> +'guardian alertfile' => 'Alertfile',
> +'guardian configuration' => 'Guardian Configuration',
> +'guardian ignorefile' => 'Ignorefile',
> +'guardian interface' => 'Interface',
> +'guardian logfile' => 'Logfile',
> +'guardian loglevel_off' => 'Off',
> +'guardian loglevel_info' => 'Info',
> +'guardian loglevel_debug' => 'Debug',
> +'guardian logtarget_syslog' => 'Systemlog',
> +'guardian logtarget_file' => 'File',
> +'guardian logtarget_console' => 'Console',
> +'guardian priolevel_high' => '1 - High',
> +'guardian priolevel_medium' => '2 - Medium',
> +'guardian priolevel_low' => '3 - Low',
> +'guardian priolevel_very_low' => '4 - Very low',
> +'guardian timelimit' => 'Timelimit',
> +
> +);
> +
> +#EOF
> diff --git a/config/guardian/guardian.nl.pl b/config/guardian/guardian.nl.pl
> new file mode 100644
> index 0000000..d71a91f
> --- /dev/null
> +++ b/config/guardian/guardian.nl.pl
> @@ -0,0 +1,23 @@
> +%tr = ( 
> +%tr,
> +
> +'guardian alertfile' => 'Meldingenbestand',
> +'guardian configuration' => 'Guardian configuratie',
> +'guardian ignorefile' => 'Negeerbestand',
> +'guardian interface' => 'Interface',
> +'guardian logfile' => 'Logbestand',
> +'guardian loglevel_off' => 'Off',
> +'guardian loglevel_info' => 'Info',
> +'guardian loglevel_debug' => 'Debug',
> +'guardian logtarget_syslog' => 'Systemlog',
> +'guardian logtarget_file' => 'File',
> +'guardian logtarget_console' => 'Console',
> +'guardian priolevel_high' => '1 - High',
> +'guardian priolevel_medium' => '2 - Medium',
> +'guardian priolevel_low' => '3 - Low',
> +'guardian priolevel_very_low' => '4 - Very low',
> +'guardian timelimit' => 'Tijdlimiet',
> +
> +);
> +
> +#EOF
> diff --git a/config/guardian/guardian.pl.pl b/config/guardian/guardian.pl.pl
> new file mode 100644
> index 0000000..18cb396
> --- /dev/null
> +++ b/config/guardian/guardian.pl.pl
> @@ -0,0 +1,23 @@
> +%tr = ( 
> +%tr,
> +
> +'guardian alertfile' => 'Plik alertów',
> +'guardian configuration' => 'Konfiguracja Guardian\'a',
> +'guardian ignorefile' => 'Plik ignorowanych',
> +'guardian interface' => 'Interfejs',
> +'guardian logfile' => 'Plik Log',
> +'guardian loglevel_off' => 'Off',
> +'guardian loglevel_info' => 'Info',
> +'guardian loglevel_debug' => 'Debug',
> +'guardian logtarget_syslog' => 'Systemlog',
> +'guardian logtarget_file' => 'File',
> +'guardian logtarget_console' => 'Console',
> +'guardian priolevel_high' => '1 - High',
> +'guardian priolevel_medium' => '2 - Medium',
> +'guardian priolevel_low' => '3 - Low',
> +'guardian priolevel_very_low' => '4 - Very low',
> +'guardian timelimit' => 'Ograniczenie czasowe',
> +
> +);
> +
> +#EOF
> diff --git a/config/guardian/guardian.ru.pl b/config/guardian/guardian.ru.pl
> new file mode 100644
> index 0000000..34b8928
> --- /dev/null
> +++ b/config/guardian/guardian.ru.pl
> @@ -0,0 +1,24 @@
> +%tr = ( 
> +%tr,
> +
> +'guardian alertfile' => 'Alertfile',
> +'guardian configuration' => 'Настройки защиты',
> +'guardian ignorefile' => 'Ignorefile',
> +'guardian interface' => 'Интерфейс',
> +'guardian logfile' => 'Logfile',
> +'guardian loglevel_off' => 'Off',
> +'guardian loglevel_info' => 'Info',
> +'guardian loglevel_debug' => 'Debug',
> +'guardian logtarget_syslog' => 'Systemlog',
> +'guardian logtarget_file' => 'File',
> +'guardian logtarget_console' => 'Console',
> +'guardian priolevel_high' => '1 - High',
> +'guardian priolevel_medium' => '2 - Medium',
> +'guardian priolevel_low' => '3 - Low',
> +'guardian priolevel_very_low' => '4 - Very low',
> +'guardian timelimit' => 'Ограничение времени',
> +
> +);
> +
> +#EOF
> +
> diff --git a/config/guardian/guardian.tr.pl b/config/guardian/guardian.tr.pl
> new file mode 100644
> index 0000000..701dc15
> --- /dev/null
> +++ b/config/guardian/guardian.tr.pl
> @@ -0,0 +1,24 @@
> +%tr = ( 
> +%tr,
> +
> +'guardian alertfile' => 'Uyarı dosyası',
> +'guardian configuration' => 'Koruyucu Yapılandırması',
> +'guardian ignorefile' => 'Yoksayılan dosya',
> +'guardian interface' => 'Ara birim',
> +'guardian logfile' => 'Günlük dosyası',
> +'guardian loglevel_off' => 'Off',
> +'guardian loglevel_info' => 'Info',
> +'guardian loglevel_debug' => 'Debug',
> +'guardian logtarget_syslog' => 'Systemlog',
> +'guardian logtarget_file' => 'File',
> +'guardian logtarget_console' => 'Console',
> +'guardian priolevel_high' => '1 - High',
> +'guardian priolevel_medium' => '2 - Medium',
> +'guardian priolevel_low' => '3 - Low',
> +'guardian priolevel_very_low' => '4 - Very low',
> +'guardian timelimit' => 'Zaman sınırlaması',
> +
> +);
> +
> +#EOF
> +
> diff --git a/html/cgi-bin/guardian.cgi b/html/cgi-bin/guardian.cgi
> index 9d044fe..963a564 100644
> --- a/html/cgi-bin/guardian.cgi
> +++ b/html/cgi-bin/guardian.cgi
> @@ -534,33 +534,39 @@ END
>  			<tr>
>  				<td colspan='2' class='base'
> bgcolor='$color{'color20'}'><b>$Lang::tr{'guardian common settings'}</b></td>
>  			</tr>
> +
>  			<tr>
> -				<td width='20%'
> class='base'>$Lang::tr{'guardian enabled'}:</td>
> +				<td width='25%'
> class='base'>$Lang::tr{'guardian enabled'}:</td>
>  				<td><input type='checkbox'
> name='GUARDIAN_ENABLED' $checked{'GUARDIAN_ENABLED'}{'on'} /></td>
>  			</tr>
> +
>  			<tr>
>  				<td colspan='2'><br></td>
>  			</tr>
> +
>  			<tr>
> -				<td width='20%'
> class='base'>$Lang::tr{'guardian watch snort alertfile'}</td>
> +				<td width='25%'
> class='base'>$Lang::tr{'guardian watch snort alertfile'}</td>
>  				<td align='left'>on <input type='radio'
> name='GUARDIAN_MONITOR_SNORT' value='on'
> $checked{'GUARDIAN_MONITOR_SNORT'}{'on'} /> /
>  				<input type='radio'
> name='GUARDIAN_MONITOR_SNORT' value='off'
> $checked{'GUARDIAN_MONITOR_SNORT'}{'off'} /> off</td>
>  			</tr>
> +
>  			<tr>
> -				<td width='20%'
> class='base'>$Lang::tr{'guardian block ssh brute-force'}</td>
> +				<td width='25%'
> class='base'>$Lang::tr{'guardian block ssh brute-force'}</td>
>  				<td align='left'>on <input type='radio'
> name='GUARDIAN_MONITOR_SSH' value='on' $checked{'GUARDIAN_MONITOR_SSH'}{'on'}
> /> /
>  				<input type='radio'
> name='GUARDIAN_MONITOR_SSH' value='off'
> $checked{'GUARDIAN_MONITOR_SSH'}{'off'} /> off</td>
>  			</tr>
> +
>  			<tr>
> -				<td width='20%'
> class='base'>$Lang::tr{'guardian block httpd brute-force'}</td>
> +				<td width='25%'
> class='base'>$Lang::tr{'guardian block httpd brute-force'}</td>
>  				<td align='left'>on <input type='radio'
> name='GUARDIAN_MONITOR_HTTPD' value='on'
> $checked{'GUARDIAN_MONITOR_HTTPD'}{'on'} /> /
>  				<input type='radio'
> name='GUARDIAN_MONITOR_HTTPD' value='off'
> $checked{'GUARDIAN_MONITOR_HTTPD'}{'off'} /> off</td>
>  			</tr>
>  END
> +
>  			# Display owncloud checkbox when the addon is
> installed.
>  			if ( -e "$owncloud_meta" ) {
>  				print"<tr>\n";
> -				print"<td width='20%'
> class='base'>$Lang::tr{'guardian block owncloud brute-force'}</td>\n";
> +				print"<td width='25%'
> class='base'>$Lang::tr{'guardian block owncloud brute-force'}</td>\n";
>  				print"<td align='left'>on <input type='radio'
> name='GUARDIAN_MONITOR_OWNCLOUD' value='on'
> $checked{'GUARDIAN_MONITOR_OWNCLOUD'}{'on'} /> /\n";
>  				print"<input type='radio'
> name='GUARDIAN_MONITOR_OWNCLOUD' value='off'
> $checked{'GUARDIAN_MONITOR_OWNCLOUD'}{'off'} /> off</td>\n";
>  				print"</tr>\n";
> @@ -569,62 +575,64 @@ END
>  			<tr>
>  				<td colspan='2'><br></td>
>  			</tr>
> +
>  			<tr>
>  				<td align='left'
> width='20%'>$Lang::tr{'guardian logfacility'}:</td>
> -				<td><select id='GUARDIAN_LOG_FACILITY'
> name='GUARDIAN_LOG_FACILITY'>
> -					<option id='logfacility_syslog'
> value='syslog' $selected{'GUARDIAN_LOG_FACILITY'}{'syslog'}>syslog</option>
> -					<option id='logfacility_file'
> value='file' $selected{'GUARDIAN_LOG_FACILITY'}{'file'}>file</option>
> -					<option id='logfacility_console'
> value='console' $selected{'GUARDIAN_LOG_FACILITY'}{'console'}>console</option>
> +				<td width='25%'><select
> id='GUARDIAN_LOG_FACILITY' name='GUARDIAN_LOG_FACILITY'>
> +					<option id='logfacility_syslog'
> value='syslog'
> $selected{'GUARDIAN_LOG_FACILITY'}{'syslog'}>$Lang::tr{'guardian
> logtarget_syslog'}</option>
> +					<option id='logfacility_file'
> value='file' $selected{'GUARDIAN_LOG_FACILITY'}{'file'}>$Lang::tr{'guardian
> logtarget_file'}</option>
> +					<option id='logfacility_console'
> value='console'
> $selected{'GUARDIAN_LOG_FACILITY'}{'console'}>$Lang::tr{'guardian
> logtarget_console'}</option>
> +				</select></td>
> +
> +				<td align='left'
> width='20%'>$Lang::tr{'guardian loglevel'}:</td>
> +				<td width='25%'><select
> id='GUARDIAN_LOGLEVEL' name='GUARDIAN_LOGLEVEL'>
> +					<option id='loglevel_off' value='off'
> $selected{'GUARDIAN_LOGLEVEL'}{'off'}>$Lang::tr{'guardian
> loglevel_off'}</option>
> +					<option id='loglevel_info'
> value='info' $selected{'GUARDIAN_LOGLEVEL'}{'info'}>$Lang::tr{'guardian
> loglevel_info'}</option>
> +					<option id='loglevel_debug'
> value='debug' $selected{'GUARDIAN_LOGLEVEL'}{'debug'}>$Lang::tr{'guardian
> loglevel_debug'}</option>
>  				</select></td>
>  			</tr>
> -			<tr>
> +
> +			<tr class="GUARDIAN_LOGFILE">
>  				<td colspan='2'><br></td>
>  			</tr>
> -			<tr>
> -				<td align='left'
> width='20%'>$Lang::tr{'guardian loglevel'}:</td>
> -				<td><select id='GUARDIAN_LOGLEVEL'
> name='GUARDIAN_LOGLEVEL'>
> -					<option id='loglevel_off' value='off'
> $selected{'GUARDIAN_LOGLEVEL'}{'off'}>off</option>
> -					<option id='loglevel_info'
> value='info' $selected{'GUARDIAN_LOGLEVEL'}{'info'}>info</option>
> -					<option id='loglevel_debug'
> value='debug' $selected{'GUARDIAN_LOGLEVEL'}{'debug'}>debug</option>
> -				</select></td>
> +
> +			<tr class="GUARDIAN_LOGFILE">
> +				<td width='25%'
> class='base'>$Lang::tr{'guardian logfile'}:</td>
> +				<td><input type='text'
> name='GUARDIAN_LOGFILE' value='$settings{'GUARDIAN_LOGFILE'}' size='30'
> /></td>
>  			</tr>
> +
>  			<tr class="GUARDIAN_SNORT_PRIORITY_LEVEL">
>  				<td colspan='2'><br></td>
>  			</tr>
> +
>  			<tr class="GUARDIAN_SNORT_PRIORITY_LEVEL">
>  				<td align='left'
> width='20%'>$Lang::tr{'guardian priority level'}:</td>
>  				<td><select
> name='GUARDIAN_SNORT_PRIORITY_LEVEL'>
> -					<option value='1'
> $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'1'}>1</option>
> -					<option value='2'
> $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'2'}>2</option>
> -					<option value='3'
> $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'3'}>3</option>
> -					<option value='4'
> $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'4'}>4</option>
> +					<option value='1'
> $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'1'}>$Lang::tr{'guardian
> priolevel_high'}</option>
> +					<option value='2'
> $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'2'}>$Lang::tr{'guardian
> priolevel_medium'}</option>
> +					<option value='3'
> $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'3'}>$Lang::tr{'guardian
> priolevel_low'}</option>
> +					<option value='4'
> $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'4'}>$Lang::tr{'guardian
> priolevel_very_low'}</option>
>  				</select></td>
> +
> +				<td width='25%'
> class='base'>$Lang::tr{'guardian blockcount'}:</td>
> +				<td><input type='text'
> name='GUARDIAN_BLOCKCOUNT' value='$settings{'GUARDIAN_BLOCKCOUNT'}' size='5'
> /></td>
>  			</tr>
> +
>  			<tr>
>  				<td colspan='2'><br></td>
>  			</tr>
> +
>  			<tr>
> -				<td width='20%'
> class='base'>$Lang::tr{'guardian firewallaction'}:</td>
> +				<td width='25%'
> class='base'>$Lang::tr{'guardian firewallaction'}:</td>
>  				<td><select name='GUARDIAN_FIREWALL_ACTION'>
>  					<option value='DROP'
> $selected{'GUARDIAN_FIREWALL_ACTION'}{'DROP'}>Drop</option>
>  					<option value='REJECT'
> $selected{'GUARDIAN_FIREWALL_ACTION'}{'REJECT'}>Reject</option>
>  				</select></td>
> -			</tr>
> -			<tr>
> -				<td colspan='2'><br></td>
> -			</tr>
> -			<tr>
> -				<td width='20%'
> class='base'>$Lang::tr{'guardian blockcount'}:</td>
> -				<td><input type='text'
> name='GUARDIAN_BLOCKCOUNT' value='$settings{'GUARDIAN_BLOCKCOUNT'}' size='5'
> /></td>
> -			</tr>
> -			<tr>
> -				<td width='20%'
> class='base'>$Lang::tr{'guardian blocktime'}:</td>
> +
> +				<td width='25%'
> class='base'>$Lang::tr{'guardian blocktime'}:</td>
>  				<td><input type='text'
> name='GUARDIAN_BLOCKTIME' value='$settings{'GUARDIAN_BLOCKTIME'}' size='10'
> /></td>
>  			</tr>
> -			<tr class="GUARDIAN_LOGFILE">
> -                                <td width='20%'
> class='base'>$Lang::tr{'guardian logfile'}:</td>
> -                                <td><input type='text'
> name='GUARDIAN_LOGFILE' value='$settings{'GUARDIAN_LOGFILE'}' size='30'
> /></td>
> -                        </tr>
> +
>  		</table>
>  END
>  
> diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl
> index 400c2fe..261b92f 100644
> --- a/langs/de/cgi-bin/de.pl
> +++ b/langs/de/cgi-bin/de.pl
> @@ -1217,30 +1217,6 @@
>  'green interface' => 'Grünes Interface',
>  'grouptype' => 'Gruppentyp:',
>  'guaranteed bandwith' => 'Garantierte Bandbreite',
> -'guardian' => 'Guardian',
> -'guardian block a host' => 'Host blocken',
> -'guardian block httpd brute-force' => 'httpd-Brute-Force-Erkennung',
> -'guardian block owncloud brute-force' => 'Owncloud-Brute-Force-Erkennung',
> -'guardian block ssh brute-force' => 'SSH-Brute-Force-Erkennung',
> -'guardian blockcount' => 'Trefferschwelle',
> -'guardian blocked hosts' => 'Aktuell geblockte Hosts',
> -'guardian blocking of this address is not allowed' => 'Diese Addresse darf
> nicht gelockt werden.',
> -'guardian blocktime' => 'Blockzeit',
> -'guardian common settings' => 'Allgemeine Einstellungen',
> -'guardian configuration' => 'Guardian-Konfiguration',
> -'guardian daemon' => 'Daemon',
> -'guardian empty input' => 'Fehlende Angabe: Bitte eine gültige IP-Addresse
> oder Netzwerk angeben.',
> -'guardian enabled' => 'Guardian aktivieren',
> -'guardian firewallaction' => 'Firewall-Aktion',
> -'guardian ignored hosts' => 'Ignorierte Hosts',
> -'guardian invalid address or subnet' => 'Ungültige Host-Addresse oder
> Netzwerk.',
> -'guardian logfacility' => 'Logziel',
> -'guardian logfile' => 'Logdatei',
> -'guardian loglevel' => 'Loglevel',
> -'guardian no entries' => 'Keine Einträge vorhanden.',
> -'guardian priority level' => 'Prioritätslevel',
> -'guardian service' => 'Guardian-Dienst',
> -'guardian watch snort alertfile' => 'Snort-Alarme auswerten',
>  'guest ok' => 'Gastzugang gewähren',
>  'gui settings' => 'Benutzeroberfläche',
>  'gz with key' => 'Nur ein verschlüsseltes Archiv kann auf dieser Maschine
> wiederhergestellt werden.',
> diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl
> index 7a7c104..0e5b46d 100644
> --- a/langs/en/cgi-bin/en.pl
> +++ b/langs/en/cgi-bin/en.pl
> @@ -1246,32 +1246,6 @@
>  'green interface' => 'Green Interface',
>  'grouptype' => 'Grouptype:',
>  'guaranteed bandwith' => 'Guaranteed bandwith',
> -'guardian' => 'Guardian',
> -'guardian block a host' => 'Block host',
> -'guardian block httpd brute-force' => 'httpd Brute Force Detection',
> -'guardian block owncloud brute-force' => 'Owncloud Brute Force detection',
> -'guardian block ssh brute-force' => 'SSH Brute Force Detection',
> -'guardian blockcount' => 'Strike Threshold',
> -'guardian blocked hosts' => 'Currently blocked hosts',
> -'guardian blocking of this address is not allowed' => 'Blocking of the given
> address is not allowed.',
> -'guardian blocktime' => 'Block Time',
> -'guardian common settings' => 'Common Settings',
> -'guardian configuration' => 'Guardian Configuration',
> -'guardian daemon' => 'Daemon',
> -'guardian empty input' => 'Empty input: Please perform a valid host address
> or subnet.',
> -'guardian enabled' => 'Enable Guardian',
> -'guardian firewallaction' => 'Firewall Action',
> -'guardian ignored hosts' => 'Ignored Hosts',
> -'guardian invalid address or subnet' => 'Invalid host address or subnet.',
> -'guardian logfacility' => 'Log Facility',
> -'guardian logfile' => 'Log File',
> -'guardian loglevel' => 'Log Level',
> -'guardian no entries' => 'No entries at the moment.',
> -'guardian not running no hosts can be blocked' => 'Guardian is not running.
> No hosts will be blocked.',
> -'guardian priority level' => 'Priority Level',
> -'guardian service' => 'Guardian Service',
> -'guardian snort alertfile' => 'Snort Alert File',
> -'guardian watch snort alertfile' => 'Monitor Snort Alert File',
>  'guest ok' => 'allow guests to access',
>  'gui settings' => 'GUI Settings',
>  'gz with key' => 'Only an encrypted archive can be restored on this
> machine.',
> diff --git a/langs/es/cgi-bin/es.pl b/langs/es/cgi-bin/es.pl
> index 7ac5d11..ede7b66 100644
> --- a/langs/es/cgi-bin/es.pl
> +++ b/langs/es/cgi-bin/es.pl
> @@ -886,12 +886,6 @@
>  'green' => 'Green',
>  'green interface' => 'Interfaz Green',
>  'guaranteed bandwith' => 'Ancho de banda garantizado',
> -'guardian alertfile' => 'Archivo de alerta',
> -'guardian configuration' => 'Configuración de Guardian',
> -'guardian ignorefile' => 'Archivo Ignorefile',
> -'guardian interface' => 'Interfaz',
> -'guardian logfile' => 'Archivo de registro',
> -'guardian timelimit' => 'Límite de tiempo',
>  'guest ok' => 'permitir acceso de invitado',
>  'gui settings' => 'Configuraciones de GUI',
>  'gz with key' => 'Esta máquina sólo se puede restaurar desde archivos
> encriptados',
> diff --git a/langs/fr/cgi-bin/fr.pl b/langs/fr/cgi-bin/fr.pl
> index 61c514d..e896c9b 100644
> --- a/langs/fr/cgi-bin/fr.pl
> +++ b/langs/fr/cgi-bin/fr.pl
> @@ -877,12 +877,6 @@
>  'green' => 'VERT',
>  'green interface' => 'Interface VERTE',
>  'guaranteed bandwith' => 'Bande passante garantie',
> -'guardian alertfile' => 'Fichier d\'alerte',
> -'guardian configuration' => 'Configuration du gardien',
> -'guardian ignorefile' => 'Fichier d\'ignorés',
> -'guardian interface' => 'Interface',
> -'guardian logfile' => 'Fichier log',
> -'guardian timelimit' => 'Délai maximum',
>  'guest ok' => 'autoriser l\'accès aux invités',
>  'gui settings' => 'Réglage GUI',
>  'gz with key' => 'Seulement les archives chiffrées peuvent être restaurées
> sur cette machine.',
> diff --git a/langs/it/cgi-bin/it.pl b/langs/it/cgi-bin/it.pl
> index 2ed22f2..b039cdb 100644
> --- a/langs/it/cgi-bin/it.pl
> +++ b/langs/it/cgi-bin/it.pl
> @@ -1187,13 +1187,6 @@
>  'green' => 'Verde',
>  'green interface' => 'Interface Verde',
>  'grouptype' => 'Grouptype:',
> -'guaranteed bandwith' => 'Guaranteed bandwith',
> -'guardian alertfile' => 'Alertfile',
> -'guardian configuration' => 'Guardian Configuration',
> -'guardian ignorefile' => 'Ignorefile',
> -'guardian interface' => 'Interface',
> -'guardian logfile' => 'Logfile',
> -'guardian timelimit' => 'Timelimit',
>  'guest ok' => 'allow guests to access',
>  'gui settings' => 'Settaggio GUI',
>  'gz with key' => 'Only an encrypted archive can be restored on this
> machine.',
> diff --git a/langs/nl/cgi-bin/nl.pl b/langs/nl/cgi-bin/nl.pl
> index 2469ff2..49c0cce 100644
> --- a/langs/nl/cgi-bin/nl.pl
> +++ b/langs/nl/cgi-bin/nl.pl
> @@ -1168,12 +1168,6 @@
>  'green interface' => 'Groene Interface',
>  'grouptype' => 'Groeptype:',
>  'guaranteed bandwith' => 'Gegarandeerde bandbreedte',
> -'guardian alertfile' => 'Meldingenbestand',
> -'guardian configuration' => 'Guardian configuratie',
> -'guardian ignorefile' => 'Negeerbestand',
> -'guardian interface' => 'Interface',
> -'guardian logfile' => 'Logbestand',
> -'guardian timelimit' => 'Tijdlimiet',
>  'guest ok' => 'verleen gasten toegang',
>  'gui settings' => 'Gebruikersinterface',
>  'gz with key' => 'Alleen gecodeerde archieven kunnen worden teruggezet op
> deze machine.',
> diff --git a/langs/pl/cgi-bin/pl.pl b/langs/pl/cgi-bin/pl.pl
> index 9214205..e2f9da5 100644
> --- a/langs/pl/cgi-bin/pl.pl
> +++ b/langs/pl/cgi-bin/pl.pl
> @@ -885,12 +885,6 @@
>  'green' => 'Green',
>  'green interface' => 'Interfejs Green',
>  'guaranteed bandwith' => 'Gwarantowane pasmo',
> -'guardian alertfile' => 'Plik alertów',
> -'guardian configuration' => 'Konfiguracja Guardian\'a',
> -'guardian ignorefile' => 'Plik ignorowanych',
> -'guardian interface' => 'Interfejs',
> -'guardian logfile' => 'Plik Log',
> -'guardian timelimit' => 'Ograniczenie czasowe',
>  'guest ok' => 'zezwól na dostęp dla gości',
>  'gui settings' => 'Ustawienia GUI',
>  'gz with key' => 'Tylko zaszyfrowane archiwum może być odtworzone na tej
> maszynie.',
> diff --git a/langs/ru/cgi-bin/ru.pl b/langs/ru/cgi-bin/ru.pl
> index 6a45f7f..4b0edb5 100644
> --- a/langs/ru/cgi-bin/ru.pl
> +++ b/langs/ru/cgi-bin/ru.pl
> @@ -880,12 +880,6 @@
>  'green' => 'Green',
>  'green interface' => 'Green Интерфейс',
>  'guaranteed bandwith' => 'Гарантированная пропускная способность',
> -'guardian alertfile' => 'Alertfile',
> -'guardian configuration' => 'Настройки защиты',
> -'guardian ignorefile' => 'Ignorefile',
> -'guardian interface' => 'Интерфейс',
> -'guardian logfile' => 'Logfile',
> -'guardian timelimit' => 'Ограничение времени',
>  'guest ok' => 'Разрешить гостевой доступ',
>  'gui settings' => 'Внешний вид',
>  'gz with key' => 'Только зашифрованный архив может быть восстановлен на этой
> машине.',
> diff --git a/langs/tr/cgi-bin/tr.pl b/langs/tr/cgi-bin/tr.pl
> index 3af2339..9eb3000 100644
> --- a/langs/tr/cgi-bin/tr.pl
> +++ b/langs/tr/cgi-bin/tr.pl
> @@ -1245,12 +1245,6 @@
>  'green interface' => 'Yeşil Arabirim',
>  'grouptype' => 'Grup türü:',
>  'guaranteed bandwith' => 'Garantili bant genişliği',
> -'guardian alertfile' => 'Uyarı dosyası',
> -'guardian configuration' => 'Koruyucu Yapılandırması',
> -'guardian ignorefile' => 'Yoksayılan dosya',
> -'guardian interface' => 'Ara birim',
> -'guardian logfile' => 'Günlük dosyası',
> -'guardian timelimit' => 'Zaman sınırlaması',
>  'guest ok' => 'istemcilere erişim izni',
>  'gui settings' => 'GUI Ayarları',
>  'gz with key' => 'Sadece şifreli bir arşiv bu makinede geri yüklenebilir.',
> diff --git a/lfs/guardian b/lfs/guardian
> index b02ec54..c016f04 100644
> --- a/lfs/guardian
> +++ b/lfs/guardian
> @@ -1,7 +1,7 @@
>  #############################################################################
> ##
>  #                                                                            
>  #
>  # IPFire.org - A linux based
> firewall                                         #
> -# Copyright (C) 2007  Michael Tremer & Christian
> Schmidt                      #
> +# Copyright (C) 2007-2016  IPFire Team  <info@ipfire.org>                    
>  #
>  #                                                                            
>  #
>  # This program is free software: you can redistribute it and/or
> modify        #
>  # it under the terms of the GNU General Public License as published
> by        #
> @@ -33,11 +33,10 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
>  TARGET     = $(DIR_INFO)/$(THISAPP)
>  
>  PROG       = guardian
> -PAK_VER    = 10
> +PAK_VER    = 11
>  
>  DEPS       = "perl-inotify2 perl-Net-IP"
>  
> -
>  #############################################################################
> ##
>  # Top-level Rules
>  #############################################################################
> ##
> @@ -108,5 +107,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>  	install -v -m 644 $(DIR_SRC)/config/guardian/guardian.logrotate \
>  		/etc/logrotate.d/guardian
>  
> +	# Install addon-specific language-files.
> +	install -v -m 004 $(DIR_SRC)/config/guardian/guardian.*.pl \
> +		/var/ipfire/addon-lang/
> +
>  	@rm -rf $(DIR_APP)
>  	@$(POSTBUILD)
  
Stefan Schantl Sept. 30, 2016, 4:53 p.m. UTC | #2
Hello Matthias and Michael,

the patch and the improvements looks good.

Please merge them.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>

Best regards,

-Stefan
> Hi,
> 
> I will wait until Stefan comments on this before I merge it.
> 
> This looks really good.
> 
> -Michael
> 
> On Fri, 2016-09-23 at 16:33 +0200, Matthias Fischer wrote:
> > 
> > I did the following:
> > 
> > - Rearranged the fields on 'guardian.cgi' a bit - in a (hopefully)
> > logical
> > manner,
> >   so that they don't need so much room.
> > - Added some translation-strings and explanations to (revised)
> > 'guardian.cgi'.
> > - Added missing language string(s), deleted obsolete.
> > - Deleted all guardian entries from standard language files in
> >   '/var/ipfire/langs'-directory.
> > - Added (upgraded) addon-specific language files to
> > '/var/ipfire/addon-lang'-
> > directory.
> > 
> > I hope, I didn't forget something...
> > 
> > Best,
> > Matthias
> > 
> > Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
> > ---
> >  config/guardian/guardian.de.pl | 45 ++++++++++++++++++++++++
> >  config/guardian/guardian.en.pl | 45 ++++++++++++++++++++++++
> >  config/guardian/guardian.es.pl | 23 ++++++++++++
> >  config/guardian/guardian.fr.pl | 23 ++++++++++++
> >  config/guardian/guardian.it.pl | 24 +++++++++++++
> >  config/guardian/guardian.nl.pl | 23 ++++++++++++
> >  config/guardian/guardian.pl.pl | 23 ++++++++++++
> >  config/guardian/guardian.ru.pl | 24 +++++++++++++
> >  config/guardian/guardian.tr.pl | 24 +++++++++++++
> >  html/cgi-bin/guardian.cgi      | 80 +++++++++++++++++++++++-------
> > ---------
> > ---
> >  langs/de/cgi-bin/de.pl         | 24 -------------
> >  langs/en/cgi-bin/en.pl         | 26 --------------
> >  langs/es/cgi-bin/es.pl         |  6 ----
> >  langs/fr/cgi-bin/fr.pl         |  6 ----
> >  langs/it/cgi-bin/it.pl         |  7 ----
> >  langs/nl/cgi-bin/nl.pl         |  6 ----
> >  langs/pl/cgi-bin/pl.pl         |  6 ----
> >  langs/ru/cgi-bin/ru.pl         |  6 ----
> >  langs/tr/cgi-bin/tr.pl         |  6 ----
> >  lfs/guardian                   |  9 +++--
> >  20 files changed, 304 insertions(+), 132 deletions(-)
> >  create mode 100644 config/guardian/guardian.de.pl
> >  create mode 100644 config/guardian/guardian.en.pl
> >  create mode 100644 config/guardian/guardian.es.pl
> >  create mode 100644 config/guardian/guardian.fr.pl
> >  create mode 100644 config/guardian/guardian.it.pl
> >  create mode 100644 config/guardian/guardian.nl.pl
> >  create mode 100644 config/guardian/guardian.pl.pl
> >  create mode 100644 config/guardian/guardian.ru.pl
> >  create mode 100644 config/guardian/guardian.tr.pl
> > 
> > diff --git a/config/guardian/guardian.de.pl
> > b/config/guardian/guardian.de.pl
> > new file mode 100644
> > index 0000000..344d045
> > --- /dev/null
> > +++ b/config/guardian/guardian.de.pl
> > @@ -0,0 +1,45 @@
> > +%tr = ( 
> > +%tr,
> > +
> > +'guardian' => 'Guardian',
> > +'guardian block a host' => 'Host blocken',
> > +'guardian block httpd brute-force' => 'httpd-Brute-Force-
> > Erkennung',
> > +'guardian block owncloud brute-force' => 'Owncloud-Brute-Force-
> > Erkennung',
> > +'guardian block ssh brute-force' => 'SSH-Brute-Force-Erkennung',
> > +'guardian blockcount' => 'Trefferschwelle (Snort)',
> > +'guardian blocked hosts' => 'Aktuell geblockte Hosts',
> > +'guardian blocking of this address is not allowed' => 'Diese
> > Addresse darf
> > nicht geblockt werden.',
> > +'guardian blocktime' => 'Blockzeit (Sekunden)',
> > +'guardian common settings' => 'Allgemeine Einstellungen',
> > +'guardian configuration' => 'Guardian-Konfiguration',
> > +'guardian daemon' => 'Daemon',
> > +'guardian empty input' => 'Fehlende Angabe: Bitte geben Sie einen
> > gültigen
> > Host oder ein gültiges Netzwerk an.',
> > +'guardian enabled' => 'Guardian aktivieren',
> > +'guardian firewallaction' => 'Firewall-Aktion',
> > +'guardian ignored hosts' => 'Ignorierte Hosts',
> > +'guardian invalid address or subnet' => 'Ungültige Host-Addresse
> > oder
> > Netzwerk.',
> > +'guardian invalid blockcount' => 'Ungültige Anzahl: Bitte
> > verwenden Sie eine
> > natürliche Zahl größer als Null.',
> > +'guardian invalid blocktime' => 'Ungültige Blockzeit: Bitte
> > verwenden Sie
> > eine natürliche Zahl größer als Null.',
> > +'guardian invalid logfile' => 'Der angegebene Pfad zum "Ignore
> > file" ist
> > ungültig.',
> > +'guardian logfacility' => 'Logziel',
> > +'guardian logfile' => 'Logdatei',
> > +'guardian loglevel' => 'Loglevel',
> > +'guardian loglevel_off' => 'Aus',
> > +'guardian loglevel_info' => 'Info',
> > +'guardian loglevel_debug' => 'Debug',
> > +'guardian logtarget_syslog' => 'Systemlog',
> > +'guardian logtarget_file' => 'Datei',
> > +'guardian logtarget_console' => 'Konsole',
> > +'guardian no entries' => 'Keine Einträge vorhanden.',
> > +'guardian not running no hosts can be blocked' => 'Guardian läuft
> > nicht. Es
> > werden keine Hosts geblockt.',
> > +'guardian priolevel_high' => '1 - Hoch',
> > +'guardian priolevel_medium' => '2 - Mittel',
> > +'guardian priolevel_low' => '3 - Niedrig',
> > +'guardian priolevel_very_low' => '4 - Sehr niedrig',
> > +'guardian priority level' => 'Prioritätslevel (Snort)',
> > +'guardian service' => 'Guardian-Dienst',
> > +'guardian watch snort alertfile' => 'Snort-Alarme auswerten',
> > +
> > +);
> > +
> > +#EOF
> > diff --git a/config/guardian/guardian.en.pl
> > b/config/guardian/guardian.en.pl
> > new file mode 100644
> > index 0000000..f6be865
> > --- /dev/null
> > +++ b/config/guardian/guardian.en.pl
> > @@ -0,0 +1,45 @@
> > +%tr = ( 
> > +%tr,
> > +
> > +'guardian' => 'Guardian',
> > +'guardian block a host' => 'Block host',
> > +'guardian block httpd brute-force' => 'httpd Brute Force
> > Detection',
> > +'guardian block owncloud brute-force' => 'Owncloud Brute Force
> > detection',
> > +'guardian block ssh brute-force' => 'SSH Brute Force Detection',
> > +'guardian blockcount' => 'Strike Threshold (Snort)',
> > +'guardian blocked hosts' => 'Currently blocked hosts',
> > +'guardian blocking of this address is not allowed' => 'Blocking of
> > the given
> > address is not allowed.',
> > +'guardian blocktime' => 'Block Time (seconds)',
> > +'guardian common settings' => 'Common Settings',
> > +'guardian configuration' => 'Guardian Configuration',
> > +'guardian daemon' => 'Daemon',
> > +'guardian empty input' => 'Empty input: Please enter a valid host
> > address or
> > subnet.',
> > +'guardian enabled' => 'Enable Guardian',
> > +'guardian firewallaction' => 'Firewall Action',
> > +'guardian ignored hosts' => 'Ignored Hosts',
> > +'guardian invalid address or subnet' => 'Invalid host address or
> > subnet.',
> > +'guardian invalid blockcount' => 'Invalid BlockCount: Please
> > provide a
> > natural number higher than zero.',
> > +'guardian invalid blocktime' => 'Invalid BlockTime: Please provide
> > a natural
> > number higher than zero.',
> > +'guardian invalid logfile' => 'The provided path for the logfile
> > is not
> > valid.',
> > +'guardian logfacility' => 'Log Facility',
> > +'guardian logfile' => 'Log File',
> > +'guardian loglevel' => 'Log Level',
> > +'guardian loglevel_off' => 'Off',
> > +'guardian loglevel_info' => 'Info',
> > +'guardian loglevel_debug' => 'Debug',
> > +'guardian logtarget_syslog' => 'Systemlog',
> > +'guardian logtarget_file' => 'File',
> > +'guardian logtarget_console' => 'Console',
> > +'guardian no entries' => 'No entries at the moment.',
> > +'guardian not running no hosts can be blocked' => 'Guardian is not
> > running.
> > No hosts will be blocked.',
> > +'guardian priolevel_high' => '1 - High',
> > +'guardian priolevel_medium' => '2 - Medium',
> > +'guardian priolevel_low' => '3 - Low',
> > +'guardian priolevel_very_low' => '4 - Very low',
> > +'guardian priority level' => 'Priority Level (Snort)',
> > +'guardian service' => 'Guardian Service',
> > +'guardian watch snort alertfile' => 'Monitor Snort Alert File',
> > +
> > +);
> > +
> > +#EOF
> > diff --git a/config/guardian/guardian.es.pl
> > b/config/guardian/guardian.es.pl
> > new file mode 100644
> > index 0000000..89ffb52
> > --- /dev/null
> > +++ b/config/guardian/guardian.es.pl
> > @@ -0,0 +1,23 @@
> > +%tr = ( 
> > +%tr,
> > +
> > +'guardian alertfile' => 'Archivo de alerta',
> > +'guardian configuration' => 'Configuración de Guardian',
> > +'guardian ignorefile' => 'Archivo Ignorefile',
> > +'guardian interface' => 'Interfaz',
> > +'guardian logfile' => 'Archivo de registro',
> > +'guardian loglevel_off' => 'Off',
> > +'guardian loglevel_info' => 'Info',
> > +'guardian loglevel_debug' => 'Debug',
> > +'guardian logtarget_syslog' => 'Systemlog',
> > +'guardian logtarget_file' => 'File',
> > +'guardian logtarget_console' => 'Console',
> > +'guardian priolevel_high' => '1 - High',
> > +'guardian priolevel_medium' => '2 - Medium',
> > +'guardian priolevel_low' => '3 - Low',
> > +'guardian priolevel_very_low' => '4 - Very low',
> > +'guardian timelimit' => 'Límite de tiempo',
> > +
> > +);
> > +
> > +#EOF
> > diff --git a/config/guardian/guardian.fr.pl
> > b/config/guardian/guardian.fr.pl
> > new file mode 100644
> > index 0000000..82e5736
> > --- /dev/null
> > +++ b/config/guardian/guardian.fr.pl
> > @@ -0,0 +1,23 @@
> > +%tr = ( 
> > +%tr,
> > +
> > +'guardian alertfile' => 'Fichier d\'alerte',
> > +'guardian configuration' => 'Configuration du gardien',
> > +'guardian ignorefile' => 'Fichier d\'ignorés',
> > +'guardian interface' => 'Interface',
> > +'guardian logfile' => 'Fichier log',
> > +'guardian loglevel_off' => 'Off',
> > +'guardian loglevel_info' => 'Info',
> > +'guardian loglevel_debug' => 'Debug',
> > +'guardian logtarget_syslog' => 'Systemlog',
> > +'guardian logtarget_file' => 'File',
> > +'guardian logtarget_console' => 'Console',
> > +'guardian priolevel_high' => '1 - High',
> > +'guardian priolevel_medium' => '2 - Medium',
> > +'guardian priolevel_low' => '3 - Low',
> > +'guardian priolevel_very_low' => '4 - Very low',
> > +'guardian timelimit' => 'Délai maximum',
> > +
> > +);
> > +
> > +#EOF
> > diff --git a/config/guardian/guardian.it.pl
> > b/config/guardian/guardian.it.pl
> > new file mode 100644
> > index 0000000..9b89a52
> > --- /dev/null
> > +++ b/config/guardian/guardian.it.pl
> > @@ -0,0 +1,24 @@
> > +%tr = ( 
> > +%tr,
> > +
> > +'guaranteed bandwith' => 'Guaranteed bandwith',
> > +'guardian alertfile' => 'Alertfile',
> > +'guardian configuration' => 'Guardian Configuration',
> > +'guardian ignorefile' => 'Ignorefile',
> > +'guardian interface' => 'Interface',
> > +'guardian logfile' => 'Logfile',
> > +'guardian loglevel_off' => 'Off',
> > +'guardian loglevel_info' => 'Info',
> > +'guardian loglevel_debug' => 'Debug',
> > +'guardian logtarget_syslog' => 'Systemlog',
> > +'guardian logtarget_file' => 'File',
> > +'guardian logtarget_console' => 'Console',
> > +'guardian priolevel_high' => '1 - High',
> > +'guardian priolevel_medium' => '2 - Medium',
> > +'guardian priolevel_low' => '3 - Low',
> > +'guardian priolevel_very_low' => '4 - Very low',
> > +'guardian timelimit' => 'Timelimit',
> > +
> > +);
> > +
> > +#EOF
> > diff --git a/config/guardian/guardian.nl.pl
> > b/config/guardian/guardian.nl.pl
> > new file mode 100644
> > index 0000000..d71a91f
> > --- /dev/null
> > +++ b/config/guardian/guardian.nl.pl
> > @@ -0,0 +1,23 @@
> > +%tr = ( 
> > +%tr,
> > +
> > +'guardian alertfile' => 'Meldingenbestand',
> > +'guardian configuration' => 'Guardian configuratie',
> > +'guardian ignorefile' => 'Negeerbestand',
> > +'guardian interface' => 'Interface',
> > +'guardian logfile' => 'Logbestand',
> > +'guardian loglevel_off' => 'Off',
> > +'guardian loglevel_info' => 'Info',
> > +'guardian loglevel_debug' => 'Debug',
> > +'guardian logtarget_syslog' => 'Systemlog',
> > +'guardian logtarget_file' => 'File',
> > +'guardian logtarget_console' => 'Console',
> > +'guardian priolevel_high' => '1 - High',
> > +'guardian priolevel_medium' => '2 - Medium',
> > +'guardian priolevel_low' => '3 - Low',
> > +'guardian priolevel_very_low' => '4 - Very low',
> > +'guardian timelimit' => 'Tijdlimiet',
> > +
> > +);
> > +
> > +#EOF
> > diff --git a/config/guardian/guardian.pl.pl
> > b/config/guardian/guardian.pl.pl
> > new file mode 100644
> > index 0000000..18cb396
> > --- /dev/null
> > +++ b/config/guardian/guardian.pl.pl
> > @@ -0,0 +1,23 @@
> > +%tr = ( 
> > +%tr,
> > +
> > +'guardian alertfile' => 'Plik alertów',
> > +'guardian configuration' => 'Konfiguracja Guardian\'a',
> > +'guardian ignorefile' => 'Plik ignorowanych',
> > +'guardian interface' => 'Interfejs',
> > +'guardian logfile' => 'Plik Log',
> > +'guardian loglevel_off' => 'Off',
> > +'guardian loglevel_info' => 'Info',
> > +'guardian loglevel_debug' => 'Debug',
> > +'guardian logtarget_syslog' => 'Systemlog',
> > +'guardian logtarget_file' => 'File',
> > +'guardian logtarget_console' => 'Console',
> > +'guardian priolevel_high' => '1 - High',
> > +'guardian priolevel_medium' => '2 - Medium',
> > +'guardian priolevel_low' => '3 - Low',
> > +'guardian priolevel_very_low' => '4 - Very low',
> > +'guardian timelimit' => 'Ograniczenie czasowe',
> > +
> > +);
> > +
> > +#EOF
> > diff --git a/config/guardian/guardian.ru.pl
> > b/config/guardian/guardian.ru.pl
> > new file mode 100644
> > index 0000000..34b8928
> > --- /dev/null
> > +++ b/config/guardian/guardian.ru.pl
> > @@ -0,0 +1,24 @@
> > +%tr = ( 
> > +%tr,
> > +
> > +'guardian alertfile' => 'Alertfile',
> > +'guardian configuration' => 'Настройки защиты',
> > +'guardian ignorefile' => 'Ignorefile',
> > +'guardian interface' => 'Интерфейс',
> > +'guardian logfile' => 'Logfile',
> > +'guardian loglevel_off' => 'Off',
> > +'guardian loglevel_info' => 'Info',
> > +'guardian loglevel_debug' => 'Debug',
> > +'guardian logtarget_syslog' => 'Systemlog',
> > +'guardian logtarget_file' => 'File',
> > +'guardian logtarget_console' => 'Console',
> > +'guardian priolevel_high' => '1 - High',
> > +'guardian priolevel_medium' => '2 - Medium',
> > +'guardian priolevel_low' => '3 - Low',
> > +'guardian priolevel_very_low' => '4 - Very low',
> > +'guardian timelimit' => 'Ограничение времени',
> > +
> > +);
> > +
> > +#EOF
> > +
> > diff --git a/config/guardian/guardian.tr.pl
> > b/config/guardian/guardian.tr.pl
> > new file mode 100644
> > index 0000000..701dc15
> > --- /dev/null
> > +++ b/config/guardian/guardian.tr.pl
> > @@ -0,0 +1,24 @@
> > +%tr = ( 
> > +%tr,
> > +
> > +'guardian alertfile' => 'Uyarı dosyası',
> > +'guardian configuration' => 'Koruyucu Yapılandırması',
> > +'guardian ignorefile' => 'Yoksayılan dosya',
> > +'guardian interface' => 'Ara birim',
> > +'guardian logfile' => 'Günlük dosyası',
> > +'guardian loglevel_off' => 'Off',
> > +'guardian loglevel_info' => 'Info',
> > +'guardian loglevel_debug' => 'Debug',
> > +'guardian logtarget_syslog' => 'Systemlog',
> > +'guardian logtarget_file' => 'File',
> > +'guardian logtarget_console' => 'Console',
> > +'guardian priolevel_high' => '1 - High',
> > +'guardian priolevel_medium' => '2 - Medium',
> > +'guardian priolevel_low' => '3 - Low',
> > +'guardian priolevel_very_low' => '4 - Very low',
> > +'guardian timelimit' => 'Zaman sınırlaması',
> > +
> > +);
> > +
> > +#EOF
> > +
> > diff --git a/html/cgi-bin/guardian.cgi b/html/cgi-bin/guardian.cgi
> > index 9d044fe..963a564 100644
> > --- a/html/cgi-bin/guardian.cgi
> > +++ b/html/cgi-bin/guardian.cgi
> > @@ -534,33 +534,39 @@ END
> >  			<tr>
> >  				<td colspan='2' class='base'
> > bgcolor='$color{'color20'}'><b>$Lang::tr{'guardian common
> > settings'}</b></td>
> >  			</tr>
> > +
> >  			<tr>
> > -				<td width='20%'
> > class='base'>$Lang::tr{'guardian enabled'}:</td>
> > +				<td width='25%'
> > class='base'>$Lang::tr{'guardian enabled'}:</td>
> >  				<td><input type='checkbox'
> > name='GUARDIAN_ENABLED' $checked{'GUARDIAN_ENABLED'}{'on'} /></td>
> >  			</tr>
> > +
> >  			<tr>
> >  				<td colspan='2'><br></td>
> >  			</tr>
> > +
> >  			<tr>
> > -				<td width='20%'
> > class='base'>$Lang::tr{'guardian watch snort alertfile'}</td>
> > +				<td width='25%'
> > class='base'>$Lang::tr{'guardian watch snort alertfile'}</td>
> >  				<td align='left'>on <input
> > type='radio'
> > name='GUARDIAN_MONITOR_SNORT' value='on'
> > $checked{'GUARDIAN_MONITOR_SNORT'}{'on'} /> /
> >  				<input type='radio'
> > name='GUARDIAN_MONITOR_SNORT' value='off'
> > $checked{'GUARDIAN_MONITOR_SNORT'}{'off'} /> off</td>
> >  			</tr>
> > +
> >  			<tr>
> > -				<td width='20%'
> > class='base'>$Lang::tr{'guardian block ssh brute-force'}</td>
> > +				<td width='25%'
> > class='base'>$Lang::tr{'guardian block ssh brute-force'}</td>
> >  				<td align='left'>on <input
> > type='radio'
> > name='GUARDIAN_MONITOR_SSH' value='on'
> > $checked{'GUARDIAN_MONITOR_SSH'}{'on'}
> > /> /
> >  				<input type='radio'
> > name='GUARDIAN_MONITOR_SSH' value='off'
> > $checked{'GUARDIAN_MONITOR_SSH'}{'off'} /> off</td>
> >  			</tr>
> > +
> >  			<tr>
> > -				<td width='20%'
> > class='base'>$Lang::tr{'guardian block httpd brute-force'}</td>
> > +				<td width='25%'
> > class='base'>$Lang::tr{'guardian block httpd brute-force'}</td>
> >  				<td align='left'>on <input
> > type='radio'
> > name='GUARDIAN_MONITOR_HTTPD' value='on'
> > $checked{'GUARDIAN_MONITOR_HTTPD'}{'on'} /> /
> >  				<input type='radio'
> > name='GUARDIAN_MONITOR_HTTPD' value='off'
> > $checked{'GUARDIAN_MONITOR_HTTPD'}{'off'} /> off</td>
> >  			</tr>
> >  END
> > +
> >  			# Display owncloud checkbox when the addon
> > is
> > installed.
> >  			if ( -e "$owncloud_meta" ) {
> >  				print"<tr>\n";
> > -				print"<td width='20%'
> > class='base'>$Lang::tr{'guardian block owncloud brute-
> > force'}</td>\n";
> > +				print"<td width='25%'
> > class='base'>$Lang::tr{'guardian block owncloud brute-
> > force'}</td>\n";
> >  				print"<td align='left'>on <input
> > type='radio'
> > name='GUARDIAN_MONITOR_OWNCLOUD' value='on'
> > $checked{'GUARDIAN_MONITOR_OWNCLOUD'}{'on'} /> /\n";
> >  				print"<input type='radio'
> > name='GUARDIAN_MONITOR_OWNCLOUD' value='off'
> > $checked{'GUARDIAN_MONITOR_OWNCLOUD'}{'off'} /> off</td>\n";
> >  				print"</tr>\n";
> > @@ -569,62 +575,64 @@ END
> >  			<tr>
> >  				<td colspan='2'><br></td>
> >  			</tr>
> > +
> >  			<tr>
> >  				<td align='left'
> > width='20%'>$Lang::tr{'guardian logfacility'}:</td>
> > -				<td><select
> > id='GUARDIAN_LOG_FACILITY'
> > name='GUARDIAN_LOG_FACILITY'>
> > -					<option
> > id='logfacility_syslog'
> > value='syslog'
> > $selected{'GUARDIAN_LOG_FACILITY'}{'syslog'}>syslog</option>
> > -					<option
> > id='logfacility_file'
> > value='file'
> > $selected{'GUARDIAN_LOG_FACILITY'}{'file'}>file</option>
> > -					<option
> > id='logfacility_console'
> > value='console'
> > $selected{'GUARDIAN_LOG_FACILITY'}{'console'}>console</option>
> > +				<td width='25%'><select
> > id='GUARDIAN_LOG_FACILITY' name='GUARDIAN_LOG_FACILITY'>
> > +					<option
> > id='logfacility_syslog'
> > value='syslog'
> > $selected{'GUARDIAN_LOG_FACILITY'}{'syslog'}>$Lang::tr{'guardian
> > logtarget_syslog'}</option>
> > +					<option
> > id='logfacility_file'
> > value='file'
> > $selected{'GUARDIAN_LOG_FACILITY'}{'file'}>$Lang::tr{'guardian
> > logtarget_file'}</option>
> > +					<option
> > id='logfacility_console'
> > value='console'
> > $selected{'GUARDIAN_LOG_FACILITY'}{'console'}>$Lang::tr{'guardian
> > logtarget_console'}</option>
> > +				</select></td>
> > +
> > +				<td align='left'
> > width='20%'>$Lang::tr{'guardian loglevel'}:</td>
> > +				<td width='25%'><select
> > id='GUARDIAN_LOGLEVEL' name='GUARDIAN_LOGLEVEL'>
> > +					<option id='loglevel_off'
> > value='off'
> > $selected{'GUARDIAN_LOGLEVEL'}{'off'}>$Lang::tr{'guardian
> > loglevel_off'}</option>
> > +					<option id='loglevel_info'
> > value='info'
> > $selected{'GUARDIAN_LOGLEVEL'}{'info'}>$Lang::tr{'guardian
> > loglevel_info'}</option>
> > +					<option
> > id='loglevel_debug'
> > value='debug'
> > $selected{'GUARDIAN_LOGLEVEL'}{'debug'}>$Lang::tr{'guardian
> > loglevel_debug'}</option>
> >  				</select></td>
> >  			</tr>
> > -			<tr>
> > +
> > +			<tr class="GUARDIAN_LOGFILE">
> >  				<td colspan='2'><br></td>
> >  			</tr>
> > -			<tr>
> > -				<td align='left'
> > width='20%'>$Lang::tr{'guardian loglevel'}:</td>
> > -				<td><select id='GUARDIAN_LOGLEVEL'
> > name='GUARDIAN_LOGLEVEL'>
> > -					<option id='loglevel_off'
> > value='off'
> > $selected{'GUARDIAN_LOGLEVEL'}{'off'}>off</option>
> > -					<option id='loglevel_info'
> > value='info' $selected{'GUARDIAN_LOGLEVEL'}{'info'}>info</option>
> > -					<option
> > id='loglevel_debug'
> > value='debug'
> > $selected{'GUARDIAN_LOGLEVEL'}{'debug'}>debug</option>
> > -				</select></td>
> > +
> > +			<tr class="GUARDIAN_LOGFILE">
> > +				<td width='25%'
> > class='base'>$Lang::tr{'guardian logfile'}:</td>
> > +				<td><input type='text'
> > name='GUARDIAN_LOGFILE' value='$settings{'GUARDIAN_LOGFILE'}'
> > size='30'
> > /></td>
> >  			</tr>
> > +
> >  			<tr class="GUARDIAN_SNORT_PRIORITY_LEVEL">
> >  				<td colspan='2'><br></td>
> >  			</tr>
> > +
> >  			<tr class="GUARDIAN_SNORT_PRIORITY_LEVEL">
> >  				<td align='left'
> > width='20%'>$Lang::tr{'guardian priority level'}:</td>
> >  				<td><select
> > name='GUARDIAN_SNORT_PRIORITY_LEVEL'>
> > -					<option value='1'
> > $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'1'}>1</option>
> > -					<option value='2'
> > $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'2'}>2</option>
> > -					<option value='3'
> > $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'3'}>3</option>
> > -					<option value='4'
> > $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'4'}>4</option>
> > +					<option value='1'
> > $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'1'}>$Lang::tr{'guardian
> > priolevel_high'}</option>
> > +					<option value='2'
> > $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'2'}>$Lang::tr{'guardian
> > priolevel_medium'}</option>
> > +					<option value='3'
> > $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'3'}>$Lang::tr{'guardian
> > priolevel_low'}</option>
> > +					<option value='4'
> > $selected{'GUARDIAN_SNORT_PRIORITY_LEVEL'}{'4'}>$Lang::tr{'guardian
> > priolevel_very_low'}</option>
> >  				</select></td>
> > +
> > +				<td width='25%'
> > class='base'>$Lang::tr{'guardian blockcount'}:</td>
> > +				<td><input type='text'
> > name='GUARDIAN_BLOCKCOUNT' value='$settings{'GUARDIAN_BLOCKCOUNT'}'
> > size='5'
> > /></td>
> >  			</tr>
> > +
> >  			<tr>
> >  				<td colspan='2'><br></td>
> >  			</tr>
> > +
> >  			<tr>
> > -				<td width='20%'
> > class='base'>$Lang::tr{'guardian firewallaction'}:</td>
> > +				<td width='25%'
> > class='base'>$Lang::tr{'guardian firewallaction'}:</td>
> >  				<td><select
> > name='GUARDIAN_FIREWALL_ACTION'>
> >  					<option value='DROP'
> > $selected{'GUARDIAN_FIREWALL_ACTION'}{'DROP'}>Drop</option>
> >  					<option value='REJECT'
> > $selected{'GUARDIAN_FIREWALL_ACTION'}{'REJECT'}>Reject</option>
> >  				</select></td>
> > -			</tr>
> > -			<tr>
> > -				<td colspan='2'><br></td>
> > -			</tr>
> > -			<tr>
> > -				<td width='20%'
> > class='base'>$Lang::tr{'guardian blockcount'}:</td>
> > -				<td><input type='text'
> > name='GUARDIAN_BLOCKCOUNT' value='$settings{'GUARDIAN_BLOCKCOUNT'}'
> > size='5'
> > /></td>
> > -			</tr>
> > -			<tr>
> > -				<td width='20%'
> > class='base'>$Lang::tr{'guardian blocktime'}:</td>
> > +
> > +				<td width='25%'
> > class='base'>$Lang::tr{'guardian blocktime'}:</td>
> >  				<td><input type='text'
> > name='GUARDIAN_BLOCKTIME' value='$settings{'GUARDIAN_BLOCKTIME'}'
> > size='10'
> > /></td>
> >  			</tr>
> > -			<tr class="GUARDIAN_LOGFILE">
> > -                                <td width='20%'
> > class='base'>$Lang::tr{'guardian logfile'}:</td>
> > -                                <td><input type='text'
> > name='GUARDIAN_LOGFILE' value='$settings{'GUARDIAN_LOGFILE'}'
> > size='30'
> > /></td>
> > -                        </tr>
> > +
> >  		</table>
> >  END
> >  
> > diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl
> > index 400c2fe..261b92f 100644
> > --- a/langs/de/cgi-bin/de.pl
> > +++ b/langs/de/cgi-bin/de.pl
> > @@ -1217,30 +1217,6 @@
> >  'green interface' => 'Grünes Interface',
> >  'grouptype' => 'Gruppentyp:',
> >  'guaranteed bandwith' => 'Garantierte Bandbreite',
> > -'guardian' => 'Guardian',
> > -'guardian block a host' => 'Host blocken',
> > -'guardian block httpd brute-force' => 'httpd-Brute-Force-
> > Erkennung',
> > -'guardian block owncloud brute-force' => 'Owncloud-Brute-Force-
> > Erkennung',
> > -'guardian block ssh brute-force' => 'SSH-Brute-Force-Erkennung',
> > -'guardian blockcount' => 'Trefferschwelle',
> > -'guardian blocked hosts' => 'Aktuell geblockte Hosts',
> > -'guardian blocking of this address is not allowed' => 'Diese
> > Addresse darf
> > nicht gelockt werden.',
> > -'guardian blocktime' => 'Blockzeit',
> > -'guardian common settings' => 'Allgemeine Einstellungen',
> > -'guardian configuration' => 'Guardian-Konfiguration',
> > -'guardian daemon' => 'Daemon',
> > -'guardian empty input' => 'Fehlende Angabe: Bitte eine gültige IP-
> > Addresse
> > oder Netzwerk angeben.',
> > -'guardian enabled' => 'Guardian aktivieren',
> > -'guardian firewallaction' => 'Firewall-Aktion',
> > -'guardian ignored hosts' => 'Ignorierte Hosts',
> > -'guardian invalid address or subnet' => 'Ungültige Host-Addresse
> > oder
> > Netzwerk.',
> > -'guardian logfacility' => 'Logziel',
> > -'guardian logfile' => 'Logdatei',
> > -'guardian loglevel' => 'Loglevel',
> > -'guardian no entries' => 'Keine Einträge vorhanden.',
> > -'guardian priority level' => 'Prioritätslevel',
> > -'guardian service' => 'Guardian-Dienst',
> > -'guardian watch snort alertfile' => 'Snort-Alarme auswerten',
> >  'guest ok' => 'Gastzugang gewähren',
> >  'gui settings' => 'Benutzeroberfläche',
> >  'gz with key' => 'Nur ein verschlüsseltes Archiv kann auf dieser
> > Maschine
> > wiederhergestellt werden.',
> > diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl
> > index 7a7c104..0e5b46d 100644
> > --- a/langs/en/cgi-bin/en.pl
> > +++ b/langs/en/cgi-bin/en.pl
> > @@ -1246,32 +1246,6 @@
> >  'green interface' => 'Green Interface',
> >  'grouptype' => 'Grouptype:',
> >  'guaranteed bandwith' => 'Guaranteed bandwith',
> > -'guardian' => 'Guardian',
> > -'guardian block a host' => 'Block host',
> > -'guardian block httpd brute-force' => 'httpd Brute Force
> > Detection',
> > -'guardian block owncloud brute-force' => 'Owncloud Brute Force
> > detection',
> > -'guardian block ssh brute-force' => 'SSH Brute Force Detection',
> > -'guardian blockcount' => 'Strike Threshold',
> > -'guardian blocked hosts' => 'Currently blocked hosts',
> > -'guardian blocking of this address is not allowed' => 'Blocking of
> > the given
> > address is not allowed.',
> > -'guardian blocktime' => 'Block Time',
> > -'guardian common settings' => 'Common Settings',
> > -'guardian configuration' => 'Guardian Configuration',
> > -'guardian daemon' => 'Daemon',
> > -'guardian empty input' => 'Empty input: Please perform a valid
> > host address
> > or subnet.',
> > -'guardian enabled' => 'Enable Guardian',
> > -'guardian firewallaction' => 'Firewall Action',
> > -'guardian ignored hosts' => 'Ignored Hosts',
> > -'guardian invalid address or subnet' => 'Invalid host address or
> > subnet.',
> > -'guardian logfacility' => 'Log Facility',
> > -'guardian logfile' => 'Log File',
> > -'guardian loglevel' => 'Log Level',
> > -'guardian no entries' => 'No entries at the moment.',
> > -'guardian not running no hosts can be blocked' => 'Guardian is not
> > running.
> > No hosts will be blocked.',
> > -'guardian priority level' => 'Priority Level',
> > -'guardian service' => 'Guardian Service',
> > -'guardian snort alertfile' => 'Snort Alert File',
> > -'guardian watch snort alertfile' => 'Monitor Snort Alert File',
> >  'guest ok' => 'allow guests to access',
> >  'gui settings' => 'GUI Settings',
> >  'gz with key' => 'Only an encrypted archive can be restored on
> > this
> > machine.',
> > diff --git a/langs/es/cgi-bin/es.pl b/langs/es/cgi-bin/es.pl
> > index 7ac5d11..ede7b66 100644
> > --- a/langs/es/cgi-bin/es.pl
> > +++ b/langs/es/cgi-bin/es.pl
> > @@ -886,12 +886,6 @@
> >  'green' => 'Green',
> >  'green interface' => 'Interfaz Green',
> >  'guaranteed bandwith' => 'Ancho de banda garantizado',
> > -'guardian alertfile' => 'Archivo de alerta',
> > -'guardian configuration' => 'Configuración de Guardian',
> > -'guardian ignorefile' => 'Archivo Ignorefile',
> > -'guardian interface' => 'Interfaz',
> > -'guardian logfile' => 'Archivo de registro',
> > -'guardian timelimit' => 'Límite de tiempo',
> >  'guest ok' => 'permitir acceso de invitado',
> >  'gui settings' => 'Configuraciones de GUI',
> >  'gz with key' => 'Esta máquina sólo se puede restaurar desde
> > archivos
> > encriptados',
> > diff --git a/langs/fr/cgi-bin/fr.pl b/langs/fr/cgi-bin/fr.pl
> > index 61c514d..e896c9b 100644
> > --- a/langs/fr/cgi-bin/fr.pl
> > +++ b/langs/fr/cgi-bin/fr.pl
> > @@ -877,12 +877,6 @@
> >  'green' => 'VERT',
> >  'green interface' => 'Interface VERTE',
> >  'guaranteed bandwith' => 'Bande passante garantie',
> > -'guardian alertfile' => 'Fichier d\'alerte',
> > -'guardian configuration' => 'Configuration du gardien',
> > -'guardian ignorefile' => 'Fichier d\'ignorés',
> > -'guardian interface' => 'Interface',
> > -'guardian logfile' => 'Fichier log',
> > -'guardian timelimit' => 'Délai maximum',
> >  'guest ok' => 'autoriser l\'accès aux invités',
> >  'gui settings' => 'Réglage GUI',
> >  'gz with key' => 'Seulement les archives chiffrées peuvent être
> > restaurées
> > sur cette machine.',
> > diff --git a/langs/it/cgi-bin/it.pl b/langs/it/cgi-bin/it.pl
> > index 2ed22f2..b039cdb 100644
> > --- a/langs/it/cgi-bin/it.pl
> > +++ b/langs/it/cgi-bin/it.pl
> > @@ -1187,13 +1187,6 @@
> >  'green' => 'Verde',
> >  'green interface' => 'Interface Verde',
> >  'grouptype' => 'Grouptype:',
> > -'guaranteed bandwith' => 'Guaranteed bandwith',
> > -'guardian alertfile' => 'Alertfile',
> > -'guardian configuration' => 'Guardian Configuration',
> > -'guardian ignorefile' => 'Ignorefile',
> > -'guardian interface' => 'Interface',
> > -'guardian logfile' => 'Logfile',
> > -'guardian timelimit' => 'Timelimit',
> >  'guest ok' => 'allow guests to access',
> >  'gui settings' => 'Settaggio GUI',
> >  'gz with key' => 'Only an encrypted archive can be restored on
> > this
> > machine.',
> > diff --git a/langs/nl/cgi-bin/nl.pl b/langs/nl/cgi-bin/nl.pl
> > index 2469ff2..49c0cce 100644
> > --- a/langs/nl/cgi-bin/nl.pl
> > +++ b/langs/nl/cgi-bin/nl.pl
> > @@ -1168,12 +1168,6 @@
> >  'green interface' => 'Groene Interface',
> >  'grouptype' => 'Groeptype:',
> >  'guaranteed bandwith' => 'Gegarandeerde bandbreedte',
> > -'guardian alertfile' => 'Meldingenbestand',
> > -'guardian configuration' => 'Guardian configuratie',
> > -'guardian ignorefile' => 'Negeerbestand',
> > -'guardian interface' => 'Interface',
> > -'guardian logfile' => 'Logbestand',
> > -'guardian timelimit' => 'Tijdlimiet',
> >  'guest ok' => 'verleen gasten toegang',
> >  'gui settings' => 'Gebruikersinterface',
> >  'gz with key' => 'Alleen gecodeerde archieven kunnen worden
> > teruggezet op
> > deze machine.',
> > diff --git a/langs/pl/cgi-bin/pl.pl b/langs/pl/cgi-bin/pl.pl
> > index 9214205..e2f9da5 100644
> > --- a/langs/pl/cgi-bin/pl.pl
> > +++ b/langs/pl/cgi-bin/pl.pl
> > @@ -885,12 +885,6 @@
> >  'green' => 'Green',
> >  'green interface' => 'Interfejs Green',
> >  'guaranteed bandwith' => 'Gwarantowane pasmo',
> > -'guardian alertfile' => 'Plik alertów',
> > -'guardian configuration' => 'Konfiguracja Guardian\'a',
> > -'guardian ignorefile' => 'Plik ignorowanych',
> > -'guardian interface' => 'Interfejs',
> > -'guardian logfile' => 'Plik Log',
> > -'guardian timelimit' => 'Ograniczenie czasowe',
> >  'guest ok' => 'zezwól na dostęp dla gości',
> >  'gui settings' => 'Ustawienia GUI',
> >  'gz with key' => 'Tylko zaszyfrowane archiwum może być odtworzone
> > na tej
> > maszynie.',
> > diff --git a/langs/ru/cgi-bin/ru.pl b/langs/ru/cgi-bin/ru.pl
> > index 6a45f7f..4b0edb5 100644
> > --- a/langs/ru/cgi-bin/ru.pl
> > +++ b/langs/ru/cgi-bin/ru.pl
> > @@ -880,12 +880,6 @@
> >  'green' => 'Green',
> >  'green interface' => 'Green Интерфейс',
> >  'guaranteed bandwith' => 'Гарантированная пропускная способность',
> > -'guardian alertfile' => 'Alertfile',
> > -'guardian configuration' => 'Настройки защиты',
> > -'guardian ignorefile' => 'Ignorefile',
> > -'guardian interface' => 'Интерфейс',
> > -'guardian logfile' => 'Logfile',
> > -'guardian timelimit' => 'Ограничение времени',
> >  'guest ok' => 'Разрешить гостевой доступ',
> >  'gui settings' => 'Внешний вид',
> >  'gz with key' => 'Только зашифрованный архив может быть
> > восстановлен на этой
> > машине.',
> > diff --git a/langs/tr/cgi-bin/tr.pl b/langs/tr/cgi-bin/tr.pl
> > index 3af2339..9eb3000 100644
> > --- a/langs/tr/cgi-bin/tr.pl
> > +++ b/langs/tr/cgi-bin/tr.pl
> > @@ -1245,12 +1245,6 @@
> >  'green interface' => 'Yeşil Arabirim',
> >  'grouptype' => 'Grup türü:',
> >  'guaranteed bandwith' => 'Garantili bant genişliği',
> > -'guardian alertfile' => 'Uyarı dosyası',
> > -'guardian configuration' => 'Koruyucu Yapılandırması',
> > -'guardian ignorefile' => 'Yoksayılan dosya',
> > -'guardian interface' => 'Ara birim',
> > -'guardian logfile' => 'Günlük dosyası',
> > -'guardian timelimit' => 'Zaman sınırlaması',
> >  'guest ok' => 'istemcilere erişim izni',
> >  'gui settings' => 'GUI Ayarları',
> >  'gz with key' => 'Sadece şifreli bir arşiv bu makinede geri
> > yüklenebilir.',
> > diff --git a/lfs/guardian b/lfs/guardian
> > index b02ec54..c016f04 100644
> > --- a/lfs/guardian
> > +++ b/lfs/guardian
> > @@ -1,7 +1,7 @@
> >  ##################################################################
> > ###########
> > ##
> >  #                                                                 
> >            
> >  #
> >  # IPFire.org - A linux based
> > firewall                                         #
> > -# Copyright (C) 2007  Michael Tremer & Christian
> > Schmidt                      #
> > +# Copyright (C) 2007-2016  IPFire Team  <info@ipfire.org>         
> >            
> >  #
> >  #                                                                 
> >            
> >  #
> >  # This program is free software: you can redistribute it and/or
> > modify        #
> >  # it under the terms of the GNU General Public License as
> > published
> > by        #
> > @@ -33,11 +33,10 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
> >  TARGET     = $(DIR_INFO)/$(THISAPP)
> >  
> >  PROG       = guardian
> > -PAK_VER    = 10
> > +PAK_VER    = 11
> >  
> >  DEPS       = "perl-inotify2 perl-Net-IP"
> >  
> > -
> >  ##################################################################
> > ###########
> > ##
> >  # Top-level Rules
> >  ##################################################################
> > ###########
> > ##
> > @@ -108,5 +107,9 @@ $(TARGET) : $(patsubst
> > %,$(DIR_DL)/%,$(objects))
> >  	install -v -m 644
> > $(DIR_SRC)/config/guardian/guardian.logrotate \
> >  		/etc/logrotate.d/guardian
> >  
> > +	# Install addon-specific language-files.
> > +	install -v -m 004 $(DIR_SRC)/config/guardian/guardian.*.pl
> > \
> > +		/var/ipfire/addon-lang/
> > +
> >  	@rm -rf $(DIR_APP)
> >  	@$(POSTBUILD)