This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree".
The branch, master has been updated via cf361ef4b55134254150b5070069f9d25b201bd1 (commit) via fb1eb40f9b84c190c62dec16897fefb552b4f50e (commit) via fcd8ab4c236d434e655866c3aa3cf90c8eefc110 (commit) via 6c6c1e3f043b7c4e99fabb6e92fce226089392af (commit) via 348ba8e2c54db7608ca9c2584c4c14b3466e6fbb (commit) via 9dcfcb003985d3296473aee9032a324bba9d94dc (commit) via 77ad762c430761bbf2d4be03bf2836d99685359d (commit) via 5fd54721c2275def506ac54cc2e4e810f57fa491 (commit) via c061d66fca5e252dab8fa2e5be5c684faeec75e0 (commit) via bc9544929c61080e662d8668d5ea0b833965fdd9 (commit) via 1c1babf44bf3524726c098d787e4a01eb81950d6 (commit) via af6c5929b0034f0d9e802acaf83bfa36a7cea901 (commit) via f32174956eb8dc6d961c0fe09796e092b6846ae4 (commit) via 3a62dca68e411e90565ab4c9654cae88e56dcfdd (commit) via 440cd2cbfdfb2d386c200a05deb14fcd3a7cb1e6 (commit) via 7207d80c4ecf070495b3d3e65c9f50dfad6d6a1a (commit) via 5ed7bbd52fe8fc124100ece71df0052e23276569 (commit) via b62c826fd8f9b41ac6006d4af8d0d5851f3ba1b4 (commit) via e3c3625c34f2ea370014b1a3798edd9909b03497 (commit) via 30b0e0ca1bd991d737e527b11f3cf83c446104e3 (commit) via d7d5774529358c4ccbfc841f7ac1726d384a6bc9 (commit) via a54350cdb9d56691644486a49b7e5b7594d8d504 (commit) via ebfb8996930ec1e3b4f7d09208d2ab60a8f30603 (commit) via c484679bb3ea4672bf34ba3fd1d5d7596f00a11a (commit) via fb76fc5144d9b072cace93c008da90aa4ccfcbfa (commit) via f754146b1eee3f7a78424959633680f593f36d92 (commit) via 7ef43add025bd53142cb31c17240e1b3b031115b (commit) via e735d91f03adf2e0eed8780de52473fe40419bb3 (commit) via 50846453cb2dee4bd80220a01c714ea7add2e7a3 (commit) via 78fa47700d39c3f84a5c31e72140472564328aea (commit) via fbc9cfd7697ad09d6022c2c858f0d942d35ee388 (commit) via 73ba2286201fbcf2bfb9786f29d2758e6aa380c6 (commit) via 5760f93a74dc8569f206b742b3aa3035d9d582fd (commit) via f227ae4fd2336f86b2e0ada26144bca7190e0548 (commit) via 5c6ae344fc30101566d82fa44dbb7d11a3b7ee9b (commit) via 0b289b3af01080c802a8559a1c86327b77b1f7b9 (commit) via e2bd5a6eb9385b82970c0e0afff5825950772fe1 (commit) via 2f27148cbbf9482a11bc05c1afb410e3bb1bebb0 (commit) via 3c3dfd165eec77898bd9e0bf72ee92dbe9987d61 (commit) via ebf697a097f38c11a603e22f7f742e24bba601a2 (commit) via b66b02ab73863bcb9130300d8ef0eecdc51efde3 (commit) via b0b4d09c56774e84938109963a32916716e96f85 (commit) via dc6ed83537e1bcc1347ad16bee095ef4d641bc69 (commit) via 436479a29fb81a66e66304a76862e48cddfaf424 (commit) via c8e03c7c53ba59acf4aed8dca38d23a88f2167c9 (commit) via e34e72b6e1d0e4ac5b4e08b661b1ab6e7062d2f5 (commit) via bfa0f1dfc0b85d81ff500cac4f13175fc260ba65 (commit) via 2ac90665e8ca5684e811012f2923b0cfec93e065 (commit) via e3fc1d0a2b13e866ec2043c2c5309d4add2423da (commit) via bef7ad5bbecbb3ed36d8c3c38fcca67b84487213 (commit) via 6772cc8035ba6a03b2251380f61cc9a4100d9229 (commit) via 5e6fcc884403ee428dec544b32565a33af54ba94 (commit) via 1294c52ca5d01e9293b37b2f301c0c873098ab83 (commit) via 112a09508e9538d67af9e60c207724eca49b1c51 (commit) via bbc69f228db9e050e1b585a1ac09c495d32ef41a (commit) via cb40ff6027c8eb06d4f2446c4a606084a39addc0 (commit) via 9c8395456753ac6b7fd0141a6b0be83415841bf0 (commit) via b1773d1a37700ce2b07290750052d91983a65620 (commit) via 027614d2dc3107a4e071e8dac49ce8a74c36e4ea (commit) via 0a219160ac7dfe243c94c1f04c182d29206df8ec (commit) via 1f06098ba7f4894c9e3dfb744c38f6ef5c576743 (commit) via 70f6cba43efc1269712ed17020c2e1cf9d6fe86e (commit) via e2d934cf2bbc9409e878b719a6688476ab9b6874 (commit) via 67970637d0965ee01255a4d3a27dfa186c57f54c (commit) via fc9a434cbcef07ab3c5a81d5514036ac3962219c (commit) via 36f5d20ef73844906b557808ecb651097238683f (commit) via 082771c1f4d61fd633c04081ddbfebe25494db14 (commit) via c42237247aec6de190d135b61213054b8b7e2e22 (commit) via d62fd7553da8699bd60e3decb6b646d4436d372d (commit) via 1b0ff72dad0225f1b636605e17a42c465f96d884 (commit) via fb96829a746d5a7ace9835c1aa566f5b0d8bc406 (commit) via afd0cd232fa0d545ebdb70a114f044cde7b99985 (commit) via 5f1b9511022bca252c27b9e60284bf4f4486af46 (commit) via 1d68e28753c7eae374924e0b4ba5ee7cc985c711 (commit) via 963beecdb8bf374d71f22fb0aaf39e5f215318d7 (commit) via 78148cc1e55b0fc85e8433ef30e7e4652e6c6c63 (commit) via 5511fa319a68abcccd68e575f68383f58cb1a388 (commit) via 94e1d35c541d7cbba43c1703a4a590b441bfd3e5 (commit) via 9b6227cc2a961148d007a3f5a2d388c231af47b4 (commit) via 445b43f87732df392776964a82e3ed3058cfee6b (commit) via c91899797b58c719132445778b3b1f1b017a80f4 (commit) via b020b6190f8dd8c5728731148ab11ded9687dcd0 (commit) via 22ce4c3ad6d93879955060e5582384f334ef15f6 (commit) via 6033b2710346f9bf4e1182db706775ccde59e5c1 (commit) via 4eecd722b746fa325d126849c3f3cc0e743bf70c (commit) via 02de682e2118769f1e80fab42f3adb284f60d7c6 (commit) via 733de0e4a0b16d4b03f193f7eec7ce51de071a30 (commit) via 115b5e624e22212b0b0ba8db852bfec7a402c3fe (commit) via 45b1b7cf65ed067d4df4560716e401e4915e02d8 (commit) via 497b9108559e8eac8daba6e8e9e8ff83d5040c69 (commit) via eb3e3017cbd65d3b46bf1ca69195e72e56f64442 (commit) via aed55ef9f81ea07da49b5b051354911d87d428ce (commit) via 8b0679cc89926ccd7e6f8b42e4a20dd3b3c4e371 (commit) via 792f1a3bdf47eba051a752f27e30a92d53a523b3 (commit) via 41964aba093a6b37f7534c0990b25c29e38ea371 (commit) via a0b271e4745dafb7daade5dcf4d18406daaddee9 (commit) via 733932de749c1c92f8f4b38a53cdbf876dd7fe6e (commit) via 9cba29f119459e3ebf5964ee265edd8194042b5a (commit) via 5cd9e28bc407f9c3f01a2512a14adda83f89f92e (commit) via 58fd5dd482d1e4fdf4a5eb554dd9c4a6ad93369b (commit) via 4f75fbfe12ba48d8f4275d76259db8dd02bfe0fa (commit) via 810198110e60d29c6ca9e73b622ab350ae9f9f82 (commit) via e7d16ea553d56ad24240f1f6fe1276ecadaa647f (commit) via a41fe924aefb1237c546fdebb55a4fd4c13d580c (commit) via b7a126d9c8bfb9d03752672b90750a23bdd9119a (commit) via 8802d70a2836012e8e7a8c17eb5fbc589a944e5c (commit) via e2752bfe719b51b1cb2f9153b8ddfab5d4483938 (commit) via 278309b9ef3d1a053b9cc201f1b6e0284334d233 (commit) via 297ebdd47bbe5170c57f7ea0079c37830da61827 (commit) via 827d3f61da96ebc8881f3fbf283fd67c8bad6809 (commit) via 97b91e8a946233d1a5cf90ed36d744dd07f434f9 (commit) via 9735e1670aa846e8e022a88260943bfc348927fc (commit) via f8d35875d8c83347c71a724e1d5af06d1660d4c9 (commit) via 4b33d29de7ea95d2ae9a128d6fb2304331d9bdc1 (commit) via dbfd2622f58727f4b0f9bed8934a770a2050491f (commit) via 966971e58914ef254595532118d37dd604231a5c (commit) via 48fb1d3b6935e0c94f022df389e1212ef2dbf9d7 (commit) via 050ce7567826a0a45f092a74d8bdb180daa6a86d (commit) via a2c26388dbc9cd388da37aa326bb9e6806d94f12 (commit) via 0a02d9bb0c0dd52d2d0f3f45264bdf512eb66380 (commit) via d57e8c67bc7ef3d71cb0c339734e49d9912cf581 (commit) via 11fc9575d79644d7830eca59cf90b0d0393bf32b (commit) via abc41f02dd31774d3bc311b4631fb5cf7f8992cd (commit) via 43834c49693a6c2ce25e31509e9ab2f8d6f32bd7 (commit) via 4ddf453804d10c387297fb1a5acb1e6694daddbc (commit) via a79b220c5a6ad33126276958a506befe8b437a25 (commit) via 59a2d9c2d5ab9be52d437f890dcb513a0b4af0c1 (commit) via 0806170370f87f949efd327e1ad7377050b3626f (commit) via 213335372da6a5cb106e6ded17521b9a70d84d40 (commit) via 6945954c445ff0af6196571bd352e8c8fe0e286b (commit) via 1d77d1262a0b4b1d0fc975da799d7e85d29c94d3 (commit) via 7ab3f84b2ab7a6bbf1428a1e04755ebd3742830f (commit) via 2d92a4eca4768b79c6cb2ce4604c0eced3f59a2c (commit) via f339af27044567c36ddc8f27a15a0e4b90297c0b (commit) via 45129439bc2b16b712f015a661af4bdfbd815f60 (commit) via 6820454e5436954c56f28116ee06d5266cd8484f (commit) via 52383f583ed7602a7822564dd497165a1b0084f7 (commit) via b32d9e92bee391e172236e4ee4d7661bfd5a1f11 (commit) via 83ba0896f6240a9110198e19a936e86b492cb766 (commit) via fb1d26d1bc50a7a453026a600f763309150320ce (commit) via 76ece3236237626450838b2fb18d5ca213549f51 (commit) via 07d56062a90d84c8504783b1c70fb06466a90dc2 (commit) via 5dc32e5877f7cd8bb96ef6becc9a9370490a1c15 (commit) via f3802750ac9b03d7bfdb767e71436a1387607ec0 (commit) via facfdcd040d158b529da6134140bf42a1c5a2fca (commit) via 6d31cfdd58e5826373da4f5eaa07fd31dbcbee7d (commit) via e14adf759ae830dc6f36c97d31e42a449529c502 (commit) via c7e78cc62e6699f00962caf440ed25270c461334 (commit) via e01c5ab71a78b4061cf98fd03be76112842a6bf2 (commit) via 47406df0fea9108a9b921884c58c53ca6ce6cb37 (commit) via a6c985284d0d1a56ba8646a817b6bcd85aaa68e3 (commit) via 8ef627839fa3e7fd636a243153ed68126f967871 (commit) via c04d2de74ee3b300b59dacdb29d0c174ed269025 (commit) via 585703d8a3da1ec4952851efa53d3ab926870b14 (commit) via 19cd2b6a7cd5951bb2c74004f27c5be82924880a (commit) via 1fc9a43056d516e335e6761443d77bba77ba44d9 (commit) via 5ca163cd82d651f5036cda30a4fa4c54c1559439 (commit) via bbaa3613b4e779fed958dc3f7918a65c57576fe8 (commit) via 4d9002279f6cd5c73f0e6092c22ae2bfa49460bb (commit) via 8b92078917ab3c3fdbdd2070ba803f23aff237d7 (commit) via cec16b8242f27a7718cb54477403651f752c109e (commit) via 5906c96206c934e55883390aa0f931b851b4a8b3 (commit) via 0d6a599aba381244bd67de8bf6d6a7ed812cbe9e (commit) via 0c24f0a9df0cee1c7c7e1cf804fe23856ea7bb6b (commit) via 5fbeaf133312d0ca8e28b842f6eb7d31a172d8ab (commit) via 7ef66b6199e6215fd3b2b0fb42ec3e03ff1bddc7 (commit) via ee40139d9ad0f5b1f07c5735641e45ebb6bd573a (commit) from bee416e2829a5063819ee97f299482e4f894e9e5 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit cf361ef4b55134254150b5070069f9d25b201bd1 Author: Arne Fitzenreiter arne_f@ipfire.org Date: Wed Oct 18 21:25:59 2017 +0200
finish core115
Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit fb1eb40f9b84c190c62dec16897fefb552b4f50e Author: Arne Fitzenreiter arne_f@ipfire.org Date: Wed Oct 18 21:24:43 2017 +0200
core115: add extrahd.cgi to updater
this file was missing in early core114 testbuilds so ship it again.
Signed-off-by: Arne Fitzenreiter arne_f@ipfire.org
commit fcd8ab4c236d434e655866c3aa3cf90c8eefc110 Merge: 6c6c1e3 bee416e Author: Arne Fitzenreiter arne_f@ipfire.org Date: Wed Oct 18 21:20:23 2017 +0200
Merge branch 'master' into core115
commit 6c6c1e3f043b7c4e99fabb6e92fce226089392af Author: Peter Müller peter.mueller@link38.eu Date: Tue Oct 17 19:49:07 2017 +0200
redirect to TLS WebUI if authorisation required
Do not allow credentials being submitted in plaintext to Apache. Instead, redirect the user with a 301 to the TLS version of IPFire's web interface.
Signed-off-by: Peter Müller peter.mueller@link38.eu Signed-off-by: Michael Tremer michael.tremer@ipfire.org
-----------------------------------------------------------------------
Summary of changes: config/backup/include | 1 + config/cfgroot/general-functions.pl | 8 +- config/cfgroot/lang.pl | 14 + config/cfgroot/network-functions.pl | 20 + config/cron/crontab | 6 + config/extrahd/extrahd.pl | 2 - config/httpd/vhosts.d/captive.conf | 30 + config/httpd/vhosts.d/ipfire-interface-ssl.conf | 30 +- config/httpd/vhosts.d/ipfire-interface.conf | 35 +- config/menu/30-network.menu | 5 + config/ovpn/openssl/ovpn.cnf | 4 + config/rootfiles/common/apache2 | 4 + config/rootfiles/common/bootstrap | 17 + config/rootfiles/common/configroot | 10 +- config/rootfiles/common/misc-progs | 1 + config/rootfiles/common/perl-Font-TTF | 164 +++++ .../common/{Net-Telnet => perl-IO-String} | 8 +- .../rootfiles/{packages => common}/perl-PDF-API2 | 2 + config/rootfiles/common/stage2 | 1 + config/rootfiles/common/ubuntu-font-family | 13 + config/rootfiles/common/unbound | 2 +- config/rootfiles/common/web-user-interface | 21 +- config/rootfiles/common/x86_64/stage2 | 1 + config/rootfiles/core/{114 => 115}/exclude | 0 .../rootfiles/core/{114 => 115}/filelists/apache2 | 0 config/rootfiles/core/115/filelists/bootstrap | 1 + config/rootfiles/core/115/filelists/files | 31 + .../{oldcore/111 => core/115}/filelists/logrotate | 0 .../{oldcore/100 => core/115}/filelists/openvpn | 0 config/rootfiles/core/115/filelists/perl-Font-TTF | 1 + config/rootfiles/core/115/filelists/perl-IO-String | 1 + config/rootfiles/core/115/filelists/perl-PDF-API2 | 1 + .../core/115/filelists/ubuntu-font-family | 1 + .../103 => core/115}/filelists/wpa_supplicant | 0 config/rootfiles/core/{114 => 115}/meta | 0 .../rootfiles/{oldcore/111 => core/115}/update.sh | 40 +- config/rootfiles/{core => oldcore}/114/exclude | 0 .../{core => oldcore}/114/filelists/apache2 | 0 .../rootfiles/{core => oldcore}/114/filelists/apr | 0 .../{core => oldcore}/114/filelists/aprutil | 0 .../{core => oldcore}/114/filelists/files | 0 .../{core => oldcore}/114/filelists/gnutls | 0 .../{core => oldcore}/114/filelists/hdparm | 0 .../114/filelists/i586/strongswan-padlock | 0 .../rootfiles/{core => oldcore}/114/filelists/php | 0 .../{core => oldcore}/114/filelists/squid | 0 .../{core => oldcore}/114/filelists/strongswan | 0 .../{core => oldcore}/114/filelists/unbound | 0 config/rootfiles/{core => oldcore}/114/meta | 0 config/rootfiles/{core => oldcore}/114/update.sh | 0 config/xen-image/xen-image-maker.sh | 4 +- doc/language_issues.de | 27 + doc/language_issues.en | 24 + doc/language_issues.es | 47 ++ doc/language_issues.fr | 47 +- doc/language_issues.it | 47 ++ doc/language_issues.nl | 47 ++ doc/language_issues.pl | 47 ++ doc/language_issues.ru | 47 ++ doc/language_issues.tr | 47 ++ doc/language_missings | 249 ++++++- html/cgi-bin/captive.cgi | 794 +++++++++++++++++++++ html/cgi-bin/captive/index.cgi | 238 ++++++ .../pakfire.conf => html/cgi-bin/captive/logo.cgi | 38 +- html/cgi-bin/{mdstat.cgi => captive/redirect.cgi} | 49 +- html/cgi-bin/logs.cgi/log.dat | 2 + html/cgi-bin/ovpnmain.cgi | 31 +- html/cgi-bin/proxy.cgi | 4 +- html/cgi-bin/vpnmain.cgi | 4 + html/html/captive/assets/captive.css | 194 +++++ html/html/{ => captive/assets}/favicon.ico | Bin .../images/tux2.png => captive/assets/ipfire.png} | Bin html/html/captive/template.html | 79 ++ html/html/dial.cgi | 4 - langs/de/cgi-bin/de.pl | 59 ++ langs/en/cgi-bin/en.pl | 72 +- lfs/Config | 6 +- lfs/apache2 | 11 +- lfs/{usb_modeswitch => bootstrap} | 20 +- lfs/cdrom | 5 +- lfs/configroot | 4 +- lfs/ddns | 2 +- lfs/fireinfo | 2 +- lfs/flash-images | 2 +- lfs/installer | 1 + lfs/ipfire-netboot | 10 +- lfs/logrotate | 4 +- lfs/openvpn | 7 +- lfs/pakfire3 | 2 +- lfs/{swig => perl-Font-TTF} | 9 +- lfs/{swig => perl-IO-String} | 9 +- lfs/perl-PDF-API2 | 10 +- lfs/squid-accounting | 4 +- lfs/stage2 | 1 + lfs/tor | 6 +- lfs/{mdadm => ubuntu-font-family} | 21 +- lfs/unbound | 4 +- lfs/web-user-interface | 23 +- make.sh | 8 +- src/initscripts/system/firewall | 11 + src/installer/configure.ac | 16 +- src/installer/dracut-module/module-setup.sh | 3 + src/installer/hw.c | 2 +- src/installer/hw.h | 4 +- src/installer/main.c | 12 +- src/installer/po/ar.po | 13 +- src/installer/po/ca.po | 4 +- src/installer/po/cs_CZ.po | 4 +- src/installer/po/da.po | 4 +- src/installer/po/de.po | 2 +- src/installer/po/el_GR.po | 4 +- src/installer/po/es.po | 4 +- src/installer/po/fa.po | 4 +- src/installer/po/fr.po | 61 +- src/installer/po/hr.po | 4 +- src/installer/po/hu.po | 137 ++-- src/installer/po/id.po | 4 +- src/installer/po/it.po | 4 +- src/installer/po/ja.po | 137 ++-- src/installer/po/jv.po | 2 +- src/installer/po/km_KH.po | 4 +- src/installer/po/nl.po | 4 +- src/installer/po/pl.po | 8 +- src/installer/po/pt_BR.po | 4 +- src/installer/po/pt_PT.po | 11 +- src/installer/po/ro_RO.po | 137 ++-- src/installer/po/ru.po | 18 +- src/installer/po/rw.po | 4 +- src/installer/po/sk.po | 4 +- src/installer/po/sq.po | 13 +- src/installer/po/sr.po | 2 +- src/installer/po/su.po | 2 +- src/installer/po/sv.po | 137 ++-- src/installer/po/th.po | 4 +- src/installer/po/tk.po | 4 +- src/installer/po/tr.po | 6 +- src/installer/po/uk.po | 4 +- src/installer/po/uz@Latn.po | 4 +- src/installer/po/vi.po | 4 +- src/installer/po/zh.po | 4 +- src/misc-progs/Makefile | 3 +- src/misc-progs/captivectrl.c | 361 ++++++++++ src/misc-progs/wirelessctrl.c | 17 + src/patches/apache-2.4.27-CVE-2017-9798-fix.patch | 15 - src/patches/apache-2.4.27-PR61382-fix.patch | 783 -------------------- src/scripts/backupiso | 2 +- .../getdnsfromdhcpc.pl => scripts/captive-cleanup} | 49 +- src/scripts/httpscert | 37 +- src/setup/po/ar.po | 19 +- src/setup/po/ca.po | 4 +- src/setup/po/cs_CZ.po | 4 +- src/setup/po/da.po | 10 +- src/setup/po/de.po | 2 +- src/setup/po/el_GR.po | 4 +- src/setup/po/es.po | 4 +- src/setup/po/fa.po | 4 +- src/setup/po/fr.po | 135 ++-- src/setup/po/hr.po | 4 +- src/setup/po/hu.po | 265 +++---- src/setup/po/id.po | 4 +- src/setup/po/it.po | 4 +- src/setup/po/ja.po | 265 +++---- src/setup/po/jv.po | 2 +- src/setup/po/km_KH.po | 4 +- src/setup/po/nl.po | 4 +- src/setup/po/pl.po | 10 +- src/setup/po/pt_BR.po | 6 +- src/setup/po/pt_PT.po | 17 +- src/setup/po/ro_RO.po | 250 +++---- src/setup/po/ru.po | 55 +- src/setup/po/rw.po | 2 +- src/setup/po/sk.po | 4 +- src/setup/po/sq.po | 2 +- src/setup/po/sr.po | 2 +- src/setup/po/su.po | 2 +- src/setup/po/sv.po | 265 +++---- src/setup/po/th.po | 4 +- src/setup/po/tk.po | 4 +- src/setup/po/tr.po | 8 +- src/setup/po/uk.po | 4 +- src/setup/po/uz@Latn.po | 4 +- src/setup/po/vi.po | 4 +- src/setup/po/zh.po | 4 +- 183 files changed, 4212 insertions(+), 2101 deletions(-) create mode 100644 config/httpd/vhosts.d/captive.conf create mode 100644 config/rootfiles/common/bootstrap create mode 100644 config/rootfiles/common/perl-Font-TTF copy config/rootfiles/common/{Net-Telnet => perl-IO-String} (53%) rename config/rootfiles/{packages => common}/perl-PDF-API2 (98%) create mode 100644 config/rootfiles/common/ubuntu-font-family copy config/rootfiles/core/{114 => 115}/exclude (100%) copy config/rootfiles/core/{114 => 115}/filelists/apache2 (100%) create mode 120000 config/rootfiles/core/115/filelists/bootstrap create mode 100644 config/rootfiles/core/115/filelists/files copy config/rootfiles/{oldcore/111 => core/115}/filelists/logrotate (100%) copy config/rootfiles/{oldcore/100 => core/115}/filelists/openvpn (100%) create mode 120000 config/rootfiles/core/115/filelists/perl-Font-TTF create mode 120000 config/rootfiles/core/115/filelists/perl-IO-String create mode 120000 config/rootfiles/core/115/filelists/perl-PDF-API2 create mode 120000 config/rootfiles/core/115/filelists/ubuntu-font-family copy config/rootfiles/{oldcore/103 => core/115}/filelists/wpa_supplicant (100%) copy config/rootfiles/core/{114 => 115}/meta (100%) copy config/rootfiles/{oldcore/111 => core/115}/update.sh (72%) rename config/rootfiles/{core => oldcore}/114/exclude (100%) rename config/rootfiles/{core => oldcore}/114/filelists/apache2 (100%) rename config/rootfiles/{core => oldcore}/114/filelists/apr (100%) rename config/rootfiles/{core => oldcore}/114/filelists/aprutil (100%) rename config/rootfiles/{core => oldcore}/114/filelists/files (100%) rename config/rootfiles/{core => oldcore}/114/filelists/gnutls (100%) rename config/rootfiles/{core => oldcore}/114/filelists/hdparm (100%) rename config/rootfiles/{core => oldcore}/114/filelists/i586/strongswan-padlock (100%) rename config/rootfiles/{core => oldcore}/114/filelists/php (100%) rename config/rootfiles/{core => oldcore}/114/filelists/squid (100%) rename config/rootfiles/{core => oldcore}/114/filelists/strongswan (100%) rename config/rootfiles/{core => oldcore}/114/filelists/unbound (100%) rename config/rootfiles/{core => oldcore}/114/meta (100%) rename config/rootfiles/{core => oldcore}/114/update.sh (100%) create mode 100755 html/cgi-bin/captive.cgi create mode 100755 html/cgi-bin/captive/index.cgi copy src/pakfire/pakfire.conf => html/cgi-bin/captive/logo.cgi (70%) copy html/cgi-bin/{mdstat.cgi => captive/redirect.cgi} (57%) mode change 100644 => 100755 create mode 100644 html/html/captive/assets/captive.css copy html/html/{ => captive/assets}/favicon.ico (100%) copy html/html/{themes/ipfire/images/tux2.png => captive/assets/ipfire.png} (100%) create mode 100644 html/html/captive/template.html delete mode 100644 html/html/dial.cgi copy lfs/{usb_modeswitch => bootstrap} (87%) copy lfs/{swig => perl-Font-TTF} (95%) copy lfs/{swig => perl-IO-String} (95%) copy lfs/{mdadm => ubuntu-font-family} (88%) create mode 100644 src/misc-progs/captivectrl.c delete mode 100644 src/patches/apache-2.4.27-CVE-2017-9798-fix.patch delete mode 100644 src/patches/apache-2.4.27-PR61382-fix.patch copy src/{initscripts/helper/getdnsfromdhcpc.pl => scripts/captive-cleanup} (62%) mode change 100644 => 100755
Difference in files: diff --git a/config/backup/include b/config/backup/include index e1edeff..ba78c69 100644 --- a/config/backup/include +++ b/config/backup/include @@ -41,3 +41,4 @@ /root/.bash_history /var/ipfire/ethernet/aliases /var/ipfire/ethernet/wireless +/var/ipfire/captive/* diff --git a/config/cfgroot/general-functions.pl b/config/cfgroot/general-functions.pl index f448c34..0577afe 100644 --- a/config/cfgroot/general-functions.pl +++ b/config/cfgroot/general-functions.pl @@ -235,7 +235,13 @@ sub writehashpart sub age { my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, $mtime, $ctime, $blksize, $blocks) = stat $_[0]; - my $totalsecs = time() - $mtime; + my $t = time() - $mtime; + + return &format_time($t); +} + +sub format_time($) { + my $totalsecs = shift; my @s = ();
my $secs = $totalsecs % 60; diff --git a/config/cfgroot/lang.pl b/config/cfgroot/lang.pl index c77e0a0..2b09c4a 100644 --- a/config/cfgroot/lang.pl +++ b/config/cfgroot/lang.pl @@ -179,4 +179,18 @@ sub FindWebLanguage() { return undef; }
+sub DetectBrowserLanguages() { + my $langs = $ENV{"HTTP_ACCEPT_LANGUAGE"}; + my @results = (); + + foreach my $lang (split /[,;]/, $langs) { + # Drop all q= arguments + next if ($lang =~ m/^q=/); + + push(@results, $lang); + } + + return @results; +} + 1; diff --git a/config/cfgroot/network-functions.pl b/config/cfgroot/network-functions.pl index 66f1ed5..93b8190 100644 --- a/config/cfgroot/network-functions.pl +++ b/config/cfgroot/network-functions.pl @@ -374,6 +374,26 @@ sub wifi_get_signal_level($) {
return $signal_level; } + +sub get_hardware_address($) { + my $ip_address = shift; + my $ret; + + open(FILE, "/proc/net/arp") or die("Could not read ARP table"); + + while (<FILE>) { + my ($ip_addr, $hwtype, $flags, $hwaddr, $mask, $device) = split(/\s+/, $_); + if ($ip_addr eq $ip_address) { + $ret = $hwaddr; + last; + } + } + + close(FILE); + + return $ret; +} + 1;
# Remove the next line to enable the testsuite diff --git a/config/cron/crontab b/config/cron/crontab index c6d8a72..4561f4a 100644 --- a/config/cron/crontab +++ b/config/cron/crontab @@ -65,6 +65,12 @@ HOME=/ # Retry sending spooled mails regularly %hourly * /usr/sbin/dma -q
+# Cleanup captive clients +%hourly * /usr/bin/captive-cleanup + +# Reload captive firewall rules +%nightly * 23-1 /usr/local/bin/captivectrl >/dev/null + # Cleanup the mail spool directory %weekly * * /usr/sbin/dma-cleanup-spool
diff --git a/config/extrahd/extrahd.pl b/config/extrahd/extrahd.pl index 3c6fa02..3b57e92 100644 --- a/config/extrahd/extrahd.pl +++ b/config/extrahd/extrahd.pl @@ -48,8 +48,6 @@ close FILE; ############################################################################################################################ ############################################################################################################################
-print "$ARGV[0] $ARGV[1]"; - if ( "$ARGV[0]" eq "mount" ) { system("/bin/cp -f /etc/fstab $fstab");
diff --git a/config/httpd/vhosts.d/captive.conf b/config/httpd/vhosts.d/captive.conf new file mode 100644 index 0000000..e4e1d78 --- /dev/null +++ b/config/httpd/vhosts.d/captive.conf @@ -0,0 +1,30 @@ +Listen 1013 + +<VirtualHost *:1013> + DocumentRoot /srv/web/ipfire/html/captive + + # Close all connections as soon as a reply has been sent. + # Most browsers open loads of connections which then causes + # the access page being loaded again after a correct coupon + # code was entered. + KeepAlive Off + + ScriptAlias /cgi-bin/ /srv/web/ipfire/cgi-bin/captive/ + Alias /assets/ /srv/web/ipfire/html/captive/assets/ + + Alias /favicon.ico /srv/web/ipfire/html/captive/assets/favicon.ico + + # All unknown URIs will be redirected to the first + # redirector script. + ScriptAliasMatch .* /srv/web/ipfire/cgi-bin/captive/redirect.cgi + + <Directory /srv/web/ipfire/cgi-bin/captive> + Options ExecCGI + Require all granted + </Directory> + + <Directory /srv/web/ipfire/html/captive> + Options +FollowSymlinks + Require all granted + </Directory> +</VirtualHost> diff --git a/config/httpd/vhosts.d/ipfire-interface-ssl.conf b/config/httpd/vhosts.d/ipfire-interface-ssl.conf index 6f35396..c9ccd5b 100644 --- a/config/httpd/vhosts.d/ipfire-interface-ssl.conf +++ b/config/httpd/vhosts.d/ipfire-interface-ssl.conf @@ -9,10 +9,12 @@ TransferLog /var/log/httpd/access_log SSLEngine on SSLProtocol all -SSLv2 -SSLv3 - SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:HIGH:!RC4:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK + SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:CAMELLIA128-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:CAMELLIA256-SHA SSLHonorCipherOrder on SSLCertificateFile /etc/httpd/server.crt SSLCertificateKeyFile /etc/httpd/server.key + SSLCertificateFile /etc/httpd/server-ecdsa.crt + SSLCertificateKeyFile /etc/httpd/server-ecdsa.key
<Directory /srv/web/ipfire/html> Options ExecCGI @@ -23,7 +25,10 @@ AuthName "IPFire - Restricted" AuthType Basic AuthUserFile /var/ipfire/auth/users - Require user admin + <RequireAll> + Require user admin + Require ssl + </RequireAll> </DirectoryMatch> ScriptAlias /cgi-bin/ /srv/web/ipfire/cgi-bin/ <Directory /srv/web/ipfire/cgi-bin> @@ -32,24 +37,16 @@ AuthName "IPFire - Restricted" AuthType Basic AuthUserFile /var/ipfire/auth/users - Require user admin + <RequireAll> + Require user admin + Require ssl + </RequireAll> <Files chpasswd.cgi> Require all granted </Files> <Files webaccess.cgi> Require all granted </Files> - <Files dial.cgi> - Require user admin - </Files> - </Directory> - <Directory /srv/web/ipfire/cgi-bin/dial> - AllowOverride None - Options None - AuthName "IPFire - Restricted" - AuthType Basic - AuthUserFile /var/ipfire/auth/users - Require user dial admin </Directory> <Files ~ ".(cgi|shtml?)$"> SSLOptions +StdEnvVars @@ -85,6 +82,9 @@ AuthName "IPFire - Restricted" AuthType Basic AuthUserFile /var/ipfire/auth/users - Require user admin + <RequireAll> + Require user admin + Require ssl + </RequireAll> </Directory> </VirtualHost> diff --git a/config/httpd/vhosts.d/ipfire-interface.conf b/config/httpd/vhosts.d/ipfire-interface.conf index 619f90f..be15cd0 100644 --- a/config/httpd/vhosts.d/ipfire-interface.conf +++ b/config/httpd/vhosts.d/ipfire-interface.conf @@ -12,36 +12,17 @@ Require all granted </Directory> <DirectoryMatch "/srv/web/ipfire/html/(graphs|sgraph)"> - AuthName "IPFire - Restricted" - AuthType Basic - AuthUserFile /var/ipfire/auth/users - Require user admin + Options SymLinksIfOwnerMatch + RewriteEngine on + RewriteCond %{HTTPS} off + RewriteRule (.*) https://%%7BSERVER_NAME%7D:444/$1 [R=301,L] </DirectoryMatch> ScriptAlias /cgi-bin/ /srv/web/ipfire/cgi-bin/ <Directory /srv/web/ipfire/cgi-bin> - AllowOverride None - Options None - AuthName "IPFire - Restricted" - AuthType Basic - AuthUserFile /var/ipfire/auth/users - Require user admin - <Files chpasswd.cgi> - Require all granted - </Files> - <Files webaccess.cgi> - Require all granted - </Files> - <Files dial.cgi> - Require user admin - </Files> - </Directory> - <Directory /srv/web/ipfire/cgi-bin/dial> - AllowOverride None - Options None - AuthName "IPFire - Restricted" - AuthType Basic - AuthUserFile /var/ipfire/auth/users - Require user dial admin + Options SymLinksIfOwnerMatch + RewriteEngine on + RewriteCond %{HTTPS} off + RewriteRule (.*) https://%%7BSERVER_NAME%7D:444/$1 [R=301,L] </Directory> Alias /updatecache/ /var/updatecache/ <Directory /var/updatecache> diff --git a/config/menu/30-network.menu b/config/menu/30-network.menu index 8e1336a..137fd68 100644 --- a/config/menu/30-network.menu +++ b/config/menu/30-network.menu @@ -23,6 +23,11 @@ 'title' => "$Lang::tr{'dhcp server'}", 'enabled' => 1, }; + $subnetwork->{'32.captive'} = {'caption' => $Lang::tr{'Captive menu'}, + 'uri' => '/cgi-bin/captive.cgi', + 'title' => $Lang::tr{'Captive menu'}, + 'enabled' => 1, + }; $subnetwork->{'40.scheduler'} = { 'caption' => $Lang::tr{'connscheduler'}, 'uri' => '/cgi-bin/connscheduler.cgi', diff --git a/config/ovpn/openssl/ovpn.cnf b/config/ovpn/openssl/ovpn.cnf index ab026c1..40daf2a 100644 --- a/config/ovpn/openssl/ovpn.cnf +++ b/config/ovpn/openssl/ovpn.cnf @@ -77,6 +77,8 @@ basicConstraints = CA:FALSE nsComment = "OpenSSL Generated Certificate" subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer:always +extendedKeyUsage = clientAuth +keyUsage = digitalSignature
[ server ]
@@ -86,6 +88,8 @@ nsCertType = server nsComment = "OpenSSL Generated Server Certificate" subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer:always +extendedKeyUsage = serverAuth +keyUsage = digitalSignature, keyEncipherment
[ v3_req ] basicConstraints = CA:FALSE diff --git a/config/rootfiles/common/apache2 b/config/rootfiles/common/apache2 index 233301a..040b482 100644 --- a/config/rootfiles/common/apache2 +++ b/config/rootfiles/common/apache2 @@ -43,6 +43,7 @@ etc/httpd/conf/server-tuning.conf etc/httpd/conf/ssl-global.conf etc/httpd/conf/uid.conf #etc/httpd/conf/vhosts.d +etc/httpd/conf/vhosts.d/captive.conf etc/httpd/conf/vhosts.d/ipfire-interface-ssl.conf etc/httpd/conf/vhosts.d/ipfire-interface.conf #etc/httpd/conf/vhosts.d/nagios.conf @@ -91,6 +92,8 @@ etc/httpd/conf/vhosts.d/ipfire-interface.conf #srv/web/ipfire/error/include/top.html #srv/web/ipfire/htdocs #srv/web/ipfire/htdocs/index.html +#srv/web/ipfire/html +srv/web/ipfire/html/captive #srv/web/ipfire/icons #srv/web/ipfire/icons/README #srv/web/ipfire/icons/README.html @@ -1662,3 +1665,4 @@ usr/sbin/httpd #usr/share/man/man8/rotatelogs.8 #usr/share/man/man8/suexec.8 var/log/httpd +var/log/httpd/captive diff --git a/config/rootfiles/common/bootstrap b/config/rootfiles/common/bootstrap new file mode 100644 index 0000000..cc5566a --- /dev/null +++ b/config/rootfiles/common/bootstrap @@ -0,0 +1,17 @@ +#usr/share/bootstrap +#usr/share/bootstrap/css +usr/share/bootstrap/css/bootstrap.css +usr/share/bootstrap/css/bootstrap.css.map +usr/share/bootstrap/css/bootstrap-grid.css +usr/share/bootstrap/css/bootstrap-grid.css.map +usr/share/bootstrap/css/bootstrap-grid.min.css +usr/share/bootstrap/css/bootstrap-grid.min.css.map +usr/share/bootstrap/css/bootstrap.min.css +usr/share/bootstrap/css/bootstrap.min.css.map +usr/share/bootstrap/css/bootstrap-reboot.css +usr/share/bootstrap/css/bootstrap-reboot.css.map +usr/share/bootstrap/css/bootstrap-reboot.min.css +usr/share/bootstrap/css/bootstrap-reboot.min.css.map +#usr/share/bootstrap/js +usr/share/bootstrap/js/bootstrap.js +usr/share/bootstrap/js/bootstrap.min.js diff --git a/config/rootfiles/common/configroot b/config/rootfiles/common/configroot index 911a780..58424ed 100644 --- a/config/rootfiles/common/configroot +++ b/config/rootfiles/common/configroot @@ -11,6 +11,11 @@ var/ipfire/auth var/ipfire/backup/exclude.user var/ipfire/backup/include.user var/ipfire/ca +var/ipfire/captive +var/ipfire/captive/agb.txt +var/ipfire/captive/clients +var/ipfire/captive/settings +var/ipfire/captive/voucher_out var/ipfire/certs #var/ipfire/certs/index.txt #var/ipfire/certs/serial @@ -51,16 +56,14 @@ var/ipfire/extrahd #var/ipfire/extrahd/settings var/ipfire/firewall #var/ipfire/firewall/config -#var/ipfire/firewall/dmz #var/ipfire/firewall/geoipblock #var/ipfire/firewall/input -#var/ipfire/firewall/nat #var/ipfire/firewall/outgoing #var/ipfire/firewall/p2protocols #var/ipfire/firewall/settings var/ipfire/fwhosts -#var/ipfire/fwhosts/customgroups #var/ipfire/fwhosts/customgeoipgrp +#var/ipfire/fwhosts/customgroups #var/ipfire/fwhosts/customhosts #var/ipfire/fwhosts/customnetworks #var/ipfire/fwhosts/customservicegrp @@ -116,6 +119,7 @@ var/ipfire/menu.d/70-log.menu #var/ipfire/menu.d/EX-tor.menu #var/ipfire/menu.d/EX-wlanap.menu var/ipfire/modem +var/ipfire/modem-lib.pl #var/ipfire/modem/defaults #var/ipfire/modem/settings var/ipfire/modem-lib.pl diff --git a/config/rootfiles/common/misc-progs b/config/rootfiles/common/misc-progs index f94f319..7891795 100644 --- a/config/rootfiles/common/misc-progs +++ b/config/rootfiles/common/misc-progs @@ -1,6 +1,7 @@ usr/local/bin/addonctrl #usr/local/bin/applejuicectrl usr/local/bin/backupctrl +usr/local/bin/captivectrl #usr/local/bin/clamavctrl usr/local/bin/collectdctrl usr/local/bin/ddnsctrl diff --git a/config/rootfiles/common/perl-Font-TTF b/config/rootfiles/common/perl-Font-TTF new file mode 100644 index 0000000..e21941c --- /dev/null +++ b/config/rootfiles/common/perl-Font-TTF @@ -0,0 +1,164 @@ +#usr/lib/perl5/site_perl/5.12.3/Font +#usr/lib/perl5/site_perl/5.12.3/Font/TTF +usr/lib/perl5/site_perl/5.12.3/Font/TTF.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/AATKern.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/AATutils.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Anchor.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Bsln.pm +#usr/lib/perl5/site_perl/5.12.3/Font/TTF/Changes_old.txt +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Cmap.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Coverage.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Cvt_.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/DSIG.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Delta.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Dumper.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/EBDT.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/EBLC.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Fdsc.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Feat.pm +#usr/lib/perl5/site_perl/5.12.3/Font/TTF/Features +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Features/Cvar.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Features/Size.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Features/Sset.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Fmtx.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Font.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Fpgm.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/GDEF.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/GPOS.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/GSUB.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Glat.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Gloc.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Glyf.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Glyph.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/GrFeat.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Hdmx.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Head.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Hhea.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Hmtx.pm +#usr/lib/perl5/site_perl/5.12.3/Font/TTF/Kern +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Kern.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Kern/ClassArray.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Kern/CompactClassArray.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Kern/OrderedList.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Kern/StateTable.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Kern/Subtable.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/LTSH.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Loca.pm +#usr/lib/perl5/site_perl/5.12.3/Font/TTF/Manual.pod +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Maxp.pm +#usr/lib/perl5/site_perl/5.12.3/Font/TTF/Mort +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Mort.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Mort/Chain.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Mort/Contextual.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Mort/Insertion.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Mort/Ligature.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Mort/Noncontextual.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Mort/Rearrangement.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Mort/Subtable.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Name.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/OS_2.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/OTTags.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/OldCmap.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/OldMort.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/PCLT.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/PSNames.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Post.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Prep.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Prop.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Segarr.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Silf.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Sill.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Table.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Ttc.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Ttopen.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Useall.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Utils.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Vhea.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Vmtx.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Win32.pm +#usr/lib/perl5/site_perl/5.12.3/Font/TTF/Woff +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Woff.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Woff/MetaData.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/Woff/PrivateData.pm +usr/lib/perl5/site_perl/5.12.3/Font/TTF/XMLparse.pm +#usr/lib/perl5/site_perl/5.12.3/ttfmod.pl +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Font +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Font/TTF +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Font/TTF/.packlist +#usr/share/man/man3/Font::TTF.3 +#usr/share/man/man3/Font::TTF::AATKern.3 +#usr/share/man/man3/Font::TTF::AATutils.3 +#usr/share/man/man3/Font::TTF::Anchor.3 +#usr/share/man/man3/Font::TTF::Bsln.3 +#usr/share/man/man3/Font::TTF::Cmap.3 +#usr/share/man/man3/Font::TTF::Coverage.3 +#usr/share/man/man3/Font::TTF::Cvt_.3 +#usr/share/man/man3/Font::TTF::DSIG.3 +#usr/share/man/man3/Font::TTF::Delta.3 +#usr/share/man/man3/Font::TTF::Dumper.3 +#usr/share/man/man3/Font::TTF::EBDT.3 +#usr/share/man/man3/Font::TTF::EBLC.3 +#usr/share/man/man3/Font::TTF::Fdsc.3 +#usr/share/man/man3/Font::TTF::Feat.3 +#usr/share/man/man3/Font::TTF::Features::Cvar.3 +#usr/share/man/man3/Font::TTF::Features::Size.3 +#usr/share/man/man3/Font::TTF::Features::Sset.3 +#usr/share/man/man3/Font::TTF::Fmtx.3 +#usr/share/man/man3/Font::TTF::Font.3 +#usr/share/man/man3/Font::TTF::Fpgm.3 +#usr/share/man/man3/Font::TTF::GDEF.3 +#usr/share/man/man3/Font::TTF::GPOS.3 +#usr/share/man/man3/Font::TTF::GSUB.3 +#usr/share/man/man3/Font::TTF::Glat.3 +#usr/share/man/man3/Font::TTF::Gloc.3 +#usr/share/man/man3/Font::TTF::Glyf.3 +#usr/share/man/man3/Font::TTF::Glyph.3 +#usr/share/man/man3/Font::TTF::GrFeat.3 +#usr/share/man/man3/Font::TTF::Hdmx.3 +#usr/share/man/man3/Font::TTF::Head.3 +#usr/share/man/man3/Font::TTF::Hhea.3 +#usr/share/man/man3/Font::TTF::Hmtx.3 +#usr/share/man/man3/Font::TTF::Kern.3 +#usr/share/man/man3/Font::TTF::Kern::ClassArray.3 +#usr/share/man/man3/Font::TTF::Kern::CompactClassArray.3 +#usr/share/man/man3/Font::TTF::Kern::OrderedList.3 +#usr/share/man/man3/Font::TTF::Kern::StateTable.3 +#usr/share/man/man3/Font::TTF::Kern::Subtable.3 +#usr/share/man/man3/Font::TTF::LTSH.3 +#usr/share/man/man3/Font::TTF::Loca.3 +#usr/share/man/man3/Font::TTF::Manual.3 +#usr/share/man/man3/Font::TTF::Maxp.3 +#usr/share/man/man3/Font::TTF::Mort.3 +#usr/share/man/man3/Font::TTF::Mort::Chain.3 +#usr/share/man/man3/Font::TTF::Mort::Contextual.3 +#usr/share/man/man3/Font::TTF::Mort::Insertion.3 +#usr/share/man/man3/Font::TTF::Mort::Ligature.3 +#usr/share/man/man3/Font::TTF::Mort::Noncontextual.3 +#usr/share/man/man3/Font::TTF::Mort::Rearrangement.3 +#usr/share/man/man3/Font::TTF::Mort::Subtable.3 +#usr/share/man/man3/Font::TTF::Name.3 +#usr/share/man/man3/Font::TTF::OS_2.3 +#usr/share/man/man3/Font::TTF::OTTags.3 +#usr/share/man/man3/Font::TTF::OldCmap.3 +#usr/share/man/man3/Font::TTF::OldMort.3 +#usr/share/man/man3/Font::TTF::PCLT.3 +#usr/share/man/man3/Font::TTF::PSNames.3 +#usr/share/man/man3/Font::TTF::Post.3 +#usr/share/man/man3/Font::TTF::Prep.3 +#usr/share/man/man3/Font::TTF::Prop.3 +#usr/share/man/man3/Font::TTF::Segarr.3 +#usr/share/man/man3/Font::TTF::Silf.3 +#usr/share/man/man3/Font::TTF::Sill.3 +#usr/share/man/man3/Font::TTF::Table.3 +#usr/share/man/man3/Font::TTF::Ttc.3 +#usr/share/man/man3/Font::TTF::Ttopen.3 +#usr/share/man/man3/Font::TTF::Useall.3 +#usr/share/man/man3/Font::TTF::Utils.3 +#usr/share/man/man3/Font::TTF::Vhea.3 +#usr/share/man/man3/Font::TTF::Vmtx.3 +#usr/share/man/man3/Font::TTF::Win32.3 +#usr/share/man/man3/Font::TTF::Woff.3 +#usr/share/man/man3/Font::TTF::Woff::MetaData.3 +#usr/share/man/man3/Font::TTF::Woff::PrivateData.3 +#usr/share/man/man3/Font::TTF::XMLparse.3 +#usr/share/man/man3/ttfmod.3 diff --git a/config/rootfiles/common/perl-IO-String b/config/rootfiles/common/perl-IO-String new file mode 100644 index 0000000..89be911 --- /dev/null +++ b/config/rootfiles/common/perl-IO-String @@ -0,0 +1,4 @@ +usr/lib/perl5/site_perl/5.12.3/IO/String.pm +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/IO/String +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/IO/String/.packlist +#usr/share/man/man3/IO::String.3 diff --git a/config/rootfiles/packages/perl-PDF-API2 b/config/rootfiles/common/perl-PDF-API2 similarity index 98% rename from config/rootfiles/packages/perl-PDF-API2 rename to config/rootfiles/common/perl-PDF-API2 index 642579a..17dc85a 100644 --- a/config/rootfiles/packages/perl-PDF-API2 +++ b/config/rootfiles/common/perl-PDF-API2 @@ -124,7 +124,9 @@ usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image/GIF.pm usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image/JPEG.pm usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image/PNG.pm usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image/PNM.pm +usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image/TIFF usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image/TIFF.pm +usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/XObject/Image/TIFF/File.pm usr/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/uniglyph.txt usr/lib/perl5/site_perl/5.12.3/PDF/API2/UniWrap.pm usr/lib/perl5/site_perl/5.12.3/PDF/API2/Util.pm diff --git a/config/rootfiles/common/stage2 b/config/rootfiles/common/stage2 index ec36774..8c6dd40 100644 --- a/config/rootfiles/common/stage2 +++ b/config/rootfiles/common/stage2 @@ -69,6 +69,7 @@ run #sbin #srv #usr/bin +usr/bin/captive-cleanup #usr/bin/perl #usr/include #usr/lib diff --git a/config/rootfiles/common/ubuntu-font-family b/config/rootfiles/common/ubuntu-font-family new file mode 100644 index 0000000..b9f7c0b --- /dev/null +++ b/config/rootfiles/common/ubuntu-font-family @@ -0,0 +1,13 @@ +usr/share/fonts/Ubuntu-B.ttf +usr/share/fonts/Ubuntu-BI.ttf +usr/share/fonts/Ubuntu-C.ttf +usr/share/fonts/Ubuntu-L.ttf +usr/share/fonts/Ubuntu-LI.ttf +usr/share/fonts/Ubuntu-M.ttf +usr/share/fonts/Ubuntu-MI.ttf +usr/share/fonts/Ubuntu-R.ttf +usr/share/fonts/Ubuntu-RI.ttf +usr/share/fonts/UbuntuMono-B.ttf +usr/share/fonts/UbuntuMono-BI.ttf +usr/share/fonts/UbuntuMono-R.ttf +usr/share/fonts/UbuntuMono-RI.ttf diff --git a/config/rootfiles/common/unbound b/config/rootfiles/common/unbound index 6d153f2..1c39945 100644 --- a/config/rootfiles/common/unbound +++ b/config/rootfiles/common/unbound @@ -11,7 +11,7 @@ etc/unbound/unbound.conf #usr/lib/libunbound.la #usr/lib/libunbound.so usr/lib/libunbound.so.2 -usr/lib/libunbound.so.2.5.5 +usr/lib/libunbound.so.2.5.6 usr/sbin/unbound usr/sbin/unbound-anchor usr/sbin/unbound-checkconf diff --git a/config/rootfiles/common/web-user-interface b/config/rootfiles/common/web-user-interface index f204f16..d538b8a 100644 --- a/config/rootfiles/common/web-user-interface +++ b/config/rootfiles/common/web-user-interface @@ -8,6 +8,11 @@ srv/web/ipfire/cgi-bin/aliases.cgi srv/web/ipfire/cgi-bin/atm-status.cgi srv/web/ipfire/cgi-bin/backup.cgi srv/web/ipfire/cgi-bin/bluetooth.cgi +#srv/web/ipfire/cgi-bin/captive +srv/web/ipfire/cgi-bin/captive.cgi +srv/web/ipfire/cgi-bin/captive/index.cgi +srv/web/ipfire/cgi-bin/captive/logo.cgi +srv/web/ipfire/cgi-bin/captive/redirect.cgi srv/web/ipfire/cgi-bin/chpasswd.cgi srv/web/ipfire/cgi-bin/connections.cgi srv/web/ipfire/cgi-bin/connscheduler.cgi @@ -23,8 +28,8 @@ srv/web/ipfire/cgi-bin/fireinfo.cgi srv/web/ipfire/cgi-bin/firewall.cgi srv/web/ipfire/cgi-bin/fwhosts.cgi srv/web/ipfire/cgi-bin/geoip-block.cgi -#srv/web/ipfire/cgi-bin/guardian.cgi srv/web/ipfire/cgi-bin/gpl.cgi +#srv/web/ipfire/cgi-bin/guardian.cgi srv/web/ipfire/cgi-bin/gui.cgi srv/web/ipfire/cgi-bin/hardwaregraphs.cgi srv/web/ipfire/cgi-bin/hosts.cgi @@ -89,8 +94,20 @@ srv/web/ipfire/cgi-bin/wirelessclient.cgi srv/web/ipfire/cgi-bin/wlanap.cgi #srv/web/ipfire/html srv/web/ipfire/html/blob.gif +#srv/web/ipfire/html/captive +#srv/web/ipfire/html/captive/assets +srv/web/ipfire/html/captive/assets/Ubuntu-L.ttf +srv/web/ipfire/html/captive/assets/Ubuntu-M.ttf +srv/web/ipfire/html/captive/assets/Ubuntu-R.ttf +srv/web/ipfire/html/captive/assets/bootstrap-grid.min.css +srv/web/ipfire/html/captive/assets/bootstrap-grid.min.css.map +srv/web/ipfire/html/captive/assets/bootstrap-reboot.min.css +srv/web/ipfire/html/captive/assets/bootstrap-reboot.min.css.map +srv/web/ipfire/html/captive/assets/captive.css +srv/web/ipfire/html/captive/assets/favicon.ico +srv/web/ipfire/html/captive/assets/ipfire.png +srv/web/ipfire/html/captive/template.html srv/web/ipfire/html/clwarn.cgi -srv/web/ipfire/html/dial.cgi srv/web/ipfire/html/favicon.ico #srv/web/ipfire/html/images srv/web/ipfire/html/images/IPFire.png diff --git a/config/rootfiles/common/x86_64/stage2 b/config/rootfiles/common/x86_64/stage2 index 95eff36..2897adc 100644 --- a/config/rootfiles/common/x86_64/stage2 +++ b/config/rootfiles/common/x86_64/stage2 @@ -70,6 +70,7 @@ run #sbin #srv #usr/bin +usr/bin/captive-cleanup #usr/bin/perl #usr/include #usr/lib diff --git a/config/rootfiles/core/114/exclude b/config/rootfiles/core/115/exclude similarity index 100% rename from config/rootfiles/core/114/exclude rename to config/rootfiles/core/115/exclude diff --git a/config/rootfiles/core/114/filelists/apache2 b/config/rootfiles/core/115/filelists/apache2 similarity index 100% rename from config/rootfiles/core/114/filelists/apache2 rename to config/rootfiles/core/115/filelists/apache2 diff --git a/config/rootfiles/core/115/filelists/bootstrap b/config/rootfiles/core/115/filelists/bootstrap new file mode 120000 index 0000000..ed985a6 --- /dev/null +++ b/config/rootfiles/core/115/filelists/bootstrap @@ -0,0 +1 @@ +../../../common/bootstrap \ No newline at end of file diff --git a/config/rootfiles/core/115/filelists/files b/config/rootfiles/core/115/filelists/files new file mode 100644 index 0000000..72c5e5f --- /dev/null +++ b/config/rootfiles/core/115/filelists/files @@ -0,0 +1,31 @@ +etc/system-release +etc/issue +etc/httpd/conf/vhosts.d/captive.conf +etc/httpd/conf/vhosts.d/ipfire-interface.conf +etc/httpd/conf/vhosts.d/ipfire-interface-ssl.conf +etc/rc.d/init.d/firewall +srv/web/ipfire/cgi-bin/captive/index.cgi +srv/web/ipfire/cgi-bin/captive/logo.cgi +srv/web/ipfire/cgi-bin/captive/redirect.cgi +srv/web/ipfire/cgi-bin/captive.cgi +srv/web/ipfire/cgi-bin/extrahd.cgi +srv/web/ipfire/cgi-bin/ovpnmain.cgi +srv/web/ipfire/cgi-bin/proxy.cgi +srv/web/ipfire/cgi-bin/vpnmain.cgi +srv/web/ipfire/html/captive +usr/bin/captive-cleanup +usr/local/bin/backupiso +usr/local/bin/captivectrl +usr/local/bin/httpscert +usr/local/bin/wirelessctrl +var/ipfire/backup/include +var/ipfire/captive +var/ipfire/extrahd/bin/extrahd.pl +var/ipfire/general-functions.pl +var/ipfire/lang.pl +var/ipfire/langs +var/ipfire/menu.d/30-network.menu +var/ipfire/modem-lib.pl +var/ipfire/network-functions.pl +var/ipfire/ovpn/openssl/ovpn.cnf +var/log/httpd/captive diff --git a/config/rootfiles/core/115/filelists/logrotate b/config/rootfiles/core/115/filelists/logrotate new file mode 120000 index 0000000..bc192c0 --- /dev/null +++ b/config/rootfiles/core/115/filelists/logrotate @@ -0,0 +1 @@ +../../../common/logrotate \ No newline at end of file diff --git a/config/rootfiles/core/115/filelists/openvpn b/config/rootfiles/core/115/filelists/openvpn new file mode 120000 index 0000000..493f3f7 --- /dev/null +++ b/config/rootfiles/core/115/filelists/openvpn @@ -0,0 +1 @@ +../../../common/openvpn \ No newline at end of file diff --git a/config/rootfiles/core/115/filelists/perl-Font-TTF b/config/rootfiles/core/115/filelists/perl-Font-TTF new file mode 120000 index 0000000..6bb27c3 --- /dev/null +++ b/config/rootfiles/core/115/filelists/perl-Font-TTF @@ -0,0 +1 @@ +../../../common/perl-Font-TTF \ No newline at end of file diff --git a/config/rootfiles/core/115/filelists/perl-IO-String b/config/rootfiles/core/115/filelists/perl-IO-String new file mode 120000 index 0000000..2953e22 --- /dev/null +++ b/config/rootfiles/core/115/filelists/perl-IO-String @@ -0,0 +1 @@ +../../../common/perl-IO-String \ No newline at end of file diff --git a/config/rootfiles/core/115/filelists/perl-PDF-API2 b/config/rootfiles/core/115/filelists/perl-PDF-API2 new file mode 120000 index 0000000..8047841 --- /dev/null +++ b/config/rootfiles/core/115/filelists/perl-PDF-API2 @@ -0,0 +1 @@ +../../../common/perl-PDF-API2 \ No newline at end of file diff --git a/config/rootfiles/core/115/filelists/ubuntu-font-family b/config/rootfiles/core/115/filelists/ubuntu-font-family new file mode 120000 index 0000000..6183519 --- /dev/null +++ b/config/rootfiles/core/115/filelists/ubuntu-font-family @@ -0,0 +1 @@ +../../../common/ubuntu-font-family \ No newline at end of file diff --git a/config/rootfiles/core/115/filelists/wpa_supplicant b/config/rootfiles/core/115/filelists/wpa_supplicant new file mode 120000 index 0000000..1d04c03 --- /dev/null +++ b/config/rootfiles/core/115/filelists/wpa_supplicant @@ -0,0 +1 @@ +../../../common/wpa_supplicant \ No newline at end of file diff --git a/config/rootfiles/core/114/meta b/config/rootfiles/core/115/meta similarity index 100% rename from config/rootfiles/core/114/meta rename to config/rootfiles/core/115/meta diff --git a/config/rootfiles/core/115/update.sh b/config/rootfiles/core/115/update.sh new file mode 100644 index 0000000..61634a7 --- /dev/null +++ b/config/rootfiles/core/115/update.sh @@ -0,0 +1,97 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire 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. # +# # +# IPFire 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 IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2017 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +/usr/local/bin/backupctrl exclude >/dev/null 2>&1 + +core=115 + +# Remove old core updates from pakfire cache to save space... +for (( i=1; i<=$core; i++ )); do + rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire +done + +# Stop services +openvpnctrl -k +openvpnctrl -kn2n + + +# Extract files +extract_files + +# Remove files +rm -vf \ + /srv/web/ipfire/html/dial.cgi + +# update linker config +ldconfig + +# Update Language cache +/usr/local/bin/update-lang-cache + +# generate ECDSA key on existing installations to prevent Apache from crashing +/usr/local/bin/httpscert + +# Start services +/etc/rc.d/init.d/apache2 restart +openvpnctrl -s +openvpnctrl -sn2n + +grep -q "captivectrl" /var/spool/cron/root.orig || cat <<EOF >> /var/spool/cron/root.orig +# Cleanup captive clients +%hourly * /usr/bin/captive-cleanup + +# Reload captive firewall rules +%nightly * 23-1 /usr/local/bin/captivectrl >/dev/null +EOF +fcrontab -z + +# Load captive portal configuration +/etc/rc.d/init.d/firewall restart + +# Regenerate IPsec configuration +sudo -u nobody /srv/web/ipfire/cgi-bin/vpnmain.cgi +if grep -q "ENABLED=on" /var/ipfire/vpn/settings; then + /etc/init.d/ipsec restart +fi + +# Let pakfire forget the perl-PDF-API2 package +rm -fv /opt/pakfire/db/rootfiles/perl-PDF-API2 +rm -fv /opt/pakfire/db/*/meta-perl-PDF-API2 + +# This update need a reboot... +#touch /var/run/need_reboot + +# Finish +/etc/init.d/fireinfo start +sendprofile + +# Update grub config to display new core version +if [ -e /boot/grub/grub.cfg ]; then + grub-mkconfig -o /boot/grub/grub.cfg +fi + +sync + +# Don't report the exitcode last command +exit 0 diff --git a/config/rootfiles/oldcore/114/exclude b/config/rootfiles/oldcore/114/exclude new file mode 100644 index 0000000..d6fd053 --- /dev/null +++ b/config/rootfiles/oldcore/114/exclude @@ -0,0 +1,30 @@ +boot/config.txt +boot/grub/grub.cfg +boot/grub/grubenv +etc/alternatives +etc/collectd.custom +etc/default/grub +etc/ipsec.conf +etc/ipsec.secrets +etc/ipsec.user.conf +etc/ipsec.user.secrets +etc/localtime +etc/shadow +etc/snort/snort.conf +etc/ssh/ssh_config +etc/ssh/sshd_config +etc/ssl/openssl.cnf +etc/sudoers +etc/sysconfig/firewall.local +etc/sysconfig/rc.local +etc/udev/rules.d/30-persistent-network.rules +srv/web/ipfire/html/proxy.pac +var/ipfire/dma +var/ipfire/time +var/ipfire/ovpn +var/lib/alternatives +var/log/cache +var/log/dhcpcd.log +var/log/messages +var/state/dhcp/dhcpd.leases +var/updatecache diff --git a/config/rootfiles/oldcore/114/filelists/apache2 b/config/rootfiles/oldcore/114/filelists/apache2 new file mode 120000 index 0000000..eef95ef --- /dev/null +++ b/config/rootfiles/oldcore/114/filelists/apache2 @@ -0,0 +1 @@ +../../../common/apache2 \ No newline at end of file diff --git a/config/rootfiles/core/114/filelists/apr b/config/rootfiles/oldcore/114/filelists/apr similarity index 100% rename from config/rootfiles/core/114/filelists/apr rename to config/rootfiles/oldcore/114/filelists/apr diff --git a/config/rootfiles/core/114/filelists/aprutil b/config/rootfiles/oldcore/114/filelists/aprutil similarity index 100% rename from config/rootfiles/core/114/filelists/aprutil rename to config/rootfiles/oldcore/114/filelists/aprutil diff --git a/config/rootfiles/core/114/filelists/files b/config/rootfiles/oldcore/114/filelists/files similarity index 100% rename from config/rootfiles/core/114/filelists/files rename to config/rootfiles/oldcore/114/filelists/files diff --git a/config/rootfiles/core/114/filelists/gnutls b/config/rootfiles/oldcore/114/filelists/gnutls similarity index 100% rename from config/rootfiles/core/114/filelists/gnutls rename to config/rootfiles/oldcore/114/filelists/gnutls diff --git a/config/rootfiles/core/114/filelists/hdparm b/config/rootfiles/oldcore/114/filelists/hdparm similarity index 100% rename from config/rootfiles/core/114/filelists/hdparm rename to config/rootfiles/oldcore/114/filelists/hdparm diff --git a/config/rootfiles/core/114/filelists/i586/strongswan-padlock b/config/rootfiles/oldcore/114/filelists/i586/strongswan-padlock similarity index 100% rename from config/rootfiles/core/114/filelists/i586/strongswan-padlock rename to config/rootfiles/oldcore/114/filelists/i586/strongswan-padlock diff --git a/config/rootfiles/core/114/filelists/php b/config/rootfiles/oldcore/114/filelists/php similarity index 100% rename from config/rootfiles/core/114/filelists/php rename to config/rootfiles/oldcore/114/filelists/php diff --git a/config/rootfiles/core/114/filelists/squid b/config/rootfiles/oldcore/114/filelists/squid similarity index 100% rename from config/rootfiles/core/114/filelists/squid rename to config/rootfiles/oldcore/114/filelists/squid diff --git a/config/rootfiles/core/114/filelists/strongswan b/config/rootfiles/oldcore/114/filelists/strongswan similarity index 100% rename from config/rootfiles/core/114/filelists/strongswan rename to config/rootfiles/oldcore/114/filelists/strongswan diff --git a/config/rootfiles/core/114/filelists/unbound b/config/rootfiles/oldcore/114/filelists/unbound similarity index 100% rename from config/rootfiles/core/114/filelists/unbound rename to config/rootfiles/oldcore/114/filelists/unbound diff --git a/config/rootfiles/oldcore/114/meta b/config/rootfiles/oldcore/114/meta new file mode 100644 index 0000000..d547fa8 --- /dev/null +++ b/config/rootfiles/oldcore/114/meta @@ -0,0 +1 @@ +DEPS="" diff --git a/config/rootfiles/core/114/update.sh b/config/rootfiles/oldcore/114/update.sh similarity index 100% rename from config/rootfiles/core/114/update.sh rename to config/rootfiles/oldcore/114/update.sh diff --git a/config/xen-image/xen-image-maker.sh b/config/xen-image/xen-image-maker.sh index d10ea21..7c70a64 100644 --- a/config/xen-image/xen-image-maker.sh +++ b/config/xen-image/xen-image-maker.sh @@ -38,7 +38,7 @@ FSTYPE=ext3 ##############################################################################
SOURCEISO=$SNAME-$VERSION.i586-full-core$CORE.iso -HTTPDIR=http://download.ipfire.org/releases/ipfire-2.x/$VERSION-core$CORE +HTTPDIR=https://downloads.ipfire.org/releases/ipfire-2.x/$VERSION-core$CORE
TMPDIR=./ipfire-tmp ISODIR=$TMPDIR/iso @@ -54,7 +54,7 @@ KERNEL=linux-$KERN_TYPE-$KVER-$KERN_PACK.ipfire if [ "$XEN_IMG_TYPE" == "xva" ]; then # download xva.py if it not exist. if [ ! -e xva.py ]; then - wget http://source.ipfire.org/source-2.x/xva.py + wget https://source.ipfire.org/source-2.x/xva.py fi # XenCenter use other devicenames and # xvdd seems to be reserved (converter bug?). diff --git a/doc/language_issues.de b/doc/language_issues.de index b9f7747..0443130 100644 --- a/doc/language_issues.de +++ b/doc/language_issues.de @@ -1,4 +1,25 @@ WARNING: translation string unused: Async logging enabled +WARNING: translation string unused: Captive 1day +WARNING: translation string unused: Captive 1month +WARNING: translation string unused: Captive 1week +WARNING: translation string unused: Captive activate +WARNING: translation string unused: Captive auth_lic +WARNING: translation string unused: Captive auth_vou +WARNING: translation string unused: Captive err doublevoucher +WARNING: translation string unused: Captive expire +WARNING: translation string unused: Captive genvoucher +WARNING: translation string unused: Captive invalid logosize +WARNING: translation string unused: Captive invalid_voucher +WARNING: translation string unused: Captive ip +WARNING: translation string unused: Captive logo_set +WARNING: translation string unused: Captive logo_upload +WARNING: translation string unused: Captive logo_upload1 +WARNING: translation string unused: Captive noexpiretime +WARNING: translation string unused: Captive nr +WARNING: translation string unused: Captive time +WARNING: translation string unused: Captive voactive +WARNING: translation string unused: Captive voucher +WARNING: translation string unused: Captive vout WARNING: translation string unused: ConnSched scheduler WARNING: translation string unused: ConnSched select profile WARNING: translation string unused: HDD temperature @@ -665,9 +686,11 @@ WARNING: translation string unused: xtaccess all error WARNING: translation string unused: xtaccess bad transfert WARNING: translation string unused: year-graph WARNING: translation string unused: yearly firewallhits +WARNING: untranslated string: 24 hours WARNING: untranslated string: Scan for Songs WARNING: untranslated string: addons WARNING: untranslated string: bytes +WARNING: untranslated string: captive WARNING: untranslated string: community rules WARNING: untranslated string: dead peer detection WARNING: untranslated string: emerging rules @@ -714,11 +737,15 @@ WARNING: untranslated string: ike lifetime should be between 1 and 8 hours WARNING: untranslated string: info messages WARNING: untranslated string: no data WARNING: untranslated string: none +WARNING: untranslated string: one hour +WARNING: untranslated string: one month +WARNING: untranslated string: one week WARNING: untranslated string: qos add subclass WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added WARNING: untranslated string: routing config changed WARNING: untranslated string: routing table WARNING: untranslated string: show tls-auth key +WARNING: untranslated string: unlimited WARNING: untranslated string: vpn force mobike WARNING: untranslated string: vpn statistics n2n diff --git a/doc/language_issues.en b/doc/language_issues.en index f2f6ab7..eebb5d6 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -1,4 +1,26 @@ WARNING: translation string unused: Async logging enabled +WARNING: translation string unused: Captive 1day +WARNING: translation string unused: Captive 1month +WARNING: translation string unused: Captive 1week +WARNING: translation string unused: Captive activate +WARNING: translation string unused: Captive auth_lic +WARNING: translation string unused: Captive auth_vou +WARNING: translation string unused: Captive err doublevoucher +WARNING: translation string unused: Captive expire +WARNING: translation string unused: Captive heading terms +WARNING: translation string unused: Captive heading voucher +WARNING: translation string unused: Captive invalid coupon +WARNING: translation string unused: Captive invalid logosize +WARNING: translation string unused: Captive invalid_voucher +WARNING: translation string unused: Captive ip +WARNING: translation string unused: Captive logo_set +WARNING: translation string unused: Captive noexpiretime +WARNING: translation string unused: Captive nr +WARNING: translation string unused: Captive please enter a coupon code +WARNING: translation string unused: Captive time +WARNING: translation string unused: Captive voactive +WARNING: translation string unused: Captive voucher +WARNING: translation string unused: Captive vout WARNING: translation string unused: ConnSched scheduler WARNING: translation string unused: ConnSched select profile WARNING: translation string unused: HDD temperature @@ -701,8 +723,10 @@ WARNING: translation string unused: xtaccess all error WARNING: translation string unused: xtaccess bad transfert WARNING: translation string unused: year-graph WARNING: translation string unused: yearly firewallhits +WARNING: untranslated string: Captive clients WARNING: untranslated string: Scan for Songs WARNING: untranslated string: bytes +WARNING: untranslated string: captive WARNING: untranslated string: fwhost cust geoipgrp WARNING: untranslated string: fwhost err hostip WARNING: untranslated string: guardian block a host diff --git a/doc/language_issues.es b/doc/language_issues.es index d34d63f..4ade5d5 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -613,11 +613,46 @@ WARNING: translation string unused: web proxy configuration WARNING: translation string unused: week-graph WARNING: translation string unused: weekly firewallhits WARNING: translation string unused: wildcards +WARNING: translation string unused: wlanap access point WARNING: translation string unused: wlanap wlan services WARNING: translation string unused: xtaccess all error WARNING: translation string unused: xtaccess bad transfert WARNING: translation string unused: year-graph WARNING: translation string unused: yearly firewallhits +WARNING: untranslated string: 24 hours +WARNING: untranslated string: Captive ACTIVATE +WARNING: untranslated string: Captive GAIN ACCESS +WARNING: untranslated string: Captive WiFi coupon +WARNING: untranslated string: Captive activated +WARNING: untranslated string: Captive active on +WARNING: untranslated string: Captive agree tac +WARNING: untranslated string: Captive authentication +WARNING: untranslated string: Captive brand color +WARNING: untranslated string: Captive branding +WARNING: untranslated string: Captive client session expiry time +WARNING: untranslated string: Captive clients +WARNING: untranslated string: Captive config +WARNING: untranslated string: Captive coupon +WARNING: untranslated string: Captive expiry time +WARNING: untranslated string: Captive export coupons +WARNING: untranslated string: Captive generate coupons +WARNING: untranslated string: Captive generated coupon no +WARNING: untranslated string: Captive issued coupons +WARNING: untranslated string: Captive logo uploaded +WARNING: untranslated string: Captive mac +WARNING: untranslated string: Captive menu +WARNING: untranslated string: Captive nolimit +WARNING: untranslated string: Captive please accept the terms and conditions +WARNING: untranslated string: Captive portal +WARNING: untranslated string: Captive portal coupons +WARNING: untranslated string: Captive terms +WARNING: untranslated string: Captive terms short +WARNING: untranslated string: Captive title +WARNING: untranslated string: Captive upload logo +WARNING: untranslated string: Captive upload logo recommendations +WARNING: untranslated string: Captive valid for +WARNING: untranslated string: Captive vouchervalid +WARNING: untranslated string: Captive wrong ext WARNING: untranslated string: ConnSched dial WARNING: untranslated string: ConnSched hangup WARNING: untranslated string: ConnSched reboot @@ -649,6 +684,7 @@ WARNING: untranslated string: bit WARNING: untranslated string: block WARNING: untranslated string: bytes WARNING: untranslated string: capabilities +WARNING: untranslated string: captive WARNING: untranslated string: ccd add WARNING: untranslated string: ccd choose net WARNING: untranslated string: ccd client options @@ -729,6 +765,7 @@ WARNING: untranslated string: drop action1 WARNING: untranslated string: drop action2 WARNING: untranslated string: drop forward WARNING: untranslated string: drop outgoing +WARNING: untranslated string: eight hours WARNING: untranslated string: email config WARNING: untranslated string: email empty field WARNING: untranslated string: email invalid @@ -776,6 +813,7 @@ WARNING: untranslated string: firewall logs country WARNING: untranslated string: firewall rules WARNING: untranslated string: first WARNING: untranslated string: flag +WARNING: untranslated string: four hours WARNING: untranslated string: fw default drop WARNING: untranslated string: fw settings WARNING: untranslated string: fw settings color @@ -1019,6 +1057,10 @@ WARNING: untranslated string: no hardware random number generator WARNING: untranslated string: none WARNING: untranslated string: not a valid dh key WARNING: untranslated string: notice +WARNING: untranslated string: one hour +WARNING: untranslated string: one month +WARNING: untranslated string: one week +WARNING: untranslated string: one year WARNING: untranslated string: openvpn default WARNING: untranslated string: openvpn destination port used WARNING: untranslated string: openvpn fragment allowed with udp @@ -1140,9 +1182,12 @@ WARNING: untranslated string: tor traffic limit hard WARNING: untranslated string: tor traffic limit soft WARNING: untranslated string: tor traffic read written WARNING: untranslated string: tor use exit nodes +WARNING: untranslated string: twelve hours +WARNING: untranslated string: two weeks WARNING: untranslated string: unblock WARNING: untranslated string: unblock all WARNING: untranslated string: uncheck all +WARNING: untranslated string: unlimited WARNING: untranslated string: uplink WARNING: untranslated string: uplink bit rate WARNING: untranslated string: upload dh key @@ -1208,4 +1253,6 @@ WARNING: untranslated string: wlan client wpa mode ccmp ccmp WARNING: untranslated string: wlan client wpa mode ccmp tkip WARNING: untranslated string: wlan client wpa mode tkip tkip WARNING: untranslated string: wlan clients +WARNING: untranslated string: wlanap +WARNING: untranslated string: wlanap configuration WARNING: untranslated string: wlanap country diff --git a/doc/language_issues.fr b/doc/language_issues.fr index 4a91676..eae0337 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -628,6 +628,40 @@ WARNING: translation string unused: xtaccess all error WARNING: translation string unused: xtaccess bad transfert WARNING: translation string unused: year-graph WARNING: translation string unused: yearly firewallhits +WARNING: untranslated string: 24 hours +WARNING: untranslated string: Captive ACTIVATE +WARNING: untranslated string: Captive GAIN ACCESS +WARNING: untranslated string: Captive WiFi coupon +WARNING: untranslated string: Captive activated +WARNING: untranslated string: Captive active on +WARNING: untranslated string: Captive agree tac +WARNING: untranslated string: Captive authentication +WARNING: untranslated string: Captive brand color +WARNING: untranslated string: Captive branding +WARNING: untranslated string: Captive client session expiry time +WARNING: untranslated string: Captive clients +WARNING: untranslated string: Captive config +WARNING: untranslated string: Captive coupon +WARNING: untranslated string: Captive expiry time +WARNING: untranslated string: Captive export coupons +WARNING: untranslated string: Captive generate coupons +WARNING: untranslated string: Captive generated coupon no +WARNING: untranslated string: Captive issued coupons +WARNING: untranslated string: Captive logo uploaded +WARNING: untranslated string: Captive mac +WARNING: untranslated string: Captive menu +WARNING: untranslated string: Captive nolimit +WARNING: untranslated string: Captive please accept the terms and conditions +WARNING: untranslated string: Captive portal +WARNING: untranslated string: Captive portal coupons +WARNING: untranslated string: Captive terms +WARNING: untranslated string: Captive terms short +WARNING: untranslated string: Captive title +WARNING: untranslated string: Captive upload logo +WARNING: untranslated string: Captive upload logo recommendations +WARNING: untranslated string: Captive valid for +WARNING: untranslated string: Captive vouchervalid +WARNING: untranslated string: Captive wrong ext WARNING: untranslated string: ConnSched dial WARNING: untranslated string: ConnSched hangup WARNING: untranslated string: ConnSched reboot @@ -658,6 +692,7 @@ WARNING: untranslated string: bit WARNING: untranslated string: block WARNING: untranslated string: bytes WARNING: untranslated string: capabilities +WARNING: untranslated string: captive WARNING: untranslated string: ccd add WARNING: untranslated string: ccd choose net WARNING: untranslated string: ccd client options @@ -739,6 +774,7 @@ WARNING: untranslated string: drop action1 WARNING: untranslated string: drop action2 WARNING: untranslated string: drop forward WARNING: untranslated string: drop outgoing +WARNING: untranslated string: eight hours WARNING: untranslated string: email config WARNING: untranslated string: email empty field WARNING: untranslated string: email invalid @@ -786,6 +822,7 @@ WARNING: untranslated string: firewall logs country WARNING: untranslated string: firewall rules WARNING: untranslated string: first WARNING: untranslated string: flag +WARNING: untranslated string: four hours WARNING: untranslated string: fw default drop WARNING: untranslated string: fw settings WARNING: untranslated string: fw settings color @@ -1038,6 +1075,10 @@ WARNING: untranslated string: not a valid dh key WARNING: untranslated string: notice WARNING: untranslated string: ntp common settings WARNING: untranslated string: ntp sync +WARNING: untranslated string: one hour +WARNING: untranslated string: one month +WARNING: untranslated string: one week +WARNING: untranslated string: one year WARNING: untranslated string: openvpn default WARNING: untranslated string: openvpn destination port used WARNING: untranslated string: openvpn fragment allowed with udp @@ -1154,9 +1195,12 @@ WARNING: untranslated string: tor traffic limit hard WARNING: untranslated string: tor traffic limit soft WARNING: untranslated string: tor traffic read written WARNING: untranslated string: tor use exit nodes +WARNING: untranslated string: twelve hours +WARNING: untranslated string: two weeks WARNING: untranslated string: unblock WARNING: untranslated string: unblock all WARNING: untranslated string: uncheck all +WARNING: untranslated string: unlimited WARNING: untranslated string: uplink WARNING: untranslated string: uplink bit rate WARNING: untranslated string: upload dh key @@ -1225,8 +1269,9 @@ WARNING: untranslated string: wlan client wpa mode ccmp ccmp WARNING: untranslated string: wlan client wpa mode ccmp tkip WARNING: untranslated string: wlan client wpa mode tkip tkip WARNING: untranslated string: wlan clients -WARNING: untranslated string: wlanap access point +WARNING: untranslated string: wlanap WARNING: untranslated string: wlanap channel +WARNING: untranslated string: wlanap configuration WARNING: untranslated string: wlanap country WARNING: untranslated string: wlanap debugging WARNING: untranslated string: wlanap del interface diff --git a/doc/language_issues.it b/doc/language_issues.it index 0baf400..13508b6 100644 --- a/doc/language_issues.it +++ b/doc/language_issues.it @@ -690,11 +690,46 @@ WARNING: translation string unused: web proxy configuration WARNING: translation string unused: week-graph WARNING: translation string unused: weekly firewallhits WARNING: translation string unused: wildcards +WARNING: translation string unused: wlanap access point WARNING: translation string unused: wlanap wlan services WARNING: translation string unused: xtaccess all error WARNING: translation string unused: xtaccess bad transfert WARNING: translation string unused: year-graph WARNING: translation string unused: yearly firewallhits +WARNING: untranslated string: 24 hours +WARNING: untranslated string: Captive ACTIVATE +WARNING: untranslated string: Captive GAIN ACCESS +WARNING: untranslated string: Captive WiFi coupon +WARNING: untranslated string: Captive activated +WARNING: untranslated string: Captive active on +WARNING: untranslated string: Captive agree tac +WARNING: untranslated string: Captive authentication +WARNING: untranslated string: Captive brand color +WARNING: untranslated string: Captive branding +WARNING: untranslated string: Captive client session expiry time +WARNING: untranslated string: Captive clients +WARNING: untranslated string: Captive config +WARNING: untranslated string: Captive coupon +WARNING: untranslated string: Captive expiry time +WARNING: untranslated string: Captive export coupons +WARNING: untranslated string: Captive generate coupons +WARNING: untranslated string: Captive generated coupon no +WARNING: untranslated string: Captive issued coupons +WARNING: untranslated string: Captive logo uploaded +WARNING: untranslated string: Captive mac +WARNING: untranslated string: Captive menu +WARNING: untranslated string: Captive nolimit +WARNING: untranslated string: Captive please accept the terms and conditions +WARNING: untranslated string: Captive portal +WARNING: untranslated string: Captive portal coupons +WARNING: untranslated string: Captive terms +WARNING: untranslated string: Captive terms short +WARNING: untranslated string: Captive title +WARNING: untranslated string: Captive upload logo +WARNING: untranslated string: Captive upload logo recommendations +WARNING: untranslated string: Captive valid for +WARNING: untranslated string: Captive vouchervalid +WARNING: untranslated string: Captive wrong ext WARNING: untranslated string: MTU settings WARNING: untranslated string: Number of Countries for the pie chart WARNING: untranslated string: Scan for Songs @@ -707,6 +742,7 @@ WARNING: untranslated string: advproxy group required WARNING: untranslated string: application layer gateways WARNING: untranslated string: block WARNING: untranslated string: bytes +WARNING: untranslated string: captive WARNING: untranslated string: check all WARNING: untranslated string: dhcp dns enable update WARNING: untranslated string: dhcp dns key name @@ -715,6 +751,7 @@ WARNING: untranslated string: dhcp dns update algo WARNING: untranslated string: dhcp dns update secret WARNING: untranslated string: dl client arch insecure WARNING: untranslated string: dnssec disabled warning +WARNING: untranslated string: eight hours WARNING: untranslated string: email config WARNING: untranslated string: email empty field WARNING: untranslated string: email invalid @@ -737,6 +774,7 @@ WARNING: untranslated string: firewall graph port WARNING: untranslated string: firewall log country WARNING: untranslated string: firewall log ip WARNING: untranslated string: firewall log port +WARNING: untranslated string: four hours WARNING: untranslated string: fwdfw err concon WARNING: untranslated string: fwdfw err ratecon WARNING: untranslated string: fwdfw limitconcon @@ -808,6 +846,10 @@ WARNING: untranslated string: masquerading enabled WARNING: untranslated string: messages WARNING: untranslated string: no data WARNING: untranslated string: none +WARNING: untranslated string: one hour +WARNING: untranslated string: one month +WARNING: untranslated string: one week +WARNING: untranslated string: one year WARNING: untranslated string: outgoing compression in bytes per second WARNING: untranslated string: outgoing overhead in bytes per second WARNING: untranslated string: ovpn add conf @@ -822,9 +864,12 @@ WARNING: untranslated string: routing table WARNING: untranslated string: samba join a domain WARNING: untranslated string: samba join domain WARNING: untranslated string: search +WARNING: untranslated string: twelve hours +WARNING: untranslated string: two weeks WARNING: untranslated string: unblock WARNING: untranslated string: unblock all WARNING: untranslated string: uncheck all +WARNING: untranslated string: unlimited WARNING: untranslated string: uplink bit rate WARNING: untranslated string: vpn broken WARNING: untranslated string: vpn connecting @@ -852,3 +897,5 @@ WARNING: untranslated string: wlan client method WARNING: untranslated string: wlan client password WARNING: untranslated string: wlan client tls cipher WARNING: untranslated string: wlan client tls version +WARNING: untranslated string: wlanap +WARNING: untranslated string: wlanap configuration diff --git a/doc/language_issues.nl b/doc/language_issues.nl index 4f64b5d..74590a2 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -686,11 +686,46 @@ WARNING: translation string unused: web proxy configuration WARNING: translation string unused: week-graph WARNING: translation string unused: weekly firewallhits WARNING: translation string unused: wildcards +WARNING: translation string unused: wlanap access point WARNING: translation string unused: wlanap wlan services WARNING: translation string unused: xtaccess all error WARNING: translation string unused: xtaccess bad transfert WARNING: translation string unused: year-graph WARNING: translation string unused: yearly firewallhits +WARNING: untranslated string: 24 hours +WARNING: untranslated string: Captive ACTIVATE +WARNING: untranslated string: Captive GAIN ACCESS +WARNING: untranslated string: Captive WiFi coupon +WARNING: untranslated string: Captive activated +WARNING: untranslated string: Captive active on +WARNING: untranslated string: Captive agree tac +WARNING: untranslated string: Captive authentication +WARNING: untranslated string: Captive brand color +WARNING: untranslated string: Captive branding +WARNING: untranslated string: Captive client session expiry time +WARNING: untranslated string: Captive clients +WARNING: untranslated string: Captive config +WARNING: untranslated string: Captive coupon +WARNING: untranslated string: Captive expiry time +WARNING: untranslated string: Captive export coupons +WARNING: untranslated string: Captive generate coupons +WARNING: untranslated string: Captive generated coupon no +WARNING: untranslated string: Captive issued coupons +WARNING: untranslated string: Captive logo uploaded +WARNING: untranslated string: Captive mac +WARNING: untranslated string: Captive menu +WARNING: untranslated string: Captive nolimit +WARNING: untranslated string: Captive please accept the terms and conditions +WARNING: untranslated string: Captive portal +WARNING: untranslated string: Captive portal coupons +WARNING: untranslated string: Captive terms +WARNING: untranslated string: Captive terms short +WARNING: untranslated string: Captive title +WARNING: untranslated string: Captive upload logo +WARNING: untranslated string: Captive upload logo recommendations +WARNING: untranslated string: Captive valid for +WARNING: untranslated string: Captive vouchervalid +WARNING: untranslated string: Captive wrong ext WARNING: untranslated string: MTU settings WARNING: untranslated string: Number of Countries for the pie chart WARNING: untranslated string: Scan for Songs @@ -706,6 +741,7 @@ WARNING: untranslated string: atm device WARNING: untranslated string: block WARNING: untranslated string: bytes WARNING: untranslated string: capabilities +WARNING: untranslated string: captive WARNING: untranslated string: check all WARNING: untranslated string: default WARNING: untranslated string: dh @@ -727,6 +763,7 @@ WARNING: untranslated string: dnssec not supported WARNING: untranslated string: dnssec validating WARNING: untranslated string: download tls-auth key WARNING: untranslated string: drop outgoing +WARNING: untranslated string: eight hours WARNING: untranslated string: email config WARNING: untranslated string: email empty field WARNING: untranslated string: email invalid @@ -750,6 +787,7 @@ WARNING: untranslated string: firewall log country WARNING: untranslated string: firewall log ip WARNING: untranslated string: firewall log port WARNING: untranslated string: firewall logs country +WARNING: untranslated string: four hours WARNING: untranslated string: fwdfw err concon WARNING: untranslated string: fwdfw err ratecon WARNING: untranslated string: fwdfw limitconcon @@ -840,6 +878,10 @@ WARNING: untranslated string: nameserver WARNING: untranslated string: no data WARNING: untranslated string: none WARNING: untranslated string: not a valid dh key +WARNING: untranslated string: one hour +WARNING: untranslated string: one month +WARNING: untranslated string: one week +WARNING: untranslated string: one year WARNING: untranslated string: outgoing compression in bytes per second WARNING: untranslated string: outgoing overhead in bytes per second WARNING: untranslated string: ovpn add conf @@ -868,9 +910,12 @@ WARNING: untranslated string: show tls-auth key WARNING: untranslated string: software version WARNING: untranslated string: source ip country WARNING: untranslated string: ta key +WARNING: untranslated string: twelve hours +WARNING: untranslated string: two weeks WARNING: untranslated string: unblock WARNING: untranslated string: unblock all WARNING: untranslated string: uncheck all +WARNING: untranslated string: unlimited WARNING: untranslated string: uplink bit rate WARNING: untranslated string: upload dh key WARNING: untranslated string: vendor @@ -900,3 +945,5 @@ WARNING: untranslated string: wlan client method WARNING: untranslated string: wlan client password WARNING: untranslated string: wlan client tls cipher WARNING: untranslated string: wlan client tls version +WARNING: untranslated string: wlanap +WARNING: untranslated string: wlanap configuration diff --git a/doc/language_issues.pl b/doc/language_issues.pl index d34d63f..4ade5d5 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -613,11 +613,46 @@ WARNING: translation string unused: web proxy configuration WARNING: translation string unused: week-graph WARNING: translation string unused: weekly firewallhits WARNING: translation string unused: wildcards +WARNING: translation string unused: wlanap access point WARNING: translation string unused: wlanap wlan services WARNING: translation string unused: xtaccess all error WARNING: translation string unused: xtaccess bad transfert WARNING: translation string unused: year-graph WARNING: translation string unused: yearly firewallhits +WARNING: untranslated string: 24 hours +WARNING: untranslated string: Captive ACTIVATE +WARNING: untranslated string: Captive GAIN ACCESS +WARNING: untranslated string: Captive WiFi coupon +WARNING: untranslated string: Captive activated +WARNING: untranslated string: Captive active on +WARNING: untranslated string: Captive agree tac +WARNING: untranslated string: Captive authentication +WARNING: untranslated string: Captive brand color +WARNING: untranslated string: Captive branding +WARNING: untranslated string: Captive client session expiry time +WARNING: untranslated string: Captive clients +WARNING: untranslated string: Captive config +WARNING: untranslated string: Captive coupon +WARNING: untranslated string: Captive expiry time +WARNING: untranslated string: Captive export coupons +WARNING: untranslated string: Captive generate coupons +WARNING: untranslated string: Captive generated coupon no +WARNING: untranslated string: Captive issued coupons +WARNING: untranslated string: Captive logo uploaded +WARNING: untranslated string: Captive mac +WARNING: untranslated string: Captive menu +WARNING: untranslated string: Captive nolimit +WARNING: untranslated string: Captive please accept the terms and conditions +WARNING: untranslated string: Captive portal +WARNING: untranslated string: Captive portal coupons +WARNING: untranslated string: Captive terms +WARNING: untranslated string: Captive terms short +WARNING: untranslated string: Captive title +WARNING: untranslated string: Captive upload logo +WARNING: untranslated string: Captive upload logo recommendations +WARNING: untranslated string: Captive valid for +WARNING: untranslated string: Captive vouchervalid +WARNING: untranslated string: Captive wrong ext WARNING: untranslated string: ConnSched dial WARNING: untranslated string: ConnSched hangup WARNING: untranslated string: ConnSched reboot @@ -649,6 +684,7 @@ WARNING: untranslated string: bit WARNING: untranslated string: block WARNING: untranslated string: bytes WARNING: untranslated string: capabilities +WARNING: untranslated string: captive WARNING: untranslated string: ccd add WARNING: untranslated string: ccd choose net WARNING: untranslated string: ccd client options @@ -729,6 +765,7 @@ WARNING: untranslated string: drop action1 WARNING: untranslated string: drop action2 WARNING: untranslated string: drop forward WARNING: untranslated string: drop outgoing +WARNING: untranslated string: eight hours WARNING: untranslated string: email config WARNING: untranslated string: email empty field WARNING: untranslated string: email invalid @@ -776,6 +813,7 @@ WARNING: untranslated string: firewall logs country WARNING: untranslated string: firewall rules WARNING: untranslated string: first WARNING: untranslated string: flag +WARNING: untranslated string: four hours WARNING: untranslated string: fw default drop WARNING: untranslated string: fw settings WARNING: untranslated string: fw settings color @@ -1019,6 +1057,10 @@ WARNING: untranslated string: no hardware random number generator WARNING: untranslated string: none WARNING: untranslated string: not a valid dh key WARNING: untranslated string: notice +WARNING: untranslated string: one hour +WARNING: untranslated string: one month +WARNING: untranslated string: one week +WARNING: untranslated string: one year WARNING: untranslated string: openvpn default WARNING: untranslated string: openvpn destination port used WARNING: untranslated string: openvpn fragment allowed with udp @@ -1140,9 +1182,12 @@ WARNING: untranslated string: tor traffic limit hard WARNING: untranslated string: tor traffic limit soft WARNING: untranslated string: tor traffic read written WARNING: untranslated string: tor use exit nodes +WARNING: untranslated string: twelve hours +WARNING: untranslated string: two weeks WARNING: untranslated string: unblock WARNING: untranslated string: unblock all WARNING: untranslated string: uncheck all +WARNING: untranslated string: unlimited WARNING: untranslated string: uplink WARNING: untranslated string: uplink bit rate WARNING: untranslated string: upload dh key @@ -1208,4 +1253,6 @@ WARNING: untranslated string: wlan client wpa mode ccmp ccmp WARNING: untranslated string: wlan client wpa mode ccmp tkip WARNING: untranslated string: wlan client wpa mode tkip tkip WARNING: untranslated string: wlan clients +WARNING: untranslated string: wlanap +WARNING: untranslated string: wlanap configuration WARNING: untranslated string: wlanap country diff --git a/doc/language_issues.ru b/doc/language_issues.ru index d07c421..6468d5f 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -615,11 +615,46 @@ WARNING: translation string unused: warn when traffic reaches WARNING: translation string unused: web proxy configuration WARNING: translation string unused: weekly firewallhits WARNING: translation string unused: wildcards +WARNING: translation string unused: wlanap access point WARNING: translation string unused: wlanap wlan services WARNING: translation string unused: xtaccess all error WARNING: translation string unused: xtaccess bad transfert WARNING: translation string unused: yearly firewallhits +WARNING: untranslated string: 24 hours WARNING: untranslated string: Add a route +WARNING: untranslated string: Captive ACTIVATE +WARNING: untranslated string: Captive GAIN ACCESS +WARNING: untranslated string: Captive WiFi coupon +WARNING: untranslated string: Captive activated +WARNING: untranslated string: Captive active on +WARNING: untranslated string: Captive agree tac +WARNING: untranslated string: Captive authentication +WARNING: untranslated string: Captive brand color +WARNING: untranslated string: Captive branding +WARNING: untranslated string: Captive client session expiry time +WARNING: untranslated string: Captive clients +WARNING: untranslated string: Captive config +WARNING: untranslated string: Captive coupon +WARNING: untranslated string: Captive expiry time +WARNING: untranslated string: Captive export coupons +WARNING: untranslated string: Captive generate coupons +WARNING: untranslated string: Captive generated coupon no +WARNING: untranslated string: Captive issued coupons +WARNING: untranslated string: Captive logo uploaded +WARNING: untranslated string: Captive mac +WARNING: untranslated string: Captive menu +WARNING: untranslated string: Captive nolimit +WARNING: untranslated string: Captive please accept the terms and conditions +WARNING: untranslated string: Captive portal +WARNING: untranslated string: Captive portal coupons +WARNING: untranslated string: Captive terms +WARNING: untranslated string: Captive terms short +WARNING: untranslated string: Captive title +WARNING: untranslated string: Captive upload logo +WARNING: untranslated string: Captive upload logo recommendations +WARNING: untranslated string: Captive valid for +WARNING: untranslated string: Captive vouchervalid +WARNING: untranslated string: Captive wrong ext WARNING: untranslated string: ConnSched dial WARNING: untranslated string: ConnSched hangup WARNING: untranslated string: ConnSched reboot @@ -651,6 +686,7 @@ WARNING: untranslated string: bit WARNING: untranslated string: block WARNING: untranslated string: bytes WARNING: untranslated string: capabilities +WARNING: untranslated string: captive WARNING: untranslated string: ccd add WARNING: untranslated string: ccd choose net WARNING: untranslated string: ccd client options @@ -733,6 +769,7 @@ WARNING: untranslated string: drop action1 WARNING: untranslated string: drop action2 WARNING: untranslated string: drop forward WARNING: untranslated string: drop outgoing +WARNING: untranslated string: eight hours WARNING: untranslated string: email config WARNING: untranslated string: email empty field WARNING: untranslated string: email invalid @@ -770,6 +807,7 @@ WARNING: untranslated string: firewall logs country WARNING: untranslated string: firewall rules WARNING: untranslated string: first WARNING: untranslated string: flag +WARNING: untranslated string: four hours WARNING: untranslated string: fw default drop WARNING: untranslated string: fw settings WARNING: untranslated string: fw settings color @@ -1021,6 +1059,10 @@ WARNING: untranslated string: no hardware random number generator WARNING: untranslated string: none WARNING: untranslated string: not a valid dh key WARNING: untranslated string: notice +WARNING: untranslated string: one hour +WARNING: untranslated string: one month +WARNING: untranslated string: one week +WARNING: untranslated string: one year WARNING: untranslated string: openvpn default WARNING: untranslated string: openvpn destination port used WARNING: untranslated string: openvpn fragment allowed with udp @@ -1135,9 +1177,12 @@ WARNING: untranslated string: tor traffic limit hard WARNING: untranslated string: tor traffic limit soft WARNING: untranslated string: tor traffic read written WARNING: untranslated string: tor use exit nodes +WARNING: untranslated string: twelve hours +WARNING: untranslated string: two weeks WARNING: untranslated string: unblock WARNING: untranslated string: unblock all WARNING: untranslated string: uncheck all +WARNING: untranslated string: unlimited WARNING: untranslated string: uplink WARNING: untranslated string: uplink bit rate WARNING: untranslated string: upload dh key @@ -1203,4 +1248,6 @@ WARNING: untranslated string: wlan client wpa mode ccmp ccmp WARNING: untranslated string: wlan client wpa mode ccmp tkip WARNING: untranslated string: wlan client wpa mode tkip tkip WARNING: untranslated string: wlan clients +WARNING: untranslated string: wlanap +WARNING: untranslated string: wlanap configuration WARNING: untranslated string: wlanap country diff --git a/doc/language_issues.tr b/doc/language_issues.tr index 034dd2a..ade6c89 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -698,21 +698,59 @@ WARNING: translation string unused: web proxy configuration WARNING: translation string unused: week-graph WARNING: translation string unused: weekly firewallhits WARNING: translation string unused: wildcards +WARNING: translation string unused: wlanap access point WARNING: translation string unused: wlanap wlan services WARNING: translation string unused: xtaccess all error WARNING: translation string unused: xtaccess bad transfert WARNING: translation string unused: year-graph WARNING: translation string unused: yearly firewallhits +WARNING: untranslated string: 24 hours +WARNING: untranslated string: Captive ACTIVATE +WARNING: untranslated string: Captive GAIN ACCESS +WARNING: untranslated string: Captive WiFi coupon +WARNING: untranslated string: Captive activated +WARNING: untranslated string: Captive active on +WARNING: untranslated string: Captive agree tac +WARNING: untranslated string: Captive authentication +WARNING: untranslated string: Captive brand color +WARNING: untranslated string: Captive branding +WARNING: untranslated string: Captive client session expiry time +WARNING: untranslated string: Captive clients +WARNING: untranslated string: Captive config +WARNING: untranslated string: Captive coupon +WARNING: untranslated string: Captive expiry time +WARNING: untranslated string: Captive export coupons +WARNING: untranslated string: Captive generate coupons +WARNING: untranslated string: Captive generated coupon no +WARNING: untranslated string: Captive issued coupons +WARNING: untranslated string: Captive logo uploaded +WARNING: untranslated string: Captive mac +WARNING: untranslated string: Captive menu +WARNING: untranslated string: Captive nolimit +WARNING: untranslated string: Captive please accept the terms and conditions +WARNING: untranslated string: Captive portal +WARNING: untranslated string: Captive portal coupons +WARNING: untranslated string: Captive terms +WARNING: untranslated string: Captive terms short +WARNING: untranslated string: Captive title +WARNING: untranslated string: Captive upload logo +WARNING: untranslated string: Captive upload logo recommendations +WARNING: untranslated string: Captive valid for +WARNING: untranslated string: Captive vouchervalid +WARNING: untranslated string: Captive wrong ext WARNING: untranslated string: Scan for Songs WARNING: untranslated string: application layer gateways WARNING: untranslated string: bytes +WARNING: untranslated string: captive WARNING: untranslated string: dnssec disabled warning +WARNING: untranslated string: eight hours WARNING: untranslated string: firewall graph country WARNING: untranslated string: firewall graph ip WARNING: untranslated string: firewall graph port WARNING: untranslated string: firewall log country WARNING: untranslated string: firewall log ip WARNING: untranslated string: firewall log port +WARNING: untranslated string: four hours WARNING: untranslated string: fwhost cust geoipgrp WARNING: untranslated string: fwhost err hostip WARNING: untranslated string: guardian @@ -755,10 +793,17 @@ WARNING: untranslated string: guardian watch snort alertfile WARNING: untranslated string: ike lifetime should be between 1 and 8 hours WARNING: untranslated string: info messages WARNING: untranslated string: no data +WARNING: untranslated string: one hour +WARNING: untranslated string: one month +WARNING: untranslated string: one week +WARNING: untranslated string: one year WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added WARNING: untranslated string: routing config changed WARNING: untranslated string: routing table +WARNING: untranslated string: twelve hours +WARNING: untranslated string: two weeks +WARNING: untranslated string: unlimited WARNING: untranslated string: uplink bit rate WARNING: untranslated string: vpn broken WARNING: untranslated string: vpn connecting @@ -783,3 +828,5 @@ WARNING: untranslated string: wlan client method WARNING: untranslated string: wlan client password WARNING: untranslated string: wlan client tls cipher WARNING: untranslated string: wlan client tls version +WARNING: untranslated string: wlanap +WARNING: untranslated string: wlanap configuration diff --git a/doc/language_missings b/doc/language_missings index fd372c1..2fc918c 100644 --- a/doc/language_missings +++ b/doc/language_missings @@ -2,6 +2,10 @@ # Checking cgi-bin translations for language: en # ############################################################################ < addon +< Captive clients +< Captive genvoucher +< Captive logo_upload +< Captive logo_upload1 < ccd maxclients < ovpn_fragment ############################################################################ @@ -32,6 +36,60 @@ < bit < block < capabilities +< Captive 1day +< Captive 1month +< Captive 1week +< Captive activate +< Captive ACTIVATE +< Captive activated +< Captive active on +< Captive agree tac +< Captive authentication +< Captive auth_lic +< Captive auth_vou +< Captive brand color +< Captive branding +< Captive clients +< Captive client session expiry time +< Captive config +< Captive coupon +< Captive err doublevoucher +< Captive expire +< Captive expiry time +< Captive export coupons +< Captive GAIN ACCESS +< Captive generate coupons +< Captive generated coupon no +< Captive genvoucher +< Captive invalid logosize +< Captive invalid_voucher +< Captive ip +< Captive issued coupons +< Captive logo_set +< Captive logo_upload +< Captive logo_upload1 +< Captive logo uploaded +< Captive mac +< Captive menu +< Captive noexpiretime +< Captive nolimit +< Captive nr +< Captive please accept the terms and conditions +< Captive portal +< Captive portal coupons +< Captive terms +< Captive terms short +< Captive time +< Captive title +< Captive upload logo +< Captive upload logo recommendations +< Captive valid for +< Captive voactive +< Captive voucher +< Captive vouchervalid +< Captive vout +< Captive WiFi coupon +< Captive wrong ext < ccd add < ccd choose net < ccd clientip @@ -121,6 +179,7 @@ < drop action2 < drop forward < drop outgoing +< eight hours < email config < email empty field < email error @@ -172,6 +231,7 @@ < first < flag < forward firewall +< four hours < fw default drop < fwdfw ACCEPT < fwdfw action @@ -432,6 +492,7 @@ < ntp common settings < ntp sync < Number of Countries for the pie chart +< one year < openvpn default < openvpn destination port used < openvpn disabled @@ -552,6 +613,8 @@ < tor traffic limit soft < tor traffic read written < tor use exit nodes +< twelve hours +< two weeks < unblock < unblock all < uncheck all @@ -579,8 +642,9 @@ < vpn statistic rw < vpn weak < wireless network -< wlanap access point +< wlanap < wlanap channel +< wlanap configuration < wlanap country < wlanap debugging < wlanap del interface @@ -674,6 +738,60 @@ < bit < block < capabilities +< Captive 1day +< Captive 1month +< Captive 1week +< Captive activate +< Captive ACTIVATE +< Captive activated +< Captive active on +< Captive agree tac +< Captive authentication +< Captive auth_lic +< Captive auth_vou +< Captive brand color +< Captive branding +< Captive clients +< Captive client session expiry time +< Captive config +< Captive coupon +< Captive err doublevoucher +< Captive expire +< Captive expiry time +< Captive export coupons +< Captive GAIN ACCESS +< Captive generate coupons +< Captive generated coupon no +< Captive genvoucher +< Captive invalid logosize +< Captive invalid_voucher +< Captive ip +< Captive issued coupons +< Captive logo_set +< Captive logo_upload +< Captive logo_upload1 +< Captive logo uploaded +< Captive mac +< Captive menu +< Captive noexpiretime +< Captive nolimit +< Captive nr +< Captive please accept the terms and conditions +< Captive portal +< Captive portal coupons +< Captive terms +< Captive terms short +< Captive time +< Captive title +< Captive upload logo +< Captive upload logo recommendations +< Captive valid for +< Captive voactive +< Captive voucher +< Captive vouchervalid +< Captive vout +< Captive WiFi coupon +< Captive wrong ext < ccd add < ccd choose net < ccd clientip @@ -762,6 +880,7 @@ < drop action2 < drop forward < drop outgoing +< eight hours < email config < email empty field < email error @@ -813,6 +932,7 @@ < first < flag < forward firewall +< four hours < fw default drop < fwdfw ACCEPT < fwdfw action @@ -1061,6 +1181,7 @@ < not a valid dh key < notice < Number of Countries for the pie chart +< one year < openvpn default < openvpn destination port used < openvpn disabled @@ -1199,6 +1320,8 @@ < tor traffic limit soft < tor traffic read written < tor use exit nodes +< twelve hours +< two weeks < unblock < unblock all < uncheck all @@ -1223,6 +1346,8 @@ < vpn statistic rw < vpn weak < wireless network +< wlanap +< wlanap configuration < wlanap country < wlan client < wlan client advanced settings @@ -1297,6 +1422,60 @@ < bit < block < capabilities +< Captive 1day +< Captive 1month +< Captive 1week +< Captive activate +< Captive ACTIVATE +< Captive activated +< Captive active on +< Captive agree tac +< Captive authentication +< Captive auth_lic +< Captive auth_vou +< Captive brand color +< Captive branding +< Captive clients +< Captive client session expiry time +< Captive config +< Captive coupon +< Captive err doublevoucher +< Captive expire +< Captive expiry time +< Captive export coupons +< Captive GAIN ACCESS +< Captive generate coupons +< Captive generated coupon no +< Captive genvoucher +< Captive invalid logosize +< Captive invalid_voucher +< Captive ip +< Captive issued coupons +< Captive logo_set +< Captive logo_upload +< Captive logo_upload1 +< Captive logo uploaded +< Captive mac +< Captive menu +< Captive noexpiretime +< Captive nolimit +< Captive nr +< Captive please accept the terms and conditions +< Captive portal +< Captive portal coupons +< Captive terms +< Captive terms short +< Captive time +< Captive title +< Captive upload logo +< Captive upload logo recommendations +< Captive valid for +< Captive voactive +< Captive voucher +< Captive vouchervalid +< Captive vout +< Captive WiFi coupon +< Captive wrong ext < ccd add < ccd choose net < ccd clientip @@ -1385,6 +1564,7 @@ < drop action2 < drop forward < drop outgoing +< eight hours < email config < email empty field < email error @@ -1428,6 +1608,7 @@ < first < flag < forward firewall +< four hours < fw default drop < fwdfw ACCEPT < fwdfw action @@ -1686,6 +1867,7 @@ < not a valid dh key < notice < Number of Countries for the pie chart +< one year < openvpn default < openvpn destination port used < openvpn disabled @@ -1808,6 +1990,8 @@ < tor traffic limit soft < tor traffic read written < tor use exit nodes +< twelve hours +< two weeks < unblock < unblock all < uncheck all @@ -1832,6 +2016,8 @@ < vpn statistic rw < vpn weak < wireless network +< wlanap +< wlanap configuration < wlanap country < wlan client < wlan client advanced settings @@ -1907,6 +2093,60 @@ < bit < block < capabilities +< Captive 1day +< Captive 1month +< Captive 1week +< Captive activate +< Captive ACTIVATE +< Captive activated +< Captive active on +< Captive agree tac +< Captive authentication +< Captive auth_lic +< Captive auth_vou +< Captive brand color +< Captive branding +< Captive clients +< Captive client session expiry time +< Captive config +< Captive coupon +< Captive err doublevoucher +< Captive expire +< Captive expiry time +< Captive export coupons +< Captive GAIN ACCESS +< Captive generate coupons +< Captive generated coupon no +< Captive genvoucher +< Captive invalid logosize +< Captive invalid_voucher +< Captive ip +< Captive issued coupons +< Captive logo_set +< Captive logo_upload +< Captive logo_upload1 +< Captive logo uploaded +< Captive mac +< Captive menu +< Captive noexpiretime +< Captive nolimit +< Captive nr +< Captive please accept the terms and conditions +< Captive portal +< Captive portal coupons +< Captive terms +< Captive terms short +< Captive time +< Captive title +< Captive upload logo +< Captive upload logo recommendations +< Captive valid for +< Captive voactive +< Captive voucher +< Captive vouchervalid +< Captive vout +< Captive WiFi coupon +< Captive wrong ext < ccd add < ccd choose net < ccd clientip @@ -1998,6 +2238,7 @@ < drop forward < drop outgoing < Edit an existing route +< eight hours < email config < email empty field < email error @@ -2041,6 +2282,7 @@ < first < flag < forward firewall +< four hours < frequency < fw default drop < fwdfw ACCEPT @@ -2303,6 +2545,7 @@ < not a valid dh key < notice < Number of Countries for the pie chart +< one year < openvpn default < openvpn destination port used < openvpn disabled @@ -2422,6 +2665,8 @@ < tor traffic limit soft < tor traffic read written < tor use exit nodes +< twelve hours +< two weeks < unblock < unblock all < uncheck all @@ -2447,6 +2692,8 @@ < vpn weak < week-graph < wireless network +< wlanap +< wlanap configuration < wlanap country < wlan client < wlan client advanced settings diff --git a/html/cgi-bin/captive.cgi b/html/cgi-bin/captive.cgi new file mode 100755 index 0000000..242549d --- /dev/null +++ b/html/cgi-bin/captive.cgi @@ -0,0 +1,794 @@ +#!/usr/bin/perl +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2016 IPFire Team alexander.marx@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/. # +# # +############################################################################### + +#use strict; +use Encode; +use HTML::Entities(); +use File::Basename; +use PDF::API2; +use constant mm => 25.4 / 72; + +# enable only the following on debugging purpose +#use warnings; +#use CGI::Carp 'fatalsToBrowser'; + +require '/var/ipfire/general-functions.pl'; +require "${General::swroot}/lang.pl"; +require "${General::swroot}/header.pl"; + +my %session_times = ( + 3600 => $Lang::tr{'one hour'}, + 14400 => $Lang::tr{'four hours'}, + 28800 => $Lang::tr{'eight hours'}, + 43200 => $Lang::tr{'twelve hours'}, + 86400 => $Lang::tr{'24 hours'}, + 604800 => $Lang::tr{'one week'}, + 1209600 => $Lang::tr{'two weeks'}, + 18144000 => $Lang::tr{'one month'}, + 31536000 => $Lang::tr{'one year'}, + 0 => "- $Lang::tr{'unlimited'} -", +); + +my %selected = (); + +my $coupons = "${General::swroot}/captive/coupons"; +my %couponhash = (); + +my $logo = "${General::swroot}/captive/logo.dat"; + +my %settings=(); +my %mainsettings; +my %color; +my %cgiparams=(); +my %netsettings=(); +my %checked=(); +my $errormessage=''; +my $clients="${General::swroot}/captive/clients"; +my %clientshash=(); +my $settingsfile="${General::swroot}/captive/settings"; +unless (-e $settingsfile) { system("touch $settingsfile"); } + +&Header::getcgihash(%cgiparams); + +&General::readhash("${General::swroot}/main/settings", %mainsettings); +&General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", %color); +&General::readhash("$settingsfile", %settings) if(-f $settingsfile); +&General::readhash("${General::swroot}/ethernet/settings", %netsettings); + +if ($cgiparams{'ACTION'} eq "export-coupons") { + my $pdf = &generate_pdf(); + + print "Content-Type: application/pdf\n"; + print "Content-Disposition: attachment; filename=captive-portal-coupons.pdf\n"; + print "\n"; # end headers + + # Send PDF + print $pdf; + + exit(0); +} + + +&Header::showhttpheaders(); + +if ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) { + my $file = $cgiparams{'logo'}; + if ($file) { + # Check if the file extension is PNG/JPEG + chomp $file; + + my ($name, $path, $ext) = fileparse($file, qr/.[^.]*$/); + if ($ext ne ".png" && $ext ne ".jpg" && $ext ne ".jpeg") { + $errormessage = $Lang::tr{'Captive wrong ext'}; + } + } + + $settings{'ENABLE_GREEN'} = $cgiparams{'ENABLE_GREEN'}; + $settings{'ENABLE_BLUE'} = $cgiparams{'ENABLE_BLUE'}; + $settings{'AUTH'} = $cgiparams{'AUTH'}; + $settings{'TITLE'} = $cgiparams{'TITLE'}; + $settings{'COLOR'} = $cgiparams{'COLOR'}; + $settings{'SESSION_TIME'} = $cgiparams{'SESSION_TIME'}; + + if (!$errormessage){ + #Check if we need to upload a new logo + if ($file) { + # Save logo + my ($filehandle) = CGI::upload("logo"); + + # XXX check filesize + + open(FILE, ">$logo"); + binmode $filehandle; + while (<$filehandle>) { + print FILE; + } + close(FILE); + } + + &General::writehash("$settingsfile", %settings); + + # Save terms + $cgiparams{'TERMS'} = &Header::escape($cgiparams{'TERMS'}); + open(FH, ">:utf8", "/var/ipfire/captive/terms.txt") or die("$!"); + print FH $cgiparams{'TERMS'}; + close(FH); + $cgiparams{'TERMS'} = ""; + + #execute binary to reload firewall rules + system("/usr/local/bin/captivectrl"); + + if ($cgiparams{'ENABLE_BLUE'} eq 'on'){ + system("/usr/local/bin/wirelessctrl"); + } + } +} + +if ($cgiparams{'ACTION'} eq "$Lang::tr{'Captive generate coupons'}") { + #check valid remark + if ($cgiparams{'REMARK'} ne '' && !&validremark($cgiparams{'REMARK'})){ + $errormessage=$Lang::tr{'fwhost err remark'}; + } + + if (!$errormessage) { + # Remember selected values + foreach my $val (("SESSION_TIME", "COUNT", "REMARK")) { + $settings{$val} = $cgiparams{$val}; + } + &General::writehash($settingsfile, %settings); + + &General::readhasharray($coupons, %couponhash) if (-e $coupons); + my $now = time(); + + # Expiry time in seconds + my $expires = $settings{'SESSION_TIME'}; + + my $count = $settings{'COUNT'} || 1; + while($count-- > 0) { + # Generate a new code + my $code = &gencode(); + + # Check if the coupon code already exists + foreach my $key (keys %couponhash) { + if($couponhash{$key}[1] eq $code) { + # Code already exists, so try again + $code = ""; + $count++; + last; + } + } + + next if ($code eq ""); + + # Get a new key from hash + my $key = &General::findhasharraykey(%couponhash); + + # Initialize all fields + foreach my $i (0 .. 3) { $couponhash{$key}[$i] = ""; } + + $couponhash{$key}[0] = $now; + $couponhash{$key}[1] = $code; + $couponhash{$key}[2] = $expires; + $couponhash{$key}[3] = $settings{'REMARK'}; + } + + # Save everything to disk + &General::writehasharray($coupons, %couponhash); + } +} + +if ($cgiparams{'ACTION'} eq 'delete-coupon') { + #deletes an already generated but unused voucher + + #read all generated vouchers + &General::readhasharray($coupons, %couponhash) if (-e $coupons); + foreach my $key (keys %couponhash) { + if($cgiparams{'key'} eq $couponhash{$key}[0]){ + #write logenty with decoded remark + my $rem=HTML::Entities::decode_entities($couponhash{$key}[4]); + &General::log("Captive", "Delete unused coupon $couponhash{$key}[1] $couponhash{$key}[2] hours valid expires on $couponhash{$key}[3] remark $rem"); + #delete line from hash + delete $couponhash{$key}; + last; + } + } + #write back hash + &General::writehasharray($coupons, %couponhash); +} + +if ($cgiparams{'ACTION'} eq 'delete-client') { + #delete voucher and connection in use + + #read all active clients + &General::readhasharray($clients, %clientshash) if (-e $clients); + foreach my $key (keys %clientshash) { + if($cgiparams{'key'} eq $clientshash{$key}[0]){ + #prepare log entry with decoded remark + my $rem=HTML::Entities::decode_entities($clientshash{$key}[7]); + #write logentry + &General::log("Captive", "Deleted client in use $clientshash{$key}[1] $clientshash{$key}[2] hours valid expires on $clientshash{$key}[3] remark $rem - Connection will be terminated"); + #delete line from hash + delete $clientshash{$key}; + last; + } + } + #write back hash + &General::writehasharray("$clients", %clientshash); + #reload firewallrules to kill connection of client + system("/usr/local/bin/captivectrl"); +} + +#open webpage, print header and open box +&Header::openpage($Lang::tr{'Captive menu'}, 1, ''); +&Header::openbigbox(); + +# If an error message exists, show a box with the error message +if ($errormessage) { + &Header::openbox('100%', 'left', $Lang::tr{'error messages'}); + print $errormessage; + &Header::closebox(); +} + +# Prints the config box on the website +&Header::openbox('100%', 'left', $Lang::tr{'Captive config'}); +print <<END + <form method='post' action='$ENV{'SCRIPT_NAME'}' enctype="multipart/form-data">\n + <table width='100%' border="0"> +END +; + +#check which parameters have to be enabled (from settings file) +$checked{'ENABLE_GREEN'}{'off'} = ''; +$checked{'ENABLE_GREEN'}{'on'} = ''; +$checked{'ENABLE_GREEN'}{$settings{'ENABLE_GREEN'}} = "checked='checked'"; + +$checked{'ENABLE_BLUE'}{'off'} = ''; +$checked{'ENABLE_BLUE'}{'on'} = ''; +$checked{'ENABLE_BLUE'}{$settings{'ENABLE_BLUE'}} = "checked='checked'"; + +$checked{'UNLIMITED'}{'off'} = ''; +$checked{'UNLIMITED'}{'on'} = ''; +$checked{'UNLIMITED'}{$settings{'UNLIMITED'}} = "checked='checked'"; + +$selected{'AUTH'} = (); +$selected{'AUTH'}{'COUPON'} = ""; +$selected{'AUTH'}{'TERMS'} = ""; +$selected{'AUTH'}{$settings{'AUTH'}} = "selected"; + +if ($netsettings{'GREEN_DEV'}){ + print <<END; + <tr> + <td width='30%'> + $Lang::tr{'Captive active on'} + <font color='$Header::colourgreen'>$Lang::tr{'green'}</font> + </td> + <td> + <input type='checkbox' name='ENABLE_GREEN' $checked{'ENABLE_GREEN'}{'on'} /> + </td> + </tr> +END +} + +if ($netsettings{'BLUE_DEV'}){ + print <<END; + <tr> + <td width='30%'> + $Lang::tr{'Captive active on'} + <font color='$Header::colourblue'>$Lang::tr{'blue'}</font> + </td> + <td> + <input type='checkbox' name='ENABLE_BLUE' $checked{'ENABLE_BLUE'}{'on'} /> + </td> + </tr> +END +} + +print<<END + <tr> + <td> + $Lang::tr{'Captive authentication'} + </td> + <td> + <select name='AUTH'> + <option value="TERMS" $selected{'AUTH'}{'TERMS'} >$Lang::tr{'Captive terms'}</option> + <option value="COUPON" $selected{'AUTH'}{'COUPON'}>$Lang::tr{'Captive coupon'}</option> + </select> + </td> + </tr> +END +; + +if ($settings{'AUTH'} eq 'TERMS') { + $selected{'SESSION_TIME'} = (); + foreach my $session_time (keys %session_times) { + $selected{'SESSION_TIME'}{$session_time} = ""; + } + $selected{'SESSION_TIME'}{$settings{'SESSION_TIME'}} = "selected"; + + print <<END; + <tr> + <td>$Lang::tr{'Captive client session expiry time'}</td> + <td> + <select name="SESSION_TIME"> +END + + foreach my $session_time (sort { $a <=> $b } keys %session_times) { + print <<END; + <option value="$session_time" $selected{'SESSION_TIME'}{$session_time}> + $session_times{$session_time} + </option> +END + } + + print <<END; + </select> + </td> + </tr> +END +} + +print<<END; + <tr> + <td colspan="2"> + <br> + <strong>$Lang::tr{'Captive branding'}</strong> + </td> + </tr> + <tr> + <td> + $Lang::tr{'Captive title'} + </td> + <td> + <input type='text' name='TITLE' value="$settings{'TITLE'}" size='40'> + </td> + </tr> + <tr> + <td>$Lang::tr{'Captive brand color'}</td> + <td> + <input type="color" name="COLOR" value="$settings{'COLOR'}"> + </td> + </tr> + <tr> + <td> + $Lang::tr{'Captive upload logo'} + </td> + <td> + <input type="file" name="logo"> + <br>$Lang::tr{'Captive upload logo recommendations'} + </td> + </tr> +END + +if (-e $logo) { + print <<END; + <tr> + <td>$Lang::tr{'Captive logo uploaded'}</td> + <td>$Lang::tr{'yes'}</td> + </tr> +END +} + +my $terms = &getterms(); +print <<END; + <tr> + <td>$Lang::tr{'Captive terms'}</td> + <td> + <textarea cols="50" rows="10" name="TERMS">$terms</textarea> + </td> + </tr> + <tr> + <td></td> + <td align='right'> + <input type='submit' name='ACTION' value="$Lang::tr{'save'}"/> + </td> + </tr> + </table></form> +END + +&Header::closebox(); + +#if settings is set to use coupons, the coupon part has to be displayed +if ($settings{'AUTH'} eq 'COUPON') { + &coupons(); +} + +# Show active clients +&show_clients(); + +sub getterms() { + my @ret; + + open(FILE, "<:utf8", "/var/ipfire/captive/terms.txt"); + while(<FILE>) { + push(@ret, HTML::Entities::decode_entities($_)); + } + close(FILE); + + return join(/\n/, @ret); +} + +sub gencode(){ + #generate a random code only letters from A-Z except 'O' and 0-9 + my @chars = ("A".."N", "P".."Z", "0".."9"); + my $randomstring; + $randomstring .= $chars[rand @chars] for 1..8; + return $randomstring; +} + +sub coupons() { + &Header::openbox('100%', 'left', $Lang::tr{'Captive generate coupons'}); + + $selected{'SESSION_TIME'} = (); + foreach my $session_time (keys %session_times) { + $selected{'SESSION_TIME'}{$session_time} = ""; + } + $selected{'SESSION_TIME'}{$settings{'SESSION_TIME'}} = "selected"; + + print <<END; + <form method='post' action='$ENV{'SCRIPT_NAME'}'> + <table border='0' width='100%'> + <tr> + <td width='30%'> + $Lang::tr{'Captive vouchervalid'} + </td> + <td width='70%'> + <select name="SESSION_TIME"> +END + + foreach my $session_time (sort { $a <=> $b } keys %session_times) { + print <<END; + <option value="$session_time" $selected{'SESSION_TIME'}{$session_time}> + $session_times{$session_time} + </option> +END + } + + print <<END; + </select> + </td> + </tr> + <tr> + <td>$Lang::tr{'remark'}</td> + <td> + <input type='text' name='REMARK' size=40> + </td> + </tr> + <tr> + <td>$Lang::tr{'Captive generated coupon no'}</td> + <td> + <select name="COUNT"> + <option value="1">1</option> + <option value="2">2</option> + <option value="3">3</option> + <option value="4">4</option> + <option value="5">5</option> + <option value="6">6</option> + <option value="7">7</option> + <option value="8">8</option> + <option value="9">9</option> + <option value="10">10</option> + <option value="20">20</option> + <option value="50">50</option> + <option value="100">100</option> + </select> + </td> + </tr> + </table> + + <div align="right"> + <input type="submit" name="ACTION" value="$Lang::tr{'Captive generate coupons'}"> + </div> + </form> +END + + &Header::closebox(); + + # Show all coupons if exist + if (! -z $coupons) { + &show_coupons(); + } +} + +sub show_coupons() { + &General::readhasharray($coupons, %couponhash) if (-e $coupons); + + #if there are already generated but unsused coupons, print a table + &Header::openbox('100%', 'left', $Lang::tr{'Captive issued coupons'}); + + print <<END; + <table class='tbl' border='0'> + <tr> + <th align='center' width='15%'> + $Lang::tr{'Captive coupon'} + </th> + <th align='center' width='15%'>$Lang::tr{'Captive expiry time'}</th> + <th align='center' width='65%'>$Lang::tr{'remark'}</th> + <th align='center' width='5%'>$Lang::tr{'delete'}</th> + </tr> +END + + foreach my $key (keys %couponhash) { + my $expirytime = $Lang::tr{'Captive nolimit'}; + if ($couponhash{$key}[2] > 0) { + $expirytime = &General::format_time($couponhash{$key}[2]); + } + + if ($count++ % 2) { + $col="bgcolor='$color{'color20'}'"; + } else { + $col="bgcolor='$color{'color22'}'"; + } + + print <<END; + <tr> + <td $col align="center"> + <b>$couponhash{$key}[1]</b> + </td> + <td $col align="center"> + $expirytime + </td> + <td $col align="center"> + $couponhash{$key}[3] + </td> + <td $col align="center"> + <form method='post'> + <input type='image' src='/images/delete.gif' align='middle' alt='$Lang::tr{'delete'}' title='$Lang::tr{'delete'}' /> + <input type='hidden' name='ACTION' value='delete-coupon' /> + <input type='hidden' name='key' value='$couponhash{$key}[0]' /> + </form> + </td> + </tr> +END + } + + print "</table>"; + + # Download PDF + print <<END; + <div align="right"> + <form method="POST"> + <input type="hidden" name="ACTION" value="export-coupons"> + <input type="submit" value="$Lang::tr{'Captive export coupons'}"> + </form> + </div> +END + + &Header::closebox(); +} + +sub show_clients() { + # if there are active clients which use coupons show table + return if ( -z $clients || ! -f $clients ); + + my $count=0; + my $col; + + &Header::openbox('100%', 'left', $Lang::tr{'Captive clients'}); + + print <<END; + <table class='tbl' width='100%'> + <tr> + <th align='center' width='15%'>$Lang::tr{'Captive coupon'}</th> + <th align='center' width='15%'>$Lang::tr{'Captive activated'}</th> + <th align='center' width='15%'>$Lang::tr{'Captive expiry time'}</th> + <th align='center' width='10%'>$Lang::tr{'Captive mac'}</th> + <th align='center' width='43%'>$Lang::tr{'remark'}</th> + <th align='center' width='5%'>$Lang::tr{'delete'}</th> + </tr> +END + + &General::readhasharray($clients, %clientshash) if (-e $clients); + foreach my $key (keys %clientshash) { + #calculate time from clientshash (starttime) + my $starttime = sub{sprintf '%02d.%02d.%04d %02d:%02d', $_[3], $_[4]+1, $_[5]+1900, $_[2], $_[1] }->(localtime($clientshash{$key}[2])); + + #calculate endtime from clientshash + my $endtime; + if ($clientshash{$key}[3] eq '0'){ + $endtime=$Lang::tr{'Captive nolimit'}; + } else { + $endtime = sub{sprintf '%02d.%02d.%04d %02d:%02d', $_[3], $_[4]+1, $_[5]+1900, $_[2], $_[1] }->(localtime($clientshash{$key}[2]+$clientshash{$key}[3])); + } + + if ($count++ % 2) { + $col="bgcolor='$color{'color20'}'"; + } else { + $col="bgcolor='$color{'color22'}'"; + } + + my $coupon = ($clientshash{$key}[4] eq "LICENSE") ? $Lang::tr{'Captive terms short'} : $clientshash{$key}[4]; + + print <<END; + <tr> + <td $col align="center"><b>$coupon</b></td> + <td $col align="center">$starttime</td> + <td $col align="center">$endtime</td> + <td $col align="center">$clientshash{$key}[0]</td> + <td $col align="center">$clientshash{$key}[5]</td> + <td $col align="center"> + <form method='post'> + <input type='image' src='/images/delete.gif' align='middle' alt='$Lang::tr{'delete'}' title='$Lang::tr{'delete'}' /> + <input type='hidden' name='ACTION' value='delete-client' /> + <input type='hidden' name='key' value='$clientshash{$key}[0]' /> + </form> + </td> + </tr> +END + } + + print "</table>"; + + &Header::closebox(); +} + +sub validremark +{ + # Checks a hostname against RFC1035 + my $remark = $_[0]; + # Each part should be at least two characters in length + # but no more than 63 characters + if (length ($remark) < 1 || length ($remark) > 255) { + return 0;} + # Only valid characters are a-z, A-Z, 0-9 and - + if ($remark !~ /^[a-zäöüA-ZÖÄÜ0-9-.:;|_()/\s]*$/) { + return 0;} + # First character can only be a letter or a digit + if (substr ($remark, 0, 1) !~ /^[a-zäöüA-ZÖÄÜ0-9]*$/) { + return 0;} + # Last character can only be a letter or a digit + if (substr ($remark, -1, 1) !~ /^[a-zöäüA-ZÖÄÜ0-9.:;_)]*$/) { + return 0;} + return 1; +} + +sub generate_pdf() { + my $pdf = PDF::API2->new(); + + my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime(time); + my $timestamp = sprintf("D:%04d%02d%02d%02d%02d%02d+00;00", $year+1900, $mon+1, $mday, $hour, $min, $sec); + + $pdf->info( + "Creator" => $Lang::tr{'Captive portal'}, + "Title" => $Lang::tr{'Captive portal coupons'}, + "CreationDate" => $timestamp, + "ModDate" => $timestamp, + ); + + # Set page size + $pdf->mediabox("A4"); + $pdf->trimbox(28/mm, 27/mm, 182/mm, 270/mm); + + # Set font + my $font = $pdf->ttfont("/usr/share/fonts/Ubuntu-R.ttf"); + + my $page_h_margin = 27/mm; + my $page_v_margin = 28/mm; + + my $height = 68/mm; + my $width = 91/mm; + my $margin = 2/mm; + + # Tux Image + my $tux_image = $pdf->image_png("/srv/web/ipfire/html/captive/assets/ipfire.png"); + my $logo_height = 12/mm; + my $logo_width = 12/mm; + + my @coupons = (); + my %coupon_expiry_times = (); + + # Read coupons + &General::readhasharray($coupons, %couponhash) if (-e $coupons); + foreach my $key (keys %couponhash) { + $coupon_expiry_times{$couponhash{$key}[1]} = $couponhash{$key}[2]; + push @coupons, $couponhash{$key}[1]; + } + + while (@coupons) { + # Make a new page + my $page = $pdf->page(); + + # Graphics + $gfx = $page->gfx(); + + # Headline font + my $f_headline = $page->text(); + $f_headline->font($font, 20); + + # Subheadline font + my $f_subheadline = $page->text(); + $f_subheadline->font($font, 14); + + # Coupon font + my $f_coupon = $page->text(); + $f_coupon->font($font, 36); + + # Lifetime + my $f_lifetime = $page->text(); + $f_lifetime->font($font, 14); + + # Watermark font + my $f_watermark = $page->text(); + $f_watermark->fillcolor("#666666"); + $f_watermark->font($font, 10); + + my $i = 0; + while (@coupons && $i < 8) { + my $coupon = shift @coupons; + + # Box corners + my $x = ($page_v_margin / 2) + (($i % 2) ? $width : 0); + my $y = ($page_h_margin / 2) + (int($i / 2) * $height); + + # Weidth and height of the box + my $w = $width - $margin; + my $h = $height - $margin; + + # Center + my $cx = $x + ($w / 2); + my $cy = $y + ($h / 2); + + # Draw border box + $gfx->strokecolor("#333333"); + $gfx->linedash(1/mm, 1/mm); + $gfx->rect($x, $y, $w, $h); + $gfx->stroke(); + $gfx->endpath(); + + # Headline + $f_headline->translate($cx, ($y + $h - $cy) / 1.7 + $cy); + $f_subheadline->translate($cx, ($y + $h - $cy) / 2.4 + $cy); + + if ($settings{'TITLE'}) { + $f_headline->text_center($settings{'TITLE'}); + $f_subheadline->text_center(decode("utf8", $Lang::tr{'Captive WiFi coupon'})); + } else { + $f_headline->text_center(decode("utf8", $Lang::tr{'Captive WiFi coupon'})); + } + + # Coupon + $f_coupon->translate($cx, $cy); + $f_coupon->text_center(decode("utf8", $coupon)); + + # Show lifetime + my $expiry_time = $coupon_expiry_times{$coupon}; + $f_lifetime->translate($cx, $cy - ($y + $h - $cy) / 4); + if ($expiry_time > 0) { + my $lifetime = &General::format_time($expiry_time); + $f_lifetime->text_center(decode("utf8", $Lang::tr{'Captive valid for'} . " " . $lifetime)); + } else { + $f_lifetime->text_center(decode("utf8", $Lang::tr{'Captive nolimit'})); + } + + # Add watermark + $gfx->image($tux_image, $x + $w - $logo_width - $margin, $y + $margin, $logo_width, $logo_height); + $f_watermark->translate($x + $w - ($margin * 2) - $logo_width, $y + ($logo_height / 2)); + $f_watermark->text_right("Powered by IPFire"); + + $i++; + } + } + + # Write out the PDF document + return $pdf->stringify(); +} + +&Header::closebigbox(); +&Header::closepage(); diff --git a/html/cgi-bin/captive/index.cgi b/html/cgi-bin/captive/index.cgi new file mode 100755 index 0000000..e9606b1 --- /dev/null +++ b/html/cgi-bin/captive/index.cgi @@ -0,0 +1,238 @@ +#!/usr/bin/perl +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2016 Alexander Marx alexander.marx@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/. # +# # +############################################################################### + +use strict; +use CGI ':standard'; +use URI::Escape; +use HTML::Entities(); +use HTML::Template; + +# enable only the following on debugging purpose +#use warnings; +#use CGI::Carp 'fatalsToBrowser'; + +require '/var/ipfire/general-functions.pl'; +require "${General::swroot}/lang.pl"; + +# Load the most appropriate language from the browser configuration +my @langs = &Lang::DetectBrowserLanguages(); +&Lang::reload(@langs); + +my $coupons = "${General::swroot}/captive/coupons"; +my %couponhash = (); + +my %clientshash=(); +my %cgiparams=(); +my %settings=(); +my $clients="${General::swroot}/captive/clients"; +my $settingsfile="${General::swroot}/captive/settings"; +my $errormessage; +my $url=param('redirect'); + +#Create /var/ipfire/captive/clients if not exist +unless (-f $clients){ system("touch $clients"); } + +#Get GUI variables +&getcgihash(%cgiparams); + +#Read settings +&General::readhash("$settingsfile", %settings) if(-f $settingsfile); + +# Actions +if ($cgiparams{'ACTION'} eq "SUBMIT") { + # Get client IP address + my $ip_address = $ENV{X_FORWARDED_FOR} || $ENV{REMOTE_ADDR}; + + # Retrieve the MAC address from the ARP table + my $mac_address = &Network::get_hardware_address($ip_address); + + &General::readhasharray("$clients", %clientshash); + my $key = &General::findhasharraykey(%clientshash); + + # Create a new client line + foreach my $i (0 .. 5) { $clientshash{$key}[$i] = ""; } + + # MAC address of the client + $clientshash{$key}[0] = $mac_address; + + # IP address of the client + $clientshash{$key}[1] = $ip_address; + + # Current time + $clientshash{$key}[2] = time(); + + if ($settings{"AUTH"} eq "COUPON") { + &General::readhasharray($coupons, %couponhash); + + if ($cgiparams{'COUPON'}) { + # Convert coupon input to uppercase + $cgiparams{'COUPON'} = uc $cgiparams{'COUPON'}; + + # Walk through all valid coupons and find the right one + my $found = 0; + foreach my $coupon (keys %couponhash) { + if ($couponhash{$coupon}[1] eq $cgiparams{'COUPON'}) { + $found = 1; + + # Copy expiry time + $clientshash{$key}[3] = $couponhash{$coupon}[2]; + + # Save coupon code + $clientshash{$key}[4] = $cgiparams{'COUPON'}; + + # Copy coupon remark + $clientshash{$key}[5] = $couponhash{$coupon}[3]; + + # Delete used coupon + delete $couponhash{$coupon}; + &General::writehasharray($coupons, %couponhash); + + last; + } + } + + if ($found == 1) { + &General::log("Captive", "Internet access granted via coupon ($clientshash{$key}[4]) for $ip_address until $clientshash{$key}[3]"); + } else { + $errormessage = $Lang::tr{"Captive invalid coupon"}; + } + + # No coupon given + } else { + $errormessage = $Lang::tr{"Captive please enter a coupon code"}; + } + + # Terms + } else { + # Make sure that they have been accepted + if ($cgiparams{'TERMS'} eq "on") { + # Copy session expiry time + $clientshash{$key}[3] = $settings{'SESSION_TIME'} || "0"; + + # No coupon code + $clientshash{$key}[4] = "TERMS"; + + &General::log("Captive", "Internet access granted via license agreement for $ip_address until $clientshash{$key}[3]"); + + # The terms have not been accepted + } else { + $errormessage = $Lang::tr{'Captive please accept the terms and conditions'}; + } + } + + # If no errors were found, save configruation and reload + if (!$errormessage) { + &General::writehasharray("$clients", %clientshash); + + system("/usr/local/bin/captivectrl"); + + # Redirect client to the original URL + print "Status: 302 Moved Temporarily\n"; + print "Location: $url\n"; + print "Connection: close\n\n"; + exit 0; + } +} + +my $tmpl = HTML::Template->new( + filename => "/srv/web/ipfire/html/captive/template.html", + die_on_bad_params => 0 +); + +$tmpl->param(REDIRECT => $url); + +# Coupon +if ($settings{'AUTH'} eq "COUPON") { + $tmpl->param(COUPON => 1); + $tmpl->param(L_HEADING => $Lang::tr{'Captive coupon'}); +} else { + $tmpl->param(L_HEADING => $Lang::tr{'Captive terms'}); +} + +$tmpl->param(TITLE => $settings{'TITLE'}); +$tmpl->param(COLOR => $settings{'COLOR'}); +$tmpl->param(ERROR => $errormessage); + +$tmpl->param(TERMS => &getterms()); + +# Some translated strings +$tmpl->param(L_ACTIVATE => $Lang::tr{'Captive ACTIVATE'}); +$tmpl->param(L_GAIN_ACCESS => $Lang::tr{'Captive GAIN ACCESS'}); +$tmpl->param(L_AGREE_TERMS => $Lang::tr{'Captive agree tac'}); + +# Print header +print "Pragma: no-cache\n"; +print "Cache-control: no-cache\n"; +print "Connection: close\n"; +print "Content-type: text/html\n\n"; + +# Print rendered template +print $tmpl->output(); + +sub getcgihash { + my ($hash, $params) = @_; + my $cgi = CGI->new (); + $hash->{'__CGI__'} = $cgi; + return if ($ENV{'REQUEST_METHOD'} ne 'POST'); + if (!$params->{'wantfile'}) { + $CGI::DISABLE_UPLOADS = 1; + $CGI::POST_MAX = 1024 * 1024; + } else { + $CGI::POST_MAX = 10 * 1024 * 1024; + } + $cgi->referer() =~ m/^http?://([^/]+)/; + my $referer = $1; + $cgi->url() =~ m/^http?://([^/]+)/; + my $servername = $1; + return if ($referer ne $servername); + + ### Modified for getting multi-vars, split by | + my %temp = $cgi->Vars(); + foreach my $key (keys %temp) { + $hash->{$key} = $temp{$key}; + $hash->{$key} =~ s/\0/|/g; + $hash->{$key} =~ s/^\s*(.*?)\s*$/$1/; + } + + if (($params->{'wantfile'})&&($params->{'filevar'})) { + $hash->{$params->{'filevar'}} = $cgi->upload + ($params->{'filevar'}); + } + return; +} + +sub getterms() { + my @terms = (); + + open(my $handle, "<:utf8", "/var/ipfire/captive/terms.txt"); + while(<$handle>) { + $_ = HTML::Entities::decode_entities($_); + push(@terms, $_); + } + close($handle); + + my $terms = join("\n", @terms); + + # Format paragraphs + $terms =~ s/\n\n/</p>\n<p>/g; + + return $terms; +} diff --git a/html/cgi-bin/captive/logo.cgi b/html/cgi-bin/captive/logo.cgi new file mode 100644 index 0000000..8f292b1 --- /dev/null +++ b/html/cgi-bin/captive/logo.cgi @@ -0,0 +1,44 @@ +#!/usr/bin/perl +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2016 Alexander Marx alexander.marx@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/. # +# # +############################################################################### + +use strict; +use CGI; +use File::Copy; + +# enable only the following on debugging purpose +#use warnings; +#use CGI::Carp 'fatalsToBrowser'; + +require '/var/ipfire/general-functions.pl'; + +my $logo = "${General::swroot}/captive/logo.dat"; + +# Send 404 if logo was not uploaded and exit +if (!-e $logo) { + print CGI::header(status => 404); + exit(0); +} + +print "Content-Type: application/octet-stream\n\n"; + +# Send image data +File::Copy::copy $logo, *STDOUT; +exit(0); diff --git a/html/cgi-bin/captive/redirect.cgi b/html/cgi-bin/captive/redirect.cgi new file mode 100755 index 0000000..7c5b5e7 --- /dev/null +++ b/html/cgi-bin/captive/redirect.cgi @@ -0,0 +1,58 @@ +#!/usr/bin/perl +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2016 Alexander Marx alexander.marx@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/. # +# # +############################################################################### + +use strict; +use URI::Escape; +use CGI::Carp qw(fatalsToBrowser); + +require '/var/ipfire/general-functions.pl'; + +my $url = "http://$ENV%7B%27SERVER_NAME%27%7D$ENV%7B%27REQUEST_URI%27%7D"; +my $safe_url = uri_escape($url); + +my %settingshash = (); +my %ethernethash = (); +my $target; + +# Read settings +&General::readhash("${General::swroot}/captive/settings", %settingshash); +&General::readhash("${General::swroot}/ethernet/settings", %ethernethash); + +# Get the client's IP address +my $client_address = $ENV{X_FORWARDED_FOR} || $ENV{REMOTE_ADDR} || ""; + +if ($settingshash{'ENABLE_GREEN'} eq "on" && $ethernethash{'GREEN_ADDRESS'} ne '') { + if (&General::IpInSubnet($client_address, $ethernethash{'GREEN_ADDRESS'}, $ethernethash{'GREEN_NETMASK'})) { + $target = $ethernethash{'GREEN_ADDRESS'}; + } + +} elsif($settingshash{'ENABLE_BLUE'} eq "on" && $ethernethash{'BLUE_ADDRESS'} ne '') { + if (&General::IpInSubnet($client_address, $ethernethash{'BLUE_ADDRESS'}, $ethernethash{'BLUE_NETMASK'})) { + $target = $ethernethash{'BLUE_ADDRESS'}; + } + +} else { + exit 0; +} + +print "Status: 302 Moved Temporarily\n"; +print "Location: http://$target:1013/cgi-bin/index.cgi?redirect=$safe_url%5Cn"; +print "Connection: close\n\n"; diff --git a/html/cgi-bin/logs.cgi/log.dat b/html/cgi-bin/logs.cgi/log.dat index 5734fed..f241365 100644 --- a/html/cgi-bin/logs.cgi/log.dat +++ b/html/cgi-bin/logs.cgi/log.dat @@ -51,6 +51,7 @@ $cgiparams{'SECTION'} = 'ipfire'; my %sections = ( 'auth' => '(\w+(pam_unix)[.*]: )', 'wio' => '(wio|wio[.*])', + 'captive' => '(Captive:)', 'clamav' => '(clamd[.*]: |freshclam[.*]: )', 'collectd' => '(collectd[.*]: )', 'cron' => '(fcron[.*]: )', @@ -77,6 +78,7 @@ my %sections = ( my %trsections = ( 'auth' => "$Lang::tr{'loginlogout'}", 'wio' => 'Who Is Online?', + 'captive' => $Lang::tr{'captive'}, 'clamav' => 'ClamAV', 'collectd' => 'Collectd', 'cron' => 'Cron', diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index d46a14e..ceb88c1 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -1061,8 +1061,15 @@ unless(-d "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}"){mkdir "${General } } } - - print CLIENTCONF "ns-cert-type server\n"; + # Check host certificate if X509 is RFC3280 compliant. + # If not, old --ns-cert-type directive will be used. + # If appropriate key usage extension exists, new --remote-cert-tls directive will be used. + my $hostcert = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/certs/servercert.pem`; + if ($hostcert !~ /TLS Web Server Authentication/) { + print CLIENTCONF "ns-cert-type server\n"; + } else { + print CLIENTCONF "remote-cert-tls server\n"; + } print CLIENTCONF "# Auth. Client\n"; print CLIENTCONF "tls-client\n"; print CLIENTCONF "# Cipher\n"; @@ -2173,7 +2180,15 @@ if ($confighash{$cgiparams{'KEY'}}[3] eq 'net'){ } } } - print CLIENTCONF "ns-cert-type server\n"; + # Check host certificate if X509 is RFC3280 compliant. + # If not, old --ns-cert-type directive will be used. + # If appropriate key usage extension exists, new --remote-cert-tls directive will be used. + my $hostcert = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/certs/servercert.pem`; + if ($hostcert !~ /TLS Web Server Authentication/) { + print CLIENTCONF "ns-cert-type server\n"; + } else { + print CLIENTCONF "remote-cert-tls server\n"; + } print CLIENTCONF "# Auth. Client\n"; print CLIENTCONF "tls-client\n"; print CLIENTCONF "# Cipher\n"; @@ -2332,7 +2347,15 @@ else print CLIENTCONF "comp-lzo\r\n"; } print CLIENTCONF "verb 3\r\n"; - print CLIENTCONF "ns-cert-type server\r\n"; + # Check host certificate if X509 is RFC3280 compliant. + # If not, old --ns-cert-type directive will be used. + # If appropriate key usage extension exists, new --remote-cert-tls directive will be used. + my $hostcert = `/usr/bin/openssl x509 -text -in ${General::swroot}/ovpn/certs/servercert.pem`; + if ($hostcert !~ /TLS Web Server Authentication/) { + print CLIENTCONF "ns-cert-type server\r\n"; + } else { + print CLIENTCONF "remote-cert-tls server\r\n"; + } print CLIENTCONF "verify-x509-name $vpnsettings{ROOTCERT_HOSTNAME} name\r\n"; if ($vpnsettings{MSSFIX} eq 'on') { print CLIENTCONF "mssfix\r\n"; diff --git a/html/cgi-bin/proxy.cgi b/html/cgi-bin/proxy.cgi index 0b7d36c..dd83bba 100644 --- a/html/cgi-bin/proxy.cgi +++ b/html/cgi-bin/proxy.cgi @@ -1054,11 +1054,11 @@ if ( -e "/usr/bin/squidclamav" ) { } else { print "<td></td>"; } -print "<td class='base'><b>".$Lang::tr{'advproxy url filter'}."</b><br />"; +print "<td class='base'><a href='/cgi-bin/urlfilter.cgi'><b>".$Lang::tr{'advproxy url filter'}."</a></b><br />"; print $Lang::tr{'advproxy enabled'}."<input type='checkbox' name='ENABLE_FILTER' ".$checked{'ENABLE_FILTER'}{'on'}." /><br />"; print "+ ".int(($count**(1/3)) * 6); print "</td>"; -print "<td class='base'><b>".$Lang::tr{'advproxy update accelerator'}."</b><br />"; +print "<td class='base'><a href='/cgi-bin/updatexlrator.cgi'><b>".$Lang::tr{'advproxy update accelerator'}."</a></b><br />"; print $Lang::tr{'advproxy enabled'}."<input type='checkbox' name='ENABLE_UPDXLRATOR' ".$checked{'ENABLE_UPDXLRATOR'}{'on'}." /><br />"; print "+ ".int(($count**(1/3)) * 5); print "</td></tr>"; diff --git a/html/cgi-bin/vpnmain.cgi b/html/cgi-bin/vpnmain.cgi index f9508b5..c17ebd6 100644 --- a/html/cgi-bin/vpnmain.cgi +++ b/html/cgi-bin/vpnmain.cgi @@ -3125,6 +3125,8 @@ sub make_algos($$$$$) {
if ($grp =~ m/^e(.*)$/) { push(@algo, "ecp$1"); + } elsif ($grp =~ m/curve25519/) { + push(@algo, "$grp"); } else { push(@algo, "modp$grp"); } @@ -3140,6 +3142,8 @@ sub make_algos($$$$$) { # noop } elsif ($grp =~ m/^e(.*)$/) { push(@algo, "ecp$1"); + } elsif ($grp =~ m/curve25519/) { + push(@algo, "$grp"); } else { push(@algo, "modp$grp"); } diff --git a/html/html/captive/assets/captive.css b/html/html/captive/assets/captive.css new file mode 100644 index 0000000..6f231bc --- /dev/null +++ b/html/html/captive/assets/captive.css @@ -0,0 +1,194 @@ +@font-face { + font-family: "Ubuntu"; + font-weight: 300; + src: local("Ubuntu Light"), local("Ubuntu-Light"), url("Ubuntu-L.ttf") format("truetype"); +} + +@font-face { + font-family: "Ubuntu"; + font-weight: 400; + src: local("Ubuntu Regular"), local("Ubuntu-Regular"), url("Ubuntu-R.ttf") format("truetype"); +} + +@font-face { + font-family: "Ubuntu"; + font-weight: 500; + src: local("Ubuntu Medium"), local("Ubuntu-Medium"), url("Ubuntu-M.ttf") format("truetype"); +} + +body { + background-image: url("../cgi-bin/logo.cgi"); + background-size: 100%; + background-repeat: no-repeat; + + background-color: #eceff1; + color: #263238; + + display: flex; + min-height: 100vh; + flex-direction: column; +} + +body, input { + font-family: "Ubuntu", sans-serif; + font-size: 14px; +} + +.content { + flex: 1; +} + +.box { + margin: 272px 0 48px 0; + padding: 0 30px 48px 30px; + + position: relative; + display: flex; + flex-direction: column; + background-color: white; + + border: none; + border-radius: 4px; + box-shadow: + 0 19px 38px 0 rgba(0, 0, 0, 0.3), + 0 15px 12px 0 rgba(0, 0, 0, 0.22); +} + +.box-header { + display: flex; + align-items: center; + justify-content: center; + min-height: 128px; +} + +.box-header h1 { + font-size: 40px; +} + +@media (min-width: 1200px) { + .box-header { + min-height: none; + } + + .box-header h1 { + margin-top: 24px; + margin-bottom: 20px; + } +} + +.box-block { + padding: 24px 16px 24px 16px; + margin: 0 -8px 40px -8px; + + text-align: center; + background-color: #b71c1c; + color: white; + border-radius: 4px; +} + +@media (min-width: 1200px) { + .box-block { + padding: 18px 16px 18px 16px; + margin: 0 0 48px 0; + } +} + +.box-block h4 { + font-size: 20px; +} + +footer { + height: 64px; + background-color: rgba(84, 110, 122, 0.06); /* #546e7a */ +} + +.footer { + display: flex; + align-items: center; +} + +.footer .logo { + width: 64px; + height: 64px; + padding: 8px; +} + +.form-text { + display: inline-block; + height: 36px; + + color: #263238; + background-color: rgba(38, 49, 56, 0,08); + + border: 0; + border-radius: 2px; + box-shadow: inset 0 -2px 0 0 #546e7a; +} + +.form-error { + box-shadow: inset 0 -2px 0 0 #ff3d00; +} + +.form-submit { + display: inline-block; + + font-weight: 500; + text-transform: uppercase; + + height: 36px; + padding: 0 16px 0 16px; + margin: 0 8px 0 8px; + + color: #263238; + background-color: white; + + border: none; + border-radius: 2px; + box-shadow: + 0 2px 4px 0 rgba(0, 0, 0, 0.16), + 0 1px 2px 0 rgba(0, 0, 0, 0.23); +} + +.form-submit:hover { + box-shadow: + 0 3px 6px 0 rgba(0, 0, 0, 0.16), + 0 3px 6px 0 rgba(0, 0, 0, 0.23); +} + +.form-submit:active { + background-color: black; + opacity: 0.16; + box-shadow: none; +} + +.checkbox { + position: relative; + display: block; + + margin-top: 20px; +} + +.checkbox .form-checkbox { + position: absolute; + margin-top: 1px; + margin-left: -24px; + + width: 20px; + height: 20px; + + background-color: rgba(38, 49, 56, 0.08); + + border: 2px solid #546e7a; + border-radius: 2px; +} + +.text-error { + position: block; + margin-top: 6px; + min-height: 23px; + + color: white; + background-color: #ff3d00; + + border-radius: 2px; +} diff --git a/html/html/captive/assets/favicon.ico b/html/html/captive/assets/favicon.ico new file mode 100644 index 0000000..52da262 Binary files /dev/null and b/html/html/captive/assets/favicon.ico differ diff --git a/html/html/captive/assets/ipfire.png b/html/html/captive/assets/ipfire.png new file mode 100644 index 0000000..cd84ad5 Binary files /dev/null and b/html/html/captive/assets/ipfire.png differ diff --git a/html/html/captive/template.html b/html/html/captive/template.html new file mode 100644 index 0000000..04be2b1 --- /dev/null +++ b/html/html/captive/template.html @@ -0,0 +1,79 @@ +<!DOCTYPE HTML> +<html> + <head> + <meta charset="UTF-8"> + <title><TMPL_VAR NAME="TITLE"></title> + + <link rel="stylesheet" href="../assets/bootstrap-reboot.min.css"> + <link rel="stylesheet" href="../assets/bootstrap-grid.min.css"> + <link rel="stylesheet" href="../assets/captive.css"> + + <TMPL_IF NAME="COLOR"> + <style> + .box-block { + background-color: <TMPL_VAR NAME="COLOR">; + } + </style> + </TMPL_IF> + + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + + <body> + <div class="container content"> + <div class="row"> + <div class="col-12 col-lg-10 offset-lg-1 col-xl-8 offset-xl-2"> + <div class="box"> + <div class="box-header"> + <h1><TMPL_VAR NAME="TITLE"></h1> + </div> + + <div class="box-block"> + <h4><TMPL_VAR NAME="L_HEADING"></h4> + + <form action="" method="POST"> + <input type="hidden" name="ACTION" value="SUBMIT"> + <input type="hidden" name="redirect" value="<TMPL_VAR NAME="REDIRECT">"> + + <TMPL_IF NAME="COUPON"> + <input class="form-text <TMPL_IF NAME="ERROR">form-error</TMPL_IF>" type="text" name="COUPON"> + <input class="form-submit" type="submit" + value="<TMPL_VAR NAME="L_ACTIVATE">"> + <TMPL_ELSE> + <div class="checkbox"> + <label> + <input class="form-checkbox <TMPL_IF NAME="ERROR">error</TMPL_IF>" type="checkbox" name="TERMS"> + <TMPL_VAR NAME="L_AGREE_TERMS"> + </label> + </div> + + <input class="form-submit" type="submit" + value="<TMPL_VAR NAME="L_GAIN_ACCESS">"> + </TMPL_IF> + + <TMPL_IF NAME="ERROR"> + <div class="text-error"> + <TMPL_VAR NAME="ERROR"> + </div> + </TMPL_IF> + </form> + </div> + + <TMPL_IF NAME="TERMS"> + <TMPL_VAR NAME="TERMS"> + </TMPL_IF> + </div> + </div> + </div> + </div> + + <footer> + <div class="container"> + <div class="footer"> + <img class="logo" src="../assets/ipfire.png" alt="IPFire Logo"> + Powered by IPFire + </div> + </div> + </footer> + </body> +</html> diff --git a/html/html/dial.cgi b/html/html/dial.cgi deleted file mode 100644 index 7c7b7db..0000000 --- a/html/html/dial.cgi +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/perl - -print "Status: 302 Moved\n"; -print "Location: /cgi-bin/dial/index.cgi\n\n"; diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 7bc1c49..6dff5d7 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -7,6 +7,60 @@ 'Add Rule' => 'Regel hinzufügen', 'Add a route' => 'Eine Route hinzufügen', 'Async logging enabled' => 'Aktiviere asynchrones Schreiben des Syslogs', +'Captive 1day' => '1 Tag', +'Captive 1month' => '1 Monat', +'Captive 1week' => '1 Woche', +'Captive ACTIVATE' => 'AKTIVIEREN', +'Captive GAIN ACCESS' => 'ZUGANG', +'Captive WiFi coupon' => 'WLAN-Gutschein', +'Captive activate' => 'Aktivieren', +'Captive activated' => 'Aktiviert', +'Captive active on' => 'Aktiviert auf', +'Captive agree tac' => 'Bedingungen akzeptieren', +'Captive auth_lic' => 'Lizenz', +'Captive auth_vou' => 'Gutschein', +'Captive authentication' => 'Art der Anmeldung', +'Captive brand color' => 'Highlight-Farbe', +'Captive branding' => 'Branding', +'Captive client session expiry time' => 'Ablaufzeit', +'Captive clients' => 'Clients', +'Captive config' => 'Konfiguration', +'Captive coupon' => 'Gutschein', +'Captive err doublevoucher' => 'Ein Gutschein mit diesem Code ist bereits im Umlauf', +'Captive expire' => 'Ablauf', +'Captive expiry time' => 'Ablaufzeit', +'Captive export coupons' => 'Gutscheine exportieren', +'Captive generate coupons' => 'Gutscheine generieren', +'Captive generated coupon no' => 'Anzahl der generierten Gutscheine', +'Captive genvoucher' => 'Gutschein generieren', +'Captive invalid logosize' => 'Die hochgeladene Datei entspricht nicht der vorgegeben Auflösung von mindestens 1280x400 und maximal 1920x800 Pixeln', +'Captive invalid_voucher' => 'Dieser Code ist ungültig. Bitte versuchen Sie es erneut', +'Captive ip' => 'IP-Addresse', +'Captive issued coupons' => 'Ausgestellte Gutscheine', +'Captive logo uploaded' => 'Logo hochgeladen', +'Captive logo_set' => 'Aktuelles Logo', +'Captive logo_upload' => 'Logo hochladen', +'Captive logo_upload1' => '(PNG, min. 1280x400, max. 1920x800)', +'Captive mac' => 'MAC-Adresse', +'Captive menu' => 'Captive-Portal', +'Captive noexpiretime' => 'Es wurde kein gültiger Verbindungszeitraum angegeben', +'Captive nolimit' => 'Unbegrenzt', +'Captive nr' => 'Nummer', +'Captive please accept the terms and conditions' => 'Bitte akzeptieren Sie die Bedingungen', +'Captive portal' => 'IPFire Captive-Portal', +'Captive portal coupons' => 'Captive-Portal-Gutscheine', +'Captive terms' => 'Bedingungen', +'Captive terms short' => 'Bedingungen', +'Captive time' => 'Erlaubter Nutzungszeitraum nach Aktivierung (Stunden)', +'Captive title' => 'Titel der Anmeldeseite', +'Captive upload logo' => 'Logo hochladen', +'Captive upload logo recommendations' => '(PNG oder JPEG, 1280x720 Pixel empfohlen)', +'Captive valid for' => 'Gültig für', +'Captive voactive' => 'Aktive Gutscheine', +'Captive voucher' => 'Gutschein', +'Captive vouchervalid' => 'Erlaubter Zeitraum für Gutschein', +'Captive vout' => 'Ausgegebene Gutscheine', +'Captive wrong ext' => 'Die hochgeladene Datei hat den falschen Dateityp', 'Choose Rule' => 'Wählen Sie <u>eine</u> der untenstehenden Regeln aus.', 'Class' => 'Klasse', 'Class was deleted' => 'wurde mit eventuell vorhandenen Unterklassen gelöscht', @@ -841,6 +895,7 @@ 'edit share' => 'Freigabe bearbeiten', 'editor' => 'Editor', 'eg' => 'z.B.:', +'eight hours' => '8 Stunden', 'email config' => 'Konfiguration', 'email empty field' => 'Leeres Feld', 'email error' => 'FEHLER: Test-E-Mail konnte nicht versendet werden', @@ -976,6 +1031,7 @@ 'forwarding rule added' => 'Weiterleitungsregel hinzugefügt. Starte Weiterleitung neu', 'forwarding rule removed' => 'Weiterleitungsregel entfernt. Starte Weiterleitung neu', 'forwarding rule updated' => 'Weiterleitungsregel aktualisiert; starte Weiterleitung neu', +'four hours' => '4 Stunden', 'free' => 'Frei', 'free memory' => 'Freier Speicher ', 'free swap' => 'Freier Swap', @@ -1668,6 +1724,7 @@ 'ok' => 'OK', 'older' => 'Älter', 'on' => 'on', +'one year' => 'Ein Jahr', 'online help en' => 'Online-Hilfe (auf Deutsch)', 'only digits allowed in holdoff field' => 'Im Holdoff-Feld sind nur Ziffern erlaubt', 'only digits allowed in max retries field' => 'Im Feld "Maximale Wiederholversuche" sind nur Ziffern erlaubt.', @@ -2258,6 +2315,8 @@ 'tripwirewarningkeys' => 'ACHTUNG - Sie löschen hiermit ihre bestehenden Schlüssel, ihre Konfiguration und Datenbank und legen alles neu an.', 'tripwirewarningpolicy' => 'ACHTUNG - Ihr Policy wird neu erzeugt, anschließen wird die Datenbank neu initialisiert. Hierfür wird der Site-Key und Local-Key benötigt.', 'tuesday' => 'Dienstag', +'twelve hours' => '12 Stunden', +'two weeks' => 'Zwei Wochen', 'type' => 'Typ', 'umount' => 'Abmelden', 'umount removable media before to unplug' => 'Wechselmedien vor dem Entfernen unbedingt abmelden', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index ab1f401..4efff6e 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -1,12 +1,67 @@ %tr = ( %tr,
+'24 hours' => '24 Hours', 'Act as' => 'Act as:', 'Add Level7 rule' => 'Add Level7 rule', 'Add Port Rule' => 'Add port rule', 'Add Rule' => 'Add rule', 'Add a route' => 'Add a route', 'Async logging enabled' => 'Enable asynchronous writing of the syslog file', +'Captive 1day' => '1 day', +'Captive 1month' => '1 month', +'Captive 1week' => '1 week', +'Captive ACTIVATE' => 'ACTIVATE', +'Captive GAIN ACCESS' => 'GAIN ACCESS', +'Captive WiFi coupon' => 'WiFi Coupon', +'Captive activate' => 'Activate', +'Captive activated' => 'Activated', +'Captive active on' => 'Activated on', +'Captive agree tac' => 'I agree with the terms & conditions below.', +'Captive auth_lic' => 'License', +'Captive auth_vou' => 'Voucher', +'Captive authentication' => 'Type of Access', +'Captive brand color' => 'Brand Color', +'Captive branding' => 'Branding', +'Captive client session expiry time' => 'Session Expiry Time', +'Captive config' => 'Settings', +'Captive coupon' => 'Coupon', +'Captive err doublevoucher' => 'A coupon with this code already exists', +'Captive expire' => 'Expire', +'Captive expiry time' => 'Expiry Time', +'Captive export coupons' => 'Export Coupons', +'Captive generate coupons' => 'Generate Coupons', +'Captive generated coupon no' => 'Number of coupons', +'Captive heading terms' => 'Terms & Conditions', +'Captive heading voucher' => 'Coupon or Access Code', +'Captive invalid coupon' => 'You entered an invalid coupon code. Please try again.', +'Captive invalid logosize' => 'The uploaded image file does not meet the required resolution of at least 1280x400 but not larger than 1920x800 pixels', +'Captive invalid_voucher' => 'Invalid code. Please try again', +'Captive ip' => 'IP Address', +'Captive issued coupons' => 'Issued Coupons', +'Captive logo uploaded' => 'Logo uploaded', +'Captive logo_set' => 'Current Logo', +'Captive mac' => 'MAC Address', +'Captive menu' => 'Captive Portal', +'Captive noexpiretime' => 'No valid connection time range given', +'Captive nolimit' => 'unlimited', +'Captive nr' => 'Number', +'Captive please accept the terms and conditions' => 'Please accept the terms & conditions', +'Captive please enter a coupon code' => 'Please enter a coupon code', +'Captive portal' => 'IPFire Captive Portal', +'Captive portal coupons' => 'Captive Portal Coupons', +'Captive terms' => 'Terms & Conditions', +'Captive terms short' => 'T&Cs', +'Captive time' => 'Access time post activation (hours)', +'Captive title' => 'Title of Login Page', +'Captive upload logo' => 'Upload Logo', +'Captive upload logo recommendations' => '(PNG or JPEG, recommended 1280x720 pixels)', +'Captive valid for' => 'Valid for', +'Captive voactive' => 'Active Coupons', +'Captive voucher' => 'Coupon', +'Captive vouchervalid' => 'Allowed time for this coupon', +'Captive vout' => 'Issued Vouchers', +'Captive wrong ext' => 'Uploaded file has wrong filetype', 'Choose Rule' => 'Choose <u>one</u> of the following rules.', 'Class' => 'Class', 'Class was deleted' => 'with potential subclasses was deleted', @@ -650,7 +705,7 @@ 'day after' => 'Day after', 'day before' => 'Day before', 'day-graph' => 'Day', -'days' => 'days.', +'days' => 'Days', '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', @@ -867,6 +922,7 @@ 'edit share' => 'Edit share', 'editor' => 'Editor', 'eg' => 'e.g.:', +'eight hours' => '8 Hours', 'email config' => 'Configuration', 'email empty field' => 'Empty field', 'email error' => 'ERROR: Test mail could not be sent', @@ -1003,6 +1059,7 @@ 'forwarding rule added' => 'Forwarding rule added; restarting forwarder', 'forwarding rule removed' => 'Forwarding rule removed; restarting forwarder', 'forwarding rule updated' => 'Forwarding rule updated; restarting forwarder', +'four hours' => '4 Hours', 'free' => 'Free', 'free memory' => 'Free Memory ', 'free swap' => 'Free Swap', @@ -1282,7 +1339,7 @@ 'hosts config changed' => 'Hosts config changed', 'hour' => 'Hour', 'hour-graph' => 'Hour', -'hours' => 'hours', +'hours' => 'Hours', 'hours2' => 'Hours', '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.', @@ -1606,7 +1663,7 @@ 'monthly volume' => 'Monthly volume', 'monthly volume start day' => 'First day of monthly period', 'monthly volume start day short' => 'First day', -'months' => 'months', +'months' => 'Months', 'more' => 'more', 'most preferred' => 'most preferred', 'mount' => 'Mount', @@ -1701,6 +1758,10 @@ 'ok' => 'OK', 'older' => 'Older', 'on' => 'on', +'one hour' => 'One Hour', +'one month' => 'One Month', +'one week' => 'One Week', +'one year' => 'One Year', '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.', @@ -2299,6 +2360,8 @@ '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' => 'Tuesday', +'twelve hours' => '12 Hours', +'two weeks' => 'Two Weeks', 'type' => 'Type', 'umount' => 'Umount', 'umount removable media before to unplug' => 'Umount removable media before unplugging the device', @@ -2314,6 +2377,7 @@ 'unix password sync' => 'Unix Password Sync', 'unix shell' => 'UNIX Shell', 'unknown' => 'UNKNOWN', +'unlimited' => 'Unlimited', 'unnamed' => 'Unnamed', 'update' => 'Update', 'update accelerator' => 'Update Accelerator', @@ -2694,7 +2758,7 @@ 'week' => 'Week', 'week-graph' => 'Week', 'weekly firewallhits' => 'weekly firewallhits', -'weeks' => 'weeks', +'weeks' => 'Weeks', 'wildcards' => 'Wildcards', 'wins server' => 'Wins Server', 'wins support' => 'Wins Support', diff --git a/lfs/Config b/lfs/Config index d7d2a24..1077f25 100644 --- a/lfs/Config +++ b/lfs/Config @@ -44,8 +44,8 @@ endif # URLs that are common sources of downloads. If you're having trouble with # a site you should change its URL to that of a suitable mirror site. # -URL_IPFIRE = http://source.ipfire.org/source-2.x -URL_TOOLCHAIN = http://source.ipfire.org/toolchains +URL_IPFIRE = https://source.ipfire.org/source-2.x +URL_TOOLCHAIN = https://source.ipfire.org/toolchains URL_SOURCE = git.ipfire.org:/pub/sources/source-2.x
# Don't change this; it will be overridden by other makefiles where necessary. @@ -204,7 +204,7 @@ define PAK tar xf /install/packages/package/files.tmp -C /install/packages/package/tmp/ \ -p --numeric-owner rm -f /install/packages/package/files.tmp - cd /install/packages/package/tmp/ && tar -c -p --numeric-owner -J -f /install/packages/package/files.tar.xz * + cd /install/packages/package/tmp/ && XZ_OPT=-T0 tar -c -p --numeric-owner -J -f /install/packages/package/files.tar.xz * rm -r /install/packages/package/tmp -cat /install/packages/package/ROOTFILES | grep -v "#" > /install/packages/package/ROOTFILES.tmp mv /install/packages/package/ROOTFILES.tmp /install/packages/package/ROOTFILES diff --git a/lfs/apache2 b/lfs/apache2 index b7a7416..4276a88 100644 --- a/lfs/apache2 +++ b/lfs/apache2 @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2014 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2017 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 # @@ -25,7 +25,7 @@
include Config
-VER = 2.4.27 +VER = 2.4.28
THISAPP = httpd-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -45,7 +45,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 97b6bbfa83c866dbe20ef317e3afd108 +$(DL_FILE)_MD5 = 49007ffe8e37a0834255b279810edf24
install : $(TARGET)
@@ -75,8 +75,6 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/apache-2.4.27-PR61382-fix.patch - cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/apache-2.4.27-CVE-2017-9798-fix.patch ### Add IPFire's layout, too echo "# IPFire layout" >> $(DIR_APP)/config.layout echo "<Layout IPFire>" >> $(DIR_APP)/config.layout @@ -117,5 +115,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cp -rf $(DIR_CONF)/httpd/* /etc/httpd/conf ln -sf $(CONFIG_ROOT)/main/hostname.conf /etc/httpd/conf/
+ # Create captive logging directory + -mkdir -pv /var/log/httpd/captive + @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/lfs/bootstrap b/lfs/bootstrap new file mode 100644 index 0000000..15e882e --- /dev/null +++ b/lfs/bootstrap @@ -0,0 +1,79 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2016 IPFire Team info@ipfire.org # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# 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 = 4.0.0-alpha.6 + +THISAPP = bootstrap-$(VER) +DL_FILE = $(THISAPP)-dist.zip +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP)-dist +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 7fed4691d4d7ca19820009dad86e1aef + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +############################################################################### +# 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) && unzip $(DIR_DL)/$(DL_FILE) + + -mkdir -pv /usr/share/bootstrap/{css,js} + cd $(DIR_APP) && cp -vf css/* /usr/share/bootstrap/css + cd $(DIR_APP) && cp -vf js/* /usr/share/bootstrap/js + + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/lfs/cdrom b/lfs/cdrom index 58e754f..7a7fff1 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -32,9 +32,12 @@ TARGET = $(DIR_INFO)/$(THISAPP) ifeq "$(BUILD_PLATFORM)" "arm" TAR_OPTIONS = else - TAR_OPTIONS = --lzma + TAR_OPTIONS = --xz endif
+# Enable multi-threaded compression for LZMA +export XZ_OPT = --threads=0 + ############################################################################### # Top-level Rules ############################################################################### diff --git a/lfs/configroot b/lfs/configroot index 760505e..ad02996 100644 --- a/lfs/configroot +++ b/lfs/configroot @@ -50,7 +50,7 @@ $(TARGET) : @$(PREBUILD)
# Create all directories - for i in addon-lang auth backup ca certs connscheduler crls ddns dhcp dhcpc dns dnsforward \ + for i in addon-lang auth backup ca captive certs connscheduler crls ddns dhcp dhcpc dns dnsforward \ ethernet extrahd/bin fwlogs fwhosts firewall isdn key langs logging mac main \ menu.d modem nfs optionsfw \ ovpn patches pakfire portfw ppp private proxy/advanced/cre \ @@ -62,7 +62,7 @@ $(TARGET) :
# Touch empty files for i in auth/users backup/include.user backup/exclude.user \ - certs/index.txt ddns/config ddns/noipsettings ddns/settings ddns/ipcache dhcp/settings \ + captive/settings captive/agb.txt captive/clients captive/voucher_out certs/index.txt ddns/config ddns/noipsettings ddns/settings ddns/ipcache dhcp/settings \ dhcp/fixleases dhcp/advoptions dhcp/dhcpd.conf.local dns/settings dnsforward/config ethernet/aliases ethernet/settings ethernet/known_nics ethernet/scanned_nics \ ethernet/wireless extrahd/scan extrahd/devices extrahd/partitions extrahd/settings firewall/settings firewall/config firewall/geoipblock firewall/input firewall/outgoing \ fwhosts/customnetworks fwhosts/customhosts fwhosts/customgroups fwhosts/customservicegrp fwhosts/customgeoipgrp fwlogs/ipsettings fwlogs/portsettings \ diff --git a/lfs/ddns b/lfs/ddns index 3d7efa5..14890cb 100644 --- a/lfs/ddns +++ b/lfs/ddns @@ -28,7 +28,7 @@ VER = 010
THISAPP = ddns-$(VER) DL_FILE = $(THISAPP).tar.xz -DL_FROM = http://source.ipfire.org/releases/ddns/ +DL_FROM = https://source.ipfire.org/releases/ddns/ DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)
diff --git a/lfs/fireinfo b/lfs/fireinfo index 55a7845..67d4cba 100644 --- a/lfs/fireinfo +++ b/lfs/fireinfo @@ -28,7 +28,7 @@ VER = 2.1.11
THISAPP = fireinfo-v$(VER) DL_FILE = $(THISAPP).tar.gz -DL_FROM = http://source.ipfire.org/releases/fireinfo/ +DL_FROM = https://source.ipfire.org/releases/fireinfo/ DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)
diff --git a/lfs/flash-images b/lfs/flash-images index 8ed7f63..a75d711 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -137,7 +137,7 @@ endif
# Install IPFire ifneq "$(BUILD_PLATFORM)" "arm" - tar -x --lzma -C $(MNThdd)/ -f /install/cdrom/distro.img + tar -x --xz -C $(MNThdd)/ -f /install/cdrom/distro.img else tar -x -C $(MNThdd)/ -f /install/cdrom/distro.img endif diff --git a/lfs/installer b/lfs/installer index 347d90e..790ac06 100644 --- a/lfs/installer +++ b/lfs/installer @@ -59,6 +59,7 @@ $(TARGET) : --with-distro-name="$(NAME)" \ --with-distro-sname="$(SNAME)" \ --with-distro-slogan="$(SLOGAN)" \ + --with-distro-version="$(VERSION)-core$(CORE)" \ --with-config-root="$(CONFIG_ROOT)" \ --with-download-url="$(DOWNLOAD_URL)"
diff --git a/lfs/ipfire-netboot b/lfs/ipfire-netboot index 984c044..a2607cd 100644 --- a/lfs/ipfire-netboot +++ b/lfs/ipfire-netboot @@ -24,12 +24,12 @@
include Config
-VER = v1.1 -PXE_VER = 300a371 +VER = v2.0 +PXE_VER = 1b67a05
THISAPP = ipfire-netboot-$(VER) DL_FILE = $(THISAPP).tar.gz -DL_FROM = http://source.ipfire.org/releases/ipfire-netboot/ +DL_FROM = https://source.ipfire.org/releases/ipfire-netboot/ DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) SUP_ARCH = x86_64 i586 @@ -43,8 +43,8 @@ objects = $(DL_FILE) ipxe-$(PXE_VER).tar.gz $(DL_FILE) = $(DL_FROM)/$(DL_FILE) ipxe-$(PXE_VER).tar.gz = $(URL_IPFIRE)/ipxe-$(PXE_VER).tar.gz
-$(DL_FILE)_MD5 = 0dccbcfbc1eafb9d510bd15935b87ef6 -ipxe-$(PXE_VER).tar.gz_MD5 = 8a17fb4d6866214feb28cca55630b85f +$(DL_FILE)_MD5 = a1f78e4b92457ecefb97d557b1b7a48e +ipxe-$(PXE_VER).tar.gz_MD5 = 300fe0e096e58bfb4318bc39b63f9a88
install : $(TARGET)
diff --git a/lfs/logrotate b/lfs/logrotate index 70e9f48..3749fd7 100644 --- a/lfs/logrotate +++ b/lfs/logrotate @@ -24,7 +24,7 @@
include Config
-VER = 3.12.3 +VER = 3.13.0
THISAPP = logrotate-$(VER) DL_FILE = logrotate-$(VER).tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 3162ada6f1036c1a4a0a68262989ff73 +$(DL_FILE)_MD5 = 72c2c3028d060131b388a9b330215549
install : $(TARGET)
diff --git a/lfs/openvpn b/lfs/openvpn index b7f5217..8307d01 100644 --- a/lfs/openvpn +++ b/lfs/openvpn @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2015 IPFire Team info@ipfire.org # +# Copyright (C) 2017 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 # @@ -24,7 +24,7 @@
include Config
-VER = 2.3.17 +VER = 2.3.18
THISAPP = openvpn-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = df9291c5bd466fe73c2544a800f3b441 +$(DL_FILE)_MD5 = 844ec9c64aae62051478784b8562f881
install : $(TARGET)
@@ -74,7 +74,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) --prefix=/usr \ --sysconfdir=/var/ipfire/ovpn \ --enable-iproute2 \ - --enable-password-save \ --enable-plugins \ --enable-plugin-auth-pam \ --enable-plugin-down-root diff --git a/lfs/pakfire3 b/lfs/pakfire3 index d71d424..e514528 100644 --- a/lfs/pakfire3 +++ b/lfs/pakfire3 @@ -28,7 +28,7 @@ VER = 0.9.25
THISAPP = pakfire-$(VER) DL_FILE = $(THISAPP).tar.gz -DL_FROM = http://source.ipfire.org/releases/pakfire/ +DL_FROM = https://source.ipfire.org/releases/pakfire/ DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = pakfire3 diff --git a/lfs/perl-Font-TTF b/lfs/perl-Font-TTF new file mode 100644 index 0000000..ea60a5e --- /dev/null +++ b/lfs/perl-Font-TTF @@ -0,0 +1,78 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2011 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.06 + +THISAPP = Font-TTF-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) + +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 241b59310ad4450e6e050d5e790f1b21 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +############################################################################### +# 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) && perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/lfs/perl-IO-String b/lfs/perl-IO-String new file mode 100644 index 0000000..6bacfe2 --- /dev/null +++ b/lfs/perl-IO-String @@ -0,0 +1,78 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2011 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.08 + +THISAPP = IO-String-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) + +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 250e5424f290299fc3d6b5d1e9da3835 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +############################################################################### +# 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) && perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/lfs/perl-PDF-API2 b/lfs/perl-PDF-API2 index 8b0af9a..a47a076 100644 --- a/lfs/perl-PDF-API2 +++ b/lfs/perl-PDF-API2 @@ -24,15 +24,14 @@
include Config
-VER = 2.020 +VER = 2.033
THISAPP = PDF-API2-$(VER) DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) + TARGET = $(DIR_INFO)/$(THISAPP) -PROG = perl-PDF-API2 -PAK_VER = 1
############################################################################### # Top-level Rules @@ -42,7 +41,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = c0d20bfd03883b5b2b2a7fd47455249a +$(DL_FILE)_MD5 = 4223a38add42741f996bd67d5f2f8e5b
install : $(TARGET)
@@ -52,9 +51,6 @@ download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
-dist: - @$(PAK) - ############################################################################### # Downloading, checking, md5sum ############################################################################### diff --git a/lfs/squid-accounting b/lfs/squid-accounting index ff78d36..9bc75f0 100644 --- a/lfs/squid-accounting +++ b/lfs/squid-accounting @@ -15,9 +15,9 @@ THISAPP = squid-accounting-$(VER) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = squid-accounting -PAK_VER = 9 +PAK_VER = 10
-DEPS = "perl-DBI perl-DBD-SQLite perl-File-ReadBackwards perl-PDF-API2" +DEPS = "perl-DBI perl-DBD-SQLite perl-File-ReadBackwards"
############################################################################### # Top-level Rules diff --git a/lfs/stage2 b/lfs/stage2 index b70bde7..0a5ac65 100644 --- a/lfs/stage2 +++ b/lfs/stage2 @@ -107,6 +107,7 @@ endif # Move script to correct place. mv -vf /usr/local/bin/ovpn-ccd-convert /usr/sbin/ mv -vf /usr/local/bin/ovpn-collectd-convert /usr/sbin/ + mv -vf /usr/local/bin/captive-cleanup /usr/bin/ # Install firewall scripts. mkdir -pv /usr/lib/firewall diff --git a/lfs/tor b/lfs/tor index 9e46344..867f01f 100644 --- a/lfs/tor +++ b/lfs/tor @@ -24,7 +24,7 @@
include Config
-VER = 0.3.0.10 +VER = 0.3.1.7
THISAPP = tor-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = tor -PAK_VER = 22 +PAK_VER = 23
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = c9920169798c28b60b03fa3f0e592509 +$(DL_FILE)_MD5 = ec7c9f588c9e1a42c09bcc097a1e55eb
install : $(TARGET)
diff --git a/lfs/ubuntu-font-family b/lfs/ubuntu-font-family new file mode 100644 index 0000000..f817b85 --- /dev/null +++ b/lfs/ubuntu-font-family @@ -0,0 +1,78 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2017 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 = 0.83 + +THISAPP = ubuntu-font-family-$(VER) +DL_FILE = $(THISAPP).zip +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = a24b8136b8f3bb93f166baf97d9328de + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +############################################################################### +# 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) && unzip $(DIR_DL)/$(DL_FILE) + + -mkdir -pv /usr/share/fonts + cd $(DIR_APP) && cp -vf *.ttf /usr/share/fonts/ + + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/lfs/unbound b/lfs/unbound index 39ad0de..0648fb7 100644 --- a/lfs/unbound +++ b/lfs/unbound @@ -24,7 +24,7 @@
include Config
-VER = 1.6.6 +VER = 1.6.7
THISAPP = unbound-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = f2cc56bd88c9634fe18334d2421205f1 +$(DL_FILE)_MD5 = 67ed382add11134d689f5e88f8efc43e
install : $(TARGET)
diff --git a/lfs/web-user-interface b/lfs/web-user-interface index 919acbe..0c56882 100644 --- a/lfs/web-user-interface +++ b/lfs/web-user-interface @@ -64,9 +64,28 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) chown -R root:root /srv/web/ipfire chmod -R 755 /srv/web/ipfire/cgi-bin chmod -R 644 /srv/web/ipfire/html - chmod 755 /srv/web/ipfire/html /srv/web/ipfire/html/{index.cgi,redirect.cgi,dial.cgi,images,include,themes,themes/*,themes/*/*} + chmod 755 /srv/web/ipfire/html /srv/web/ipfire/html/{index.cgi,redirect.cgi,images,include,themes,themes/*,themes/*/*} ln -svf ipfire /srv/web/ipfire/html/themes/ipfire-rounded
# Reset permissions of redirect templates and theme directories - find /srv/web/ipfire/html/{redirect-templates,themes} -type d | xargs chmod -v 755 + find /srv/web/ipfire/html/{captive,redirect-templates,themes} -type d | xargs chmod -v 755 + + # Captive Portal CSS + ln -svf --relative /usr/share/bootstrap/css/bootstrap-grid.min.css \ + /srv/web/ipfire/html/captive/assets/bootstrap-grid.min.css + ln -svf --relative /usr/share/bootstrap/css/bootstrap-grid.min.css.map \ + /srv/web/ipfire/html/captive/assets/bootstrap-grid.min.css.map + ln -svf --relative /usr/share/bootstrap/css/bootstrap-reboot.min.css \ + /srv/web/ipfire/html/captive/assets/bootstrap-reboot.min.css + ln -svf --relative /usr/share/bootstrap/css/bootstrap-reboot.min.css.map \ + /srv/web/ipfire/html/captive/assets/bootstrap-reboot.min.css.map + + # Captive Portal Fonts + ln -svf --relative /usr/share/fonts/Ubuntu-L.ttf \ + /srv/web/ipfire/html/captive/assets/Ubuntu-L.ttf + ln -svf --relative /usr/share/fonts/Ubuntu-M.ttf \ + /srv/web/ipfire/html/captive/assets/Ubuntu-M.ttf + ln -svf --relative /usr/share/fonts/Ubuntu-R.ttf \ + /srv/web/ipfire/html/captive/assets/Ubuntu-R.ttf + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 73b7b38..f4a651a 100755 --- a/make.sh +++ b/make.sh @@ -25,8 +25,8 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name VERSION="2.19" # Version number -CORE="114" # Core Level (Filename) -PAKFIRE_CORE="114" # Core Level (PAKFIRE) +CORE="115" # Core Level (Filename) +PAKFIRE_CORE="115" # Core Level (PAKFIRE) GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` # Git Branch SLOGAN="www.ipfire.org" # Software slogan CONFIG_ROOT=/var/ipfire # Configuration rootdir @@ -548,6 +548,7 @@ buildipfire() { lfsmake2 web-user-interface lfsmake2 flag-icons lfsmake2 jquery + lfsmake2 bootstrap lfsmake2 arping lfsmake2 beep lfsmake2 dvdrtools @@ -626,6 +627,7 @@ buildipfire() { lfsmake2 openssh lfsmake2 fontconfig lfsmake2 dejavu-fonts-ttf + lfsmake2 ubuntu-font-family lfsmake2 freefont lfsmake2 pixman lfsmake2 cairo @@ -864,6 +866,8 @@ buildipfire() { lfsmake2 owncloud lfsmake2 bacula lfsmake2 batctl + lfsmake2 perl-Font-TTF + lfsmake2 perl-IO-String lfsmake2 perl-PDF-API2 lfsmake2 squid-accounting lfsmake2 pigz diff --git a/src/initscripts/system/firewall b/src/initscripts/system/firewall index 7bdb292..c4d2fef 100644 --- a/src/initscripts/system/firewall +++ b/src/initscripts/system/firewall @@ -224,6 +224,13 @@ iptables_init() { iptables -A ${i} -j LOOPBACK done
+ # Captive portal + iptables -N CAPTIVE_PORTAL + iptables -N CAPTIVE_PORTAL_CLIENTS + for i in INPUT FORWARD; do + iptables -A ${i} -j CAPTIVE_PORTAL + done + # Accept everything connected for i in INPUT FORWARD OUTPUT; do iptables -A ${i} -j CONNTRACK @@ -337,6 +344,10 @@ iptables_init() { iptables -N UPNPFW iptables -A FORWARD -m conntrack --ctstate NEW -j UPNPFW
+ # Captive Portal + iptables -t nat -N CAPTIVE_PORTAL + iptables -t nat -A PREROUTING -j CAPTIVE_PORTAL + # RED chain, used for the red interface iptables -N REDINPUT iptables -A INPUT -j REDINPUT diff --git a/src/installer/configure.ac b/src/installer/configure.ac index 85c5c5c..fb4858c 100644 --- a/src/installer/configure.ac +++ b/src/installer/configure.ac @@ -76,17 +76,22 @@ PKG_CHECK_MODULES(UDEV, [libudev])
AC_ARG_WITH([distro-name], AS_HELP_STRING([--with-distro-name] [The name of the distribution]), - AC_DEFINE_UNQUOTED([NAME], "$withval", [The name of the distribution]), + AC_DEFINE_UNQUOTED([DISTRO_NAME], "$withval", [The name of the distribution]), AC_MSG_ERROR([*** you need to set the name with --with-distro-name=]))
AC_ARG_WITH([distro-sname], AS_HELP_STRING([--with-distro-sname] [The short name of the distribution]), - AC_DEFINE_UNQUOTED([SNAME], "$withval", [The sname of the distribution]), + AC_DEFINE_UNQUOTED([DISTRO_SNAME], "$withval", [The sname of the distribution]), AC_MSG_ERROR([*** you need to set the sname with --with-distro-sname=]))
+AC_ARG_WITH([distro-version], + AS_HELP_STRING([--with-distro-sname] [The version of the distribution]), + AC_DEFINE_UNQUOTED([DISTRO_VERSION], "$withval", [The version of the distribution]), + AC_MSG_ERROR([*** you need to set the version with --with-distro-version=])) + AC_ARG_WITH([distro-slogan], AS_HELP_STRING([--with-distro-slogan] [The slogan of the distribution]), - AC_DEFINE_UNQUOTED([SLOGAN], "$withval", [The slogan of the distribution]), + AC_DEFINE_UNQUOTED([DISTRO_SLOGAN], "$withval", [The slogan of the distribution]), AC_MSG_ERROR([*** you need to set the slogan with --with-distro-slogan=]))
AC_ARG_WITH([config-root], @@ -111,4 +116,9 @@ AC_MSG_RESULT([ CFLAGS: ${OUR_CFLAGS} ${CFLAGS} CPPFLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS} LDFLAGS: ${OUR_LDFLAGS} ${LDFLAGS} + + Distribution: ${DISTRO_NAME} (${DISTRO_SNAME}) + Version: ${DISTRO_VERSION} + Slogan: ${DISTRO_SLOGAN} + Config Root: ${CONFIG_ROOT} ]) diff --git a/src/installer/dracut-module/module-setup.sh b/src/installer/dracut-module/module-setup.sh index 08dcdd5..b880397 100755 --- a/src/installer/dracut-module/module-setup.sh +++ b/src/installer/dracut-module/module-setup.sh @@ -42,6 +42,9 @@ install() { inst /var/ipfire/dhcpc/dhcpcd-run-hooks inst "$moddir/70-dhcpcd.exe" "/var/ipfire/dhcpc/dhcpcd-hooks/70-dhcpcd.exe"
+ # CAs + inst /etc/ssl/cert.pem + inst /etc/host.conf /etc/protocols inst /etc/nsswitch.conf /etc/resolv.conf inst_libdir_file "libnss_dns.so.*" diff --git a/src/installer/hw.c b/src/installer/hw.c index 362be47..06bf42b 100644 --- a/src/installer/hw.c +++ b/src/installer/hw.c @@ -165,7 +165,7 @@ static int hw_test_source_medium(const char* path) { // Umount the test device. hw_umount(SOURCE_MOUNT_PATH);
- return (ret == 0); + return ret; }
char* hw_find_source_medium(struct hw* hw) { diff --git a/src/installer/hw.h b/src/installer/hw.h index f16b39c..e2d621b 100644 --- a/src/installer/hw.h +++ b/src/installer/hw.h @@ -24,8 +24,8 @@ #include <libudev.h>
#define DESTINATION_MOUNT_PATH "/harddisk" -#define SOURCE_MOUNT_PATH "/cdrom" -#define SOURCE_TEST_FILE SOURCE_MOUNT_PATH "/" VERSION ".media" +#define SOURCE_MOUNT_PATH "/cdrom" +#define SOURCE_TEST_FILE SOURCE_MOUNT_PATH "/" DISTRO_SNAME "-" DISTRO_VERSION ".media"
#define HW_MAX_DISKS 32 #define STRING_SIZE 1024 diff --git a/src/installer/main.c b/src/installer/main.c index c420de3..a364255 100644 --- a/src/installer/main.c +++ b/src/installer/main.c @@ -195,7 +195,7 @@ int write_lang_configs(char* lang) {
/* default stuff for main/settings. */ replacekeyvalue(kv, "LANGUAGE", lang); - replacekeyvalue(kv, "HOSTNAME", SNAME); + replacekeyvalue(kv, "HOSTNAME", DISTRO_SNAME); replacekeyvalue(kv, "THEME", "ipfire"); writekeyvalues(kv, "/harddisk" CONFIG_ROOT "/main/settings"); freekeyvalues(kv); @@ -369,7 +369,7 @@ int main(int argc, char *argv[]) { FILE *copying;
setlocale(LC_ALL, ""); - sethostname(SNAME, 10); + sethostname(DISTRO_SNAME, 10);
/* Log file/terminal stuff. */ FILE* flog = NULL; @@ -398,7 +398,7 @@ int main(int argc, char *argv[]) { if (roottext) newtDrawRootText(0, 0, roottext);
- snprintf(title, sizeof(title), "%s - %s", NAME, SLOGAN); + snprintf(title, sizeof(title), "%s - %s", DISTRO_NAME, DISTRO_SLOGAN);
// Parse parameters from the kernel command line parse_command_line(&config); @@ -448,7 +448,7 @@ int main(int argc, char *argv[]) { 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); + "Selecting Cancel on any of the following screens will reboot the computer."), DISTRO_NAME); newtWinMessage(title, _("Start installation"), message); }
@@ -778,7 +778,7 @@ int main(int argc, char *argv[]) {
// Extract files... snprintf(commandstring, STRING_SIZE, - "/bin/tar -C /harddisk -xvf /cdrom/distro.img --lzma 2>/dev/null"); + "/bin/tar -C /harddisk -xvf /cdrom/distro.img --xz 2>/dev/null");
if (runcommandwithprogress(60, 4, title, commandstring, INST_FILECOUNT, _("Installing the system..."), logfile)) { @@ -933,7 +933,7 @@ int main(int argc, char *argv[]) { "Please remove any installation mediums from this system and hit the reboot button. " "Once the system has restarted you will be asked to setup networking and system passwords. " "After that, you should point your web browser at https://%s:444 (or what ever you name " - "your %s) for the web configuration console."), NAME, SNAME, NAME); + "your %s) for the web configuration console."), DISTRO_NAME, DISTRO_SNAME, DISTRO_NAME); newtWinMessage(_("Congratulations!"), _("Reboot"), message); }
diff --git a/src/installer/po/ar.po b/src/installer/po/ar.po index b138c96..9c1bc24 100644 --- a/src/installer/po/ar.po +++ b/src/installer/po/ar.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# mahmoud mohamed qmcila@gmail.com, 2017 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Arabic (http://www.transifex.com/projects/p/ipfire/language/ar/)%5Cn" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" +"Last-Translator: mahmoud mohamed qmcila@gmail.com\n" +"Language-Team: Arabic (http://www.transifex.com/mstremer/ipfire/language/ar/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -24,11 +25,11 @@ msgstr "" #: main.c:79 main.c:460 main.c:487 main.c:516 main.c:620 main.c:630 main.c:670 #: main.c:702 msgid "Cancel" -msgstr "" +msgstr "الغاء"
#: main.c:176 msgid "I accept this license" -msgstr "" +msgstr "قبول الاتفاقية"
#: main.c:384 msgid "Warning: Unattended installation will start in 10 seconds..." @@ -36,7 +37,7 @@ msgstr ""
#: main.c:403 msgid "Language selection" -msgstr "" +msgstr "اختيار اللغة"
#: main.c:403 msgid "Select the language you wish to use for the installation." diff --git a/src/installer/po/ca.po b/src/installer/po/ca.po index a7d97cf..923f1da 100644 --- a/src/installer/po/ca.po +++ b/src/installer/po/ca.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/ipfire/language/ca/)%5Cn" +"Language-Team: Catalan (http://www.transifex.com/mstremer/ipfire/language/ca/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/cs_CZ.po b/src/installer/po/cs_CZ.po index 4cfc7aa..f00b8fb 100644 --- a/src/installer/po/cs_CZ.po +++ b/src/installer/po/cs_CZ.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/ipfire/language/cs_CZ/)%5Cn" +"Language-Team: Czech (Czech Republic) (http://www.transifex.com/mstremer/ipfire/language/cs_CZ/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/da.po b/src/installer/po/da.po index 459a8dc..04e8c1e 100644 --- a/src/installer/po/da.po +++ b/src/installer/po/da.po @@ -9,9 +9,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2015-01-13 21:22+0000\n" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" "Last-Translator: Henrik Simonsen cybermaze@gmail.com\n" -"Language-Team: Danish (http://www.transifex.com/projects/p/ipfire/language/da/)%5Cn" +"Language-Team: Danish (http://www.transifex.com/mstremer/ipfire/language/da/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/de.po b/src/installer/po/de.po index eab3da5..279982a 100644 --- a/src/installer/po/de.po +++ b/src/installer/po/de.po @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2015-05-07 16:56+0000\n" +"PO-Revision-Date: 2017-09-23 20:08+0000\n" "Last-Translator: Sun Tiger\n" "Language-Team: German (http://www.transifex.com/mstremer/ipfire/language/de/)%5Cn" "MIME-Version: 1.0\n" diff --git a/src/installer/po/el_GR.po b/src/installer/po/el_GR.po index cf5ec2b..8315230 100644 --- a/src/installer/po/el_GR.po +++ b/src/installer/po/el_GR.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Greek (Greece) (http://www.transifex.com/projects/p/ipfire/language/el_GR/)%5Cn" +"Language-Team: Greek (Greece) (http://www.transifex.com/mstremer/ipfire/language/el_GR/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/es.po b/src/installer/po/es.po index 725ebef..a3036c6 100644 --- a/src/installer/po/es.po +++ b/src/installer/po/es.po @@ -10,9 +10,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2015-02-01 09:23+0000\n" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" "Last-Translator: Roberto Peña roberto.pena@northsecure.es\n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/ipfire/language/es/)%5Cn" +"Language-Team: Spanish (http://www.transifex.com/mstremer/ipfire/language/es/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/fa.po b/src/installer/po/fa.po index 4760c50..5420f9a 100644 --- a/src/installer/po/fa.po +++ b/src/installer/po/fa.po @@ -9,9 +9,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2015-02-17 23:49+0000\n" +"PO-Revision-Date: 2017-09-23 20:08+0000\n" "Last-Translator: Khalil Delavaran khalil.delavaran@gmail.com\n" -"Language-Team: Persian (http://www.transifex.com/projects/p/ipfire/language/fa/)%5Cn" +"Language-Team: Persian (http://www.transifex.com/mstremer/ipfire/language/fa/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/fr.po b/src/installer/po/fr.po index 68a5ad0..818bdb4 100644 --- a/src/installer/po/fr.po +++ b/src/installer/po/fr.po @@ -4,14 +4,15 @@ # # Translators: # nonux nonux@free.fr, 2015 +# Philippe B philippe@123-newbeetle.com, 2016 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2015-02-17 23:23+0000\n" -"Last-Translator: nonux nonux@free.fr\n" -"Language-Team: French (http://www.transifex.com/projects/p/ipfire/language/fr/)%5Cn" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" +"Last-Translator: Philippe B philippe@123-newbeetle.com\n" +"Language-Team: French (http://www.transifex.com/mstremer/ipfire/language/fr/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -20,7 +21,7 @@ msgstr ""
#: main.c:78 main.c:179 main.c:404 main.c:670 main.c:702 main.c:893 msgid "OK" -msgstr "" +msgstr "OK"
#: main.c:79 main.c:460 main.c:487 main.c:516 main.c:620 main.c:630 main.c:670 #: main.c:702 @@ -33,7 +34,7 @@ msgstr "J'accepte la licence"
#: main.c:384 msgid "Warning: Unattended installation will start in 10 seconds..." -msgstr "" +msgstr "Attention: Une installation sans surveillance va débuter dans 10 secondes..."
#: main.c:403 msgid "Language selection" @@ -45,11 +46,11 @@ msgstr "Sélectionnez la langue que vous souhaitez utiliser pour l'installation.
#: main.c:418 msgid "Unattended mode" -msgstr "" +msgstr "Mode non surveillé"
#: main.c:420 msgid "<Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen" -msgstr "" +msgstr "<Tab>/<Alt-Tab> entre les éléments | <Espace> sélectionne | <F12> écran suivant"
#: main.c:426 #, c-format @@ -57,7 +58,7 @@ msgid "" "Welcome to the %s installation program.\n" "\n" "Selecting Cancel on any of the following screens will reboot the computer." -msgstr "" +msgstr "Bienvenue dans le programme d'installation de %s.\n\nSélectionner Echap sur une écran redémarrera l'ordinateur."
#: main.c:428 msgid "Start installation" @@ -74,13 +75,13 @@ msgid "" "No source drive could be found.\n" "\n" "You can try downloading the required installation image." -msgstr "" +msgstr "Aucune disque source trouvé.\n\nVous pouvez essayer de télécharger l'image d'installation nécessaire."
#: main.c:456 msgid "" "Please make sure to connect your machine to a network and the installer will" " try connect to acquire an IP address." -msgstr "" +msgstr "Soyez certain que votre machine est connectée à un réseau et l'installateur va tenter de récupérer une adresse IP."
#: main.c:460 msgid "Download installation image" @@ -95,7 +96,7 @@ msgid "" "Networking could not be started but is required to go on with the installation.\n" "\n" "Please connect your machine to a network with a DHCP server and retry." -msgstr "" +msgstr "Une connexion réseau ne peut être initiée et est nécessaire pour pour poursuivre l'installation.\n\nMerci de connecter votre machine à une serveur DHCP et réessayer."
#: main.c:487 main.c:516 msgid "Retry" @@ -108,7 +109,7 @@ msgstr "Téléchargement de l'image d'installation ..." #: main.c:510 #, c-format msgid "MD5 checksum mismatch" -msgstr "" +msgstr "Erreur de vérification contrôle MD5"
#: main.c:513 #, c-format @@ -117,14 +118,14 @@ msgid "" " Reason: %s\n" "\n" "%s" -msgstr "" +msgstr "L'image d'installation ne peut être téléchargée.\nRaison:%s\n\n%s"
#: main.c:528 #, c-format msgid "" "Could not mount %s to %s:\n" " %s\n" -msgstr "" +msgstr "Impossible de monter %s vers %s:\n%s\n"
#: main.c:543 msgid "License Agreement" @@ -147,14 +148,14 @@ msgid "" "Select the disk(s) you want to install IPFire on. First those will be partitioned, and then the partitions will have a filesystem put on them.\n" "\n" "ALL DATA ON THE DISK WILL BE DESTROYED." -msgstr "" +msgstr "Selectionner le disque sur lequel vous voulez installer IPFire. Il sera d'abord partitioné et un système de fichier y sera créé.\n\nTOUTES LES DONNÉES DUS DISQUE SERONT PERDUES."
#: main.c:599 msgid "" "No disk has been selected.\n" "\n" "Please select one or more disks you want to install IPFire on." -msgstr "" +msgstr "Aucun disque selectionné.\n\nSelectionnez un dsique au moins sur le(s)quel(s) sera installé IPFire."
#: main.c:617 #, c-format @@ -164,7 +165,7 @@ msgid "" " %s\n" "\n" "Do you agree to continue?" -msgstr "" +msgstr "Le programme d'installation va maintenant préparer le disque choisi.\n\n%s\n\nEtes vous d'accord pour continuer?"
#: main.c:619 msgid "Disk Setup" @@ -183,11 +184,11 @@ msgid "" " %s\n" "\n" "Do you agree to continue?" -msgstr "" +msgstr "Le programme d'installation va maintenant paramétrer la configuration RAID sur les disques sélectionnés.\n\n%s\n%s\n\nEtes vous d'accord pour continuer?"
#: main.c:629 msgid "RAID Setup" -msgstr "" +msgstr "Paramétrage RAID"
#: main.c:640 msgid "Your disk configuration is currently not supported." @@ -264,30 +265,30 @@ msgstr "Impossible d'installer le système."
#: main.c:777 msgid "Installing the language cache..." -msgstr "" +msgstr "Installation du cache de langage..."
#: main.c:778 msgid "Unable to install the language cache." -msgstr "" +msgstr "Impossible d'installer le cache de langage."
#: main.c:783 msgid "Installing the bootloader..." -msgstr "" +msgstr "Installation du bootloader..."
#: main.c:790 msgid "Unable to open /etc/default/grub for writing." -msgstr "" +msgstr "Impossible d'ouvrir /etc/default/grub en écriture."
#: main.c:812 msgid "Unable to install the bootloader." -msgstr "" +msgstr "Impossible d'installer le bootloader."
#: main.c:826 msgid "" "A backup file has been found on the installation image.\n" "\n" "Do you want to restore the backup?" -msgstr "" +msgstr "Un fichier de sauvegarde a été trouvé sur l'image d'installation.\n\nVoulez vous restaurer cette sauvegarde?"
#: main.c:827 msgid "Yes" @@ -299,15 +300,15 @@ msgstr "Non"
#: main.c:834 msgid "An error occured when the backup file was restored." -msgstr "" +msgstr "Une erreur est survenue lors de la restauration du fichier de sauvegarde."
#: main.c:869 msgid "Running post-install script..." -msgstr "" +msgstr "Execution du script de post installation..."
#: main.c:870 msgid "Post-install script failed." -msgstr "" +msgstr "Echec du script de post installation."
#: main.c:877 #, c-format @@ -315,11 +316,11 @@ msgid "" "%s was successfully installed!\n" "\n" "Please remove any installation mediums from this system and hit the reboot button. Once the system has restarted you will be asked to setup networking and system passwords. After that, you should point your web browser at https://%s:444 (or what ever you name your %s) for the web configuration console." -msgstr "" +msgstr "%s a été installé correctement.\n\nRetirer tous les médias d'installation du système et appuyer sur redémarrer. Une fois que le système redémarré, vous devrez paramètrer les réseaux et les mots de passe système. Ensuite, vous devrez faire pointer votre navigateur vers https://%s:444 (ou le nom que vous avez donné à votre %s) pour la console de configuration web."
#: main.c:882 msgid "Congratulations!" -msgstr "" +msgstr "Félécitations!"
#: main.c:882 msgid "Reboot" diff --git a/src/installer/po/hr.po b/src/installer/po/hr.po index 3638f10..abfec72 100644 --- a/src/installer/po/hr.po +++ b/src/installer/po/hr.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2015-01-26 12:07+0000\n" +"PO-Revision-Date: 2017-09-21 12:48+0000\n" "Last-Translator: Blago Culjak blago.culjak@hotmail.com\n" -"Language-Team: Croatian (http://www.transifex.com/projects/p/ipfire/language/hr/)%5Cn" +"Language-Team: Croatian (http://www.transifex.com/mstremer/ipfire/language/hr/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/hu.po b/src/installer/po/hu.po index 7e9e198..c69fd4b 100644 --- a/src/installer/po/hu.po +++ b/src/installer/po/hu.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Gábor Sávolyi, 2016 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Hungarian (http://www.transifex.com/projects/p/ipfire/language/hu/)%5Cn" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" +"Last-Translator: Gábor Sávolyi\n" +"Language-Team: Hungarian (http://www.transifex.com/mstremer/ipfire/language/hu/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -19,36 +20,36 @@ msgstr ""
#: main.c:78 main.c:179 main.c:404 main.c:670 main.c:702 main.c:893 msgid "OK" -msgstr "" +msgstr "Rendben"
#: main.c:79 main.c:460 main.c:487 main.c:516 main.c:620 main.c:630 main.c:670 #: main.c:702 msgid "Cancel" -msgstr "" +msgstr "Mégsem"
#: main.c:176 msgid "I accept this license" -msgstr "" +msgstr "Fentieket megértettem"
#: main.c:384 msgid "Warning: Unattended installation will start in 10 seconds..." -msgstr "" +msgstr "Figyelem: A felügyelet nélküli telepítés 10 másodperc múlva indul..."
#: main.c:403 msgid "Language selection" -msgstr "" +msgstr "Nyelv kiválasztása"
#: main.c:403 msgid "Select the language you wish to use for the installation." -msgstr "" +msgstr "Válaszd ki a telepítés nyelvét."
#: main.c:418 msgid "Unattended mode" -msgstr "" +msgstr "Felügyelet nélküli mód"
#: main.c:420 msgid "<Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen" -msgstr "" +msgstr "<Tab>/<Alt-Tab> elemek közötti váltás | <Space> kiválasztás | <F12> következő képernyő"
#: main.c:426 #, c-format @@ -56,16 +57,16 @@ msgid "" "Welcome to the %s installation program.\n" "\n" "Selecting Cancel on any of the following screens will reboot the computer." -msgstr "" +msgstr "Üdvözöl az %s telepítőprogram.\n\nBármely későbbi képernyőn a Mégsem újraindítja a számítógépet."
#: main.c:428 msgid "Start installation" -msgstr "" +msgstr "Telepítés indítása"
#: main.c:449 #, c-format msgid "The installer will now try downloading the installation image." -msgstr "" +msgstr "A telepítő most megpróbálja letölteni a telepítési képet."
#: main.c:452 #, c-format @@ -73,41 +74,41 @@ msgid "" "No source drive could be found.\n" "\n" "You can try downloading the required installation image." -msgstr "" +msgstr "Nem található forrásmeghajtó.\n\nMegpróbálhatod letölteni a szükséges telepítési képet."
#: main.c:456 msgid "" "Please make sure to connect your machine to a network and the installer will" " try connect to acquire an IP address." -msgstr "" +msgstr "Ellenőrizd, hogy a gép csatlakozik a hálózathoz és a telepítő megpróbál csatlakozni."
#: main.c:460 msgid "Download installation image" -msgstr "" +msgstr "Telepítési kép letöltése"
#: main.c:473 msgid "Trying to start networking (DHCP)..." -msgstr "" +msgstr "Kísérlet a hálózat elindítására (DHCP)..."
#: main.c:484 msgid "" "Networking could not be started but is required to go on with the installation.\n" "\n" "Please connect your machine to a network with a DHCP server and retry." -msgstr "" +msgstr "A hálózat nem indult el, de szükséges a telepítéshez.\n\nCsatlakoztasd a gépet egy DHCP-vel rendelkező hálózathoz és próbáld újra."
#: main.c:487 main.c:516 msgid "Retry" -msgstr "" +msgstr "Újból"
#: main.c:501 msgid "Downloading installation image..." -msgstr "" +msgstr "Telepítési kép letöltése..."
#: main.c:510 #, c-format msgid "MD5 checksum mismatch" -msgstr "" +msgstr "MD5 ellenőrzés sikertelen"
#: main.c:513 #, c-format @@ -116,44 +117,44 @@ msgid "" " Reason: %s\n" "\n" "%s" -msgstr "" +msgstr "A telepítési kép nem letölthető.\nOk: %s\n\n%s"
#: main.c:528 #, c-format msgid "" "Could not mount %s to %s:\n" " %s\n" -msgstr "" +msgstr "Nem sikerült csatolni %s ide %s:\n %s\n"
#: main.c:543 msgid "License Agreement" -msgstr "" +msgstr "Liszensz elfogadás"
#: main.c:544 msgid "License not accepted!" -msgstr "" +msgstr "A liszenszt nem fogadtad el!"
#: main.c:566 msgid "No hard disk found." -msgstr "" +msgstr "Nem található lemez."
#: main.c:587 msgid "Disk Selection" -msgstr "" +msgstr "Lemez kiválasztása"
#: main.c:588 msgid "" "Select the disk(s) you want to install IPFire on. First those will be partitioned, and then the partitions will have a filesystem put on them.\n" "\n" "ALL DATA ON THE DISK WILL BE DESTROYED." -msgstr "" +msgstr "Válaszd ki a meghajtó(ka)t, ahova az IPFire települjön. Újra lesznek partícionálva és formázásra kerülnek.\n\nMINDEN KORÁBBI ADAT A MEGHAJTÓN MEG FOG SEMMISÜLNI!"
#: main.c:599 msgid "" "No disk has been selected.\n" "\n" "Please select one or more disks you want to install IPFire on." -msgstr "" +msgstr "Nincs meghajtó kiválasztva.\n\nVálassz ki legalább egy meghajtót, ahova az IPFire-t telepítenéd."
#: main.c:617 #, c-format @@ -163,15 +164,15 @@ msgid "" " %s\n" "\n" "Do you agree to continue?" -msgstr "" +msgstr "A telepítő most be fogja állítani a következő meghajtót:\n\n%s\n\nBiztos, hogy folytatod?"
#: main.c:619 msgid "Disk Setup" -msgstr "" +msgstr "Lemez beállítása"
#: main.c:620 main.c:630 msgid "Delete all data" -msgstr "" +msgstr "Minden adat törtlése"
#: main.c:627 #, c-format @@ -182,131 +183,131 @@ msgid "" " %s\n" "\n" "Do you agree to continue?" -msgstr "" +msgstr "A telepítő most beállítja a RAID tömböket a következő meghajtókon:\n\n%s\n%s\n\nBiztos, hogy folytatod?"
#: main.c:629 msgid "RAID Setup" -msgstr "" +msgstr "RAID Beállítás"
#: main.c:640 msgid "Your disk configuration is currently not supported." -msgstr "" +msgstr "A meghajtóbeállításod nem támogatott."
#: main.c:655 msgid "Your harddisk is too small." -msgstr "" +msgstr "A meghajtód túl kicsi."
#: main.c:671 msgid "" "Your harddisk is very small, but you can continue without a swap partition." -msgstr "" +msgstr "A meghajtód túl kicsi, de folytathatod swap partíció nélkül."
#: main.c:684 msgid "ext4 Filesystem" -msgstr "" +msgstr "ext4 fájlrendszer"
#: main.c:685 msgid "ext4 Filesystem without journal" -msgstr "" +msgstr "ext4 fájlrendszer naplók nélkül"
#: main.c:686 msgid "XFS Filesystem" -msgstr "" +msgstr "XFS fájlrendszer"
#: main.c:687 msgid "ReiserFS Filesystem" -msgstr "" +msgstr "ReiserFS fájlrendszer"
#: main.c:701 msgid "Filesystem Selection" -msgstr "" +msgstr "Fájlrendszer Kiválasztása"
#: main.c:701 msgid "Please choose your filesystem:" -msgstr "" +msgstr "Válaszd ki a fájlrendszert:"
#: main.c:712 msgid "Building RAID..." -msgstr "" +msgstr "RAID felépítése..."
#: main.c:716 msgid "Unable to build the RAID." -msgstr "" +msgstr "A RAID felépítése sikertelen."
#: main.c:728 msgid "Partitioning disk..." -msgstr "" +msgstr "Lemez partícionálása..."
#: main.c:732 msgid "Unable to partition the disk." -msgstr "" +msgstr "A lemez partícionálása sikertelen."
#: main.c:739 msgid "Creating filesystems..." -msgstr "" +msgstr "Fájlrendszerek lértehozása..."
#: main.c:743 msgid "Unable to create filesystems." -msgstr "" +msgstr "A fájlrendszerek létrehozása sikertelen."
#: main.c:749 msgid "Unable to mount filesystems." -msgstr "" +msgstr "A fájlrendszerek csatolása sikertelen."
#: main.c:760 msgid "Installing the system..." -msgstr "" +msgstr "A rendszer telepítése..."
#: main.c:761 msgid "Unable to install the system." -msgstr "" +msgstr "A rendszer telepítése sikertelen."
#: main.c:777 msgid "Installing the language cache..." -msgstr "" +msgstr "A nyelv telepítése..."
#: main.c:778 msgid "Unable to install the language cache." -msgstr "" +msgstr "A nyelv telepítése sikertelen."
#: main.c:783 msgid "Installing the bootloader..." -msgstr "" +msgstr "A rendszertöltő telepítése..."
#: main.c:790 msgid "Unable to open /etc/default/grub for writing." -msgstr "" +msgstr "Nem sikerült megnyitni írásra: /etc/default/grub"
#: main.c:812 msgid "Unable to install the bootloader." -msgstr "" +msgstr "A rendszertöltő telepítése sikertelen."
#: main.c:826 msgid "" "A backup file has been found on the installation image.\n" "\n" "Do you want to restore the backup?" -msgstr "" +msgstr "A telepítő tartalmaz biztonsági mentést.\n\nVisszaállítod?"
#: main.c:827 msgid "Yes" -msgstr "" +msgstr "Igen"
#: main.c:827 msgid "No" -msgstr "" +msgstr "Nem"
#: main.c:834 msgid "An error occured when the backup file was restored." -msgstr "" +msgstr "Hiba a biztosnági mentés visszaállítása során."
#: main.c:869 msgid "Running post-install script..." -msgstr "" +msgstr "Telepítés utáni szkript futtatása..."
#: main.c:870 msgid "Post-install script failed." -msgstr "" +msgstr "A telepítés utáni szkript futtatása sikertelen."
#: main.c:877 #, c-format @@ -314,16 +315,16 @@ msgid "" "%s was successfully installed!\n" "\n" "Please remove any installation mediums from this system and hit the reboot button. Once the system has restarted you will be asked to setup networking and system passwords. After that, you should point your web browser at https://%s:444 (or what ever you name your %s) for the web configuration console." -msgstr "" +msgstr "%s sikeresen feltelepült!\n\nTávolítsd el a telepítő médiát a gépből és nyomj Újraindítás-t. Első indításkor meg kell adnod a hálózati beállításokat és a rendszerjelszavakat. Ezek után már böngészőből is be tudsz jelentkezni a https://%s:444 címen (vagy ahogy elnevezted a gépet: %s) és konfigurálni a rendszert."
#: main.c:882 msgid "Congratulations!" -msgstr "" +msgstr "Gratulálok!"
#: main.c:882 msgid "Reboot" -msgstr "" +msgstr "Újraindítás"
#: main.c:893 msgid "Setup has failed. Press Ok to reboot." -msgstr "" +msgstr "A beállítás sikertelen. Nyomj Rendben-t az újraindításhoz." diff --git a/src/installer/po/id.po b/src/installer/po/id.po index e4cc4c1..96f3d4d 100644 --- a/src/installer/po/id.po +++ b/src/installer/po/id.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/ipfire/language/id/)%5Cn" +"Language-Team: Indonesian (http://www.transifex.com/mstremer/ipfire/language/id/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/it.po b/src/installer/po/it.po index d938f37..730ab70 100644 --- a/src/installer/po/it.po +++ b/src/installer/po/it.po @@ -10,9 +10,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-12-06 18:41+0000\n" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" "Last-Translator: Gabriele\n" -"Language-Team: Italian (http://www.transifex.com/projects/p/ipfire/language/it/)%5Cn" +"Language-Team: Italian (http://www.transifex.com/mstremer/ipfire/language/it/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/ja.po b/src/installer/po/ja.po index 5a14029..f45b101 100644 --- a/src/installer/po/ja.po +++ b/src/installer/po/ja.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Ronny Heinrich heinrich@matsumoto-wadokueikyoushitsu.com, 2016 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Japanese (http://www.transifex.com/projects/p/ipfire/language/ja/)%5Cn" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" +"Last-Translator: Ronny Heinrich heinrich@matsumoto-wadokueikyoushitsu.com\n" +"Language-Team: Japanese (http://www.transifex.com/mstremer/ipfire/language/ja/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -19,36 +20,36 @@ msgstr ""
#: main.c:78 main.c:179 main.c:404 main.c:670 main.c:702 main.c:893 msgid "OK" -msgstr "" +msgstr "OK"
#: main.c:79 main.c:460 main.c:487 main.c:516 main.c:620 main.c:630 main.c:670 #: main.c:702 msgid "Cancel" -msgstr "" +msgstr "キャンセル"
#: main.c:176 msgid "I accept this license" -msgstr "" +msgstr "このライセンスを応諾する。"
#: main.c:384 msgid "Warning: Unattended installation will start in 10 seconds..." -msgstr "" +msgstr "注意:10秒後、自動でのインストールが開始する・・・"
#: main.c:403 msgid "Language selection" -msgstr "" +msgstr "言語選択"
#: main.c:403 msgid "Select the language you wish to use for the installation." -msgstr "" +msgstr "インストール言語を選んで下さい。"
#: main.c:418 msgid "Unattended mode" -msgstr "" +msgstr "自動でのインストール・モード"
#: main.c:420 msgid "<Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen" -msgstr "" +msgstr "<Tab>/<Alt-Tab> エレメントの間 | <Space> 選択 | <F12> 次の画面"
#: main.c:426 #, c-format @@ -56,16 +57,16 @@ msgid "" "Welcome to the %s installation program.\n" "\n" "Selecting Cancel on any of the following screens will reboot the computer." -msgstr "" +msgstr "%s のインストール・プログラムへようこそ。\n\n次の画面の1つで、キャンセルを選ぶと、パソコンの再起動になります。"
#: main.c:428 msgid "Start installation" -msgstr "" +msgstr "インストールを実行する"
#: main.c:449 #, c-format msgid "The installer will now try downloading the installation image." -msgstr "" +msgstr "インストーラーはインストール・イメージをダウンロードしてみます。"
#: main.c:452 #, c-format @@ -73,41 +74,41 @@ msgid "" "No source drive could be found.\n" "\n" "You can try downloading the required installation image." -msgstr "" +msgstr "ソース・ドライブが見つかりませんでした。\n\n必要なインストール・イメージをダウンロードしてみてください。"
#: main.c:456 msgid "" "Please make sure to connect your machine to a network and the installer will" " try connect to acquire an IP address." -msgstr "" +msgstr "パソコンはネットワークと接続したかを確認してください。インストーラーは接続して、IPアドレスを得ってみます。"
#: main.c:460 msgid "Download installation image" -msgstr "" +msgstr "インストール・イメージをダウンロードしています。"
#: main.c:473 msgid "Trying to start networking (DHCP)..." -msgstr "" +msgstr "ネットワークと接続しています(DHCP)・・・"
#: main.c:484 msgid "" "Networking could not be started but is required to go on with the installation.\n" "\n" "Please connect your machine to a network with a DHCP server and retry." -msgstr "" +msgstr "ネットワークと接続が出来ませんでしたが、インストールを綴れるために必要です。\n\nパソコンをDHCPサーバーがあるネットワークと接続して、実行直して下さい。"
#: main.c:487 main.c:516 msgid "Retry" -msgstr "" +msgstr "実行直し"
#: main.c:501 msgid "Downloading installation image..." -msgstr "" +msgstr "インストール・イメージをダウンロードしています・・・"
#: main.c:510 #, c-format msgid "MD5 checksum mismatch" -msgstr "" +msgstr "MD5検査合計が不正です。"
#: main.c:513 #, c-format @@ -116,44 +117,44 @@ msgid "" " Reason: %s\n" "\n" "%s" -msgstr "" +msgstr "インストール・イメージが正規にダウンロードが出来ませんでした。\n原因:%s\n\n%s"
#: main.c:528 #, c-format msgid "" "Could not mount %s to %s:\n" " %s\n" -msgstr "" +msgstr "%s は %s にマウントが出来ませんでした:\n%s\n"
#: main.c:543 msgid "License Agreement" -msgstr "" +msgstr "ライセンス・アグリーメント"
#: main.c:544 msgid "License not accepted!" -msgstr "" +msgstr "ライセンスを否定しました!"
#: main.c:566 msgid "No hard disk found." -msgstr "" +msgstr "ハード・ディスクを見つかりませんでした。"
#: main.c:587 msgid "Disk Selection" -msgstr "" +msgstr "ハード・ディスクの選択"
#: main.c:588 msgid "" "Select the disk(s) you want to install IPFire on. First those will be partitioned, and then the partitions will have a filesystem put on them.\n" "\n" "ALL DATA ON THE DISK WILL BE DESTROYED." -msgstr "" +msgstr "IPFireをインストールハードデスクを選んで下さい。その選んだハードデスクではパーティションをしてから、ファイルシステムを作成します。\n\n注意:このパスワードの全てののデータは解除しています!!"
#: main.c:599 msgid "" "No disk has been selected.\n" "\n" "Please select one or more disks you want to install IPFire on." -msgstr "" +msgstr "ハードデスクが選択しませんでした。\n\nIPFireをインストールハードデスクを選んでください。"
#: main.c:617 #, c-format @@ -163,15 +164,15 @@ msgid "" " %s\n" "\n" "Do you agree to continue?" -msgstr "" +msgstr "インストーラーは下記の選んだハードデスクを準備しています:\n\n %s\n\n続けを応諾していますか。"
#: main.c:619 msgid "Disk Setup" -msgstr "" +msgstr "ディスク設定"
#: main.c:620 main.c:630 msgid "Delete all data" -msgstr "" +msgstr "全てのデータを解除しています。"
#: main.c:627 #, c-format @@ -182,131 +183,131 @@ msgid "" " %s\n" "\n" "Do you agree to continue?" -msgstr "" +msgstr "インストーラーは下記の選んだハードデスクでRAIDコンフィグレーションを実行しています:\n\n %s\n %s\n\n続けを応諾していますか。"
#: main.c:629 msgid "RAID Setup" -msgstr "" +msgstr "RAID設定"
#: main.c:640 msgid "Your disk configuration is currently not supported." -msgstr "" +msgstr "現在、貴方のディスクコンフィグレーションが使用出来ません。"
#: main.c:655 msgid "Your harddisk is too small." -msgstr "" +msgstr "ハードデスクの空スペースが不足です。"
#: main.c:671 msgid "" "Your harddisk is very small, but you can continue without a swap partition." -msgstr "" +msgstr "ハードデスクのスペースが少ないですが、スワップ無い状態で続けることが出来ます。"
#: main.c:684 msgid "ext4 Filesystem" -msgstr "" +msgstr "ext4ファイルシステム"
#: main.c:685 msgid "ext4 Filesystem without journal" -msgstr "" +msgstr "ext4ファイルシステム ジャーナル無い"
#: main.c:686 msgid "XFS Filesystem" -msgstr "" +msgstr "XFSファイルシステム"
#: main.c:687 msgid "ReiserFS Filesystem" -msgstr "" +msgstr "ReiserFSファイルシステム"
#: main.c:701 msgid "Filesystem Selection" -msgstr "" +msgstr "ファイルシステム選択"
#: main.c:701 msgid "Please choose your filesystem:" -msgstr "" +msgstr "使用したいファイルシステムを選んで下さい:"
#: main.c:712 msgid "Building RAID..." -msgstr "" +msgstr "RAIDを作成しています・・・"
#: main.c:716 msgid "Unable to build the RAID." -msgstr "" +msgstr "RAIDが作成出来ませんでした。"
#: main.c:728 msgid "Partitioning disk..." -msgstr "" +msgstr "ディスクをパーティションしています・・・"
#: main.c:732 msgid "Unable to partition the disk." -msgstr "" +msgstr "ディスクがパーティション出来ませんでした。"
#: main.c:739 msgid "Creating filesystems..." -msgstr "" +msgstr "ファイルシステムを作成しています・・・"
#: main.c:743 msgid "Unable to create filesystems." -msgstr "" +msgstr "ファイルシステムが作成出来ませんでした。"
#: main.c:749 msgid "Unable to mount filesystems." -msgstr "" +msgstr "ファイルシステムがマウント出来ませんでした。"
#: main.c:760 msgid "Installing the system..." -msgstr "" +msgstr "システムをインストールしています・・・"
#: main.c:761 msgid "Unable to install the system." -msgstr "" +msgstr "システムがインストール出来ませんでした。"
#: main.c:777 msgid "Installing the language cache..." -msgstr "" +msgstr "言語キャッシュをインストールしています・・・"
#: main.c:778 msgid "Unable to install the language cache." -msgstr "" +msgstr "言語キャッシュがインストール出来ませんでした。"
#: main.c:783 msgid "Installing the bootloader..." -msgstr "" +msgstr "ブートローダをインストールしています・・・"
#: main.c:790 msgid "Unable to open /etc/default/grub for writing." -msgstr "" +msgstr "書き込む為、/etc/default/grubが開けませんでした。"
#: main.c:812 msgid "Unable to install the bootloader." -msgstr "" +msgstr "ブートローダがインストール出来ませんでした。"
#: main.c:826 msgid "" "A backup file has been found on the installation image.\n" "\n" "Do you want to restore the backup?" -msgstr "" +msgstr "インストール・イメージでバック・アップファイルが発見しました。\n\nバック・アップをリストアしてほしいですか。"
#: main.c:827 msgid "Yes" -msgstr "" +msgstr "はい"
#: main.c:827 msgid "No" -msgstr "" +msgstr "いいえ"
#: main.c:834 msgid "An error occured when the backup file was restored." -msgstr "" +msgstr "バック・アップをリストア中、エラーが発生しました。"
#: main.c:869 msgid "Running post-install script..." -msgstr "" +msgstr "インストール後のスクリプトを実行しています・・・"
#: main.c:870 msgid "Post-install script failed." -msgstr "" +msgstr "インストール後のスクリプトが実行出来ませんでした。"
#: main.c:877 #, c-format @@ -314,16 +315,16 @@ msgid "" "%s was successfully installed!\n" "\n" "Please remove any installation mediums from this system and hit the reboot button. Once the system has restarted you will be asked to setup networking and system passwords. After that, you should point your web browser at https://%s:444 (or what ever you name your %s) for the web configuration console." -msgstr "" +msgstr "%s は正規にインストールしました!\n\nこのシステムから全てのインストール・メディアを外して、再起動ボタンを押してください。再起動したら、ネットワーク及びシステム・パスワードの設定で続けです。終了したら、ウェッブ・コンフィグレーション・コンソールの為、ウェッブ・ブラウザーにhttps://%s:444 (とか自分で %sに上げた名前) を記入して下さい。"
#: main.c:882 msgid "Congratulations!" -msgstr "" +msgstr "お疲れ様でした!"
#: main.c:882 msgid "Reboot" -msgstr "" +msgstr "再起動"
#: main.c:893 msgid "Setup has failed. Press Ok to reboot." -msgstr "" +msgstr "設定のエラーが発生しました。再起動の為、OKボタンを押して下さい。" diff --git a/src/installer/po/jv.po b/src/installer/po/jv.po index 333dea3..0cee8b5 100644 --- a/src/installer/po/jv.po +++ b/src/installer/po/jv.po @@ -10,7 +10,7 @@ msgstr "" "POT-Creation-Date: 2014-11-05 01:29+0000\n" "PO-Revision-Date: 2014-07-31 09:39+0000\n" "Last-Translator: FULL NAME EMAIL@ADDRESS\n" -"Language-Team: Javanese (http://www.transifex.com/projects/p/ipfire/language/jv/)%5Cn" +"Language-Team: Javanese (http://www.transifex.com/mstremer/ipfire/language/jv/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/km_KH.po b/src/installer/po/km_KH.po index b4e5f89..a7e10a5 100644 --- a/src/installer/po/km_KH.po +++ b/src/installer/po/km_KH.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Khmer (Cambodia) (http://www.transifex.com/projects/p/ipfire/language/km_KH/)%5Cn" +"Language-Team: Khmer (Cambodia) (http://www.transifex.com/mstremer/ipfire/language/km_KH/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/nl.po b/src/installer/po/nl.po index 009e9c4..eab31aa 100644 --- a/src/installer/po/nl.po +++ b/src/installer/po/nl.po @@ -9,9 +9,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2015-01-26 07:37+0000\n" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" "Last-Translator: Jacques Hylkema j.hylkema@intronics.nl\n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/ipfire/language/nl/)%5Cn" +"Language-Team: Dutch (http://www.transifex.com/mstremer/ipfire/language/nl/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/pl.po b/src/installer/po/pl.po index 056eea1..6a5fc1f 100644 --- a/src/installer/po/pl.po +++ b/src/installer/po/pl.po @@ -4,21 +4,21 @@ # # Translators: # btelega btelega@gmail.com, 2014 -# Przemysław Karpeta przemyslaw.karpeta@gmail.com, 2014 +# Przemyslaw Ka. przemyslaw.karpeta@gmail.com, 2014 # Przemyslaw Zdroik zdroyer@gmail.com, 2015 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2015-01-26 10:41+0000\n" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" "Last-Translator: Przemyslaw Zdroik zdroyer@gmail.com\n" -"Language-Team: Polish (http://www.transifex.com/projects/p/ipfire/language/pl/)%5Cn" +"Language-Team: Polish (http://www.transifex.com/mstremer/ipfire/language/pl/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#: main.c:78 main.c:179 main.c:404 main.c:670 main.c:702 main.c:893 msgid "OK" diff --git a/src/installer/po/pt_BR.po b/src/installer/po/pt_BR.po index e78c1b4..f9140e5 100644 --- a/src/installer/po/pt_BR.po +++ b/src/installer/po/pt_BR.po @@ -12,9 +12,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2015-03-24 21:30+0000\n" +"PO-Revision-Date: 2017-09-23 20:08+0000\n" "Last-Translator: Moisés Bites Borges de Castro moisesbites@gmail.com\n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/ipfire/language/pt_BR/)%5Cn" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/mstremer/ipfire/language/pt_BR/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/pt_PT.po b/src/installer/po/pt_PT.po index 5b70188..6251157 100644 --- a/src/installer/po/pt_PT.po +++ b/src/installer/po/pt_PT.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# André Pinto andrerafaelpinto@hotmail.com, 2015 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/ipfire/language/pt_PT/)%5Cn" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" +"Last-Translator: André Pinto andrerafaelpinto@hotmail.com\n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/mstremer/ipfire/language/pt_PT/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -24,11 +25,11 @@ msgstr "" #: main.c:79 main.c:460 main.c:487 main.c:516 main.c:620 main.c:630 main.c:670 #: main.c:702 msgid "Cancel" -msgstr "" +msgstr "Cancelar"
#: main.c:176 msgid "I accept this license" -msgstr "" +msgstr "Aceito esta licença"
#: main.c:384 msgid "Warning: Unattended installation will start in 10 seconds..." diff --git a/src/installer/po/ro_RO.po b/src/installer/po/ro_RO.po index 6601c0b..57294a3 100644 --- a/src/installer/po/ro_RO.po +++ b/src/installer/po/ro_RO.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# robert lasic robertlasic@gmail.com, 2016 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/projects/p/ipfire/language/ro_RO/)%5Cn" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" +"Last-Translator: robert lasic robertlasic@gmail.com\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/mstremer/ipfire/language/ro_RO/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -19,36 +20,36 @@ msgstr ""
#: main.c:78 main.c:179 main.c:404 main.c:670 main.c:702 main.c:893 msgid "OK" -msgstr "" +msgstr "OK"
#: main.c:79 main.c:460 main.c:487 main.c:516 main.c:620 main.c:630 main.c:670 #: main.c:702 msgid "Cancel" -msgstr "" +msgstr "Anulare"
#: main.c:176 msgid "I accept this license" -msgstr "" +msgstr "Accept aceasta licenta"
#: main.c:384 msgid "Warning: Unattended installation will start in 10 seconds..." -msgstr "" +msgstr "Avertisment: Instalare neasistata va porni in 10 secunde..."
#: main.c:403 msgid "Language selection" -msgstr "" +msgstr "Selectare limba"
#: main.c:403 msgid "Select the language you wish to use for the installation." -msgstr "" +msgstr "Alege limba care vrei sa o folosesti pentru aceasta instalare"
#: main.c:418 msgid "Unattended mode" -msgstr "" +msgstr "Mode neasistat"
#: main.c:420 msgid "<Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen" -msgstr "" +msgstr "<Tab>/<Alt-Tab> navigare intre elemente | <Space> selectare | <F12> urmatorul ecran"
#: main.c:426 #, c-format @@ -56,16 +57,16 @@ msgid "" "Welcome to the %s installation program.\n" "\n" "Selecting Cancel on any of the following screens will reboot the computer." -msgstr "" +msgstr "Bine a-ti venit la %s instalare program.\n\nSelectare Cancel in oricare din urmatoarele ecrane duce la repornire calculator."
#: main.c:428 msgid "Start installation" -msgstr "" +msgstr "Pornire instalare"
#: main.c:449 #, c-format msgid "The installer will now try downloading the installation image." -msgstr "" +msgstr "Instalatorul va incerca acum sa descarce imaginea pentru instalare"
#: main.c:452 #, c-format @@ -73,41 +74,41 @@ msgid "" "No source drive could be found.\n" "\n" "You can try downloading the required installation image." -msgstr "" +msgstr "Nu a fost gasit nici un disk sursa.\n\nPoti sa incerci sa descarci imaginea pentru instalare necesara."
#: main.c:456 msgid "" "Please make sure to connect your machine to a network and the installer will" " try connect to acquire an IP address." -msgstr "" +msgstr "Asigura conexiune in retea si instalatorul va incerca sa se conecteze si sa ia adresa de IP."
#: main.c:460 msgid "Download installation image" -msgstr "" +msgstr "Descarca imaginea de instalare"
#: main.c:473 msgid "Trying to start networking (DHCP)..." -msgstr "" +msgstr "Se incearca sa se porneasca reteaua (DHCP)..."
#: main.c:484 msgid "" "Networking could not be started but is required to go on with the installation.\n" "\n" "Please connect your machine to a network with a DHCP server and retry." -msgstr "" +msgstr "Reteaua nu s-a putut porni dar este necesar sa continui cu instalarea.\n\nConecteaza calculatorulbin retea la server de DHCP si reincearca."
#: main.c:487 main.c:516 msgid "Retry" -msgstr "" +msgstr "Reincearca"
#: main.c:501 msgid "Downloading installation image..." -msgstr "" +msgstr "Se descarca imaginea de instalare"
#: main.c:510 #, c-format msgid "MD5 checksum mismatch" -msgstr "" +msgstr "Nepotrivire verificare MD5"
#: main.c:513 #, c-format @@ -116,44 +117,44 @@ msgid "" " Reason: %s\n" "\n" "%s" -msgstr "" +msgstr "Imaginea de instalat nu a putut fi descarcata.\nMotiv: %s\n\n%s"
#: main.c:528 #, c-format msgid "" "Could not mount %s to %s:\n" " %s\n" -msgstr "" +msgstr "Nu s-a putut monta %s pe %s:\n%s\n"
#: main.c:543 msgid "License Agreement" -msgstr "" +msgstr "Acceptare Licenta"
#: main.c:544 msgid "License not accepted!" -msgstr "" +msgstr "Licenta neacceptata!"
#: main.c:566 msgid "No hard disk found." -msgstr "" +msgstr "Nu s-a gasit nici un hard disk."
#: main.c:587 msgid "Disk Selection" -msgstr "" +msgstr "Selectie disk"
#: main.c:588 msgid "" "Select the disk(s) you want to install IPFire on. First those will be partitioned, and then the partitions will have a filesystem put on them.\n" "\n" "ALL DATA ON THE DISK WILL BE DESTROYED." -msgstr "" +msgstr "Selecteaza disk(uri) pe care vrei sa instalezi IPFire. Pentru inceput vor fi partitionate, apoi partitiile vor avea pe ele fisiere system.\n\nTOATE DATELE DE PE DISK VOR FI DISTRUSE."
#: main.c:599 msgid "" "No disk has been selected.\n" "\n" "Please select one or more disks you want to install IPFire on." -msgstr "" +msgstr "Nu s-a selectat nici un disk.\n\nAlege unul sau mai multe disk-uri pe care vrei sa instalezi IPFire."
#: main.c:617 #, c-format @@ -163,15 +164,15 @@ msgid "" " %s\n" "\n" "Do you agree to continue?" -msgstr "" +msgstr "Programul de instalare v-a pregati acum harddisk-ul ales:\n\n%s\n\nEsti de acord sa continuui?"
#: main.c:619 msgid "Disk Setup" -msgstr "" +msgstr "Configurare disk"
#: main.c:620 main.c:630 msgid "Delete all data" -msgstr "" +msgstr "Sterge toate datele"
#: main.c:627 #, c-format @@ -182,131 +183,131 @@ msgid "" " %s\n" "\n" "Do you agree to continue?" -msgstr "" +msgstr "Programul de instalare va configura acum configuratia RAID pe harddisk-urile selectate:\n\n%s\n%s\n\nEsti de acord sa continui?"
#: main.c:629 msgid "RAID Setup" -msgstr "" +msgstr "Configurare RAID"
#: main.c:640 msgid "Your disk configuration is currently not supported." -msgstr "" +msgstr "Configuratia curenta a disk-urilor nu e suportata."
#: main.c:655 msgid "Your harddisk is too small." -msgstr "" +msgstr "Harddisk-ul tau e prea mic."
#: main.c:671 msgid "" "Your harddisk is very small, but you can continue without a swap partition." -msgstr "" +msgstr "Harddisk-ul tau e foarte mic, dar poti sa continui fara partitie swap."
#: main.c:684 msgid "ext4 Filesystem" -msgstr "" +msgstr "Sistem de fisiere ext4"
#: main.c:685 msgid "ext4 Filesystem without journal" -msgstr "" +msgstr "Sistem de fisiere ext4 fara jurnal"
#: main.c:686 msgid "XFS Filesystem" -msgstr "" +msgstr "Sistem de fisier XFS"
#: main.c:687 msgid "ReiserFS Filesystem" -msgstr "" +msgstr "Sistem de fisier ReiserFS"
#: main.c:701 msgid "Filesystem Selection" -msgstr "" +msgstr "Selectare Sistem de fisier"
#: main.c:701 msgid "Please choose your filesystem:" -msgstr "" +msgstr "Alege Sistemul de fisiere:"
#: main.c:712 msgid "Building RAID..." -msgstr "" +msgstr "Creare RAID..."
#: main.c:716 msgid "Unable to build the RAID." -msgstr "" +msgstr "Nu s-a putut creea RAID."
#: main.c:728 msgid "Partitioning disk..." -msgstr "" +msgstr "Partitionare disk..."
#: main.c:732 msgid "Unable to partition the disk." -msgstr "" +msgstr "Nu s-a putut partitiona disk-ul."
#: main.c:739 msgid "Creating filesystems..." -msgstr "" +msgstr "Creeare fisiere sistem..."
#: main.c:743 msgid "Unable to create filesystems." -msgstr "" +msgstr "Nu s-au putut creea fisierele sistem."
#: main.c:749 msgid "Unable to mount filesystems." -msgstr "" +msgstr "Nu s-au putut monta fisierele sistem."
#: main.c:760 msgid "Installing the system..." -msgstr "" +msgstr "Instalare sistem..."
#: main.c:761 msgid "Unable to install the system." -msgstr "" +msgstr "Nu s-a putut instala sistemul."
#: main.c:777 msgid "Installing the language cache..." -msgstr "" +msgstr "Instalare limba..."
#: main.c:778 msgid "Unable to install the language cache." -msgstr "" +msgstr "Nu s-a putut instala limba."
#: main.c:783 msgid "Installing the bootloader..." -msgstr "" +msgstr "Instalare bootloader..."
#: main.c:790 msgid "Unable to open /etc/default/grub for writing." -msgstr "" +msgstr "Nu se poate deschide /etc/default/grub pentru scriere."
#: main.c:812 msgid "Unable to install the bootloader." -msgstr "" +msgstr "Nu s-a putut instala bootloader."
#: main.c:826 msgid "" "A backup file has been found on the installation image.\n" "\n" "Do you want to restore the backup?" -msgstr "" +msgstr "O copie de siguranta s-a gasit in imaginea de instalare.\n\nVrei sa restaurezi copia de siguranta?"
#: main.c:827 msgid "Yes" -msgstr "" +msgstr "Da"
#: main.c:827 msgid "No" -msgstr "" +msgstr "Nu"
#: main.c:834 msgid "An error occured when the backup file was restored." -msgstr "" +msgstr "A aparut o eroare la restaurarea copiei de siguranta."
#: main.c:869 msgid "Running post-install script..." -msgstr "" +msgstr "Se ruleaza codul post instalare..."
#: main.c:870 msgid "Post-install script failed." -msgstr "" +msgstr "Codul post instalare a esuat."
#: main.c:877 #, c-format @@ -314,16 +315,16 @@ msgid "" "%s was successfully installed!\n" "\n" "Please remove any installation mediums from this system and hit the reboot button. Once the system has restarted you will be asked to setup networking and system passwords. After that, you should point your web browser at https://%s:444 (or what ever you name your %s) for the web configuration console." -msgstr "" +msgstr "%s a fost instalat cu succes!\n\nElimina mediu de instalare din acest sistem si apasa butonul repornire. Dupa ce sistemul a reornit va trebui sa configurezi reteaua si parola sistemului. Dupa aceea, ar trebui sa verifici pagina web https://%s:444 (sau numele dat %s) pentru consola web de configurare."
#: main.c:882 msgid "Congratulations!" -msgstr "" +msgstr "Felicitari!"
#: main.c:882 msgid "Reboot" -msgstr "" +msgstr "Repornire"
#: main.c:893 msgid "Setup has failed. Press Ok to reboot." -msgstr "" +msgstr "Instalare esuata. Apasa OK pentru repornire." diff --git a/src/installer/po/ru.po b/src/installer/po/ru.po index 1a6408c..b11e2e9 100644 --- a/src/installer/po/ru.po +++ b/src/installer/po/ru.po @@ -3,20 +3,20 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# ellviss kpe1501@gmail.com, 2015 +# ellviss kpe1501@gmail.com, 2015-2016 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2015-02-24 12:56+0000\n" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" "Last-Translator: ellviss kpe1501@gmail.com\n" -"Language-Team: Russian (http://www.transifex.com/projects/p/ipfire/language/ru/)%5Cn" +"Language-Team: Russian (http://www.transifex.com/mstremer/ipfire/language/ru/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#: main.c:78 main.c:179 main.c:404 main.c:670 main.c:702 main.c:893 msgid "OK" @@ -95,7 +95,7 @@ msgid "" "Networking could not be started but is required to go on with the installation.\n" "\n" "Please connect your machine to a network with a DHCP server and retry." -msgstr "" +msgstr "Сеть не была включена, но она необходима для установки\n\nПожалуйста, подключите компьютер к сети с DHCP сервером и повторите попытку."
#: main.c:487 main.c:516 msgid "Retry" @@ -117,7 +117,7 @@ msgid "" " Reason: %s\n" "\n" "%s" -msgstr "" +msgstr "Не удаётся скачать установочный образ.\nПричина : %s\n\n%s"
#: main.c:528 #, c-format @@ -147,14 +147,14 @@ msgid "" "Select the disk(s) you want to install IPFire on. First those will be partitioned, and then the partitions will have a filesystem put on them.\n" "\n" "ALL DATA ON THE DISK WILL BE DESTROYED." -msgstr "" +msgstr "Выберете диск(и) , на который(е) вы хотите установить IPFIRE. Сначала будет проведена разметка разделов, а потом будет установлена файловая система.\n\nВсе данные на диске будут уничтожены."
#: main.c:599 msgid "" "No disk has been selected.\n" "\n" "Please select one or more disks you want to install IPFire on." -msgstr "" +msgstr "Не выбран диск.\n\nПожалуйста, выберете диск на который вы хотите поставить IPFIRE"
#: main.c:617 #, c-format @@ -183,7 +183,7 @@ msgid "" " %s\n" "\n" "Do you agree to continue?" -msgstr "" +msgstr "Программа установки сейчас настроит RAID на выбранных дисках:\n\n%s\n%s\n\nВы согласны продолжить ?"
#: main.c:629 msgid "RAID Setup" diff --git a/src/installer/po/rw.po b/src/installer/po/rw.po index e099182..5eae4b5 100644 --- a/src/installer/po/rw.po +++ b/src/installer/po/rw.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Kinyarwanda (http://www.transifex.com/projects/p/ipfire/language/rw/)%5Cn" +"Language-Team: Kinyarwanda (http://www.transifex.com/mstremer/ipfire/language/rw/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/sk.po b/src/installer/po/sk.po index 3766bae..b285cae 100644 --- a/src/installer/po/sk.po +++ b/src/installer/po/sk.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Slovak (http://www.transifex.com/projects/p/ipfire/language/sk/)%5Cn" +"Language-Team: Slovak (http://www.transifex.com/mstremer/ipfire/language/sk/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/sq.po b/src/installer/po/sq.po index af653fd..ef3f20d 100644 --- a/src/installer/po/sq.po +++ b/src/installer/po/sq.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Ardit Dani ardit.dani@gmail.com, 2016 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Albanian (http://www.transifex.com/projects/p/ipfire/language/sq/)%5Cn" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" +"Last-Translator: Ardit Dani ardit.dani@gmail.com\n" +"Language-Team: Albanian (http://www.transifex.com/mstremer/ipfire/language/sq/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -24,11 +25,11 @@ msgstr "" #: main.c:79 main.c:460 main.c:487 main.c:516 main.c:620 main.c:630 main.c:670 #: main.c:702 msgid "Cancel" -msgstr "" +msgstr "Anulo"
#: main.c:176 msgid "I accept this license" -msgstr "" +msgstr "Unë pranoj këtë liçencë "
#: main.c:384 msgid "Warning: Unattended installation will start in 10 seconds..." @@ -60,7 +61,7 @@ msgstr ""
#: main.c:428 msgid "Start installation" -msgstr "" +msgstr "Fillo instalimin"
#: main.c:449 #, c-format diff --git a/src/installer/po/sr.po b/src/installer/po/sr.po index 97fad59..86dd1ef 100644 --- a/src/installer/po/sr.po +++ b/src/installer/po/sr.po @@ -10,7 +10,7 @@ msgstr "" "POT-Creation-Date: 2014-11-05 01:29+0000\n" "PO-Revision-Date: 2014-07-31 09:39+0000\n" "Last-Translator: FULL NAME EMAIL@ADDRESS\n" -"Language-Team: Serbian (http://www.transifex.com/projects/p/ipfire/language/sr/)%5Cn" +"Language-Team: Serbian (http://www.transifex.com/mstremer/ipfire/language/sr/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/su.po b/src/installer/po/su.po index 758c337..fd66e4e 100644 --- a/src/installer/po/su.po +++ b/src/installer/po/su.po @@ -10,7 +10,7 @@ msgstr "" "POT-Creation-Date: 2014-11-05 01:29+0000\n" "PO-Revision-Date: 2014-07-31 09:39+0000\n" "Last-Translator: FULL NAME EMAIL@ADDRESS\n" -"Language-Team: Sundanese (http://www.transifex.com/projects/p/ipfire/language/su/)%5Cn" +"Language-Team: Sundanese (http://www.transifex.com/mstremer/ipfire/language/su/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/sv.po b/src/installer/po/sv.po index b0e5ae7..9cdc32b 100644 --- a/src/installer/po/sv.po +++ b/src/installer/po/sv.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Urban Berggren pudberggren@icloud.com, 2016 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/ipfire/language/sv/)%5Cn" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" +"Last-Translator: Urban Berggren pudberggren@icloud.com\n" +"Language-Team: Swedish (http://www.transifex.com/mstremer/ipfire/language/sv/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -19,36 +20,36 @@ msgstr ""
#: main.c:78 main.c:179 main.c:404 main.c:670 main.c:702 main.c:893 msgid "OK" -msgstr "" +msgstr "OK"
#: main.c:79 main.c:460 main.c:487 main.c:516 main.c:620 main.c:630 main.c:670 #: main.c:702 msgid "Cancel" -msgstr "" +msgstr "Avbryt"
#: main.c:176 msgid "I accept this license" -msgstr "" +msgstr "Jag accepterar licensavtalet"
#: main.c:384 msgid "Warning: Unattended installation will start in 10 seconds..." -msgstr "" +msgstr "OBS! Installationen kommer att starta om 10 sekunder..."
#: main.c:403 msgid "Language selection" -msgstr "" +msgstr "Val av språk"
#: main.c:403 msgid "Select the language you wish to use for the installation." -msgstr "" +msgstr "Välj önskat språk du vill använda under installationen."
#: main.c:418 msgid "Unattended mode" -msgstr "" +msgstr "Oövervakat läge"
#: main.c:420 msgid "<Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen" -msgstr "" +msgstr "<Tab>/<Alt-Tab> mellan menyval | <Mellanslag> väljer | <F12> nästa ruta"
#: main.c:426 #, c-format @@ -56,16 +57,16 @@ msgid "" "Welcome to the %s installation program.\n" "\n" "Selecting Cancel on any of the following screens will reboot the computer." -msgstr "" +msgstr "Välkommen till %s installationsprogram.\n\nVäljer du Avbryt på någon av de följade rutorna så kommer datorn att starta om."
#: main.c:428 msgid "Start installation" -msgstr "" +msgstr "Starta installationen"
#: main.c:449 #, c-format msgid "The installer will now try downloading the installation image." -msgstr "" +msgstr "Installationsprogrammet kommer nu att försöka ladda ned installationsavbilden."
#: main.c:452 #, c-format @@ -73,41 +74,41 @@ msgid "" "No source drive could be found.\n" "\n" "You can try downloading the required installation image." -msgstr "" +msgstr "Ingen källenhet hittades.\n\nDu kan prova att ladda ner installationsavbilden."
#: main.c:456 msgid "" "Please make sure to connect your machine to a network and the installer will" " try connect to acquire an IP address." -msgstr "" +msgstr "Se till att din dator är uppkopplat mot internet så att installationsprogrammet kan ladda ned installationsavbilden."
#: main.c:460 msgid "Download installation image" -msgstr "" +msgstr "Laddar ned installationsavbild"
#: main.c:473 msgid "Trying to start networking (DHCP)..." -msgstr "" +msgstr "Försöker att starta nätverkstjänst (DHCP)..."
#: main.c:484 msgid "" "Networking could not be started but is required to go on with the installation.\n" "\n" "Please connect your machine to a network with a DHCP server and retry." -msgstr "" +msgstr "Nätverket kunde inte startas, men krävs för att installationen ska kunna fortsätta.\n\nVar god koppla din dator till ett nätverk med en DHCP server och försök igen."
#: main.c:487 main.c:516 msgid "Retry" -msgstr "" +msgstr "Försök igen"
#: main.c:501 msgid "Downloading installation image..." -msgstr "" +msgstr "Laddar ned installationsavbild..."
#: main.c:510 #, c-format msgid "MD5 checksum mismatch" -msgstr "" +msgstr "MD5 kontrollsumma stämmer ej"
#: main.c:513 #, c-format @@ -116,44 +117,44 @@ msgid "" " Reason: %s\n" "\n" "%s" -msgstr "" +msgstr "Installationsavbilden kunde inte laddas ned.\n\nOrsak: %s\n\n%s"
#: main.c:528 #, c-format msgid "" "Could not mount %s to %s:\n" " %s\n" -msgstr "" +msgstr "Kunde inte montera %s till %s:\n%s\n"
#: main.c:543 msgid "License Agreement" -msgstr "" +msgstr "Licensavtal"
#: main.c:544 msgid "License not accepted!" -msgstr "" +msgstr "Licensavtalet ej accepterat!"
#: main.c:566 msgid "No hard disk found." -msgstr "" +msgstr "Ingen hårddisk hittades."
#: main.c:587 msgid "Disk Selection" -msgstr "" +msgstr "Val av hårddisk"
#: main.c:588 msgid "" "Select the disk(s) you want to install IPFire on. First those will be partitioned, and then the partitions will have a filesystem put on them.\n" "\n" "ALL DATA ON THE DISK WILL BE DESTROYED." -msgstr "" +msgstr "Välj den hårddisk som du vill installera IPFire på. Hårddisken kommer att partioneras och formateras.\n\nALL DATA PÅ HÅRDDISKEN KOMMER ATT RENSAS."
#: main.c:599 msgid "" "No disk has been selected.\n" "\n" "Please select one or more disks you want to install IPFire on." -msgstr "" +msgstr "Ingen hårddisk har blivit vald.\n\nVad god välj en eller fler hårddiskar som du vill installera IPFire på."
#: main.c:617 #, c-format @@ -163,15 +164,15 @@ msgid "" " %s\n" "\n" "Do you agree to continue?" -msgstr "" +msgstr "Installationsprogrammet kommer du att förbereda den valda hårddisken:\n\n%s\n\nVill du fortsätta?"
#: main.c:619 msgid "Disk Setup" -msgstr "" +msgstr "Hårddiskinställning"
#: main.c:620 main.c:630 msgid "Delete all data" -msgstr "" +msgstr "Radera alla data"
#: main.c:627 #, c-format @@ -182,131 +183,131 @@ msgid "" " %s\n" "\n" "Do you agree to continue?" -msgstr "" +msgstr "Installationsprogrammet kommer nu att ställa in RAID på de valda hårddiskarna\n\n%s\n%s\n\nVill du fortsätta?"
#: main.c:629 msgid "RAID Setup" -msgstr "" +msgstr "RAID-inställning"
#: main.c:640 msgid "Your disk configuration is currently not supported." -msgstr "" +msgstr "Din hårddiskkonfiguration stöds för nuvarande inte."
#: main.c:655 msgid "Your harddisk is too small." -msgstr "" +msgstr "Det är för lite utrymme på din hårddisk."
#: main.c:671 msgid "" "Your harddisk is very small, but you can continue without a swap partition." -msgstr "" +msgstr "Din hårddisk har väldigt lite utrymme, men du kan välja att fortsätta utan en växlingspartition."
#: main.c:684 msgid "ext4 Filesystem" -msgstr "" +msgstr "ext4 Filsystem"
#: main.c:685 msgid "ext4 Filesystem without journal" -msgstr "" +msgstr "ext4 Filesystem utan journal"
#: main.c:686 msgid "XFS Filesystem" -msgstr "" +msgstr "XFS Filsystem"
#: main.c:687 msgid "ReiserFS Filesystem" -msgstr "" +msgstr "ReiserFS Filsystem"
#: main.c:701 msgid "Filesystem Selection" -msgstr "" +msgstr "Val av Filsystem"
#: main.c:701 msgid "Please choose your filesystem:" -msgstr "" +msgstr "Var god välj vilket filsystem du vill använda:"
#: main.c:712 msgid "Building RAID..." -msgstr "" +msgstr "Bygger RAID"
#: main.c:716 msgid "Unable to build the RAID." -msgstr "" +msgstr "Kan inte bygga RAID"
#: main.c:728 msgid "Partitioning disk..." -msgstr "" +msgstr "Partionerar hårddisken..."
#: main.c:732 msgid "Unable to partition the disk." -msgstr "" +msgstr "Kan inte partionera hårddisken."
#: main.c:739 msgid "Creating filesystems..." -msgstr "" +msgstr "Skapar filsystem..."
#: main.c:743 msgid "Unable to create filesystems." -msgstr "" +msgstr "Kan inte skapa filsystem."
#: main.c:749 msgid "Unable to mount filesystems." -msgstr "" +msgstr "Kan inte montera filsystem."
#: main.c:760 msgid "Installing the system..." -msgstr "" +msgstr "Installerar systemet..."
#: main.c:761 msgid "Unable to install the system." -msgstr "" +msgstr "Kan inte installera systemet."
#: main.c:777 msgid "Installing the language cache..." -msgstr "" +msgstr "Installerar språkcachen..."
#: main.c:778 msgid "Unable to install the language cache." -msgstr "" +msgstr "Kan inte installera språkcachen."
#: main.c:783 msgid "Installing the bootloader..." -msgstr "" +msgstr "Installerar starthanteraren..."
#: main.c:790 msgid "Unable to open /etc/default/grub for writing." -msgstr "" +msgstr "Kan inte skriva till /etc/default/grub "
#: main.c:812 msgid "Unable to install the bootloader." -msgstr "" +msgstr "Kan inte installera starthanteraren."
#: main.c:826 msgid "" "A backup file has been found on the installation image.\n" "\n" "Do you want to restore the backup?" -msgstr "" +msgstr "En säkerhetskopia har hittats på installationsavbilden.\n\nVill du återställa säkerhetskopian?"
#: main.c:827 msgid "Yes" -msgstr "" +msgstr "Ja"
#: main.c:827 msgid "No" -msgstr "" +msgstr "Nej"
#: main.c:834 msgid "An error occured when the backup file was restored." -msgstr "" +msgstr "Ett fel upptäcktes när säkerhetskopian skulle återställas."
#: main.c:869 msgid "Running post-install script..." -msgstr "" +msgstr "Kör efterinstallations-skript"
#: main.c:870 msgid "Post-install script failed." -msgstr "" +msgstr "Efterinstallations-skript misslyckades."
#: main.c:877 #, c-format @@ -314,16 +315,16 @@ msgid "" "%s was successfully installed!\n" "\n" "Please remove any installation mediums from this system and hit the reboot button. Once the system has restarted you will be asked to setup networking and system passwords. After that, you should point your web browser at https://%s:444 (or what ever you name your %s) for the web configuration console." -msgstr "" +msgstr "%s har installerats!\n\nVar god ta ur installationsmediet från datorn och tryck på starta om. När systemet väl har startat om så kommer du att bli tillfrågad att ställa in nätverk och lösenord. Efter det, bör du i din webbläsares adressfält skriva in adressen https://%s:444 (eller vad du nu har gett ditt %s för namn) för att komma åt webbgränssnittet."
#: main.c:882 msgid "Congratulations!" -msgstr "" +msgstr "Grattis!"
#: main.c:882 msgid "Reboot" -msgstr "" +msgstr "Starta om"
#: main.c:893 msgid "Setup has failed. Press Ok to reboot." -msgstr "" +msgstr "Installationen har misslyckats. Tryck Ok för att starta om." diff --git a/src/installer/po/th.po b/src/installer/po/th.po index 97842e8..2d6b332 100644 --- a/src/installer/po/th.po +++ b/src/installer/po/th.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Thai (http://www.transifex.com/projects/p/ipfire/language/th/)%5Cn" +"Language-Team: Thai (http://www.transifex.com/mstremer/ipfire/language/th/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/tk.po b/src/installer/po/tk.po index c753b72..0bc6e80 100644 --- a/src/installer/po/tk.po +++ b/src/installer/po/tk.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Turkmen (http://www.transifex.com/projects/p/ipfire/language/tk/)%5Cn" +"Language-Team: Turkmen (http://www.transifex.com/mstremer/ipfire/language/tk/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/tr.po b/src/installer/po/tr.po index ad65543..d66d840 100644 --- a/src/installer/po/tr.po +++ b/src/installer/po/tr.po @@ -4,14 +4,14 @@ # # Translators: # Ersan YILDIRIM ersan73@gmail.com, 2015 -# Kudret Emre kudretemre@hotmail.com.tr, 2014 -# Kudret Emre kudretemre@hotmail.com.tr, 2014 +# Kudret kudretemre@hotmail.com.tr, 2014 +# Kudret kudretemre@hotmail.com.tr, 2014 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2015-04-23 16:07+0000\n" +"PO-Revision-Date: 2017-09-20 08:56+0000\n" "Last-Translator: Ersan YILDIRIM ersan73@gmail.com\n" "Language-Team: Turkish (http://www.transifex.com/mstremer/ipfire/language/tr/)%5Cn" "MIME-Version: 1.0\n" diff --git a/src/installer/po/uk.po b/src/installer/po/uk.po index 4a2ab67..cd8deb1 100644 --- a/src/installer/po/uk.po +++ b/src/installer/po/uk.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/ipfire/language/uk/)%5Cn" +"Language-Team: Ukrainian (http://www.transifex.com/mstremer/ipfire/language/uk/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/uz@Latn.po b/src/installer/po/uz@Latn.po index 8c68800..345fb09 100644 --- a/src/installer/po/uz@Latn.po +++ b/src/installer/po/uz@Latn.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Uzbek (Latin) (http://www.transifex.com/projects/p/ipfire/language/uz@Latn/)%5Cn" +"Language-Team: Uzbek (Latin) (http://www.transifex.com/mstremer/ipfire/language/uz@Latn/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/vi.po b/src/installer/po/vi.po index 4f5b455..7fbce46 100644 --- a/src/installer/po/vi.po +++ b/src/installer/po/vi.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/ipfire/language/vi/)%5Cn" +"Language-Team: Vietnamese (http://www.transifex.com/mstremer/ipfire/language/vi/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/installer/po/zh.po b/src/installer/po/zh.po index 3dbca13..67ed5c8 100644 --- a/src/installer/po/zh.po +++ b/src/installer/po/zh.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-11-05 01:29+0000\n" -"PO-Revision-Date: 2014-11-05 01:33+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Chinese (http://www.transifex.com/projects/p/ipfire/language/zh/)%5Cn" +"Language-Team: Chinese (http://www.transifex.com/mstremer/ipfire/language/zh/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/misc-progs/Makefile b/src/misc-progs/Makefile index 7cc70b4..c3329b1 100644 --- a/src/misc-progs/Makefile +++ b/src/misc-progs/Makefile @@ -31,7 +31,8 @@ SUID_PROGS = squidctrl sshctrl ipfirereboot \ redctrl syslogdctrl extrahdctrl sambactrl upnpctrl \ smartctrl clamavctrl addonctrl pakfire mpfirectrl wlanapctrl \ setaliases urlfilterctrl updxlratorctrl fireinfoctrl rebuildroutes \ - getconntracktable wirelessclient torctrl ddnsctrl unboundctrl + getconntracktable wirelessclient torctrl ddnsctrl unboundctrl \ + captivectrl SUID_UPDX = updxsetperms
OBJS = $(patsubst %,%.o,$(PROGS) $(SUID_PROGS)) diff --git a/src/misc-progs/captivectrl.c b/src/misc-progs/captivectrl.c new file mode 100644 index 0000000..56dd78d --- /dev/null +++ b/src/misc-progs/captivectrl.c @@ -0,0 +1,361 @@ +/* This file is part of the IPFire Firewall. +* +* This program is distributed under the terms of the GNU General Public +* Licence. See the file COPYING for details. */ + +#define _BSD_SOURCE +#define _XOPEN_SOURCE + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> + +#include "libsmooth.h" +#include "setuid.h" + +#define CAPTIVE_PORTAL_SETTINGS CONFIG_ROOT "/captive/settings" +#define ETHERNET_SETTINGS CONFIG_ROOT "/ethernet/settings" + +#define CLIENTS CONFIG_ROOT "/captive/clients" +#define IPTABLES "/sbin/iptables --wait" +#define HTTP_PORT 80 +#define REDIRECT_PORT 1013 + +typedef struct client { + char etheraddr[STRING_SIZE]; + char ipaddr[STRING_SIZE]; + time_t time_start; + int expires; + + struct client* next; +} client_t; + +static time_t parse_time(const char* s) { + int t = 0; + + if (sscanf(s, "%d", &t) == 1) { + return (time_t)t; + } + + return -1; +} + +static char* format_time(const time_t* t) { + char buffer[STRING_SIZE]; + + struct tm* tm = gmtime(t); + if (tm == NULL) + return NULL; + + strftime(buffer, sizeof(buffer), "%Y-%m-%dT%H:%M", tm); + + return strdup(buffer); +} + +static client_t* read_clients(char* filename) { + FILE* f = NULL; + + if (!(f = fopen(filename, "r"))) { + fprintf(stderr, "Could not open configuration file: %s\n", filename); + return NULL;; + } + + char line[STRING_SIZE]; + + client_t* client_first = NULL; + client_t* client_last = NULL; + client_t* client_curr; + + while ((fgets(line, STRING_SIZE, f) != NULL)) { + if (line[strlen(line) - 1] == '\n') + line[strlen(line) - 1] = '\0'; + + // Skip all commented lines + if (*line == '#') + continue; + + client_curr = (client_t*)malloc(sizeof(client_t)); + memset(client_curr, 0, sizeof(client_t)); + + if (client_first == NULL) + client_first = client_curr; + else + client_last->next = client_curr; + client_last = client_curr; + + unsigned int count = 0; + char* lineptr = line; + while (1) { + if (!*lineptr) + break; + + char* word = lineptr; + while (*lineptr != '\0') { + if (*lineptr == ',') { + *lineptr = '\0'; + lineptr++; + break; + } + lineptr++; + } + + switch (count++) { + // Ethernet address + case 1: + strcpy(client_curr->etheraddr, word); + break; + + // IP address + case 2: + strcpy(client_curr->ipaddr, word); + break; + + // Start time + case 3: + client_curr->time_start = parse_time(word); + break; + + // Expire duration + case 4: + client_curr->expires = atoi(word); + break; + + default: + break; + } + } + } + + if (f) + fclose(f); + + return client_first; +} + +static void flush_chains() { + // filter + safe_system(IPTABLES " -F CAPTIVE_PORTAL"); + safe_system(IPTABLES " -F CAPTIVE_PORTAL_CLIENTS"); + + // nat + safe_system(IPTABLES " -t nat -F CAPTIVE_PORTAL"); +} + +static int setup_dns_filters() { + const char* protos[] = { "udp", "tcp", NULL }; + + // Limits the number of DNS requests to 3 kByte/s + // A burst of 1MB is permitted at the start + const char* limiter = "-m hashlimit --hashlimit-name dns-filter" + " --hashlimit-mode srcip --hashlimit-upto 3kb/sec --hashlimit-burst 1024kb"; + + char command[STRING_SIZE]; + + const char** proto = protos; + while (*proto) { + snprintf(command, sizeof(command), IPTABLES " -A CAPTIVE_PORTAL_CLIENTS -p %s" + " --dport 53 %s -j RETURN", *proto, limiter); + + int r = safe_system(command); + if (r) + return r; + + proto++; + } + + return 0; +} + +static int add_client_rules(const client_t* clients) { + char command[STRING_SIZE]; + char match[STRING_SIZE]; + + while (clients) { + size_t len = 0; + + if (*clients->ipaddr && clients->expires > 0) { + len += snprintf(match + len, sizeof(match) - len, + "-s %s", clients->ipaddr); + } + + len += snprintf(match + len, sizeof(match) - len, + " -m mac --mac-source %s", clients->etheraddr); + + if (clients->expires > 0) { + time_t expires = clients->time_start + clients->expires; + + char* time_start = format_time(&clients->time_start); + char* time_end = format_time(&expires); + + len += snprintf(match + len, sizeof(match) - len, + " -m time --datestart %s --datestop %s", + time_start, time_end); + + free(time_start); + free(time_end); + } + + // filter + snprintf(command, sizeof(command), IPTABLES " -A CAPTIVE_PORTAL_CLIENTS" + " %s -j RETURN", match); + safe_system(command); + + // nat + snprintf(command, sizeof(command), IPTABLES " -t nat -A CAPTIVE_PORTAL" + " %s -j RETURN", match); + safe_system(command); + + // Move on to the next client + clients = clients->next; + } + + return 0; +} + +static char* get_key(struct keyvalue* settings, char* key) { + char value[STRING_SIZE]; + + if (!findkey(settings, key, value)) + return NULL; + + return strdup(value); +} + +static int add_interface_rule(const char* intf, int allow_webif_access) { + int r; + char command[STRING_SIZE]; + + if ((intf == NULL) || (strlen(intf) == 0)) { + fprintf(stderr, "Empty interface given\n"); + return -1; + } + + snprintf(command, sizeof(command), IPTABLES " -A CAPTIVE_PORTAL -i %s" + " -j CAPTIVE_PORTAL_CLIENTS", intf); + r = safe_system(command); + if (r) + return r; + + if (allow_webif_access) { + snprintf(command, sizeof(command), IPTABLES " -A CAPTIVE_PORTAL_CLIENTS" + " -i %s -p tcp --dport 444 -j RETURN", intf); + r = safe_system(command); + if (r) + return r; + } + + // Redirect all unauthenticated clients + snprintf(command, sizeof(command), IPTABLES " -t nat -A CAPTIVE_PORTAL -i %s" + " -p tcp --dport %d -j REDIRECT --to-ports %d", intf, HTTP_PORT, REDIRECT_PORT); + r = safe_system(command); + if (r) + return r; + + // Allow access to captive portal site + snprintf(command, sizeof(command), IPTABLES " -A CAPTIVE_PORTAL_CLIENTS" + " -i %s -p tcp --dport %d -j RETURN", intf, REDIRECT_PORT); + r = safe_system(command); + if (r) + return r; + + return 0; +} + +static int add_interface_rules(struct keyvalue* captive_portal_settings, struct keyvalue* ethernet_settings) { + const char* intf; + char* setting; + int r = 0; + + setting = get_key(captive_portal_settings, "ENABLE_GREEN"); + if (setting && (strcmp(setting, "on") == 0)) { + free(setting); + + intf = get_key(ethernet_settings, "GREEN_DEV"); + r = add_interface_rule(intf, /* allow webif access from green */ 1); + if (r) + return r; + } + + setting = get_key(captive_portal_settings, "ENABLE_BLUE"); + if (setting && (strcmp(setting, "on") == 0)) { + free(setting); + + intf = get_key(ethernet_settings, "BLUE_DEV"); + r = add_interface_rule(intf, /* do not allow webif access */ 0); + if (r) + return r; + } + + // Always pass DNS packets through all firewall rules + r = setup_dns_filters(); + if (r) + return r; + + // Add the last rule + r = safe_system(IPTABLES " -A CAPTIVE_PORTAL_CLIENTS -j DROP"); + if (r) + return r; + + return r; +} + +int main(int argc, char** argv) { + int r = 0; + char* intf = NULL; + client_t* clients = NULL; + + struct keyvalue* captive_portal_settings = NULL; + struct keyvalue* ethernet_settings = NULL; + + if (!(initsetuid())) + exit(2); + + ethernet_settings = initkeyvalues(); + if (!readkeyvalues(ethernet_settings, ETHERNET_SETTINGS)) { + fprintf(stderr, "Could not read %s\n", ETHERNET_SETTINGS); + r = 1; + goto END; + } + + captive_portal_settings = initkeyvalues(); + if (!readkeyvalues(captive_portal_settings, CAPTIVE_PORTAL_SETTINGS)) { + fprintf(stderr, "Could not read %s\n", CAPTIVE_PORTAL_SETTINGS); + r = 1; + goto END; + } + + clients = read_clients(CLIENTS); + + // Clean up all old rules + flush_chains(); + + // Add all client rules + r = add_client_rules(clients); + if (r) + goto END; + + // Add all interface rules + r = add_interface_rules(captive_portal_settings, ethernet_settings); + if (r) + goto END; + +END: + while (clients) { + client_t* head = clients; + clients = clients->next; + + free(head); + } + + if (ethernet_settings) + freekeyvalues(ethernet_settings); + + if (captive_portal_settings) + freekeyvalues(captive_portal_settings); + + if (intf) + free(intf); + + return r; +} diff --git a/src/misc-progs/wirelessctrl.c b/src/misc-progs/wirelessctrl.c index 1e166eb..7cffc89 100644 --- a/src/misc-progs/wirelessctrl.c +++ b/src/misc-progs/wirelessctrl.c @@ -42,6 +42,7 @@ int main(void) { char buffer[STRING_SIZE]; char *index, *ipaddress, *macaddress, *enabled; struct keyvalue *kv = NULL; + struct keyvalue* captive_settings = NULL;
if (!(initsetuid())) exit(1); @@ -67,6 +68,13 @@ int main(void) { exit(1); }
+ // Read captive portal settings + captive_settings = initkeyvalues(); + if (!readkeyvalues(captive_settings, CONFIG_ROOT "/captive/settings")) { + fprintf(stderr, "Could not read captive portal settings\n"); + exit(1); + } + /* Get the BLUE interface details */ if (findkey(kv, "BLUE_DEV", blue_dev) > 0) { if ((strlen(blue_dev) > 0) && !VALID_DEVICE(blue_dev)) { @@ -79,6 +87,15 @@ int main(void) { exit(0); }
+ // Check if the captive portal is enabled on blue. If so, we will + // just keep the chains flushed and do not add any rules. + char captive_enabled[STRING_SIZE]; + if (findkey(captive_settings, "ENABLE_BLUE", captive_enabled) > 0) { + if (strcmp(captive_enabled, "on") == 0) { + return 0; + } + } + if ((fd = fopen(CONFIG_ROOT "/wireless/nodrop", "r"))) return 0;
diff --git a/src/patches/apache-2.4.27-CVE-2017-9798-fix.patch b/src/patches/apache-2.4.27-CVE-2017-9798-fix.patch deleted file mode 100644 index eb82c8b..0000000 --- a/src/patches/apache-2.4.27-CVE-2017-9798-fix.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- server/core.c 2017/08/16 16:50:29 1805223 -+++ server/core.c 2017/09/08 13:13:11 1807754 -@@ -2262,6 +2262,12 @@ - /* method has not been registered yet, but resource restriction - * is always checked before method handling, so register it. - */ -+ if (cmd->pool == cmd->temp_pool) { -+ /* In .htaccess, we can't globally register new methods. */ -+ return apr_psprintf(cmd->pool, "Could not register method '%s' " -+ "for %s from .htaccess configuration", -+ method, cmd->cmd->name); -+ } - methnum = ap_method_register(cmd->pool, - apr_pstrdup(cmd->pool, method)); - } diff --git a/src/patches/apache-2.4.27-PR61382-fix.patch b/src/patches/apache-2.4.27-PR61382-fix.patch deleted file mode 100644 index 128621a..0000000 --- a/src/patches/apache-2.4.27-PR61382-fix.patch +++ /dev/null @@ -1,783 +0,0 @@ -Index: modules/http2/h2_bucket_beam.c -=================================================================== ---- modules/http2/h2_bucket_beam.c (revision 1804645) -+++ modules/http2/h2_bucket_beam.c (working copy) -@@ -287,7 +287,7 @@ - /* do not count */ - } - else if (APR_BUCKET_IS_FILE(b)) { -- /* if unread, has no real mem footprint. how to test? */ -+ /* if unread, has no real mem footprint. */ - } - else { - len += b->length; -@@ -316,32 +316,80 @@ - return APR_SIZE_MAX; - } - --static apr_status_t wait_cond(h2_bucket_beam *beam, apr_thread_mutex_t *lock) -+static int buffer_is_empty(h2_bucket_beam *beam) - { -- if (beam->timeout > 0) { -- return apr_thread_cond_timedwait(beam->cond, lock, beam->timeout); -+ return ((!beam->recv_buffer || APR_BRIGADE_EMPTY(beam->recv_buffer)) -+ && H2_BLIST_EMPTY(&beam->send_list)); -+} -+ -+static apr_status_t wait_empty(h2_bucket_beam *beam, apr_read_type_e block, -+ apr_thread_mutex_t *lock) -+{ -+ apr_status_t rv = APR_SUCCESS; -+ -+ while (!buffer_is_empty(beam) && APR_SUCCESS == rv) { -+ if (APR_BLOCK_READ != block || !lock) { -+ rv = APR_EAGAIN; -+ } -+ else if (beam->timeout > 0) { -+ rv = apr_thread_cond_timedwait(beam->change, lock, beam->timeout); -+ } -+ else { -+ rv = apr_thread_cond_wait(beam->change, lock); -+ } - } -- else { -- return apr_thread_cond_wait(beam->cond, lock); -+ return rv; -+} -+ -+static apr_status_t wait_not_empty(h2_bucket_beam *beam, apr_read_type_e block, -+ apr_thread_mutex_t *lock) -+{ -+ apr_status_t rv = APR_SUCCESS; -+ -+ while (buffer_is_empty(beam) && APR_SUCCESS == rv) { -+ if (beam->aborted) { -+ rv = APR_ECONNABORTED; -+ } -+ else if (beam->closed) { -+ rv = APR_EOF; -+ } -+ else if (APR_BLOCK_READ != block || !lock) { -+ rv = APR_EAGAIN; -+ } -+ else if (beam->timeout > 0) { -+ rv = apr_thread_cond_timedwait(beam->change, lock, beam->timeout); -+ } -+ else { -+ rv = apr_thread_cond_wait(beam->change, lock); -+ } - } -+ return rv; - } - --static apr_status_t r_wait_space(h2_bucket_beam *beam, apr_read_type_e block, -- h2_beam_lock *pbl, apr_size_t *premain) -+static apr_status_t wait_not_full(h2_bucket_beam *beam, apr_read_type_e block, -+ apr_size_t *pspace_left, h2_beam_lock *bl) - { -- *premain = calc_space_left(beam); -- while (!beam->aborted && *premain <= 0 -- && (block == APR_BLOCK_READ) && pbl->mutex) { -- apr_status_t status; -- report_prod_io(beam, 1, pbl); -- status = wait_cond(beam, pbl->mutex); -- if (APR_STATUS_IS_TIMEUP(status)) { -- return status; -+ apr_status_t rv = APR_SUCCESS; -+ apr_size_t left; -+ -+ while (0 == (left = calc_space_left(beam)) && APR_SUCCESS == rv) { -+ if (beam->aborted) { -+ rv = APR_ECONNABORTED; - } -- r_purge_sent(beam); -- *premain = calc_space_left(beam); -+ else if (block != APR_BLOCK_READ || !bl->mutex) { -+ rv = APR_EAGAIN; -+ } -+ else { -+ if (beam->timeout > 0) { -+ rv = apr_thread_cond_timedwait(beam->change, bl->mutex, beam->timeout); -+ } -+ else { -+ rv = apr_thread_cond_wait(beam->change, bl->mutex); -+ } -+ } - } -- return beam->aborted? APR_ECONNABORTED : APR_SUCCESS; -+ *pspace_left = left; -+ return rv; - } - - static void h2_beam_emitted(h2_bucket_beam *beam, h2_beam_proxy *proxy) -@@ -404,8 +452,8 @@ - if (!bl.mutex) { - r_purge_sent(beam); - } -- else if (beam->cond) { -- apr_thread_cond_broadcast(beam->cond); -+ else { -+ apr_thread_cond_broadcast(beam->change); - } - leave_yellow(beam, &bl); - } -@@ -425,9 +473,7 @@ - { - if (!beam->closed) { - beam->closed = 1; -- if (beam->cond) { -- apr_thread_cond_broadcast(beam->cond); -- } -+ apr_thread_cond_broadcast(beam->change); - } - return APR_SUCCESS; - } -@@ -582,7 +628,7 @@ - apr_interval_time_t timeout) - { - h2_bucket_beam *beam; -- apr_status_t status = APR_SUCCESS; -+ apr_status_t rv = APR_SUCCESS; - - beam = apr_pcalloc(pool, sizeof(*beam)); - if (!beam) { -@@ -601,16 +647,15 @@ - beam->max_buf_size = max_buf_size; - beam->timeout = timeout; - -- status = apr_thread_mutex_create(&beam->lock, APR_THREAD_MUTEX_DEFAULT, -- pool); -- if (status == APR_SUCCESS) { -- status = apr_thread_cond_create(&beam->cond, pool); -- if (status == APR_SUCCESS) { -+ rv = apr_thread_mutex_create(&beam->lock, APR_THREAD_MUTEX_DEFAULT, pool); -+ if (APR_SUCCESS == rv) { -+ rv = apr_thread_cond_create(&beam->change, pool); -+ if (APR_SUCCESS == rv) { - apr_pool_pre_cleanup_register(pool, beam, beam_cleanup); - *pbeam = beam; - } - } -- return status; -+ return rv; - } - - void h2_beam_buffer_size_set(h2_bucket_beam *beam, apr_size_t buffer_size) -@@ -691,9 +736,7 @@ - h2_blist_cleanup(&beam->send_list); - report_consumption(beam, &bl); - } -- if (beam->cond) { -- apr_thread_cond_broadcast(beam->cond); -- } -+ apr_thread_cond_broadcast(beam->change); - leave_yellow(beam, &bl); - } - } -@@ -730,18 +773,7 @@ - h2_beam_lock bl; - - if ((status = enter_yellow(beam, &bl)) == APR_SUCCESS) { -- while (status == APR_SUCCESS -- && !H2_BLIST_EMPTY(&beam->send_list) -- && !H2_BPROXY_LIST_EMPTY(&beam->proxies)) { -- if (block == APR_NONBLOCK_READ || !bl.mutex) { -- status = APR_EAGAIN; -- break; -- } -- if (beam->cond) { -- apr_thread_cond_broadcast(beam->cond); -- } -- status = wait_cond(beam, bl.mutex); -- } -+ status = wait_empty(beam, block, bl.mutex); - leave_yellow(beam, &bl); - } - return status; -@@ -761,13 +793,18 @@ - static apr_status_t append_bucket(h2_bucket_beam *beam, - apr_bucket *b, - apr_read_type_e block, -+ apr_size_t *pspace_left, - h2_beam_lock *pbl) - { - const char *data; - apr_size_t len; -- apr_size_t space_left = 0; - apr_status_t status; -+ int can_beam, check_len; - -+ if (beam->aborted) { -+ return APR_ECONNABORTED; -+ } -+ - if (APR_BUCKET_IS_METADATA(b)) { - if (APR_BUCKET_IS_EOS(b)) { - beam->closed = 1; -@@ -777,11 +814,31 @@ - return APR_SUCCESS; - } - else if (APR_BUCKET_IS_FILE(b)) { -- /* file bucket lengths do not really count */ -+ /* For file buckets the problem is their internal readpool that -+ * is used on the first read to allocate buffer/mmap. -+ * Since setting aside a file bucket will de-register the -+ * file cleanup function from the previous pool, we need to -+ * call that only from the sender thread. -+ * -+ * Currently, we do not handle file bucket with refcount > 1 as -+ * the beam is then not in complete control of the file's lifetime. -+ * Which results in the bug that a file get closed by the receiver -+ * while the sender or the beam still have buckets using it. -+ * -+ * Additionally, we allow callbacks to prevent beaming file -+ * handles across. The use case for this is to limit the number -+ * of open file handles and rather use a less efficient beam -+ * transport. */ -+ apr_bucket_file *bf = b->data; -+ apr_file_t *fd = bf->fd; -+ can_beam = (bf->refcount.refcount == 1); -+ if (can_beam && beam->can_beam_fn) { -+ can_beam = beam->can_beam_fn(beam->can_beam_ctx, beam, fd); -+ } -+ check_len = !can_beam; - } - else { -- space_left = calc_space_left(beam); -- if (space_left > 0 && b->length == ((apr_size_t)-1)) { -+ if (b->length == ((apr_size_t)-1)) { - const char *data; - status = apr_bucket_read(b, &data, &len, APR_BLOCK_READ); - if (status != APR_SUCCESS) { -@@ -788,19 +845,15 @@ - return status; - } - } -- -- if (space_left <= 0) { -- status = r_wait_space(beam, block, pbl, &space_left); -- if (status != APR_SUCCESS) { -- return status; -- } -- if (space_left <= 0) { -- return APR_EAGAIN; -- } -+ check_len = 1; -+ } -+ -+ if (check_len) { -+ if (b->length > *pspace_left) { -+ apr_bucket_split(b, *pspace_left); - } -- /* space available, maybe need bucket split */ -+ *pspace_left -= b->length; - } -- - - /* The fundamental problem is that reading a sender bucket from - * a receiver thread is a total NO GO, because the bucket might use -@@ -830,32 +883,8 @@ - apr_bucket_heap_make(b, data, len, NULL); - } - } -- else if (APR_BUCKET_IS_FILE(b)) { -- /* For file buckets the problem is their internal readpool that -- * is used on the first read to allocate buffer/mmap. -- * Since setting aside a file bucket will de-register the -- * file cleanup function from the previous pool, we need to -- * call that only from the sender thread. -- * -- * Currently, we do not handle file bucket with refcount > 1 as -- * the beam is then not in complete control of the file's lifetime. -- * Which results in the bug that a file get closed by the receiver -- * while the sender or the beam still have buckets using it. -- * -- * Additionally, we allow callbacks to prevent beaming file -- * handles across. The use case for this is to limit the number -- * of open file handles and rather use a less efficient beam -- * transport. */ -- apr_bucket_file *bf = b->data; -- apr_file_t *fd = bf->fd; -- int can_beam = (bf->refcount.refcount == 1); -- if (can_beam && beam->can_beam_fn) { -- can_beam = beam->can_beam_fn(beam->can_beam_ctx, beam, fd); -- } -- if (can_beam) { -- status = apr_bucket_setaside(b, beam->send_pool); -- } -- /* else: enter ENOTIMPL case below */ -+ else if (APR_BUCKET_IS_FILE(b) && can_beam) { -+ status = apr_bucket_setaside(b, beam->send_pool); - } - - if (status == APR_ENOTIMPL) { -@@ -865,12 +894,6 @@ - * a counter example). - * We do the read while in the sender thread, so that the bucket may - * use pools/allocators safely. */ -- if (space_left < APR_BUCKET_BUFF_SIZE) { -- space_left = APR_BUCKET_BUFF_SIZE; -- } -- if (space_left < b->length) { -- apr_bucket_split(b, space_left); -- } - status = apr_bucket_read(b, &data, &len, APR_BLOCK_READ); - if (status == APR_SUCCESS) { - status = apr_bucket_setaside(b, beam->send_pool); -@@ -884,7 +907,7 @@ - APR_BUCKET_REMOVE(b); - H2_BLIST_INSERT_TAIL(&beam->send_list, b); - beam->sent_bytes += b->length; -- -+ - return APR_SUCCESS; - } - -@@ -904,7 +927,8 @@ - apr_read_type_e block) - { - apr_bucket *b; -- apr_status_t status = APR_SUCCESS; -+ apr_status_t rv = APR_SUCCESS; -+ apr_size_t space_left = 0; - h2_beam_lock bl; - - /* Called from the sender thread to add buckets to the beam */ -@@ -914,23 +938,31 @@ - - if (beam->aborted) { - move_to_hold(beam, sender_bb); -- status = APR_ECONNABORTED; -+ rv = APR_ECONNABORTED; - } - else if (sender_bb) { -- int force_report = !APR_BRIGADE_EMPTY(sender_bb); -- while (!APR_BRIGADE_EMPTY(sender_bb) && status == APR_SUCCESS) { -+ int force_report = !APR_BRIGADE_EMPTY(sender_bb); -+ -+ space_left = calc_space_left(beam); -+ while (!APR_BRIGADE_EMPTY(sender_bb) && APR_SUCCESS == rv) { -+ if (space_left <= 0) { -+ report_prod_io(beam, force_report, &bl); -+ rv = wait_not_full(beam, block, &space_left, &bl); -+ if (APR_SUCCESS != rv) { -+ break; -+ } -+ } - b = APR_BRIGADE_FIRST(sender_bb); -- status = append_bucket(beam, b, block, &bl); -+ rv = append_bucket(beam, b, block, &space_left, &bl); - } -+ - report_prod_io(beam, force_report, &bl); -- if (beam->cond) { -- apr_thread_cond_broadcast(beam->cond); -- } -+ apr_thread_cond_broadcast(beam->change); - } - report_consumption(beam, &bl); - leave_yellow(beam, &bl); - } -- return status; -+ return rv; - } - - apr_status_t h2_beam_receive(h2_bucket_beam *beam, -@@ -942,11 +974,16 @@ - apr_bucket *bsender, *brecv, *ng; - int transferred = 0; - apr_status_t status = APR_SUCCESS; -- apr_off_t remain = readbytes; -+ apr_off_t remain; - int transferred_buckets = 0; - - /* Called from the receiver thread to take buckets from the beam */ - if (enter_yellow(beam, &bl) == APR_SUCCESS) { -+ if (readbytes <= 0) { -+ readbytes = APR_SIZE_MAX; -+ } -+ remain = readbytes; -+ - transfer: - if (beam->aborted) { - recv_buffer_cleanup(beam, &bl); -@@ -955,11 +992,12 @@ - } - - /* transfer enough buckets from our receiver brigade, if we have one */ -- while (beam->recv_buffer -- && !APR_BRIGADE_EMPTY(beam->recv_buffer) -- && (readbytes <= 0 || remain >= 0)) { -+ while (remain >= 0 -+ && beam->recv_buffer -+ && !APR_BRIGADE_EMPTY(beam->recv_buffer)) { -+ - brecv = APR_BRIGADE_FIRST(beam->recv_buffer); -- if (readbytes > 0 && brecv->length > 0 && remain <= 0) { -+ if (brecv->length > 0 && remain <= 0) { - break; - } - APR_BUCKET_REMOVE(brecv); -@@ -970,11 +1008,11 @@ - - /* transfer from our sender brigade, transforming sender buckets to - * receiver ones until we have enough */ -- while (!H2_BLIST_EMPTY(&beam->send_list) && (readbytes <= 0 || remain >= 0)) { -- bsender = H2_BLIST_FIRST(&beam->send_list); -+ while (remain >= 0 && !H2_BLIST_EMPTY(&beam->send_list)) { -+ - brecv = NULL; -- -- if (readbytes > 0 && bsender->length > 0 && remain <= 0) { -+ bsender = H2_BLIST_FIRST(&beam->send_list); -+ if (bsender->length > 0 && remain <= 0) { - break; - } - -@@ -1020,11 +1058,12 @@ - * been handed out. See also PR 59348 */ - apr_bucket_file_enable_mmap(ng, 0); - #endif -- remain -= bsender->length; -- ++transferred; - APR_BUCKET_REMOVE(bsender); - H2_BLIST_INSERT_TAIL(&beam->hold_list, bsender); -+ -+ remain -= bsender->length; - ++transferred; -+ ++transferred_buckets; - continue; - } - else { -@@ -1041,6 +1080,7 @@ - * receiver bucket references it any more. */ - APR_BUCKET_REMOVE(bsender); - H2_BLIST_INSERT_TAIL(&beam->hold_list, bsender); -+ - beam->received_bytes += bsender->length; - ++transferred_buckets; - -@@ -1063,8 +1103,8 @@ - } - } - -- if (readbytes > 0 && remain < 0) { -- /* too much, put some back */ -+ if (remain < 0) { -+ /* too much, put some back into out recv_buffer */ - remain = readbytes; - for (brecv = APR_BRIGADE_FIRST(bb); - brecv != APR_BRIGADE_SENTINEL(bb); -@@ -1081,15 +1121,7 @@ - } - } - -- if (transferred_buckets > 0) { -- if (beam->cons_ev_cb) { -- beam->cons_ev_cb(beam->cons_ctx, beam); -- } -- } -- -- if (beam->closed -- && (!beam->recv_buffer || APR_BRIGADE_EMPTY(beam->recv_buffer)) -- && H2_BLIST_EMPTY(&beam->send_list)) { -+ if (beam->closed && buffer_is_empty(beam)) { - /* beam is closed and we have nothing more to receive */ - if (!beam->close_sent) { - apr_bucket *b = apr_bucket_eos_create(bb->bucket_alloc); -@@ -1100,28 +1132,23 @@ - } - } - -+ if (transferred_buckets > 0) { -+ if (beam->cons_ev_cb) { -+ beam->cons_ev_cb(beam->cons_ctx, beam); -+ } -+ } -+ - if (transferred) { -- if (beam->cond) { -- apr_thread_cond_broadcast(beam->cond); -- } -+ apr_thread_cond_broadcast(beam->change); - status = APR_SUCCESS; - } -- else if (beam->closed) { -- status = APR_EOF; -- } -- else if (block == APR_BLOCK_READ && bl.mutex && beam->cond) { -- status = wait_cond(beam, bl.mutex); -+ else { -+ status = wait_not_empty(beam, block, bl.mutex); - if (status != APR_SUCCESS) { - goto leave; - } - goto transfer; - } -- else { -- if (beam->cond) { -- apr_thread_cond_broadcast(beam->cond); -- } -- status = APR_EAGAIN; -- } - leave: - leave_yellow(beam, &bl); - } -Index: modules/http2/h2_bucket_beam.h -=================================================================== ---- modules/http2/h2_bucket_beam.h (revision 1804645) -+++ modules/http2/h2_bucket_beam.h (working copy) -@@ -190,7 +190,7 @@ - unsigned int tx_mem_limits : 1; /* only memory size counts on transfers */ - - struct apr_thread_mutex_t *lock; -- struct apr_thread_cond_t *cond; -+ struct apr_thread_cond_t *change; - void *m_ctx; - h2_beam_mutex_enter *m_enter; - -Index: modules/http2/h2_stream.c -=================================================================== ---- modules/http2/h2_stream.c (revision 1804645) -+++ modules/http2/h2_stream.c (working copy) -@@ -774,20 +774,20 @@ - return NULL; - } - --static apr_status_t add_data(h2_stream *stream, apr_off_t requested, -- apr_off_t *plen, int *peos, int *complete, -- h2_headers **pheaders) -+static apr_status_t add_buffered_data(h2_stream *stream, apr_off_t requested, -+ apr_off_t *plen, int *peos, int *is_all, -+ h2_headers **pheaders) - { - apr_bucket *b, *e; - - *peos = 0; - *plen = 0; -- *complete = 0; -+ *is_all = 0; - if (pheaders) { - *pheaders = NULL; - } - -- H2_STREAM_OUT_LOG(APLOG_TRACE2, stream, "add_data"); -+ H2_STREAM_OUT_LOG(APLOG_TRACE2, stream, "add_buffered_data"); - b = APR_BRIGADE_FIRST(stream->out_buffer); - while (b != APR_BRIGADE_SENTINEL(stream->out_buffer)) { - e = APR_BUCKET_NEXT(b); -@@ -833,7 +833,7 @@ - } - b = e; - } -- *complete = 1; -+ *is_all = 1; - return APR_SUCCESS; - } - -@@ -865,7 +865,7 @@ - requested = (*plen > 0)? H2MIN(*plen, max_chunk) : max_chunk; - - /* count the buffered data until eos or a headers bucket */ -- status = add_data(stream, requested, plen, peos, &complete, pheaders); -+ status = add_buffered_data(stream, requested, plen, peos, &complete, pheaders); - - if (status == APR_EAGAIN) { - /* TODO: ugly, someone needs to retrieve the response first */ -@@ -882,29 +882,39 @@ - return APR_SUCCESS; - } - -+ /* If there we do not have enough buffered data to satisfy the requested -+ * length *and* we counted the _complete_ buffer (and did not stop in the middle -+ * because of meta data there), lets see if we can read more from the -+ * output beam */ - missing = H2MIN(requested, stream->max_mem) - *plen; - if (complete && !*peos && missing > 0) { -+ apr_status_t rv = APR_EOF; -+ - if (stream->output) { - H2_STREAM_OUT_LOG(APLOG_TRACE2, stream, "pre"); -- status = h2_beam_receive(stream->output, stream->out_buffer, -- APR_NONBLOCK_READ, -- stream->max_mem - *plen); -+ rv = h2_beam_receive(stream->output, stream->out_buffer, -+ APR_NONBLOCK_READ, stream->max_mem - *plen); - H2_STREAM_OUT_LOG(APLOG_TRACE2, stream, "post"); - } -- else { -- status = APR_EOF; -+ -+ if (rv == APR_SUCCESS) { -+ /* count the buffer again, now that we have read output */ -+ status = add_buffered_data(stream, requested, plen, peos, &complete, pheaders); - } -- -- if (APR_STATUS_IS_EOF(status)) { -+ else if (APR_STATUS_IS_EOF(rv)) { - apr_bucket *eos = apr_bucket_eos_create(c->bucket_alloc); - APR_BRIGADE_INSERT_TAIL(stream->out_buffer, eos); - *peos = 1; -- status = APR_SUCCESS; - } -- else if (status == APR_SUCCESS) { -- /* do it again, now that we have gotten more */ -- status = add_data(stream, requested, plen, peos, &complete, pheaders); -+ else if (APR_STATUS_IS_EAGAIN(rv)) { -+ /* we set this is the status of this call only if there -+ * is no buffered data, see check below */ - } -+ else { -+ /* real error reading. Give this back directly, even though -+ * we may have something buffered. */ -+ status = rv; -+ } - } - - if (status == APR_SUCCESS) { -Index: modules/http2/h2_task.c -=================================================================== ---- modules/http2/h2_task.c (revision 1804645) -+++ modules/http2/h2_task.c (working copy) -@@ -129,7 +129,7 @@ - apr_bucket_brigade* bb) - { - apr_bucket *b; -- apr_status_t status = APR_SUCCESS; -+ apr_status_t rv = APR_SUCCESS; - int flush = 0, blocking; - - if (task->frozen) { -@@ -148,17 +148,16 @@ - return APR_SUCCESS; - } - -+send: - /* we send block once we opened the output, so someone is there - * reading it *and* the task is not assigned to a h2_req_engine */ - blocking = (!task->assigned && task->output.opened); -- if (!task->output.opened) { -- for (b = APR_BRIGADE_FIRST(bb); -- b != APR_BRIGADE_SENTINEL(bb); -- b = APR_BUCKET_NEXT(b)) { -- if (APR_BUCKET_IS_FLUSH(b)) { -- flush = 1; -- break; -- } -+ for (b = APR_BRIGADE_FIRST(bb); -+ b != APR_BRIGADE_SENTINEL(bb); -+ b = APR_BUCKET_NEXT(b)) { -+ if (APR_BUCKET_IS_FLUSH(b) || APR_BUCKET_IS_EOS(b) || AP_BUCKET_IS_EOR(b)) { -+ flush = 1; -+ break; - } - } - -@@ -166,32 +165,48 @@ - /* still have data buffered from previous attempt. - * setaside and append new data and try to pass the complete data */ - if (!APR_BRIGADE_EMPTY(bb)) { -- status = ap_save_brigade(f, &task->output.bb, &bb, task->pool); -+ if (APR_SUCCESS != (rv = ap_save_brigade(f, &task->output.bb, &bb, task->pool))) { -+ goto out; -+ } - } -- if (status == APR_SUCCESS) { -- status = send_out(task, task->output.bb, blocking); -- } -+ rv = send_out(task, task->output.bb, blocking); - } - else { -- /* no data buffered here, try to pass the brigade directly */ -- status = send_out(task, bb, blocking); -- if (status == APR_SUCCESS && !APR_BRIGADE_EMPTY(bb)) { -- /* could not write all, buffer the rest */ -- ap_log_cerror(APLOG_MARK, APLOG_DEBUG, status, task->c, APLOGNO(03405) -- "h2_slave_out(%s): saving brigade", -- task->id); -- status = ap_save_brigade(f, &task->output.bb, &bb, task->pool); -- flush = 1; -+ /* no data buffered previously, pass brigade directly */ -+ rv = send_out(task, bb, blocking); -+ -+ if (APR_SUCCESS == rv && !APR_BRIGADE_EMPTY(bb)) { -+ /* output refused to buffer it all, time to open? */ -+ if (!task->output.opened && APR_SUCCESS == (rv = open_output(task))) { -+ /* Make another attempt to send the data. With the output open, -+ * the call might be blocking and send all data, so we do not need -+ * to save the brigade */ -+ goto send; -+ } -+ else if (blocking && flush) { -+ /* Need to keep on doing this. */ -+ goto send; -+ } -+ -+ if (APR_SUCCESS == rv) { -+ /* could not write all, buffer the rest */ -+ ap_log_cerror(APLOG_MARK, APLOG_DEBUG, rv, task->c, APLOGNO(03405) -+ "h2_slave_out(%s): saving brigade", task->id); -+ ap_assert(NULL); -+ rv = ap_save_brigade(f, &task->output.bb, &bb, task->pool); -+ flush = 1; -+ } - } - } - -- if (status == APR_SUCCESS && !task->output.opened && flush) { -+ if (APR_SUCCESS == rv && !task->output.opened && flush) { - /* got a flush or could not write all, time to tell someone to read */ -- status = open_output(task); -+ rv = open_output(task); - } -- ap_log_cerror(APLOG_MARK, APLOG_TRACE2, status, task->c, -+out: -+ ap_log_cerror(APLOG_MARK, APLOG_TRACE2, rv, task->c, - "h2_slave_out(%s): slave_out leave", task->id); -- return status; -+ return rv; - } - - static apr_status_t output_finish(h2_task *task) -Index: modules/http2/h2_version.h -=================================================================== ---- modules/http2/h2_version.h (revision 1804645) -+++ modules/http2/h2_version.h (working copy) -@@ -26,7 +26,7 @@ - * @macro - * Version number of the http2 module as c string - */ --#define MOD_HTTP2_VERSION "1.10.7" -+#define MOD_HTTP2_VERSION "1.10.10" - - /** - * @macro -@@ -34,7 +34,7 @@ - * release. This is a 24 bit number with 8 bits for major number, 8 bits - * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203. - */ --#define MOD_HTTP2_VERSION_NUM 0x010a06 -+#define MOD_HTTP2_VERSION_NUM 0x010a0a - - - #endif /* mod_h2_h2_version_h */ -Index: modules/http2 -=================================================================== ---- modules/http2 (revision 1804645) -+++ modules/http2 (working copy) - -Property changes on: modules/http2 -___________________________________________________________________ -Modified: svn:mergeinfo -## -0,0 +0,1 ## - Merged /httpd/httpd/trunk/modules/http2:r1803420,1803454,1804090 -Index: . -=================================================================== ---- . (revision 1804645) -+++ . (working copy) - -Property changes on: . -___________________________________________________________________ -Modified: svn:mergeinfo -## -0,0 +0,1 ## - Merged /httpd/httpd/trunk:r1803420,1803454,1804090 diff --git a/src/scripts/backupiso b/src/scripts/backupiso index 1799bc1..caafe92 100644 --- a/src/scripts/backupiso +++ b/src/scripts/backupiso @@ -18,7 +18,7 @@ esac
COREVER=$(cat /opt/pakfire/db/core/mine) # FIXME: edit this lines before release -URL="http://download.ipfire.org/releases/ipfire-2.x/2.19-core$COREVER/" +URL="https://downloads.ipfire.org/releases/ipfire-2.x/2.19-core$COREVER/" ISO="ipfire-2.19.$arch-full-core$COREVER.iso"
if [ -z $1 ]; then diff --git a/src/scripts/captive-cleanup b/src/scripts/captive-cleanup new file mode 100755 index 0000000..b576df4 --- /dev/null +++ b/src/scripts/captive-cleanup @@ -0,0 +1,52 @@ +#!/usr/bin/perl +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2016 IPFire Team alexander.marx@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/. # +# # +############################################################################### + +use strict; + +require '/var/ipfire/general-functions.pl'; + +my %settings=(); +my %clientshash=(); +my $settingsfile="${General::swroot}/captive/settings"; +my $clients="${General::swroot}/captive/clients"; +my $time; +my $expiretime; + +if (-f $settingsfile && -f $clients && ! -z $clients){ + &General::readhash("$settingsfile", %settings) if(-f $settingsfile); + &General::readhasharray("$clients", %clientshash); + $time = time(); + foreach my $key (keys %clientshash) { + # Skip unlimited access lines + next if ($clientshash{$key}[3] == 0); + + $expiretime=($clientshash{$key}[2])+$clientshash{$key}[3]; + if ($expiretime < $time){ + delete $clientshash{$key}; + my $exp = gmtime($expiretime); + &General::log("Captive", "Delete expired voucher $clientshash{$key}[4] expired on $exp. Remark: $clientshash{$key}[5]"); + } + } + &General::writehasharray("$clients", %clientshash); + + # Reload firewall rules + system("/usr/local/bin/captivectrl"); +} diff --git a/src/scripts/httpscert b/src/scripts/httpscert index e20f789..cae39fb 100644 --- a/src/scripts/httpscert +++ b/src/scripts/httpscert @@ -7,17 +7,36 @@ case "$1" in new) if [ ! -f /etc/httpd/server.key ]; then - echo "Generating https server key." + echo "Generating HTTPS RSA server key." /usr/bin/openssl genrsa -out /etc/httpd/server.key 4096 fi - echo "Generating CSR" - /bin/cat /etc/certparams | sed "s/HOSTNAME/`hostname -f`/" | /usr/bin/openssl \ - req -new -key /etc/httpd/server.key -out /etc/httpd/server.csr - echo "Signing certificate" - /usr/bin/openssl x509 -req -days 999999 -sha256 -in \ - /etc/httpd/server.csr -signkey /etc/httpd/server.key -out \ - /etc/httpd/server.crt - ;; + if [ ! -f /etc/httpd/server-ecdsa.key ]; then + echo "Generating HTTPS ECDSA server key." + /usr/bin/openssl ecparam -genkey -name secp384r1 | openssl ec -out /etc/httpd/server-ecdsa.key + fi + + echo "Generating CSRs" + if [ ! -f /etc/httpd/server.csr ]; then + /bin/cat /etc/certparams | sed "s/HOSTNAME/`hostname -f`/" | /usr/bin/openssl \ + req -new -key /etc/httpd/server.key -out /etc/httpd/server.csr + fi + if [ ! -f /etc/httpd/server-ecdsa.csr ]; then + /bin/cat /etc/certparams | sed "s/HOSTNAME/`hostname -f`/" | /usr/bin/openssl \ + req -new -key /etc/httpd/server-ecdsa.key -out /etc/httpd/server-ecdsa.csr + fi + + echo "Signing certificates" + if [ ! -f /etc/httpd/server.crt ]; then + /usr/bin/openssl x509 -req -days 999999 -sha256 -in \ + /etc/httpd/server.csr -signkey /etc/httpd/server.key -out \ + /etc/httpd/server.crt + fi + if [ ! -f /etc/httpd/server-ecdsa.crt ]; then + /usr/bin/openssl x509 -req -days 999999 -sha256 -in \ + /etc/httpd/server-ecdsa.csr -signkey /etc/httpd/server-ecdsa.key -out \ + /etc/httpd/server-ecdsa.crt + fi + ;; read) if [ -f /etc/httpd/server.key -a -f /etc/httpd/server.crt -a -f /etc/httpd/server.csr ]; then ISSUER=`openssl x509 -in /etc/httpd/server.crt -text -noout | grep Issuer | /usr/bin/cut -f2 -d '='` diff --git a/src/setup/po/ar.po b/src/setup/po/ar.po index a3b9a80..0538825 100644 --- a/src/setup/po/ar.po +++ b/src/setup/po/ar.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Omar Sherif El Watidy omar.elwatidy@gmail.com, 2016 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Arabic (http://www.transifex.com/projects/p/ipfire/language/ar/)%5Cn" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" +"Last-Translator: Omar Sherif El Watidy omar.elwatidy@gmail.com\n" +"Language-Team: Arabic (http://www.transifex.com/mstremer/ipfire/language/ar/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -71,14 +72,14 @@ msgstr "" #: networking.c:642 networking.c:653 networking.c:746 passwords.c:89 #: timezone.c:78 msgid "OK" -msgstr "" +msgstr "تم"
#: dhcp.c:143 domainname.c:43 hostname.c:47 keymap.c:86 netstuff.c:158 #: netstuff.c:673 netstuff.c:733 netstuff.c:756 networking.c:305 #: networking.c:410 networking.c:560 networking.c:653 networking.c:746 #: passwords.c:89 timezone.c:78 msgid "Cancel" -msgstr "" +msgstr "إلغاء"
#: dhcp.c:156 msgid "" @@ -192,15 +193,15 @@ msgstr ""
#: main.c:99 msgid "Quit" -msgstr "" +msgstr "خروج"
#: main.c:172 msgid "Setup is complete." -msgstr "" +msgstr "تم التثبيت بنجاح "
#: main.c:174 netstuff.c:733 networking.c:560 networking.c:653 msgid "Warning" -msgstr "" +msgstr "تحذير "
#: main.c:175 msgid "" @@ -211,7 +212,7 @@ msgstr "" #: misc.c:62 #, c-format msgid "Unable to write %s/main/hostname.conf" -msgstr "" +msgstr " %s/main/hostname.conf لم يمكن تنزيل الملفات الى "
#: misc.c:71 msgid "Unable to open main hosts file." diff --git a/src/setup/po/ca.po b/src/setup/po/ca.po index 20dd073..a7a1bad 100644 --- a/src/setup/po/ca.po +++ b/src/setup/po/ca.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/ipfire/language/ca/)%5Cn" +"Language-Team: Catalan (http://www.transifex.com/mstremer/ipfire/language/ca/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/cs_CZ.po b/src/setup/po/cs_CZ.po index 1a3a7d6..ed3311f 100644 --- a/src/setup/po/cs_CZ.po +++ b/src/setup/po/cs_CZ.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/ipfire/language/cs_CZ/)%5Cn" +"Language-Team: Czech (Czech Republic) (http://www.transifex.com/mstremer/ipfire/language/cs_CZ/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/da.po b/src/setup/po/da.po index bf05c10..2e21ad8 100644 --- a/src/setup/po/da.po +++ b/src/setup/po/da.po @@ -3,15 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Henrik Simonsen cybermaze@gmail.com, 2014 +# Henrik Simonsen cybermaze@gmail.com, 2014,2016 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-24 14:21+0000\n" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" "Last-Translator: Henrik Simonsen cybermaze@gmail.com\n" -"Language-Team: Danish (http://www.transifex.com/projects/p/ipfire/language/da/)%5Cn" +"Language-Team: Danish (http://www.transifex.com/mstremer/ipfire/language/da/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -570,7 +570,7 @@ msgstr "Igen:"
#: passwords.c:95 msgid "Password cannot be blank." -msgstr "Adgangskode kan ikke være tom." +msgstr "Adgangskoden må ikke være tom."
#: passwords.c:102 msgid "Passwords do not match." @@ -578,7 +578,7 @@ msgstr "Adgangskoderne er ikke ens."
#: passwords.c:109 msgid "Password cannot contain spaces." -msgstr "Adgangskoder kan ikke indeholde mellemrum." +msgstr "Adgangskoden må ikke indeholde mellemrum."
#: timezone.c:77 msgid "Choose the timezone you are in from the list below." diff --git a/src/setup/po/de.po b/src/setup/po/de.po index 021aecb..122e8f7 100644 --- a/src/setup/po/de.po +++ b/src/setup/po/de.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2015-05-07 16:52+0000\n" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" "Last-Translator: Sun Tiger\n" "Language-Team: German (http://www.transifex.com/mstremer/ipfire/language/de/)%5Cn" "MIME-Version: 1.0\n" diff --git a/src/setup/po/el_GR.po b/src/setup/po/el_GR.po index 3d4d211..d5f38ba 100644 --- a/src/setup/po/el_GR.po +++ b/src/setup/po/el_GR.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Greek (Greece) (http://www.transifex.com/projects/p/ipfire/language/el_GR/)%5Cn" +"Language-Team: Greek (Greece) (http://www.transifex.com/mstremer/ipfire/language/el_GR/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/es.po b/src/setup/po/es.po index 060dd2d..91235d7 100644 --- a/src/setup/po/es.po +++ b/src/setup/po/es.po @@ -10,9 +10,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2015-02-01 09:37+0000\n" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" "Last-Translator: Roberto Peña roberto.pena@northsecure.es\n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/ipfire/language/es/)%5Cn" +"Language-Team: Spanish (http://www.transifex.com/mstremer/ipfire/language/es/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/fa.po b/src/setup/po/fa.po index a825ca8..9f6dbd8 100644 --- a/src/setup/po/fa.po +++ b/src/setup/po/fa.po @@ -10,9 +10,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2015-01-26 06:42+0000\n" +"PO-Revision-Date: 2017-09-23 20:09+0000\n" "Last-Translator: Khalil Delavaran khalil.delavaran@gmail.com\n" -"Language-Team: Persian (http://www.transifex.com/projects/p/ipfire/language/fa/)%5Cn" +"Language-Team: Persian (http://www.transifex.com/mstremer/ipfire/language/fa/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/fr.po b/src/setup/po/fr.po index c649710..46a74b5 100644 --- a/src/setup/po/fr.po +++ b/src/setup/po/fr.po @@ -3,17 +3,20 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Cedric RIVERA, 2016 # irenee Munyaneza muirenee@yahoo.fr, 2014 +# Nicolas Cuffia cuffia.cuceglio@vivaldi.net, 2016 # nonux nonux@free.fr, 2015 +# Philippe B philippe@123-newbeetle.com, 2016 # Sebastien Labrie fonkyy@gmail.com, 2015 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2015-02-17 23:25+0000\n" -"Last-Translator: nonux nonux@free.fr\n" -"Language-Team: French (http://www.transifex.com/projects/p/ipfire/language/fr/)%5Cn" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" +"Last-Translator: Cedric RIVERA\n" +"Language-Team: French (http://www.transifex.com/mstremer/ipfire/language/fr/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -22,19 +25,19 @@ msgstr ""
#: dhcp.c:50 msgid "Start address:" -msgstr "Adresse du début :" +msgstr "Adresse de début :"
#: dhcp.c:51 msgid "End address:" -msgstr "Adresse de fin : " +msgstr "Adresse de fin :"
#: dhcp.c:52 networking.c:717 msgid "Primary DNS:" -msgstr "DNS primaire:" +msgstr "DNS primaire :"
#: dhcp.c:53 networking.c:723 msgid "Secondary DNS:" -msgstr "DNS secondaire:" +msgstr "DNS secondaire :"
#: dhcp.c:54 msgid "Default lease (mins):" @@ -62,7 +65,7 @@ msgstr "Configuration du serveur DHCP"
#: dhcp.c:116 msgid "Configure the DHCP server by entering the settings information." -msgstr "" +msgstr "Configurer le serveur DHCP en entrant les informations de paramètrage."
#: dhcp.c:125 msgid "Enabled" @@ -74,7 +77,7 @@ msgstr "Activé" #: networking.c:642 networking.c:653 networking.c:746 passwords.c:89 #: timezone.c:78 msgid "OK" -msgstr "" +msgstr "OK"
#: dhcp.c:143 domainname.c:43 hostname.c:47 keymap.c:86 netstuff.c:158 #: netstuff.c:673 netstuff.c:733 netstuff.c:756 networking.c:305 @@ -151,15 +154,15 @@ msgstr "Le nom de domaine ne doit pas contenir d'espaces."
#: hostname.c:58 msgid "Hostname may only contain letters, numbers and hyphens." -msgstr "" +msgstr "Le hostname doit seulement contenir des lettres, chiffres et trais d'union."
#: keymap.c:84 main.c:67 msgid "Keyboard mapping" -msgstr "" +msgstr "Mappage du clavier"
#: keymap.c:85 msgid "Choose the type of keyboard you are using from the list below." -msgstr "" +msgstr "Choisir le type de clavier utilisé depuis la liste ci-dessous."
#: main.c:68 timezone.c:77 msgid "Timezone" @@ -171,7 +174,7 @@ msgstr "Réseau"
#: main.c:72 misc.c:147 msgid "ISDN" -msgstr "" +msgstr "ISDN"
#: main.c:73 msgid "'root' password" @@ -183,7 +186,7 @@ msgstr "Most de passe "admin""
#: main.c:90 msgid " <Tab>/<Alt-Tab> between elements | <Space> selects" -msgstr "" +msgstr "<Tab>/<Alt-Tab> entre les éléments | <Espace> selection"
#: main.c:97 msgid "Section menu" @@ -191,7 +194,7 @@ msgstr "Menu de sélection"
#: main.c:98 msgid "Select the item you wish to configure." -msgstr "" +msgstr "Sélectionner l'artivle à confurer."
#: main.c:99 msgid "Quit" @@ -199,7 +202,7 @@ msgstr "Quitter"
#: main.c:172 msgid "Setup is complete." -msgstr "" +msgstr "Le paramétrage est terminé."
#: main.c:174 netstuff.c:733 networking.c:560 networking.c:653 msgid "Warning" @@ -209,16 +212,16 @@ msgstr "Avertissement" msgid "" "Initial setup was not entirely complete. You must ensure that Setup is " "properly finished by running setup again at the shell." -msgstr "" +msgstr "Le paramétrage initial n'est pas terminé. Assurez vous que le paramétrage s'est correctement terminé en exécutant de nouveau setup depuis le shell."
#: misc.c:62 #, c-format msgid "Unable to write %s/main/hostname.conf" -msgstr "" +msgstr "Impossible d'écriere %s/main/hostname.conf"
#: misc.c:71 msgid "Unable to open main hosts file." -msgstr "" +msgstr "Impossible d'écrire le fichier principal hosts."
#: misc.c:76 msgid "Unable to write /etc/hosts." @@ -238,11 +241,11 @@ msgstr "Impossible de définir le nom d'hôte"
#: misc.c:147 msgid "Scanning and configuring ISDN devices." -msgstr "" +msgstr "Détection et configuration des interfaces ISDN."
#: misc.c:148 msgid "Unable to scan for ISDN devices." -msgstr "" +msgstr "Détection des périphériques ISDN impossible."
#: netstuff.c:86 #, c-format @@ -252,7 +255,7 @@ msgstr "Interface - %s" #: netstuff.c:91 #, c-format msgid "Enter the IP address information for the %s interface." -msgstr "" +msgstr "Paramétrage IP pour l'interface %s"
#: netstuff.c:103 msgid "Static" @@ -264,7 +267,7 @@ msgstr "DHCP"
#: netstuff.c:105 msgid "PPP DIALUP (PPPoE, modem, ATM ...)" -msgstr "" +msgstr "Connexion PPP (PPPoE, modem, ATM ...)"
#: netstuff.c:113 msgid "DHCP Hostname:" @@ -272,7 +275,7 @@ msgstr "Nom d'hôte DHCP:"
#: netstuff.c:115 msgid "Force DHCP MTU:" -msgstr "" +msgstr "Forcer taille MTU pour DHCP:"
#: netstuff.c:134 msgid "IP address:" @@ -300,16 +303,16 @@ msgstr "Nom d'hôte DHCP"
#: netstuff.c:396 netstuff.c:709 msgid "Unset" -msgstr "" +msgstr "Non-défini"
#: netstuff.c:669 #, c-format msgid "Please choose a networkcard for the following interface - %s." -msgstr "" +msgstr "Choisissez un adaptateur réseau pour l'interface - %s."
#: netstuff.c:672 msgid "Extended Network Menu" -msgstr "" +msgstr "Étendre le Menu Réseau"
#: netstuff.c:673 networking.c:520 msgid "Select" @@ -317,7 +320,7 @@ msgstr "Sélectionner"
#: netstuff.c:673 msgid "Identify" -msgstr "" +msgstr "Identifier"
#: netstuff.c:678 msgid "Device Identification" @@ -325,28 +328,28 @@ msgstr "Identification du périphérique"
#: netstuff.c:678 msgid "The lights on the selected port should flash now for 10 seconds..." -msgstr "" +msgstr "Le témoin lumineux du port sélectionné doit clignoter maintenant pendant 10 secondes ..."
#: netstuff.c:679 msgid "Identification is not supported by this interface." -msgstr "" +msgstr "L'identification n'est pas supporté par cet interface."
#: netstuff.c:691 msgid "There are no unassigned interfaces on your system." -msgstr "" +msgstr "Aucune interface assignée sur votre système."
#: netstuff.c:732 #, c-format msgid "Do you really want to remove the assigned %s interface?" -msgstr "" +msgstr "Confirmez-vous la suppression de l'interface assignée %s ?"
#: netstuff.c:755 msgid "Select network driver" -msgstr "" +msgstr "Selectionnez le pilote réseau"
#: netstuff.c:755 msgid "Set additional module parameters" -msgstr "" +msgstr "Régler des paramètres supplémentaires du moduie"
#: netstuff.c:762 msgid "Loading module..." @@ -354,7 +357,7 @@ msgstr "Chargement du module..."
#: netstuff.c:777 msgid "Unable to load driver module." -msgstr "" +msgstr "Incapable de charger le module du pilote"
#: netstuff.c:780 msgid "Module name cannot be blank." @@ -374,7 +377,7 @@ msgstr "Pas d'interface VERTE assignée."
#: networking.c:152 msgid "Missing an IP address on GREEN." -msgstr "" +msgstr "Adresse IP manquante pour VERT."
#: networking.c:163 msgid "Error" @@ -382,7 +385,7 @@ msgstr "Erreur"
#: networking.c:163 msgid "Ignore" -msgstr "" +msgstr "Ignorer"
#: networking.c:164 msgid "No RED interface assigned." @@ -390,7 +393,7 @@ msgstr "Pas d'interface ROUGE assignée."
#: networking.c:173 msgid "Missing an IP address on RED." -msgstr "" +msgstr "Adresse IP manquante pour ROUGE."
#: networking.c:183 msgid "No ORANGE interface assigned." @@ -398,7 +401,7 @@ msgstr "Pas d'interface ORANGE assignée."
#: networking.c:189 msgid "Missing an IP address on ORANGE." -msgstr "" +msgstr "Adresse IP manquante pour ORANGE."
#: networking.c:199 msgid "No BLUE interface assigned." @@ -406,23 +409,23 @@ msgstr "Pas d'interface BLEUE assignée."
#: networking.c:205 msgid "Missing an IP address on BLUE." -msgstr "" +msgstr "Adresse IP manquante pour BLEU"
#: networking.c:217 msgid "Misssing DNS." -msgstr "" +msgstr "DNS non spécifié."
#: networking.c:224 msgid "Missing Default Gateway." -msgstr "" +msgstr "Passerelle par défaut non spécifiée."
#: networking.c:237 networking.c:304 msgid "Network configuration type" -msgstr "" +msgstr "Type de configuration réseau"
#: networking.c:238 networking.c:409 msgid "Drivers and card assignments" -msgstr "" +msgstr "Affectation des Pilotes et des Cartes"
#: networking.c:239 networking.c:640 msgid "Address settings" @@ -430,11 +433,11 @@ msgstr "Configuration d'adresse"
#: networking.c:240 networking.c:743 msgid "DNS and Gateway settings" -msgstr "" +msgstr "Réglages DNS et Passerelle"
#: networking.c:260 msgid "When configuration is complete, a network restart will be required." -msgstr "" +msgstr "A l'issue de la configuration un redémarrage de la couche réseau est nécessaire."
#: networking.c:267 #, c-format @@ -442,7 +445,7 @@ msgid "" "Current config: %s\n" "\n" "%s" -msgstr "" +msgstr "Configuration actuelle: %s\n\n%s"
#: networking.c:268 msgid "Network configuration menu" @@ -459,7 +462,7 @@ msgid "" "list those interfaces which have ethernet attached. If you change this " "setting, a network restart will be required, and you will have to " "reconfigure the network driver assignments." -msgstr "" +msgstr "Choisir la configuration réseau pour %s. Les types de configuration suivants énumèrent les interfaces ethernet connectées. Tous changements dans le paramétrage nécessitent une reconfiguration de la couche réseau et des pilotes associés."
#: networking.c:307 #, c-format @@ -467,27 +470,27 @@ msgid "" "Not enough netcards for your choice.\n" "\n" "Needed: %d - Available: %d\n" -msgstr "" +msgstr "Pas assez d'adaptateurs réseaux pour votre choix.\n\nAttendu: %d - Disponible: %d\n\n"
#: networking.c:359 msgid "" "Configure network drivers, and which interface each card is assigned to. The current configuration is as follows:\n" "\n" -msgstr "" +msgstr "Configuration des pilotes réseaux et des interfaces associées aux adaptateurs réseaux. La configuration est la suivante:\n"
#: networking.c:408 msgid "Do you wish to change these settings?" -msgstr "" +msgstr "Voulez-vous changer ces paramètres?"
#: networking.c:447 msgid "Restarting non-local network..." -msgstr "" +msgstr "Redémarrage du réseau distant ..."
#: networking.c:464 msgid "" "Please choose the interface you wish to change.\n" "\n" -msgstr "" +msgstr "S'il vous plaît, choisissez l'interface que vous voulez changer.\n\n"
#: networking.c:519 msgid "Assigned Cards" @@ -495,7 +498,7 @@ msgstr "Cartes attribuées"
#: networking.c:520 msgid "Remove" -msgstr "" +msgstr "Enlever"
#: networking.c:556 networking.c:649 #, c-format @@ -504,11 +507,11 @@ msgid "" "connection to the %s machine will be broken, and you will have to reconnect " "on the new IP. This is a risky operation, and should only be attempted if " "you have physical access to the machine, should something go wrong." -msgstr "" +msgstr "Si vous changez cette adresse IP et si vous êtes connecté à distance alors votre accès à la machine %s sera rompu et il vous sera nécessaire de vous reconnecter à la nouvelle adresse IP. C'est une situation dangereuse qui ne doit être tentée que si vous avez accès physiquement à l'ordinateur afin d'éviter une complication inattendue."
#: networking.c:641 msgid "Select the interface you wish to reconfigure." -msgstr "" +msgstr "Selectionnez l'interface que vous souhaitez reconfigurer."
#: networking.c:729 msgid "Default gateway:" @@ -518,7 +521,7 @@ msgstr "Passerelle par defaut" msgid "" "Enter the DNS and gateway information. These settings are used only with " "Static IP (and DHCP if DNS set) on the RED interface." -msgstr "" +msgstr "Saisir les informations relatives au DNS et à la passerelle. Ces paramètres sont utilisés dans la cas d'une configuration statique de la couche IP (et DHCP pour le DNS) sur l'interface ROUGE."
#: networking.c:773 msgid "Default gateway" @@ -526,12 +529,12 @@ msgstr "Passerelle par défaut"
#: networking.c:780 msgid "Secondary DNS specified without a Primary DNS" -msgstr "" +msgstr "DNS secondaire spécifié sans DNS primaire"
#: passwords.c:33 msgid "" "Enter the 'root' user password. Login as this user for commandline access." -msgstr "" +msgstr "Entrez le mot de passe pour le super-utilisateur 'root'. Se connecter avec celui-ci pour les accès en ligne de commande."
#: passwords.c:38 passwords.c:61 msgid "Setting password" @@ -539,28 +542,28 @@ msgstr "Configuration du mot de passe"
#: passwords.c:38 msgid "Setting 'root' password...." -msgstr "" +msgstr "Paramétrage du mot de passe pour le super-utilisateur 'root' ..."
#: passwords.c:39 msgid "Problem setting 'root' password." -msgstr "" +msgstr "Problème lors du paramétrage du mot de passe pour le super-utilisateur 'root' ..."
#: passwords.c:53 #, c-format msgid "" "Enter %s 'admin' user password. This is the user to use for logging into the" " %s web administration pages." -msgstr "" +msgstr "Saisir le mot de passe %s pour l'utilisateur 'admin'. Cet utilisateur est nécessaire pour se connecter aux pages web %s d'administration."
#: passwords.c:60 #, c-format msgid "Setting %s 'admin' user password..." -msgstr "" +msgstr "Paramétrage du mot de passe %s pour le compte utilisateur 'admin'..."
#: passwords.c:62 #, c-format msgid "Problem setting %s 'admin' user password." -msgstr "" +msgstr "Problème rencontré lors de mise en place du mot de passe %s pour l'utilisateur 'admin'."
#: passwords.c:76 msgid "Password:" @@ -576,7 +579,7 @@ msgstr "Le mot de passe ne doit pas être vide"
#: passwords.c:102 msgid "Passwords do not match." -msgstr "" +msgstr "Les mots de passe de correspondent pas."
#: passwords.c:109 msgid "Password cannot contain spaces." @@ -584,4 +587,4 @@ msgstr "Le mot de passe ne doit pas contenir des espaces"
#: timezone.c:77 msgid "Choose the timezone you are in from the list below." -msgstr "" +msgstr "Choisir le fuseau horaire adéquate dans la liste suivante. " diff --git a/src/setup/po/hr.po b/src/setup/po/hr.po index 3ecc4d3..54261ed 100644 --- a/src/setup/po/hr.po +++ b/src/setup/po/hr.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-10-31 14:31+0000\n" +"PO-Revision-Date: 2017-09-21 12:48+0000\n" "Last-Translator: Blago Culjak blago.culjak@hotmail.com\n" -"Language-Team: Croatian (http://www.transifex.com/projects/p/ipfire/language/hr/)%5Cn" +"Language-Team: Croatian (http://www.transifex.com/mstremer/ipfire/language/hr/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/hu.po b/src/setup/po/hu.po index 3d71983..565704e 100644 --- a/src/setup/po/hu.po +++ b/src/setup/po/hu.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Gábor Sávolyi, 2016 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Hungarian (http://www.transifex.com/projects/p/ipfire/language/hu/)%5Cn" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" +"Last-Translator: Gábor Sávolyi\n" +"Language-Team: Hungarian (http://www.transifex.com/mstremer/ipfire/language/hu/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -19,31 +20,31 @@ msgstr ""
#: dhcp.c:50 msgid "Start address:" -msgstr "" +msgstr "Kezdő cím:"
#: dhcp.c:51 msgid "End address:" -msgstr "" +msgstr "Végső cím:"
#: dhcp.c:52 networking.c:717 msgid "Primary DNS:" -msgstr "" +msgstr "Elsődleges DNS:"
#: dhcp.c:53 networking.c:723 msgid "Secondary DNS:" -msgstr "" +msgstr "Másodlagos DNS:"
#: dhcp.c:54 msgid "Default lease (mins):" -msgstr "" +msgstr "Alapértelmezett bérleti idő (perc):"
#: dhcp.c:55 msgid "Max lease (mins):" -msgstr "" +msgstr "Maximális bérleti idő (perc):"
#: dhcp.c:56 msgid "Domain name suffix:" -msgstr "" +msgstr "Domain név utótag:"
#: dhcp.c:86 dhcp.c:93 dhcp.c:101 domainname.c:34 hostname.c:37 keymap.c:70 #: misc.c:40 misc.c:52 netstuff.c:377 netstuff.c:566 netstuff.c:704 @@ -51,19 +52,19 @@ msgstr "" #: networking.c:442 networking.c:552 networking.c:603 networking.c:610 #: networking.c:713 timezone.c:63 msgid "Unable to open settings file" -msgstr "" +msgstr "Nem sikerült megnyitni a konfigurációs fájlt"
#: dhcp.c:111 msgid "DHCP server configuration" -msgstr "" +msgstr "DHCP kiszolgáló beállítása"
#: dhcp.c:116 msgid "Configure the DHCP server by entering the settings information." -msgstr "" +msgstr "DHCP kiszolgáló beállításainak megadása."
#: dhcp.c:125 msgid "Enabled" -msgstr "" +msgstr "Engedélyezve"
#: dhcp.c:142 domainname.c:43 hostname.c:47 keymap.c:86 main.c:99 main.c:172 #: main.c:174 netstuff.c:157 netstuff.c:733 netstuff.c:756 networking.c:163 @@ -71,367 +72,367 @@ msgstr "" #: networking.c:642 networking.c:653 networking.c:746 passwords.c:89 #: timezone.c:78 msgid "OK" -msgstr "" +msgstr "Rendben"
#: dhcp.c:143 domainname.c:43 hostname.c:47 keymap.c:86 netstuff.c:158 #: netstuff.c:673 netstuff.c:733 netstuff.c:756 networking.c:305 #: networking.c:410 networking.c:560 networking.c:653 networking.c:746 #: passwords.c:89 timezone.c:78 msgid "Cancel" -msgstr "" +msgstr "Mégsem"
#: dhcp.c:156 msgid "" "The following fields are invalid:\n" "\n" -msgstr "" +msgstr "A következő mezők érvénytelenek:\n\n"
#: dhcp.c:159 msgid "Start address" -msgstr "" +msgstr "Kezdő cím"
#: dhcp.c:165 msgid "End address" -msgstr "" +msgstr "Végső cím"
#: dhcp.c:173 networking.c:755 msgid "Primary DNS" -msgstr "" +msgstr "Elsődleges DNS"
#: dhcp.c:182 networking.c:764 msgid "Secondary DNS" -msgstr "" +msgstr "Másodlagos DNS"
#: dhcp.c:189 msgid "Default lease time" -msgstr "" +msgstr "Alapértelmezett bérleti idő"
#: dhcp.c:195 msgid "Max. lease time" -msgstr "" +msgstr "Max. bérleti idő"
#: domainname.c:42 main.c:70 msgid "Domain name" -msgstr "" +msgstr "Domain név"
#: domainname.c:42 msgid "Enter Domain name" -msgstr "" +msgstr "Domain név megadása"
#: domainname.c:48 msgid "Domain name cannot be empty." -msgstr "" +msgstr "A domain név nem lehet üres."
#: domainname.c:50 msgid "Domain name cannot contain spaces." -msgstr "" +msgstr "A domain név nem tartalmazhat szóközt."
#: domainname.c:53 msgid "Domain name may only contain letters, numbers, hyphens and periods." -msgstr "" +msgstr "A domain név csak betűket, számokat, kötőjelet és pontot tartalmazhat."
#: hostname.c:46 main.c:69 msgid "Hostname" -msgstr "" +msgstr "Kiszolgálónév"
#: hostname.c:46 msgid "Enter the machine's hostname." -msgstr "" +msgstr "Add meg a gép kiszolgálónevét."
#: hostname.c:53 msgid "Hostname cannot be empty." -msgstr "" +msgstr "A kiszolgálónév nem lehet üres."
#: hostname.c:55 msgid "Hostname cannot contain spaces." -msgstr "" +msgstr "A kiszolgálónév nem tartalmazhat szóközt."
#: hostname.c:58 msgid "Hostname may only contain letters, numbers and hyphens." -msgstr "" +msgstr "A kiszolgálónév csak betűket, számokat és kötőjelet tartalmazhat."
#: keymap.c:84 main.c:67 msgid "Keyboard mapping" -msgstr "" +msgstr "Billentyűzet kiosztás"
#: keymap.c:85 msgid "Choose the type of keyboard you are using from the list below." -msgstr "" +msgstr "Válaszd ki a billentyűzet típusát a listából."
#: main.c:68 timezone.c:77 msgid "Timezone" -msgstr "" +msgstr "Időzóna"
#: main.c:71 networking.c:110 networking.c:115 networking.c:447 msgid "Networking" -msgstr "" +msgstr "Hálózati beállítások"
#: main.c:72 misc.c:147 msgid "ISDN" -msgstr "" +msgstr "ISDN"
#: main.c:73 msgid "'root' password" -msgstr "" +msgstr "'root' jelszó"
#: main.c:74 msgid "'admin' password" -msgstr "" +msgstr "'admin' jelszó"
#: main.c:90 msgid " <Tab>/<Alt-Tab> between elements | <Space> selects" -msgstr "" +msgstr "<Tab>/<Alt-Tab> elemek közötti váltás | <Space> kiválasztás"
#: main.c:97 msgid "Section menu" -msgstr "" +msgstr "Részlegek Menü"
#: main.c:98 msgid "Select the item you wish to configure." -msgstr "" +msgstr "Válaszd ki a beállítandó elemet."
#: main.c:99 msgid "Quit" -msgstr "" +msgstr "Kilépés"
#: main.c:172 msgid "Setup is complete." -msgstr "" +msgstr "Beállítások befejezve."
#: main.c:174 netstuff.c:733 networking.c:560 networking.c:653 msgid "Warning" -msgstr "" +msgstr "Figyelmeztetés"
#: main.c:175 msgid "" "Initial setup was not entirely complete. You must ensure that Setup is " "properly finished by running setup again at the shell." -msgstr "" +msgstr "A kezdő beállítások nem teljesek. Indítsd el újra a 'setup'-ot a befejezéshez."
#: misc.c:62 #, c-format msgid "Unable to write %s/main/hostname.conf" -msgstr "" +msgstr "Nem sikerült írni: %s/main/hostname.conf"
#: misc.c:71 msgid "Unable to open main hosts file." -msgstr "" +msgstr "Nem siekrült megnyitni a fő 'hosts' fájlt."
#: misc.c:76 msgid "Unable to write /etc/hosts." -msgstr "" +msgstr "Nem sikerült írni: /etc/hosts."
#: misc.c:117 msgid "Unable to write /etc/hosts.deny." -msgstr "" +msgstr "Nem sikerült írni: /etc/hosts.deny."
#: misc.c:125 msgid "Unable to write /etc/hosts.allow." -msgstr "" +msgstr "Nem sikerült írni: /etc/hosts.allow."
#: misc.c:136 msgid "Unable to set hostname." -msgstr "" +msgstr "A kiszolgálónév beállítása sikertelen."
#: misc.c:147 msgid "Scanning and configuring ISDN devices." -msgstr "" +msgstr "ISDN eszközök keresése és beállítása."
#: misc.c:148 msgid "Unable to scan for ISDN devices." -msgstr "" +msgstr "Az ISDN eszközök felkutatása sikertelen."
#: netstuff.c:86 #, c-format msgid "Interface - %s" -msgstr "" +msgstr "Adapter - %s"
#: netstuff.c:91 #, c-format msgid "Enter the IP address information for the %s interface." -msgstr "" +msgstr "Add meg az IP cím beállításait a következő eszközhöz: %s"
#: netstuff.c:103 msgid "Static" -msgstr "" +msgstr "Statikus"
#: netstuff.c:104 msgid "DHCP" -msgstr "" +msgstr "DHCP"
#: netstuff.c:105 msgid "PPP DIALUP (PPPoE, modem, ATM ...)" -msgstr "" +msgstr "PPP betárcsázás (PPPoE, modem, ATM ...)"
#: netstuff.c:113 msgid "DHCP Hostname:" -msgstr "" +msgstr "DHCP kiszolgálónév:"
#: netstuff.c:115 msgid "Force DHCP MTU:" -msgstr "" +msgstr "Kényszerített DHCP MTU:"
#: netstuff.c:134 msgid "IP address:" -msgstr "" +msgstr "IP cím:"
#: netstuff.c:146 msgid "Network mask:" -msgstr "" +msgstr "Hálózati maszk:"
#: netstuff.c:173 networking.c:749 msgid "The following fields are invalid:" -msgstr "" +msgstr "A következő mezők érvénytelenek:"
#: netstuff.c:183 msgid "IP address" -msgstr "" +msgstr "IP cím"
#: netstuff.c:189 msgid "Network mask" -msgstr "" +msgstr "Hálózati maszk"
#: netstuff.c:198 msgid "DHCP hostname" -msgstr "" +msgstr "DHCP kiszolgálónév"
#: netstuff.c:396 netstuff.c:709 msgid "Unset" -msgstr "" +msgstr "Kijelölés törlése"
#: netstuff.c:669 #, c-format msgid "Please choose a networkcard for the following interface - %s." -msgstr "" +msgstr "Válassz egy eszközt ehhez: %s."
#: netstuff.c:672 msgid "Extended Network Menu" -msgstr "" +msgstr "Kibővített Hálózati Menü"
#: netstuff.c:673 networking.c:520 msgid "Select" -msgstr "" +msgstr "Kiválaszt"
#: netstuff.c:673 msgid "Identify" -msgstr "" +msgstr "Azonosít"
#: netstuff.c:678 msgid "Device Identification" -msgstr "" +msgstr "Eszköz azonosító"
#: netstuff.c:678 msgid "The lights on the selected port should flash now for 10 seconds..." -msgstr "" +msgstr "A kiválasztott porton a visszajelző fény 10 másodpercig villog..."
#: netstuff.c:679 msgid "Identification is not supported by this interface." -msgstr "" +msgstr "Az azonosítást nem támogatja ez az eszköz."
#: netstuff.c:691 msgid "There are no unassigned interfaces on your system." -msgstr "" +msgstr "Nincsenek ki nem választott eszközeid."
#: netstuff.c:732 #, c-format msgid "Do you really want to remove the assigned %s interface?" -msgstr "" +msgstr "Biztos, hogy eltávolítod a %s eszköz hozzárendelését?"
#: netstuff.c:755 msgid "Select network driver" -msgstr "" +msgstr "Hálózati vezérlő kiválasztása"
#: netstuff.c:755 msgid "Set additional module parameters" -msgstr "" +msgstr "További paraméterek megadása a modulhoz"
#: netstuff.c:762 msgid "Loading module..." -msgstr "" +msgstr "Modul betöltése..."
#: netstuff.c:777 msgid "Unable to load driver module." -msgstr "" +msgstr "A vezérlő betöltése sikertelen."
#: netstuff.c:780 msgid "Module name cannot be blank." -msgstr "" +msgstr "A modulnév nem lehet üres."
#: networking.c:110 msgid "Stopping network..." -msgstr "" +msgstr "Hálózat leállítása..."
#: networking.c:115 msgid "Restarting network..." -msgstr "" +msgstr "Hálózat újraindítása..."
#: networking.c:146 msgid "No GREEN interface assigned." -msgstr "" +msgstr "Nincs ZÖLD eszköz kiválasztva."
#: networking.c:152 msgid "Missing an IP address on GREEN." -msgstr "" +msgstr "IP cím nincs hozzárendelve a ZÖLD eszközhöz."
#: networking.c:163 msgid "Error" -msgstr "" +msgstr "Hiba"
#: networking.c:163 msgid "Ignore" -msgstr "" +msgstr "Kihagyás"
#: networking.c:164 msgid "No RED interface assigned." -msgstr "" +msgstr "Nincs VÖRÖS eszköz hozzárendelve."
#: networking.c:173 msgid "Missing an IP address on RED." -msgstr "" +msgstr "IP cím nincs hozzárendelve a VÖRÖS eszközhöz."
#: networking.c:183 msgid "No ORANGE interface assigned." -msgstr "" +msgstr "Nincs NARACS eszköz kiválasztva."
#: networking.c:189 msgid "Missing an IP address on ORANGE." -msgstr "" +msgstr "IP cím nincs hozzárendelve a NARANCS eszközhöz."
#: networking.c:199 msgid "No BLUE interface assigned." -msgstr "" +msgstr "Nincs KÉK eszköz kiválasztva."
#: networking.c:205 msgid "Missing an IP address on BLUE." -msgstr "" +msgstr "IP cím nincs hozzárendelve a KÉK eszközhöz."
#: networking.c:217 msgid "Misssing DNS." -msgstr "" +msgstr "Nincs beállított DNS."
#: networking.c:224 msgid "Missing Default Gateway." -msgstr "" +msgstr "Nincs megadva alapértelmezett átjáró."
#: networking.c:237 networking.c:304 msgid "Network configuration type" -msgstr "" +msgstr "Hálózati csatlakozás típusa"
#: networking.c:238 networking.c:409 msgid "Drivers and card assignments" -msgstr "" +msgstr "Vezérlők és eszközök hozzárendelése"
#: networking.c:239 networking.c:640 msgid "Address settings" -msgstr "" +msgstr "Címbeállítások"
#: networking.c:240 networking.c:743 msgid "DNS and Gateway settings" -msgstr "" +msgstr "DNS és átjáró beállítások"
#: networking.c:260 msgid "When configuration is complete, a network restart will be required." -msgstr "" +msgstr "A beállítások végeztével a hálózat újraindítása szükséges."
#: networking.c:267 #, c-format @@ -439,15 +440,15 @@ msgid "" "Current config: %s\n" "\n" "%s" -msgstr "" +msgstr "Aktuális beállítás: %s\n\n%s"
#: networking.c:268 msgid "Network configuration menu" -msgstr "" +msgstr "Hálózatbeállítás menü"
#: networking.c:269 networking.c:520 networking.c:642 msgid "Done" -msgstr "" +msgstr "Kész"
#: networking.c:300 #, c-format @@ -456,7 +457,7 @@ msgid "" "list those interfaces which have ethernet attached. If you change this " "setting, a network restart will be required, and you will have to " "reconfigure the network driver assignments." -msgstr "" +msgstr "Válaszd ki a hálózati beállításokat a következőhöz: %s. A következő konfigurációs beállításoknál megadhatod a hálózattípusokat. Amennyiben megváltoztatod ezeket a beállításokat, a hálózatot újra kell indítani és esetleg megváltoztatni a hozzárendeléseket."
#: networking.c:307 #, c-format @@ -464,35 +465,35 @@ msgid "" "Not enough netcards for your choice.\n" "\n" "Needed: %d - Available: %d\n" -msgstr "" +msgstr "Nincs elegendő eszköz a kért beállításhoz.\n\nSzükséges: %d - Elérhető: %d\n"
#: networking.c:359 msgid "" "Configure network drivers, and which interface each card is assigned to. The current configuration is as follows:\n" "\n" -msgstr "" +msgstr "Hálózati vezérlők beállítása, hogy mi mihez legyen rendelve. Az aktuális beállítás a következő:\n\n"
#: networking.c:408 msgid "Do you wish to change these settings?" -msgstr "" +msgstr "Biztosan megváltoztatod ezeket a beállításokat?"
#: networking.c:447 msgid "Restarting non-local network..." -msgstr "" +msgstr "A nem helyi hálózat újraindítása..."
#: networking.c:464 msgid "" "Please choose the interface you wish to change.\n" "\n" -msgstr "" +msgstr "Válaszd ki a módosítandó eszközt.\n\n"
#: networking.c:519 msgid "Assigned Cards" -msgstr "" +msgstr "Hozzárendelt eszközök"
#: networking.c:520 msgid "Remove" -msgstr "" +msgstr "Eltávolít"
#: networking.c:556 networking.c:649 #, c-format @@ -501,84 +502,84 @@ msgid "" "connection to the %s machine will be broken, and you will have to reconnect " "on the new IP. This is a risky operation, and should only be attempted if " "you have physical access to the machine, should something go wrong." -msgstr "" +msgstr "Amennyiben megváltoztatod ezt az IP-t és távolról vagy bejelentkezve, a kapcsolatod a %s géphez meg fog szakadni és újra kell kapcsolódnod az új IP-vel. Ez egy kockázatos beállítás, ezért ajánlott, hogy fizikálisan hozzáférj a géphez, ha valami probléma merülne fel."
#: networking.c:641 msgid "Select the interface you wish to reconfigure." -msgstr "" +msgstr "Válaszd ki a beállítandó eszközt az újrakonfiguráláshoz."
#: networking.c:729 msgid "Default gateway:" -msgstr "" +msgstr "Alapértelmezett átjáró:"
#: networking.c:744 msgid "" "Enter the DNS and gateway information. These settings are used only with " "Static IP (and DHCP if DNS set) on the RED interface." -msgstr "" +msgstr "DNS és átjáró beállítások megadása. Ezek a beállítások a VÖRÖS csatlakozó statikus IP (és DHCP, ha DNS van megadva) beállításainál érvényesek."
#: networking.c:773 msgid "Default gateway" -msgstr "" +msgstr "Alapértelmezett átjáró"
#: networking.c:780 msgid "Secondary DNS specified without a Primary DNS" -msgstr "" +msgstr "Másodlagos DNS beállítva elsődleges DNS nélkül"
#: passwords.c:33 msgid "" "Enter the 'root' user password. Login as this user for commandline access." -msgstr "" +msgstr "Add meg a 'root' jelszót. A konzolon keresztül tudsz bejelentkezni vele."
#: passwords.c:38 passwords.c:61 msgid "Setting password" -msgstr "" +msgstr "Jelszó beállítása"
#: passwords.c:38 msgid "Setting 'root' password...." -msgstr "" +msgstr "A 'root' jelszó beállítása..."
#: passwords.c:39 msgid "Problem setting 'root' password." -msgstr "" +msgstr "A 'root' jelszó beállítása sikertelen."
#: passwords.c:53 #, c-format msgid "" "Enter %s 'admin' user password. This is the user to use for logging into the" " %s web administration pages." -msgstr "" +msgstr "Add meg az %s 'admin' jelszót. A %s webes felületen keresztül tudsz bejelentkezni vele."
#: passwords.c:60 #, c-format msgid "Setting %s 'admin' user password..." -msgstr "" +msgstr "A %s 'root' jelszó beállítása..."
#: passwords.c:62 #, c-format msgid "Problem setting %s 'admin' user password." -msgstr "" +msgstr "Probléma a %s 'root' jelszó beállításánál..."
#: passwords.c:76 msgid "Password:" -msgstr "" +msgstr "Jelszó:"
#: passwords.c:77 msgid "Again:" -msgstr "" +msgstr "Ismét:"
#: passwords.c:95 msgid "Password cannot be blank." -msgstr "" +msgstr "A jelszó nem lehet üres."
#: passwords.c:102 msgid "Passwords do not match." -msgstr "" +msgstr "A jelszavak nem egyeznek meg."
#: passwords.c:109 msgid "Password cannot contain spaces." -msgstr "" +msgstr "A jelszó nem tartalmazhat szóközt."
#: timezone.c:77 msgid "Choose the timezone you are in from the list below." -msgstr "" +msgstr "Válaszd ki az időzónád a listából." diff --git a/src/setup/po/id.po b/src/setup/po/id.po index 89c6c58..58032c4 100644 --- a/src/setup/po/id.po +++ b/src/setup/po/id.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/ipfire/language/id/)%5Cn" +"Language-Team: Indonesian (http://www.transifex.com/mstremer/ipfire/language/id/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/it.po b/src/setup/po/it.po index 778a65e..3ebbe0b 100644 --- a/src/setup/po/it.po +++ b/src/setup/po/it.po @@ -10,9 +10,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-09-30 13:22+0000\n" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" "Last-Translator: Mario mc9085@mclink.it\n" -"Language-Team: Italian (http://www.transifex.com/projects/p/ipfire/language/it/)%5Cn" +"Language-Team: Italian (http://www.transifex.com/mstremer/ipfire/language/it/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/ja.po b/src/setup/po/ja.po index 69c24c1..52bc7cf 100644 --- a/src/setup/po/ja.po +++ b/src/setup/po/ja.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Ronny Heinrich heinrich@matsumoto-wadokueikyoushitsu.com, 2016 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Japanese (http://www.transifex.com/projects/p/ipfire/language/ja/)%5Cn" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" +"Last-Translator: Ronny Heinrich heinrich@matsumoto-wadokueikyoushitsu.com\n" +"Language-Team: Japanese (http://www.transifex.com/mstremer/ipfire/language/ja/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -19,31 +20,31 @@ msgstr ""
#: dhcp.c:50 msgid "Start address:" -msgstr "" +msgstr "スタート・アドレス:"
#: dhcp.c:51 msgid "End address:" -msgstr "" +msgstr "最後のアドレス:"
#: dhcp.c:52 networking.c:717 msgid "Primary DNS:" -msgstr "" +msgstr "一次のDNS:"
#: dhcp.c:53 networking.c:723 msgid "Secondary DNS:" -msgstr "" +msgstr "二次のDNS:"
#: dhcp.c:54 msgid "Default lease (mins):" -msgstr "" +msgstr "デフォルト・リース(mins):"
#: dhcp.c:55 msgid "Max lease (mins):" -msgstr "" +msgstr "最高のリース(mins):"
#: dhcp.c:56 msgid "Domain name suffix:" -msgstr "" +msgstr "ドメイン名サフィックス:"
#: dhcp.c:86 dhcp.c:93 dhcp.c:101 domainname.c:34 hostname.c:37 keymap.c:70 #: misc.c:40 misc.c:52 netstuff.c:377 netstuff.c:566 netstuff.c:704 @@ -51,19 +52,19 @@ msgstr "" #: networking.c:442 networking.c:552 networking.c:603 networking.c:610 #: networking.c:713 timezone.c:63 msgid "Unable to open settings file" -msgstr "" +msgstr "設定ファイルが開けませんでした。"
#: dhcp.c:111 msgid "DHCP server configuration" -msgstr "" +msgstr "DHCPサーバー設定"
#: dhcp.c:116 msgid "Configure the DHCP server by entering the settings information." -msgstr "" +msgstr "設定情報の記入する方法で、DHCPサーバーを設定して下さい。"
#: dhcp.c:125 msgid "Enabled" -msgstr "" +msgstr "有効"
#: dhcp.c:142 domainname.c:43 hostname.c:47 keymap.c:86 main.c:99 main.c:172 #: main.c:174 netstuff.c:157 netstuff.c:733 netstuff.c:756 networking.c:163 @@ -71,367 +72,367 @@ msgstr "" #: networking.c:642 networking.c:653 networking.c:746 passwords.c:89 #: timezone.c:78 msgid "OK" -msgstr "" +msgstr "OK"
#: dhcp.c:143 domainname.c:43 hostname.c:47 keymap.c:86 netstuff.c:158 #: netstuff.c:673 netstuff.c:733 netstuff.c:756 networking.c:305 #: networking.c:410 networking.c:560 networking.c:653 networking.c:746 #: passwords.c:89 timezone.c:78 msgid "Cancel" -msgstr "" +msgstr "キャンセル"
#: dhcp.c:156 msgid "" "The following fields are invalid:\n" "\n" -msgstr "" +msgstr "下記のフィールドが無効です:\n\n"
#: dhcp.c:159 msgid "Start address" -msgstr "" +msgstr "スタート・アドレス"
#: dhcp.c:165 msgid "End address" -msgstr "" +msgstr "最後のアドレス"
#: dhcp.c:173 networking.c:755 msgid "Primary DNS" -msgstr "" +msgstr "一次のDNS"
#: dhcp.c:182 networking.c:764 msgid "Secondary DNS" -msgstr "" +msgstr "二次のDNS"
#: dhcp.c:189 msgid "Default lease time" -msgstr "" +msgstr "デフォルト・リース・タイム"
#: dhcp.c:195 msgid "Max. lease time" -msgstr "" +msgstr "最高のリース・タイム"
#: domainname.c:42 main.c:70 msgid "Domain name" -msgstr "" +msgstr "ドメイン名"
#: domainname.c:42 msgid "Enter Domain name" -msgstr "" +msgstr "ドメイン名を記入して下さい"
#: domainname.c:48 msgid "Domain name cannot be empty." -msgstr "" +msgstr "空ドメイン名が禁止です。"
#: domainname.c:50 msgid "Domain name cannot contain spaces." -msgstr "" +msgstr "スペースが含んでいるドメイン名が禁止です。"
#: domainname.c:53 msgid "Domain name may only contain letters, numbers, hyphens and periods." -msgstr "" +msgstr "ドメイン名は文字、数字、ハイフォン及びペリオドが許可されています。"
#: hostname.c:46 main.c:69 msgid "Hostname" -msgstr "" +msgstr "ホスト名"
#: hostname.c:46 msgid "Enter the machine's hostname." -msgstr "" +msgstr "機器のホスト名を記入して下さい。"
#: hostname.c:53 msgid "Hostname cannot be empty." -msgstr "" +msgstr "空ホスト名が禁止です。"
#: hostname.c:55 msgid "Hostname cannot contain spaces." -msgstr "" +msgstr "スペースが含んでいるホスト名が禁止です。"
#: hostname.c:58 msgid "Hostname may only contain letters, numbers and hyphens." -msgstr "" +msgstr "ホスト名は文字、数字、ハイフォン及びペリオドが許可されています。"
#: keymap.c:84 main.c:67 msgid "Keyboard mapping" -msgstr "" +msgstr "キーボード・マッピング"
#: keymap.c:85 msgid "Choose the type of keyboard you are using from the list below." -msgstr "" +msgstr "下記のリスてから使用したいキーボードを選んで下さい。"
#: main.c:68 timezone.c:77 msgid "Timezone" -msgstr "" +msgstr "時間帯"
#: main.c:71 networking.c:110 networking.c:115 networking.c:447 msgid "Networking" -msgstr "" +msgstr "ネットワーキング"
#: main.c:72 misc.c:147 msgid "ISDN" -msgstr "" +msgstr "ISDN"
#: main.c:73 msgid "'root' password" -msgstr "" +msgstr "'root'のパスワード"
#: main.c:74 msgid "'admin' password" -msgstr "" +msgstr "'管理者'のパスワード"
#: main.c:90 msgid " <Tab>/<Alt-Tab> between elements | <Space> selects" -msgstr "" +msgstr " <Tab>/<Alt-Tab> エレメントの間 | <Space> 選択"
#: main.c:97 msgid "Section menu" -msgstr "" +msgstr "メニューのセクション"
#: main.c:98 msgid "Select the item you wish to configure." -msgstr "" +msgstr "設定したいアイテムを選んで下さい。"
#: main.c:99 msgid "Quit" -msgstr "" +msgstr "終了"
#: main.c:172 msgid "Setup is complete." -msgstr "" +msgstr "設定が終了しました。"
#: main.c:174 netstuff.c:733 networking.c:560 networking.c:653 msgid "Warning" -msgstr "" +msgstr "警報"
#: main.c:175 msgid "" "Initial setup was not entirely complete. You must ensure that Setup is " "properly finished by running setup again at the shell." -msgstr "" +msgstr "初期設定は正規に終了しませんでした。もう一度コンソールで初期設定を実行して、正規に終了になるか確認することが必要です。"
#: misc.c:62 #, c-format msgid "Unable to write %s/main/hostname.conf" -msgstr "" +msgstr "%s/main/hostname.confを書き込むことが出来ませんでした。"
#: misc.c:71 msgid "Unable to open main hosts file." -msgstr "" +msgstr "ホストのファイルが開けませんでした。"
#: misc.c:76 msgid "Unable to write /etc/hosts." -msgstr "" +msgstr "/etc/hostsを書き込むことが出来ませんでした。"
#: misc.c:117 msgid "Unable to write /etc/hosts.deny." -msgstr "" +msgstr "/etc/hosts.denyを書き込むことが出来ませんでした。"
#: misc.c:125 msgid "Unable to write /etc/hosts.allow." -msgstr "" +msgstr "/etc/hosts.allowを書き込むことが出来ませんでした。"
#: misc.c:136 msgid "Unable to set hostname." -msgstr "" +msgstr "ホスト名が設定出来ませんでした。"
#: misc.c:147 msgid "Scanning and configuring ISDN devices." -msgstr "" +msgstr "ISDN機器をスキャン及び設定しています。"
#: misc.c:148 msgid "Unable to scan for ISDN devices." -msgstr "" +msgstr "ISDN機器がスキャン出来ません。"
#: netstuff.c:86 #, c-format msgid "Interface - %s" -msgstr "" +msgstr "インタフェース ー %s"
#: netstuff.c:91 #, c-format msgid "Enter the IP address information for the %s interface." -msgstr "" +msgstr "%sはインタフェースのIPアドレス情報を記入して下さい。"
#: netstuff.c:103 msgid "Static" -msgstr "" +msgstr "固定"
#: netstuff.c:104 msgid "DHCP" -msgstr "" +msgstr "DHCP"
#: netstuff.c:105 msgid "PPP DIALUP (PPPoE, modem, ATM ...)" -msgstr "" +msgstr "PPP ダイヤル・アップ(PPPoE, モーデム, ATMなど)"
#: netstuff.c:113 msgid "DHCP Hostname:" -msgstr "" +msgstr "DHCPホスト名:"
#: netstuff.c:115 msgid "Force DHCP MTU:" -msgstr "" +msgstr "DHCP MTUの制御:"
#: netstuff.c:134 msgid "IP address:" -msgstr "" +msgstr "IPアドレス:"
#: netstuff.c:146 msgid "Network mask:" -msgstr "" +msgstr "ネットワーク・マスク:"
#: netstuff.c:173 networking.c:749 msgid "The following fields are invalid:" -msgstr "" +msgstr "下記のフィールドが無効です:"
#: netstuff.c:183 msgid "IP address" -msgstr "" +msgstr "IPアドレス"
#: netstuff.c:189 msgid "Network mask" -msgstr "" +msgstr "ネットワーク・マスク"
#: netstuff.c:198 msgid "DHCP hostname" -msgstr "" +msgstr "DHCPホスト名"
#: netstuff.c:396 netstuff.c:709 msgid "Unset" -msgstr "" +msgstr "はめ込んでない"
#: netstuff.c:669 #, c-format msgid "Please choose a networkcard for the following interface - %s." -msgstr "" +msgstr "下記のインタフェースにネットワーク・カードを選んで下さい ー %s。"
#: netstuff.c:672 msgid "Extended Network Menu" -msgstr "" +msgstr "拡張ネットワーク・メニュー"
#: netstuff.c:673 networking.c:520 msgid "Select" -msgstr "" +msgstr "選択"
#: netstuff.c:673 msgid "Identify" -msgstr "" +msgstr "アイデンティティ"
#: netstuff.c:678 msgid "Device Identification" -msgstr "" +msgstr "機器確認"
#: netstuff.c:678 msgid "The lights on the selected port should flash now for 10 seconds..." -msgstr "" +msgstr "選択したポートでのLEDは10秒間に点滅しているはずです・・・"
#: netstuff.c:679 msgid "Identification is not supported by this interface." -msgstr "" +msgstr "このインタフェースは確認がサポートしません。"
#: netstuff.c:691 msgid "There are no unassigned interfaces on your system." -msgstr "" +msgstr "システム内、アサインしていないインタフェースがありません。"
#: netstuff.c:732 #, c-format msgid "Do you really want to remove the assigned %s interface?" -msgstr "" +msgstr "本当にアサイン済の %s インタフェースを解除してほしいですか。"
#: netstuff.c:755 msgid "Select network driver" -msgstr "" +msgstr "ネットワーク・ドライバーを選んで下さい。"
#: netstuff.c:755 msgid "Set additional module parameters" -msgstr "" +msgstr "モジュールの追加パラメーターを設定してください。"
#: netstuff.c:762 msgid "Loading module..." -msgstr "" +msgstr "モジュールをロードしています・・・"
#: netstuff.c:777 msgid "Unable to load driver module." -msgstr "" +msgstr "ドライバー・モジュールがロード出来ませんでした。"
#: netstuff.c:780 msgid "Module name cannot be blank." -msgstr "" +msgstr "空モジュール名が禁止です。"
#: networking.c:110 msgid "Stopping network..." -msgstr "" +msgstr "ネットワークを停止しています。。。"
#: networking.c:115 msgid "Restarting network..." -msgstr "" +msgstr "ネットワークを再起動しています・・・"
#: networking.c:146 msgid "No GREEN interface assigned." -msgstr "" +msgstr "GREENインタフェースがアサインしていません。"
#: networking.c:152 msgid "Missing an IP address on GREEN." -msgstr "" +msgstr "GREENのIPが登録していません。"
#: networking.c:163 msgid "Error" -msgstr "" +msgstr "エラー"
#: networking.c:163 msgid "Ignore" -msgstr "" +msgstr "顧みない"
#: networking.c:164 msgid "No RED interface assigned." -msgstr "" +msgstr "REDインタフェースがアサインしていません。"
#: networking.c:173 msgid "Missing an IP address on RED." -msgstr "" +msgstr "REDのIPが登録していません。"
#: networking.c:183 msgid "No ORANGE interface assigned." -msgstr "" +msgstr "ORANGEインタフェースがアサインしていません。"
#: networking.c:189 msgid "Missing an IP address on ORANGE." -msgstr "" +msgstr "ORANGEのIPが登録していません。"
#: networking.c:199 msgid "No BLUE interface assigned." -msgstr "" +msgstr "BLUEインタフェースがアサインしていません。"
#: networking.c:205 msgid "Missing an IP address on BLUE." -msgstr "" +msgstr "BLUEのIPが登録していません。"
#: networking.c:217 msgid "Misssing DNS." -msgstr "" +msgstr "DNSが登録していません。"
#: networking.c:224 msgid "Missing Default Gateway." -msgstr "" +msgstr "デフォルト・ゲートウェイが登録していません。"
#: networking.c:237 networking.c:304 msgid "Network configuration type" -msgstr "" +msgstr "ネットワーク設定タイプ"
#: networking.c:238 networking.c:409 msgid "Drivers and card assignments" -msgstr "" +msgstr "ドライバー及びカードのアサイン"
#: networking.c:239 networking.c:640 msgid "Address settings" -msgstr "" +msgstr "アドレス設定"
#: networking.c:240 networking.c:743 msgid "DNS and Gateway settings" -msgstr "" +msgstr "DNS及びゲートウェイ設定"
#: networking.c:260 msgid "When configuration is complete, a network restart will be required." -msgstr "" +msgstr "設定が終了しましたら、ネットワークの再起動が必要となります。"
#: networking.c:267 #, c-format @@ -439,15 +440,15 @@ msgid "" "Current config: %s\n" "\n" "%s" -msgstr "" +msgstr "現在の設定: %s\n\n%s"
#: networking.c:268 msgid "Network configuration menu" -msgstr "" +msgstr "ネットワーク設定のメニュー"
#: networking.c:269 networking.c:520 networking.c:642 msgid "Done" -msgstr "" +msgstr "終了"
#: networking.c:300 #, c-format @@ -456,7 +457,7 @@ msgid "" "list those interfaces which have ethernet attached. If you change this " "setting, a network restart will be required, and you will have to " "reconfigure the network driver assignments." -msgstr "" +msgstr "%sのネットワーク設定を選んで下さい。下記の設定タイプはイーサネットが付けたインタフェースを表示しています。この設定を変更すると、ネットワークの再起動が必要となり、既にアサインしたネットワーク・ドライバーの再設定も必要となります。"
#: networking.c:307 #, c-format @@ -464,35 +465,35 @@ msgid "" "Not enough netcards for your choice.\n" "\n" "Needed: %d - Available: %d\n" -msgstr "" +msgstr "ネットワーク・カードが不足です。\n\n必要:%d ー 設置した:%d\n"
#: networking.c:359 msgid "" "Configure network drivers, and which interface each card is assigned to. The current configuration is as follows:\n" "\n" -msgstr "" +msgstr "ネットワーク・カードにアサインしたインタフェース及びネットワーク・ドライバーを設定します。現在の設定は:\n\n"
#: networking.c:408 msgid "Do you wish to change these settings?" -msgstr "" +msgstr "この設定を変更したいですか。"
#: networking.c:447 msgid "Restarting non-local network..." -msgstr "" +msgstr "非ローカル・ネットワークを再起動しています・・・"
#: networking.c:464 msgid "" "Please choose the interface you wish to change.\n" "\n" -msgstr "" +msgstr "変更したいインタフェースを選んで下さい。\n\n"
#: networking.c:519 msgid "Assigned Cards" -msgstr "" +msgstr "アサインしたネットワーク・カード"
#: networking.c:520 msgid "Remove" -msgstr "" +msgstr "解除"
#: networking.c:556 networking.c:649 #, c-format @@ -501,84 +502,84 @@ msgid "" "connection to the %s machine will be broken, and you will have to reconnect " "on the new IP. This is a risky operation, and should only be attempted if " "you have physical access to the machine, should something go wrong." -msgstr "" +msgstr "このIPアドレスを変更すると、リモートでログインしている場合、%sの機器との接続が外れますので、新IPアドレスでの再接続が必要となります。それが危険ですので、変なことになったら機器と物理的なアクセスができる場合のみ行ったほうがよいです。"
#: networking.c:641 msgid "Select the interface you wish to reconfigure." -msgstr "" +msgstr "再設定したいインタフェースを選んで下さい。"
#: networking.c:729 msgid "Default gateway:" -msgstr "" +msgstr "デフォルト・ゲートウェイ:"
#: networking.c:744 msgid "" "Enter the DNS and gateway information. These settings are used only with " "Static IP (and DHCP if DNS set) on the RED interface." -msgstr "" +msgstr "DNS及びゲートウェイの情報を記入して下さい。この設定はREDインタフェースの固定IP(DNSが設定した場合DHCPも)のみ使用となります。"
#: networking.c:773 msgid "Default gateway" -msgstr "" +msgstr "デフォルト・ゲートウェイ"
#: networking.c:780 msgid "Secondary DNS specified without a Primary DNS" -msgstr "" +msgstr "二次のDNSが登録したが、一次のDNSが登録していません。"
#: passwords.c:33 msgid "" "Enter the 'root' user password. Login as this user for commandline access." -msgstr "" +msgstr "'root'のユーザー・パスワードを記入して下さい。コマンド行・アクセスの為、このユーザーとしてログインして下さい。"
#: passwords.c:38 passwords.c:61 msgid "Setting password" -msgstr "" +msgstr "パスワードの設定"
#: passwords.c:38 msgid "Setting 'root' password...." -msgstr "" +msgstr "'root'のパスワードを設定しています・・・"
#: passwords.c:39 msgid "Problem setting 'root' password." -msgstr "" +msgstr "'root'のパスワードが設定出来ませんでした。"
#: passwords.c:53 #, c-format msgid "" "Enter %s 'admin' user password. This is the user to use for logging into the" " %s web administration pages." -msgstr "" +msgstr "%sの'管理者'のユーザー・パスワードを記入して下さい。%sのウェッブ管理ページにログインする為のユーザーです。"
#: passwords.c:60 #, c-format msgid "Setting %s 'admin' user password..." -msgstr "" +msgstr "%sの'管理者' ユーザー・パスワードを設定しています・・・"
#: passwords.c:62 #, c-format msgid "Problem setting %s 'admin' user password." -msgstr "" +msgstr "%sの'管理者' ユーザー・パスワードが設定出来ませんでした。"
#: passwords.c:76 msgid "Password:" -msgstr "" +msgstr "パスワード:"
#: passwords.c:77 msgid "Again:" -msgstr "" +msgstr "もう一度:"
#: passwords.c:95 msgid "Password cannot be blank." -msgstr "" +msgstr "空パスワードが禁止です。"
#: passwords.c:102 msgid "Passwords do not match." -msgstr "" +msgstr "パスワードが違いました。"
#: passwords.c:109 msgid "Password cannot contain spaces." -msgstr "" +msgstr "スペースが含んでいるパスワードが禁止です。"
#: timezone.c:77 msgid "Choose the timezone you are in from the list below." -msgstr "" +msgstr "下記のリストから、住んでいる時間帯を選んで下さい。" diff --git a/src/setup/po/jv.po b/src/setup/po/jv.po index e8a7e89..592130f 100644 --- a/src/setup/po/jv.po +++ b/src/setup/po/jv.po @@ -10,7 +10,7 @@ msgstr "" "POT-Creation-Date: 2014-08-21 15:12+0000\n" "PO-Revision-Date: 2014-08-12 10:08+0000\n" "Last-Translator: FULL NAME EMAIL@ADDRESS\n" -"Language-Team: Javanese (http://www.transifex.com/projects/p/ipfire/language/jv/)%5Cn" +"Language-Team: Javanese (http://www.transifex.com/mstremer/ipfire/language/jv/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/km_KH.po b/src/setup/po/km_KH.po index 4d5c100..3c6424f 100644 --- a/src/setup/po/km_KH.po +++ b/src/setup/po/km_KH.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Khmer (Cambodia) (http://www.transifex.com/projects/p/ipfire/language/km_KH/)%5Cn" +"Language-Team: Khmer (Cambodia) (http://www.transifex.com/mstremer/ipfire/language/km_KH/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/nl.po b/src/setup/po/nl.po index 439f50c..ebb04ea 100644 --- a/src/setup/po/nl.po +++ b/src/setup/po/nl.po @@ -9,9 +9,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2015-02-03 07:00+0000\n" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" "Last-Translator: Jacques Hylkema j.hylkema@intronics.nl\n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/ipfire/language/nl/)%5Cn" +"Language-Team: Dutch (http://www.transifex.com/mstremer/ipfire/language/nl/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/pl.po b/src/setup/po/pl.po index ee6183f..47e280a 100644 --- a/src/setup/po/pl.po +++ b/src/setup/po/pl.po @@ -4,20 +4,20 @@ # # Translators: # btelega btelega@gmail.com, 2014 -# Przemysław Karpeta przemyslaw.karpeta@gmail.com, 2014 +# Przemyslaw Ka. przemyslaw.karpeta@gmail.com, 2014 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-11-03 15:36+0000\n" -"Last-Translator: Przemysław Karpeta przemyslaw.karpeta@gmail.com\n" -"Language-Team: Polish (http://www.transifex.com/projects/p/ipfire/language/pl/)%5Cn" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" +"Last-Translator: Przemyslaw Ka. przemyslaw.karpeta@gmail.com\n" +"Language-Team: Polish (http://www.transifex.com/mstremer/ipfire/language/pl/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#: dhcp.c:50 msgid "Start address:" diff --git a/src/setup/po/pt_BR.po b/src/setup/po/pt_BR.po index eb408ed..54e7c1a 100644 --- a/src/setup/po/pt_BR.po +++ b/src/setup/po/pt_BR.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# douglasdiasn douglasdiasn@gmail.com, 2015 +# Douglas Noronha douglasdiasn@gmail.com, 2015 # Evertton de Lima e.everttonlima@gmail.com, 2015 # Moisés Bites Borges de Castro moisesbites@gmail.com, 2015 # Rafael Tavares rafael@ibinetwork.com.br, 2015 @@ -12,9 +12,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2015-03-24 21:31+0000\n" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" "Last-Translator: Moisés Bites Borges de Castro moisesbites@gmail.com\n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/ipfire/language/pt_BR/)%5Cn" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/mstremer/ipfire/language/pt_BR/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/pt_PT.po b/src/setup/po/pt_PT.po index f75c591..31f103a 100644 --- a/src/setup/po/pt_PT.po +++ b/src/setup/po/pt_PT.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# André Pinto andrerafaelpinto@hotmail.com, 2015 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/ipfire/language/pt_PT/)%5Cn" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" +"Last-Translator: André Pinto andrerafaelpinto@hotmail.com\n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/mstremer/ipfire/language/pt_PT/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -19,19 +20,19 @@ msgstr ""
#: dhcp.c:50 msgid "Start address:" -msgstr "" +msgstr "Endereço Inicial:"
#: dhcp.c:51 msgid "End address:" -msgstr "" +msgstr "Endereço Final:"
#: dhcp.c:52 networking.c:717 msgid "Primary DNS:" -msgstr "" +msgstr "DNS Primário:"
#: dhcp.c:53 networking.c:723 msgid "Secondary DNS:" -msgstr "" +msgstr "DNS Secundário:"
#: dhcp.c:54 msgid "Default lease (mins):" @@ -78,7 +79,7 @@ msgstr "" #: networking.c:410 networking.c:560 networking.c:653 networking.c:746 #: passwords.c:89 timezone.c:78 msgid "Cancel" -msgstr "" +msgstr "Cancelar"
#: dhcp.c:156 msgid "" diff --git a/src/setup/po/ro_RO.po b/src/setup/po/ro_RO.po index 9bf182c..9662732 100644 --- a/src/setup/po/ro_RO.po +++ b/src/setup/po/ro_RO.po @@ -3,15 +3,17 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Andrei Burdea ragulka@gmail.com, 2015 +# Andrei Bogdan Burdea ragulka@gmail.com, 2015 +# Constantin Razvan tech@inteq.ro, 2016 +# Liviu Vasies vasies.liviu@gmail.com, 2016 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2015-01-20 09:08+0000\n" -"Last-Translator: Andrei Burdea ragulka@gmail.com\n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/projects/p/ipfire/language/ro_RO/)%5Cn" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" +"Last-Translator: Liviu Vasies vasies.liviu@gmail.com\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/mstremer/ipfire/language/ro_RO/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -20,31 +22,31 @@ msgstr ""
#: dhcp.c:50 msgid "Start address:" -msgstr "Adresa de Inceput" +msgstr "Adresă de început:"
#: dhcp.c:51 msgid "End address:" -msgstr "Adresa de Final" +msgstr "Adresă de final:"
#: dhcp.c:52 networking.c:717 msgid "Primary DNS:" -msgstr "Primul Server de Nume - NS1" +msgstr "DNS primar:"
#: dhcp.c:53 networking.c:723 msgid "Secondary DNS:" -msgstr "Al Doilea Server de Nume - NS2" +msgstr "DNS secundar:"
#: dhcp.c:54 msgid "Default lease (mins):" -msgstr "Alocarea de baza (minute)" +msgstr "Alocarea implicită (minute):"
#: dhcp.c:55 msgid "Max lease (mins):" -msgstr "Alocare Maxima (minute)" +msgstr "Alocare Maximă (minute):"
#: dhcp.c:56 msgid "Domain name suffix:" -msgstr "Sufix Nume Domeniu" +msgstr "Sufix Nume Domeniu:"
#: dhcp.c:86 dhcp.c:93 dhcp.c:101 domainname.c:34 hostname.c:37 keymap.c:70 #: misc.c:40 misc.c:52 netstuff.c:377 netstuff.c:566 netstuff.c:704 @@ -52,15 +54,15 @@ msgstr "Sufix Nume Domeniu" #: networking.c:442 networking.c:552 networking.c:603 networking.c:610 #: networking.c:713 timezone.c:63 msgid "Unable to open settings file" -msgstr "Fisier de setari imposibil de deschis" +msgstr "Nu se poate deschide fișierul de setări"
#: dhcp.c:111 msgid "DHCP server configuration" -msgstr "Conficurearea serverului DHCP" +msgstr "Configurare server DHCP"
#: dhcp.c:116 msgid "Configure the DHCP server by entering the settings information." -msgstr "Configureaza serverul DHCP introducand informatiile de setare" +msgstr "Configurează serverul DHCP introducând informațiile setări"
#: dhcp.c:125 msgid "Enabled" @@ -79,33 +81,33 @@ msgstr "OK" #: networking.c:410 networking.c:560 networking.c:653 networking.c:746 #: passwords.c:89 timezone.c:78 msgid "Cancel" -msgstr "Renunta" +msgstr "Renunță"
#: dhcp.c:156 msgid "" "The following fields are invalid:\n" "\n" -msgstr "Urmatoarele campuri sunt incorecte\n\n" +msgstr "Următoarele câmpuri sunt incorecte\n\n"
#: dhcp.c:159 msgid "Start address" -msgstr "Adresa de Inceput" +msgstr "Adresă început"
#: dhcp.c:165 msgid "End address" -msgstr "Adresa de Final" +msgstr "Adresă final"
#: dhcp.c:173 networking.c:755 msgid "Primary DNS" -msgstr "Primul Server de Nume - NS1" +msgstr "DNS primar"
#: dhcp.c:182 networking.c:764 msgid "Secondary DNS" -msgstr "Al Doilea Server de Nume - NS2" +msgstr "DNS secundar"
#: dhcp.c:189 msgid "Default lease time" -msgstr "Timpul pentru alocarea de baza" +msgstr "Timpul pentru alocarea implicită"
#: dhcp.c:195 msgid "Max. lease time" @@ -117,47 +119,47 @@ msgstr "Nume Domeniu"
#: domainname.c:42 msgid "Enter Domain name" -msgstr "Introduceti Nume Domeniu" +msgstr "Introduceți Nume Domeniu"
#: domainname.c:48 msgid "Domain name cannot be empty." -msgstr "Nume Domeniu nu poate fi gol" +msgstr "Nume Domeniu nu poate fi gol."
#: domainname.c:50 msgid "Domain name cannot contain spaces." -msgstr "Nume Domeniu nu poate contine spatii" +msgstr "Nume Domeniu nu poate conține spații."
#: domainname.c:53 msgid "Domain name may only contain letters, numbers, hyphens and periods." -msgstr "Nume Domeniu poate contine doar litere, numere, cratime sau paranteze" +msgstr "Nume Domeniu poate conține doar litere, numere, cratime sau paranteze."
#: hostname.c:46 main.c:69 msgid "Hostname" -msgstr "Nume Gazda - HOST" +msgstr "Nume Gazdă - HOST"
#: hostname.c:46 msgid "Enter the machine's hostname." -msgstr "Introduceti Nume Gazda - HOST" +msgstr "Introduceți Nume Gazdă - HOST."
#: hostname.c:53 msgid "Hostname cannot be empty." -msgstr "Nume Gazda - HOST - nu poate fi gol" +msgstr "Nume Gazdă - HOST - nu poate fi gol."
#: hostname.c:55 msgid "Hostname cannot contain spaces." -msgstr "Nume Gazda - HOST - nu poate contine spatii" +msgstr "Nume Gazdă - HOST - nu poate conține spații."
#: hostname.c:58 msgid "Hostname may only contain letters, numbers and hyphens." -msgstr "Nume Gazda - HOST - poate contine doar litere, numere si cratime" +msgstr "Nume Gazdă - HOST - poate conține doar litere, numere și cratime"
#: keymap.c:84 main.c:67 msgid "Keyboard mapping" -msgstr "Cartografiere Tastatura - tipul de tastatura" +msgstr "Cartografiere Tastatură - tipul de tastatură"
#: keymap.c:85 msgid "Choose the type of keyboard you are using from the list below." -msgstr "Alegeti tipul de tastatura pe care o folositi din lista urmatoare" +msgstr "Alegeți tipul de tastatură pe care o folosiți din lista următoare"
#: main.c:68 timezone.c:77 msgid "Timezone" @@ -165,7 +167,7 @@ msgstr "Fus Orar"
#: main.c:71 networking.c:110 networking.c:115 networking.c:447 msgid "Networking" -msgstr "Retea" +msgstr "Rețea"
#: main.c:72 misc.c:147 msgid "ISDN" @@ -181,33 +183,33 @@ msgstr "Parola pentru utilizator 'admin'"
#: main.c:90 msgid " <Tab>/<Alt-Tab> between elements | <Space> selects" -msgstr "<Tab>/<Alt-Tab> pentru comutare intre elemente | <Space> selecteaza" +msgstr "<Tab>/<Alt-Tab> pentru comutare între elemente | <Space> selectează"
#: main.c:97 msgid "Section menu" -msgstr "Meniu Sectiuni" +msgstr "Meniu Secțiuni"
#: main.c:98 msgid "Select the item you wish to configure." -msgstr "Selectati articolul pe care doriti sa-l configurati" +msgstr "Selectați articolul pe care doriți să-l configurați"
#: main.c:99 msgid "Quit" -msgstr "Iesire" +msgstr "Ieșire"
#: main.c:172 msgid "Setup is complete." -msgstr "Setup-ul s-a incheiat" +msgstr "Instalarea s-a încheiat."
#: main.c:174 netstuff.c:733 networking.c:560 networking.c:653 msgid "Warning" -msgstr "Atentie" +msgstr "Atenție"
#: main.c:175 msgid "" "Initial setup was not entirely complete. You must ensure that Setup is " "properly finished by running setup again at the shell." -msgstr "Setup-ul initial nu s-a finalizat. Trebuie sa va asigurati ca Setup-ul s-a incheiat corect ruland din nou operatiunea din shell." +msgstr "Instalarea inițială nu este complet finalizată. Trebuie să te asiguri că s-a incheiat corect rulând din nou operațiunea din linia de comandă."
#: misc.c:62 #, c-format @@ -216,223 +218,223 @@ msgstr "%s/main/hostname.conf nu a putut fi scris"
#: misc.c:71 msgid "Unable to open main hosts file." -msgstr "fisierul principal de hosts nu a putut fi deschis" +msgstr "Nu se poate deschide fișierul gazde (hosts)."
#: misc.c:76 msgid "Unable to write /etc/hosts." -msgstr "" +msgstr "Nu s-a putut scrie fisierul /etc/hosts."
#: misc.c:117 msgid "Unable to write /etc/hosts.deny." -msgstr "" +msgstr "Nu s-a putut scrie fisierul /etc/hosts.deny."
#: misc.c:125 msgid "Unable to write /etc/hosts.allow." -msgstr "" +msgstr "Nu s-a putut scrie fisierul /etc/host.allow."
#: misc.c:136 msgid "Unable to set hostname." -msgstr "" +msgstr "Nu s-a putut seta numele de host."
#: misc.c:147 msgid "Scanning and configuring ISDN devices." -msgstr "" +msgstr "Se scanează și se configurează echipamentele ISDN."
#: misc.c:148 msgid "Unable to scan for ISDN devices." -msgstr "" +msgstr "Nu s-au putut scana echipametele ISDN."
#: netstuff.c:86 #, c-format msgid "Interface - %s" -msgstr "" +msgstr "Interfață - %s"
#: netstuff.c:91 #, c-format msgid "Enter the IP address information for the %s interface." -msgstr "" +msgstr "Introdu adresa IP pentru interfața %s"
#: netstuff.c:103 msgid "Static" -msgstr "" +msgstr "Static"
#: netstuff.c:104 msgid "DHCP" -msgstr "" +msgstr "DHCP"
#: netstuff.c:105 msgid "PPP DIALUP (PPPoE, modem, ATM ...)" -msgstr "" +msgstr "PPP DIALUP (PPPoE, modem, ATM ...)"
#: netstuff.c:113 msgid "DHCP Hostname:" -msgstr "" +msgstr "Nume gazdă DHCP"
#: netstuff.c:115 msgid "Force DHCP MTU:" -msgstr "" +msgstr "Forteaza DHCP MTU"
#: netstuff.c:134 msgid "IP address:" -msgstr "" +msgstr "Adresă IP:"
#: netstuff.c:146 msgid "Network mask:" -msgstr "" +msgstr "Mască de rețea:"
#: netstuff.c:173 networking.c:749 msgid "The following fields are invalid:" -msgstr "" +msgstr "Câmpurile următoare sunt incorecte:"
#: netstuff.c:183 msgid "IP address" -msgstr "" +msgstr "Adresă IP:"
#: netstuff.c:189 msgid "Network mask" -msgstr "" +msgstr "Mască de rețea"
#: netstuff.c:198 msgid "DHCP hostname" -msgstr "" +msgstr "Nume gazdă DHCP"
#: netstuff.c:396 netstuff.c:709 msgid "Unset" -msgstr "" +msgstr "Eliminare"
#: netstuff.c:669 #, c-format msgid "Please choose a networkcard for the following interface - %s." -msgstr "" +msgstr "Alege o placa de retea pentru interfata - %s."
#: netstuff.c:672 msgid "Extended Network Menu" -msgstr "" +msgstr "Meniu Retea Avansat"
#: netstuff.c:673 networking.c:520 msgid "Select" -msgstr "" +msgstr "Selectare"
#: netstuff.c:673 msgid "Identify" -msgstr "" +msgstr "Indentificare"
#: netstuff.c:678 msgid "Device Identification" -msgstr "" +msgstr "Identificare echipament"
#: netstuff.c:678 msgid "The lights on the selected port should flash now for 10 seconds..." -msgstr "" +msgstr "Luminile portului selectat ar trebui sa se aprinda intermitent pentru 10 secunde..."
#: netstuff.c:679 msgid "Identification is not supported by this interface." -msgstr "" +msgstr "Identificarea nu este suportata de catre aceasta interfata."
#: netstuff.c:691 msgid "There are no unassigned interfaces on your system." -msgstr "" +msgstr "Nu exista interfete disponibile in acest sistem."
#: netstuff.c:732 #, c-format msgid "Do you really want to remove the assigned %s interface?" -msgstr "" +msgstr "Esti sigur ca vrei sa elimini interfata %s alocata?"
#: netstuff.c:755 msgid "Select network driver" -msgstr "" +msgstr "Selectare driver retea"
#: netstuff.c:755 msgid "Set additional module parameters" -msgstr "" +msgstr "Setare parametrii aditionali modul"
#: netstuff.c:762 msgid "Loading module..." -msgstr "" +msgstr "Incarcare modul..."
#: netstuff.c:777 msgid "Unable to load driver module." -msgstr "" +msgstr "Nu se poate incarca modulul."
#: netstuff.c:780 msgid "Module name cannot be blank." -msgstr "" +msgstr "Numele modulului nu poate fi gol."
#: networking.c:110 msgid "Stopping network..." -msgstr "" +msgstr "Oprire retea..."
#: networking.c:115 msgid "Restarting network..." -msgstr "" +msgstr "Repornire retea...."
#: networking.c:146 msgid "No GREEN interface assigned." -msgstr "" +msgstr "Nu s-a alocat o interfata GREEN."
#: networking.c:152 msgid "Missing an IP address on GREEN." -msgstr "" +msgstr "Lipseste o adresa IP pentru GREEN."
#: networking.c:163 msgid "Error" -msgstr "" +msgstr "Eroare"
#: networking.c:163 msgid "Ignore" -msgstr "" +msgstr "Ignora"
#: networking.c:164 msgid "No RED interface assigned." -msgstr "" +msgstr "Nu s-a alocat o interfata RED."
#: networking.c:173 msgid "Missing an IP address on RED." -msgstr "" +msgstr "Lipseste o adresa IP pentru RED."
#: networking.c:183 msgid "No ORANGE interface assigned." -msgstr "" +msgstr "Nu s-a alocat o interfata ORANGE."
#: networking.c:189 msgid "Missing an IP address on ORANGE." -msgstr "" +msgstr "Lipseste o adresa IP pentru ORANGE."
#: networking.c:199 msgid "No BLUE interface assigned." -msgstr "" +msgstr "Nu s-a alocat o interfata BLUE."
#: networking.c:205 msgid "Missing an IP address on BLUE." -msgstr "" +msgstr "Lipseste o adresa IP pentru BLUE."
#: networking.c:217 msgid "Misssing DNS." -msgstr "" +msgstr "Lipseste DNS"
#: networking.c:224 msgid "Missing Default Gateway." -msgstr "" +msgstr "Lipseste gateway implicit."
#: networking.c:237 networking.c:304 msgid "Network configuration type" -msgstr "" +msgstr "Tip retea"
#: networking.c:238 networking.c:409 msgid "Drivers and card assignments" -msgstr "" +msgstr "Alocare drivere si placi de retea"
#: networking.c:239 networking.c:640 msgid "Address settings" -msgstr "" +msgstr "Setari adresa"
#: networking.c:240 networking.c:743 msgid "DNS and Gateway settings" -msgstr "" +msgstr "Setari DNS si gateway"
#: networking.c:260 msgid "When configuration is complete, a network restart will be required." -msgstr "" +msgstr "Cand configurarea va fi finalizata, o restartare a retelei va fi necesara."
#: networking.c:267 #, c-format @@ -440,15 +442,15 @@ msgid "" "Current config: %s\n" "\n" "%s" -msgstr "" +msgstr "Configurare curenta: %s\n\n%s"
#: networking.c:268 msgid "Network configuration menu" -msgstr "" +msgstr "Meniu configurare retea"
#: networking.c:269 networking.c:520 networking.c:642 msgid "Done" -msgstr "" +msgstr "Terminat"
#: networking.c:300 #, c-format @@ -457,7 +459,7 @@ msgid "" "list those interfaces which have ethernet attached. If you change this " "setting, a network restart will be required, and you will have to " "reconfigure the network driver assignments." -msgstr "" +msgstr "Selectati configuratia de retea pentru %s. Urmatoarele tipuri de configuratie enumera interfetele care au atasate Ethernet. Daca modificati aceasta setare, o repornire de retea va fi necesara si va trebui sa reconfigurati alocarile driverului de retea ."
#: networking.c:307 #, c-format @@ -465,35 +467,35 @@ msgid "" "Not enough netcards for your choice.\n" "\n" "Needed: %d - Available: %d\n" -msgstr "" +msgstr "Nu exista destule placi de retea pentru optiunea aleasa.\n\nNecesare: %d - Disponibile: %d\n"
#: networking.c:359 msgid "" "Configure network drivers, and which interface each card is assigned to. The current configuration is as follows:\n" "\n" -msgstr "" +msgstr "Configureaza driverele de retea si care interfata este alocata fiecarei placi de retea. Configuratia actuala este:\n\n"
#: networking.c:408 msgid "Do you wish to change these settings?" -msgstr "" +msgstr "Vrei sa schimbi aceste setari?"
#: networking.c:447 msgid "Restarting non-local network..." -msgstr "" +msgstr "Restare retea la distanta..."
#: networking.c:464 msgid "" "Please choose the interface you wish to change.\n" "\n" -msgstr "" +msgstr "Selecteaza ce interfata doresti sa modifici.\n\n"
#: networking.c:519 msgid "Assigned Cards" -msgstr "" +msgstr "Placi de retea alocate"
#: networking.c:520 msgid "Remove" -msgstr "" +msgstr "Elimina"
#: networking.c:556 networking.c:649 #, c-format @@ -502,84 +504,84 @@ msgid "" "connection to the %s machine will be broken, and you will have to reconnect " "on the new IP. This is a risky operation, and should only be attempted if " "you have physical access to the machine, should something go wrong." -msgstr "" +msgstr "Daca modifici aceasta adresa IP si esti conectat la distanta, conexiunea la %s va fi intrerupta si va trebui sa te reconectezi la noul IP. Aceasta este o operatie riscanta si ar trebui sa fie efectuata doar daca ai acces fizic la echipament, pentru situatia in care ceva merge prost ."
#: networking.c:641 msgid "Select the interface you wish to reconfigure." -msgstr "" +msgstr "Selecteaza interfata pe care doresti sa o reconfigurezi."
#: networking.c:729 msgid "Default gateway:" -msgstr "" +msgstr "Gateway implicit:"
#: networking.c:744 msgid "" "Enter the DNS and gateway information. These settings are used only with " "Static IP (and DHCP if DNS set) on the RED interface." -msgstr "" +msgstr "Introdu informatiile necesare pentru DNS si gateway. Aceste setari sunt folosite doar pentru IP Static (si DHCP daca DNS este setat) pe interfata RED."
#: networking.c:773 msgid "Default gateway" -msgstr "" +msgstr "Gateway implicit"
#: networking.c:780 msgid "Secondary DNS specified without a Primary DNS" -msgstr "" +msgstr "DNS secundar specificat fara un DNS primar"
#: passwords.c:33 msgid "" "Enter the 'root' user password. Login as this user for commandline access." -msgstr "" +msgstr "Introdu parola pentru utilizatorul 'root'. Autentifica-te cu acest utilizator pentru access la linia de comanda."
#: passwords.c:38 passwords.c:61 msgid "Setting password" -msgstr "" +msgstr "Se seteaza parola"
#: passwords.c:38 msgid "Setting 'root' password...." -msgstr "" +msgstr "Se seteaza parola pentru 'root'."
#: passwords.c:39 msgid "Problem setting 'root' password." -msgstr "" +msgstr "Nu s-a putut seta parola pentru 'root'."
#: passwords.c:53 #, c-format msgid "" "Enter %s 'admin' user password. This is the user to use for logging into the" " %s web administration pages." -msgstr "" +msgstr "Introdu parola pentru utilizatorul %s 'admin'. Foloseste acest utllizator pentru autentificarea la %s prin web."
#: passwords.c:60 #, c-format msgid "Setting %s 'admin' user password..." -msgstr "" +msgstr "Se seteaza parola pentru %s 'admin'..."
#: passwords.c:62 #, c-format msgid "Problem setting %s 'admin' user password." -msgstr "" +msgstr "Nu s-a putut seta parola pentru %s 'admin'."
#: passwords.c:76 msgid "Password:" -msgstr "" +msgstr "Parola:"
#: passwords.c:77 msgid "Again:" -msgstr "" +msgstr "Verificare parola:"
#: passwords.c:95 msgid "Password cannot be blank." -msgstr "" +msgstr "Parola nu poate fi goala."
#: passwords.c:102 msgid "Passwords do not match." -msgstr "" +msgstr "Parolele nu corespund"
#: passwords.c:109 msgid "Password cannot contain spaces." -msgstr "" +msgstr "Parola nu poate contine spatii."
#: timezone.c:77 msgid "Choose the timezone you are in from the list below." -msgstr "" +msgstr "Alege fusul orar din lista de mai jos." diff --git a/src/setup/po/ru.po b/src/setup/po/ru.po index fc20907..5409a31 100644 --- a/src/setup/po/ru.po +++ b/src/setup/po/ru.po @@ -3,8 +3,9 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Alexander Savchenko, 2016 # Andrei Skipin skian2007@yandex.ru, 2014 -# ellviss kpe1501@gmail.com, 2015 +# ellviss kpe1501@gmail.com, 2015-2016 # bubnov_pi ipfire@bubnov.su, 2014 # Tim evargrin@gmail.com, 2015 msgid "" @@ -12,8 +13,8 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2015-04-25 04:53+0000\n" -"Last-Translator: Tim evargrin@gmail.com\n" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" +"Last-Translator: ellviss kpe1501@gmail.com\n" "Language-Team: Russian (http://www.transifex.com/mstremer/ipfire/language/ru/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,11 +24,11 @@ msgstr ""
#: dhcp.c:50 msgid "Start address:" -msgstr "Первый адрес:" +msgstr "Начальный адрес:"
#: dhcp.c:51 msgid "End address:" -msgstr "Последний адрес:" +msgstr "Конечный адрес:"
#: dhcp.c:52 networking.c:717 msgid "Primary DNS:" @@ -188,7 +189,7 @@ msgstr "<Tab>/<Alt-Tab> переход между элементами | <П
#: main.c:97 msgid "Section menu" -msgstr "" +msgstr "Меню выбора"
#: main.c:98 msgid "Select the item you wish to configure." @@ -210,7 +211,7 @@ msgstr "Предупреждение" msgid "" "Initial setup was not entirely complete. You must ensure that Setup is " "properly finished by running setup again at the shell." -msgstr "" +msgstr "Начальная устрановка не завершена. Вы дожны убедиться что установка закончилась прежде чем запускать её снова из консоли."
#: misc.c:62 #, c-format @@ -306,7 +307,7 @@ msgstr "Не установлено" #: netstuff.c:669 #, c-format msgid "Please choose a networkcard for the following interface - %s." -msgstr "" +msgstr "Пожалуйста, выберете сетевую карту для следующего интерфейса - %s."
#: netstuff.c:672 msgid "Extended Network Menu" @@ -326,15 +327,15 @@ msgstr "Определение устройства"
#: netstuff.c:678 msgid "The lights on the selected port should flash now for 10 seconds..." -msgstr "" +msgstr "Лампочка на выбранном порту будет светить на протяжении 10 секкунд..."
#: netstuff.c:679 msgid "Identification is not supported by this interface." -msgstr "" +msgstr "Идентификация не доступна на данном интерфейсе"
#: netstuff.c:691 msgid "There are no unassigned interfaces on your system." -msgstr "" +msgstr "Не осталось ненастроенных интерфейсов в вашей системе."
#: netstuff.c:732 #, c-format @@ -375,7 +376,7 @@ msgstr "Не назначен ЗЕЛЁНЫЙ интерфейс."
#: networking.c:152 msgid "Missing an IP address on GREEN." -msgstr "" +msgstr "Не назначен адрес на GREEN интерфейсе"
#: networking.c:163 msgid "Error" @@ -391,7 +392,7 @@ msgstr "Не указан КРАСНЫЙ интерфейс."
#: networking.c:173 msgid "Missing an IP address on RED." -msgstr "" +msgstr "Не назначен адрес на RED интерфейсе"
#: networking.c:183 msgid "No ORANGE interface assigned." @@ -399,7 +400,7 @@ msgstr "Не указан ОРАНЖЕВЫЙ интерфейс."
#: networking.c:189 msgid "Missing an IP address on ORANGE." -msgstr "" +msgstr "Не назначен адрес на ORANGE интерфейсе"
#: networking.c:199 msgid "No BLUE interface assigned." @@ -407,7 +408,7 @@ msgstr "Не указан СИНИЙ интерфейс."
#: networking.c:205 msgid "Missing an IP address on BLUE." -msgstr "" +msgstr "Не назначен адрес на BLUE интерфейсе"
#: networking.c:217 msgid "Misssing DNS." @@ -443,7 +444,7 @@ msgid "" "Current config: %s\n" "\n" "%s" -msgstr "" +msgstr "Текущая Конфигурация: %s\n\n%s"
#: networking.c:268 msgid "Network configuration menu" @@ -460,7 +461,7 @@ msgid "" "list those interfaces which have ethernet attached. If you change this " "setting, a network restart will be required, and you will have to " "reconfigure the network driver assignments." -msgstr "" +msgstr "Выберете сеть для конфиругации для %s. Данный список типов подключения предназначен для ethernet. Если вы измените настройки , то сеть будет требовать перезагрузки, и вам надо будет переконфигурировать в соответсвии с сетевыми настройками."
#: networking.c:307 #, c-format @@ -468,13 +469,13 @@ msgid "" "Not enough netcards for your choice.\n" "\n" "Needed: %d - Available: %d\n" -msgstr "" +msgstr "Нет более доступных сетевых карт.\n\nНеобходимо: %d - Доступно: %d\n"
#: networking.c:359 msgid "" "Configure network drivers, and which interface each card is assigned to. The current configuration is as follows:\n" "\n" -msgstr "" +msgstr "Сконфигурируйте сетевые платы, и какой интерфес сопоставлен к конкрутному адаптеру. Текущая конфигурация следующая:\n\n"
#: networking.c:408 msgid "Do you wish to change these settings?" @@ -482,13 +483,13 @@ msgstr "Вы уверены что хотите изменить эти наст
#: networking.c:447 msgid "Restarting non-local network..." -msgstr "" +msgstr "Перезапуск внешней сети"
#: networking.c:464 msgid "" "Please choose the interface you wish to change.\n" "\n" -msgstr "" +msgstr "Выберете интерфейс для реконфигурации.\n"
#: networking.c:519 msgid "Assigned Cards" @@ -505,7 +506,7 @@ msgid "" "connection to the %s machine will be broken, and you will have to reconnect " "on the new IP. This is a risky operation, and should only be attempted if " "you have physical access to the machine, should something go wrong." -msgstr "" +msgstr "Если вы измените данный IP адресс, и вы подключены удалённо, ваше соединение с %s компьютером будет разорвано , и вы должны подключитсья по новому адресу IP. Это не безопасная операция и выдолжны иметь возмонжость подключитсья к машине визически если что-то пойдет не так."
#: networking.c:641 msgid "Select the interface you wish to reconfigure." @@ -519,7 +520,7 @@ msgstr "Шлюз по умолчанию:" msgid "" "Enter the DNS and gateway information. These settings are used only with " "Static IP (and DHCP if DNS set) on the RED interface." -msgstr "" +msgstr "Введите адреса DNS и шлюза. Эти настройки будут применены только для Static IP(или DHCP если DNS настроен) на интерфейсе RED."
#: networking.c:773 msgid "Default gateway" @@ -527,12 +528,12 @@ msgstr "Шлюз по умолчанию"
#: networking.c:780 msgid "Secondary DNS specified without a Primary DNS" -msgstr "" +msgstr "Вторичный DNS назначен без назначения первичного DNS"
#: passwords.c:33 msgid "" "Enter the 'root' user password. Login as this user for commandline access." -msgstr "" +msgstr "Введите пароль для пользователя 'root'. Этот пользователь используется для доступа к консоли."
#: passwords.c:38 passwords.c:61 msgid "Setting password" @@ -544,14 +545,14 @@ msgstr "Установка 'root' пароля..."
#: passwords.c:39 msgid "Problem setting 'root' password." -msgstr "" +msgstr "Проблема с указанием пароля для пользователя 'root'."
#: passwords.c:53 #, c-format msgid "" "Enter %s 'admin' user password. This is the user to use for logging into the" " %s web administration pages." -msgstr "" +msgstr "Введите пароль для пользователя %s 'admin'. Этот пользователь используется для администрирования через %s web."
#: passwords.c:60 #, c-format diff --git a/src/setup/po/rw.po b/src/setup/po/rw.po index 0bd98ee..7307735 100644 --- a/src/setup/po/rw.po +++ b/src/setup/po/rw.po @@ -10,7 +10,7 @@ msgstr "" "POT-Creation-Date: 2014-08-21 15:12+0000\n" "PO-Revision-Date: 2014-08-12 10:08+0000\n" "Last-Translator: FULL NAME EMAIL@ADDRESS\n" -"Language-Team: Kinyarwanda (http://www.transifex.com/projects/p/ipfire/language/rw/)%5Cn" +"Language-Team: Kinyarwanda (http://www.transifex.com/mstremer/ipfire/language/rw/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/sk.po b/src/setup/po/sk.po index 8b5944e..555b033 100644 --- a/src/setup/po/sk.po +++ b/src/setup/po/sk.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Slovak (http://www.transifex.com/projects/p/ipfire/language/sk/)%5Cn" +"Language-Team: Slovak (http://www.transifex.com/mstremer/ipfire/language/sk/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/sq.po b/src/setup/po/sq.po index 9983002..0284399 100644 --- a/src/setup/po/sq.po +++ b/src/setup/po/sq.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2015-06-22 10:58+0000\n" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" "Last-Translator: Ardit Dani ardit.dani@gmail.com\n" "Language-Team: Albanian (http://www.transifex.com/mstremer/ipfire/language/sq/)%5Cn" "MIME-Version: 1.0\n" diff --git a/src/setup/po/sr.po b/src/setup/po/sr.po index 7c71314..fb3bf3d 100644 --- a/src/setup/po/sr.po +++ b/src/setup/po/sr.po @@ -10,7 +10,7 @@ msgstr "" "POT-Creation-Date: 2014-08-21 15:12+0000\n" "PO-Revision-Date: 2014-08-12 10:08+0000\n" "Last-Translator: FULL NAME EMAIL@ADDRESS\n" -"Language-Team: Serbian (http://www.transifex.com/projects/p/ipfire/language/sr/)%5Cn" +"Language-Team: Serbian (http://www.transifex.com/mstremer/ipfire/language/sr/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/su.po b/src/setup/po/su.po index 1cab064..e2fed39 100644 --- a/src/setup/po/su.po +++ b/src/setup/po/su.po @@ -10,7 +10,7 @@ msgstr "" "POT-Creation-Date: 2014-08-21 15:12+0000\n" "PO-Revision-Date: 2014-08-12 10:08+0000\n" "Last-Translator: FULL NAME EMAIL@ADDRESS\n" -"Language-Team: Sundanese (http://www.transifex.com/projects/p/ipfire/language/su/)%5Cn" +"Language-Team: Sundanese (http://www.transifex.com/mstremer/ipfire/language/su/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/sv.po b/src/setup/po/sv.po index a2acfe3..1949c6f 100644 --- a/src/setup/po/sv.po +++ b/src/setup/po/sv.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Urban Berggren pudberggren@icloud.com, 2016 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/ipfire/language/sv/)%5Cn" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" +"Last-Translator: Urban Berggren pudberggren@icloud.com\n" +"Language-Team: Swedish (http://www.transifex.com/mstremer/ipfire/language/sv/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -19,31 +20,31 @@ msgstr ""
#: dhcp.c:50 msgid "Start address:" -msgstr "" +msgstr "Startadress"
#: dhcp.c:51 msgid "End address:" -msgstr "" +msgstr "Slutadress"
#: dhcp.c:52 networking.c:717 msgid "Primary DNS:" -msgstr "" +msgstr "Primär DNS"
#: dhcp.c:53 networking.c:723 msgid "Secondary DNS:" -msgstr "" +msgstr "Sekundär DNS"
#: dhcp.c:54 msgid "Default lease (mins):" -msgstr "" +msgstr "Standard lease-tid (min):"
#: dhcp.c:55 msgid "Max lease (mins):" -msgstr "" +msgstr "Max lease-tid (min):"
#: dhcp.c:56 msgid "Domain name suffix:" -msgstr "" +msgstr "Domännamn:"
#: dhcp.c:86 dhcp.c:93 dhcp.c:101 domainname.c:34 hostname.c:37 keymap.c:70 #: misc.c:40 misc.c:52 netstuff.c:377 netstuff.c:566 netstuff.c:704 @@ -51,19 +52,19 @@ msgstr "" #: networking.c:442 networking.c:552 networking.c:603 networking.c:610 #: networking.c:713 timezone.c:63 msgid "Unable to open settings file" -msgstr "" +msgstr "Kan inte öppna konfigurationsfilen"
#: dhcp.c:111 msgid "DHCP server configuration" -msgstr "" +msgstr "DHCP server konfiguration"
#: dhcp.c:116 msgid "Configure the DHCP server by entering the settings information." -msgstr "" +msgstr "Konfigurera DHCP-servern genom att skriva in alla nödvändiga inställningar."
#: dhcp.c:125 msgid "Enabled" -msgstr "" +msgstr "Aktiverad"
#: dhcp.c:142 domainname.c:43 hostname.c:47 keymap.c:86 main.c:99 main.c:172 #: main.c:174 netstuff.c:157 netstuff.c:733 netstuff.c:756 networking.c:163 @@ -71,367 +72,367 @@ msgstr "" #: networking.c:642 networking.c:653 networking.c:746 passwords.c:89 #: timezone.c:78 msgid "OK" -msgstr "" +msgstr "OK"
#: dhcp.c:143 domainname.c:43 hostname.c:47 keymap.c:86 netstuff.c:158 #: netstuff.c:673 netstuff.c:733 netstuff.c:756 networking.c:305 #: networking.c:410 networking.c:560 networking.c:653 networking.c:746 #: passwords.c:89 timezone.c:78 msgid "Cancel" -msgstr "" +msgstr "Avbryt"
#: dhcp.c:156 msgid "" "The following fields are invalid:\n" "\n" -msgstr "" +msgstr "Följande fält är ogiltiga:\n\n"
#: dhcp.c:159 msgid "Start address" -msgstr "" +msgstr "Startadress"
#: dhcp.c:165 msgid "End address" -msgstr "" +msgstr "Slutadress"
#: dhcp.c:173 networking.c:755 msgid "Primary DNS" -msgstr "" +msgstr "Primär DNS"
#: dhcp.c:182 networking.c:764 msgid "Secondary DNS" -msgstr "" +msgstr "Sekundär DNS"
#: dhcp.c:189 msgid "Default lease time" -msgstr "" +msgstr "Standard lease-tid"
#: dhcp.c:195 msgid "Max. lease time" -msgstr "" +msgstr "Max lease-tid"
#: domainname.c:42 main.c:70 msgid "Domain name" -msgstr "" +msgstr "Domännamn"
#: domainname.c:42 msgid "Enter Domain name" -msgstr "" +msgstr "Ange Domännamn"
#: domainname.c:48 msgid "Domain name cannot be empty." -msgstr "" +msgstr "Domännamnet kan inte vara tomt."
#: domainname.c:50 msgid "Domain name cannot contain spaces." -msgstr "" +msgstr "Domännamnet kan inte innehålla mellanslag."
#: domainname.c:53 msgid "Domain name may only contain letters, numbers, hyphens and periods." -msgstr "" +msgstr "Domännamnet kan bara innehålla bokstäver, siffror, bindestreck och punkter."
#: hostname.c:46 main.c:69 msgid "Hostname" -msgstr "" +msgstr "Värdnamn"
#: hostname.c:46 msgid "Enter the machine's hostname." -msgstr "" +msgstr "Ange datorns värdnamn."
#: hostname.c:53 msgid "Hostname cannot be empty." -msgstr "" +msgstr "Värdnamnet kan inte vara tomt."
#: hostname.c:55 msgid "Hostname cannot contain spaces." -msgstr "" +msgstr "Värdnamnet kan inte innehålla mellanslag."
#: hostname.c:58 msgid "Hostname may only contain letters, numbers and hyphens." -msgstr "" +msgstr "Värdnamnet kan bara innehålla bokstäver, siffror och bindestreck."
#: keymap.c:84 main.c:67 msgid "Keyboard mapping" -msgstr "" +msgstr "Tangentbordslayout"
#: keymap.c:85 msgid "Choose the type of keyboard you are using from the list below." -msgstr "" +msgstr "Välj vilket typ av tangenbord du använder från listan nedan."
#: main.c:68 timezone.c:77 msgid "Timezone" -msgstr "" +msgstr "Tidszon"
#: main.c:71 networking.c:110 networking.c:115 networking.c:447 msgid "Networking" -msgstr "" +msgstr "Nätverk"
#: main.c:72 misc.c:147 msgid "ISDN" -msgstr "" +msgstr "ISDN"
#: main.c:73 msgid "'root' password" -msgstr "" +msgstr "'root* lösenord"
#: main.c:74 msgid "'admin' password" -msgstr "" +msgstr "'admin' lösenord"
#: main.c:90 msgid " <Tab>/<Alt-Tab> between elements | <Space> selects" -msgstr "" +msgstr "<Tab>/<Alt-Tab> mellan menyer | <Mellanslag> väljer"
#: main.c:97 msgid "Section menu" -msgstr "" +msgstr "Menyval"
#: main.c:98 msgid "Select the item you wish to configure." -msgstr "" +msgstr "Välj objektet du vill konfigurera."
#: main.c:99 msgid "Quit" -msgstr "" +msgstr "Avsluta"
#: main.c:172 msgid "Setup is complete." -msgstr "" +msgstr "Konfigurationen är slutförd."
#: main.c:174 netstuff.c:733 networking.c:560 networking.c:653 msgid "Warning" -msgstr "" +msgstr "Varning"
#: main.c:175 msgid "" "Initial setup was not entirely complete. You must ensure that Setup is " "properly finished by running setup again at the shell." -msgstr "" +msgstr "Första installationen var inte helt klar. Du måste se till att installationen är korrekt avslutad genom att köra installationen igen."
#: misc.c:62 #, c-format msgid "Unable to write %s/main/hostname.conf" -msgstr "" +msgstr "Kan inte skriva %s/main/hostname.conf"
#: misc.c:71 msgid "Unable to open main hosts file." -msgstr "" +msgstr "Kan inte öppna värdfilen."
#: misc.c:76 msgid "Unable to write /etc/hosts." -msgstr "" +msgstr "Kan inte skriva /etc/hosts"
#: misc.c:117 msgid "Unable to write /etc/hosts.deny." -msgstr "" +msgstr "Kan inte skriva /etc/hosts.deny"
#: misc.c:125 msgid "Unable to write /etc/hosts.allow." -msgstr "" +msgstr "Kan inte skriva /etc/hosts.allow"
#: misc.c:136 msgid "Unable to set hostname." -msgstr "" +msgstr "Det går inte att ställa in värdnamn."
#: misc.c:147 msgid "Scanning and configuring ISDN devices." -msgstr "" +msgstr "Skannar och konfigurerar ISDN enheter."
#: misc.c:148 msgid "Unable to scan for ISDN devices." -msgstr "" +msgstr "Kan inte skanna efter ISDN enheter."
#: netstuff.c:86 #, c-format msgid "Interface - %s" -msgstr "" +msgstr "Gränssnitt - %s"
#: netstuff.c:91 #, c-format msgid "Enter the IP address information for the %s interface." -msgstr "" +msgstr "Skriv in IP-nummer för %s gränssnittet."
#: netstuff.c:103 msgid "Static" -msgstr "" +msgstr "Statisk"
#: netstuff.c:104 msgid "DHCP" -msgstr "" +msgstr "DHCP"
#: netstuff.c:105 msgid "PPP DIALUP (PPPoE, modem, ATM ...)" -msgstr "" +msgstr "PPP DIALUP (PPPoE, modem, ATM...)"
#: netstuff.c:113 msgid "DHCP Hostname:" -msgstr "" +msgstr "DHCP Värdnamn"
#: netstuff.c:115 msgid "Force DHCP MTU:" -msgstr "" +msgstr "Tvinga DHCP MTU"
#: netstuff.c:134 msgid "IP address:" -msgstr "" +msgstr "IP-adress:"
#: netstuff.c:146 msgid "Network mask:" -msgstr "" +msgstr "Nätverksmask:"
#: netstuff.c:173 networking.c:749 msgid "The following fields are invalid:" -msgstr "" +msgstr "Följande fält är ogiltiga:"
#: netstuff.c:183 msgid "IP address" -msgstr "" +msgstr "IP-adress"
#: netstuff.c:189 msgid "Network mask" -msgstr "" +msgstr "Nätverksmask"
#: netstuff.c:198 msgid "DHCP hostname" -msgstr "" +msgstr "DHCP värdnamn"
#: netstuff.c:396 netstuff.c:709 msgid "Unset" -msgstr "" +msgstr "Urkopplat"
#: netstuff.c:669 #, c-format msgid "Please choose a networkcard for the following interface - %s." -msgstr "" +msgstr "Var god välj ett nätverkskort för följande gränssnitt - %s"
#: netstuff.c:672 msgid "Extended Network Menu" -msgstr "" +msgstr "Utökad Nätverksmeny"
#: netstuff.c:673 networking.c:520 msgid "Select" -msgstr "" +msgstr "Välj"
#: netstuff.c:673 msgid "Identify" -msgstr "" +msgstr "Identifiera"
#: netstuff.c:678 msgid "Device Identification" -msgstr "" +msgstr "Enhetsidentifikation"
#: netstuff.c:678 msgid "The lights on the selected port should flash now for 10 seconds..." -msgstr "" +msgstr "Lamporna på den valda porten bör nu blinka i 10 sekunder..."
#: netstuff.c:679 msgid "Identification is not supported by this interface." -msgstr "" +msgstr "Identifikation stöds inte av detta gränssnitt."
#: netstuff.c:691 msgid "There are no unassigned interfaces on your system." -msgstr "" +msgstr "Det finns inga otilldelade gränsnitt på ditt system."
#: netstuff.c:732 #, c-format msgid "Do you really want to remove the assigned %s interface?" -msgstr "" +msgstr "Vill du verkligen ta bort det tilldelade gränsnittet %s"
#: netstuff.c:755 msgid "Select network driver" -msgstr "" +msgstr "Välj nätverksdrivrutin"
#: netstuff.c:755 msgid "Set additional module parameters" -msgstr "" +msgstr "Ställ in yttligare modulparametrar"
#: netstuff.c:762 msgid "Loading module..." -msgstr "" +msgstr "Laddar moduler..."
#: netstuff.c:777 msgid "Unable to load driver module." -msgstr "" +msgstr "Kan inte ladda drivrutin/modul."
#: netstuff.c:780 msgid "Module name cannot be blank." -msgstr "" +msgstr "Modulens namn kan inte vara tomt."
#: networking.c:110 msgid "Stopping network..." -msgstr "" +msgstr "Stoppar nätverk..."
#: networking.c:115 msgid "Restarting network..." -msgstr "" +msgstr "Startar om nätverk..."
#: networking.c:146 msgid "No GREEN interface assigned." -msgstr "" +msgstr "Inget GRÖNT gränsnitt tilldelat."
#: networking.c:152 msgid "Missing an IP address on GREEN." -msgstr "" +msgstr "Saknar en IP-adress på GRÖN."
#: networking.c:163 msgid "Error" -msgstr "" +msgstr "Fel"
#: networking.c:163 msgid "Ignore" -msgstr "" +msgstr "Ignorera"
#: networking.c:164 msgid "No RED interface assigned." -msgstr "" +msgstr "Inget RÖTT gränssnitt tilldelat."
#: networking.c:173 msgid "Missing an IP address on RED." -msgstr "" +msgstr "Saknar IP-adress på RÖD."
#: networking.c:183 msgid "No ORANGE interface assigned." -msgstr "" +msgstr "Inget ORANGE gränssnitt tilldelat."
#: networking.c:189 msgid "Missing an IP address on ORANGE." -msgstr "" +msgstr "Saknar IP-adress på gränsnitt ORANGE."
#: networking.c:199 msgid "No BLUE interface assigned." -msgstr "" +msgstr "Inget BLÅTT gränssnitt tilldelat."
#: networking.c:205 msgid "Missing an IP address on BLUE." -msgstr "" +msgstr "Saknar IP-adress på BLÅ."
#: networking.c:217 msgid "Misssing DNS." -msgstr "" +msgstr "Saknar DNS."
#: networking.c:224 msgid "Missing Default Gateway." -msgstr "" +msgstr "Saknar Standardgränssnitt."
#: networking.c:237 networking.c:304 msgid "Network configuration type" -msgstr "" +msgstr "Typ av nätverkskonfiguration"
#: networking.c:238 networking.c:409 msgid "Drivers and card assignments" -msgstr "" +msgstr "Tilldelning av drivrutiner och nätverkskort"
#: networking.c:239 networking.c:640 msgid "Address settings" -msgstr "" +msgstr "Adressinställningar"
#: networking.c:240 networking.c:743 msgid "DNS and Gateway settings" -msgstr "" +msgstr "DNS och Gateway inställningar"
#: networking.c:260 msgid "When configuration is complete, a network restart will be required." -msgstr "" +msgstr "När konfigurationen är färdig, så måste nätverket startas om."
#: networking.c:267 #, c-format @@ -439,15 +440,15 @@ msgid "" "Current config: %s\n" "\n" "%s" -msgstr "" +msgstr "Nuvarande konfiguration: %s\n\n%s"
#: networking.c:268 msgid "Network configuration menu" -msgstr "" +msgstr "Nätverkskonfigurationsmeny"
#: networking.c:269 networking.c:520 networking.c:642 msgid "Done" -msgstr "" +msgstr "Färdig"
#: networking.c:300 #, c-format @@ -456,7 +457,7 @@ msgid "" "list those interfaces which have ethernet attached. If you change this " "setting, a network restart will be required, and you will have to " "reconfigure the network driver assignments." -msgstr "" +msgstr "Välj nätverkskonfigurationen för %s. Följande konfigurationstyper visar de gränssnitt som har nätverksåtkomst. Om du ändrar denna inställning, måste nätverket startas om, och du måste omkonfigurera nätverksdrivrutinen."
#: networking.c:307 #, c-format @@ -464,35 +465,35 @@ msgid "" "Not enough netcards for your choice.\n" "\n" "Needed: %d - Available: %d\n" -msgstr "" +msgstr "Du har. inte valt nog många nätverkskort.\n\nBehövs: %d - Tillgängligt: %d\n"
#: networking.c:359 msgid "" "Configure network drivers, and which interface each card is assigned to. The current configuration is as follows:\n" "\n" -msgstr "" +msgstr "Konfigurera drivrutiner, och till vilket gränsnitt varje kort är tilldelat. Den nuvarande konfigurationen är som följer:\n\n"
#: networking.c:408 msgid "Do you wish to change these settings?" -msgstr "" +msgstr "Vill du ändra på dessa inställningar?"
#: networking.c:447 msgid "Restarting non-local network..." -msgstr "" +msgstr "Startar om icke-lokalt nätverk..."
#: networking.c:464 msgid "" "Please choose the interface you wish to change.\n" "\n" -msgstr "" +msgstr "Vad god välj vilket gränssnitt du önskar att ändra på.\n\n"
#: networking.c:519 msgid "Assigned Cards" -msgstr "" +msgstr "Tilldelade nätverkskort"
#: networking.c:520 msgid "Remove" -msgstr "" +msgstr "Ta bort"
#: networking.c:556 networking.c:649 #, c-format @@ -501,84 +502,84 @@ msgid "" "connection to the %s machine will be broken, and you will have to reconnect " "on the new IP. This is a risky operation, and should only be attempted if " "you have physical access to the machine, should something go wrong." -msgstr "" +msgstr "Om du ändrar denna IP-adress, och är fjärrinloggad, så kommer din uppkoppling till %s brytas, och du måste återansluta till det nya IP-numret. Detta är riskabelt, och borde bara försökas med om du har fysisk tillgång till datorn om något skulle gå fel."
#: networking.c:641 msgid "Select the interface you wish to reconfigure." -msgstr "" +msgstr "Välj det gränssnitt du vill konfigurera om."
#: networking.c:729 msgid "Default gateway:" -msgstr "" +msgstr "Standard gateway:"
#: networking.c:744 msgid "" "Enter the DNS and gateway information. These settings are used only with " "Static IP (and DHCP if DNS set) on the RED interface." -msgstr "" +msgstr "Ange DNS och gateway information. Dessa inställningar används bara vid statiskt IP (och DHCP om DNS är inställt) på RÖTT gränssnitt."
#: networking.c:773 msgid "Default gateway" -msgstr "" +msgstr "Standard gateway"
#: networking.c:780 msgid "Secondary DNS specified without a Primary DNS" -msgstr "" +msgstr "Sekundär DNS specificerad utan en primär DNS"
#: passwords.c:33 msgid "" "Enter the 'root' user password. Login as this user for commandline access." -msgstr "" +msgstr "Ange 'root' lösenordet. Logga in på denna användare för tillgång till kommandorad."
#: passwords.c:38 passwords.c:61 msgid "Setting password" -msgstr "" +msgstr "Ställer in lösenord"
#: passwords.c:38 msgid "Setting 'root' password...." -msgstr "" +msgstr "Ställer in 'root' lösenord..."
#: passwords.c:39 msgid "Problem setting 'root' password." -msgstr "" +msgstr "Problem med att ställa in 'root' lösenord."
#: passwords.c:53 #, c-format msgid "" "Enter %s 'admin' user password. This is the user to use for logging into the" " %s web administration pages." -msgstr "" +msgstr "Ange %s 'admin' lösenord. Använd denna användare för att logga in i %s webbgränssnitt för administration."
#: passwords.c:60 #, c-format msgid "Setting %s 'admin' user password..." -msgstr "" +msgstr "Ställer in %s 'admin' lösenord..."
#: passwords.c:62 #, c-format msgid "Problem setting %s 'admin' user password." -msgstr "" +msgstr "Problem med att ställa in %s 'admin' lösenord."
#: passwords.c:76 msgid "Password:" -msgstr "" +msgstr "Lösenord:"
#: passwords.c:77 msgid "Again:" -msgstr "" +msgstr "Igen:"
#: passwords.c:95 msgid "Password cannot be blank." -msgstr "" +msgstr "Lösenordet kan inte vara tomt."
#: passwords.c:102 msgid "Passwords do not match." -msgstr "" +msgstr "Lösenorden matchar inte."
#: passwords.c:109 msgid "Password cannot contain spaces." -msgstr "" +msgstr "Lösenordet kan inte innehålla mellanslag."
#: timezone.c:77 msgid "Choose the timezone you are in from the list below." -msgstr "" +msgstr "Välj tidszonen du befinner dig i från listan nedan." diff --git a/src/setup/po/th.po b/src/setup/po/th.po index ad29452..feaaecc 100644 --- a/src/setup/po/th.po +++ b/src/setup/po/th.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Thai (http://www.transifex.com/projects/p/ipfire/language/th/)%5Cn" +"Language-Team: Thai (http://www.transifex.com/mstremer/ipfire/language/th/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/tk.po b/src/setup/po/tk.po index 073e06a..e45ec68 100644 --- a/src/setup/po/tk.po +++ b/src/setup/po/tk.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Turkmen (http://www.transifex.com/projects/p/ipfire/language/tk/)%5Cn" +"Language-Team: Turkmen (http://www.transifex.com/mstremer/ipfire/language/tk/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/tr.po b/src/setup/po/tr.po index 9e52d07..d861493 100644 --- a/src/setup/po/tr.po +++ b/src/setup/po/tr.po @@ -4,15 +4,15 @@ # # Translators: # Ersan YILDIRIM ersan73@gmail.com, 2015 -# Kudret Emre kudretemre@hotmail.com.tr, 2014 +# Kudret kudretemre@hotmail.com.tr, 2014 msgid "" msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2015-03-20 15:05+0000\n" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" "Last-Translator: Ersan YILDIRIM ersan73@gmail.com\n" -"Language-Team: Turkish (http://www.transifex.com/projects/p/ipfire/language/tr/)%5Cn" +"Language-Team: Turkish (http://www.transifex.com/mstremer/ipfire/language/tr/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -530,7 +530,7 @@ msgstr "Birincil DNS olmadan İkincil DNS belirtildi." #: passwords.c:33 msgid "" "Enter the 'root' user password. Login as this user for commandline access." -msgstr "%s 'root' kullanıcı parolasını girin. Komut satırı erişimi için bu kullanıcıyla oturum açın." +msgstr "'Root' kullanıcı parolasını girin. Komut satırı erişimi için bu kullanıcıyla oturum açın."
#: passwords.c:38 passwords.c:61 msgid "Setting password" diff --git a/src/setup/po/uk.po b/src/setup/po/uk.po index afcfa30..999c67f 100644 --- a/src/setup/po/uk.po +++ b/src/setup/po/uk.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/ipfire/language/uk/)%5Cn" +"Language-Team: Ukrainian (http://www.transifex.com/mstremer/ipfire/language/uk/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/uz@Latn.po b/src/setup/po/uz@Latn.po index 9044283..67e53da 100644 --- a/src/setup/po/uz@Latn.po +++ b/src/setup/po/uz@Latn.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Uzbek (Latin) (http://www.transifex.com/projects/p/ipfire/language/uz@Latn/)%5Cn" +"Language-Team: Uzbek (Latin) (http://www.transifex.com/mstremer/ipfire/language/uz@Latn/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/vi.po b/src/setup/po/vi.po index 4d2457e..f3c982e 100644 --- a/src/setup/po/vi.po +++ b/src/setup/po/vi.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2014-08-21 15:13+0000\n" +"PO-Revision-Date: 2017-08-03 19:28+0000\n" "Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/ipfire/language/vi/)%5Cn" +"Language-Team: Vietnamese (http://www.transifex.com/mstremer/ipfire/language/vi/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/src/setup/po/zh.po b/src/setup/po/zh.po index 70b0a0e..1574254 100644 --- a/src/setup/po/zh.po +++ b/src/setup/po/zh.po @@ -9,9 +9,9 @@ msgstr "" "Project-Id-Version: IPFire Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-08-21 15:12+0000\n" -"PO-Revision-Date: 2015-01-31 09:57+0000\n" +"PO-Revision-Date: 2017-09-20 09:45+0000\n" "Last-Translator: ipfire qiwenqiu@yahoo.com.hk\n" -"Language-Team: Chinese (http://www.transifex.com/projects/p/ipfire/language/zh/)%5Cn" +"Language-Team: Chinese (http://www.transifex.com/mstremer/ipfire/language/zh/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n"
hooks/post-receive -- IPFire 2.x development tree