]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
Merge branch 'seventeen' of ssh://git.ipfire.org/pub/git/ipfire-2.x into seventeen
authorArne Fitzenreiter <arne_f@ipfire.org>
Sun, 2 Nov 2014 08:38:23 +0000 (09:38 +0100)
committerArne Fitzenreiter <arne_f@ipfire.org>
Sun, 2 Nov 2014 08:38:23 +0000 (09:38 +0100)
27 files changed:
config/rootfiles/common/configroot
config/rootfiles/common/installer
config/rootfiles/packages/tmux [new file with mode: 0644]
doc/language_issues.tr
langs/it/cgi-bin/it.pl [new file with mode: 0644]
langs/list
langs/tr/cgi-bin/tr.pl
lfs/glibc
lfs/installer
lfs/squidclamav
lfs/strongswan
lfs/tmux [new file with mode: 0644]
make.sh
src/initscripts/init.d/console
src/installer/Makefile.am
src/installer/configure.ac
src/installer/downloadsource.sh
src/installer/dracut-module/70-dhcpcd.exe
src/installer/dracut-module/module-setup.sh
src/installer/dracut-module/run-installer.sh
src/installer/execute-postinstall.sh [new file with mode: 0644]
src/installer/hw.c
src/installer/hw.h
src/installer/main.c
src/installer/start-networking.sh
src/patches/squidclamav-5.11-source-address-parsing-issue.patch [new file with mode: 0644]
tools/make-functions

index 8e5aff828ffbfe4dce1a2d39f7b49e5a31cc2a47..eaf1af6ed8812879f6b33ca9bcfaf6d0b00db52a 100644 (file)
@@ -80,6 +80,7 @@ var/ipfire/langs
 #var/ipfire/langs/en.pl
 #var/ipfire/langs/es.pl
 #var/ipfire/langs/fr.pl
+#var/ipfire/langs/it.pl
 #var/ipfire/langs/list
 #var/ipfire/langs/nl.pl
 #var/ipfire/langs/pl.pl
index 71b537dd3355915abd3c94258b921300317406f4..a0cb093434f75794bab247a158419483e10711ca 100644 (file)
@@ -1,4 +1,5 @@
 #usr/bin/downloadsource.sh
+#usr/bin/execute-postinstall.sh
 #usr/bin/start-networking.sh
 #usr/bin/installer
 #usr/lib/dracut/modules.d/99installer
diff --git a/config/rootfiles/packages/tmux b/config/rootfiles/packages/tmux
new file mode 100644 (file)
index 0000000..9e0fd02
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin/tmux
+#usr/share/man/man1/tmux.1
index cb16a44805c336756c8e17259ef0801433c82b38..f50f01d47da6a91af0605b288c0037a4cc23565c 100644 (file)
@@ -663,12 +663,6 @@ WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: bytes
-WARNING: untranslated string: fwdfw err concon
-WARNING: untranslated string: fwdfw err ratecon
-WARNING: untranslated string: fwdfw limitconcon
-WARNING: untranslated string: fwdfw maxconcon
-WARNING: untranslated string: fwdfw numcon
-WARNING: untranslated string: fwdfw ratelimit
 WARNING: untranslated string: fwhost err hostip
 WARNING: untranslated string: route config changed
 WARNING: untranslated string: routing config added
diff --git a/langs/it/cgi-bin/it.pl b/langs/it/cgi-bin/it.pl
new file mode 100644 (file)
index 0000000..0b5e786
--- /dev/null
@@ -0,0 +1,2680 @@
+%tr = ( 
+%tr,
+
+'Act as' => 'Lavora come:',
+'Add Level7 rule' => 'Aggiungo una regola al Level7',
+'Add Port Rule' => 'Aggiungo regola porta',
+'Add Rule' => 'Aggiungo regola',
+'Add a route' => 'Aggiungi una rotta',
+'Async logging enabled' => 'Abilita scrittura asincrona di file syslog',
+'Choose Rule' => 'Scegli <u> una </ u> delle seguenti regole.',
+'Class' => 'Classe',
+'Class was deleted' => 'Una classe è stata cancellata',
+'Client status and controlc' => 'Stato del client e controllo:',
+'ConnSched action' => 'Azione:',
+'ConnSched add action' => 'Aggiungo azione',
+'ConnSched change profile title' => 'Cambio profilo:',
+'ConnSched days' => 'Giorno:',
+'ConnSched dial' => 'Connesso',
+'ConnSched down' => 'giu',
+'ConnSched hangup' => 'Disconnesso',
+'ConnSched ipsecstart' => 'IPsec (re)start',
+'ConnSched ipsecstop' => 'IPsec stop',
+'ConnSched reboot' => 'Riavvia',
+'ConnSched reconnect' => 'Riconnetto',
+'ConnSched scheduled actions' => 'Schedula Azione',
+'ConnSched scheduler' => 'Schedula',
+'ConnSched select profile' => 'seleziona profilo',
+'ConnSched shutdown' => 'Spegni',
+'ConnSched time' => 'Ora:',
+'ConnSched up' => 'Su',
+'ConnSched weekdays' => 'Giorno della settimana:',
+'Edit an existing route' => 'Modifica il percorso esistente',
+'Enter TOS' => 'Attivare o disattivare TOS-bits <br /> e premere <i>Salva</i>.',
+'Existing Files' => 'File nel database',
+'HDD temperature' => 'Temperatura HDD',
+'Level7 Protocol' => 'Level7-Protocollo',
+'Level7 Rule' => 'Level7-Rule',
+'Level7 rule' => 'Level7 rule',
+'Local VPN IP' => 'Network Interna (Verde):',
+'MB read' => 'MB Letti',
+'MB written' => 'MB Scritti',
+'MTU' => 'MTU Dimensione:',
+'Number of IPs for the pie chart' => 'Numero di IP per il grafico a torta',
+'Number of Ports for the pie chart' => 'Numero di porte per il grafico a torta',
+'OVPN' => 'OpenVPN',
+'OpenVPN' => 'OpenVPN',
+'Pages' => 'Pagine',
+'Ping' => 'Ping :',
+'Port Rule' => 'Regola-Porta',
+'QoS not enabled' => 'QoS non è abilitata!',
+'Queuelenght' => 'Queuelenght',
+'Remote IP' => 'IP Remoto / Hostname (DynDNS):',
+'Remote VPN IP' => 'VPN Subnet (e.g. 10.0.10.0/255.255.255.0):',
+'Resolv' => 'Resolv-Retry:',
+'Scan for Files' => 'Scansiona i files',
+'Scan from Directory' => 'Scansiona le directory',
+'Set time on boot' => 'Settare l orologio di sistema al boot',
+'Subclass' => 'Subclass',
+'TOS Bits' => 'TOS-Bits',
+'TOS Rule' => 'TOS-Rule',
+'TOS rule' => 'TOS rule',
+'The class number does not match the specified interface.' => 'La classe non corrisponde l interfaccia specificata.',
+'The destination IP address is invalid.' => 'L\' indirizzo IP di destinazione non è valido.',
+'The source IP address is invalid.' => 'L\' indirizzo IP di origine non è valido.',
+'Utilization on' => 'Utilizzo su',
+'Verbose' => 'Verbose:',
+'WakeOnLan' => 'Wake On Lan',
+'a ca certificate with this name already exists' => 'Un certificato CA con questo nome esiste gi&agrave.',
+'a connection with this common name already exists' => 'Una connessione con questo nome comune esiste gi&agrave.',
+'a connection with this name already exists' => 'Una connessione con questo nome esiste gi&agrave.',
+'abort' => 'Annulla',
+'access allowed' => 'Accesso consentito da:',
+'access refused with this oinkcode' => 'Accesso negato al presente Codice',
+'accounting' => 'Contabilità',
+'accounting user nonpdc' => 'Contabilità - Nessun PDC Mode',
+'accounting user pdc' => 'Contabilità - PDC Mode',
+'action' => 'Azione',
+'activate' => 'Attiva',
+'activate user' => 'Attiva Utente',
+'active' => 'Attiva',
+'add' => 'Aggiungi',
+'add a host' => 'Aggiungi host',
+'add a new rule' => 'Aggiungi nuova regola:',
+'add cron' => 'Aggiungi cronjob',
+'add device' => 'Aggiungi device',
+'add network' => 'Aggiungi network',
+'add new alias' => 'Aggiungi nuovo alias',
+'add new lease' => 'Aggiungi un lease fixed',
+'add new ovpn' => 'Impostazioni OpenVPN:',
+'add printer' => 'Aggiungi stampante',
+'add service' => 'Aggiungi servizio',
+'add share' => 'Aggiungi una condivisione',
+'add subclass' => 'Aggiungi subclass',
+'add user' => 'Aggiungi Utente',
+'add xtaccess' => 'Aggiungi un accesso esterno',
+'add-route' => 'Route addizionale',
+'added from dhcp lease list' => 'Aggiunto dalla lista dei lease DHCP',
+'addons' => 'Addons',
+'admin user password has been changed' => '&egrave stata modificata la Password di Admin.',
+'admin users' => 'Utente con privilegi di superutente',
+'administrator user password' => 'Password per l utente Admin:',
+'advanced' => 'avanzato',
+'advanced server' => 'Opzioni avanzate server',
+'advproxy AUTH always required' => 'Richiedere l\'autenticazione per indirizzi sorgente senza restrizioni',
+'advproxy AUTH auth cache TTL' => 'autenticazione cache TTL (in minuti)',
+'advproxy AUTH global settings' => 'Impostazioni di autenticazione globali',
+'advproxy AUTH limit of IP addresses' => 'Limiti IP per utente',
+'advproxy AUTH method' => 'Metodo di Autenticazione',
+'advproxy AUTH method ident' => 'identd',
+'advproxy AUTH method ldap' => 'LDAP',
+'advproxy AUTH method ncsa' => 'Locale',
+'advproxy AUTH method none' => 'None',
+'advproxy AUTH method ntlm' => 'Windows',
+'advproxy AUTH method radius' => 'RADIUS',
+'advproxy AUTH no auth' => 'Domini senza autenticazione (uno per riga)',
+'advproxy AUTH number of auth processes' => 'Numero di processi di autenticazione',
+'advproxy AUTH realm' => 'Authentication realm prompt',
+'advproxy AUTH user IP cache TTL' => 'User/IP cache TTL (in minutes)',
+'advproxy IDENT authorized users' => 'Gli utenti autorizzati (uno per riga)',
+'advproxy IDENT aware hosts' => 'Ident aware hosts (one per line)',
+'advproxy IDENT identd settings' => 'Impostazioni identd comuni',
+'advproxy IDENT required' => 'Richiesti l\’ identificazione identd',
+'advproxy IDENT timeout' => 'Ident timeout (in seconds)',
+'advproxy IDENT unauthorized users' => 'Gli utenti non autorizzati (uno per riga)',
+'advproxy IDENT use negative access list' => 'Utilizzare il controllo degli accessi negativo',
+'advproxy IDENT use positive access list' => 'Utilizzare il controllo degli accessi positivo',
+'advproxy IDENT user based access restrictions' => 'Restrizioni di accesso basato sull utente',
+'advproxy LDAP ADS' => 'Active Directory',
+'advproxy LDAP NDS' => 'Novell eDirectory',
+'advproxy LDAP V2' => 'LDAP versione 2',
+'advproxy LDAP V3' => 'LDAP versione 3',
+'advproxy LDAP auth' => 'LDAP autenticazione',
+'advproxy LDAP basedn' => 'Base DN',
+'advproxy LDAP binddn password' => 'Bind DN password',
+'advproxy LDAP binddn settings' => 'Bind DN settings',
+'advproxy LDAP binddn username' => 'Bind DN username',
+'advproxy LDAP common settings' => 'Common LDAP settings',
+'advproxy LDAP group access control' => 'Group based access control',
+'advproxy LDAP group required' => 'Required group',
+'advproxy LDAP port' => 'Porta',
+'advproxy LDAP server' => 'LDAP Server',
+'advproxy LDAP type' => 'LDAP type',
+'advproxy MIME block types' => ' Block these MIME types (one per line)',
+'advproxy MIME filter' => 'MIME type filter',
+'advproxy NCSA auth' => 'Autenticazione utente Local',
+'advproxy NCSA create user' => 'Crea utente',
+'advproxy NCSA group' => 'Group',
+'advproxy NCSA group membership' => 'Group membership',
+'advproxy NCSA grp disabled' => 'Disabled',
+'advproxy NCSA grp extended' => 'Extended',
+'advproxy NCSA grp standard' => 'Standard',
+'advproxy NCSA min password length' => 'Lunghezza minima della password',
+'advproxy NCSA no accounts' => 'No user accounts available',
+'advproxy NCSA password' => 'Password',
+'advproxy NCSA password confirm' => 'Password (conferma)',
+'advproxy NCSA redirector bypass' => 'Bypass redirection for members of the group',
+'advproxy NCSA update user' => 'Update user',
+'advproxy NCSA user accounts' => 'User accounts',
+'advproxy NCSA user management' => 'Gestione utenti',
+'advproxy NCSA username' => 'Username',
+'advproxy NTLM BDC hostname' => 'BDC hostname',
+'advproxy NTLM PDC hostname' => 'PDC hostname',
+'advproxy NTLM auth' => 'Windows NT/2003 autenticazione',
+'advproxy NTLM auth mode' => 'metodo di autenticazione',
+'advproxy NTLM authorized users' => 'Authorized domain users (one per line)',
+'advproxy NTLM domain' => 'Domain',
+'advproxy NTLM domain settings' => 'Common domain settings',
+'advproxy NTLM unauthorized users' => 'Unauthorized domain users (one per line)',
+'advproxy NTLM use integrated auth' => 'Enable Windows integrated authentication',
+'advproxy NTLM use negative access list' => 'Use negative access control',
+'advproxy NTLM use positive access list' => 'Use positive access control',
+'advproxy NTLM user based access restrictions' => 'User based access restrictions',
+'advproxy RADIUS authorized users' => 'Authorized users (one per line)',
+'advproxy RADIUS identifier' => 'Identifier',
+'advproxy RADIUS port' => 'Port',
+'advproxy RADIUS radius settings' => 'Common RADIUS settings',
+'advproxy RADIUS secret' => 'Shared secret',
+'advproxy RADIUS server' => 'RADIUS Server',
+'advproxy RADIUS unauthorized users' => 'Unauthorized users (one per line)',
+'advproxy RADIUS use negative access list' => 'Use negative access control',
+'advproxy RADIUS use positive access list' => 'Use positive access control',
+'advproxy RADIUS user based access restrictions' => 'User based access restrictions',
+'advproxy UA enable filter' => 'Attiva il controllo del browser',
+'advproxy access' => 'Access',
+'advproxy admin mail' => 'Cache administrator e-mail',
+'advproxy advanced proxy' => 'Advanced Proxy',
+'advproxy advanced web proxy' => 'Advanced Web Proxy',
+'advproxy advanced web proxy configuration' => 'Configurazione Avanzata del Proxy WEB',
+'advproxy allowed subnets' => 'basato sulle sottoreti (uno per riga)',
+'advproxy allowed web browsers' => 'sono permessi i seguenti clienti per l\'accesso web',
+'advproxy back to main page' => 'Torna alla pagina principale',
+'advproxy banned ip clients' => 'Indirizzi IP esclusi (uno per riga)',
+'advproxy banned mac clients' => 'Indirizzi MAC esclusi (uno per riga)',
+'advproxy cache management' => 'Cache management',
+'advproxy cache replacement policy' => 'Policy di sostituzione Cache',
+'advproxy cache-digest' => 'Enable Cache-Digest Generation',
+'advproxy chgwebpwd ERROR' => 'E R R O R E :',
+'advproxy chgwebpwd SUCCESS' => 'S U C C E S S :',
+'advproxy chgwebpwd change password' => 'Cambia password',
+'advproxy chgwebpwd change web password' => 'C a m b i a &nbsp; P a s s w o r d &nbsp; a c c e s s o &nbsp; W E B',
+'advproxy chgwebpwd new password' => 'Nuova password',
+'advproxy chgwebpwd new password confirm' => 'Nuova password (conferma)',
+'advproxy chgwebpwd old password' => 'Password attuale',
+'advproxy chgwebpwd username' => 'Username',
+'advproxy classroom extensions' => 'estensioni di classe',
+'advproxy clear cache' => 'Clear Cache',
+'advproxy client IP forwarding' => 'Indirizzo del client per inoltro IP',
+'advproxy common settings' => 'Impostazioni Comuni',
+'advproxy content based throttling' => 'Abilita limitazioni per contenuto',
+'advproxy cre disabled' => 'The management interface has been disabled by the administrator',
+'advproxy cre group definitions' => 'Definizioni del gruppo in classe',
+'advproxy cre supervisors' => 'Indirizzi IP Supervisore (uno per riga)',
+'advproxy destination ports' => 'Porte di destinatinazione',
+'advproxy download throttling' => 'Limiti Download',
+'advproxy enabled' => 'Abilitato',
+'advproxy enabled on' => 'Abilitato su',
+'advproxy errmsg acl cannot be empty' => 'Access control list cannot be empty',
+'advproxy errmsg auth cache ttl' => 'Invalid value for authentication cache TTL',
+'advproxy errmsg auth children' => 'Invalid number of authentication processes',
+'advproxy errmsg auth ipcache may not be null' => 'Authentication cache TTL may not be 0 when using IP address limits',
+'advproxy errmsg auth ipcache ttl' => 'Invalid value for user/IP cache TTL',
+'advproxy errmsg cache' => 'The RAM cache size is greater than the harddisk cache size:',
+'advproxy errmsg change fail' => 'Password could not be changed',
+'advproxy errmsg change success' => 'Password for web access sucessfully changed',
+'advproxy errmsg hdd cache size' => 'Invalid value for harddisk cache size (min 10 MB required)',
+'advproxy errmsg ident timeout' => 'Invalid ident timeout',
+'advproxy errmsg invalid bdc' => 'Invalid hostname for backup domain controller',
+'advproxy errmsg invalid destination port' => 'Invalid destination port',
+'advproxy errmsg invalid ip or mask' => 'Invalid IP address or network mask',
+'advproxy errmsg invalid mac' => 'Invalid MAC address',
+'advproxy errmsg invalid pdc' => 'Invalid hostname for primary domain controller',
+'advproxy errmsg invalid proxy port' => 'Invalid proxy port',
+'advproxy errmsg invalid upstream proxy' => 'Invalid upstream proxy IP/hostname',
+'advproxy errmsg invalid upstream proxy username or password setting' => 'Invalid upstream proxy username or password setting',
+'advproxy errmsg invalid user' => 'Username does not exist',
+'advproxy errmsg ldap base dn' => 'LDAP base DN required',
+'advproxy errmsg ldap bind dn' => 'LDAP bind DN username and password required',
+'advproxy errmsg ldap port' => 'Invalid LDAP port number',
+'advproxy errmsg ldap server' => 'Invalid IP address/hostname for LDAP Server',
+'advproxy errmsg max userip' => 'Invalid number of IP addresses per user',
+'advproxy errmsg mem cache size' => 'Invalid value for memory cache size',
+'advproxy errmsg no browser' => 'Almeno un browser o un client devono essere selezionati per l\'accesso web',
+'advproxy errmsg no password' => 'Password can not be empty',
+'advproxy errmsg no username' => 'Username can not be empty',
+'advproxy errmsg non-transparent proxy required' => 'Proxy Web deve essere eseguito in modalit&agrave; non trasparente per l\'autenticazione',
+'advproxy errmsg ntlm domain' => 'Windows domain name required',
+'advproxy errmsg ntlm pdc' => 'Hostname for primary domain controller required',
+'advproxy errmsg password incorrect' => 'Password incorrect',
+'advproxy errmsg password length' => 'Invalid value for password length',
+'advproxy errmsg password length 1' => 'Password must have at least ',
+'advproxy errmsg password length 2' => ' characters',
+'advproxy errmsg passwords different' => 'Passwords don\'t match',
+'advproxy errmsg proxy ports equal' => 'The proxy port and the transparent port cannot be equal.',
+'advproxy errmsg radius port' => 'Invalid RADIUS port number',
+'advproxy errmsg radius secret' => 'RADIUS shared secret required',
+'advproxy errmsg radius server' => 'Invalid IP address for RADIUS Server',
+'advproxy errmsg time restriction' => 'Invalid time restriction',
+'advproxy error design' => 'Design dei messaggi di errore',
+'advproxy error language' => 'Lingua dei messaggi di errore',
+'advproxy fake referer' => 'Fake referer submitted to external sites',
+'advproxy fake useragent' => 'Fake useragent submitted to external sites',
+'advproxy friday' => 'Ven',
+'advproxy from' => 'Da',
+'advproxy hdd cache size' => 'Harddisk cache size (MB)',
+'advproxy invalid num of children' => 'Invalid number of filter processes',
+'advproxy log enabled' => 'Abilito Log',
+'advproxy log query' => 'Termini di ricerca del LOG',
+'advproxy log settings' => 'Impostazioni di Log',
+'advproxy log useragent' => 'Log useragents',
+'advproxy max download size' => 'Max download size (KB)',
+'advproxy max size' => 'Max object size (KB)',
+'advproxy max upload size' => 'Max upload size (KB)',
+'advproxy memory replacement policy' => 'Polcy di sostituzione della memoria',
+'advproxy min size' => 'Min object size (KB)',
+'advproxy mode allow' => 'allow',
+'advproxy mode deny' => 'deny',
+'advproxy monday' => 'Lun',
+'advproxy network based access' => 'Controllo dell\'accesso alla rete ',
+'advproxy no cache sites' => 'Non memorizzare nella cache i domini (uno per riga)',
+'advproxy no clients defined' => 'No clients defined',
+'advproxy no connection auth' => 'No connection oriented authentication forwarding',
+'advproxy no cre groups' => 'There are no access groups available',
+'advproxy no internal proxy on blue' => 'Disable internal proxy access from Blu to other subnets',
+'advproxy no internal proxy on green' => 'Disabilitare l\'accesso al proxy interno dalle sottoreti',
+'advproxy number of L1 dirs' => 'Number of level-1 subdirectories',
+'advproxy off' => 'Proxy off',
+'advproxy offline mode' => 'Attiva modalit&agrave; offline',
+'advproxy on' => 'Proxy Acceso',
+'advproxy privacy' => 'Privacy',
+'advproxy proxy port' => 'Porta Proxy',
+'advproxy proxy port transparent' => 'Porta Transparente',
+'advproxy ram cache size' => 'Dimensione della Memoria di cache (MB)',
+'advproxy redirector children' => 'Numero dei processi',
+'advproxy reset' => 'Reset',
+'advproxy saturday' => 'Sab',
+'advproxy save and restart' => 'Save and Restart',
+'advproxy squid version' => 'Versione cache di Squid',
+'advproxy squidclamav' => 'SquidClamav',
+'advproxy ssadvanced proxy' => 'advanced proxy',
+'advproxy ssl ports' => 'Porte SSL sono ammessi (uno per riga)',
+'advproxy standard' => 'Standard',
+'advproxy standard ports' => 'Porte standard sono ammessi (uno per riga)',
+'advproxy sunday' => 'Dom',
+'advproxy supervisor password' => 'Password di Supervisore',
+'advproxy suppress version' => 'NON visualizare le informazioni della versione',
+'advproxy throttle binary' => 'Files Binary',
+'advproxy throttle dskimg' => 'Immagini CD',
+'advproxy throttle mmedia' => 'Multimedia',
+'advproxy throttling per host on' => 'Limite per host',
+'advproxy throttling total on' => 'Limite Globale',
+'advproxy throttling unlimited' => 'unlimited',
+'advproxy thursday' => 'Gio',
+'advproxy time restrictions' => 'Restrizioni temporali',
+'advproxy to' => 'A',
+'advproxy transfer limits' => 'limiti di trasferimento',
+'advproxy transparent on' => 'Transparente su',
+'advproxy tuesday' => 'Mar',
+'advproxy unknown' => 'Unknown',
+'advproxy unrestricted ip clients' => 'Gli indirizzi IP senza restrizioni (uno per riga)',
+'advproxy unrestricted mac clients' => 'Gli indirizzi MAC senza restrizioni (uno per riga)',
+'advproxy update accelerator' => 'Update accelerator',
+'advproxy update information' => 'There is an updated version available for download. Visit <a href="http://www.advproxy.net" target="_blank">http://www.advproxy.net</a> for more information.',
+'advproxy update notification' => 'Update notification!',
+'advproxy upstream password' => 'Upstream password',
+'advproxy upstream proxy' => 'Upstream proxy',
+'advproxy upstream proxy host:port' => 'Upstream proxy (host:port)',
+'advproxy upstream username' => 'Upstream username',
+'advproxy url filter' => 'Filtro URL',
+'advproxy username forwarding' => 'Nome Utente per inoltro',
+'advproxy via forwarding' => 'Indirizzo di inoltro del proxy',
+'advproxy visible hostname' => 'Hostname Visible',
+'advproxy web browser' => 'Web browser',
+'advproxy wednesday' => 'Mer',
+'again' => 'Again:',
+'age second' => 'Secondi',
+'age seconds' => 'Secondi',
+'age shour' => 'h',
+'age sminute' => 'min',
+'age ssecond' => 'sec',
+'aktiv' => 'Attivo',
+'album' => 'Album',
+'alcatelusb help' => 'To utilise the Speedtouch 330 or Speedtouch USB modem you must upload the firmware to your IPFire box. Please download the <b>Embedded Firmware</b> package for SpeedTouch 330 from speedtouch.com, unzip and then upload the appropriate file for your modem : KQD6_3.xxx when Rev<4 or ZZZL_3.xxx for Rev=4 using the form below.',
+'alcatelusb upload' => 'Upload Speedtouch USB firmware',
+'alias ip' => 'Alias IP',
+'aliases' => 'Aliases',
+'aliases not active' => 'Aliases will not be active unless your RED interface is STATIC',
+'all' => 'All',
+'all interfaces' => 'All Interfaces',
+'all services' => 'Tutti i Servizi',
+'all updates installed' => 'All updates installed',
+'allmsg' => 'Vedi Tutto',
+'alt dialup' => 'Dialup',
+'alt home' => 'Pagina Principale',
+'alt information' => 'Informazione',
+'alt logs' => 'Log',
+'alt ovpn' => 'OpenVPN',
+'alt proxy' => 'Proxy',
+'alt services' => 'Servizi',
+'alt system' => 'Sistema',
+'alt vpn' => 'VPNs',
+'and' => 'And',
+'ansi t1.483' => 'TO BE REMOVED',
+'apcupsd' => 'APC-UPS status',
+'apply' => 'Apply now',
+'april' => 'Aprile',
+'archive not exist' => 'Configuration archive does not exist',
+'are you sure' => 'Are you sure?',
+'arp table entries' => 'ARP Table Entries',
+'artist' => 'Artist',
+'atm device' => 'Device:',
+'atm settings' => 'ATM settings',
+'attemps' => 'Attempts',
+'attention' => 'ATTENTION',
+'august' => 'Agosto',
+'authentication' => 'Authentication:',
+'automatic' => 'Automatic',
+'available updates' => 'Available updates:',
+'average' => 'Average',
+'avoid dod' => 'Do not use this option with Dial on Demand! Mainly used if your IPFire is behind a router. Your RED IP must be inside one of the three reserved network numbers e.g. 10/8, 172.16/12, 192.168/16',
+'back' => 'BACK',
+'backup' => 'Backup',
+'backup archive' => 'Backup File (.dat)',
+'backup clear archive' => 'Clear Backup File (.gz)',
+'backup config floppy' => 'Backup Configuration - Floppy Disk',
+'backup configuration' => 'Backup Configuration:',
+'backup erase key' => 'Erase key',
+'backup explain key' => 'Backup are encrypted using a key. To avoid illegal backup manipulations, IPFire only restores a backup that is encrypted with the key you will specify here. You have three options available to you',
+'backup explain key li1' => 'let IPFire create key for you.',
+'backup explain key li2' => 'import a saved key (possibly password protected).',
+'backup explain key li3' => 'extract a key from a non-encrypted 1.4.10 backup only.',
+'backup explain key no1' => 'you should save this key if you plan to restore new machines, IPFire accepts only once key creation/import.',
+'backup explain key no2' => 'legacy floppy backups are not concerned with this key.',
+'backup export key' => 'Export key',
+'backup extract key' => 'Extract key',
+'backup from' => 'Backup from',
+'backup generate key' => 'Generate key',
+'backup import dat file' => 'Import a backup (.dat) file',
+'backup import key' => 'Import key',
+'backup key' => 'Backup Encryption Key',
+'backup key file' => 'Backup key file',
+'backup key info' => 'IPFire restricts access to the backup key, thus you must know root password. You have possibility to protect this key outside of IPFire with a password.',
+'backup media info' => 'Floppy and/or unformatted media may display stranges partitions sizes. In this case, select the whole device. Remenber to mount harddisk before removing device. Note: floppy created here are not usable with IPFire installer program!',
+'backup missing key' => 'Need the backup key to restore a set',
+'backup password' => 'Backup password',
+'backup protect key password' => 'Backup key password',
+'backup sets' => 'Backup sets',
+'backup to floppy' => 'Backup to floppy',
+'backupaddon' => 'Addon Backup',
+'backupprofile' => 'In case reconnection fails, switch to profile',
+'backups' => 'backups',
+'backupwarning' => 'Per favore prima di ripristinare il backup del sistema e/o il backup addon, Si prega di mantenere il nome del file originale, di quando &eacute; stato scaricato.',
+'bad characters in' => 'Bad characters in ',
+'bad characters in script field' => 'Bad characters in script field',
+'bad characters in the telephone number field' => 'Bad characters in the telephone number field.',
+'bad destination range' => 'The Destination port range has a first value that is greater than or equal to the second value.',
+'bad ignore filter' => 'Bad ignore filter:',
+'bad return code' => 'Helper program returned error code',
+'bad source range' => 'The Source port range has a first value that is greater than or equal to the second value.',
+'bandwidth usage' => 'bandwidth usage (external)',
+'bandwitherror' => 'You cannot change the bandwithsettings, with Qos being enabled. First disable Qos.<p>',
+'bandwithsettings' => 'Bandwithsettings',
+'basic options' => 'Opzioni di base',
+'beep when ppp connects or disconnects' => 'Segnale acustico quando IPFire si connette o disconnette',
+'behind a proxy' => 'Behind a proxy:',
+'bewan adsl pci st' => 'TO BE REMOVED',
+'bewan adsl usb' => 'TO BE REMOVED',
+'bit' => 'Bit',
+'bitrate' => 'Bitrate',
+'bleeding rules' => 'Bleeding Edge Snort Rules',
+'blue' => 'Blu',
+'blue access' => 'Blu Access',
+'blue access use hint' => 'You have to enter the MAC or the IP Address for a device. To enter both is also possible',
+'blue interface' => 'Blu Interface',
+'broadcast' => 'Broadcast',
+'broken pipe' => 'Broken pipe',
+'buffered memory' => 'Buffered Memory',
+'buffers' => 'buffers',
+'bytes per second' => 'Bytes per Second',
+'bytes received' => 'Bytes Received',
+'bytes sent' => 'Bytes Sent',
+'ca certificate' => 'CA Certificate',
+'ca name' => 'CA name',
+'cache management' => 'Gestione della cache',
+'cache size' => 'Cache size (MB):',
+'cached' => 'cached',
+'cached memory' => 'Cached Memory  ',
+'cached swap' => 'Cached Swap',
+'calamaris available reports' => 'Report disponibili',
+'calamaris byte unit' => 'Unità Byte',
+'calamaris create report' => 'Create report',
+'calamaris enable content report' => 'Abilita report contenuto',
+'calamaris enable distribution histogram' => 'Abilita distribuzione istogramma',
+'calamaris enable domain report' => 'Abilita rapporto di dominio',
+'calamaris enable performance report' => 'Abilita report di prestazioni',
+'calamaris enable requester report' => 'Abilita report richiedente',
+'calamaris enable verbose reporting' => 'Attiva la segnalazione dettagliata',
+'calamaris high' => 'high',
+'calamaris histogram resolution' => 'Risoluzione istogramma',
+'calamaris low' => 'low',
+'calamaris medium' => 'medium',
+'calamaris no reports available' => 'Non ci sono report disponibili',
+'calamaris none' => 'none',
+'calamaris number of content types' => 'Numero di tipi di contenuto',
+'calamaris number of domains' => 'Numero di domini',
+'calamaris number of requested urls' => 'Numero di URL richiesto',
+'calamaris number of requesting hosts' => 'Numero di host che lo richiedono',
+'calamaris performance options' => 'Opzione prestazione',
+'calamaris proxy reports' => 'Report del Proxy',
+'calamaris refresh list' => 'Refresh list',
+'calamaris report interval (in minutes)' => 'Intervallo del Report in minuti',
+'calamaris report options' => 'Opzioni del Report',
+'calamaris report period' => 'Periodo del Report',
+'calamaris run as background task' => 'Eseguito come processo in background',
+'calamaris show usernames' => 'Mostra usernames',
+'calamaris skip archived logfiles' => 'Ignora file di registro archiviati',
+'calamaris unlimited' => 'unlimited',
+'calamaris view' => 'View',
+'calamaris view report' => 'View report',
+'calc traffic all x minutes' => 'Calculate traffic all x minutes',
+'cancel' => 'Cancel',
+'cancel-adv-options' => 'Cancel',
+'cannot enable both nat traversal and compression' => 'Cannot enable both NAT traversal and compression.',
+'cannot enable ntp without specifying primary' => 'Cannot enable NTP without specifying primary.',
+'cannot specify secondary dns without specifying primary' => 'Cannot specify secondary DNS without specifying primary.',
+'cannot specify secondary ntp without specifying primary' => 'Cannot specify Secondary NTP server without specifying Primary',
+'cannot specify secondary wins without specifying primary' => 'Cannot specify secondary WINS without specifying primary.',
+'cant change certificates' => 'Can\'t change certificates.',
+'cant enable xtaccess' => 'The associated port forwarding rule is disabled, therefore you cannot enable external access for this rule.',
+'cant start openssl' => 'Can\'t start OpenSSL',
+'capabilities' => 'Capabilities',
+'caps all' => 'Tutti',
+'capsclosed' => 'SCOLLEGATO',
+'capsinactive' => 'INATTIVO',
+'capsopen' => 'COLLEGATO',
+'capswarning' => 'WARNING',
+'caption' => 'Caption',
+'ccd add' => 'Add network',
+'ccd choose net' => 'Choose network',
+'ccd client options' => 'Advanced client options',
+'ccd clientip' => 'Host address',
+'ccd dynrange' => 'Dynamic OpenVPN IP address pool',
+'ccd err blue' => 'This is the Blu subnet.',
+'ccd err green' => 'This is the Verde subnet.',
+'ccd err hostinnet' => 'You are not able to delete this network, while it still contains clients.',
+'ccd err inuse' => 'Already used by another client.',
+'ccd err invalidname' => 'Invalid name. Allowed characters are A-Z, a-z, dash and space.',
+'ccd err invalidnet' => 'Invalid IP address. Format: 192.168.0.0/24 or 192.168.0.0/255.255.255.0.',
+'ccd err iroute' => 'Network address for route is invalid.',
+'ccd err irouteexist' => 'This route is already in use.',
+'ccd err isipsecnet' => 'The given subnet address is already used by an IPsec network.',
+'ccd err isipsecrw' => 'The given subnet address is already used by the IPsec rw network.',
+'ccd err isovpnn2n' => 'The subnet address is already in use for an OpenVPN net-to-net connection.',
+'ccd err isovpnnet' => 'The subnet address is already in use for the OpenVPN server.',
+'ccd err issubnet' => 'Subnet address already in use.',
+'ccd err name' => 'Please choose a name.',
+'ccd err nameexist' => 'Name already exists.',
+'ccd err netadr' => 'Subnet address is invalid or range is too large.',
+'ccd err netadrexist' => 'Network already exists.',
+'ccd err orange' => 'This is the ORANGE subnet.',
+'ccd err red' => 'This is the RED subnet.',
+'ccd err routeovpn' => 'Already used by OpenVPN server.',
+'ccd err routeovpn2' => 'Already pushed from OpenVPN server.',
+'ccd hint' => 'On this page you are able to define static networks from which the roadwarrior clients can get fixed IP address assignments.',
+'ccd invalid' => 'Invalid.',
+'ccd iroute' => 'IPFire has access to these networks on the client\'s site',
+'ccd iroute2' => 'Client has access to these networks on IPFire\'s site',
+'ccd iroutehint' => 'Attention! If you change these settings, you have to restart the OpenVPN server that the changes take effect!',
+'ccd modify' => 'Change network',
+'ccd name' => 'Name',
+'ccd net' => 'Static IP address pools',
+'ccd noaddnet' => 'You can only add new static networks when OpenVPN server is stopped.',
+'ccd none' => 'None',
+'ccd routes' => 'Routing:',
+'ccd subnet' => 'Subnet',
+'ccd used' => 'Used addresses',
+'cert' => 'Certificate',
+'certificate' => 'Certificate',
+'certificate authorities' => 'Autorità di certificazione',
+'certificate does not have a valid ca associated with it' => 'Certificate does not have a valid CA associated with it.',
+'certificate file move failed' => 'Certificate file move failed',
+'cfg restart' => 'A reboot is suggested after restoring a configuration archive.',
+'chain' => 'Chain',
+'change passwords' => 'Change passwords',
+'change share' => 'edit share options',
+'check for net traffic update' => 'Check for Net-Traffic updates',
+'check vpn lr' => 'Check',
+'choose config' => 'Choose config',
+'choose media' => 'Choose media',
+'cipher' => 'Encryption:',
+'city' => 'City',
+'class in use' => 'The class is already in use.',
+'clear cache' => 'Clear Cache',
+'clear playlist' => 'Empty playlist',
+'clenabled' => 'Fornire il tempo alla rete locale',
+'click to disable' => 'Enabled (click to disable)',
+'click to enable' => 'Disabled (click to enable)',
+'client' => 'Workstation Name',
+'clock has not been synchronized' => 'Clock has not been synchronized',
+'clock last synchronized at' => 'L\'orologio è stato sincronizato il',
+'comment' => 'Description:',
+'common name' => 'Common name',
+'community rules' => 'Snort/VRT GPLv2 Community Rules',
+'comp-lzo' => 'LZO-Compression:',
+'compression' => 'Compression:',
+'computer to modem rate' => 'Computer to modem rate:',
+'concentrator name' => 'Concentrator name:',
+'confirmation' => 'confirmation',
+'connect' => 'OVPN Start / Connect',
+'connect the modem' => 'Connect the modem',
+'connect timeout' => 'Connect timeout:',
+'connected' => 'Connected',
+'connecting' => 'Connecting...',
+'connection' => 'connessione',
+'connection closed' => 'Not connected...',
+'connection debugging' => 'Connection debugging',
+'connection status and controlc' => 'Stato della connessione e controllo',
+'connection tracking' => 'iptables Connection Tracking',
+'connection type' => 'Connection Type',
+'connection type is invalid' => 'Connection type is invalid.',
+'connections' => 'Connessioni',
+'connections are associated with this ca.  deleting the ca will delete these connections as well.' => 'connections are associated with this CA. Deleting the CA will delete these connections as well.',
+'connscheduler' => 'Schedulazione e connessione',
+'core notice 1' => '<strong>Notice:</strong> There is an core-update from',
+'core notice 2' => 'to',
+'core notice 3' => 'available.',
+'could not be opened' => 'could not be opened.',
+'could not connect to' => 'Could not connect to',
+'could not connect to www ipcop org' => 'Could not connect to www.ipfire.org',
+'could not connect to www ipfire org' => 'Could not connect to www.ipfire.org',
+'could not create directory' => 'Could not create directory.',
+'could not download latest patch list' => 'Could not download latest patch list (not connected).',
+'could not download latest updates' => 'Could not download latest updates.',
+'could not download the available updates list' => 'Could not download the available updates list.',
+'could not open available updates file' => 'Could not open available updates file.',
+'could not open installed updates file' => 'Could not open installed updates file',
+'could not open update information file' => 'Could not open update information file.  The update file is corrupt.',
+'could not retrieve common name from certificate' => 'Could not retrieve common name from certificate.',
+'count' => 'Count',
+'countries' => 'Countries',
+'country' => 'Country',
+'country codes and flags' => 'Country Codes and Flags:',
+'countrycode' => 'Code',
+'cpu frequency per' => 'Frequenza CPU',
+'cpu idle usage' => 'Idle CPU Usage',
+'cpu interrupt usage' => 'Uso Interrupt dalla CPU',
+'cpu iowait usage' => 'attesa CPU di IO',
+'cpu irq usage' => 'Uso IRQ dalla CPU',
+'cpu nice usage' => 'Nice CPU Usage',
+'cpu steal usage' => 'Steal CPU Usage',
+'cpu system usage' => 'System CPU Usage',
+'cpu usage per' => 'CPU Usage per',
+'cpu user usage' => 'User CPU Usage',
+'create' => 'Create',
+'create mask' => 'UNIX rights for new created files',
+'create new backup' => 'Create a new backup set',
+'credits' => 'Credits',
+'crl' => 'Certificate Revocation List',
+'cron server' => 'CRON Server',
+'current' => 'Current',
+'current aliases' => 'Current aliases',
+'current class' => 'Current class',
+'current devices' => 'Current devices',
+'current dhcp leases on blue' => 'Current DHCP leases on Blu',
+'current dynamic leases' => 'Current dynamic leases',
+'current fixed leases' => 'Current fixed leases',
+'current hosts' => 'Attuali hosts',
+'current media' => 'Current media',
+'current ovpn' => 'Active OVPN-Connection:',
+'current playlist' => 'Current Playlist',
+'current profile' => 'Current profile:',
+'current rules' => 'Current rules:',
+'custom networks' => 'Custom networks',
+'custom services' => 'Servizio Custom',
+'daily firewallhits' => 'daily firewallhits',
+'dat without key' => 'An encrypted archive cannot be restored without the key.',
+'date' => 'Date',
+'date not in logs' => 'Non esistono dati registrati per il giorno interrogato',
+'day' => 'Giorno',
+'day after' => 'Domani',
+'day before' => 'Ieri',
+'day-graph' => 'Giorno',
+'days' => 'Giorni.',
+'dbfile' => 'Dbfile',
+'ddns help dnsmadeeasy' => 'In the field for hostname enter your ID (or a list of IDs seperated by;)',
+'ddns help freedns' => 'In the fied username enter your connect string',
+'ddns help plus' => '<b>+</b> marks a mandatory field',
+'ddns hostname added' => 'Dynamic DNS hostname added',
+'ddns hostname modified' => 'Dynamic DNS hostname modified',
+'ddns hostname removed' => 'Dynamic DNS hostname removed',
+'ddns minimize updates' => 'Minimize updates: before an update, compares the dns IP for hostname "[host.]domain" against RED IP.',
+'ddns noip prefix' => 'To use no-ip in group mode, prefix hostname with <b>%</b>',
+'deactivate' => 'deactivate',
+'deactivate user' => 'deactivate user',
+'dead peer detection' => 'Dead Peer Detection',
+'debugme' => 'Not yet implemented',
+'december' => 'Dicembre',
+'deep scan directories' => 'Scan recursive',
+'def lease time' => 'Default Lease Time',
+'default' => 'Default',
+'default ip' => 'Default IP address',
+'default lease time' => 'Tempo di lease predefinito (min):',
+'default networks' => 'Default networks',
+'default renewal time' => 'Default Renewal Time',
+'default services' => 'Default services',
+'defaultwarning' => 'WARNING - Your settings will be lost and replaced by the default ones.',
+'delete' => 'Cancella',
+'delete cron' => 'Delete cronjob',
+'delete pc' => 'Delete workstation',
+'delete share' => 'Delete share',
+'delete user' => 'Delete user',
+'demon login script' => 'Demon login script',
+'deprecated fs warn' => 'Deprecated filesystem! Newer kernel drop the support. Backup and reformat!',
+'description' => 'Description',
+'dest ip and port' => 'Ip Destinazione: Porta',
+'destination' => 'Destinazione',
+'destination ip' => 'IP destinazione',
+'destination ip bad' => 'IP Destinazione Invalido',
+'destination ip or net' => 'Destination IP or net',
+'destination net' => 'Destination Net',
+'destination port' => 'Porta di Destinazione',
+'destination port numbers' => 'Destination port must be a valid port number or port range.',
+'destination port overlaps' => 'Destination port range overlaps an existing port range.',
+'detail level' => 'Livello di dettaglio',
+'details' => 'Dettagli',
+'device' => 'Device',
+'devices on blue' => 'Devices on Blu',
+'dh' => 'Diffie-Hellman parameters',
+'dh key move failed' => 'Diffie-Hellman parameters move failed.',
+'dh key warn' => 'Creating DH-parameters with lengths of 1024 or 2048 bits takes up to several minutes. Lengths of 3072 or 4096 bits might needs several hours. Please be patient.',
+'dh key warn1' => 'For weak systems or systems with little entropy, it is recommended to upload long Diffie-Hellman parameters by usage of the upload function.',
+'dh name is invalid' => 'Name is invalid, please use "dh1024.pem".',
+'dh parameter' => 'Diffie-Hellman parameters',
+'dhcp advopt add' => 'Aggiungere un opzione DHCP',
+'dhcp advopt added' => 'Opzione DHCP aggiunto',
+'dhcp advopt blank value' => 'DHCP opzione non può essere vuoto.',
+'dhcp advopt custom definition' => 'Your custom option definition',
+'dhcp advopt definition' => 'Impostazione',
+'dhcp advopt definition exists' => 'Definition option already exists. You can only edit or remove it.',
+'dhcp advopt edit' => 'Edit a DHCP option',
+'dhcp advopt help' => 'List options',
+'dhcp advopt list' => 'Additional DHCP options',
+'dhcp advopt modified' => 'DHCP option modified',
+'dhcp advopt name' => 'Nome Opzione',
+'dhcp advopt removed' => 'DHCP option removed',
+'dhcp advopt scope' => 'Opzione scope',
+'dhcp advopt scope global' => 'Globale',
+'dhcp advopt scope help' => 'Global scope or limit scope to checked interfaces.',
+'dhcp advopt unknown' => 'DHCP option name not recognized',
+'dhcp advopt value' => 'Valore Opzione',
+'dhcp allow bootp' => 'Consenti client BOOTP',
+'dhcp base ip fixed lease' => 'Base IP for creating fix leases',
+'dhcp bootp pxe data' => 'Enter optional bootp pxe data for this fixed lease',
+'dhcp configuration' => 'DHCP configurazione',
+'dhcp create fixed leases' => 'Create fixed leases',
+'dhcp fixed lease err1' => 'For a fix lease you have to enter the MAC address or the hostname, or you enter both.',
+'dhcp fixed lease help1' => 'IP Addresses might be entered as FQDN',
+'dhcp mode' => 'DHCP',
+'dhcp server' => 'DHCP Server',
+'dhcp server disabled' => 'DHCP server disabled.  Stopped.',
+'dhcp server disabled on blue interface' => 'DHCP server disabled on Blu interface',
+'dhcp server enabled' => 'DHCP server enabled.  Restarting.',
+'dhcp server enabled on blue interface' => 'DHCP server enabled on Blu interface',
+'dhcp-options' => 'DHCP push options',
+'dial' => 'Connect',
+'dial profile' => 'Connect with profile',
+'dial user password' => 'Dial user password:',
+'dial user password has been changed' => 'Dial user password has been changed.',
+'dialing mode' => 'Dialing mode:',
+'dialup red not ppp' => 'Dialup profiles can only used if <b>RED</b> is set to <b>PPP Dialup</b><BR>Check the networking setup.',
+'dialup settings' => 'Dialup Settings',
+'directory mask' => 'UNIX directory rights',
+'directory writeable' => 'directory writeable',
+'disabled' => 'disabled',
+'disconnect' => 'OVPN Stop / Disconnect',
+'disconnects' => 'Disconnects',
+'disk access per' => 'Disk Access per',
+'disk usage' => 'utilizzo del disco',
+'display' => 'Display',
+'display charset' => 'Display Charset',
+'display hostname in window title' => 'Visualizza il nome hostname sulla barra del titolo della finestra',
+'display traffic at home' => 'Display calculated traffic on startpage',
+'display webinterface effects' => 'Activate effects',
+'dl client arch' => 'Download Client Package (zip)',
+'dmz' => 'DMZ',
+'dmz pinhole configuration' => 'DMZ pinhole configuration',
+'dmz pinhole rule added' => 'DMZ pinhole rule added; restarting DMZ pinhole',
+'dmz pinhole rule removed' => 'DMZ pinhole rule removed; restarting DMZ pinhole',
+'dmzpinholes for same net not necessary' => 'DMZ Pinholes are not necessary for same net. Select different source or destination net.',
+'dnat address' => 'Firewall Interface',
+'dns address deleted' => 'Successfully deleted!',
+'dns address deleted txt' => 'The DNS-Server addresses have been successfully deleted.<br />You have to reboot or reconnect that the changes have effect!',
+'dns address done' => 'The DNS-Server address settings are going to be saved.',
+'dns address recon' => 'Trying to reconnect!',
+'dns check failed' => 'DNS check failed',
+'dns desc' => 'Se l\'interfaccia red0 ottiene la configurazione e indirizzo IP tramite DHCP dal provider, gli indirizzi dei server DNS verranno impostati automaticamente. Qui si è in grado di modificare questi indirizzi IP dei server DNS con i vostri propri.',
+'dns error 0' => 'The IP address of the <strong>primary</strong> DNS server is not valid, please check your entries!<br />The entered <strong>secondary</strong> DNS server address is valid.',
+'dns error 01' => 'The entered IP address of the <strong>primary</strong> and <strong>secondary</strong> DNS server are not valid, please check your entries!',
+'dns error 1' => 'The IP address of the <strong>secondary</strong> DNS server is not valid, please check your entries!<br />The entered <strong>primary</strong> DNS server address is valid.',
+'dns header' => 'Assign DNS server addresses only for DHCP on red0',
+'dns list' => 'List of free public DNS servers',
+'dns menu' => 'Assign DNS-Server',
+'dns new 0' => 'Nuovo <strong>DNS primario</strong> IP:',
+'dns new 1' => 'Nuovo <strong>DNS secondario</strong> IP:',
+'dns proxy server' => 'DNS Proxy Server',
+'dns saved' => 'Successfully saved!',
+'dns saved txt' => 'The two entered DNS server addresses have been saved successfully.<br />You have to reboot or reconnect that the changes have effect!',
+'dns server' => 'DNS Server',
+'dns servers' => 'DNS Servers',
+'dns title' => 'Domain Name System',
+'dnsforward' => 'Inoltro DNS',
+'dnsforward add a new entry' => 'Aggiungere una nuova voce',
+'dnsforward configuration' => 'Configurazione di inoltro DNS',
+'dnsforward edit an entry' => 'Edit an existing entry',
+'dnsforward entries' => 'Voci correnti',
+'dnsforward forward_server' => 'Nameserver',
+'dnsforward zone' => 'Zona',
+'dnssec aware' => 'DNSSEC Aware',
+'dnssec information' => 'DNSSEC Information',
+'dnssec not supported' => 'DNSSEC Not supported',
+'dnssec validating' => 'DNSSEC Validating',
+'do not log this port list' => 'Drop this port list just before they are logged (reduces log size)',
+'dod' => 'Dial on Demand',
+'dod for dns' => 'Dial on Demand for DNS:',
+'dod not compatible with ddns' => 'Dial on demand is not compatible with dynamic dns services',
+'dod waiting' => 'Dial on Demand waiting',
+'domain' => 'Domain',
+'domain master' => 'Domain Master',
+'domain name' => 'Nome del Dominio',
+'domain name suffix' => 'Suffisso del Dominio:',
+'domain not set' => 'Domain not set.',
+'donation' => 'Donation',
+'donation-link' => 'https://www.paypal.com/en_US/GB/i/btn/btn_donateCC_LG.gif',
+'donation-text' => '<strong>IPFire</strong> is driven and maintained by volunteers in their free time. To keep this project running costs incurred, if you like to support us we would be pleased by a small donation.',
+'done' => 'Do it',
+'dos charset' => 'DOS Charset',
+'down and up speed' => 'Enter your Down- and Uplink-Speed <br /> and then press <i>Save</i>.',
+'downlink' => 'Downlink',
+'downlink speed' => 'Downlink speed (kbit/sec)',
+'downlink std class' => 'downlink standard class',
+'download' => 'download',
+'download ca certificate' => 'Download CA certificate',
+'download certificate' => 'Download certificate',
+'download dh parameter' => 'Download Diffie-Hellman parameters',
+'download host certificate' => 'Download host certificate',
+'download new ruleset' => 'Download new ruleset',
+'download pkcs12 file' => 'Download PKCS12 file',
+'download root certificate' => 'Download root certificate',
+'download tls-auth key' => 'Download tls-auth key',
+'dpd action' => 'Action',
+'dpd delay' => 'Delay',
+'dpd timeout' => 'Timeout',
+'driver' => 'Driver',
+'drop action' => 'Default behaviour of (forward) firewall in mode "Blocked"',
+'drop action1' => 'Default behaviour of (outgoing) firewall in mode "Blocked"',
+'drop action2' => 'Default behaviour of (input) firewall',
+'drop forward' => 'Log dropped forward packets',
+'drop input' => 'Registra pacchetti in ingresso ignorati',
+'drop newnotsyn' => 'Log dropped new not syn packets',
+'drop outgoing' => 'Log dropped outgoing packets',
+'drop portscan' => 'Log dropped portscan packets',
+'drop proxy' => 'Drop all packets not addressed to proxy',
+'drop samba' => 'Drop all Microsoft ports 135,137,138,139,445,1025',
+'drop wirelessforward' => 'Log dropped wireless forward packets',
+'drop wirelessinput' => 'Log dropped wireless input packets',
+'dst port' => 'Dst Port',
+'dstprt range overlaps' => 'Destination port range overlaps an already defined port.',
+'dstprt within existing' => 'Destination port is within an already defined port range.',
+'duplicate ip' => 'Duplicate IP address entered',
+'duplicate ip bold' => 'Duplicate addresses are in <b>bold</b>',
+'duplicate mac' => 'Duplicate MAC address entered',
+'duplicate name' => 'That name is already being used, please choose another.',
+'dyn dns source choice' => 'Dynamic DNS provider(s) will receive an IP address for this IPFire from:',
+'dynamic dns' => 'Dynamic DNS',
+'dynamic dns client' => 'Dynamic DNS Client',
+'e-mail address too long' => 'E-mail address is too long; it should not be longer than 40 characters.',
+'eciadsl help' => 'To utilise the ECI ADSL modem you must upload a synch.bin file to your IPFire box. Please download the file from the ECIADSL website and then upload the file <b>synch.bin</b> using the form below.',
+'eciadsl upload' => 'Upload ECI ADSL synch.bin file',
+'edit' => 'Edit',
+'edit a rule' => 'Edit an existing rule:',
+'edit advanced settings when done' => 'Edit advanced settings when done.',
+'edit an existing alias' => 'Edit an existing alias',
+'edit an existing host' => 'Edit an existing host',
+'edit an existing lease' => 'Edit an existing lease',
+'edit device' => 'Edit device',
+'edit hosts' => 'Edit Hosts',
+'edit network' => 'Edit network',
+'edit printer' => 'edit printer',
+'edit service' => 'Edit service',
+'edit share' => 'Edit share',
+'editor' => 'Editor',
+'eg' => 'e.g.:',
+'email server can not be empty' => 'E-mail server can not be empty',
+'emailreportlevel' => 'E-mailreportlevel',
+'emerging rules' => 'Emergingthreats.net Community Rules',
+'empty' => 'Questo campo pu&ograve; essere lasciato vuoto',
+'empty profile' => 'empty',
+'enable ignore filter' => 'Abilita ignorare filtro',
+'enable javascript' => 'Enable javascript',
+'enable wildcards' => 'Enable wildcards:',
+'enabled' => 'abilitato:',
+'enabled on' => 'abilitato su',
+'enabledtitle' => 'abilitato',
+'encapsulation' => 'Encapsulation',
+'encrypted' => 'Encrypted',
+'encryption' => 'Encryption:',
+'end address' => 'Indirizzo finale:',
+'enter ack class' => 'Enter the ACK- Class <br /> and then press <i>Save</i>.',
+'enter data' => 'Enter your settings <br /> and then press <i>Save</i>.',
+'entropy' => 'Entropy',
+'entropy graphs' => 'Entropy Graphs',
+'err bk 1' => 'Error creating archive',
+'err bk 10 password' => 'Error with backup password',
+'err bk 2 key' => 'Error creating key file',
+'err bk 3 tar' => 'Error appending files to archive',
+'err bk 4 gz' => 'Error compressing archive',
+'err bk 5 encrypt' => 'Error encrypting archive',
+'err rs 1' => 'Error restoring archive',
+'err rs 6 decrypt' => 'Error decrypting archive',
+'err rs 7 untartst' => 'Invalid decrypted archive',
+'err rs 8 untar' => 'Error untarring archive',
+'error config' => 'Could not open /var/ipfire/ovpn/config/ZERINA.ovpn !',
+'error external access' => 'Could not open /var/ipfire/xtaccess/config (external acccess could not be granted)!',
+'error messages' => 'Messaggi di errore',
+'esp encryption' => 'ESP Encryption:',
+'esp grouptype' => 'ESP Grouptype:',
+'esp integrity' => 'ESP Integrity:',
+'esp keylife' => 'ESP Keylife:',
+'esp keylife should be between 1 and 24 hours' => 'ESP keylife should be between 1 and 24 hours.',
+'every' => 'Ogni',
+'exampel' => 'esempio',
+'exclude logfiles' => 'Escludi File di log',
+'excluding buffers and cache' => '-/+ buffers/cache',
+'expected' => 'Expected',
+'expertoptions' => 'Expert options',
+'expires' => 'Scade',
+'export' => 'Export',
+'exportkey' => 'Export PSK',
+'external access' => 'External Access',
+'external access configuration' => 'External access configuration',
+'external access rule added' => 'External access rule added; restarting access controller',
+'external access rule changed' => 'External access rule changed; restarting access controller',
+'external access rule removed' => ' External access rule removed; restarting access controller',
+'external aliases configuration' => 'Configurazione alias esterni',
+'extrahd' => 'ExtraHD',
+'extrahd because there is already a device mounted' => ', because there is already a device mounted',
+'extrahd cant umount' => 'Can\'t umount',
+'extrahd detected drives' => 'detected drives',
+'extrahd install or load driver' => 'If your device isn\'t listed here, you need to install or load the driver.<br />If you can see your device but no partitions you have to create them first.',
+'extrahd maybe the device is in use' => '. Maybe the device is in use',
+'extrahd to' => 'to',
+'extrahd to root' => 'to root',
+'extrahd unable to read' => 'Unable to read',
+'extrahd unable to write' => 'Unable to write',
+'extrahd you cant mount' => 'You can\'t mount',
+'false classnumber' => 'The Class-Number does not match the interface.',
+'false max bandwith' => 'Maximum bandwith is false.',
+'false min bandwith' => 'Minimum bandwith is false.',
+'february' => 'Febbraio',
+'fetch ip from' => 'Guess the real public IP with help of an external server',
+'filename' => 'Filename',
+'filesystem full' => 'Filesystem full',
+'fireinfo ipfire version' => 'IPFire version',
+'fireinfo is disabled' => 'Fireinfo is disabled',
+'fireinfo is enabled' => 'Fireinfo is enabled',
+'fireinfo is submitted' => 'Your profile is submitted to the fireinfo service.',
+'fireinfo is submitted button' => 'No, I do not want to send my profile anymore',
+'fireinfo kernel version' => 'Kernel version',
+'fireinfo not submitted' => 'Your profile is not submitted to the fireinfo service.',
+'fireinfo not submitted button' => 'Yes, I want to send my profile',
+'fireinfo pakfire version' => 'Pakfire version',
+'fireinfo please enable' => 'Please enable the fireinfo service.',
+'fireinfo settings' => 'Fireinfo settings',
+'fireinfo system version' => 'Versione del Sistema',
+'fireinfo why descr1' => 'It is very important for the development of IPFire that you enable this',
+'fireinfo why descr2' => 'service. ',
+'fireinfo why enable' => 'Why should I enable fireinfo?',
+'fireinfo why read more' => 'Read more about the reasons.',
+'fireinfo your profile id' => 'Your profile ID',
+'firewall' => 'Firewall',
+'firewall graphs' => 'Firewall Graphs',
+'firewall hits' => 'Numero totale di visite per firewall',
+'firewall hits per' => 'firewallhits per',
+'firewall log' => 'Firewall log',
+'firewall log viewer' => 'Firewall Log Viewer',
+'firewall logs' => 'Firewall Logs',
+'firewall logs country' => 'Fw-Loggraphs (Country)',
+'firewall logs ip' => 'Fw-Loggraphs (IP)',
+'firewall logs port' => 'Fw-Loggraphs (Port)',
+'firewall rules' => 'Firewall Rules',
+'firewallhits' => 'firewallhits',
+'firmware' => 'Firmware',
+'firmware upload' => 'Upload Firmware/Drivers',
+'first' => 'First',
+'fixed ip lease added' => 'Fixed IP lease added',
+'fixed ip lease modified' => 'Fixed IP lease modified',
+'fixed ip lease removed' => 'Fixed IP lease removed',
+'flag' => 'Flag',
+'force update' => 'Force update',
+'force user' => 'force all new file to user',
+'forward firewall' => 'Firewall',
+'forwarding rule added' => 'Forwarding rule added; restarting forwarder',
+'forwarding rule removed' => 'Forwarding rule removed; restarting forwarder',
+'forwarding rule updated' => 'Forwarding rule updated; restarting forwarder',
+'free' => 'Libero',
+'free memory' => 'Memoria libera        ',
+'free swap' => 'Swap Libero',
+'frequency' => 'Frequency',
+'friday' => 'Venerdi',
+'fritzdsl help' => 'To utilise one of Fritz!DSL fcdsl / fcdslsl / fcdsl2 / fcdslusb / fcdslslusb modem, you must upload a package to your IPFire box. Please download the tarball corresponding to your version from the IPFire website and then upload the entire <b>fcdsl-(your_version).tgz</b> using the form below.',
+'fritzdsl upload' => 'Upload Fritz!DSL driver',
+'from' => 'Da',
+'from email adr' => 'From e-mail address',
+'from email pw' => 'From e-mail password',
+'from email server' => 'From Email server',
+'from email user' => 'From e-mail user',
+'from warn email bad' => 'From e-mail address is not valid',
+'fw blue' => 'Firewall options for Blu interface',
+'fw default drop' => 'Firewall policy',
+'fw logging' => 'Log Firewall',
+'fw settings' => 'Firewall settings',
+'fw settings color' => 'Show colors in ruletable',
+'fw settings dropdown' => 'Show all networks on rulecreation site',
+'fw settings remark' => 'Show remarks in ruletable',
+'fw settings ruletable' => 'Show empty ruletables',
+'fwdfw ACCEPT' => 'ACCEPT',
+'fwdfw DROP' => 'DROP',
+'fwdfw MODE1' => 'Drop all packets',
+'fwdfw MODE2' => 'Accept all packets',
+'fwdfw REJECT' => 'REJECT',
+'fwdfw action' => 'Action',
+'fwdfw additional' => 'Additional settings',
+'fwdfw addrule' => 'Add/Edit rule:',
+'fwdfw all icmp' => 'All ICMP types',
+'fwdfw change' => 'Update',
+'fwdfw copy' => 'Copy',
+'fwdfw delete' => 'Delete',
+'fwdfw dnat' => 'Destination NAT (Port forwarding)',
+'fwdfw dnat error' => 'You have to select a single host for DNAT. Groups or networks are not allowed.',
+'fwdfw dnat extport' => 'The external port has to be empty when using Source NAT rules.',
+'fwdfw dnat nochoice' => 'Please pick Source NAT or Destination NAT from the NAT section.',
+'fwdfw dnat porterr' => 'You have to select a single port or portrange (tcp/udp) for NAT',
+'fwdfw dnat porterr2' => 'Cannot use external port (NAT) when no destination port is defined.',
+'fwdfw edit' => 'Edit',
+'fwdfw err nosrc' => 'No source selected.',
+'fwdfw err nosrcip' => 'Please provide a source IP address.',
+'fwdfw err notgt' => 'No destination selected.',
+'fwdfw err notgtip' => 'Please provide a destination IP address.',
+'fwdfw err prot_port' => 'Source- or targetport are not allowed with selected protocol',
+'fwdfw err prot_port1' => 'When using Source- or targetport you have to select TCP or UDP for protocol',
+'fwdfw err remark' => 'Invalid characters in remark.',
+'fwdfw err ruleexists' => 'This rule already exists.',
+'fwdfw err same' => 'Source and destination are identical.',
+'fwdfw err samesub' => 'Source and destination IP addresses are from the same subnet.',
+'fwdfw err src_addr' => 'Invalid source MAC/IP address.',
+'fwdfw err tgt_addr' => 'Invalid destination IP address.',
+'fwdfw err tgt_grp' => 'The destination service group is empty',
+'fwdfw err tgt_mac' => 'A MAC addresses cannot be used as destination.',
+'fwdfw err tgt_port' => 'Invalid destination port.',
+'fwdfw err time' => 'You have to select at least one day.',
+'fwdfw external port nat' => 'External port (NAT)',
+'fwdfw final_rule' => 'Last rule: ',
+'fwdfw from' => 'Da:',
+'fwdfw hint ip1' => 'The last generated rule may never match, because source and destination subnets may overlap.',
+'fwdfw hint ip2' => 'Please double-check if this rule makes sense: ',
+'fwdfw hint mac' => 'The destination group contains MAC addresses, which will be skipped during rule creation.',
+'fwdfw iface' => 'Interface',
+'fwdfw ipsec network' => 'IPsec networks:',
+'fwdfw log' => 'Log',
+'fwdfw log rule' => 'Log rule',
+'fwdfw man port' => 'Port(s):',
+'fwdfw many' => 'Many',
+'fwdfw menu' => 'Firewall',
+'fwdfw movedown' => 'Move down',
+'fwdfw moveup' => 'Move up',
+'fwdfw natport used' => 'The given port for NAPT is already in use by an other DNAT rule.',
+'fwdfw newrule' => 'New rule',
+'fwdfw p2p txt' => 'Grant/deny access to P2P networks.',
+'fwdfw pol allow' => 'Allowed',
+'fwdfw pol block' => 'Blocked',
+'fwdfw pol text' => 'Sets the default firewall behaviour for connections from local networks. You may either allow all new connections or block them by default. Connections between the local networks are also blocked in the latter mode.',
+'fwdfw pol text1' => 'Sets the default firewall behaviour for connections initiated by the firewall itself. Attention! You may lock yourself out.',
+'fwdfw pol title' => 'Default firewall behaviour',
+'fwdfw prot41' => 'IPv6 Encapsulation (Protocol 41)',
+'fwdfw prot41 short' => 'IPv6 Encap',
+'fwdfw red' => 'ROSSO',
+'fwdfw reread' => 'Apply changes',
+'fwdfw rule action' => 'Rule action:',
+'fwdfw rule activate' => 'Activate rule',
+'fwdfw rulepos' => 'Rule position',
+'fwdfw rules' => 'Rules',
+'fwdfw snat' => 'Source NAT',
+'fwdfw source' => 'Source',
+'fwdfw sourceip' => 'Source address (MAC/IP address or network):',
+'fwdfw std network' => 'Standard networks:',
+'fwdfw target' => 'Destinazione',
+'fwdfw targetip' => 'Destination address (IP address or network):',
+'fwdfw till' => 'Until:',
+'fwdfw time' => 'Time Constraints',
+'fwdfw timeframe' => 'Use time constraints',
+'fwdfw toggle' => 'Activate or deactivate',
+'fwdfw togglelog' => 'Activate or deactivate logging',
+'fwdfw use nat' => 'Use Network Address Translation (NAT)',
+'fwdfw use srcport' => 'Source port:',
+'fwdfw use srv' => 'Destination port:',
+'fwdfw useless rule' => 'This rule is useless.',
+'fwdfw warn1' => 'This might lead to firewallrules which are applied to networks for which they are not intended to be.',
+'fwdfw wd_fri' => 'Ven',
+'fwdfw wd_mon' => 'Lun',
+'fwdfw wd_sat' => 'Sab',
+'fwdfw wd_sun' => 'Dom',
+'fwdfw wd_thu' => 'Gio',
+'fwdfw wd_tue' => 'Mar',
+'fwdfw wd_wed' => 'Mer',
+'fwdfw xt access' => 'Input',
+'fwhost Custom Host' => 'Host',
+'fwhost Custom Network' => 'RETE',
+'fwhost IpSec Host' => 'IPsec host',
+'fwhost IpSec Network' => 'IPsec network',
+'fwhost OpenVPN N-2-N' => 'OpenVPN Net-to-Net',
+'fwhost OpenVPN static host' => 'OpenVPN static host',
+'fwhost OpenVPN static network' => 'OpenVPN static network',
+'fwhost Standard Network' => 'Standard network',
+'fwhost addgrp' => 'Add new network/host group',
+'fwhost addgrpname' => 'Group name:',
+'fwhost addhost' => 'Add new host',
+'fwhost addnet' => 'Add new network',
+'fwhost addservice' => 'Add service',
+'fwhost addservicegrp' => 'Add new service group',
+'fwhost any' => 'Any',
+'fwhost attention' => 'ATTENTION',
+'fwhost back' => 'Back',
+'fwhost blue' => 'Blu',
+'fwhost ccdhost' => 'OpenVPN clients:',
+'fwhost ccdnet' => 'OpenVPN networks:',
+'fwhost change' => 'Modify',
+'fwhost changeremark' => 'You modified just the remark',
+'fwhost cust addr' => 'Hosts',
+'fwhost cust grp' => 'Network/Host Groups',
+'fwhost cust net' => 'Networks',
+'fwhost cust service' => 'Servizio',
+'fwhost cust srvgrp' => 'Service Groups',
+'fwhost deleted' => 'Deleted',
+'fwhost empty' => 'No rules defined',
+'fwhost err addr' => 'Invalid IP address or subnet',
+'fwhost err addrgrp' => 'Please provide a group name',
+'fwhost err empty' => 'Please fill in all input fields',
+'fwhost err emptytable' => 'No entries in this group',
+'fwhost err groupempty' => 'The selected group is empty',
+'fwhost err grpexist' => 'A group with the same name already exists',
+'fwhost err hostexist' => 'A host with the same name already exists',
+'fwhost err hostorip' => 'Invalid name or IP address',
+'fwhost err ip' => 'IP address invalid',
+'fwhost err ipcheck' => 'This IP address is already in use',
+'fwhost err ipmac' => 'IP/MAC address invalid',
+'fwhost err ipwithsub' => 'Please provide only an IP address (without subnet mask)',
+'fwhost err isccdhost' => 'This name is already used by an OpenVPN client connection',
+'fwhost err isccdiphost' => 'This IP address is already used by an OpenVPN client connection',
+'fwhost err isccdipnet' => 'This IP address is already used by an OpenVPN network connection',
+'fwhost err isccdnet' => 'This name is already used by an OpenVPN network',
+'fwhost err isingrp' => 'This entry already exists in the group',
+'fwhost err mac' => 'Invalid MAC address',
+'fwhost err maxservicetcp' => 'The maximal number of 15 TCP services has been reached in this group (port ranges count twice)',
+'fwhost err maxserviceudp' => 'The maximal number of 15 UDP services has been reached in this group (port ranges count twice)',
+'fwhost err name' => 'Invalid name. Allowed characters: Upper- and lowercase letters, digits, space and dash.',
+'fwhost err name1' => 'Empty name.',
+'fwhost err net' => 'Network/IP address already exists',
+'fwhost err netexist' => 'A network with the same name already exists',
+'fwhost err partofnet' => 'The network is a subnet of an already existing network.',
+'fwhost err port' => 'Port is empty',
+'fwhost err remark' => 'Invalid remark. Allowed characters: Upper- and lowercase letters, digits, space, dash, braces, semicolon, pipe and dot.',
+'fwhost err srv exists' => 'A service with the same name already exists',
+'fwhost err srvexist' => 'This service already exists in the group',
+'fwhost err sub32' => 'Please add a single host, not a network.',
+'fwhost green' => 'Verde',
+'fwhost hint' => 'Note',
+'fwhost hosts' => 'Firewall Hosts',
+'fwhost icmptype' => 'ICMP type:',
+'fwhost ip_mac' => 'IP/MAC address',
+'fwhost ipadr' => 'Indirizzo IP:',
+'fwhost ipsec host' => 'IPsec clients:',
+'fwhost ipsec net' => 'IPsec networks:',
+'fwhost menu' => 'Firewall Groups',
+'fwhost netaddress' => 'Network address',
+'fwhost newgrp' => 'Network/Host Groups',
+'fwhost newhost' => 'Hosts',
+'fwhost newnet' => 'Networks',
+'fwhost newservice' => 'Servizio',
+'fwhost newservicegrp' => 'Service Groups',
+'fwhost orange' => 'Orange',
+'fwhost ovpn_n2n' => 'OpenVPN Net-to-Net',
+'fwhost port' => 'Port(s)',
+'fwhost prot' => 'Protocolo',
+'fwhost reread' => 'Firewall rules need to be updated.',
+'fwhost reset' => 'Cancel',
+'fwhost services' => 'Servizio:',
+'fwhost srv_name' => 'Nome servizio',
+'fwhost stdnet' => 'Standard networks:',
+'fwhost type' => 'Type',
+'fwhost used' => 'Used',
+'fwhost welcome' => 'Over here, you can group single hosts, networks and services together, which will creating new rules more easy and faster.',
+'fwhost wo subnet' => '(without subnet)',
+'g.dtm' => 'TO BE REMOVED',
+'g.lite' => 'TO BE REMOVED',
+'gateway' => 'Gateway',
+'gateway ip' => 'Gateway IP',
+'gen dh' => 'Generate new Diffie-Hellman parameters',
+'gen static key' => 'Generate a static key',
+'generate' => 'Generate root/host zertifikate',
+'generate a certificate' => 'Generate a certificate:',
+'generate dh key' => 'Generate Diffie-Hellman parameters',
+'generate iso' => 'Genera file ISO',
+'generate root/host certificates' => 'Generate root/host certificates',
+'generate tripwire keys and init' => 'generate tripwire keys and init',
+'generatekeys' => 'Generate Keys',
+'generatepolicy' => 'Generate new policy',
+'generatereport' => 'Generate new report',
+'generating the root and host certificates may take a long time. it can take up to several minutes on older hardware. please be patient' => 'Generating the root and host certificates may take a long time.  It can take up to several minutes on older hardware. Please be patient.',
+'genkey' => 'Generate PSK',
+'genre' => 'Genre',
+'global settings' => 'Settaggio Globale',
+'gpl i accept these terms and conditions' => 'I accept these terms and conditions',
+'gpl license agreement' => 'License Agreement',
+'gpl please read carefully the general public license and accept it below' => 'Please read carefully the General Public License and accept it below',
+'gpl unofficial translation of the general public license v3' => 'Unofficial translation of the General Public License v3',
+'graph' => 'Grafico',
+'graph per' => 'per',
+'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.',
+'hangup' => 'Disconnect',
+'hangup string' => 'Hangup:',
+'harddisk temperature' => 'Temperatura Harddisk',
+'harddisk temperature graphs' => 'Grafico HDD',
+'hardware graphs' => 'Grafico Hardware',
+'hardware support' => 'Supporto Hardware',
+'hdd temperature in' => 'Temperatura Harddisk',
+'help' => 'Help',
+'high' => 'High',
+'high memory usage' => 'High memory usage',
+'hint' => 'Hint:',
+'holdoff' => 'Holdoff time (in seconds)',
+'host' => 'Host',
+'host allow' => 'list with allowed hosts',
+'host certificate' => 'Host Certificate',
+'host configuration' => 'Host Configuration',
+'host deny' => 'list with denied hosts',
+'host ip' => 'Indirizzo IP dell\'Host',
+'host to net vpn' => 'Host-to-Net Virtual Private Network (RoadWarrior)',
+'hostname' => 'Hostname',
+'hostname and domain already in use' => 'Hostname and domain already in use.',
+'hostname cant be empty' => 'Hostname can\'t be empty.',
+'hostname not set' => 'Hostname not set.',
+'hosts config added' => 'Hosts config added',
+'hosts config changed' => 'Hosts config changed',
+'hour' => 'Ora',
+'hour-graph' => 'Ora',
+'hours' => 'Ore',
+'hours2' => 'Ore',
+'ibod for dual isdn only' => 'iBOD can only be used with Dual ISDN.',
+'icmp selected but no type' => 'ICMP selected for protocol, but no ICMP type specified.',
+'icmp type' => 'ICMP Type',
+'id' => 'ID',
+'idle' => 'Idle',
+'idle timeout' => 'Idle timeout (mins; 0 to disable):',
+'idle timeout not set' => 'Idle timeout not set.',
+'ids log viewer' => 'IDS log viewer',
+'ids logs' => 'IDS Logs',
+'ids preprocessor' => 'IDS preprocessor',
+'ids rules license' => 'To utilize Sourcefire VRT Certified Rules, you need to register on',
+'ids rules license1' => '.',
+'ids rules license2' => 'Acknowledge the license, activate your account by visiting the url you got via mail. Then go to',
+'ids rules license3' => 'press the "Generate code"-button and copy the 40 character Oinkcode into the field below.',
+'ids rules update' => 'Snort rules update',
+'iface' => 'Iface',
+'ignore filter' => 'Ignora filtro',
+'ike encryption' => 'IKE Encryption:',
+'ike grouptype' => 'IKE Grouptype:',
+'ike integrity' => 'IKE Integrity:',
+'ike lifetime' => 'IKE Lifetime:',
+'ike lifetime should be between 1 and 8 hours' => 'IKE lifetime should be between 1 and 8 hours.',
+'imei' => 'IMEI',
+'import' => 'Import',
+'importkey' => 'Import PSK',
+'imsi' => 'IMSI',
+'in' => 'In',
+'inactive' => 'inactive',
+'include logfiles' => 'Includi File di log',
+'incoming' => 'incoming',
+'incoming firewall access' => 'Incoming Firewall Access',
+'incoming traffic in bytes per second' => 'Incoming Traffic',
+'incorrect password' => 'Incorrect password',
+'info' => 'Info',
+'init string' => 'Init:',
+'insert floppy' => 'To backup to floppy, insert a formatted floppy into the drive on IPFire and click <i>backup to floppy</i> to backup the system configuration. Please examine the results carefully to make sure the backup completed successfully. This can take a while to complete, so please be patient.<p>',
+'insert removable device' => 'Insert a removable device',
+'install' => 'Install',
+'install new update' => 'Install new update:',
+'installed' => 'Installed',
+'installed updates' => 'Installed updates:',
+'instant update' => 'Instant Update',
+'integrity' => 'Integrity:',
+'interface' => 'Interface',
+'interfaces' => 'Interfaces',
+'internet' => 'INTERNET',
+'intrusion detection' => 'Intrusion Detection',
+'intrusion detection system' => 'Intrusion Detection System',
+'intrusion detection system log viewer' => 'Intrusion Detection System Log Viewer',
+'intrusion detection system rules' => 'intrusion detection system rules',
+'intrusion detection system2' => 'Intrusion Detection System:',
+'invalid broadcast ip' => 'Invalid broadcast IP',
+'invalid cache size' => 'Invalid cache size.',
+'invalid characters found in pre-shared key' => 'Invalid characters found in pre-shared key.',
+'invalid date entered' => 'Invalid date entered.',
+'invalid default lease time' => 'Invalid default lease time.',
+'invalid domain name' => 'Invalid domain name.',
+'invalid downlink speed' => 'Invalid downlink speed.',
+'invalid end address' => 'Invalid end address.',
+'invalid fixed ip address' => 'Invalid fixed IP address',
+'invalid fixed mac address' => 'Invalid fixed MAC address',
+'invalid hostname' => 'Invalid hostname.',
+'invalid input' => 'Invalid input',
+'invalid input for authentication method' => 'Invalid input for authentication method.',
+'invalid input for city' => 'Invalid input for city.',
+'invalid input for country' => 'Invalid input for country.',
+'invalid input for department' => 'Invalid input for department.',
+'invalid input for dhcp dns' => 'Invalid input for DHCP DNS',
+'invalid input for dhcp domain' => 'Invalid input for DHCP domain',
+'invalid input for dhcp wins' => 'Invalid input for DHCP WINS',
+'invalid input for dpd delay' => 'Invalid input for DPD delay',
+'invalid input for dpd timeout' => 'Invalid input for DPD timeout',
+'invalid input for e-mail address' => 'Invalid input for e-mail address.',
+'invalid input for esp keylife' => 'Invalid input for ESP Keylife',
+'invalid input for hostname' => 'Invalid input for hostname.',
+'invalid input for ike lifetime' => 'Invalid input for IKE lifetime',
+'invalid input for keepalive 1' => 'Invalid input for Keepalive ping',
+'invalid input for keepalive 1:2' => 'Invalid input for Keepalive use at least a ratio of 1:2',
+'invalid input for keepalive 2' => 'Invalid input for Keepalive ping-restart',
+'invalid input for max clients' => 'Invalid input for Max Clients',
+'invalid input for name' => 'Invalid input for user\'s full name or system hostname',
+'invalid input for oink code' => 'Invalid input for Oink code',
+'invalid input for organization' => 'Invalid input for organization',
+'invalid input for remote host/ip' => 'Invalid input for remote host/ip.',
+'invalid input for state or province' => 'Invalid input for state or province.',
+'invalid ip' => 'Invalid IP Address',
+'invalid keep time' => 'Keep time must be a valid number',
+'invalid key' => 'Invalid key.',
+'invalid loaded file' => 'Invalid loaded file',
+'invalid local-remote id' => 'local & remote id must not be equal and begin with a "@" sign. These are leftid and rightid in strongswan terminology.',
+'invalid logserver address' => 'Invalid syslogd server address',
+'invalid mac address' => 'Invalid MAC address',
+'invalid max lease time' => 'Invalid max lease time.',
+'invalid maximum incoming size' => 'Invalid maximum incoming size.',
+'invalid maximum object size' => 'Invalid maximum object size.',
+'invalid maximum outgoing size' => 'Invalid maximum outgoing size.',
+'invalid md5sum' => 'Invalid MD5Sum.',
+'invalid minimum object size' => 'Invalid minimum object size.',
+'invalid mtu input' => 'Invalid MTU',
+'invalid netmask' => 'Invalid netmask',
+'invalid port' => 'Invalid port. Must be a valid port number.',
+'invalid port list' => 'Port list syntax is: port[,port]... where port is in /etc/services or number',
+'invalid primary dns' => 'DNS primario Invalido',
+'invalid primary ntp' => 'NTP server primario invalido',
+'invalid secondary dns' => 'DNS secondario Invalido',
+'invalid secondary ntp' => 'NTP server secondario invalido',
+'invalid start address' => 'Indirizzo di partenza non valido.',
+'invalid time entered' => 'Invalid time entered.',
+'invalid time period' => 'Invalid time period',
+'invalid uplink speed' => 'Invalid uplink speed.',
+'invalid upstream proxy username or password setting' => 'Invalid upstream proxy username or password setting.',
+'invalid users' => 'list with users denied to access',
+'invalid vpi vpci' => 'Invalid VPI/VPCI settings',
+'invalid wins address' => 'Invalid WINS server address.',
+'invert' => 'Invert',
+'ip address' => 'Indirizzo IP',
+'ip address in use' => 'IP address already in use',
+'ip address outside subnets' => 'IP Address outside subnets',
+'ip alias added' => 'External IP alias added',
+'ip alias changed' => 'External IP alias changed',
+'ip alias removed' => 'External IP alias removed',
+'ip info' => 'IP Information',
+'ipfire has now rebooted' => 'IPFire si sta Riavviando',
+'ipfire has now shutdown' => 'IPFire è in spegnimento.',
+'ipfire side' => 'IPFire side:',
+'ipfire side is invalid' => 'IPFire side is invalid.',
+'ipfires hostname' => 'IPFire\'s Hostname',
+'ipinfo' => 'IP info',
+'ipsec' => 'IPsec',
+'ipsec network' => 'IPsec network',
+'ipsec no connections' => 'No active IPsec connections',
+'iptable rules' => 'IPTable rules',
+'iptmangles' => 'IPTable Mangles',
+'iptnats' => 'IPTable Network Address Translation',
+'ipts' => 'iptables',
+'isdn' => 'ISDN',
+'isdn settings' => 'Additional ISDN settings:',
+'isdn1' => 'Single ISDN',
+'isdn2' => 'Dual ISDN',
+'january' => 'Gennaio',
+'javascript menu error1' => 'If the drop down menus aren\'t working, disable javascript on the',
+'javascript menu error2' => 'page.',
+'july' => 'Luglio',
+'june' => 'Giugno',
+'kernel' => 'Kernel',
+'kernel logging server' => 'Kernel Logging Server',
+'kernel version' => 'Kernel version:',
+'key stuff' => '2. Keys and Certificates',
+'keyreset' => 'Reset Keys',
+'keys' => 'keys',
+'lan' => 'LAN',
+'lang' => 'en',
+'languagepurpose' => 'Selezionare la lingua che si desidera usare in IPFire:',
+'last' => 'Last',
+'last activity' => 'Last Activity',
+'lateprompting' => 'Lateprompting',
+'lease expires' => 'Lease expires',
+'least preferred' => 'least preferred',
+'legend' => 'Legenda',
+'length' => 'Length',
+'lifetime' => 'Lifetime:',
+'line' => 'Line',
+'linkq' => 'Link Quality',
+'load printer' => 'Load Printer',
+'loaded modules' => 'Loaded modules:',
+'local hard disk' => 'Hard disk',
+'local master' => 'Local Master',
+'local ntp server specified but not enabled' => 'Local NTP server specified but not enabled',
+'local subnet' => 'Local Subnet:',
+'local subnet is invalid' => 'Local subnet is invalid.',
+'local vpn hostname/ip' => 'Local VPN Hostname/IP',
+'localkey' => 'Localkey',
+'localkeyfile' => 'Localkeyfile',
+'log' => 'Log',
+'log enabled' => 'Abilito Log',
+'log level' => 'Log Level',
+'log lines per page' => 'Line per pagina',
+'log server address' => 'Syslog server:',
+'log settings' => 'Impostazioni di Log',
+'log summaries' => 'Sommario Log',
+'log summary' => 'Sommario Log',
+'log var messages' => 'Impostazioni per /var/log/messages:',
+'log view' => 'Log View',
+'log viewer' => 'Log viewer',
+'log viewing options' => 'Opzioni di visualizzazione del Log',
+'log-options' => 'Logfile options',
+'loged in at' => 'Logged in at',
+'logging' => 'Logging',
+'logging server' => 'Logging Server',
+'loginlogout' => 'Login/Logout',
+'logs' => 'Gestione Log',
+'lookup failed' => 'Reverse lookup failed',
+'loosedirectorychecking' => 'Loosedirectorychecking',
+'low' => 'Low',
+'ls_dhcpd' => 'DHCP Server:',
+'ls_disk space' => 'Disk space:',
+'ls_free/swan' => 'VPN:',
+'ls_httpd' => 'HTTP Server:',
+'ls_init' => 'Init:',
+'ls_kernel' => 'Kernel and Firewall:',
+'ls_modprobe' => 'Module loader:',
+'ls_pam_unix' => 'Local user logins:',
+'ls_sshd' => 'User per Login Remoto:',
+'ls_syslogd' => 'Syslogd:',
+'mac address' => 'MAC Address',
+'mac address deleted' => 'Successfully deleted!',
+'mac address deleted txt' => 'The MAC address has been successfully deleted, but changes will only take effect after <strong>reboot</strong>.',
+'mac address done' => 'The MAC address settings are going to be saved.',
+'mac address error not 00' => 'MAC addresse has to start with 00!',
+'mac address error not valid' => 'MAC addresse not valid!',
+'mac address header' => 'Indirizzo MAC address red0',
+'mac address in use' => 'MAC address already in use',
+'mac address menu' => 'Assegna MAC Address',
+'mac address recon' => 'Trying to reconnect!',
+'mac address saved' => 'Successfully saved!',
+'mac address saved txt' => 'The MAC address has been successfully saved, but changes will only take effect after reboot or reconnection.',
+'mac address title' => 'Assegna MAC Address',
+'mac desc' => 'Qui si &egrave; in grado di cambiare l\'indirizzo MAC della scheda red0. L\'indirizzo deve essere immesso in formato esadecimale (0-9, af), una voce valida &egrave; <br />Esempio 00-01-02-0e-b8-d6 or 00:01:02:0e:b8:d6.',
+'mac filter' => 'Filtro MAC',
+'mac new' => 'Nuovo MAC address:',
+'mac1 new' => 'Nuovo MAC address 1 (vdsl-inet):',
+'mac2 new' => 'Nuovo MAC address 2 (vdsl-iptv):',
+'magic packet send to:' => 'Magic packet send to:',
+'mailmethod' => 'Mailmethod',
+'mailprogramm' => 'Mailprogramm',
+'main page' => 'Pagina Principale',
+'manage ovpn' => '5. Tunnel Management:',
+'manage printers' => 'manage printers',
+'manage shares' => 'Manage Shares',
+'manual' => 'Manual',
+'manual control and status' => 'Manual control and status:',
+'manually' => 'Manuale',
+'map to guest' => 'Map to Guest',
+'march' => 'Marzo',
+'marked' => 'Marked',
+'max bandwith' => 'Maximum bandwith',
+'max incoming size' => 'Max incoming size (KB):',
+'max lease time' => 'Tempo massimo lease (min):',
+'max outgoing size' => 'Max outgoing size (KB):',
+'max reliability' => 'Maximum reliability',
+'max renewal time' => 'Maximum Renewal Time',
+'max retries not set' => 'Max retries not set.',
+'max size' => 'Max object size (KB):',
+'max throughput' => 'Maximum throughput',
+'maximal' => 'Maximal',
+'maximum' => 'Maximum',
+'maximum retries' => 'Maximum retries:',
+'may' => 'Maggio',
+'mbmon display' => 'Display',
+'mbmon fan' => 'Fan Speed',
+'mbmon fan in' => 'Fan speed in',
+'mbmon graphs' => 'mbmon Graphs',
+'mbmon label' => 'Label',
+'mbmon settings' => 'mbmongraph settings',
+'mbmon temp' => 'Temperatura',
+'mbmon temp in' => 'Temperatura in',
+'mbmon value' => 'Value',
+'mbmon volt' => 'Tensione',
+'meaning' => 'meaning',
+'media' => 'Media',
+'media information' => 'Informazioni Media',
+'medium' => 'Medium',
+'memory' => 'Memoria',
+'memory information' => 'informazione Memoria',
+'memory usage per' => 'Memory Usage per',
+'messages logging' => 'Log settings for /var/log/messages',
+'method' => 'Method:',
+'min costs' => 'Minimum costs',
+'min delay' => 'Minimum delay',
+'min size' => 'Dimensione minima (KB):',
+'minimal' => 'Minimal',
+'minimum' => 'Minimum',
+'minute' => 'Minuto',
+'minutes' => 'Minuti',
+'misc-options' => 'Miscellaneous options',
+'missing dat' => 'Encrypted archive not found',
+'missing gz' => 'Unencrypted archive not found',
+'mode' => 'Mode',
+'model' => 'Model',
+'modem' => 'Modem',
+'modem configuration' => 'Configurazione Modem',
+'modem hardware details' => 'Modem Hardware',
+'modem information' => 'Modem Informazione',
+'modem network bit error rate' => 'Bit Error Rate',
+'modem network information' => 'Network Information',
+'modem network mode' => 'Network Mode',
+'modem network operator' => 'Network Operator',
+'modem network registration' => 'Network Registration',
+'modem network signal quality' => 'Signal Quality',
+'modem no connection' => 'No Connection',
+'modem no connection message' => 'No connection to the modem could be established.',
+'modem on com1' => 'Modem on COM1',
+'modem on com2' => 'Modem on COM2',
+'modem on com3' => 'Modem on COM3',
+'modem on com4' => 'Modem on COM4',
+'modem on com5' => 'Modem on COM5',
+'modem settings have errors' => 'Modem settings have errors',
+'modem sim information' => 'SIM Information',
+'modem speaker on' => 'Modem speaker on:',
+'modem status' => 'Modem Status',
+'modify' => 'Modify',
+'modulation' => 'Modulation',
+'monday' => 'Lunedi',
+'monitor interface' => 'Monitor Interface',
+'month' => 'Mese',
+'month-graph' => 'Mese',
+'monthly firewallhits' => 'monthly firewallhits',
+'monthly start day bad' => 'Monthly start day is not correct',
+'monthly traffic bad' => 'Monthly volume is not correct',
+'monthly volume' => 'Monthly volume',
+'monthly volume start day' => 'First day of monthly period',
+'monthly volume start day short' => 'Primo giorno',
+'months' => 'months',
+'more' => 'more',
+'most preferred' => 'most preferred',
+'mount' => 'Mount',
+'mounted on' => 'Montato su',
+'mpfire' => 'Media Player for IPFire',
+'mpfire controls' => 'MPFire Control',
+'mpfire playlist' => 'MPFire Playlist',
+'mpfire scanning' => 'Scan for new files',
+'mpfire search' => 'MPFire Search',
+'mpfire songs' => 'MPFire songlist',
+'mpfire webradio' => 'MPFire Webradio',
+'mtu QoS' => 'This does not change the global MTU, it only sets MTU for QoS.',
+'my new share' => 'My new share',
+'name' => 'Nome',
+'name is invalid' => 'Name is invalid',
+'name must only contain characters' => 'Name must only contain characters.',
+'name too long' => 'User\'s full name or system hostname is too long',
+'nameserver' => 'Nameserver',
+'nat-traversal' => 'Nat Traversal:',
+'needreboot' => 'An update requires a restart',
+'net' => 'Net',
+'net address' => 'net address',
+'net config' => 'Network configuration',
+'net config type' => 'kind of network configuration',
+'net config type help' => 'Verde is the local network, RED is the internet, Blu is WLAN, ORANGE is the DMZ.',
+'net to net vpn' => 'Net-to-Net Virtual Private Network',
+'net traffic newversion' => 'New Net-Traffic version is available:',
+'net-traffic configuration' => 'Net-Traffic Configuration',
+'netbios name' => 'Netbios Name',
+'netmask' => 'Netmask',
+'network' => 'RETE',
+'network added' => 'Custom network added',
+'network configuration' => 'Network Configuration',
+'network internal' => 'Rete (interna)',
+'network options' => 'Network options',
+'network other' => 'Rete (altro)',
+'network red' => 'Rete (Esterna)',
+'network removed' => 'Custom network removed',
+'network status information' => 'Informazioni e stato Rete',
+'network time' => 'Use a network time server',
+'network time from' => 'Impostare l\'ora da un server in rete',
+'network traffic graphs' => 'Network traffic graphs',
+'network traffic graphs external' => 'Net-Traffic grafici (Esterna)',
+'network traffic graphs internal' => 'Net-Traffic grafici (interna)',
+'network traffic graphs others' => 'Rete (altro)',
+'network updated' => 'Custom Network updated',
+'networks settings' => 'Firewall - Network settings',
+'never' => 'Never',
+'new optionsfw later' => 'Some options need a reboot to take effect',
+'new optionsfw must boot' => 'You must reboot your IPFire',
+'newer' => 'più recente',
+'next' => 'next',
+'no' => 'No',
+'no alcatelusb firmware' => 'No Alcatel USB firmware. Please upload.',
+'no cfg upload' => 'No data was uploaded',
+'no dhcp lease' => 'No DHCP lease has been acquired',
+'no eciadsl synch.bin file' => 'No ECI ADSL synch.bin file. Please upload.',
+'no filter pass' => 'Enter the standard class for non-filtered packets.',
+'no fritzdsl driver' => 'No Fritz!DSL driver.  Please upload.',
+'no hardware random number generator' => 'This system has no source for entropy.',
+'no information available' => 'No information available.',
+'no log selected' => 'No log selected',
+'no modem selected' => 'No modem selected',
+'no set selected' => 'No set was selected',
+'no time limit' => 'unlimited time',
+'none found' => 'none found',
+'nonetworkname' => 'No Network Name entered',
+'noservicename' => 'No Service Name entered',
+'not a valid ca certificate' => 'Not a valid CA certificate.',
+'not a valid dh key' => 'Not a valid Diffie-Hellman parameters file. Please use a length of 1024, 2048, 3072 or 4096 bits and the PKCS#3 format.',
+'not enough disk space' => 'Not enough disk space',
+'not present' => '<b>Not</b> present',
+'not running' => 'not running',
+'not set' => 'not set',
+'notes' => 'Notes',
+'notice' => 'Notice',
+'november' => 'Novembre',
+'ntp common settings' => 'Impostazioni Comuni',
+'ntp configuration' => 'NTP Configuration',
+'ntp must be enabled to have clients' => 'NTP must be enabled to have clients.',
+'ntp server' => 'NTP Server',
+'ntp sync' => 'Sincronizzazione',
+'ntp syncro disabled' => 'Sincronizzazione NTP disabilitata',
+'ntp syncro enabled' => 'Sincronizzazione NTP abilitata',
+'ntpd restarted' => 'Restart ntpd',
+'number' => 'Number:',
+'o-no' => 'Inactiv',
+'o-yes' => 'Activ',
+'october' => 'Ottobre',
+'off' => 'off',
+'ok' => 'OK',
+'older' => 'più vecchio',
+'on' => 'on',
+'online help en' => 'Online help (in english)',
+'only digits allowed in holdoff field' => 'Only digits allowed in holdoff field',
+'only digits allowed in max retries field' => 'Only digits allowed in max retries field.',
+'only digits allowed in the idle timeout' => 'Only digits allowed in the idle timeout.',
+'only red' => 'Only RED',
+'open to all' => 'Override external access to ALL',
+'openssl produced an error' => 'OpenSSL produced an error',
+'openvpn client' => 'OpenVPN client',
+'openvpn default' => 'Default',
+'openvpn destination port used' => 'The destination port is already used by another OpenVPN server.',
+'openvpn disabled' => 'DISABLED',
+'openvpn enabled' => 'ENABLED',
+'openvpn fragment allowed with udp' => 'Using fragment is only allowed when using the UDP protocol.',
+'openvpn log' => 'OpenVPN Log',
+'openvpn mssfix allowed with udp' => 'Using "mssfix" is only allowed when using the UDP protocol.',
+'openvpn network' => 'OpenVPN networks',
+'openvpn prefix local subnet' => 'Using the prefix notation is not supported for the local subnet. Please enter a subnet mask like 255.255.255.0.',
+'openvpn prefix openvpn subnet' => 'Using the prefix notation is not supported for the OpenVPN subnet. Please enter a subnet mask like 255.255.255.0.',
+'openvpn prefix remote subnet' => 'Using the prefix notation is not supported for the remote subnet. Please enter a subnet mask like 255.255.255.0.',
+'openvpn server' => 'OpenVPN server',
+'openvpn subnet is used' => 'The given subnet is used by another OpenVPN server.',
+'optional at cmd' => 'optional AT command',
+'optional data' => '3. Optional Settings:',
+'options' => 'Options',
+'options fw' => 'Firewall Options',
+'optionsfw portlist hint' => 'The list of ports has to be comma separated (e.g. 137,138). You can specify up to a maximum of 15 ports per protocol.',
+'optionsfw warning' => 'Modifying these options implies restart of firewall',
+'or' => 'or',
+'orange' => 'ORANGE',
+'organization cant be empty' => 'Organization can\'t be empty.',
+'organization name' => 'Organization Name',
+'organization too long' => 'Organization is too long; it should not be longer than 60 characters.',
+'original' => 'Original',
+'os level' => 'OS Level',
+'other' => 'Other',
+'other countries' => 'Other countries',
+'other login script' => 'Other login script',
+'otherip' => 'other IP',
+'otherport' => 'other Port',
+'our donors' => 'Our donors',
+'out' => 'Out',
+'outgoing' => 'outgoing',
+'outgoing firewall' => 'Outgoing Firewall',
+'outgoing firewall access' => 'Outgoing Firewall Access',
+'outgoing firewall add ip group' => 'Add IP Address Group',
+'outgoing firewall add mac group' => 'Add MAC Address Group',
+'outgoing firewall edit ip group' => 'Edit IP Address Group',
+'outgoing firewall edit mac group' => 'Edit MAC Address Group',
+'outgoing firewall group error' => 'A group with the same name exists.',
+'outgoing firewall groups' => 'Firewall Groups',
+'outgoing firewall ip groups' => 'Outgoing Firewall IP Address Groups',
+'outgoing firewall mac groups' => 'Outgoing Firewall MAC Address Groups',
+'outgoing firewall mode0' => 'Using this mode, all clients are able to access the internet without any restrictions.',
+'outgoing firewall mode1' => 'Using this mode, only connections based on the defined rules are allowed.',
+'outgoing firewall mode2' => 'Using this mode, all connections are allowed despited off the defined ones.',
+'outgoing firewall outgoing firewall reserved groupname' => 'Please use another group name, this name is reserved.',
+'outgoing firewall p2p allow' => 'Using the P2P protocol is allowed',
+'outgoing firewall p2p deny' => 'Using the P2P protocol is forbidden',
+'outgoing firewall p2p description 1' => 'The button',
+'outgoing firewall p2p description 2' => 'means that the p2p protocol is allowed or',
+'outgoing firewall p2p description 3' => 'that the p2p protocol is denied.',
+'outgoing firewall reset' => 'Reset all',
+'outgoing firewall view group' => 'View group',
+'outgoing firewall warning' => 'Not selecting source ip or mac ignores them',
+'outgoing traffic in bytes per second' => 'Outgoing Traffic',
+'override mtu' => 'Override default MTU',
+'ovpn' => 'OpenVPN',
+'ovpn con stat' => 'OpenVPN Connection Statistics',
+'ovpn config' => 'OVPN-Config',
+'ovpn crypt options' => 'Cryptographic options',
+'ovpn device' => 'OpenVPN device:',
+'ovpn dh' => 'Diffie-Hellman parameters length',
+'ovpn dh new key' => 'Generate new Diffie-Hellman parameters',
+'ovpn dh parameters' => 'Diffie-Hellman parameters options',
+'ovpn dh upload' => 'Upload new Diffie-Hellman parameters',
+'ovpn dl' => 'OVPN-Config Download',
+'ovpn engines' => 'Crypto engine',
+'ovpn errmsg green already pushed' => 'Route for Verde network is always set',
+'ovpn errmsg invalid ip or mask' => 'Invalid network-address or subnetmask',
+'ovpn generating the root and host certificates' => 'Generating the root and host certifictae can take a long time.',
+'ovpn ha' => 'Hash algorithm',
+'ovpn hmac' => 'HMAC options',
+'ovpn log' => 'OVPN-Log',
+'ovpn mgmt in root range' => 'A port number of 1024 or higher is required.',
+'ovpn mtu-disc' => 'Path MTU Discovery',
+'ovpn mtu-disc and mtu not 1500' => 'Path MTU Discovery requires a MTU of 1500.',
+'ovpn mtu-disc maybe' => 'Optionally',
+'ovpn mtu-disc no' => 'Never',
+'ovpn mtu-disc off' => 'Disabled',
+'ovpn mtu-disc with mssfix or fragment' => 'Path MTU Discovery cannot be used with mssfix or fragment.',
+'ovpn mtu-disc yes' => 'Forced',
+'ovpn no connections' => 'No active OpenVPN connections',
+'ovpn on blue' => 'OpenVPN on Blu',
+'ovpn on orange' => 'OpenVPN on ORANGE',
+'ovpn on red' => 'OpenVPN on RED',
+'ovpn port in root range' => 'A port number of 1024 or higher is required.',
+'ovpn reneg sec' => 'Session key lifetime:',
+'ovpn routes push' => 'Routes (one per line) e.g. 192.168.10.0/255.255.255.0 192.168.20.0/24',
+'ovpn routes push options' => 'Route push options',
+'ovpn server status' => 'Current OpenVPN server status:',
+'ovpn subnet' => 'OpenVPN subnet (e.g. 10.0.10.0/255.255.255.0)',
+'ovpn subnet is invalid' => 'OpenVPN subnet is invalid.',
+'ovpn subnet overlap' => 'OpenVPN Subnet overlaps with : ',
+'ovpn_fastio' => 'Fast-IO',
+'ovpn_mssfix' => 'MSSFIX Size',
+'ovpn_mtudisc' => 'MTU-Discovery',
+'ovpn_processprio' => 'Process priority',
+'ovpn_processprioD' => 'Deeply',
+'ovpn_processprioED' => 'Extremely deeply',
+'ovpn_processprioEH' => 'Extremely high',
+'ovpn_processprioEN' => 'More highly than normal',
+'ovpn_processprioH' => 'High',
+'ovpn_processprioLN' => 'More deeply than normal',
+'ovpn_processprioN' => 'Normal',
+'ovpn_processprioVD' => 'Very deeply',
+'ovpn_processprioVH' => 'Very high',
+'ovpnstatus log' => 'OVPN-Status-Log',
+'ovpnsys log' => 'OVPN-System-Log',
+'p2p block' => 'P2P networks',
+'p2p block save notice' => 'Please reload the firewall ruleset in order to apply your changes.',
+'package failed to install' => 'Package failed to install.',
+'pagerefresh' => 'Page is beeing refreshed, please wait.',
+'pakfire accept all' => 'Do you want to install all packages?',
+'pakfire ago' => 'ago.',
+'pakfire available addons' => 'Addons disponibili:',
+'pakfire configuration' => 'Configurazione Pakfire',
+'pakfire core update auto' => 'Install core and addon updates automatically:',
+'pakfire core update level' => 'Core-Update-Level',
+'pakfire health check' => 'Controllare se il mirror è raggiungibile (ping):',
+'pakfire install description' => 'Si prega di scegliere uno o più elementi dalla lista qui sotto e <br /> fai clic sul segno più per installare.',
+'pakfire install package' => 'You want to install the following packages: ',
+'pakfire installed addons' => 'Addons installati:',
+'pakfire last core list update' => 'Last core list update made',
+'pakfire last package update' => 'Last packages list update made',
+'pakfire last serverlist update' => 'Last server list update made',
+'pakfire last update' => 'Last update made',
+'pakfire possible dependency' => ' There may be depending packages, here is a list of packages that need to be installed.',
+'pakfire register' => 'Registrati sul pakfire-server:',
+'pakfire system state' => 'Stato del Sistema',
+'pakfire uninstall description' => 'Si prega di scegliere uno o più elementi dalla lista qui sotto e <br /> fare clic sul meno per disinstallare..',
+'pakfire uninstall package' => 'You want to uninstall the following packages: ',
+'pakfire update daily' => 'Ricerca gli aggiornamenti una volta al giorno:',
+'pakfire updates' => 'Available Update:',
+'pakfire working' => 'Pakfire is working ... Please wait until all operations have completed successfully.',
+'pap or chap' => 'PAP or CHAP',
+'parentclass' => 'Parentclass',
+'parentclass add' => 'Add parentclass',
+'password' => 'Password:',
+'password contains illegal characters' => 'Password contains illegal characters.',
+'password crypting key' => 'Password crypting the key',
+'password not set' => 'Password not set.',
+'password too short' => 'Password is too short.',
+'passwords do not match' => 'Passwords do not match.',
+'passwords must be at least 6 characters in length' => 'Passwords must be at least 6 characters in length',
+'path to directory' => 'path to share',
+'pc' => 'Workstation',
+'pc add' => 'Add workstation',
+'pdc options' => 'PDC options',
+'percentage' => 'percentuale',
+'persistent' => 'Persistent',
+'pfs yes no' => 'Perfect Forward Secrecy (PFS)',
+'phase1 group' => 'Phase1 Group',
+'phonebook entry' => 'Phonebook entry:',
+'ping disabled' => 'Disable ping response',
+'pkcs12 file password' => 'PKCS12 File Password',
+'play' => 'Play',
+'polfile' => 'Polfile',
+'policy' => 'Policy',
+'port' => 'Port',
+'port forwarding configuration' => 'Port forwarding configuration',
+'ports' => 'Ports',
+'portscans' => 'portscancs',
+'pots' => 'Analog classic line',
+'ppp setup' => 'PPP setup',
+'pppoe' => 'PPPoE',
+'pppoe settings' => 'Additional PPPoE settings:',
+'pptp settings' => 'Additional PPTP settings:',
+'pre-shared key is too short' => 'Pre-shared key is too short.',
+'prefered master' => 'Prefered Master',
+'present' => 'Present',
+'prev' => 'previous',
+'primary dns' => 'DNS Primario:',
+'primary ntp server' => 'NTP server Primario',
+'primary wins server address' => 'WINS server primario',
+'printcap name' => 'Printercap name',
+'printer' => 'Printer',
+'printername' => 'Printername',
+'printing' => 'Printing',
+'printing options' => 'printing options',
+'priority' => 'Priority',
+'processes' => 'Processo',
+'profile' => 'Profile',
+'profile deleted' => 'Profile deleted: ',
+'profile has errors' => 'Profile has errors',
+'profile made current' => 'Profile made current: ',
+'profile name' => 'Profile name:',
+'profile name not given' => 'Profile name not given.',
+'profile saved' => 'Profile saved: ',
+'profiles' => 'Profiles:',
+'proto' => 'Proto',
+'protocol' => 'Protocolo',
+'proxy' => 'Proxy',
+'proxy access graphs' => 'Proxy access graphs',
+'proxy admin password' => 'Cache administrator password',
+'proxy cachemgr' => 'Attiva cachemanager',
+'proxy errmsg filedescriptors' => 'Wrong amount of filedescriptors',
+'proxy filedescriptors' => 'Quantita filedescriptors',
+'proxy log viewer' => 'Proxy log viewer',
+'proxy logs' => 'Proxy Log',
+'proxy no proxy extend' => 'or specify a list of not proxied destination',
+'proxy no proxy local' => 'Disallow local proxying on Blu/Verde networks',
+'proxy port' => 'Porta Proxy',
+'proxy reconfigure' => 'Save and Reload',
+'proxy reports' => 'Report del Proxy',
+'proxy reports daily' => 'Daily reports',
+'proxy reports monthly' => 'Monthly reports',
+'proxy reports today' => 'Oggi',
+'proxy reports weekly' => 'Weekly reports',
+'psk' => 'PSK',
+'pulse' => 'Pulse',
+'pulse dial' => 'Pulse dial:',
+'qos add subclass' => 'Add subclass',
+'qos enter bandwidths' => 'You will need to enter your downstream and upstream bandwidth!',
+'qos graphs' => 'Qos Graphs',
+'qos warning' => 'The rule <strong>must</strong> be saved, otherwise it will be discarded!',
+'quick control' => 'Quick Control',
+'quick playlist' => 'Quick Playlist',
+'ram' => 'RAM',
+'random number generator daemon' => 'Random Number Generator Daemon',
+'read bytes' => 'Read Bytes',
+'read list' => 'list with readonly hosts',
+'real address' => 'Real Address',
+'reboot' => 'Riavvia',
+'reboot ask' => 'Riavvia?',
+'reboot question' => 'Extra query for restart and shutdown',
+'reboot schedule' => 'Schedule IPFire reboots',
+'reboot sure' => 'Are you sure that you want to reboot?',
+'rebooting' => 'Rebooting',
+'rebooting ipfire' => 'Rebooting IPFire',
+'reconnect' => 'Reconnect',
+'reconnection' => 'Reconnection',
+'red' => 'Internet',
+'red1' => 'ROSSO',
+'references' => 'References',
+'refresh' => 'Refresh',
+'refresh index page while connected' => 'Aggiorna la pagina index.cgi mentre si &eacute; collegati',
+'refresh update list' => 'Refresh update list',
+'registered user rules' => 'Sourcefire VRT rules for registered users',
+'released' => 'Released',
+'reload' => 'reload',
+'remark' => 'Commento',
+'remark title' => 'Commento:',
+'remote access' => 'Remote access',
+'remote announce' => 'Remote Announce',
+'remote browse sync' => 'Remote Browse Sync',
+'remote host/ip' => 'Remote host/IP',
+'remote logging' => 'Log remoto',
+'remote subnet' => 'Remote subnet:',
+'remote subnet is invalid' => 'Remote subnet is invalid.',
+'removable device advice' => 'Plug in a device, refresh, select and mount before usage. Umount before removal.',
+'remove' => 'Remove',
+'remove ca certificate' => 'Remove CA certificate',
+'remove x509' => 'Remove x509',
+'repeat' => 'Repeat',
+'reportfile' => 'Reportfile',
+'reportlevel' => 'Reportlevel',
+'request' => 'Request',
+'requested data' => '1. Connection Settings:',
+'reserved dst port' => 'Destination port is reserved for IPFire use only:',
+'reserved src port' => 'Source port is reserved for IPFire use only:',
+'reset' => 'Reset',
+'reset shares' => 'Reset share',
+'resetglobals' => 'Reset global settings',
+'resetpolicy' => 'Reset policy to default',
+'resetshares' => 'Reset shares?',
+'resetting the vpn configuration will remove the root ca, the host certificate and all certificate based connections' => 'Resetting the VPN configuration will remove the root CA, the host certificate and all certificate based connections',
+'restart' => 'Restart',
+'restart ovpn server' => 'Restart OpenVPN server',
+'restore' => 'Ripristinare',
+'restore defaults' => 'Ripristina defaults',
+'restore hardware settings' => 'Restore hardware settings',
+'restore settings' => 'Reset Settings',
+'reverse sort' => 'Ordina in ordine cronologico inverso',
+'root' => 'Root',
+'root certificate' => 'Root certificate',
+'root path' => 'Root path',
+'root user password' => 'Root password',
+'route subnet is invalid' => 'Additional push route subnet is invalid',
+'router ip' => 'Router IP address:',
+'routing table entries' => 'Instradamento delle voci di tabella',
+'rsvd dst port overlap' => 'Destination Port Range overlaps a port reserved for IPFire:',
+'rsvd src port overlap' => 'Source Port Range overlaps a port reserved for IPFire:',
+'rules already up to date' => 'Rules already up to date',
+'running' => 'AVVIATO',
+'safe removal of umounted device' => 'You can safely remove the unmounted device',
+'samba' => 'Samba',
+'samba status' => 'Samba Status',
+'saturday' => 'Sabato',
+'save' => 'Salva',
+'save config' => 'save settings',
+'save error' => 'Unable to save configuration archive file',
+'save settings' => 'Save settings',
+'save-adv-options' => 'Save advanced options',
+'script name' => 'Script name:',
+'secondary dns' => 'DNS Secondario:',
+'secondary ntp server' => 'NTP server secondario',
+'secondary wins server address' => 'WINS server secondario',
+'seconds' => 'Secondi',
+'section' => 'Sezione',
+'secure shell server' => 'Secure Shell Server',
+'security' => 'Sicurezza',
+'security options' => 'Opzioni sicurezza',
+'select' => 'selezionare',
+'select dest net' => 'Select a destination net.',
+'select media' => 'Select media <br />(only FAT supported for removable media)',
+'select source net' => 'Select a source net. If you have no ORAGNE or Blu net configured, you need no DMZ Pinholes.',
+'selecttraffic' => 'Select utilization-overview:',
+'send cr' => 'ISP requires Carriage Return:',
+'send email notification' => 'Enabled, send e-mail notification',
+'send test mail' => 'Send Teste-mail',
+'september' => 'Settembre',
+'serial' => 'Serial',
+'server reserved' => 'The connection name server is reserved and not allowed',
+'server restart' => 'You are not able to save any changes while the OpenVPN server is running.',
+'server string' => 'Server String',
+'service' => 'Service',
+'service added' => 'Custom network service added',
+'service name' => 'Service name:',
+'service removed' => 'Custom network service removed',
+'service updated' => 'Custom network service updated',
+'servicename' => 'Service Name',
+'services' => 'Servizio',
+'services settings' => 'Firewall-Impostazioni Servizi',
+'set' => 'set',
+'set time now' => 'Set time now',
+'set time now help' => 'Per accodare un evento di sincronizzazione in qualsiasi momento (anche durante l\'utilizzo di un programma di ripetizione), premere il pulsante Imposta ora ora. Si prega di notare che potrebbe essere necessario attendere per cinque minuti, o più, prima che si verifichi un evento di sincronizzazione.',
+'settings' => 'Impostazioni',
+'shaping add options' => 'Add service',
+'shaping list options' => 'Traffic shaping services',
+'shared' => 'shared',
+'sharename' => 'Sharename',
+'shares' => 'Shares',
+'show ajax speedmeter in footer' => 'Mostra la velocita tramita Ajax',
+'show areas' => 'show areas',
+'show ca certificate' => 'Show CA certificate',
+'show certificate' => 'Show file',
+'show crl' => 'Show certificate revocation list',
+'show dh' => 'Show Diffie-Hellman parameters',
+'show host certificate' => 'Show host certificate',
+'show last x lines' => 'Show last x lines',
+'show lines' => 'Show lines',
+'show root certificate' => 'Show root certificate',
+'show share options' => 'Show shares options',
+'show tls-auth key' => 'Show tls-auth key',
+'shuffle' => 'Shuffle',
+'shutdown' => 'Spegni',
+'shutdown ask' => 'Spegni?',
+'shutdown control' => 'Sistema di Controllo per Riavvio',
+'shutdown sure' => 'Are you sure that you want to shutdown?',
+'shutdown2' => 'Spegni:',
+'shutting down' => 'Shutting down',
+'shutting down ipfire' => 'Shutting down IPFire',
+'since' => 'since',
+'sitekey' => 'Sitekey',
+'sitekeyfile' => 'Sitekeyfile',
+'size' => 'grandezza',
+'smart information' => 'Informazione S.M.A.R.T.',
+'smartwarn1' => 'Device:',
+'smartwarn2' => 'reports S.M.A.R.T. error',
+'smbreload' => 'Reload samba',
+'smbrestart' => 'Restart samba',
+'smbstart' => 'Start samba',
+'smbstop' => 'Stop samba',
+'smtphost' => 'SMTP host',
+'smtpport' => 'SMTP port',
+'snat new source ip address' => 'New source IP address',
+'snort hits' => 'Totale numero di regole antintrusione attivate ​​per',
+'snort working' => 'Snort is working ... Please wait until all operations have completed successfully.',
+'socket options' => 'Socket options',
+'software version' => 'Versione software ',
+'sort ascending' => 'Sort ascending',
+'sort descending' => 'Sort descending',
+'sound' => 'Suono',
+'source' => 'Source',
+'source ip' => 'Sorgente IP',
+'source ip and port' => 'IP Sorgente: Porta',
+'source ip bad' => 'Not a valid IP address or a network address.',
+'source ip country' => 'Source IP Country',
+'source ip in use' => 'Source IP in use:',
+'source ip or net' => 'Source IP or Net',
+'source net' => 'Source Net',
+'source network' => 'Source IP, or network (blank for "ALL"):',
+'source port' => 'Source port',
+'source port in use' => 'Source port in use:',
+'source port numbers' => 'Source port must be a valid port number or port range.',
+'source port overlaps' => 'Source port range overlaps an existing port range.',
+'speaker off' => 'Speaker off:',
+'speaker on' => 'Speaker on:',
+'squid extension methods' => 'Your <tt>extension_methods</tt> list',
+'squid extension methods invalid' => 'Your \'extension_methods\' list can only contain uppercase words of letters and digits, separated with a space. ',
+'squid fix cache' => 'Repair cache',
+'src port' => 'Src Port',
+'srcprt range overlaps' => 'Source port range overlaps an already defined port.',
+'srcprt within existing' => 'Source port is within an already defined port range.',
+'ssdmz pinholes' => 'DMZ Pinholes',
+'ssh' => 'SSH',
+'ssh access' => 'Acesso SSH',
+'ssh access tip' => 'IPFire SSH is not using default port 222!',
+'ssh fingerprint' => 'Fingerprint',
+'ssh host keys' => 'SSH Host Keys',
+'ssh is disabled' => 'SSH is disabled.  Stopping.',
+'ssh is enabled' => 'SSH is enabled.  Restarting.',
+'ssh key' => 'Key',
+'ssh key size' => 'Size (bits)',
+'ssh keys' => 'Chiave basata Autenticazione pubblica',
+'ssh no auth' => 'You have not allowed any authentication methods; this will stop you logging in',
+'ssh passwords' => 'Consenti autenticazione basata su password',
+'ssh port' => 'SSH porta TCP/IP 22 (default &eacute; 222)',
+'ssh portfw' => 'Consenti inoltro TCP',
+'ssh tempstart15' => 'Stop SSH dopo 15 minuti',
+'ssh tempstart30' => 'Stop SSH dopo 30 minuti',
+'ssh1 disabled' => 'SSHv1 is disabled, a version 2 client will be required.',
+'ssh1 enabled' => 'SSHv1 is enabled, old clients will be supported.',
+'ssh1 support' => 'Support SSH protocol version 1 (required only for old clients)',
+'ssnetwork status' => 'Network Status',
+'sspasswords' => 'Passwords',
+'ssport forwarding' => 'Port Forwarding',
+'ssproxy graphs' => 'Proxy Graphs',
+'sssystem status' => 'Stato del sistema',
+'sstraffic' => 'Traffico di rete',
+'sstraffic graphs' => 'Traffic Graphs',
+'standard login script' => 'Standard login script',
+'start' => 'Start',
+'start address' => 'Indirizzo di partenza:',
+'start ovpn server' => 'Start OpenVPN Server',
+'state or province' => 'State or Province',
+'static ip' => 'Static IP',
+'static routes' => 'Percorsi statici',
+'status' => 'Stato',
+'status information' => 'Informazioni e Stato',
+'status ovpn' => 'OpenVPN',
+'std classes' => 'Standardclasses',
+'stop' => 'Stop',
+'stop ovpn server' => 'Stop OpenVPN Server',
+'stopped' => 'FERMO',
+'subject' => 'Subject',
+'subject test' => 'Teste-mail',
+'subject warn' => 'Warning - warnlevel reached',
+'subnet' => 'Subnet',
+'subnet is invalid' => 'Netmask is invalid',
+'subscripted user rules' => 'Sourcefire VRT rules with subscription',
+'successfully refreshed updates list' => 'Successfully refreshed updates list.',
+'summaries kept' => 'Tenere il sommaro per',
+'sunday' => 'Domenica',
+'support donation' => 'Support the IPFire project with your donation',
+'swap' => 'Swap',
+'swap usage per' => 'Swap usage per',
+'system' => 'Sistema',
+'system graphs' => 'Grafico sistema',
+'system has hwrng' => 'This system has got a hardware random number generator.',
+'system has rdrand' => 'This system has got support for Intel(R) RDRAND.',
+'system information' => 'Informazione Sistema',
+'system log viewer' => 'System Log Viewer',
+'system logs' => 'Log di Sistema',
+'system status information' => 'Informazioni e stato del sistema',
+'ta key' => 'TLS-Authentification-Key',
+'telephone not set' => 'Telephone not set.',
+'template' => 'Preset',
+'template warning' => 'You have two options to set up Qos. The First, you press the save button and generate the classes and rules on your own. The second, you press the preset button and classes and rules will be set up by a template.',
+'teovpn_fragment' => 'Fragmentsize',
+'test' => 'test',
+'test email could not be sent' => 'Could not sent Testemail',
+'test email was sent' => 'Testemail was send successfully',
+'the following update was successfully installed' => 'The following update was successfully installed',
+'the statistics were last updated at' => 'The statistics were last updated at',
+'theme' => 'Teme Grafico',
+'there are updates' => 'There are updates available for your system. Please go to the "updates" section for more information.',
+'there are updates available' => 'There are updates available for your system. It is strongly urged that you install them as soon as possible.',
+'there was no file upload' => 'There was no file upload.',
+'this feature has been sponsored by' => 'This feature has been sponsored by',
+'this field may be blank' => 'Questo campo pu&ograve; essere vuoto.',
+'this is not a valid archive' => 'This is not a valid archive.',
+'this is not an authorised update' => 'This is not an authorised update.',
+'this months volume' => 'This months volume',
+'this update is already installed' => 'This update is already installed.',
+'this weeks volume' => 'This weeks volume',
+'thursday' => 'Giovedi',
+'time' => 'Ora',
+'time date manually reset' => 'Time/Date manually reset.',
+'time server' => 'Ora Server',
+'timeout must be a number' => 'Timeout must be a number.',
+'title' => 'Title',
+'to' => 'To',
+'to email adr' => 'To e-mail address',
+'to install an update' => 'To install an update please upload the .tgz.gpg file below:',
+'to warn email bad' => 'To e-mail address is not valid',
+'toggle' => 'pause/resume',
+'toggle enable disable' => 'Enable or disable',
+'tone' => 'Tone',
+'tone dial' => 'Tone dial:',
+'too long 80 char max' => ' is too long, maximum allowed is 80 characters',
+'tor' => 'Tor',
+'tor 0 = disabled' => '0 = disabled',
+'tor accounting' => 'Accounting',
+'tor accounting bytes' => 'Traffic (read/written)',
+'tor accounting bytes left' => 'left',
+'tor accounting interval' => 'Interval (UTC)',
+'tor accounting limit' => 'Accounting limit (MB)',
+'tor accounting period' => 'Accounting period',
+'tor accounting period daily' => 'giornaliero',
+'tor accounting period monthly' => 'Mensile',
+'tor accounting period weekly' => 'weekly',
+'tor acls' => 'Access Control',
+'tor allowed subnets' => 'Allowed subnets (one per line)',
+'tor bandwidth burst' => 'Max. burst',
+'tor bandwidth rate' => 'Max. rate',
+'tor bandwidth settings' => 'Bandwidth Settings',
+'tor bandwidth unlimited' => 'unlimited',
+'tor bridge enabled' => 'Enable Tor bridge',
+'tor common settings' => 'Impostazioni Comuni',
+'tor configuration' => 'Tor Configuration',
+'tor connected relays' => 'Connected relays',
+'tor contact info' => 'Contact Info',
+'tor daemon' => 'Daemon',
+'tor directory port' => 'Directory port',
+'tor enabled' => 'Enable Tor',
+'tor errmsg invalid accounting limit' => 'Invalid accounting limit',
+'tor errmsg invalid directory port' => 'Invalid directory port',
+'tor errmsg invalid ip or mask' => 'Invalid IP subnet',
+'tor errmsg invalid node id' => 'Invalid node ID',
+'tor errmsg invalid relay address' => 'Invalid relay address',
+'tor errmsg invalid relay name' => 'Invalid relay nickname',
+'tor errmsg invalid relay port' => 'Invalid relay port',
+'tor errmsg invalid socks port' => 'Invalid SOCKS port',
+'tor exit country' => 'Exit country',
+'tor exit country any' => 'Any country',
+'tor exit nodes' => 'Exit Nodes',
+'tor relay address' => 'Relay address',
+'tor relay configuration' => 'Tor Relay Configuration',
+'tor relay enabled' => 'Enable Tor Relay',
+'tor relay external address' => 'Relay external address',
+'tor relay fingerprint' => 'Relay fingerprint',
+'tor relay mode' => 'Relay mode',
+'tor relay mode bridge' => 'Bridge',
+'tor relay mode exit' => 'Exit-Node',
+'tor relay mode private bridge' => 'Private bridge',
+'tor relay mode relay' => 'Relay only',
+'tor relay nickname' => 'Relay nickname',
+'tor relay port' => 'Relay port',
+'tor service' => 'Tor Service',
+'tor socks port' => 'SOCKS port',
+'tor stats' => 'Statistics',
+'tor traffic limit hard' => 'Traffic limit has been reached.',
+'tor traffic limit soft' => 'Traffic limit almost reached. Not accepting any new connections.',
+'tor traffic read written' => 'Total traffic (read/written)',
+'tor use exit nodes' => 'Use only these exit nodes (one per line)',
+'total connection time' => 'Total connection time',
+'total hits for log section' => 'Total hits for log section',
+'traffic back' => 'Back',
+'traffic calc time' => 'Time of calculation',
+'traffic calc time bad' => 'Calculation time is not correct',
+'traffic info messages' => 'Info messages',
+'traffic monitor' => 'Traffic Monitor',
+'traffic on' => 'Traffic on',
+'traffic shaping' => 'Traffic Shaping',
+'traffic shaping settings' => 'Traffic Shaping Settings',
+'traffic warn level bad' => 'Warnlevel is not correct',
+'trafficblue' => 'WLAN',
+'trafficdate' => 'Date',
+'trafficfrom' => 'Da',
+'trafficgreen' => 'Internal net',
+'trafficin' => 'Input',
+'trafficorange' => 'DMZ',
+'trafficout' => 'Output',
+'trafficred' => 'Internet',
+'traffics' => 'Panoramica-Utilizzo',
+'trafficsum' => 'Totals',
+'trafficto' => 'To',
+'transfer limits' => 'Transfer limits',
+'transparent on' => 'Transparente on',
+'tripwire' => 'Tripwire',
+'tripwire cronjob' => 'tripwire cronjob',
+'tripwire functions' => 'tripwire functions',
+'tripwire reports' => 'tripwire reports',
+'tripwireoperating' => 'The process was started. This may take serverall minutes, please wait the window will automaticly refresh after the process has finished.',
+'tripwirewarningdatabase' => 'WARNING - Your database will be updated with the data of the last report. Please ensure that no unauthorized changes are reported. Therefor the local-key is needed.',
+'tripwirewarningkeys' => 'WARNING - This will erase your current keys, config, and database and generate them new.',
+'tripwirewarningpolicy' => 'WARNING - Your policy will be rebuild, after that your database will be reinitalised. Therefor the site-key and the local-key are neeeded.',
+'tuesday' => 'Martedi',
+'type' => 'Type',
+'umount' => 'Umount',
+'umount removable media before to unplug' => 'Umount removable media before unplugging the device',
+'unable to alter profiles while red is active' => 'Unable to alter profiles while RED is active.',
+'unable to contact' => 'Unable to contact',
+'unencrypted' => 'Unencrypted',
+'uninstall' => 'Uninstall',
+'unix charset' => 'UNIX Charset',
+'unix group' => ' UNIX usergroup',
+'unix password sync' => 'Unix Password Sync',
+'unix shell' => 'UNIX Shell',
+'unknown' => 'UNKNOWN',
+'unnamed' => 'Unnamed',
+'update' => 'Update',
+'update accelerator' => 'Update Accelerator',
+'update time' => 'Aggiornamento ora:',
+'update transcript' => 'Update transcript',
+'updatedatabase' => 'Update Database with last report',
+'updates' => 'Updates',
+'updates installed' => 'Ruleset update from',
+'updates is old1' => 'Your update file is ',
+'updates is old2' => 'days old. We recommend you update it on the <b>System>Updates</b> page.',
+'updxlrtr 3 months' => 'three months',
+'updxlrtr 6 months' => 'six  months',
+'updxlrtr all files' => 'all files ...',
+'updxlrtr cache dir' => 'Cache directory',
+'updxlrtr cache maintenance' => 'Cache maintenance',
+'updxlrtr cache size' => 'Cache size (bytes)',
+'updxlrtr cache statistics' => 'Cache statistics',
+'updxlrtr cancel download' => 'Cancel download',
+'updxlrtr children' => 'Number of accelerator processes',
+'updxlrtr common settings' => 'Impostazioni Comuni',
+'updxlrtr condition download' => 'Download',
+'updxlrtr condition nosource' => 'No source',
+'updxlrtr condition ok' => 'Up to date',
+'updxlrtr condition outdated' => 'Out of date',
+'updxlrtr condition suspended' => 'Suspended',
+'updxlrtr condition unknown' => 'Unknown',
+'updxlrtr configuration' => 'Update accelerator configuration',
+'updxlrtr current downloads' => 'Files being downloaded into the local cache',
+'updxlrtr current files' => 'Current files in local cache',
+'updxlrtr daily' => 'giornaliero',
+'updxlrtr data from cache' => 'Data from cache (bytes)',
+'updxlrtr disk usage' => 'Uso del disco',
+'updxlrtr efficiency index' => 'Cache efficiency index',
+'updxlrtr empty repository' => 'Local cache is empty',
+'updxlrtr enable autocheck' => 'Enable automatic source checkup',
+'updxlrtr enable log' => 'Abilita log',
+'updxlrtr filename' => 'Name',
+'updxlrtr files' => 'Files',
+'updxlrtr filesize' => 'Size',
+'updxlrtr full autosync' => 'Replace outdated files during checkup',
+'updxlrtr invalid disk usage' => 'Invalid value for max. disk usage',
+'updxlrtr invalid download rate' => 'Invalid value for max. download rate',
+'updxlrtr invalid num of children' => 'Invalid number of accelerator processes',
+'updxlrtr last access' => 'Last cache access',
+'updxlrtr last checkup' => 'Last source checkup',
+'updxlrtr low download priority' => 'Priorità della CPU per i download',
+'updxlrtr maintenance' => 'Maintenance',
+'updxlrtr marked as' => 'marked as',
+'updxlrtr max disk usage' => 'Max. disk usage',
+'updxlrtr max download rate' => 'Max. external download rate (kBit/s)',
+'updxlrtr month' => 'one month',
+'updxlrtr monthly' => 'Mensile',
+'updxlrtr not accessed' => 'not accessed since',
+'updxlrtr not enabled' => 'Update Accelerator is not enabled on the web proxy page',
+'updxlrtr other' => 'Other',
+'updxlrtr passive mode' => 'Enable passive mode',
+'updxlrtr pending downloads' => 'Pending downloads',
+'updxlrtr performance options' => 'Performance options',
+'updxlrtr progress' => 'Progress',
+'updxlrtr purge' => 'Purge',
+'updxlrtr remove file' => 'Remove from cache',
+'updxlrtr save and restart' => 'Save and Restart',
+'updxlrtr source' => 'Source',
+'updxlrtr source checkup' => 'Source checkup',
+'updxlrtr source checkup schedule' => 'Source checkup schedule',
+'updxlrtr sources' => 'Sources',
+'updxlrtr standard view' => 'Standard view',
+'updxlrtr statistics' => 'Statistics',
+'updxlrtr statistics by source' => 'Statistics by source',
+'updxlrtr summary' => 'Summary',
+'updxlrtr total cache size' => 'Total cache size (bytes)',
+'updxlrtr total data from cache' => 'Total data delivered from cache (bytes)',
+'updxlrtr total files' => 'Total files in cache',
+'updxlrtr unknown' => 'Unknown',
+'updxlrtr update accelerator' => 'Update Accelerator',
+'updxlrtr update information' => 'There is an updated version available for download. Visit <a href="http://update-accelerator.advproxy.net" target="_blank">http://update-accelerator.advproxy.net</a> for more information.',
+'updxlrtr update notification' => 'Update notification!',
+'updxlrtr used by' => 'Used by',
+'updxlrtr web proxy service required' => 'Web proxy service must be enabled to use Update Accelerator',
+'updxlrtr week' => 'one week',
+'updxlrtr weekly' => 'weekly',
+'updxlrtr year' => 'one year',
+'upgrade' => 'upgrade',
+'uplink' => 'Uplink',
+'uplink speed' => 'Uplink speed (kbit/sec)',
+'uplink std class' => 'uplink standard class',
+'upload' => 'Upload',
+'upload a certificate' => 'Upload a certificate:',
+'upload a certificate request' => 'Upload a certificate request:',
+'upload ca certificate' => 'Upload CA certificate',
+'upload dh key' => 'Upload Diffie-Hellman parameters',
+'upload fcdsl.o' => 'TO BE REMOVED',
+'upload file' => 'Upload file',
+'upload new ruleset' => 'Upload new ruleset',
+'upload p12 file' => 'Upload PKCS12 file',
+'upload static key' => 'Upload a static key',
+'upload successful' => 'Upload successful.',
+'upload synch.bin' => 'Upload synch.bin',
+'upload update file' => 'Upload update file:',
+'upstream password' => 'Upstream password:',
+'upstream proxy host:port' => 'Upstream proxy (host:port)',
+'upstream username' => 'Upstream username:',
+'uptime' => 'Uptime',
+'uptime and users' => 'Uptime and users:',
+'uptime load average' => 'Load average',
+'url filter' => 'Filtro URL',
+'urlfilter access' => 'Accesso',
+'urlfilter activity detection' => 'Activity detection',
+'urlfilter add new time constraint rule' => 'Aggiungere una regola con il vincolo del tempo',
+'urlfilter add new user quota rule' => 'Add new user quota rule',
+'urlfilter add rule' => 'Add',
+'urlfilter advanced settings' => 'impostazioni avanzate',
+'urlfilter allow' => 'Allow',
+'urlfilter allow access' => 'Allow access',
+'urlfilter allowed domains' => 'Domini ammessi (uno per riga)',
+'urlfilter allowed urls' => 'URL ammessi (uno per riga)',
+'urlfilter assigned quota users' => 'Assigned users (one per line)',
+'urlfilter assigned users' => 'Assigned users',
+'urlfilter automatic blacklist update' => 'Aggiornamento automatico blacklist',
+'urlfilter automatic update schedule' => 'Pianificazione dell\'aggiornamento automatico',
+'urlfilter back to main page' => 'Torna alla pagina principale',
+'urlfilter background image' => 'urlfilter background image',
+'urlfilter background text' => 'To use a custom background image for the block page upload the .jpg file below',
+'urlfilter backup' => 'Crea file backup',
+'urlfilter backup error' => 'Unable to create backup file',
+'urlfilter backup settings' => 'Backup del filtro URL',
+'urlfilter banned clients' => 'Indirizzi IP Banned',
+'urlfilter blacklist age 1' => 'Ultimo aggiornamento blacklist eseguito ',
+'urlfilter blacklist age 2' => 'giorni fa',
+'urlfilter blacklist category name' => 'Blacklist category name',
+'urlfilter blacklist editor' => 'Editor di Blacklist',
+'urlfilter blacklist editor info' => 'Crea e modifica la blacklist personaliata',
+'urlfilter blacklist name' => 'Blacklist name',
+'urlfilter blacklist update' => 'Aggiornamento Blacklist',
+'urlfilter block' => 'Block',
+'urlfilter block access' => 'Block access',
+'urlfilter block all' => 'Blocca tutti gli URL non esplicitamente autorizzati',
+'urlfilter block archives' => 'Archivi e file compressi bloccati',
+'urlfilter block audio-video' => 'File audio/video Bloccati',
+'urlfilter block categories' => 'Categorie Bloccate',
+'urlfilter block executables' => 'File eseguibili Bloccati',
+'urlfilter block ip' => 'Bloccare i siti a cui si accede da esso tramite indirizzo IP',
+'urlfilter block settings' => 'Impostazioni della pagina Blocco',
+'urlfilter blocked domains' => 'Domini bloccati (uno per riga)',
+'urlfilter blocked expressions' => 'Espressioni bloccati (espressioni regolari)',
+'urlfilter blocked urls' => 'URL bloccati (uno per riga)',
+'urlfilter category' => 'Category',
+'urlfilter category all' => 'any',
+'urlfilter category data error' => 'Blacklist is empty',
+'urlfilter category log' => 'Dividere log per categorie',
+'urlfilter category name error' => 'Blacklist category name required',
+'urlfilter client' => 'Client',
+'urlfilter configuration' => 'Configurazione filttri per URL',
+'urlfilter constraint definition' => 'Impostazione',
+'urlfilter constraint outside' => 'outside',
+'urlfilter constraint within' => 'within',
+'urlfilter copy rule' => 'Copy',
+'urlfilter current files' => 'Current files in local repository',
+'urlfilter custom blacklist' => 'Blacklist personalizzata',
+'urlfilter custom expression list' => 'Espressione personalizzata',
+'urlfilter custom url' => 'Sorgente personalizzato, URL',
+'urlfilter custom url required' => 'Custom source URL required',
+'urlfilter custom whitelist' => 'Whitelist personalizzata',
+'urlfilter daily' => 'giornaliero',
+'urlfilter disabled' => 'disabled',
+'urlfilter domains' => 'Domains (one per line)',
+'urlfilter dont restart urlfilter' => 'Do not restart URL filter',
+'urlfilter dst' => 'Destinazione',
+'urlfilter dst error' => 'There must be at least one category selected',
+'urlfilter edit domains urls expressions' => 'Edit domains, URLs and expressions',
+'urlfilter edit time constraint rule' => 'Edit an existing time constraint rule',
+'urlfilter edit user quota rule' => 'Edit an existing user quota rule',
+'urlfilter empty ads' => 'Blocca "ADS" con finestra vuota',
+'urlfilter empty repository' => 'Local file repository is empty',
+'urlfilter enable automatic blacklist update' => 'Attiva aggiornamento automatico',
+'urlfilter enable custom blacklist' => 'Abilito blacklist Personalizata',
+'urlfilter enable custom expression list' => 'Abilito Espressione Personalizata',
+'urlfilter enable custom whitelist' => 'Abilito whitelist Personalizata',
+'urlfilter enable expression lists' => 'Abilita liste di espressione',
+'urlfilter enable full backup' => 'Inserire blacklist completa',
+'urlfilter enable jpeg' => 'Enable background image',
+'urlfilter enable log' => 'Abilita log',
+'urlfilter enable rewrite rules' => 'Attiva redirezione di file locale',
+'urlfilter enabled' => 'Enabled:',
+'urlfilter example' => 'Esempio: www.domain.com',
+'urlfilter example ads' => 'Esempio: www.domain.com/ads/',
+'urlfilter export blacklist' => 'Export blacklist',
+'urlfilter export error' => 'Unable to create export file',
+'urlfilter expressions' => 'Expressions (one per line)',
+'urlfilter file ext block' => 'Blocco estenzione file',
+'urlfilter filename' => 'Name',
+'urlfilter filesize' => 'Size',
+'urlfilter filter settings' => 'Impostazioni del filtro URL',
+'urlfilter fri' => 'F',
+'urlfilter friday' => 'Ven',
+'urlfilter from' => 'Da',
+'urlfilter hourly' => 'hourly',
+'urlfilter import blacklist' => 'Import blacklist',
+'urlfilter import text' => 'To import a previously saved blacklist editor file upload the .tar.gz file below',
+'urlfilter install blacklist' => 'Install blacklist',
+'urlfilter install information' => 'The new blacklist will be automatically compiled to prebuilt databases. Depending on the size of the blacklist, this may take several minutes.',
+'urlfilter invalid content' => 'File is not a squidGuard compatible blacklist',
+'urlfilter invalid import file' => 'File is not a valid URL filter blacklist editor file',
+'urlfilter invalid ip or mask error' => 'Invalid IP address or network mask',
+'urlfilter invalid restore file' => 'File is not a valid URL filter backup file',
+'urlfilter invalid user error' => 'Invalid username',
+'urlfilter load blacklist' => 'Load blacklist',
+'urlfilter local file redirection' => 'Redirezione di file locale',
+'urlfilter log' => 'urlfilter log',
+'urlfilter log summary' => 'Numero totale di URL filtrati per',
+'urlfilter log viewer' => 'URL filter log viewer',
+'urlfilter logs' => 'LOG del filtro URL',
+'urlfilter maintenance' => 'Manutenzione del filtro URL',
+'urlfilter manage local file repository' => 'Gestire file repository locale',
+'urlfilter manage repository' => 'Manager repository',
+'urlfilter minutes' => 'minutes',
+'urlfilter mode allow' => 'allow',
+'urlfilter mode block' => 'block',
+'urlfilter mon' => 'M',
+'urlfilter monday' => 'Lun',
+'urlfilter monthly' => 'Mensile',
+'urlfilter msg text 1' => 'riga di messaggio 1',
+'urlfilter msg text 2' => 'riga di messaggio 2',
+'urlfilter msg text 3' => 'riga di messaggio 3',
+'urlfilter network access control' => 'Controllo di accesso basato sulla rete',
+'urlfilter no categories' => 'No categories available',
+'urlfilter not enabled' => 'URL filter is not enabled on the Web proxy page',
+'urlfilter quota restart message' => 'Note: The counters will be reset for all users when restarting the URL filter',
+'urlfilter quota time error' => 'Invalid value for time quota',
+'urlfilter quota user error' => 'At least one username is required',
+'urlfilter redirect template' => 'Reindirizza modello di pagina',
+'urlfilter redirectpage' => 'Reindirizza a questo URL',
+'urlfilter remove file' => 'Remove file from repository',
+'urlfilter renewal' => 'Renewal',
+'urlfilter renewal period' => 'Renewal period',
+'urlfilter repository information' => 'La richieste di questi file verranno reindirizzati dalla fonte originale al file locale.',
+'urlfilter reset' => 'Reset',
+'urlfilter restart' => 'Restart Filtro URL',
+'urlfilter restart message' => 'The URL filter must be restarted to activate the changed rules',
+'urlfilter restart notification' => 'Activate changed rules',
+'urlfilter restore' => 'Import backup file',
+'urlfilter restore results' => 'Restore results',
+'urlfilter restore settings' => 'Ripristina configurazione filtro URL',
+'urlfilter restore success' => 'URL filter configuration has been restored. The URL filter must be restarted to activate the new settings.',
+'urlfilter restore text' => 'Per ripristinare una configurazione precedentemente salvata caricare il file di backup tar.gz.',
+'urlfilter safesearch' => 'Attiva SafeSearch',
+'urlfilter sat' => 'S',
+'urlfilter saturday' => 'Sab',
+'urlfilter save and restart' => 'Save and Restart',
+'urlfilter save schedule' => 'Salva e aggiorna configurazione',
+'urlfilter select blacklist' => 'Select existing blacklist',
+'urlfilter select multi' => 'Press ctrl key to select multiple categories',
+'urlfilter select source' => 'Selezionare la sorgente del download',
+'urlfilter set time constraints' => 'Impostare limiti di tempo',
+'urlfilter set user quota' => 'Impostare quota utente',
+'urlfilter show category' => 'Visualizza categoria sulla pagina di blocco',
+'urlfilter show dnserror' => 'Utilizzare "errore DNS" per bloccare gli URL',
+'urlfilter show ip' => 'Mostra IP sulla pagina di blocco',
+'urlfilter show url' => 'Mostra URL nella pagina di blocco',
+'urlfilter source' => 'Source host(s) or network(s)',
+'urlfilter src' => 'Source',
+'urlfilter src error' => 'Source cannot be empty',
+'urlfilter sun' => 'S',
+'urlfilter sunday' => 'Dom',
+'urlfilter tar error' => 'Could not extract files from tar archive',
+'urlfilter thu' => 'T',
+'urlfilter thursday' => 'Gio',
+'urlfilter time' => 'Ora',
+'urlfilter time quota' => 'Time quota',
+'urlfilter time space' => 'Time space',
+'urlfilter timebased access control' => 'Controllo degli accessi in base al tempo',
+'urlfilter timespace error' => 'Error in time space declaration',
+'urlfilter to' => 'To',
+'urlfilter tue' => 'T',
+'urlfilter tuesday' => 'Mar',
+'urlfilter unfiltered clients' => 'Gli indirizzi IP non filtrati',
+'urlfilter update information' => 'There is an updated version available for download. Visit <a href="http://www.urlfilter.net" target="_blank">http://www.urlfilter.net</a> for more information.',
+'urlfilter update notification' => 'Update notification!',
+'urlfilter update now' => 'Aggiorna ora',
+'urlfilter update results' => 'Blacklist update results',
+'urlfilter update rule' => 'Update',
+'urlfilter upload background' => 'Upload image',
+'urlfilter upload blacklist' => 'Upload blacklist',
+'urlfilter upload file' => 'Upload file',
+'urlfilter upload file information 1' => 'Note',
+'urlfilter upload file information 2' => 'Il filtro URL deve essere riavviato per attivare le modifiche al repository.',
+'urlfilter upload file text' => 'Per aggiungere un file al repository locale caricare il file qui sotto',
+'urlfilter upload information' => 'Il nuova database di Blacklist verr&agrave; compilato automaticamente. A seconda delle dimensioni del database, potrebbe richiedere alcuni minuti. Si prega di attendere che finisca prima di riavviare il filtro URL.',
+'urlfilter upload success' => 'Blacklist upload successfully completed.',
+'urlfilter upload text' => 'Per installare una blacklist aggiornata caricare il file tar.gz qui sotto.',
+'urlfilter url filter' => 'Filtro URL',
+'urlfilter urlfilter blacklist editor' => 'URL filter blacklist editor',
+'urlfilter urls' => 'URLs (one per line)',
+'urlfilter user time quota' => 'Time quota (in minutes)',
+'urlfilter username' => 'Username',
+'urlfilter username log' => 'Registro username',
+'urlfilter web proxy service required' => 'Web proxy service must be enabled to use URL filter',
+'urlfilter wed' => 'W',
+'urlfilter wednesday' => 'Mer',
+'urlfilter weekday error' => 'There must be at least one day selected',
+'urlfilter weekly' => 'settimanale',
+'urlfilter whitelist always allowed' => 'Consentire whitelist personalizzate per i clienti vietati',
+'urlfilter wrong filetype' => 'File has not the extension .tar.gz',
+'use' => 'Use',
+'use a pre-shared key' => 'Use a pre-shared key:',
+'use dov' => 'Use data over voice (DOV):',
+'use ibod' => 'Use Bandwidth on Demand (iBOD):',
+'use ipfire red ip' => 'The classical RED IP used by IPFire during connection',
+'use only proposed settings' => 'Use only proposed settings.',
+'used' => 'Usato',
+'used memory' => 'Memoria Usata        ',
+'used swap' => 'Swap Usato',
+'user' => 'User',
+'user log' => 'user log',
+'user proxy logs' => 'user proxy log',
+'username' => 'Username:',
+'username not set' => 'Username not set.',
+'users department' => 'User\'s department',
+'users email' => 'User\'s E-mail address',
+'users fullname or system hostname' => 'User\'s full name or system hostname',
+'valid root certificate already exists' => 'A valid root certificate already exists.',
+'valid till' => 'Valid till',
+'vci number' => 'VCI number:',
+'vendor' => 'Vendor',
+'view log' => 'view log',
+'virtual address' => 'Virtual Address',
+'virtual private networking' => 'Virtual Private Networking',
+'visible in browselist' => 'visible in browselist',
+'visit us at' => 'Visit us at',
+'voldown10' => 'Decrease volume by 10',
+'voldown5' => 'Decrease volume by 5',
+'volup10' => 'Increase volume by 10',
+'volup5' => 'Increase volume by 5',
+'vpi number' => 'VPI number:',
+'vpn' => 'VPN',
+'vpn aggrmode' => 'IKE aggressive mode allowed. Avoid if possible (preshared key is transmitted in clear text)!',
+'vpn altname syntax' => 'SubjectAltName is a comma separated list of e-mail, dns, uri, rid and ip objects.<br />email:an email address. Syntax email:copy takes the email field from the cert to be used.<br />DNS:a valid domain name.<br />URI:any valid uri.<br />RID:registered object identifier.<br />IP:an IP address.<br />Note:charset is limited and case is significant.<br />Example:<br /><b>e-mail:</b>ipfire@foo.org<b>,email:</b>copy<b>,DNS:</b>www.ipfire.org<b>,IP:</b>127.0.0.1<b>,URI:</b>http://url/to/something',
+'vpn auth-dn' => 'Peer is identified by either IPV4_ADDR, FQDN, USER_FQDN or DER_ASN1_DN string in remote ID field',
+'vpn configuration main' => 'VPN Configuration',
+'vpn delayed start' => 'Ritardo prima di avviare la VPN (secondi)',
+'vpn delayed start help' => 'Se necessario, questo ritardo può essere utilizzata per consentire gli aggiornamenti dinamici DNS per propagare correttamente. 60 secondi è un valore comune quando RED è un IP dinamico.',
+'vpn incompatible use of defaultroute' => 'hostname=%defaultroute not allowed',
+'vpn keyexchange' => 'Keyexchange',
+'vpn local id' => 'Local ID',
+'vpn missing remote id' => 'You must specify a correct Distinguished Name (DN) for this authentication.',
+'vpn mtu invalid' => 'MTU must be a numeric value!',
+'vpn no full pki' => 'missing private key to generate cert',
+'vpn on blue' => 'VPN on Blu',
+'vpn on green' => 'VPN on Verde',
+'vpn on orange' => 'VPN on Arancio',
+'vpn payload compression' => 'Negotiate payload compression',
+'vpn red name' => 'IP pubblico o il nome di dominio completo per l\'interfaccia RED o <%defaultroute>',
+'vpn remote id' => 'Remote ID',
+'vpn subjectaltname' => 'Subject Alt Name',
+'vpn vhost' => 'Roadwarrior virtual IP (sometimes called Inner-IP)',
+'vpn watch' => 'Restart net-to-net vpn when remote peer IP changes (dyndns).',
+'waiting to synchronize clock' => 'Waiting to synchronize clock',
+'warn when traffic reaches' => 'Warn when traffic reaches x %',
+'warning messages' => 'Warning messages',
+'was deleted' => 'was deleted',
+'web hits' => 'Numero totale di siti web che soddisfano i criteri selezionati per',
+'web proxy' => 'Proxy Web',
+'web proxy configuration' => 'Web proxy configuration',
+'web server' => 'Web Server',
+'webradio playlist' => 'Webradio Playlist',
+'website' => 'Website',
+'wednesday' => 'Mercoledi',
+'week' => 'Settimana',
+'week-graph' => 'Settimana',
+'weekly firewallhits' => 'weekly firewallhits',
+'weeks' => 'Settimane',
+'wildcards' => 'Wildcards',
+'wins server' => 'Wins Server',
+'wins support' => 'Wins Support',
+'wireless' => 'Wireless',
+'wireless config added' => 'Wireless config added',
+'wireless config changed' => 'Wireless config changed',
+'wireless configuration' => 'Configuratione Wireless',
+'wlan client' => 'Wireless client',
+'wlan client advanced settings' => 'impostazioni avanzate Wireless client',
+'wlan client and' => 'and',
+'wlan client bssid' => 'BSSID',
+'wlan client ccmp' => 'CCMP',
+'wlan client configuration' => 'Wireless Client Configuration',
+'wlan client disconnected' => 'Disconnesso',
+'wlan client duplicate ssid' => 'Duplicate SSID',
+'wlan client edit entry' => 'Edit wireless client configuration',
+'wlan client encryption' => 'Encryption',
+'wlan client encryption none' => 'None',
+'wlan client encryption wep' => 'WEP',
+'wlan client encryption wpa' => 'WPA',
+'wlan client encryption wpa2' => 'WPA2',
+'wlan client group cipher' => 'Group cipher',
+'wlan client group key algorithm' => 'GKA',
+'wlan client invalid key length' => 'Invalid key length.',
+'wlan client new entry' => 'Crea nuova configuratione wireless client',
+'wlan client new network' => 'Nuovo network',
+'wlan client pairwise cipher' => 'Pairwise cipher',
+'wlan client pairwise key algorithm' => 'PKA',
+'wlan client pairwise key group key' => 'Pairwise key/group key',
+'wlan client psk' => 'Pre-shared key',
+'wlan client ssid' => 'SSID',
+'wlan client tkip' => 'TKIP',
+'wlan client wpa mode' => 'WPA mode',
+'wlan client wpa mode all' => 'Auto',
+'wlan client wpa mode ccmp ccmp' => 'CCMP-CCMP',
+'wlan client wpa mode ccmp tkip' => 'CCMP-TKIP',
+'wlan client wpa mode tkip tkip' => 'TKIP-TKIP',
+'wlan clients' => 'Wireless clients',
+'wlanap access point' => 'Access Point',
+'wlanap channel' => 'Channel',
+'wlanap country' => 'Country Code',
+'wlanap debugging' => 'Debugging',
+'wlanap del interface' => 'Rimuovi interfaccia selezionata?',
+'wlanap encryption' => 'Encryption',
+'wlanap informations' => 'Informationi',
+'wlanap interface' => 'Selezione interfaccia',
+'wlanap invalid wpa' => 'Invalid length in WPA Passphrase. Deve contenere dai 6 ai 63 caratteri.',
+'wlanap link dhcp' => 'Configuratione Wireless Lan DHCP',
+'wlanap link wireless' => 'Activate Wireless Lan clients',
+'wlanap no interface' => 'Selected interface is not a Wirless Lan card!',
+'wlanap none' => 'none',
+'wlanap notifications' => 'Notifications',
+'wlanap select interface' => 'Please select the Wireless Lan interface.',
+'wlanap verbose' => 'Verbose',
+'wlanap warnings' => 'Warnings',
+'wlanap wlan card' => 'WLan Card',
+'wlanap wlan services' => 'Servizio WLan',
+'wlanap wlan settings' => 'Configurazione WLan',
+'wlanap wlan status' => 'Stato WLan',
+'wol wakeup' => 'WakeUp',
+'workgroup' => 'Workgroup',
+'written bytes' => 'Writen Bytes',
+'xtaccess all error' => 'You cannot set an external access to ALL, that is done in the port forwarding record.',
+'xtaccess bad transfert' => 'If you specify a port destination range, the source range must be identical !',
+'year' => 'Anno',
+'year-graph' => 'Anno',
+'yearly firewallhits' => 'yearly firewallhits',
+'yes' => 'Si',
+'you can only define one roadwarrior connection when using pre-shared key authentication' => 'You can only define one Roadwarrior connection when using pre-shared key authentication.<br />Either you already have a Roadwarrior connection with pre-shared key authentication, or you\'re trying to add one now.',
+'your department' => 'Your department',
+'your e-mail' => 'Your e-mail address',
+);
+
+#EOF
index 552ca87e731c8842535b6bf56f75ac15300b08fa..ed59c86b4373a39b012e4541be8074efe51b2a99 100644 (file)
@@ -6,3 +6,4 @@ pl:Polski:Polish
 ru:Русский:Russian
 nl:Nederlands:Dutch
 tr:Türkçe:Turkish
+it:Italiano:Italian
index 90eed2d121082c75f06f7d8dbc7d2682bd030ae4..ca199bfad715c31c9b953220d9fe3485166815ef 100644 (file)
@@ -99,9 +99,9 @@
 'addons' => 'Eklentiler',
 'admin user password has been changed' => 'Yönetici kullanıcı şifresi değiştirildi.',
 'admin users' => 'Yetkili kullanıcı hakları ile kullanıcı',
-'administrator password' => 'Admin parolası',
+'administrator password' => 'Yönetici parolası',
 'administrator user password' => 'Admin kullanıcı parolası:',
-'administrator username' => 'Admin kullanıcısı',
+'administrator username' => 'Yönetici kullanıcı adı',
 'adsl settings' => 'ADSL ayarları',
 'advanced' => 'Gelişmiş',
 'advanced server' => 'Gelişmiş Sunucu Seçenekleri',
 'advproxy AUTH method ldap' => 'LDAP',
 'advproxy AUTH method ncsa' => 'Yerel',
 'advproxy AUTH method none' => 'Yok',
-'advproxy AUTH method ntlm' => 'Windows',
+'advproxy AUTH method ntlm' => 'Windows NT4 Alan Adı',
 'advproxy AUTH method ntlm auth' => 'Windows Aktif Dizini',
 'advproxy AUTH method radius' => 'RADIUS',
 'advproxy AUTH no auth' => 'Kimlik doğrulaması olmayan hedefler (her satırda bir tane)',
 'advproxy back to main page' => 'Ana Sayfaya Geri Dön',
 'advproxy banned ip clients' => 'Yasaklanan IP adresleri (her satırda bir tane)',
 'advproxy banned mac clients' => 'Yasaklanan MAC adresleri (her satırda bir tane)',
-'advproxy basic authentication' => 'Temel HTTP kimlik doğrulama izni',
+'advproxy basic authentication' => 'Temel HTTP kimlik doğrulamasına izin ver',
 'advproxy cache management' => 'Önbellek yönetimi',
 'advproxy cache replacement policy' => 'Önbellek değiştirme kuralı',
 'advproxy cache-digest' => 'Önbellek-özeti üretimini aktifleştir',
 'details' => 'Detaylar',
 'device' => 'Aygıt',
 'devices on blue' => 'Mavi üzerindeki aygıtlar',
-'dh' => 'Anahtar değişim parametreleri',
-'dh key move failed' => 'Anahtar değişim parametreleri taşınması başarısız.',
-'dh key warn' => '1024 veya 2048 bit uzunluğunda anahtar değişim paremetrelerini oluşturma birkaç dakika sürer. 3072 veya 4096 bit uzunluğundaki anahtar oluşturma ise birkaç saat sürebilir. Lütfen sabırlı olun.',
-'dh key warn1' => 'Küçük entropi veya zayıf sistemler için yükleme fonksiyonu kullanımı ile uzun anahtar değişim parametreleri yüklemesi tavsiye edilir.',
-'dh name is invalid' => 'Geçersiz ad. Lütfen "dh1024.pem" biçiminde ad kullanın.',
-'dh parameter' => 'Anahtar değişim parametreleri',
+'dh' => 'Diffie-Hellman parametreleri',
+'dh key move failed' => 'Diffie-Hellman parametreleri taşınamadı.',
+'dh key warn' => '1024 veya 2048 bit uzunluğundaki Diffie-Hellman parametrelerini oluşturma birkaç dakika sürebilir. 3072 veya 4096 bit uzunluğundaki parametreleri oluşturmak ise birkaç saate ihtiyaç olabilir. Lütfen sabırlı olun.',
+'dh key warn1' => 'Zayıf veya entropileri küçük olan sistemler için bu yükleme fonksiyonun kullanımı ile uzun Diffie-Hellman parametrelerini yükleme tavsiye edilir.',
+'dh name is invalid' => 'Geçersiz ad, lütfen "dh1024.pem" şeklinde kullanın.',
+'dh parameter' => 'Diffie-Hellman parametreleri',
 'dhcp advopt add' => 'DHCP seçeneği ekle',
 'dhcp advopt added' => 'DHCP seçeneği eklendi',
 'dhcp advopt blank value' => 'DHCP seçeneği değeri boş olamaz.',
 'dnsforward entries' => 'Güncel kayıtlar:',
 'dnsforward forward_server' => 'Ad sunucusu',
 'dnsforward zone' => 'Bölge',
-'dnssec aware' => 'DNSSEC Duyarlılığı',
+'dnssec aware' => 'DNSSEC Farkındalığı',
 'dnssec information' => 'DNSSEC Bilgisi',
 'dnssec not supported' => 'DNSSEC desteklenmiyor',
-'dnssec validating' => 'DNSSEC Doğrulama',
+'dnssec validating' => 'DNSSEC doğrulanıyor',
 'do not log this port list' => 'Otorumdan hemen önce bu bağlantı noktaları listesini bırak (günlük boyutunu küçültür)',
 'dod' => 'Çevirmeli bağlantı üzerinden talep et',
 'dod for dns' => 'DNS için çevirmeli bağlantı üzerinden talep et:',
 'download' => 'İndir',
 'download ca certificate' => 'CA sertifikası indir',
 'download certificate' => 'Sertifika indir',
-'download dh parameter' => 'Anahtar değişimi parametrelerini indir',
+'download dh parameter' => 'Diffie-Hellman parametrelerini indir',
 'download host certificate' => 'Ana bilgisayar belgesi indir',
 'download new ruleset' => 'Yeni Kural Kümesi İndir',
 'download pkcs12 file' => 'PKCS12 dosyasını indir',
 'firewall log' => 'Güvenlik duvarı günlüğü',
 'firewall log viewer' => 'Güvenlik Duvarı Günlük Görüntüleyicisi',
 'firewall logs' => 'Güvenlik Duvarı Günlükleri',
-'firewall logs country' => 'Fw günlük grafikleri (Ülke)',
+'firewall logs country' => 'Fw-Günlük Grafikleri (Ülke)',
 'firewall logs ip' => 'Gd-Günlük Grafikleri (IP)',
 'firewall logs port' => 'Gd-Günlük Grafikleri (Port)',
 'firewall rules' => 'Güvenlik Duvarı Kuralları',
 'fwdfw dnat porterr' => 'NAT için tek bir bağlantı noktası veya bağlantı noktası aralığı (tcp/udp) seçmek zorundasınız.',
 'fwdfw dnat porterr2' => 'Hiçbir hedef bağlantı noktası tanımlamdan harici bir bağlantı noktası (NAT) kullanamazsınız.',
 'fwdfw edit' => 'Düzenle',
+'fwdfw err concon' => 'Eş zamanlı bağlantı için geçersiz sayı',
 'fwdfw err nosrc' => 'Bir kaynak seçilmedi.',
 'fwdfw err nosrcip' => 'Lütfen bir kaynak IP adresi belirtin.',
 'fwdfw err notgt' => 'Bir hedef seçilmedi.',
 'fwdfw err notgtip' => 'Lütfen bir hedef IP adresi belirtin.',
 'fwdfw err prot_port' => 'Seçilen kuuralla kaynak veya hedef bağlantı noktasına izin verilmez',
 'fwdfw err prot_port1' => 'TCP veya UDP kuralı için kaynak veya hedef bağlantı noktası kullanırken seçmek zorunda',
+'fwdfw err ratecon' => 'Limit hızı bağlantıları için geçersiz değer',
 'fwdfw err remark' => 'Açıklama içinde geçersiz karakterler.',
 'fwdfw err ruleexists' => 'Bu kural zaten var.',
 'fwdfw err same' => 'Kaynak ve hedef aynı.',
 'fwdfw hint mac' => 'Kod oluşturma sırasında görmezden gelinecek MAC adresleri.',
 'fwdfw iface' => 'Arayüz',
 'fwdfw ipsec network' => 'IPsec ağları:',
+'fwdfw limitconcon' => 'IP adresi başına eş zamanlı bağlantıyı sınırla',
 'fwdfw log' => 'Günlük',
 'fwdfw log rule' => 'Günlük kuralı',
 'fwdfw man port' => 'Bağlantı noktası:',
 'fwdfw many' => 'Çok',
+'fwdfw maxconcon' => 'Maksimum eş zamanlı bağlantı',
 'fwdfw menu' => 'Güvenlik Duvarı Kuralları',
 'fwdfw movedown' => 'Aşağı taşı',
 'fwdfw moveup' => 'Yukarı taşı',
 'fwdfw natport used' => 'NAPT için verilen bağlantı noktası başka bir DNAT kural tarafından zaten kullanılıyor.',
 'fwdfw newrule' => 'Yeni Kural',
+'fwdfw numcon' => 'Bağlantı sayısı',
 'fwdfw p2p txt' => 'P2P ağlarına erişim izni Ver/Verme.',
 'fwdfw pol allow' => 'İzin Verildi',
 'fwdfw pol block' => 'Engellendi',
 'fwdfw pol title' => 'Varsayılan güvenlik duvarı davranışı',
 'fwdfw prot41' => 'IPv6 Kuşatması (Kural 41)',
 'fwdfw prot41 short' => 'IPv6 Kuşatması',
+'fwdfw ratelimit' => 'Yeni bağlantı hız sınırı',
 'fwdfw red' => 'KIRMIZI',
 'fwdfw reread' => 'Değişiklikleri Uygula',
 'fwdfw rule action' => 'Eylem kuralı:',
 'g.lite' => 'KALDIRILACAK',
 'gateway' => 'Ağ geçidi',
 'gateway ip' => 'Ağ Geçidi IP Adresi',
-'gen dh' => 'Yeni anahtar değişimi parametrelerini oluştur',
+'gen dh' => 'Yeni Diffie-Hellman parametrelerini oluşturun',
 'gen static key' => 'Statik bir anahtar oluştur',
 'generate' => 'Yönetici/Sunucu Sertifikası Oluştur',
 'generate a certificate' => 'Sertifika oluştur:',
-'generate dh key' => 'Anahtar değişimi parametrelerini oluştur',
+'generate dh key' => 'Diffie-Hellman parametrelerini oluşturun',
 'generate iso' => 'ISO oluştur',
 'generate root/host certificates' => 'Yönetici/Sunucu Sertifikası Oluştur',
 'generate tripwire keys and init' => 'tripwire anahtarları ve init oluştur',
 'marked' => 'İşaretli',
 'masquerade blue' => 'MAVİ gizli',
 'masquerade green' => 'YEŞİL gizli',
-'masquerade orange' => 'TURUNCU gizil',
+'masquerade orange' => 'TURUNCU gizli',
 'masquerading' => 'Gizle',
 'masquerading disabled' => 'Gizlemeyi kapat',
 'masquerading enabled' => 'Gizlemeyi aç',
 'modem' => 'Modem',
 'modem configuration' => 'Modem yapılandırması',
 'modem hardware details' => 'Modem Donanımı',
-'modem information' => 'Modem Bilgisi',
+'modem information' => 'Modem bilgisi',
 'modem network bit error rate' => 'Bit hata oranı',
 'modem network information' => 'Ağ bilgisi',
-'modem network mode' => 'Ağ Yöntemi',
-'modem network operator' => 'Ağ Oparatörü',
-'modem network registration' => 'Ağ Kaydı',
-'modem network signal quality' => 'Sinyal Kalitesi',
-'modem no connection' => 'Bağlantı Yok',
-'modem no connection message' => 'Modemle bağlantı kurulamadı.',
+'modem network mode' => 'Ağ yöntemi',
+'modem network operator' => 'Ağ oparatörü',
+'modem network registration' => 'Ağ kaydı',
+'modem network signal quality' => 'Sinyal kalitesi',
+'modem no connection' => 'Bağlantı yok',
+'modem no connection message' => 'Modemle herhangi bir bağlantı kurulamadı.',
 'modem on com1' => 'COM1 üzerindeki modem',
 'modem on com2' => 'COM2 üzerindeki modem',
 'modem on com3' => 'COM3 üzerindeki modem',
 'modem on com4' => 'COM4 üzerindeki modem',
 'modem on com5' => 'COM5 üzerindeki modem',
 'modem settings have errors' => 'Modem ayarları hatalı',
-'modem sim information' => 'SIM Bilgisi',
+'modem sim information' => 'SIM bilgisi',
 'modem speaker on' => 'Modem üzerindeki hoparlör:',
-'modem status' => 'Modem Durumu',
+'modem status' => 'Modem durumu',
 'modify' => 'Düzenle',
 'modulation' => 'Geçiş',
 'monday' => 'Pazartesi',
-'monitor interface' => 'Ekran Arabirimi',
+'monitor interface' => 'Ekran ara birimi',
 'month' => 'Ay',
 'month-graph' => 'ay',
 'monthly firewallhits' => 'aylık güvenlik duvarı kaydı',
 'name is invalid' => 'Geçersiz ad',
 'name must only contain characters' => 'Ad sadece karakter içermelidir.',
 'name too long' => 'Kullanıcının tam adı veya sistem ana bilgisayar adı çok uzun',
-'nameserver' => 'Sunucu adı',
+'nameserver' => 'Alan adı sunucusu',
 'nat-traversal' => 'Nat Geçişi:',
 'needreboot' => 'Bu güncelleştirmeden sonra yeniden başlatmak gerekir',
 'net' => 'Ağ',
 'nonetworkname' => 'Ağ adı girilmedi',
 'noservicename' => 'Hizmet adı girilmedi',
 'not a valid ca certificate' => 'Geçerli bir CA sertifikası değil.',
-'not a valid dh key' => 'Geçerli bir anahtar değişim parametre dosyası yok. 1024, 2048, 3072 veya 4096 bit uzunluğunda ve PKCS#3 biçimini kullanın.',
+'not a valid dh key' => 'Geçerli bir Diffie-Hellman parametre dosyası yok. 1024, 2048, 3072 veya 4096 bit uzunluğunda ve PKCS#3 biçimini kullanın.',
 'not enough disk space' => 'Yeterli disk alanı yok',
 'not present' => 'Mevcut <b>değil</b>',
 'not running' => 'çalışmıyor',
 'ovpn config' => 'OVPN-Yapılandırması',
 'ovpn crypt options' => 'Şifreleme seçenekleri',
 'ovpn device' => 'OpenVPN aygıtı:',
-'ovpn dh' => 'Anahtar değişim uzunluğu parametreleri',
-'ovpn dh new key' => 'Yeni anahtar değişimi parametreleri oluşturun',
-'ovpn dh parameters' => 'Anahtar değişimi parametre seçenekleri',
-'ovpn dh upload' => 'Yeni anahtar değişimi parametrelerini yükle',
+'ovpn dh' => 'Diffie-Hellman parametre uzunluğu',
+'ovpn dh new key' => 'Yeni Diffie-Hellman parametrelerini oluşturun',
+'ovpn dh parameters' => 'Diffie-Hellman parametre seçenekleri',
+'ovpn dh upload' => 'Yeni Diffie-Hellman parametreleri yükle',
 'ovpn dl' => 'OVPN-Yapılandırması İndir',
-'ovpn engines' => 'kripto motoru',
+'ovpn engines' => 'Şifreleme motoru',
 'ovpn errmsg green already pushed' => 'Yeşil ağ için her zaman bir yol ayarla',
 'ovpn errmsg invalid ip or mask' => 'Geçersiz ağ adresi veya alt ağ maskesi',
-'ovpn generating the root and host certificates' => 'Root ve ana bilgisayar belge üretimi uzun zaman alabilir.',
-'ovpn ha' => 'Hash algoritması',
+'ovpn generating the root and host certificates' => 'Root ve ana bilgisayar sertifika üretimi uzun zaman alabilir.',
+'ovpn ha' => 'Hash algorithması',
 'ovpn hmac' => 'HMAC seçenekleri',
 'ovpn log' => 'OVPN-Günlük',
 'ovpn mgmt in root range' => 'Bağlantı noktası numarası 1024 ya da daha yüksek bir numara olmalıdır.',
 'ovpn on orange' => 'TURUNCU üzerindeki OpenVPN',
 'ovpn on red' => 'KIRMIZI üzerindeki OpenVPN',
 'ovpn port in root range' => '1024 ya da daha yüksek bir bağlantı noktası numarası gereklidir..',
-'ovpn reneg sec' => 'Oturum anahtarının kullanım süresi:',
+'ovpn reneg sec' => 'Oturum anahtarı kullanım süresi:',
 'ovpn routes push' => 'Yollar (her satırda bir tane) örneğin 192.168.10.0/255.255.255.0 192.168.20.0/24',
 'ovpn routes push options' => 'Yol baskı seçenekleri',
 'ovpn server status' => 'Güncel OpenVPN sunucu durumu:',
 'running' => 'ÇALIŞIYOR',
 'safe removal of umounted device' => 'Bağlantısı kesilen aygıtı güvenli bir şekilde kaldırabilirsiniz',
 'samba' => 'Samba',
-'samba join a domain' => 'Bir etki alanına katılın',
-'samba join domain' => 'Etki alanına üyelik',
+'samba join a domain' => 'Bir etki alanına katıl',
+'samba join domain' => 'Etki alanına katıl',
 'samba status' => 'Samba durumu',
 'saturday' => 'Cumartesi',
 'save' => 'Kaydet',
 'show ca certificate' => 'CA sertifikalarını göster',
 'show certificate' => 'Sertifika göster',
 'show crl' => 'Sertifika İptal Listesini Göster',
-'show dh' => 'Anahtar değişimi parametrelerini göster',
+'show dh' => 'Diffie-Hellman parametrelerini göster',
 'show host certificate' => 'Ana bilgisayar sertifikalarını göster',
 'show last x lines' => 'Son x satırlarını göster',
 'show lines' => 'Satırları göster',
 'source ip' => 'Kaynak IP',
 'source ip and port' => 'Kaynak IP: Bağlantı noktası numarası',
 'source ip bad' => 'Geçersiz bir IP adresi ya da ağ adresi.',
-'source ip country' => 'Kaynak Ip ülke',
+'source ip country' => 'Ülke IP kaynağı',
 'source ip in use' => 'Kullanılan kaynak IP:',
 'source ip or net' => 'Kaynak IP veya Ağ',
 'source net' => 'Kaynak Ağ',
 'system log viewer' => 'Sistem Günlük Görüntüleyicisi',
 'system logs' => 'Sistem Günlükleri',
 'system status information' => 'Sistem Durum Bilgisi',
-'ta key' => 'Tls kimlik doğrulama anahtarı',
+'ta key' => 'TLS Kimlik Doğrulama Anahtarı',
 'telephone not set' => 'Telefon ayarlanmamış.',
 'template' => 'Ön Ayar',
 'template warning' => 'QoS kurmak için iki seçeneğiniz vardır. İlk olarak kaydet düğmesine basıp kendi sınıf ve kurallarınızı oluşturabilirsiniz. İkinci olarak ise ön ayar düğmesine basıp sınıf ve kurallar için bir şablonun kurulmasını sağlayın. ',
-'teovpn_fragment' => 'Fragment boyutu',
+'teovpn_fragment' => 'Bölümleme boyutu',
 'test' => 'test',
 'test email could not be sent' => 'Test e-posta gönderilemedi',
 'test email was sent' => 'Test e-posta başarıyla gönderildi.',
 'upload a certificate' => 'Sertifika yükle:',
 'upload a certificate request' => 'Sertifika isteği yükle:',
 'upload ca certificate' => 'CA Sertifikası Yükle',
-'upload dh key' => 'Anahtar değişimi parametrelerini yükle',
+'upload dh key' => 'Diffie-Hellman parametreleri yükle',
 'upload fcdsl.o' => 'KALDIRILACAK',
 'upload file' => 'Dosya yükle',
 'upload new ruleset' => 'Yeni kurallar yükle',
index 194f5565ee000d0ab417879a306ef7d7799d6250..df3e39224f749f264de68ed2cdcacc659d2bc840 100644 (file)
--- a/lfs/glibc
+++ b/lfs/glibc
@@ -284,8 +284,10 @@ endif
        #   Makefile:235: *** mixed implicit and normal rules.  Stop.
        cd $(DIR_APP) && sed -i 's/ot \$$/ot:\n\ttouch $$@\n$$/' manual/Makefile
 
+ifeq "$(MACHINE_TYPE)" "arm"
        # http://sourceware.org/ml/libc-ports/2011-09/msg00018.html
        cd $(DIR_APP) && sed -e "s/PIC/SHARED/g" -i ports/sysdeps/arm/{,eabi/}{set,__long}jmp.S
+endif
 
 ifeq "$(ROOT)" ""
 ifeq "$(MACHINE_TYPE)" "arm"
index 7f73222c1b87170742141379b46e50115896a564..3364a4d7fd9849790821521554737c0d0be09a8a 100644 (file)
@@ -31,6 +31,7 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
 SLOGAN     = An Open Source Firewall Solution
+DOWNLOAD_URL = http://downloads.ipfire.org/releases/ipfire-2.x/$(VERSION)-core$(CORE)/$(SNAME)-$(VERSION).$(MACHINE)-full-core$(CORE).iso
 
 ###############################################################################
 # Top-level Rules
@@ -58,12 +59,11 @@ $(TARGET) :
                --with-distro-name="$(NAME)" \
                --with-distro-sname="$(SNAME)" \
                --with-distro-slogan="$(SLOGAN)" \
-               --with-config-root="$(CONFIG_ROOT)"
+               --with-config-root="$(CONFIG_ROOT)" \
+               --with-download-url="$(DOWNLOAD_URL)"
+
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
 
-       #Patch ISO Name for download ...
-       #sed -i -e "s|ipfire.iso|download.ipfire.org/releases/ipfire-2.x/$(VERSION)-core$(CORE)/$(SNAME)-$(VERSION).$(MACHINE)-full-core$(CORE).iso|g" \
-       #                       /usr/bin/downloadsource.sh
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 697b59ab03a3cc75e3838f38689f1e69c884ff62..4a7918ce097396f6d71b1198805afce3dd5eeaad 100644 (file)
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = squidclamav
-PAK_VER    = 19
+PAK_VER    = 20
 
 DEPS       = "clamav"
 
@@ -79,6 +79,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/squidclamav-5.11-dont_use_ipv6.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/squidclamav-5.11-squid-helper-protocol.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/squidclamav-5.11-source-address-parsing-issue.patch
        cd $(DIR_APP) && ./configure --prefix=/usr
        cd $(DIR_APP) && make install
        install -v -m 664 $(DIR_CONF)/squidclamav/squidclamav.conf /etc/squidclamav.conf
index 5256b0ac6cae303421e835362ae1fcc040e78a99..dd1f0ac848b7a1bb09d279df8750d831849626c5 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 5.2.0
+VER        = 5.2.1
 
 THISAPP    = strongswan-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -48,7 +48,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 5cee4ee1a6ccb74400758b3ace54d46e
+$(DL_FILE)_MD5 = dd3717c0aa59ab4591ca1812941ebb82
 
 install : $(TARGET)
 
diff --git a/lfs/tmux b/lfs/tmux
new file mode 100644 (file)
index 0000000..ec4cc20
--- /dev/null
+++ b/lfs/tmux
@@ -0,0 +1,87 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2014 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        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.9a
+
+THISAPP    = tmux-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = tmux
+PAK_VER    = 1
+
+DEPS       = ""
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = b07601711f96f1d260b390513b509a2d
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && ./configure \
+               --prefix=/usr
+
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/make.sh b/make.sh
index e6a648b563f4c866cc458a6e5b7118b83c45a744..6ea9b593bdf1eb890cc82f7a3991f47dc15f5c0d 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -822,6 +822,7 @@ buildipfire() {
   ipfiremake perl-PDF-API2
   ipfiremake squid-accounting
   ipfiremake pigz
+  ipfiremake tmux
 }
 
 buildinstaller() {
index d69ddd3c0ae0b52a4d8e13fbd04a141847c1db02..7381a69b3cccc3a4d058f72b9d3057d51de83484 100644 (file)
 . ${rc_functions}
 eval $(/usr/local/bin/readhash /var/ipfire/main/settings)
 
-# English is default
-FONT="lat0-16"
+FONT="LatArCyrHeb-16"
 KEYMAP_CORRECTIONS="euro2"
-
-case "${LANGUAGE}" in
-       # German
-       de)
-               LEGACY_CHARSET="iso-8859-15"
-               FONT="lat0-16 -m 8859-15"
-               ;;
-       # Polish
-       pl)
-               FONT="lat2-16"
-               ;;
-       # Russish/Turkish
-       ru|tr)
-               FONT="LatArCyrHeb-16"
-               ;;
-esac
-
 UNICODE="1"
 BROKEN_COMPOSE="0"
 
index f52a5940ac474e2f413016bbae9e3b0ca02c7dc8..d0e52dc187aaa9b6c697bfd1d13c9b266e31b177 100644 (file)
@@ -34,6 +34,7 @@ bin_PROGRAMS = \
 
 bin_SCRIPTS = \
        downloadsource.sh \
+       execute-postinstall.sh \
        start-networking.sh
 
 #- installer -------------------------------------------------------------------
@@ -44,6 +45,7 @@ installer_SOURCES = \
        main.c
 
 installer_CFLAGS = \
+       $(AM_CFLAGS) \
        $(BLKID_CFLAGS) \
        $(LIBSMOOTH_CFLAGS) \
        $(PCI_CFLAGS) \
index da968f637f009085b390a63cf8f952efbb2224c0..85c5c5cb8c95a2c6f56680e5c541e9b889bb9234 100644 (file)
@@ -39,6 +39,16 @@ AC_PROG_CC
 AC_PROG_CC_C99
 AC_PROG_CC_C_O
 
+CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
+       "-Wformat=2 -Wformat-security -Wformat-nonliteral" \
+       -Werror=overflow \
+       -fno-strict-aliasing \
+       -fstack-protector \
+       -fstack-protector-strong \
+       -fPIE \
+       --param=ssp-buffer-size=4])
+AC_SUBST([OUR_CFLAGS], "$with_cflags")
+
 AC_PATH_PROG([M4], [m4])
 
 # Gettext
@@ -84,6 +94,11 @@ AC_ARG_WITH([config-root],
        AC_DEFINE_UNQUOTED([CONFIG_ROOT], "$withval", [The config-root]),
        AC_MSG_ERROR([*** you need to set CONFIG_ROOT with --with-config-root=]))
 
+AC_ARG_WITH([download-url],
+       AS_HELP_STRING([--with-download-url] [The default download URL]),
+       AC_DEFINE_UNQUOTED([DOWNLOAD_URL], "$withval", [The default download URL]),
+       AC_MSG_ERROR([*** you need to set DOWNLOAD_URL with --with-download-url=]))
+
 AC_CONFIG_FILES([
        Makefile
        po/Makefile.in
index 7504c198fd8325cd0f856a44d40717f3fc7ba5f6..4a48686ea9453560065f80bf3a5d945f37f3f525 100644 (file)
 #                                                                             #
 ###############################################################################
 
-#lfs change the url while build!
-IPFireISO=ipfire.iso
-#
-
-#Get user defined download from boot cmdline
-grep "netinstall=" /proc/cmdline > /dev/null && CMDLINE=1
-if ( [ "$CMDLINE" == "1" ]); then
-       read CMDLINE < /proc/cmdline
-       POS=${CMDLINE%%netinstall*}
-       POS=${#POS}
-       IPFireISO=`echo ${CMDLINE:POS} | cut -d"=" -f2 | cut -d" " -f1`
+function download() {
+       wget -U "IPFire-NetInstall/2.x" "$@"
+}
+
+if [ $# -lt 2 ]; then
+       echo "$0: Insufficient number of arguments" >&2
+       exit 2
+fi
+
+OUTPUT="${1}"
+URL="${2}"
+
+echo "Downloading ${URL}..."
+if ! download -O "${OUTPUT}" "${URL}"; then
+       echo "Download failed" >&2
+
+       rm -f "${OUTPUT}"
+       exit 1
 fi
 
-echo "Download with wget..."
-wget $IPFireISO -O /tmp/download.iso -t3 -U IPFire_NetInstall/2.x
-wget $IPFireISO.md5 -O /tmp/download.iso.md5 -t3 -U IPFire_NetInstall/2.x
-echo
-echo "Checking download..."
-md5_file=`md5sum /tmp/download.iso | cut -d" " -f1`
-md5_down=`cat /tmp/download.iso.md5 | cut -d" " -f1`
-if [ "$md5_file" == "$md5_down" ]; then
-       echo -n "/tmp/download.iso" > /tmp/source_device
-       exit 0
+# Download went well. Checking for MD5 sum
+if download -O "${OUTPUT}.md5" "${URL}.md5" &>/dev/null; then
+       # Read downloaded checksum
+       read -r md5sum rest < "${OUTPUT}.md5"
+       rm -f "${OUTPUT}.md5"
+
+       # Compute checkum of downloaded image file
+       read -r md5sum_image rest <<< "$(md5sum "${OUTPUT}")"
+
+       if [ "${md5sum}" != "${md5sum_image}" ]; then
+               echo "MD5 sum mismatch: ${md5sum} != ${md5sum_image}" >&2
+               exit 2
+       fi
 fi
-echo "Error - SKIP"
-exit 10
+
+exit 0
index 4100fc957061a7d8cc89b8554cd0d8043c73e08b..660f269410ce135467e5e98c55b73fe67053d35d 100755 (executable)
 #
 ########################################################################
 
-dhcpcd_up()
-{
-       set | grep "^new_" | sed "s|^new_||g" | \
-       sed "s|'||g" | \
-       sort > /var/ipfire/dhcpc/dhcpcd-$interface.info
+LEASE_FILE="/var/ipfire/dhcpc/dhcpcd-${interface}.info"
 
-       DNS=`grep "domain_name_servers" /var/ipfire/dhcpc/dhcpcd-$interface.info | cut -d"=" -f2`
-       DNS1=`echo $DNS | cut -d" " -f1`
-       DNS2=`echo $DNS | cut -d" " -f2`
+export_lease() {
+       set | grep "^new_" | sed "s|^new_||g" | \
+       sed "s|'||g" | sort > ${LEASE_FILE}
+}
 
-       echo "nameserver $DNS1" > /etc/resolv.conf
-       echo "nameserver $DNS2" >> /etc/resolv.conf
+make_resolvconf() {
+       local DNS="$(grep 'domain_name_servers' ${LEASE_FILE} | cut -d'=' -f2)"
+       local DNS1="$(echo ${DNS} | cut -d' ' -f1)"
+       local DNS2="$(echo ${DNS} | cut -d' ' -f2)"
 
+       (
+               echo "nameserver ${DNS1}"
+               echo "nameserver ${DNS2}"
+       ) > /etc/resolv.conf
 }
 
-case "$reason" in
-BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT|STATIC)       dhcpcd_up;;
+case "${reason}" in
+       PREINIT)
+               # Configure MTU
+               if [ -n "${new_interface_mtu}" ] && [ ${new_interface_mtu} -gt 576 ]; then
+                       echo "Setting MTU to ${new_interface_mtu}"
+                       ip link set "${interface}" mtu "${new_interface_mtu}"
+               fi
+               ;;
+
+       BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT|STATIC)
+               # Export all information about the newly received lease
+               # to file
+               export_lease
+
+               # Create system configuration files
+               make_resolvconf
+               ;;
+
+       EXPIRE|FAIL|IPV4LL|NAK|NOCARRIER|RELEASE|STOP)
+               rm -f "${LEASE_FILE}"
+               ;;
 esac
+
+exit 0
index 31caa5489d3c9c3bcf9c5286883f272aa051dd84..0173e95b660faa50014c31042e8006a383420ca2 100755 (executable)
@@ -18,6 +18,7 @@ install() {
     inst /etc/system-release
     inst /usr/bin/installer
     inst /usr/bin/downloadsource.sh
+    inst /usr/bin/execute-postinstall.sh
     inst /usr/local/bin/iowrap
 
     # Kernel drivers
@@ -35,28 +36,28 @@ install() {
     inst_multiple tar gzip lzma xz
 
     # Networking
-    inst_multiple dhcpcd ethtool hostname ip ping wget
+    inst_multiple dhcpcd ethtool hostname ip ping sort wget
     inst /usr/bin/start-networking.sh
-    inst /var/ipfire/dhcpc/dhcpcd-run-hooks
     inst /var/ipfire/dhcpc/dhcpcd.conf
-    for file in /var/ipfire/dhcpc/dhcpcd-hooks/*; do
-        inst "${file}"
-    done
+    inst /var/ipfire/dhcpc/dhcpcd-run-hooks
     inst "$moddir/70-dhcpcd.exe" "/var/ipfire/dhcpc/dhcpcd-hooks/70-dhcpcd.exe"
 
+    inst /etc/host.conf /etc/hosts /etc/protocols
+    inst /etc/nsswitch.conf /etc/resolv.conf
+    inst_libdir_file "libnss_dns.so.*"
+
     # Misc. tools
-    inst_multiple cut grep eject killall md5sum touch
+    inst_multiple chmod cut grep eject id killall md5sum touch
     inst_multiple -o fdisk cfdisk df ps top
 
     # Hardware IDs
     inst /usr/share/hwdata/pci.ids /usr/share/hwdata/usb.ids
 
     # Locales
-    for locale in de en es fr nl pl ru tr; do
-        for file in $(find /usr/lib/locale/${locale}*); do
-            inst "${file}"
-        done
-    done
+    mkdir -p "${initdir}/usr/lib/locale"
+    localedef --quiet --prefix="${initdir}" --add-to-archive /usr/lib/locale/en_US
+    localedef --quiet --prefix="${initdir}" --add-to-archive /usr/lib/locale/en_US.utf8
+
     for file in /usr/share/locale/*/LC_MESSAGES/installer.mo; do
         inst "${file}"
     done
index d0611ce37c208dc0fe0deefe8ba347cc42fe5e93..1a7bd137214afdcf020b98510fc2e5ba9e303a46 100644 (file)
@@ -3,6 +3,12 @@
 # IPFire Installer RC
 #
 
+# Enable Unicode
+echo -en '\033%G' && kbd_mode -u
+
+# Load default console font
+setfont LatArCyrHeb-16
+
 # Silence the kernel
 echo >/proc/sys/kernel/printk "1 4 1 7"
 echo -n -e "\033[9;0]"
diff --git a/src/installer/execute-postinstall.sh b/src/installer/execute-postinstall.sh
new file mode 100644 (file)
index 0000000..695f1b5
--- /dev/null
@@ -0,0 +1,65 @@
+#!/bin/sh
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2014  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        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+function download() {
+       wget -U "IPFire-NetInstall/2.x" "$@"
+}
+
+if [ $# -lt 2 ]; then
+       echo "$0: Insufficient number of arguments" >&2
+       exit 2
+fi
+
+DESTINATION="${1}"
+DOWNLOAD_URL="${2}"
+
+DOWNLOAD_TARGET="/tmp/post-install.exe"
+
+if download -O "${DESTINATION}${DOWNLOAD_TARGET}" "${DOWNLOAD_URL}"; then
+       echo "Downloading post-install script from ${DOWNLOAD_URL}..."
+
+       # Make it executable
+       chmod a+x "${DESTINATION}${DOWNLOAD_TARGET}"
+
+       # Replace /etc/resolv.conf so that we will have
+       cp -fb /etc/resolv.conf ${DESTINATION}/etc/resolv.conf
+       for i in /dev /proc /sys; do
+               mount --bind "${i}" "${DESTINATION}${i}"
+       done
+
+       # Execute the downloaded script
+       chroot "${DESTINATION}" sh --login -c "${DOWNLOAD_TARGET}"
+       retval=$?
+
+       # Cleanup the environment
+       mv -f ${DESTINATION}/etc/resolv.conf{~,}
+       for i in /dev /proc /sys; do
+               umount "${DESTINATION}${i}"
+       done
+       rm -f "${DESTINATION}${DOWNLOAD_TARGET}"
+
+       exit ${retval}
+
+# In case the download failed
+else
+       echo "Could not download the post-install script" >&2
+       exit 1
+fi
index 9b9a2d00291ae7b6911bd5eb10848e7c31c444a9..d74526050037e48a1458fa04403430b631903221 100644 (file)
 #include <blkid/blkid.h>
 #include <fcntl.h>
 #include <libudev.h>
+#include <linux/loop.h>
 #include <math.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <sys/ioctl.h>
 #include <sys/mount.h>
+#include <sys/stat.h>
 #include <sys/swap.h>
 #include <sys/sysinfo.h>
 #include <unistd.h>
@@ -82,11 +84,56 @@ static int strstartswith(const char* a, const char* b) {
        return (strncmp(a, b, strlen(b)) == 0);
 }
 
+static char loop_device[STRING_SIZE];
+
+static int setup_loop_device(const char* source, const char* device) {
+       int file_fd = open(source, O_RDWR);
+       if (file_fd < 0)
+               goto ERROR;
+
+       int device_fd = -1;
+       if ((device_fd = open(device, O_RDWR)) < 0)
+               goto ERROR;
+
+       if (ioctl(device_fd, LOOP_SET_FD, file_fd) < 0)
+               goto ERROR;
+
+       close(file_fd);
+       close(device_fd);
+
+       return 0;
+
+ERROR:
+       if (file_fd >= 0)
+               close(file_fd);
+
+       if (device_fd >= 0) {
+               ioctl(device_fd, LOOP_CLR_FD, 0);
+               close(device_fd);
+       }
+
+       return -1;
+}
+
 int hw_mount(const char* source, const char* target, const char* fs, int flags) {
+       const char* loop_device = "/dev/loop0";
+
        // Create target if it does not exist
        if (access(target, X_OK) != 0)
                mkdir(target, S_IRWXU|S_IRWXG|S_IRWXO);
 
+       struct stat st;
+       stat(source, &st);
+
+       if (S_ISREG(st.st_mode)) {
+               int r = setup_loop_device(source, loop_device);
+               if (r == 0) {
+                       source = loop_device;
+               } else {
+                       return -1;
+               }
+       }
+
        return mount(source, target, fs, flags, NULL);
 }
 
@@ -293,7 +340,7 @@ void hw_free_disks(struct hw_disk** disks) {
        free(disks);
 }
 
-unsigned int hw_count_disks(struct hw_disk** disks) {
+unsigned int hw_count_disks(const struct hw_disk** disks) {
        unsigned int ret = 0;
 
        while (*disks++)
@@ -306,7 +353,7 @@ struct hw_disk** hw_select_disks(struct hw_disk** disks, int* selection) {
        struct hw_disk** ret = hw_create_disks();
        struct hw_disk** selected_disks = ret;
 
-       unsigned int num_disks = hw_count_disks(disks);
+       unsigned int num_disks = hw_count_disks((const struct hw_disk**)disks);
 
        for (unsigned int i = 0; i < num_disks; i++) {
                if (!selection || selection[i]) {
@@ -393,7 +440,7 @@ static int hw_device_has_p_suffix(const struct hw_destination* dest) {
        return 0;
 }
 
-static int hw_calculate_partition_table(struct hw_destination* dest) {
+static int hw_calculate_partition_table(struct hw_destination* dest, int disable_swap) {
        char path[DEV_SIZE];
        int part_idx = 1;
 
@@ -446,9 +493,14 @@ static int hw_calculate_partition_table(struct hw_destination* dest) {
        }
 
        dest->size_boot = hw_boot_size(dest);
-       dest->size_swap = hw_swap_size(dest);
        dest->size_root = hw_root_size(dest);
 
+       // Should we use swap?
+       if (disable_swap)
+               dest->size_swap = 0;
+       else
+               dest->size_swap = hw_swap_size(dest);
+
        // Determine the size of the data partition.
        unsigned long long used_space = dest->size_bootldr + dest->size_boot
                + dest->size_swap + dest->size_root;
@@ -493,7 +545,7 @@ static int hw_calculate_partition_table(struct hw_destination* dest) {
        return 0;
 }
 
-struct hw_destination* hw_make_destination(int part_type, struct hw_disk** disks) {
+struct hw_destination* hw_make_destination(int part_type, struct hw_disk** disks, int disable_swap) {
        struct hw_destination* dest = malloc(sizeof(*dest));
 
        if (part_type == HW_PART_TYPE_NORMAL) {
@@ -513,7 +565,7 @@ struct hw_destination* hw_make_destination(int part_type, struct hw_disk** disks
        // Is this a RAID device?
        dest->is_raid = (part_type > HW_PART_TYPE_NORMAL);
 
-       int r = hw_calculate_partition_table(dest);
+       int r = hw_calculate_partition_table(dest, disable_swap);
        if (r)
                return NULL;
 
@@ -982,12 +1034,13 @@ static char* hw_get_uuid(const char* dev) {
        return uuid;
 }
 
+#define FSTAB_FMT "UUID=%s %-8s %-4s %-10s %d %d\n"
+
 int hw_write_fstab(struct hw_destination* dest) {
        FILE* f = fopen(DESTINATION_MOUNT_PATH "/etc/fstab", "w");
        if (!f)
                return -1;
 
-       const char* fmt = "UUID=%s %-8s %-4s %-10s %d %d\n";
        char* uuid = NULL;
 
        // boot
@@ -995,7 +1048,7 @@ int hw_write_fstab(struct hw_destination* dest) {
                uuid = hw_get_uuid(dest->part_boot);
 
                if (uuid) {
-                       fprintf(f, fmt, uuid, "/boot", "auto", "defaults", 1, 2);
+                       fprintf(f, FSTAB_FMT, uuid, "/boot", "auto", "defaults", 1, 2);
                        free(uuid);
                }
        }
@@ -1005,7 +1058,7 @@ int hw_write_fstab(struct hw_destination* dest) {
                uuid = hw_get_uuid(dest->part_swap);
 
                if (uuid) {
-                       fprintf(f, fmt, uuid, "swap", "swap", "defaults,pri=1", 0, 0);
+                       fprintf(f, FSTAB_FMT, uuid, "swap", "swap", "defaults,pri=1", 0, 0);
                        free(uuid);
                }
        }
@@ -1013,7 +1066,7 @@ int hw_write_fstab(struct hw_destination* dest) {
        // root
        uuid = hw_get_uuid(dest->part_root);
        if (uuid) {
-               fprintf(f, fmt, uuid, "/", "auto", "defaults", 1, 1);
+               fprintf(f, FSTAB_FMT, uuid, "/", "auto", "defaults", 1, 1);
                free(uuid);
        }
 
@@ -1022,7 +1075,7 @@ int hw_write_fstab(struct hw_destination* dest) {
                uuid = hw_get_uuid(dest->part_data);
 
                if (uuid) {
-                       fprintf(f, fmt, uuid, "/var", "auto", "defaults", 1, 1);
+                       fprintf(f, FSTAB_FMT, uuid, "/var", "auto", "defaults", 1, 1);
                        free(uuid);
                }
        }
index 41ff093ad23b38661523edcc56d2d01d7c17c2b9..f16b39cb6a04a0b86e50ec73573166092f62a3ea 100644 (file)
@@ -107,11 +107,12 @@ char* hw_find_source_medium(struct hw* hw);
 
 struct hw_disk** hw_find_disks(struct hw* hw, const char* sourcedrive);
 void hw_free_disks(struct hw_disk** disks);
-unsigned int hw_count_disks(struct hw_disk** disks);
+unsigned int hw_count_disks(const struct hw_disk** disks);
 struct hw_disk** hw_select_disks(struct hw_disk** disks, int* selection);
 struct hw_disk** hw_select_first_disk(const struct hw_disk** disks);
 
-struct hw_destination* hw_make_destination(int part_type, struct hw_disk** disks);
+struct hw_destination* hw_make_destination(int part_type, struct hw_disk** disks,
+       int disable_swap);
 
 unsigned long long hw_memory();
 
@@ -131,6 +132,8 @@ int hw_write_fstab(struct hw_destination* dest);
 char* hw_find_backup_file(const char* output, const char* search_path);
 int hw_restore_backup(const char* output, const char* backup_path, const char* destination);
 
+int hw_start_networking(const char* output);
+
 void hw_sync();
 
 #endif /* HEADER_HW_H */
index 36f8dfec8110a48bb6fb1f73c07c35350503550a..ad388e6a910cf512d891d5dd1610dc2c3bb17ec0 100644 (file)
@@ -7,6 +7,7 @@
  * Contains main entry point, and misc functions.6
  * 
  */
+#define _GNU_SOURCE
 
 #include <assert.h>
 #include <errno.h>
@@ -23,7 +24,6 @@
 #define _(x) dgettext("installer", x)
 
 #define INST_FILECOUNT 21000
-#define UNATTENDED_CONF "/cdrom/boot/unattended.conf"
 #define LICENSE_FILE   "/cdrom/COPYING"
 #define SOURCE_TEMPFILE "/tmp/downloaded-image.iso"
 
@@ -163,7 +163,7 @@ static int newtLicenseBox(const char* title, const char* text, int width, int he
        return ret;
 }
 
-int write_lang_configs(const char *lang) {
+int write_lang_configs(char* lang) {
        struct keyvalue *kv = initkeyvalues();
 
        /* default stuff for main/settings. */
@@ -207,7 +207,7 @@ static char* center_string(const char* str, int width) {
 }
 
 #define DEFAULT_LANG "English"
-#define NUM_LANGS 8
+#define NUM_LANGS 10
 
 static struct lang {
        const char* code;
@@ -226,6 +226,80 @@ static struct lang {
        { NULL, NULL },
 };
 
+static struct config {
+       int unattended;
+       int serial_console;
+       int require_networking;
+       int perform_download;
+       int disable_swap;
+       char download_url[STRING_SIZE];
+       char postinstall[STRING_SIZE];
+} config = {
+       .unattended = 0,
+       .serial_console = 0,
+       .require_networking = 0,
+       .perform_download = 0,
+       .disable_swap = 0,
+       .download_url = DOWNLOAD_URL,
+       .postinstall = "\0",
+};
+
+static void parse_command_line(struct config* c) {
+       char buffer[STRING_SIZE];
+       char cmdline[STRING_SIZE];
+
+       FILE* f = fopen("/proc/cmdline", "r");
+       if (!f)
+               return;
+
+       int r = fread(&cmdline, 1, sizeof(cmdline) - 1, f);
+       if (r > 0) {
+               char* token = strtok(cmdline, " ");
+
+               while (token) {
+                       strncpy(buffer, token, sizeof(buffer));
+                       char* val = buffer;
+                       char* key = strsep(&val, "=");
+
+                       // serial console
+                       if (strcmp(token, "console=ttyS0") == 0)
+                               c->serial_console = 1;
+
+                       // enable networking?
+                       else if (strcmp(token, "installer.net") == 0)
+                               c->require_networking = 1;
+
+                       // unattended mode
+                       else if (strcmp(token, "installer.unattended") == 0)
+                               c->unattended = 1;
+
+                       // disable swap
+                       else if (strcmp(token, "installer.disable-swap") == 0)
+                               c->disable_swap = 1;
+
+                       // download url
+                       else if (strcmp(key, "installer.download-url") == 0) {
+                               strncpy(c->download_url, val, sizeof(c->download_url));
+                               c->perform_download = 1;
+
+                               // Require networking for the download
+                               c->require_networking = 1;
+
+                       // postinstall script
+                       } else if (strcmp(key, "installer.postinstall") == 0) {
+                               strncpy(c->postinstall, val, sizeof(c->postinstall));
+
+                               // Require networking for the download
+                               c->require_networking = 1;
+                       }
+
+                       token = strtok(NULL, " ");
+               }
+       }
+
+       fclose(f);
+}
+
 int main(int argc, char *argv[]) {
        struct hw* hw = hw_init();
        const char* logfile = NULL;
@@ -243,17 +317,10 @@ int main(int argc, char *argv[]) {
        char message[STRING_SIZE];
        char title[STRING_SIZE];
        int allok = 0;
-       FILE *handle, *cmdfile, *copying;
-       char line[STRING_SIZE];
-               
-       int unattended = 0;
-       int serialconsole = 0;
-       int require_networking = 0;
-       struct keyvalue *unattendedkv = initkeyvalues();
-       char restore_file[STRING_SIZE] = "";
+       FILE *copying;
 
-       setlocale (LC_ALL, "");
-       sethostname( SNAME , 10);
+       setlocale(LC_ALL, "");
+       sethostname(SNAME, 10);
 
        /* Log file/terminal stuff. */
        FILE* flog = NULL;
@@ -283,33 +350,18 @@ int main(int argc, char *argv[]) {
 
        snprintf(title, sizeof(title), "%s - %s", NAME, SLOGAN);
 
-       if (! (cmdfile = fopen("/proc/cmdline", "r"))) {
-               fprintf(flog, "Couldn't open commandline: /proc/cmdline\n");
-       } else {
-               fgets(line, STRING_SIZE, cmdfile);
-
-               // check if we have to make an unattended install
-               if (strstr(line, "installer.unattended") != NULL) {
-                   splashWindow(title, _("Warning: Unattended installation will start in 10 seconds..."), 10);
-                   unattended = 1;
-               }
+       // Parse parameters from the kernel command line
+       parse_command_line(&config);
 
-               // check if the installer should start networking
-               if (strstr(line, "installer.net") != NULL) {
-                       require_networking = 1;
-               }
-
-               // check if we have to patch for serial console
-               if (strstr (line, "console=ttyS0") != NULL) {
-                   serialconsole = 1;
-               }
+       if (config.unattended) {
+               splashWindow(title, _("Warning: Unattended installation will start in 10 seconds..."), 10);
        }
 
        // Load common modules
        mysystem(logfile, "/sbin/modprobe vfat"); // USB key
        hw_stop_all_raid_arrays(logfile);
 
-       if (!unattended) {
+       if (!config.unattended) {
                // Language selection
                char* langnames[NUM_LANGS + 1];
 
@@ -327,7 +379,7 @@ int main(int argc, char *argv[]) {
                assert(choice <= NUM_LANGS);
 
                fprintf(flog, "Selected language: %s (%s)\n", languages[choice].name, languages[choice].code);
-               snprintf(language, sizeof(language), languages[choice].code);
+               snprintf(language, sizeof(language), "%s", languages[choice].code);
 
                setenv("LANGUAGE", language, 1);
                setlocale(LC_ALL, language);
@@ -336,7 +388,7 @@ int main(int argc, char *argv[]) {
        char* helpline = center_string(_("<Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen"), screen_cols);
        newtPushHelpLine(helpline);
 
-       if (!unattended) {
+       if (!config.unattended) {
                snprintf(message, sizeof(message),
                        _("Welcome to the %s installation program.\n\n"
                        "Selecting Cancel on any of the following screens will reboot the computer."), NAME);
@@ -345,16 +397,21 @@ int main(int argc, char *argv[]) {
 
        /* Search for a source drive that holds the right
         * version of the image we are going to install. */
-       sourcedrive = hw_find_source_medium(hw);
-       fprintf(flog, "Source drive: %s\n", sourcedrive);
+       if (!config.perform_download) {
+               sourcedrive = hw_find_source_medium(hw);
+               fprintf(flog, "Source drive: %s\n", sourcedrive);
+       }
 
        /* If we could not find a source drive, we will try
         * downloading the install image */
-       if (!sourcedrive) {
-               if (!unattended) {
+       if (!sourcedrive)
+               config.perform_download = 1;
+
+       if (config.perform_download) {
+               if (!config.unattended) {
                        // Show the right message to the user
                        char reason[STRING_SIZE];
-                       if (require_networking) {
+                       if (config.perform_download) {
                                snprintf(reason, sizeof(reason),
                                        _("The installer will now try downloading the installation image."));
                        } else {
@@ -373,11 +430,12 @@ int main(int argc, char *argv[]) {
                                goto EXIT;
                }
 
-               require_networking = 1;
+               // Make sure that we enable networking before download
+               config.require_networking = 1;
        }
 
        // Try starting the networking if we require it
-       if (require_networking) {
+       if (config.require_networking) {
                while (1) {
                        statuswindow(60, 4, title, _("Trying to start networking (DHCP)..."));
 
@@ -401,20 +459,31 @@ int main(int argc, char *argv[]) {
                }
 
                // Download the image if required
-               while (!sourcedrive) {
-                       snprintf(commandstring, sizeof(commandstring), "/usr/bin/downloadsource.sh %s", SOURCE_TEMPFILE);
-                       runcommandwithstatus(commandstring, title, _("Downloading installation image..."), logfile);
-
-                       FILE* f = fopen(SOURCE_TEMPFILE, "r");
-                       if (f) {
-                               sourcedrive = SOURCE_TEMPFILE;
-                               fclose(f);
-                       } else {
-                               rc = newtWinOkCancel(title, _("The installation image could not be downloaded."),
-                                       60, 8, _("Retry"), _("Cancel"));
+               if (config.perform_download) {
+                       fprintf(flog, "Download URL: %s\n", config.download_url);
+                       snprintf(commandstring, sizeof(commandstring), "/usr/bin/downloadsource.sh %s %s",
+                               SOURCE_TEMPFILE, config.download_url);
+
+                       while (!sourcedrive) {
+                               rc = runcommandwithstatus(commandstring, title, _("Downloading installation image..."), logfile);
+
+                               FILE* f = fopen(SOURCE_TEMPFILE, "r");
+                               if (f) {
+                                       sourcedrive = SOURCE_TEMPFILE;
+                                       fclose(f);
+                               } else {
+                                       char reason[STRING_SIZE] = "-";
+                                       if (rc == 2)
+                                               snprintf(reason, sizeof(STRING_SIZE), _("MD5 checksum mismatch"));
 
-                               if (rc)
-                                       goto EXIT;
+                                       snprintf(message, sizeof(message),
+                                               _("The installation image could not be downloaded.\n  Reason: %s\n\n%s"),
+                                               reason, config.download_url);
+
+                                       rc = newtWinOkCancel(title, message, 75, 12, _("Retry"), _("Cancel"));
+                                       if (rc)
+                                               goto EXIT;
+                               }
                        }
                }
        }
@@ -423,24 +492,17 @@ int main(int argc, char *argv[]) {
 
        int r = hw_mount(sourcedrive, SOURCE_MOUNT_PATH, "iso9660", MS_RDONLY);
        if (r) {
-               fprintf(flog, "Could not mount %s to %s\n", sourcedrive, SOURCE_MOUNT_PATH);
-               fprintf(flog, strerror(errno));
-               exit(1);
-       }
-
-       /* load unattended configuration */
-       if (unattended) {
-           fprintf(flog, "unattended: Reading unattended.conf\n");
-
-           (void) readkeyvalues(unattendedkv, UNATTENDED_CONF);
-           findkey(unattendedkv, "RESTORE_FILE", restore_file);
+               snprintf(message, sizeof(message), _("Could not mount %s to %s:\n  %s\n"),
+                       sourcedrive, SOURCE_MOUNT_PATH, strerror(errno));
+               errorbox(message);
+               goto EXIT;
        }
 
-       if (!unattended) {
+       if (!config.unattended) {
                // Read the license file.
                if (!(copying = fopen(LICENSE_FILE, "r"))) {
                        sprintf(discl_msg, "Could not open license file: %s\n", LICENSE_FILE);
-                       fprintf(flog, discl_msg);
+                       fprintf(flog, "%s", discl_msg);
                } else {
                        fread(discl_msg, 1, 40000, copying);
                        fclose(copying);
@@ -463,7 +525,7 @@ int main(int argc, char *argv[]) {
 
        // Check how many disks have been found and what
        // we can do with them.
-       unsigned int num_disks = hw_count_disks(disks);
+       unsigned int num_disks = hw_count_disks((const struct hw_disk**)disks);
 
        while (1) {
                // no harddisks found
@@ -474,8 +536,8 @@ int main(int argc, char *argv[]) {
                // exactly one disk has been found
                // or if we are running in unattended mode, we will select
                // the first disk and go with that one
-               } else if ((num_disks == 1) || (unattended && num_disks >= 1)) {
-                       selected_disks = hw_select_first_disk(disks);
+               } else if ((num_disks == 1) || (config.unattended && num_disks >= 1)) {
+                       selected_disks = hw_select_first_disk((const struct hw_disk**)disks);
 
                // more than one usable disk has been found and
                // the user needs to choose what to do with them
@@ -484,7 +546,7 @@ int main(int argc, char *argv[]) {
                        int disk_selection[num_disks];
 
                        for (unsigned int i = 0; i < num_disks; i++) {
-                               disk_names[i] = &disks[i]->description;
+                               disk_names[i] = disks[i]->description;
                                disk_selection[i] = 0;
                        }
 
@@ -512,10 +574,10 @@ int main(int argc, char *argv[]) {
 
                // Don't print the auto-selected harddisk setup in
                // unattended mode.
-               if (unattended)
+               if (config.unattended)
                        break;
 
-               num_selected_disks = hw_count_disks(selected_disks);
+               num_selected_disks = hw_count_disks((const struct hw_disk**)selected_disks);
 
                if (num_selected_disks == 1) {
                        snprintf(message, sizeof(message),
@@ -554,7 +616,7 @@ int main(int argc, char *argv[]) {
 
        hw_free_disks(disks);
 
-       struct hw_destination* destination = hw_make_destination(part_type, selected_disks);
+       struct hw_destination* destination = hw_make_destination(part_type, selected_disks, config.disable_swap);
 
        if (!destination) {
                errorbox(_("Your harddisk is too small."));
@@ -570,19 +632,21 @@ int main(int argc, char *argv[]) {
        fprintf(flog, "Memory   : %lluMB\n", BYTES2MB(hw_memory()));
 
        // Warn the user if there is not enough space to create a swap partition
-       if (!unattended && !*destination->part_swap) {
-               rc = newtWinChoice(title, _("OK"), _("Cancel"),
-                       _("Your harddisk is very small, but you can continue without a swap partition."));
+       if (!config.unattended) {
+               if (!config.disable_swap && !*destination->part_swap) {
+                       rc = newtWinChoice(title, _("OK"), _("Cancel"),
+                               _("Your harddisk is very small, but you can continue without a swap partition."));
 
-               if (rc != 1)
-                       goto EXIT;
+                       if (rc != 1)
+                               goto EXIT;
+               }
        }
 
        // Filesystem selection
-       if (!unattended) {
+       if (!config.unattended) {
                struct filesystems {
                        int fstype;
-                       const char* description;
+                       char* description;
                } filesystems[] = {
                        { HW_FS_EXT4,            _("ext4 Filesystem") },
                        { HW_FS_EXT4_WO_JOURNAL, _("ext4 Filesystem without journal") },
@@ -686,7 +750,7 @@ int main(int argc, char *argv[]) {
        statuswindow(60, 4, title, _("Installing the bootloader..."));
 
        /* Serial console ? */
-       if (serialconsole) {
+       if (config.serial_console) {
                /* grub */
                FILE* f = fopen(DESTINATION_MOUNT_PATH "/etc/default/grub", "a");
                if (!f) {
@@ -725,7 +789,7 @@ int main(int argc, char *argv[]) {
        char* backup_file = hw_find_backup_file(logfile, SOURCE_MOUNT_PATH);
        if (backup_file) {
                rc = 0;
-               if (!unattended) {
+               if (!config.unattended) {
                        rc = newtWinOkCancel(title, _("A backup file has been found on the installation image.\n\n"
                                "Do you want to restore the backup?"), 50, 10, _("Yes"), _("No"));
                }
@@ -752,10 +816,21 @@ int main(int argc, char *argv[]) {
        // Umount source drive and eject
        hw_umount(SOURCE_MOUNT_PATH);
 
+       // Download and execute the postinstall script
+       if (*config.postinstall) {
+               snprintf(commandstring, sizeof(commandstring),
+                       "/usr/bin/execute-postinstall.sh %s %s", DESTINATION_MOUNT_PATH, config.postinstall);
+
+               if (runcommandwithstatus(commandstring, title, _("Running post-install script..."), logfile)) {
+                       errorbox(_("Post-install script failed."));
+                       goto EXIT;
+               }
+       }
+
        snprintf(commandstring, STRING_SIZE, "/usr/bin/eject %s", sourcedrive);
        mysystem(logfile, commandstring);
 
-       if (!unattended) {
+       if (!config.unattended) {
                snprintf(message, sizeof(message), _(
                        "%s was successfully installed!\n\n"
                        "Please remove any installation mediums from this system and hit the reboot button. "
index faeeb17237fef60adfd854934be5acd108aaec4b..3cb7a2172e6e6ae3190ddbc481c7880beae12e13 100644 (file)
@@ -56,6 +56,10 @@ function main() {
                fi
 
                echo "Successfully started on ${interface}"
+
+               # Wait until everything is settled
+               sleep 15
+
                return 0
        done
 
diff --git a/src/patches/squidclamav-5.11-source-address-parsing-issue.patch b/src/patches/squidclamav-5.11-source-address-parsing-issue.patch
new file mode 100644 (file)
index 0000000..4031c73
--- /dev/null
@@ -0,0 +1,13 @@
+--- squidclamav-5.11/src/pattern.c~    2014-10-29 13:08:05.658143495 +0000
++++ squidclamav-5.11/src/pattern.c     2014-10-29 13:08:20.964642365 +0000
+@@ -151,10 +151,6 @@
+      return 1;
+   }
+   
+-  /* extract source ipaddress and source fqdn */
+-  if (parseSourceAddress(in_buff.src_address, "/") != 0) {
+-  }
+-  
+   if (debug != 0)
+       logit(log_file, "DEBUG Parsed request: %s %s/%s %s %s\n", in_buff.url, in_buff.ipaddress, in_buff.fqdn, in_buff.ident, in_buff.method);
index 5a557a67b7c6f5f69afe3a988e89b93124865869..356d7a6174a1d233e0c88168695ccdd1709d9a99 100644 (file)
@@ -726,6 +726,7 @@ update_langs() {
                $BASEDIR/tools/sort_strings.pl ru
                $BASEDIR/tools/sort_strings.pl nl
                $BASEDIR/tools/sort_strings.pl tr
+               $BASEDIR/tools/sort_strings.pl it
                $BASEDIR/tools/check_strings.pl en > $BASEDIR/doc/language_issues.en
                $BASEDIR/tools/check_strings.pl de > $BASEDIR/doc/language_issues.de
                $BASEDIR/tools/check_strings.pl fr > $BASEDIR/doc/language_issues.fr
@@ -734,6 +735,7 @@ update_langs() {
                $BASEDIR/tools/check_strings.pl ru > $BASEDIR/doc/language_issues.ru
                $BASEDIR/tools/check_strings.pl nl > $BASEDIR/doc/language_issues.nl
                $BASEDIR/tools/check_strings.pl tr > $BASEDIR/doc/language_issues.tr
+               $BASEDIR/tools/check_strings.pl it > $BASEDIR/doc/language_issues.it
                $BASEDIR/tools/check_langs.sh > $BASEDIR/doc/language_missings
                beautify message DONE
 }