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 5604dc748d0c38a05d2f909aedbe50d8d05684e7 (commit) via 2bf7ee4bddce8dc91caf4f4639e5152264161444 (commit) via 3f32eb94bfb36e5719e07f34753a7ea863db11e7 (commit) via 0f0e30dced66fd281573c10b366d3add83ca3d16 (commit) via e0fe704b6eee95af512e3c9e6160ead8c5769c5e (commit) via 970cf3363711cc835b2375b3f5ed20d5eb3c120b (commit) via 6bea9be4f4d2f0f5399e377271f5e9bbe0ca75c6 (commit) via e5ca5063049bda41483221e7df1e8544ea128aff (commit) via c651121f4dab2fbc091c3c9c8a77f0793e034dab (commit) via 274ebe1d9d3390b94afe42e5b96273e171c3c6d3 (commit) via 8d289021d3c20f82b08d87fb9ee7296cedd705fe (commit) via 6644c1c7f24262b2040d05cbb877ba36658d70e7 (commit) via d7dac20c17964758e53d13558ceb2f1535954b67 (commit) via ea92da89c6ed1e5ddc8985fc059cebb9b7c791b0 (commit) via 3ed94afdc859a222cfde8b724e0ce5447fcccdc7 (commit) via 8392627c57ae9ccf92f564eca40b9eff123533b8 (commit) via c460d5c25e231ab6322dcbb13bc04e6e56d5d7f6 (commit) via ef8b6053f332bd0c5dc7c5ad2d756b735c1383f8 (commit) via 5ca4ae11ae5c77327725db553a84f4d2290ff202 (commit) via 84a0531148e0cd7418a708a42b9e022c2200ccaa (commit) via 29afd40851ae28a332a59f39be40bec5bbd6010f (commit) via 8ae272aac36b13f91f68c3e8c26dc12e65565cbb (commit) via cee2f16fd92926109c2c6fc728a15afd18b06747 (commit) via 85abeb137657736686d135eeaf4dc38f5a0d3a14 (commit) via 6b696830535fd20ba0dc22e2615548e124c3328d (commit) via e0eb52dbd52ee7caa2f2ec7ea12e923f5eb8df69 (commit) via 7de11c7ecc24a6000240668f4c9c521a8d570a49 (commit) via 9e8a51306a41bac6d71b853c92893fa6a500ba3b (commit) via 00548de4ad0a02524e8fa88e6c4605e65e151f6a (commit) via 78d060860bd7a10e44d147fe73e5c63fa6edcbc7 (commit) via ef36b9d4d49e452497b1ec8ce370fd609de52fcf (commit) via 9e7099af47002f2edc9eeca76d41496f779b7b0f (commit) via 4fc61b9a098ceda37677bb4752eb7ff83a6d40ed (commit) via 00f99775f438df6a33c6d0130da33d4ed7d9d4dc (commit) via dea158f2fc4bc94686f3fa7918c3a0ccc0b3b41c (commit) via 0cf8de0502d01f2f9f7f1f7b68c2740733ba542a (commit) via aa2e56a531a44a932ea7c379fd7834043cc3e407 (commit) via 1eec8480e707e862d560a2f257ddbbeb408bfb8a (commit) via 6a697701c27deeee20989529ee59aa4811d23ef1 (commit) via de0ccf8f8c9fc6b695f45a3fdcf0a85c3b3d5299 (commit) via 60620d3d4385628f9c5c7725d042b742940bbb28 (commit) via 2c9c92f4651fccdb18daa4da8adef5d1d4d9a716 (commit) via 8516edcc485a986f8be6b4483f7993456a5e75af (commit) via db2e0a5baecda01fe22a7bb17010dcb1a73b372b (commit) via 32e321b248ae4501ad17d7edc50bb23aaa4b5c6e (commit) via 06f451c0beaba72872fa7ab81a043eb92a3f63ee (commit) via 15b470a79da5c3fa119920e051386421a3fa317f (commit) via fe53fa8dac070d884e05aa423ec5c854a8997fbd (commit) via 8451f21315e9ccb4ffe2060c871b9eafa0823004 (commit) via 80159102fcddef6db3c778ebf1f080ebde5504c6 (commit) via a1f369eb1ee97edad4b81518649fd8672763e252 (commit) via 14a08a8d15989ace2aa259ddcbc42e4d8a1c890e (commit) via f57a228c4bed2b7f680b929a511634d21f2007e6 (commit) via 97af8b2b85abaa381b668ff20ddd6b41fc8f1827 (commit) via 3906cf7e852872556728191a234152acf213db05 (commit) via 02dba6c6cb654567639764332f8b0a24474badb3 (commit) via 5ab875af711f98f02cead4688a4f76958d9ff894 (commit) via e62b6718b919e7b5072ebf11294ae7d3adc9560e (commit) via 98a5192ef2f3cde9b9c6867f69f3a400f3c62ec5 (commit) via 0300b3f0993c9af5d5cb4f83a4b91fd2a1ffaeba (commit) via 5973563f8b08b18b0c4f29a6de6f3ae56eb24fea (commit) via ec0a3859bd4730169715176939e983ff2765bc64 (commit) via 77c3c15432500f1b79d4e9de69973c8694f4e98d (commit) via 024f02c1244290ceb60eedfe0fd04fd7526b0ad5 (commit) via e100d97b042cb3e7047b51b617234ce4c02bf7ed (commit) via 82bd80b38719bd800c31b68d974f65249debf503 (commit) via f0dd06542596fa14cb0ef3bbaeb3ae16ee78c325 (commit) via 635a44bfad1fffad2d648d898a0e513172dc2f3b (commit) via 29da3718b1eccef8633fbfb7e2685ecad7113b64 (commit) via 5e7c87280ea736ff2811c8ee332c9049186ac43d (commit) via f7d7241829dfe1c638c8bf8530d3224ea847bfab (commit) via a898e4cba75ad166863f928a30f7af454670579a (commit) via d6ef5df18edfd8af46abbd09107cef9d42810cb4 (commit) via b56472d49b2e50d6c8f84023b80c3ee43114bfe1 (commit) via 1117fb59647efa47d5a7ab68962bf11f7c501dca (commit) via db9d194a6cc4efa8251415895e823e4db254c7a4 (commit) via 87fe47e9d9502276284340475e9c5208ae406571 (commit) via 601f8347ccb1e9c5e3f250ff26d4097ecd698875 (commit) via 405d20bcb33efccd16a7164e318adeb954d7639a (commit) via aa15b6b2567f1282a19f3c1d8a1c29e0b17f1bdc (commit) via 5225c164eca216e8e166ce50eacf335ee7a908c8 (commit) via e34672a35e9098080f0bc6e9fd630719f4b8eaa9 (commit) via 13e370209f70b1a31f2e25873d466d57635c7535 (commit) via 6d01acb9bd3d5ca4286825dc4d8e28d17119389b (commit) via 9afe33cba5df7f82366b85deb4c7b8236af5e8a7 (commit) via 62b211fbd2774ba27720ad91f2f810445cbfb4ef (commit) via 9571655f7e886002705554909de4c5a3adff080c (commit) via 1cfa43b31b246141291c7f2430a92c9af37d63a5 (commit) via ebbd219a93e8a3976557070216347af9a20df8c1 (commit) via 136193280b10cbb27f60eb3aef4cb5d0bec1c916 (commit) via 18f2b3d171c4b03a8801fcc595e2907aa0352a4e (commit) via 1450cfebdee10c0ff79335a4d06e42e378338c9b (commit) via 71dfc3d66855b2ae97bddd5b36d0f2c511dbeeb4 (commit) via accc1fb6279512ceb04b0e8b5da945e8db09a0b6 (commit) via 17de91649570f8ef75d44730298b01e68393c646 (commit) via 3e7801aa607d2b9ce5386790147dad972012cfa8 (commit) via 357c77b5d1efa212923c69730309479e219fbf1d (commit) via 17bcfe341608b34df37f6019b120e0d9cbee9883 (commit) via 834d6b9e2b2ef37ef178d091de467c0f87196fe4 (commit) via 16d49f73e54ca80e7f6fb670cee6f67f93187fe4 (commit) via e36627f76e76bfca4104452051e56828a90f7f1c (commit) via 208f162bb028e22ac6c641dcadc91d930ef50524 (commit) via badd8c1c631323425f4ddd35da0deff6d9496878 (commit) via 9769bed42931dc3acfcb7854da0c483f99f2d2b7 (commit) via 5fe21ff7e1237d03d96c5adaa954963fcc935c64 (commit) via 1a01c170110374afcc6b7cfe26e63623e4f3aabb (commit) via 17f0593aed127cbe72e28e3b788fc275f2004472 (commit) via 0e331dd73b89f397f893c51447a5237935459fbb (commit) via c0ce138ad29387a8e89ecef81c3ef6db6b047c85 (commit) via 9eb8db8046745c252395ddb9fdbbe755b8e39aae (commit) via a895c5cfc4cb81aff7677b42b689bdb0da4d9c5c (commit) via 99ba4e9224c409630b95b7a16d77a74a028f8690 (commit) via 10d3ead45647d59ff0d76fe901d52315af5ef0df (commit) via b3e35d47800ee193ec373befa117c7c5baf6ff41 (commit) via 9254d56de167329a51d98ad3a1e40b1d9074738f (commit) via bf9a16a4212fb179b3026e5b8eb90a56fda53cd8 (commit) via 7edd993d2573535d24f39dcfcd2977b355ffe4d3 (commit) via e8b2566ebfa9b4e87c6ee76849be626a6ecf7bcc (commit) via 2c7c9996c4c67a7c005b61e09400c1eb2e3252af (commit) via b8df63aeabbd2c54305bc255ae9abf7d67251d7c (commit) via da34ac1f812efc7bf5cd0e7b76fef4aefed4f246 (commit) via 9a3d6f5ad10c81768337f3a8c11dd0c128f908fd (commit) via 3f7d9a96138656d2fd54b1ea74c58adcee5056b3 (commit) via 3fd3d535556fc6a92d73682b379c8440bb569de7 (commit) via 345124fb3dee5d1a1e929227512e1708ff637cd5 (commit) via ceb64d792d9c0b64488e344282a7628ce4b951e5 (commit) via cb60c22534e466715768e441c3cf7b1ead80dc44 (commit) via aa1c6e9fa84c10120491f92254a59d70f8efeaa5 (commit) via 413abba64a7aa6a9f55533e1b2d31a7a88ee0fba (commit) via f7f47c4f2f77a1833664c77c43021e3c76339301 (commit) via d141dc078a366ca1c91de02ce8875be224bb52fd (commit) via 160645b7c5b784fe79ac81124969b3f1eb8287df (commit) via 32bda1fb6e7a7571c2567d3b5d575862e2549e3a (commit) via f184f593e35c12f9f2a4cef2e4922011162cf1f5 (commit) via d3b375fc1e653ad00e37efb8b5626d10589f4056 (commit) via 487d0477f7fb7be8c869aa891f15896537822276 (commit) via 0c61cd9cea3a0124c26463e3e3c52996db285a93 (commit) via 5d2dc721a1d38de9495b11dc2447bd42ebd35b4d (commit) via 7294c83b5bb6aa8dd16762d70c8df56115c555b8 (commit) via 02d860ebdad3b6a0ae2b3673984dab2068862dbe (commit) via 6ae131ef235c11d9ff7419b9b84be7132bd25fb5 (commit) via 75afeed1613ab2ac8e76885c29dff1a28c9b0860 (commit) via ddfc0693e99bbc241f4e054ddcba85f0068596fd (commit) via 2a2195807eec43527b854a976e0dd23e84d42a56 (commit) via c814d7b590af354e22559c42b603b4a0b1f56bb5 (commit) via b92f39bcacc61f912ab2ca19b46bb90e2bbaee08 (commit) via 068babfb1377c930a80c1b7baf75c97661a2481c (commit) via 264b8ae7df90adc8b6dd0f43a46ea8b80d8f4e90 (commit) via 7f88f8f569060f8f06c8dcc3875f4056b33f6dbb (commit) via 191e9a0c964df070d3e63dd49d88dbe3664056f9 (commit) via 8c80423c129f632712cc9a43c7be2e9c0d75b698 (commit) via 898f08edf49116bb95b8bb05f50b00593ca7acbf (commit) via 61c29b32d1be54756f63bf7697fc08bde7dae93d (commit) via f4fbb93510d52300ce7140227804f38e08cf332c (commit) via ffbe77c8bcf247a484b7791707e98fd3ab59fbdc (commit) via ba85a1beb487854a14cbb288b436d6a88265a126 (commit) via 1f8ea39aca5468191ebb05ad23576f2d1bf43f1c (commit) via b1ad1b744f845e8d574af8bcd03f4590f6bd9ccc (commit) via 6deed5addbf2ecc899fc4420469372fc98194aee (commit) via 9d1da799fa7f2b07c742f1bcb7a7970c70050b25 (commit) via bc3dd1e975d420cc54d2d2dce831d13e2a9ccad3 (commit) via 6c96e0499b95151afe0f72f628a3c9b2bfbec25c (commit) via 0c1b7071ec5fc4ada96998dce0b1141a39b874be (commit) via 14c33f6393464991e38a6428a1361f1c9360a066 (commit) via dc1d8fe731abec4a99be141e08054cc6647de745 (commit) via 8d29504c4dff83e31beb0791d5a9654499ae5ac8 (commit) via 4d88659446676f9034b04828062cd8303cb2a4b3 (commit) via 4db4bc1b1b57dd1f28b6d37d20fe851cbcdfbeb0 (commit) via 8667a65b4e57fd2b2c375e1b580c802385924bda (commit) via e076addfdbbfd1307346b52e681c0e6724196b83 (commit) via d5ea5e366c52830d4e54b89309340674fc518af2 (commit) via 74381c58f9b1bd895632d1630998e1e7c23fb1bb (commit) via a61bfd61b292b28660539c8214a1edcf90d22db3 (commit) via 07562a76208386065c56386b3a77f44137d16c2f (commit) via c9ac8b8052842049694565bedeffc26d651ef093 (commit) via 5ae99dd2d1ed307959f25143e6c343a53e4df373 (commit) via e823d548024ba9cf5d26f58afd34c12ebc7aab1a (commit) via 0d0ee70f3b6f4559885b91fa03c6e77f5cffe1b0 (commit) via 2056dd3033ff6fb5a3ac709c63e7c9696741f2a1 (commit) via 44526b2debe4fdc27f5385d579abc5895eb7211e (commit) via 59c2888bae4638153fbe5092608468a21788fb55 (commit) via 5795fc1b5536b6506c26a976c3024114e88cbcb8 (commit) via e05ac9dbd076a5eec59645df5676e53604729117 (commit) via f5480b13dd11f35cb6792c9f3cc867a1c0cff158 (commit) via 24c6cb44e2ff3bc03c6e5eb1ca40126cca0dbd3b (commit) via f9602aa126b9ffcaa32055658c577463c0bff2b4 (commit) via 7ce49ff07440e404959149820e507f79d7c839da (commit) via c6ede545fdfbc12c10a3a66a3ea76a45e2d39ef4 (commit) via a1f23a84c7c5b60bf87b30a19451214e59793b9a (commit) via 9ac9fc3d802db666b94cc85175bef2cfbd335ed5 (commit) via 57865e53f70b234f2b1f1be07ed8ca8ef091664b (commit) via 65418d1d211b9425013b0f8dcefa9b944a62d1bb (commit) via d4defa1a7ff3bc08b7ee3682b0bee16375602aad (commit) via dc0657f58ff58acd2dafe24f28b5af706e91c3f9 (commit) via 8e112a784156513c53d97511de528bc2d73f2d11 (commit) via 94d84c7fbc46b39698aa8968afca5be2e3ea5e4d (commit) via 972f767f5bc270c7e8821bbbe09772d81504ef01 (commit) via f5a99cd4e2c73586930119bf5c255e1ba2e452c4 (commit) via adbfa4fff56c48aa72bf884dc0abefefea95a33b (commit) via e0eeb8a6176ab672b9dd3b3ce93f689e9a2881c3 (commit) via 2407ace4946f1c0af6c43e6139337b76bfabaa7f (commit) via 6795e2b8523a7e10151474c4539c2a872c282d25 (commit) via bd34e32e4b2ce637845cb7e7e8a2c8ede1dffe83 (commit) via fda7597ced5c013edce02671657e86ba74343a2d (commit) via e65da0a8e197f4b875b708a6d0d037b1bd01db71 (commit) via 5e55b70d26799f9002c9e75e0786c867f485f322 (commit) via c10ef4bd39e3b25918067da15ba68ee76e252cf4 (commit) via 1fbd7376b71e7a9affcb41ea7948af66df6ac94f (commit) via 6047b2c178020dc98fb84aa520aea23f9f957bd3 (commit) via e8cee92b70064358871ce28c1c8d84cc1a297d0c (commit) via 2beef649d438da5bda0a2df81e4601de54668487 (commit) via 58dca4e50ba32dcad9551300691c12c55e740344 (commit) via 28b8e0ec070adeb0cb8231814d355b7e1e3f56e9 (commit) via b612f37040e4b849ff4006be8eecda957b4a407b (commit) via 9838ce3d7ae8fe909b18e0dd5bb37eee9dc4dbe6 (commit) via 83167e3809ac886c3630cc834bce0c53d80174e8 (commit) via f1d418f5ab51f7d4875d14ebb26d0e8f0b5b8d86 (commit) via 351aba94512b11c19768d6dd8dfeff065ecde319 (commit) via 7692e381932da5f80092f35bb698cc1a4e0d01ae (commit) via ae77e0baef1948c0a118bb410b72d2c58ad572ad (commit) via 977768de44423c7df03f8c6defcf401daff777f8 (commit) from 80b0f82fef5a75b8ebc547f8ba40c8bf5b268b73 (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 5604dc748d0c38a05d2f909aedbe50d8d05684e7 Author: Arne Fitzenreiter arne_f@ipfire.org Date: Fri Mar 6 17:22:18 2015 +0100
backup: make include file parsing more robust.
commit 2bf7ee4bddce8dc91caf4f4639e5152264161444 Author: Michael Tremer michael.tremer@ipfire.org Date: Thu Mar 5 22:12:38 2015 +0100
installer+setup: Update translations
commit 3f32eb94bfb36e5719e07f34753a7ea863db11e7 Author: Stefan Schantl stefan.schantl@ipfire.org Date: Thu Mar 5 19:37:47 2015 +0100
ddns: Update to 007.
commit 0f0e30dced66fd281573c10b366d3add83ca3d16 Author: Michael Tremer michael.tremer@ipfire.org Date: Thu Mar 5 14:48:16 2015 +0100
haproxy: New package
commit e0fe704b6eee95af512e3c9e6160ead8c5769c5e Author: Michael Tremer michael.tremer@ipfire.org Date: Thu Mar 5 13:44:50 2015 +0100
Accidentially disabled nmap build
commit 970cf3363711cc835b2375b3f5ed20d5eb3c120b Author: Michael Tremer michael.tremer@ipfire.org Date: Thu Mar 5 12:55:32 2015 +0100
Move Core Update 86 and 87 files to oldcore directory
commit 6bea9be4f4d2f0f5399e377271f5e9bbe0ca75c6 Author: Michael Tremer michael.tremer@ipfire.org Date: Thu Mar 5 12:54:22 2015 +0100
clamav: Fix compiling
glibc headers were not correctly included
commit e5ca5063049bda41483221e7df1e8544ea128aff Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Mar 4 23:59:43 2015 +0100
ntfs-3g: Ship all user-space tools with the package
commit c651121f4dab2fbc091c3c9c8a77f0793e034dab Merge: 274ebe1 ef8b605 Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Mar 4 23:58:58 2015 +0100
Merge remote-tracking branch 'mfischer/ntfs-3g' into next
commit 274ebe1d9d3390b94afe42e5b96273e171c3c6d3 Merge: 8d28902 80b0f82 Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Mar 4 23:58:47 2015 +0100
Merge remote-tracking branch 'origin/master' into next
Conflicts: config/rootfiles/packages/clamav lfs/clamav
commit 8d289021d3c20f82b08d87fb9ee7296cedd705fe Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Mar 4 23:54:10 2015 +0100
strongswan: Update solution for strongswan bug #816
commit 6644c1c7f24262b2040d05cbb877ba36658d70e7 Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Mar 4 23:27:27 2015 +0100
dnsmasq: Import latest git version of dnsmasq
commit d7dac20c17964758e53d13558ceb2f1535954b67 Author: Daniel Weismüller daniel.weismueller@ipfire.org Date: Wed Mar 4 14:37:39 2015 +0100
owncloud: updated to version 7.0.3
commit ea92da89c6ed1e5ddc8985fc059cebb9b7c791b0 Merge: 3ed94af 5ca4ae1 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Mar 3 21:13:46 2015 +0100
Merge remote-tracking branch 'amarx/BUG10756' into next
commit 3ed94afdc859a222cfde8b724e0ce5447fcccdc7 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Mar 3 21:11:34 2015 +0100
teamspeak: Remove package
This is an old version any way and just used to download the pre-compiled data from the servers of the vendor.
commit 8392627c57ae9ccf92f564eca40b9eff123533b8 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Mar 3 21:07:23 2015 +0100
asterisk: sqlite is not an add-on package any more
commit c460d5c25e231ab6322dcbb13bc04e6e56d5d7f6 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Mar 3 17:57:38 2015 +0100
logrotate: Fix an empty /etc/logrotate.d directory
Fixes #10625
commit ef8b6053f332bd0c5dc7c5ad2d756b735c1383f8 Author: Matthias Fischer fischerm@ipfire.org Date: Mon Mar 2 21:12:20 2015 +0100
ntfs-3g: Update to 2014.2.15 fuse: Update to 2.9.3
commit 5ca4ae11ae5c77327725db553a84f4d2290ff202 Author: Alexander Marx alexander.marx@ipfire.org Date: Mon Mar 2 15:33:44 2015 +0100
BUG10756: fixes possibillity to enable logging when editing a rule. Also remark can be deleted
commit 84a0531148e0cd7418a708a42b9e022c2200ccaa Author: Alexander Marx alexander.marx@ipfire.org Date: Mon Mar 2 15:20:32 2015 +0100
BUG10756: consolidate rulecheck
commit 29afd40851ae28a332a59f39be40bec5bbd6010f Author: Michael Tremer michael.tremer@ipfire.org Date: Thu Feb 26 13:54:07 2015 +0100
installer: Cut off disk description if it gets too long
commit 8ae272aac36b13f91f68c3e8c26dc12e65565cbb Author: Michael Tremer michael.tremer@ipfire.org Date: Thu Feb 26 11:11:38 2015 +0100
core88: Include fwhosts.cgi fixes in the update
commit cee2f16fd92926109c2c6fc728a15afd18b06747 Merge: 6b69683 85abeb1 Author: Michael Tremer michael.tremer@ipfire.org Date: Thu Feb 26 11:11:04 2015 +0100
Merge remote-tracking branch 'amarx/BUG10753' into next
commit 85abeb137657736686d135eeaf4dc38f5a0d3a14 Author: Alexander Marx alexander.marx@ipfire.org Date: Wed Feb 25 08:09:05 2015 +0100
BUG10753: Fix servicegroups to have only max. 15 services per protocol
commit 6b696830535fd20ba0dc22e2615548e124c3328d Merge: e0eb52d 9306852 Author: Arne Fitzenreiter arne_f@ipfire.org Date: Sun Feb 22 23:44:39 2015 +0100
Merge branch 'master' into next
commit e0eb52dbd52ee7caa2f2ec7ea12e923f5eb8df69 Author: Arne Fitzenreiter arne_f@ipfire.org Date: Fri Feb 20 16:39:05 2015 +0100
next-core87 -> core88.
commit 7de11c7ecc24a6000240668f4c9c521a8d570a49 Author: Matthias Fischer fischerm@ipfire.org Date: Thu Feb 19 09:55:16 2015 +0100
libsrtp: fix for lfs-file
commit 9e8a51306a41bac6d71b853c92893fa6a500ba3b Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Feb 15 19:55:56 2015 +0100
dnsmasq: Disable using inotify
The ISC reader code won't work without inotify
commit 00548de4ad0a02524e8fa88e6c4605e65e151f6a Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Feb 15 13:30:30 2015 +0100
Update GeoIP database 2015-02-15
commit 78d060860bd7a10e44d147fe73e5c63fa6edcbc7 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Feb 15 13:24:27 2015 +0100
Update the hardware database
commit ef36b9d4d49e452497b1ec8ce370fd609de52fcf Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Feb 15 13:21:22 2015 +0100
tzdata: Update to version 2015a
commit 9e7099af47002f2edc9eeca76d41496f779b7b0f Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Feb 15 13:16:08 2015 +0100
fireinfo: Update to version 2.1.11
commit 4fc61b9a098ceda37677bb4752eb7ff83a6d40ed Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Feb 11 19:36:55 2015 +0100
Rootfile update
commit 00f99775f438df6a33c6d0130da33d4ed7d9d4dc Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Feb 11 19:36:22 2015 +0100
librstp: Make an independent package
commit dea158f2fc4bc94686f3fa7918c3a0ccc0b3b41c Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Feb 11 15:15:47 2015 +0100
strongswan: Create configuration for better interoperability
Also import some upstream fixes for connection stability.
commit 0cf8de0502d01f2f9f7f1f7b68c2740733ba542a Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Feb 11 14:59:11 2015 +0100
Revert "strongswan: Fix for CVE-2014-9221"
This reverts commit c1000c2cd4a7fb0ea38ed9c4772207a38819c070.
This commit has been merged from master to this branch, but actually strongswan was already updated to version 5.2.2 which does not need this fix any more.
commit aa2e56a531a44a932ea7c379fd7834043cc3e407 Merge: 1eec848 309b7de Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Feb 11 14:58:10 2015 +0100
Merge branch 'master' into next
commit 1eec8480e707e862d560a2f257ddbbeb408bfb8a Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Feb 7 22:22:31 2015 +0000
Cleanup left over sources
commit 6a697701c27deeee20989529ee59aa4811d23ef1 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Feb 7 22:22:08 2015 +0000
cmake: Limit build to two concurrent compiler processes
Overheats my system :(
commit de0ccf8f8c9fc6b695f45a3fdcf0a85c3b3d5299 Merge: 60620d3 b630146 Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Feb 4 13:24:05 2015 +0100
Merge branch 'master' into next
Conflicts: make.sh
commit 60620d3d4385628f9c5c7725d042b742940bbb28 Author: Alexander Marx alexander.marx@ipfire.org Date: Tue Feb 3 12:19:51 2015 +0100
BUG10730: delete creation of ovpnserver.log from lfs file
commit 2c9c92f4651fccdb18daa4da8adef5d1d4d9a716 Merge: 8516edc db2e0a5 Author: Alexander Marx alexander.marx@ipfire.org Date: Tue Feb 3 07:27:03 2015 +0100
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into BUG10730
commit 8516edcc485a986f8be6b4483f7993456a5e75af Author: Alexander Marx alexander.marx@ipfire.org Date: Tue Feb 3 07:26:34 2015 +0100
BUG10730: fix permissions of ovpnserver.log
commit db2e0a5baecda01fe22a7bb17010dcb1a73b372b Merge: 32e321b 2056dd3 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Feb 2 23:56:18 2015 +0100
Merge remote-tracking branch 'amarx/collectd4' into next
commit 32e321b248ae4501ad17d7edc50bb23aaa4b5c6e Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Feb 2 00:33:04 2015 +0100
dnsmasq: Update to development snatpshot
commit 06f451c0beaba72872fa7ab81a043eb92a3f63ee Merge: 15b470a 8015910 Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Jan 28 23:10:47 2015 +0100
Merge remote-tracking branch 'glotzi/monit' into next
commit 15b470a79da5c3fa119920e051386421a3fa317f Merge: fe53fa8 02dba6c Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Jan 28 22:51:17 2015 +0100
Merge remote-tracking branch 'ummeegge/nmap' into next
commit fe53fa8dac070d884e05aa423ec5c854a8997fbd Merge: 14a08a8 5ab875a Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Jan 28 22:49:36 2015 +0100
Merge remote-tracking branch 'ummeegge/lynis' into next
Conflicts: make.sh
commit 8451f21315e9ccb4ffe2060c871b9eafa0823004 Author: Alexander Marx alexander.marx@ipfire.org Date: Wed Jan 28 09:41:52 2015 +0100
BUG10730: Change permission of /var/run/ovpnserver.log
commit 80159102fcddef6db3c778ebf1f080ebde5504c6 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Tue Jan 27 14:11:28 2015 +0100
monit addon: upgrade to 5.11
commit a1f369eb1ee97edad4b81518649fd8672763e252 Merge: f0dd065 14a08a8 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Tue Jan 27 13:33:01 2015 +0100
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into monit
commit 14a08a8d15989ace2aa259ddcbc42e4d8a1c890e Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Jan 20 18:00:10 2015 +0100
IKE lifetime change: Update French translation as well
commit f57a228c4bed2b7f680b929a511634d21f2007e6 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Jan 19 17:04:37 2015 +0100
ipsec: Allow IKE lifetime of up to 24 hours
Requested in #10722
The recommended time has not been changed, but it is often stated that 24 hours is a common lifetime for IKE.
commit 97af8b2b85abaa381b668ff20ddd6b41fc8f1827 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Jan 13 17:37:41 2015 +0100
Update translations
commit 3906cf7e852872556728191a234152acf213db05 Merge: e62b671 87fe47e Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Jan 13 17:37:18 2015 +0100
Merge remote-tracking branch 'amarx/vpn-statistic1' into next
commit 02dba6c6cb654567639764332f8b0a24474badb3 Author: Erik Kapfer erik.kapfer@ipfire.org Date: Tue Jan 13 12:05:46 2015 +0100
Nmap: Update to version 6.47 .
Fix #10716
commit 5ab875af711f98f02cead4688a4f76958d9ff894 Author: Erik Kapfer erik.kapfer@ipfire.org Date: Tue Jan 13 11:09:05 2015 +0100
lynis: Update to version 1.6.4.
Fix #10715
commit e62b6718b919e7b5072ebf11294ae7d3adc9560e Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Jan 12 13:04:47 2015 +0100
strongswan: Update to 5.2.2
commit 98a5192ef2f3cde9b9c6867f69f3a400f3c62ec5 Author: Erik Kapfer erik.kapfer@ipfire.org Date: Mon Jan 12 12:17:43 2015 +0100
openssl: Disable SSLv2 and SSLv3.
Fixes #10712.
commit 0300b3f0993c9af5d5cb4f83a4b91fd2a1ffaeba Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Jan 11 21:28:13 2015 +0100
core87: Add changed rootfiles and uninstall sqlite
commit 5973563f8b08b18b0c4f29a6de6f3ae56eb24fea Merge: 5e7c872 ec0a385 Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Jan 11 21:24:17 2015 +0100
Merge remote-tracking branch 'stevee/next-ddns-update' into next
commit ec0a3859bd4730169715176939e983ff2765bc64 Author: Stefan Schantl stefan.schantl@ipfire.org Date: Sun Jan 11 18:21:59 2015 +0100
Remove sqlite as dependcy from various addons.
sqlite has become a core component in commit 024f02c1244290ceb60eedfe0fd04fd7526b0ad5.
commit 77c3c15432500f1b79d4e9de69973c8694f4e98d Author: Stefan Schantl stefan.schantl@ipfire.org Date: Sun Jan 11 17:02:46 2015 +0100
sqlite: Update to 080704.
commit 024f02c1244290ceb60eedfe0fd04fd7526b0ad5 Author: Stefan Schantl stefan.schantl@ipfire.org Date: Sat Jan 10 20:15:02 2015 +0100
sqlite: Move to IPFire core.
sqlite is a runtime dependency of ddns >= 005.
commit e100d97b042cb3e7047b51b617234ce4c02bf7ed Author: Stefan Schantl stefan.schantl@ipfire.org Date: Sat Jan 10 20:14:20 2015 +0100
ddns: Rootfile update.
commit 82bd80b38719bd800c31b68d974f65249debf503 Author: Stefan Schantl stefan.schantl@ipfire.org Date: Thu Aug 28 22:16:07 2014 +0200
ddns.cgi: Add support for token based auth for spdns.de.
commit f0dd06542596fa14cb0ef3bbaeb3ae16ee78c325 Merge: d5ea5e3 5e7c872 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Tue Jan 6 15:51:29 2015 +0100
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into monit
Conflicts: config/etc/logrotate.conf
commit 635a44bfad1fffad2d648d898a0e513172dc2f3b Author: Stefan Schantl stefan.schantl@ipfire.org Date: Mon Jan 5 23:13:47 2015 +0100
ddns: Add latest patches.
Add patches to fix an authentication problem against spdns.org and to add changeip as new provider.
commit 29da3718b1eccef8633fbfb7e2685ecad7113b64 Author: Stefan Schantl stefan.schantl@ipfire.org Date: Mon Jan 5 21:51:04 2015 +0100
ddns: Update to version 005.
commit 5e7c87280ea736ff2811c8ee332c9049186ac43d Author: Dirk Wagner dirk.wagner@ipfire.org Date: Mon Jan 5 21:37:41 2015 +0100
Asterisk addon: Update to 11.15.0
commit f7d7241829dfe1c638c8bf8530d3224ea847bfab Merge: 601f834 a898e4c Author: Dirk Wagner dirk.wagner@ipfire.org Date: Mon Jan 5 08:34:31 2015 +0100
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
commit a898e4cba75ad166863f928a30f7af454670579a Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Jan 3 16:23:26 2015 +0100
miniupnpd: Update to version 1.9
Supposed to fix issues with XBox Live (#10699)
commit d6ef5df18edfd8af46abbd09107cef9d42810cb4 Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Jan 2 12:20:50 2015 +0100
firewall: Fix off-by-one error in configuration parser
The configuration parser determines how many comma-separated values there are in a line. If new values are added we need to check first if those are set in every line to avoid any undefined behaviour. A wrong comparison parameter was used which caused that the limit feature was never enabled in the rule generation.
commit b56472d49b2e50d6c8f84023b80c3ee43114bfe1 Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Jan 2 11:49:07 2015 +0100
dnsmasq: Import some patches from upstream
These may fix the stability issues described in #10607
commit 1117fb59647efa47d5a7ab68962bf11f7c501dca Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Jan 2 11:11:22 2015 +0100
Build fixes
commit db9d194a6cc4efa8251415895e823e4db254c7a4 Author: Ben Schweikert trikolon@ipfire.org Date: Mon Nov 24 17:54:05 2014 +0100
Nginx: New Version - 1.6.2
commit 87fe47e9d9502276284340475e9c5208ae406571 Author: Alexander Marx alexander.marx@ipfire.org Date: Tue Dec 23 12:43:49 2014 +0100
vpn-statistic: Move logfiles to /var/run because of flash writes
commit 601f8347ccb1e9c5e3f250ff26d4097ecd698875 Merge: 8667a65 405d20b Author: Dirk Wagner dirk.wagner@ipfire.org Date: Tue Dec 23 09:02:23 2014 +0100
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
commit 405d20bcb33efccd16a7164e318adeb954d7639a Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 15 23:27:25 2014 +0100
fireinfo: Import latest patches
commit aa15b6b2567f1282a19f3c1d8a1c29e0b17f1bdc Merge: 5225c16 71dfc3d Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 8 23:41:20 2014 +0100
Merge remote-tracking branch 'mfischer/libdvbpsi' into next
commit 5225c164eca216e8e166ce50eacf335ee7a908c8 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 8 23:39:27 2014 +0100
Add libcap update to Core Update 87
commit e34672a35e9098080f0bc6e9fd630719f4b8eaa9 Merge: 13e3702 accc1fb Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 8 23:39:14 2014 +0100
Merge remote-tracking branch 'mfischer/libcap' into next
commit 13e370209f70b1a31f2e25873d466d57635c7535 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 8 23:36:55 2014 +0100
Add libffi update to Core Update 87
commit 6d01acb9bd3d5ca4286825dc4d8e28d17119389b Merge: 9afe33c 17de916 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 8 23:36:01 2014 +0100
Merge remote-tracking branch 'mfischer/libffi' into next
commit 9afe33cba5df7f82366b85deb4c7b8236af5e8a7 Merge: 62b211f 3e7801a Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 8 23:34:45 2014 +0100
Merge remote-tracking branch 'mfischer/libevent2' into next
commit 62b211fbd2774ba27720ad91f2f810445cbfb4ef Merge: 9571655 357c77b Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 8 23:33:35 2014 +0100
Merge remote-tracking branch 'mfischer/libassuan' into next
commit 9571655f7e886002705554909de4c5a3adff080c Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 8 23:30:04 2014 +0100
Add libart update to Core Update 87
commit 1cfa43b31b246141291c7f2430a92c9af37d63a5 Merge: ebbd219 17bcfe3 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 8 23:29:38 2014 +0100
Merge remote-tracking branch 'mfischer/libart' into next
commit ebbd219a93e8a3976557070216347af9a20df8c1 Merge: 1361932 834d6b9 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 8 23:29:08 2014 +0100
Merge remote-tracking branch 'mfischer/clamav' into next
commit 136193280b10cbb27f60eb3aef4cb5d0bec1c916 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 8 19:12:59 2014 +0100
Update translations
commit 18f2b3d171c4b03a8801fcc595e2907aa0352a4e Merge: 1450cfe ffbe77c Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 8 19:12:48 2014 +0100
Merge remote-tracking branch 'ummeegge/OpenVPN_additional_configs' into next
commit 1450cfebdee10c0ff79335a4d06e42e378338c9b Merge: 16d49f7 f4fbb93 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 8 19:12:39 2014 +0100
Merge remote-tracking branch 'ummeegge/OpenVPN_validating_N2N' into next
commit 71dfc3d66855b2ae97bddd5b36d0f2c511dbeeb4 Author: Matthias Fischer fischerm@ipfire.org Date: Sun Dec 7 15:46:39 2014 +0100
libdvbpsi: Update to 1.2.0
commit accc1fb6279512ceb04b0e8b5da945e8db09a0b6 Author: Matthias Fischer fischerm@ipfire.org Date: Sun Dec 7 15:43:47 2014 +0100
libcap: Update to 1.6.2
commit 17de91649570f8ef75d44730298b01e68393c646 Author: Matthias Fischer fischerm@ipfire.org Date: Sun Dec 7 15:40:39 2014 +0100
libffi: Update to 3.2.1
commit 3e7801aa607d2b9ce5386790147dad972012cfa8 Author: Matthias Fischer fischerm@ipfire.org Date: Sun Dec 7 15:35:15 2014 +0100
libevent2: Update to 2.0.21-stable
commit 357c77b5d1efa212923c69730309479e219fbf1d Author: Matthias Fischer fischerm@ipfire.org Date: Sun Dec 7 15:29:29 2014 +0100
libassuan: Update to 2.1.3
commit 17bcfe341608b34df37f6019b120e0d9cbee9883 Author: Matthias Fischer fischerm@ipfire.org Date: Sun Dec 7 15:23:57 2014 +0100
libart: Update to 2.3.21
commit 834d6b9e2b2ef37ef178d091de467c0f87196fe4 Author: Matthias Fischer fischerm@ipfire.org Date: Sat Dec 6 22:15:53 2014 +0100
clamav: Update to 0.98.5
commit 16d49f73e54ca80e7f6fb670cee6f67f93187fe4 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 6 14:11:24 2014 +0100
Add changed ovpnmain.cgi to Core Update 87
commit e36627f76e76bfca4104452051e56828a90f7f1c Merge: 208f162 badd8c1 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Dec 6 14:10:27 2014 +0100
Merge remote-tracking branch 'ummeegge/OpenVPN_rand' into next
commit 208f162bb028e22ac6c641dcadc91d930ef50524 Author: Erik Kapfer erik.kapfer@ipfire.org Date: Sat Dec 6 12:48:18 2014 +0100
tmux: Add missing dependency of libevent2
Fix #10695
commit badd8c1c631323425f4ddd35da0deff6d9496878 Author: Erik Kapfer erik.kapfer@ipfire.org Date: Sat Dec 6 13:03:59 2014 +0100
OpenVPN_rand: Deleted pseudo-random generator option.
Deleted the -rand /proc/interrupts:/proc/net/rt_cache option in ovpnmain.cgi Fix #10682
commit 9769bed42931dc3acfcb7854da0c483f99f2d2b7 Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Dec 3 11:37:54 2014 +0100
Rootfile update
commit 5fe21ff7e1237d03d96c5adaa954963fcc935c64 Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Dec 3 00:05:53 2014 +0100
Add daq update to Core Update 87
commit 1a01c170110374afcc6b7cfe26e63623e4f3aabb Merge: 17f0593 4db4bc1 Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Dec 3 00:05:26 2014 +0100
Merge remote-tracking branch 'mfischer/daq' into next
commit 17f0593aed127cbe72e28e3b788fc275f2004472 Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Dec 3 00:04:42 2014 +0100
Add snort update to Core Update 87
commit 0e331dd73b89f397f893c51447a5237935459fbb Merge: c0ce138 8d29504 Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Dec 3 00:04:05 2014 +0100
Merge remote-tracking branch 'mfischer/snort' into next
commit c0ce138ad29387a8e89ecef81c3ef6db6b047c85 Merge: 9eb8db8 dc1d8fe Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Dec 3 00:02:49 2014 +0100
Merge remote-tracking branch 'mfischer/mc' into next
commit 9eb8db8046745c252395ddb9fdbbe755b8e39aae Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Dec 3 00:01:31 2014 +0100
Add pcre update to Core Update 87
commit a895c5cfc4cb81aff7677b42b689bdb0da4d9c5c Merge: 99ba4e9 898f08e Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Dec 3 00:01:17 2014 +0100
Merge remote-tracking branch 'mfischer/pcre' into next
commit 99ba4e9224c409630b95b7a16d77a74a028f8690 Merge: 10d3ead 0c1b707 Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Dec 3 00:00:32 2014 +0100
Merge remote-tracking branch 'mfischer/tcpdump' into next
commit 10d3ead45647d59ff0d76fe901d52315af5ef0df Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:59:38 2014 +0100
Add zlib update to Core Update 87
commit b3e35d47800ee193ec373befa117c7c5baf6ff41 Merge: 9254d56 6c96e04 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:59:26 2014 +0100
Merge remote-tracking branch 'mfischer/zlib' into next
commit 9254d56de167329a51d98ad3a1e40b1d9074738f Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:58:35 2014 +0100
Add squid update to Core Update 87
commit bf9a16a4212fb179b3026e5b8eb90a56fda53cd8 Merge: 7edd993 bc3dd1e Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:57:35 2014 +0100
Merge remote-tracking branch 'mfischer/squid' into next
commit 7edd993d2573535d24f39dcfcd2977b355ffe4d3 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:56:52 2014 +0100
Add smartmontools update to Core Update 87
commit e8b2566ebfa9b4e87c6ee76849be626a6ecf7bcc Merge: 2c7c999 6deed5a Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:56:36 2014 +0100
Merge remote-tracking branch 'mfischer/smartmontools' into next
commit 2c7c9996c4c67a7c005b61e09400c1eb2e3252af Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:53:47 2014 +0100
Add libpcap update to Core Update 87
commit b8df63aeabbd2c54305bc255ae9abf7d67251d7c Merge: da34ac1 61c29b3 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:52:36 2014 +0100
Merge remote-tracking branch 'mfischer/libpcap' into next
commit da34ac1f812efc7bf5cd0e7b76fef4aefed4f246 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:52:06 2014 +0100
Add wget update to Core Update 87
commit 9a3d6f5ad10c81768337f3a8c11dd0c128f908fd Merge: 3f7d9a9 1f8ea39 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:51:49 2014 +0100
Merge remote-tracking branch 'mfischer/wget' into next
Conflicts: make.sh
commit 3f7d9a96138656d2fd54b1ea74c58adcee5056b3 Merge: 3fd3d53 ba85a1b Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:50:17 2014 +0100
Merge remote-tracking branch 'mfischer/htop' into next
commit 3fd3d535556fc6a92d73682b379c8440bb569de7 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:39:57 2014 +0100
Add ethtool update to Core Update 87
commit 345124fb3dee5d1a1e929227512e1708ff637cd5 Merge: ceb64d7 191e9a0 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:38:46 2014 +0100
Merge remote-tracking branch 'mfischer/ethtool' into next
commit ceb64d792d9c0b64488e344282a7628ce4b951e5 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:36:24 2014 +0100
Add tar update to Core Update 87
commit cb60c22534e466715768e441c3cf7b1ead80dc44 Merge: aa1c6e9 8c80423 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 23:36:04 2014 +0100
Merge remote-tracking branch 'mfischer/tar' into next
commit aa1c6e9fa84c10120491f92254a59d70f8efeaa5 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 17:27:05 2014 +0100
Add screen update to Core Update 87
commit 413abba64a7aa6a9f55533e1b2d31a7a88ee0fba Merge: f7f47c4 2a21958 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 17:26:36 2014 +0100
Merge remote-tracking branch 'mfischer/screen' into next
commit f7f47c4f2f77a1833664c77c43021e3c76339301 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 17:25:48 2014 +0100
Add fcron update to Core Update 87
commit d141dc078a366ca1c91de02ce8875be224bb52fd Merge: 160645b c814d7b Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 17:25:32 2014 +0100
Merge remote-tracking branch 'mfischer/fcron' into next
commit 160645b7c5b784fe79ac81124969b3f1eb8287df Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 17:24:00 2014 +0100
Add gnupg update to Core Update 87
commit 32bda1fb6e7a7571c2567d3b5d575862e2549e3a Merge: f184f59 b92f39b Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 17:23:42 2014 +0100
Merge remote-tracking branch 'mfischer/gnupg' into next
commit f184f593e35c12f9f2a4cef2e4922011162cf1f5 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 17:23:06 2014 +0100
Add hdparm update to Core Update 87
commit d3b375fc1e653ad00e37efb8b5626d10589f4056 Merge: 487d047 068babf Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 17:22:01 2014 +0100
Merge remote-tracking branch 'mfischer/hdparm' into next
commit 487d0477f7fb7be8c869aa891f15896537822276 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 17:20:36 2014 +0100
Add file update to Core Update 87
commit 0c61cd9cea3a0124c26463e3e3c52996db285a93 Merge: 5d2dc72 264b8ae Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 17:20:20 2014 +0100
Merge remote-tracking branch 'mfischer/file' into next
commit 5d2dc721a1d38de9495b11dc2447bd42ebd35b4d Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 17:18:46 2014 +0100
Add grep update to Core Update 87
commit 7294c83b5bb6aa8dd16762d70c8df56115c555b8 Merge: 02d860e 7f88f8f Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 17:17:39 2014 +0100
Merge remote-tracking branch 'mfischer/grep' into next
commit 02d860ebdad3b6a0ae2b3673984dab2068862dbe Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 17:17:23 2014 +0100
Start Core Update 87
commit 6ae131ef235c11d9ff7419b9b84be7132bd25fb5 Merge: 75afeed ddfc069 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 16:52:17 2014 +0100
Merge remote-tracking branch 'amarx/BUG10693' into next
commit 75afeed1613ab2ac8e76885c29dff1a28c9b0860 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Dec 2 12:28:49 2014 +0100
openvpn: Update to 2.3.6
Fixes CVE-2014-8104
commit ddfc0693e99bbc241f4e054ddcba85f0068596fd Author: Alexander Marx alexander.marx@ipfire.org Date: Tue Dec 2 08:38:51 2014 +0100
Squid-Accounting: Bugfix 10693
Fixes problem with last years month in webinterface and bill creation
commit 2a2195807eec43527b854a976e0dd23e84d42a56 Author: Matthias Fischer fischerm@ipfire.org Date: Sun Nov 30 17:09:38 2014 +0100
screen: Update to 4.2.1
commit c814d7b590af354e22559c42b603b4a0b1f56bb5 Author: Matthias Fischer fischerm@ipfire.org Date: Sat Nov 29 23:55:57 2014 +0100
fcron: Update to 3.2.0
commit b92f39bcacc61f912ab2ca19b46bb90e2bbaee08 Author: Matthias Fischer fischerm@ipfire.org Date: Sat Nov 29 21:40:22 2014 +0100
gnupg: Update to 1.4.18
commit 068babfb1377c930a80c1b7baf75c97661a2481c Author: Matthias Fischer fischerm@ipfire.org Date: Sat Nov 29 21:31:31 2014 +0100
hdparm: Update to 9.45
commit 264b8ae7df90adc8b6dd0f43a46ea8b80d8f4e90 Author: Matthias Fischer fischerm@ipfire.org Date: Sat Nov 29 21:19:19 2014 +0100
file: Update to 5.20
commit 7f88f8f569060f8f06c8dcc3875f4056b33f6dbb Author: Matthias Fischer fischerm@ipfire.org Date: Wed Nov 26 21:05:28 2014 +0100
grep: Update to 2.21
commit 191e9a0c964df070d3e63dd49d88dbe3664056f9 Author: Matthias Fischer fischerm@ipfire.org Date: Sun Nov 23 14:30:47 2014 +0100
ethtool: Update to 3.16
commit 8c80423c129f632712cc9a43c7be2e9c0d75b698 Author: Matthias Fischer fischerm@ipfire.org Date: Sat Nov 22 23:43:46 2014 +0100
tar: Update to 1.28
commit 898f08edf49116bb95b8bb05f50b00593ca7acbf Author: Matthias Fischer fischerm@ipfire.org Date: Sat Nov 22 18:43:11 2014 +0100
Changed configure-option: '--enable-jit' => '--disable-jit'
Reason: The latest version of pcre comes with a JIT compiler for regular expressions. The implementation of that requires that memory is writable and executable at the same time which is not allowed by grsecurity.
commit 61c29b32d1be54756f63bf7697fc08bde7dae93d Author: Matthias Fischer fischerm@ipfire.org Date: Wed Nov 19 18:29:24 2014 +0100
libpcap: rootfile update (1.6.2)
commit f4fbb93510d52300ce7140227804f38e08cf332c Author: Erik Kapfer erik.kapfer@ipfire.org Date: Thu Nov 13 10:40:42 2014 +0100
OpenVPN: Added 'valid til (days)' field for N2N.
Fixes #10680
commit ffbe77c8bcf247a484b7791707e98fd3ab59fbdc Author: Erik Kapfer erik.kapfer@ipfire.org Date: Thu Nov 13 03:09:51 2014 +0100
OpenVPN: Added additional configuration for server and clients
* Added a possibility to manualy extend OpenVPNs server and client configuration. * Added also a checkbox (on/off) in the WUI under 'Advanced server options' . * Changed the order in 'Miscellaneous options' section for better overview. * Optimized code in particular sections a little. Added a filehandle instead of system(touch...) for ccd* file generation. Unified the html code tags in processed section. Fixes #10577
commit ba85a1beb487854a14cbb288b436d6a88265a126 Author: Matthias Fischer fischerm@ipfire.org Date: Tue Nov 11 20:41:10 2014 +0100
htop: Update to 1.0.3
commit 1f8ea39aca5468191ebb05ad23576f2d1bf43f1c Author: Matthias Fischer fischerm@ipfire.org Date: Tue Nov 11 18:40:52 2014 +0100
wget: deleted obsolete patch-file
commit b1ad1b744f845e8d574af8bcd03f4590f6bd9ccc Author: Matthias Fischer fischerm@ipfire.org Date: Sun Nov 9 12:11:21 2014 +0100
libpcap: Update to 1.6.2, added --enable-bluetooth=no
commit 6deed5addbf2ecc899fc4420469372fc98194aee Author: Matthias Fischer fischerm@ipfire.org Date: Fri Nov 7 12:47:08 2014 +0100
smartmontools: Update to 6.3
commit 9d1da799fa7f2b07c742f1bcb7a7970c70050b25 Author: Matthias Fischer fischerm@ipfire.org Date: Thu Nov 6 23:53:01 2014 +0100
wget: Update to 1.16
commit bc3dd1e975d420cc54d2d2dce831d13e2a9ccad3 Author: Matthias Fischer fischerm@ipfire.org Date: Thu Nov 6 07:33:45 2014 +0100
Update: squid to 3.4.9
commit 6c96e0499b95151afe0f72f628a3c9b2bfbec25c Author: Matthias Fischer fischerm@ipfire.org Date: Wed Nov 5 21:48:57 2014 +0100
Update: zlib to 1.2.8
commit 0c1b7071ec5fc4ada96998dce0b1141a39b874be Author: Matthias Fischer fischerm@ipfire.org Date: Wed Nov 5 21:46:16 2014 +0100
Update: tcpdump to 4.6.2
commit 14c33f6393464991e38a6428a1361f1c9360a066 Author: Matthias Fischer fischerm@ipfire.org Date: Wed Nov 5 21:41:43 2014 +0100
Update: pcre to 8.36
commit dc1d8fe731abec4a99be141e08054cc6647de745 Author: Matthias Fischer fischerm@ipfire.org Date: Wed Nov 5 21:23:44 2014 +0100
Update: Midnight Commander to 4.8.13
commit 8d29504c4dff83e31beb0791d5a9654499ae5ac8 Author: Matthias Fischer fischerm@ipfire.org Date: Wed Nov 5 19:20:59 2014 +0100
snort: Update urls for rules download (2.9.7.0) in 'ids.cgi'
commit 4d88659446676f9034b04828062cd8303cb2a4b3 Author: Matthias Fischer fischerm@ipfire.org Date: Wed Nov 5 19:17:53 2014 +0100
snort: Update to 2.9.7.0
commit 4db4bc1b1b57dd1f28b6d37d20fe851cbcdfbeb0 Author: Matthias Fischer fischerm@ipfire.org Date: Wed Nov 5 19:02:32 2014 +0100
daq: Update to 2.0.4
commit 8667a65b4e57fd2b2c375e1b580c802385924bda Author: Dirk Wagner dirk.wagner@ipfire.org Date: Tue Nov 4 19:12:55 2014 +0100
asterisk addon: update to 11.13.1
commit e076addfdbbfd1307346b52e681c0e6724196b83 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Tue Nov 4 19:11:25 2014 +0100
libsrtp: update to 1.5
commit d5ea5e366c52830d4e54b89309340674fc518af2 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Sat Oct 25 20:20:05 2014 +0200
Revert "monit addon: Upgrade to 5.9"
This reverts commit a61bfd61b292b28660539c8214a1edcf90d22db3.
commit 74381c58f9b1bd895632d1630998e1e7c23fb1bb Merge: e823d54 ad92967 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Thu Oct 23 20:53:24 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
commit a61bfd61b292b28660539c8214a1edcf90d22db3 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Thu Oct 23 18:56:58 2014 +0200
monit addon: Upgrade to 5.9
commit 07562a76208386065c56386b3a77f44137d16c2f Merge: 5ae99dd ad92967 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Wed Oct 22 20:51:32 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into monit
commit c9ac8b8052842049694565bedeffc26d651ef093 Author: Alexander Marx amarx@ipfire.org Date: Fri Sep 26 13:18:45 2014 +0200
vpn-statistics: change graphs and datatypes of rrd
commit 5ae99dd2d1ed307959f25143e6c343a53e4df373 Merge: 7ce49ff 6c4319a Author: Dirk Wagner dirk.wagner@ipfire.org Date: Wed Oct 15 22:38:13 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into monit
commit e823d548024ba9cf5d26f58afd34c12ebc7aab1a Merge: e05ac9d 6c4319a Author: Dirk Wagner dirk.wagner@ipfire.org Date: Wed Oct 15 22:35:24 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
commit 0d0ee70f3b6f4559885b91fa03c6e77f5cffe1b0 Merge: 59c2888 7a35d10 Author: Alexander Marx amarx@ipfire.org Date: Fri Sep 26 12:53:05 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into vpn-statistic1
commit 2056dd3033ff6fb5a3ac709c63e7c9696741f2a1 Author: Alexander Marx amarx@ipfire.org Date: Fri Sep 26 12:45:47 2014 +0200
collectd: added 22 patches from Michael
commit 44526b2debe4fdc27f5385d579abc5895eb7211e Author: Alexander Marx amarx@ipfire.org Date: Wed Sep 17 11:58:36 2014 +0200
collectd-4.10.7: Fix openvpn.c to be useable with IPFire
commit 59c2888bae4638153fbe5092608468a21788fb55 Author: Alexander Marx amarx@ipfire.org Date: Fri Sep 19 08:11:24 2014 +0200
BUG10617: Allow rules from local networks to firewall itself
commit 5795fc1b5536b6506c26a976c3024114e88cbcb8 Author: Alexander Marx amarx@ipfire.org Date: Wed Sep 3 07:58:15 2014 +0200
vpn-statistic: added new statistic page for OpenVPN Roadwarrior
commit e05ac9dbd076a5eec59645df5676e53604729117 Merge: f5480b1 c142032 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Fri Sep 12 23:29:32 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
commit f5480b13dd11f35cb6792c9f3cc867a1c0cff158 Merge: 24c6cb4 2fc5124 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Mon Aug 11 21:05:14 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
commit 24c6cb44e2ff3bc03c6e5eb1ca40126cca0dbd3b Merge: f9602aa 612ce88 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Thu Jul 31 10:53:43 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
commit f9602aa126b9ffcaa32055658c577463c0bff2b4 Merge: 65418d1 10cd52b Author: Dirk Wagner dirk.wagner@ipfire.org Date: Sun Jul 27 22:35:56 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
Conflicts: config/etc/logrotate.conf config/rootfiles/packages/asterisk
commit 7ce49ff07440e404959149820e507f79d7c839da Author: Dirk Wagner dirk.wagner@ipfire.org Date: Wed Jul 23 21:49:52 2014 +0200
monit addon: fixed monitrc permissions.
commit c6ede545fdfbc12c10a3a66a3ea76a45e2d39ef4 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Wed Jul 23 20:55:26 2014 +0200
monit addon: fixed init.d links.
commit a1f23a84c7c5b60bf87b30a19451214e59793b9a Merge: 9ac9fc3 65418d1 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Wed Jul 23 11:07:58 2014 +0200
Merge branch 'asterisk-update' into monit
Conflicts: config/etc/logrotate.conf config/rootfiles/packages/asterisk
commit 9ac9fc3d802db666b94cc85175bef2cfbd335ed5 Merge: 57865e5 9d9c825 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Wed Jul 23 10:37:02 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into monit
Conflicts: config/rootfiles/packages/asterisk
commit 57865e53f70b234f2b1f1be07ed8ca8ef091664b Author: Dirk Wagner dirk.wagner@ipfire.org Date: Wed Jul 23 10:30:14 2014 +0200
monit addon: fixed start script links.
commit 65418d1d211b9425013b0f8dcefa9b944a62d1bb Author: Dirk Wagner dirk.wagner@ipfire.org Date: Thu Jul 10 10:38:03 2014 +0200
asterisk addon: moved libsrtp to seperate lfs.
commit d4defa1a7ff3bc08b7ee3682b0bee16375602aad Author: Dirk Wagner dirk.wagner@ipfire.org Date: Tue Jul 8 21:01:02 2014 +0200
Revert "asterisk addon: update to 11.10.2" due tls/srtp not working stable
This reverts commit dc0657f58ff58acd2dafe24f28b5af706e91c3f9.
commit dc0657f58ff58acd2dafe24f28b5af706e91c3f9 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Fri Jul 4 10:51:04 2014 +0200
asterisk addon: update to 11.10.2
commit 8e112a784156513c53d97511de528bc2d73f2d11 Merge: 94d84c7 a788e50 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Tue Jul 1 11:11:09 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
commit 94d84c7fbc46b39698aa8968afca5be2e3ea5e4d Author: Dirk Wagner dirk.wagner@ipfire.org Date: Tue Jul 1 11:08:17 2014 +0200
asterisk addon: removed webif, cleanuped build scripts.
commit 972f767f5bc270c7e8821bbbe09772d81504ef01 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Tue Jul 1 11:05:26 2014 +0200
asterisk addon: added logrotate config.
commit f5a99cd4e2c73586930119bf5c255e1ba2e452c4 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Tue Jul 1 11:03:45 2014 +0200
logrotate: include logrotate.d by default.
commit adbfa4fff56c48aa72bf884dc0abefefea95a33b Merge: 6795e2b 581f19d Author: Dirk Wagner dirk.wagner@ipfire.org Date: Sun Jun 15 22:02:23 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
commit e0eeb8a6176ab672b9dd3b3ce93f689e9a2881c3 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Sun Jun 15 22:00:58 2014 +0200
monit addon: update to 5.8.1
commit 2407ace4946f1c0af6c43e6139337b76bfabaa7f Merge: bd34e32 0ee45bc Author: Dirk Wagner dirk.wagner@ipfire.org Date: Sat Jun 14 09:41:59 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into monit
commit 6795e2b8523a7e10151474c4539c2a872c282d25 Merge: fda7597 0ee45bc Author: Dirk Wagner dirk.wagner@ipfire.org Date: Wed Jun 11 10:55:56 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
commit bd34e32e4b2ce637845cb7e7e8a2c8ede1dffe83 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Wed Jun 11 10:54:28 2014 +0200
monit addon: fixed path in init script
commit fda7597ced5c013edce02671657e86ba74343a2d Author: Dirk Wagner dirk.wagner@ipfire.org Date: Mon Jun 9 13:18:48 2014 +0200
asterisk addon: do not run asterisk as nobody by default.
commit e65da0a8e197f4b875b708a6d0d037b1bd01db71 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Mon Jun 9 13:16:48 2014 +0200
asterisk addon: Update to 11.10.0
commit 5e55b70d26799f9002c9e75e0786c867f485f322 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Mon Jun 9 12:20:21 2014 +0200
Added patch for https://issues.asterisk.org/jira/browse/ASTERISK-18345
commit c10ef4bd39e3b25918067da15ba68ee76e252cf4 Merge: 28b8e0e 30b1c1c Author: Dirk Wagner dirk.wagner@ipfire.org Date: Mon May 19 12:56:38 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
commit 1fbd7376b71e7a9affcb41ea7948af66df6ac94f Merge: 6047b2c e3b5a05 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Sat May 17 18:43:00 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into monit
commit 6047b2c178020dc98fb84aa520aea23f9f957bd3 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Sat May 17 18:42:21 2014 +0200
monit addon: Fixed initscript stuff
commit e8cee92b70064358871ce28c1c8d84cc1a297d0c Merge: 2beef64 28b8e0e Author: Dirk Wagner dirk.wagner@ipfire.org Date: Fri May 9 13:48:03 2014 +0200
Merge branch 'asterisk-update' into monit
commit 2beef649d438da5bda0a2df81e4601de54668487 Merge: 58dca4e 03d0b8c Author: Dirk Wagner dirk.wagner@ipfire.org Date: Fri May 9 09:00:20 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into monit
commit 58dca4e50ba32dcad9551300691c12c55e740344 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Fri May 9 08:59:17 2014 +0200
monit addon: First version.
commit 28b8e0ec070adeb0cb8231814d355b7e1e3f56e9 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Wed May 7 21:35:12 2014 +0200
asterisk addon: Do not run asterisk as root.
commit b612f37040e4b849ff4006be8eecda957b4a407b Author: Arne Fitzenreiter arne_f@ipfire.org Date: Wed Apr 16 06:52:01 2014 +0200
strongswan: rootfile update.
commit 9838ce3d7ae8fe909b18e0dd5bb37eee9dc4dbe6 Merge: 83167e3 c80303c Author: Dirk Wagner dirk.wagner@ipfire.org Date: Mon May 5 09:16:08 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
commit 83167e3809ac886c3630cc834bce0c53d80174e8 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Tue Apr 29 08:32:21 2014 +0200
asterisk addon: Update to 11.9.0. Removed ffmpeg and spandsp dependencies due to licence issues.
commit f1d418f5ab51f7d4875d14ebb26d0e8f0b5b8d86 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Thu Apr 17 21:28:51 2014 +0200
asterisk addon: Fixed srtp buildroblems, disabled snmp, sdl and oss support.
commit 351aba94512b11c19768d6dd8dfeff065ecde319 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Tue Apr 15 22:05:41 2014 +0200
asterisk addon: Enabled SRTP and disabled xml-doc.
commit 7692e381932da5f80092f35bb698cc1a4e0d01ae Merge: ae77e0b 1d3c374 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Mon Apr 14 13:12:14 2014 +0200
Merge branch 'next' of ssh://git.ipfire.org/pub/git/ipfire-2.x into asterisk-update
commit ae77e0baef1948c0a118bb410b72d2c58ad572ad Author: Dirk Wagner dirk.wagner@ipfire.org Date: Mon Apr 14 13:09:20 2014 +0200
asterisk addon: Update to latest asterisk LTS version 11.8.1
commit 977768de44423c7df03f8c6defcf401daff777f8 Author: Dirk Wagner dirk.wagner@ipfire.org Date: Mon Apr 14 13:05:40 2014 +0200
lcr addon: Update to latest version due to build errors with asterisk 11.
-----------------------------------------------------------------------
Summary of changes: config/asterisk/asterisk.logrotate | 9 + config/asterisk/asterisk.makeopts | 96 -- config/asterisk/wakeup/source/536.call | 8 - config/asterisk/wakeup/source/bsp.call.tpl | 8 - config/asterisk/wakeup/wakeup.sh | 40 - config/backup/backup.pl | 8 +- config/backup/includes/haproxy | 1 + config/backup/includes/monit | 2 + config/backup/includes/teamspeak | 7 - config/cfgroot/graphs.pl | 112 ++ config/collectd/collectd.conf | 1 + config/collectd/collectd.vpn | 5 + config/haproxy/haproxy.cfg | 86 ++ config/menu/20-status.menu | 12 + config/monit/monitrc | 252 +++++ config/rootfiles/common/apache2 | 2 + config/rootfiles/common/armv5tel/initscripts | 2 +- config/rootfiles/common/collectd | 21 +- config/rootfiles/common/daq | 2 +- config/rootfiles/common/ddns | 3 + config/rootfiles/common/fcron | 122 +-- config/rootfiles/common/fuse | 6 +- config/rootfiles/common/i586/initscripts | 2 +- config/rootfiles/common/installer | 2 - config/rootfiles/common/libart | 2 +- config/rootfiles/common/libcap | 5 +- config/rootfiles/common/libffi | 10 +- config/rootfiles/common/libpcap | 15 +- config/rootfiles/common/logrotate | 2 + config/rootfiles/common/ntfs-3g | 36 +- config/rootfiles/common/openvpn | 2 +- config/rootfiles/common/pcre | 42 +- config/rootfiles/common/screen | 4 +- config/rootfiles/common/setup | 6 - config/rootfiles/common/smartmontools | 4 + config/rootfiles/common/snort | 16 +- config/rootfiles/{packages => common}/sqlite | 0 config/rootfiles/common/sysklogd | 1 - config/rootfiles/common/tar | 4 + config/rootfiles/common/zlib | 3 +- config/rootfiles/{oldcore/85 => core/88}/exclude | 0 .../{oldcore/79 => core/88}/filelists/daq | 0 .../{oldcore/81 => core/88}/filelists/ddns | 0 .../{oldcore/84 => core/88}/filelists/dnsmasq | 0 .../{oldcore/52 => core/88}/filelists/ethtool | 0 .../{oldcore/29 => core/88}/filelists/fcron | 0 .../{oldcore/66 => core/88}/filelists/file | 0 config/rootfiles/core/88/filelists/files | 6 + .../{oldcore/66 => core/88}/filelists/gnupg | 0 .../{oldcore/66 => core/88}/filelists/grep | 0 .../{oldcore/66 => core/88}/filelists/hdparm | 0 config/rootfiles/core/88/filelists/libart | 1 + config/rootfiles/core/{87 => 88}/filelists/libcap | 0 .../{oldcore/66 => core/88}/filelists/libffi | 0 .../{oldcore/79 => core/88}/filelists/libpcap | 0 .../{oldcore/66 => core/88}/filelists/pcre | 0 .../{oldcore/66 => core/88}/filelists/screen | 0 .../68 => core/88}/filelists/smartmontools | 0 .../{oldcore/79 => core/88}/filelists/snort | 0 config/rootfiles/core/88/filelists/sqlite | 1 + .../{oldcore/84 => core/88}/filelists/squid | 0 .../{oldcore/28 => core/88}/filelists/tar | 0 .../{oldcore/77 => core/88}/filelists/wget | 0 .../{oldcore/66 => core/88}/filelists/zlib | 0 config/rootfiles/core/{87 => 88}/meta | 0 .../rootfiles/core/88/update.sh | 53 +- .../{core/87 => oldcore/86}/filelists/hwdata | 0 config/rootfiles/{core => oldcore}/87/exclude | 0 .../{core => oldcore}/87/filelists/armv5tel/glibc | 0 .../87/filelists/armv5tel/initscripts | 0 .../87/filelists/armv5tel/linux-kirkwood | 0 .../87/filelists/armv5tel/linux-multi | 0 .../87/filelists/armv5tel/linux-rpi | 0 .../87/filelists/armv5tel/swconfig | 0 .../{core => oldcore}/87/filelists/armv5tel/u-boot | 0 .../rootfiles/{core => oldcore}/87/filelists/bash | 0 .../{core => oldcore}/87/filelists/coreutils | 0 .../rootfiles/{core => oldcore}/87/filelists/crda | 0 .../{core => oldcore}/87/filelists/dracut | 0 .../rootfiles/{core => oldcore}/87/filelists/files | 0 .../{core => oldcore}/87/filelists/fireinfo | 0 .../rootfiles/oldcore/{44 => 87}/filelists/hwdata | 0 .../{core => oldcore}/87/filelists/i586/glibc | 0 .../{core => oldcore}/87/filelists/i586/grub | 0 .../87/filelists/i586/initscripts | 0 .../{core => oldcore}/87/filelists/i586/linux | 0 .../87/filelists/i586/linux-initrd | 0 config/rootfiles/{core => oldcore}/87/filelists/iw | 0 .../rootfiles/{core => oldcore}/87/filelists/kbd | 0 .../rootfiles/oldcore/{44 => 87}/filelists/libcap | 0 .../{core => oldcore}/87/filelists/libsmooth | 0 .../rootfiles/{core => oldcore}/87/filelists/lvm2 | 0 .../rootfiles/{core => oldcore}/87/filelists/mdadm | 0 .../{core => oldcore}/87/filelists/misc-progs | 0 .../{core => oldcore}/87/filelists/multipath-tools | 0 .../rootfiles/{core => oldcore}/87/filelists/newt | 0 .../rootfiles/{core => oldcore}/87/filelists/ntp | 0 .../{core => oldcore}/87/filelists/openssl | 0 .../{core => oldcore}/87/filelists/openssl-compat | 0 .../{core => oldcore}/87/filelists/openvpn | 0 .../{core => oldcore}/87/filelists/parted | 0 .../rootfiles/{core => oldcore}/87/filelists/patch | 0 .../rootfiles/{core => oldcore}/87/filelists/pigz | 0 .../rootfiles/{core => oldcore}/87/filelists/setup | 0 .../rootfiles/{core => oldcore}/87/filelists/slang | 0 .../{core => oldcore}/87/filelists/strongswan | 0 .../{core => oldcore}/87/filelists/tzdata | 0 .../87/filelists/updated-firmwares | 0 .../{core => oldcore}/87/filelists/wireless-regdb | 0 .../{core => oldcore}/87/filelists/wpa_supplicant | 0 .../{core => oldcore}/87/filelists/xfsprogs | 0 config/rootfiles/oldcore/{85 => 87}/meta | 0 config/rootfiles/{core => oldcore}/87/update.sh | 0 config/rootfiles/packages/asterisk | 248 +++-- config/rootfiles/packages/haproxy | 8 + config/rootfiles/packages/libassuan | 2 +- config/rootfiles/packages/libdvbpsi | 43 +- config/rootfiles/packages/libevent2 | 10 +- config/rootfiles/packages/libsrtp | 40 + config/rootfiles/packages/lynis | 142 +-- config/rootfiles/packages/mc | 2 + config/rootfiles/packages/monit | 8 + config/rootfiles/packages/nmap | 179 +++- config/rootfiles/packages/owncloud | 1096 +++++++++----------- config/rootfiles/packages/teamspeak | 3 - config/strongswan/charon.conf | 302 ++++++ doc/language_issues.de | 1 + doc/language_issues.en | 1 + doc/language_issues.es | 7 + doc/language_issues.fr | 7 + doc/language_issues.nl | 7 + doc/language_issues.pl | 7 + doc/language_issues.ru | 7 + doc/language_issues.tr | 7 + doc/language_missings | 24 + html/cgi-bin/ddns.cgi | 2 +- html/cgi-bin/firewall.cgi | 201 ++-- html/cgi-bin/fwhosts.cgi | 4 +- html/cgi-bin/ids.cgi | 6 +- html/cgi-bin/netovpnrw.cgi | 72 ++ html/cgi-bin/netovpnsrv.cgi | 72 ++ html/cgi-bin/ovpnmain.cgi | 207 ++-- html/cgi-bin/vpnmain.cgi | 4 +- langs/de/cgi-bin/de.pl | 8 +- langs/en/cgi-bin/en.pl | 8 +- langs/es/cgi-bin/es.pl | 2 +- langs/fr/cgi-bin/fr.pl | 2 +- langs/it/cgi-bin/it.pl | 2 +- langs/nl/cgi-bin/nl.pl | 2 +- langs/pl/cgi-bin/pl.pl | 2 +- langs/ru/cgi-bin/ru.pl | 2 +- langs/tr/cgi-bin/tr.pl | 2 +- lfs/asterisk | 73 +- lfs/clamav | 1 + lfs/cmake | 4 + lfs/collectd | 26 +- lfs/crda | 1 + lfs/daq | 4 +- lfs/ddns | 10 +- lfs/directfb | 2 +- lfs/dnsmasq | 64 +- lfs/ethtool | 8 +- lfs/fcron | 6 +- lfs/ffmpeg | 3 +- lfs/file | 6 +- lfs/fuse | 6 +- lfs/gnupg | 6 +- lfs/grep | 4 +- lfs/{pakfire3 => haproxy} | 42 +- lfs/hdparm | 6 +- lfs/htop | 8 +- lfs/initscripts | 0 lfs/iptables | 4 +- lfs/krb5 | 4 +- lfs/lcr | 10 +- lfs/libart | 6 +- lfs/libassuan | 8 +- lfs/libcap | 12 +- lfs/libdvbpsi | 10 +- lfs/libevent2 | 8 +- lfs/libffi | 6 +- lfs/libpcap | 12 +- lfs/{pcre => libsrtp} | 24 +- lfs/logrotate | 3 +- lfs/lynis | 10 +- lfs/mISDNuser | 1 + lfs/mc | 6 +- lfs/mediatomb | 4 +- lfs/minidlna | 4 +- lfs/miniupnpd | 6 +- lfs/{tcpdump => monit} | 30 +- lfs/nagios | 4 +- lfs/nginx | 6 +- lfs/nmap | 8 +- lfs/ntfs-3g | 8 +- lfs/openssl | 2 + lfs/openvpn | 3 +- lfs/owncloud | 8 +- lfs/pakfire3 | 4 +- lfs/pcre | 6 +- lfs/screen | 9 +- lfs/smartmontools | 6 +- lfs/snort | 4 +- lfs/sqlite | 11 +- lfs/squid | 4 +- lfs/squid-accounting | 2 +- lfs/strongswan | 12 +- lfs/sysklogd | 6 +- lfs/tar | 6 +- lfs/tcpdump | 6 +- lfs/teamspeak | 62 -- lfs/wget | 8 +- lfs/xvid | 8 +- lfs/zlib | 4 +- make.sh | 4 +- src/initscripts/init.d/asterisk | 2 +- src/initscripts/init.d/haproxy | 47 + src/initscripts/init.d/monit | 39 + src/initscripts/init.d/teamspeak | 28 - src/installer/hw.c | 3 + src/installer/po/LINGUAS | 2 - src/installer/po/da.po | 50 +- src/installer/po/fa.po | 6 +- src/installer/po/fr.po | 81 +- src/installer/po/ja_JP.po | 329 ------ src/installer/po/pt_BR.po | 53 +- src/installer/po/ru.po | 125 +-- src/installer/po/ru_RU.po | 329 ------ src/installer/po/tr.po | 37 +- src/misc-progs/openvpnctrl.c | 33 + src/paks/teamspeak/install.sh | 54 - src/paks/teamspeak/update.sh | 26 - src/patches/asterisk-no-ffmpeg.patch | 11 + src/patches/asterisk-ssl-reader-should-block.patch | 28 + src/patches/clamav/llvm-glibc.patch | 12 + .../0001-src-utils_mount.h-Add-stdio.h.patch | 28 + ...y-continuously-when-MySQL-slave-SQL-threa.patch | 27 + ...avoid-using-uninitalized-variable-in-erro.patch | 34 + .../0004-interface.c-FreeBSD-10-support.patch | 52 + ..._xml.c-avoid-using-uninitalized-variable-.patch | 40 + ..._thread_cbs-so-we-initialize-the-right-th.patch | 28 + ...in-Call-curl_global_init-from-the-init-fu.patch | 40 + ...k-comment-libgcrypt-initalization-process.patch | 33 + ...lobal_init-in-_init-of-plugins-using-curl.patch | 99 ++ ...nit-to-be-consistent-with-the-rest-of-the.patch | 32 + ...r-when-we-alocate-an-empty-list-we-also-n.patch | 41 + .../0012-don-t-assume-pkg-config-is-in-PATH.patch | 86 ++ ...d-missing-backticks-which-broke-the-build.patch | 40 + ...nmp_pdu-struct-allocated-by-snmp_pdu_crea.patch | 29 + ...ugin-Fixed-tautological-pointer-compariso.patch | 28 + ...dd-support-for-OpenVPN-2.3.0-status-files.patch | 160 +++ ...gin-Don-t-signal-an-error-when-no-clients.patch | 56 + ...openvpn-Remove-boguous-file-handler-check.patch | 26 + ...-Ignore-not-fully-established-connections.patch | 59 ++ ...e-read-functions-robust-like-in-8516f9abb.patch | 102 ++ .../0021-openvpn-Fix-copy-and-paste-error.patch | 25 + ...n-Change-data-type-from-COUNTER-to-DERIVE.patch | 107 ++ src/patches/crda-3.13-crypto_use_optional.patch | 22 + src/patches/ddns/ddns-005-Add-changeip-com.patch | 85 ++ src/patches/ddns/ddns-005-SPDNS-fix-auth.patch | 23 + ...-Add-support-to-read-ISC-DHCP-lease-file.patch} | 48 +- ...newline-at-the-end-of-example-config-file.patch | 23 + ...artup-when-an-empty-suffix-is-supplied-to.patch | 86 ++ .../0003-Debian-build-fixes-for-kFreeBSD.patch | 36 + ...04-Set-conntrack-mark-before-connect-call.patch | 68 ++ .../dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch | 26 + .../dnsmasq/0006-Fit-example-conf-file-typo.patch | 22 + ...-compliance-when-unable-to-supply-address.patch | 107 ++ .../0008-Fix-conntrack-with-bind-interfaces.patch | 39 + ...9-Use-inotify-instead-of-polling-on-Linux.patch | 257 +++++ ...Teach-the-new-inotify-code-about-symlinks.patch | 73 ++ ...ve-floor-on-EDNS0-packet-size-with-DNSSEC.patch | 46 + .../dnsmasq/0012-CHANGELOG-re.-inotify.patch | 27 + ...ix-breakage-of-domain-domain-subnet-local.patch | 70 ++ ...ve-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch | 27 + ...Pv6-privacy-addresses-from-interface-name.patch | 148 +++ ...-width-in-cache-dump-to-avoid-truncating-.patch | 35 + ...n-DNSSEC-code-when-attempting-to-verify-l.patch | 100 ++ ...g-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch | 99 ++ ...x-problems-validating-NSEC3-and-wildcards.patch | 365 +++++++ .../dnsmasq/0020-Initialise-return-value.patch | 32 + .../dnsmasq/0021-Add-ignore-address-option.patch | 192 ++++ .../dnsmasq/0022-Bad-packet-protection.patch | 25 + ...-build-failure-in-new-inotify-code-on-BSD.patch | 29 + ...t-makefile-dependencies-on-COPTS-variable.patch | 68 ++ ...0025-Fix-race-condition-issue-in-makefile.patch | 30 + ...op-down-search-for-limit-of-secure-delega.patch | 792 ++++++++++++++ ...ries-extra-option-for-more-complete-loggi.patch | 346 ++++++ .../dnsmasq/0028-Add-min-cache-ttl-option.patch | 144 +++ ...ort-of-requestor-when-doing-extra-logging.patch | 31 + ...r-from-cache-RRsets-from-wildcards-as-we-.patch | 45 + .../0031-Logs-for-DS-records-consistent.patch | 25 + ...ultiple-interfaces-with-the-same-LL-addre.patch | 57 + ...n-t-treat-SERVFAIL-as-a-recoverable-error.patch | 25 + .../0034-Add-dhcp-hostsdir-config-option.patch | 419 ++++++++ .../dnsmasq/0035-Update-German-translation.patch | 327 ++++++ ...-to-DHCPv6-SOLICIT-messages-when-not-conf.patch | 53 + ...fy-to-be-disabled-at-compile-time-on-Linu.patch | 213 ++++ ...ify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch | 562 ++++++++++ .../0039-Update-copyrights-for-dawn-of-2015.patch | 428 ++++++++ .../0040-inotify-documentation-updates.patch | 53 + .../0041-Fix-broken-ECDSA-DNSSEC-signatures.patch | 39 + src/patches/dnsmasq/0042-BSD-make-support.patch | 29 + .../0043-Fix-build-failure-on-openBSD.patch | 25 + src/patches/dnsmasq/0044-Manpage-typo-fix.patch | 25 + ...configs-after-reading-extra-hostfiles-wit.patch | 38 + .../0046-Extra-logging-for-inotify-code.patch | 68 ++ src/patches/dnsmasq/0047-man-page-typo.patch | 24 + ...sion-script-which-returned-wrong-tag-in-s.patch | 26 + src/patches/dnsmasq/0049-Typos.patch | 26 + ...ynamic-hosts-files-work-when-no-hosts-set.patch | 45 + ...-trivial-memory-leaks-to-quieten-valgrind.patch | 55 + ...ninitialized-value-used-in-get_client_mac.patch | 27 + ...-Log-parsing-utils-in-contrib-reverse-dns.patch | 110 ++ ...-Add-dnssec-timestamp-option-and-facility.patch | 252 +++++ ...mmit-to-not-crash-if-uid-changing-not-con.patch | 63 ++ src/patches/screen-4.0.3-stropts.patch | 48 - src/patches/screen-4.2.1-altscreen.patch | 16 + src/patches/screen-4.2.1-cpation-hardstatus.patch | 16 + .../strongswan-5.1.2-5.2.1_modp_custom.patch | 164 --- .../strongswan-5.2.2-issue-816-650a3ad.patch | 35 + .../strongswan-5.2.2-issue-816-dd0ebb.patch | 42 + .../strongswan-5.2.2-issue-816-eb25190.patch | 31 + .../strongswan-5.2.2-issue-819-cd2c30a.patch | 50 + src/patches/wget-1.14-texi2pod-1.patch | 32 - src/setup/po/LINGUAS | 2 - src/setup/po/fr.po | 112 +- src/setup/po/ja_JP.po | 584 ----------- src/setup/po/nl.po | 106 +- src/setup/po/pt_BR.po | 82 +- src/setup/po/ru.po | 21 +- src/setup/po/ru_RU.po | 584 ----------- src/setup/po/sq.po | 13 +- src/setup/po/tr.po | 91 +- src/squid-accounting/acct-lib.pl | 7 +- 335 files changed, 11341 insertions(+), 4162 deletions(-) create mode 100644 config/asterisk/asterisk.logrotate delete mode 100644 config/asterisk/asterisk.makeopts delete mode 100644 config/asterisk/wakeup/source/536.call delete mode 100644 config/asterisk/wakeup/source/bsp.call.tpl delete mode 100644 config/asterisk/wakeup/wakeup.sh create mode 100644 config/backup/includes/haproxy create mode 100644 config/backup/includes/monit delete mode 100644 config/backup/includes/teamspeak create mode 100644 config/collectd/collectd.vpn create mode 100644 config/haproxy/haproxy.cfg create mode 100644 config/monit/monitrc mode change 100644 => 100755 config/rootfiles/common/armv5tel/initscripts mode change 100644 => 100755 config/rootfiles/common/i586/initscripts rename config/rootfiles/{packages => common}/sqlite (100%) copy config/rootfiles/{oldcore/85 => core/88}/exclude (100%) copy config/rootfiles/{oldcore/79 => core/88}/filelists/daq (100%) copy config/rootfiles/{oldcore/81 => core/88}/filelists/ddns (100%) copy config/rootfiles/{oldcore/84 => core/88}/filelists/dnsmasq (100%) copy config/rootfiles/{oldcore/52 => core/88}/filelists/ethtool (100%) copy config/rootfiles/{oldcore/29 => core/88}/filelists/fcron (100%) copy config/rootfiles/{oldcore/66 => core/88}/filelists/file (100%) create mode 100644 config/rootfiles/core/88/filelists/files copy config/rootfiles/{oldcore/66 => core/88}/filelists/gnupg (100%) copy config/rootfiles/{oldcore/66 => core/88}/filelists/grep (100%) copy config/rootfiles/{oldcore/66 => core/88}/filelists/hdparm (100%) create mode 120000 config/rootfiles/core/88/filelists/libart rename config/rootfiles/core/{87 => 88}/filelists/libcap (100%) copy config/rootfiles/{oldcore/66 => core/88}/filelists/libffi (100%) copy config/rootfiles/{oldcore/79 => core/88}/filelists/libpcap (100%) copy config/rootfiles/{oldcore/66 => core/88}/filelists/pcre (100%) copy config/rootfiles/{oldcore/66 => core/88}/filelists/screen (100%) copy config/rootfiles/{oldcore/68 => core/88}/filelists/smartmontools (100%) copy config/rootfiles/{oldcore/79 => core/88}/filelists/snort (100%) create mode 120000 config/rootfiles/core/88/filelists/sqlite copy config/rootfiles/{oldcore/84 => core/88}/filelists/squid (100%) copy config/rootfiles/{oldcore/28 => core/88}/filelists/tar (100%) copy config/rootfiles/{oldcore/77 => core/88}/filelists/wget (100%) copy config/rootfiles/{oldcore/66 => core/88}/filelists/zlib (100%) rename config/rootfiles/core/{87 => 88}/meta (100%) rename src/paks/teamspeak/uninstall.sh => config/rootfiles/core/88/update.sh (65%) rename config/rootfiles/{core/87 => oldcore/86}/filelists/hwdata (100%) rename config/rootfiles/{core => oldcore}/87/exclude (100%) rename config/rootfiles/{core => oldcore}/87/filelists/armv5tel/glibc (100%) rename config/rootfiles/{core => oldcore}/87/filelists/armv5tel/initscripts (100%) rename config/rootfiles/{core => oldcore}/87/filelists/armv5tel/linux-kirkwood (100%) rename config/rootfiles/{core => oldcore}/87/filelists/armv5tel/linux-multi (100%) rename config/rootfiles/{core => oldcore}/87/filelists/armv5tel/linux-rpi (100%) rename config/rootfiles/{core => oldcore}/87/filelists/armv5tel/swconfig (100%) rename config/rootfiles/{core => oldcore}/87/filelists/armv5tel/u-boot (100%) rename config/rootfiles/{core => oldcore}/87/filelists/bash (100%) rename config/rootfiles/{core => oldcore}/87/filelists/coreutils (100%) rename config/rootfiles/{core => oldcore}/87/filelists/crda (100%) rename config/rootfiles/{core => oldcore}/87/filelists/dracut (100%) rename config/rootfiles/{core => oldcore}/87/filelists/files (100%) rename config/rootfiles/{core => oldcore}/87/filelists/fireinfo (100%) copy config/rootfiles/oldcore/{44 => 87}/filelists/hwdata (100%) rename config/rootfiles/{core => oldcore}/87/filelists/i586/glibc (100%) rename config/rootfiles/{core => oldcore}/87/filelists/i586/grub (100%) rename config/rootfiles/{core => oldcore}/87/filelists/i586/initscripts (100%) rename config/rootfiles/{core => oldcore}/87/filelists/i586/linux (100%) rename config/rootfiles/{core => oldcore}/87/filelists/i586/linux-initrd (100%) rename config/rootfiles/{core => oldcore}/87/filelists/iw (100%) rename config/rootfiles/{core => oldcore}/87/filelists/kbd (100%) copy config/rootfiles/oldcore/{44 => 87}/filelists/libcap (100%) rename config/rootfiles/{core => oldcore}/87/filelists/libsmooth (100%) rename config/rootfiles/{core => oldcore}/87/filelists/lvm2 (100%) rename config/rootfiles/{core => oldcore}/87/filelists/mdadm (100%) rename config/rootfiles/{core => oldcore}/87/filelists/misc-progs (100%) rename config/rootfiles/{core => oldcore}/87/filelists/multipath-tools (100%) rename config/rootfiles/{core => oldcore}/87/filelists/newt (100%) rename config/rootfiles/{core => oldcore}/87/filelists/ntp (100%) rename config/rootfiles/{core => oldcore}/87/filelists/openssl (100%) rename config/rootfiles/{core => oldcore}/87/filelists/openssl-compat (100%) rename config/rootfiles/{core => oldcore}/87/filelists/openvpn (100%) rename config/rootfiles/{core => oldcore}/87/filelists/parted (100%) rename config/rootfiles/{core => oldcore}/87/filelists/patch (100%) rename config/rootfiles/{core => oldcore}/87/filelists/pigz (100%) rename config/rootfiles/{core => oldcore}/87/filelists/setup (100%) rename config/rootfiles/{core => oldcore}/87/filelists/slang (100%) rename config/rootfiles/{core => oldcore}/87/filelists/strongswan (100%) rename config/rootfiles/{core => oldcore}/87/filelists/tzdata (100%) rename config/rootfiles/{core => oldcore}/87/filelists/updated-firmwares (100%) rename config/rootfiles/{core => oldcore}/87/filelists/wireless-regdb (100%) rename config/rootfiles/{core => oldcore}/87/filelists/wpa_supplicant (100%) rename config/rootfiles/{core => oldcore}/87/filelists/xfsprogs (100%) copy config/rootfiles/oldcore/{85 => 87}/meta (100%) rename config/rootfiles/{core => oldcore}/87/update.sh (100%) mode change 100644 => 100755 config/rootfiles/packages/asterisk create mode 100644 config/rootfiles/packages/haproxy create mode 100644 config/rootfiles/packages/libsrtp create mode 100644 config/rootfiles/packages/monit delete mode 100644 config/rootfiles/packages/teamspeak create mode 100644 config/strongswan/charon.conf create mode 100755 html/cgi-bin/netovpnrw.cgi create mode 100755 html/cgi-bin/netovpnsrv.cgi mode change 100644 => 100755 lfs/asterisk copy lfs/{pakfire3 => haproxy} (78%) mode change 100644 => 100755 lfs/initscripts copy lfs/{pcre => libsrtp} (91%) copy lfs/{tcpdump => monit} (80%) delete mode 100644 lfs/teamspeak create mode 100644 src/initscripts/init.d/haproxy create mode 100644 src/initscripts/init.d/monit delete mode 100644 src/initscripts/init.d/teamspeak delete mode 100644 src/installer/po/ja_JP.po delete mode 100644 src/installer/po/ru_RU.po delete mode 100644 src/paks/teamspeak/install.sh delete mode 100644 src/paks/teamspeak/update.sh create mode 100644 src/patches/asterisk-no-ffmpeg.patch create mode 100644 src/patches/asterisk-ssl-reader-should-block.patch create mode 100644 src/patches/clamav/llvm-glibc.patch create mode 100644 src/patches/collectd/0001-src-utils_mount.h-Add-stdio.h.patch create mode 100644 src/patches/collectd/0002-Don-t-notify-continuously-when-MySQL-slave-SQL-threa.patch create mode 100644 src/patches/collectd/0003-curl_xml.c-avoid-using-uninitalized-variable-in-erro.patch create mode 100644 src/patches/collectd/0004-interface.c-FreeBSD-10-support.patch create mode 100644 src/patches/collectd/0005-Revert-curl_xml.c-avoid-using-uninitalized-variable-.patch create mode 100644 src/patches/collectd/0006-network-set_thread_cbs-so-we-initialize-the-right-th.patch create mode 100644 src/patches/collectd/0007-apache-plugin-Call-curl_global_init-from-the-init-fu.patch create mode 100644 src/patches/collectd/0008-network-comment-libgcrypt-initalization-process.patch create mode 100644 src/patches/collectd/0009-Call-curl_global_init-in-_init-of-plugins-using-curl.patch create mode 100644 src/patches/collectd/0010-indent-wh_init-to-be-consistent-with-the-rest-of-the.patch create mode 100644 src/patches/collectd/0011-Configparser-when-we-alocate-an-empty-list-we-also-n.patch create mode 100644 src/patches/collectd/0012-don-t-assume-pkg-config-is-in-PATH.patch create mode 100644 src/patches/collectd/0013-add-missing-backticks-which-broke-the-build.patch create mode 100644 src/patches/collectd/0014-snmp-free-snmp_pdu-struct-allocated-by-snmp_pdu_crea.patch create mode 100644 src/patches/collectd/0015-curl_xml-plugin-Fixed-tautological-pointer-compariso.patch create mode 100644 src/patches/collectd/0016-Add-support-for-OpenVPN-2.3.0-status-files.patch create mode 100644 src/patches/collectd/0017-openvpn-plugin-Don-t-signal-an-error-when-no-clients.patch create mode 100644 src/patches/collectd/0018-openvpn-Remove-boguous-file-handler-check.patch create mode 100644 src/patches/collectd/0019-openvpn-Ignore-not-fully-established-connections.patch create mode 100644 src/patches/collectd/0020-openvpn-Make-read-functions-robust-like-in-8516f9abb.patch create mode 100644 src/patches/collectd/0021-openvpn-Fix-copy-and-paste-error.patch create mode 100644 src/patches/collectd/0022-openvpn-Change-data-type-from-COUNTER-to-DERIVE.patch create mode 100644 src/patches/crda-3.13-crypto_use_optional.patch create mode 100644 src/patches/ddns/ddns-005-Add-changeip-com.patch create mode 100644 src/patches/ddns/ddns-005-SPDNS-fix-auth.patch rename src/patches/{dnsmasq-2.72rc2-Add-support-to-read-ISC-DHCP-lease-file.patch => dnsmasq-Add-support-to-read-ISC-DHCP-lease-file.patch} (89%) create mode 100644 src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch create mode 100644 src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch create mode 100644 src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch create mode 100644 src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch create mode 100644 src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch create mode 100644 src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch create mode 100644 src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch create mode 100644 src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch create mode 100644 src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch create mode 100644 src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch create mode 100644 src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch create mode 100644 src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch create mode 100644 src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch create mode 100644 src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch create mode 100644 src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch create mode 100644 src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch create mode 100644 src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch create mode 100644 src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch create mode 100644 src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch create mode 100644 src/patches/dnsmasq/0020-Initialise-return-value.patch create mode 100644 src/patches/dnsmasq/0021-Add-ignore-address-option.patch create mode 100644 src/patches/dnsmasq/0022-Bad-packet-protection.patch create mode 100644 src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch create mode 100644 src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch create mode 100644 src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch create mode 100644 src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch create mode 100644 src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch create mode 100644 src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch create mode 100644 src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch create mode 100644 src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch create mode 100644 src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch create mode 100644 src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch create mode 100644 src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch create mode 100644 src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch create mode 100644 src/patches/dnsmasq/0035-Update-German-translation.patch create mode 100644 src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch create mode 100644 src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch create mode 100644 src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch create mode 100644 src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch create mode 100644 src/patches/dnsmasq/0040-inotify-documentation-updates.patch create mode 100644 src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch create mode 100644 src/patches/dnsmasq/0042-BSD-make-support.patch create mode 100644 src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch create mode 100644 src/patches/dnsmasq/0044-Manpage-typo-fix.patch create mode 100644 src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch create mode 100644 src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch create mode 100644 src/patches/dnsmasq/0047-man-page-typo.patch create mode 100644 src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch create mode 100644 src/patches/dnsmasq/0049-Typos.patch create mode 100644 src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch create mode 100644 src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch create mode 100644 src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch create mode 100644 src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch create mode 100644 src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch create mode 100644 src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch delete mode 100644 src/patches/screen-4.0.3-stropts.patch create mode 100644 src/patches/screen-4.2.1-altscreen.patch create mode 100644 src/patches/screen-4.2.1-cpation-hardstatus.patch delete mode 100644 src/patches/strongswan-5.1.2-5.2.1_modp_custom.patch create mode 100644 src/patches/strongswan-5.2.2-issue-816-650a3ad.patch create mode 100644 src/patches/strongswan-5.2.2-issue-816-dd0ebb.patch create mode 100644 src/patches/strongswan-5.2.2-issue-816-eb25190.patch create mode 100644 src/patches/strongswan-5.2.2-issue-819-cd2c30a.patch delete mode 100644 src/patches/wget-1.14-texi2pod-1.patch delete mode 100644 src/setup/po/ja_JP.po delete mode 100644 src/setup/po/ru_RU.po
Difference in files: diff --git a/config/asterisk/asterisk.logrotate b/config/asterisk/asterisk.logrotate new file mode 100644 index 0000000..887d04a --- /dev/null +++ b/config/asterisk/asterisk.logrotate @@ -0,0 +1,9 @@ +/var/log/asterisk/messages /var/log/asterisk/full /var/log/asterisk/security /var/log/asterisk/*_log { + weekly + missingok + rotate 4 + sharedscripts + postrotate + /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null + endscript +} diff --git a/config/asterisk/asterisk.makeopts b/config/asterisk/asterisk.makeopts deleted file mode 100644 index 60a311b..0000000 --- a/config/asterisk/asterisk.makeopts +++ /dev/null @@ -1,96 +0,0 @@ -MENUSELECT_ADDONS=format_mp3 -MENUSELECT_APPS=app_flash app_meetme app_page app_dahdiras app_fax app_jack app_osplookup app_dahdibarge -MENUSELECT_BRIDGES= -MENUSELECT_CDR=cdr_adaptive_odbc cdr_odbc cdr_pgsql cdr_radius cdr_tds cdr_sqlite -MENUSELECT_CEL=cel_odbc cel_pgsql cel_radius cel_tds -MENUSELECT_CHANNELS=chan_dahdi chan_console chan_gtalk chan_jingle chan_misdn chan_nbs chan_vpb chan_h323 -MENUSELECT_CODECS=codec_dahdi codec_resample codec_speex -MENUSELECT_FORMATS= -MENUSELECT_FUNCS=func_odbc func_speex -MENUSELECT_PBX=pbx_lua -MENUSELECT_RES=res_calendar_caldav res_calendar_ews res_calendar_exchange res_calendar_icalendar res_config_odbc res_http_post res_odbc res_srtp res_timing_dahdi res_ais res_config_pgsql res_config_sqlite res_jabber res_timing_kqueue -MENUSELECT_TESTS=test_acl test_amihooks test_aoc test_app test_ast_format_str_reduce test_astobj2 test_config test_db test_devicestate test_dlinklists test_event test_expr test_func_file test_gosub test_heap test_linkedlists test_locale test_logger test_netsock2 test_pbx test_poll test_sched test_security_events test_skel test_stringfields test_strings test_substitution test_time test_utils -MENUSELECT_CFLAGS=LOADABLE_MODULES -MENUSELECT_OPTS_app_voicemail=FILE_STORAGE -MENUSELECT_UTILS=astcanary aelparse astman check_expr check_expr2 conf2ael hashtest hashtest2 muted refcounter smsq stereorize streamplayer -MENUSELECT_AGIS= -MENUSELECT_EMBED= -MENUSELECT_CORE_SOUNDS=CORE-SOUNDS-EN-GSM -MENUSELECT_MOH=MOH-OPSOUND-GSM -MENUSELECT_EXTRA_SOUNDS=EXTRA-SOUNDS-EN-GSM -MENUSELECT_BUILD_DEPS=chan_local app_voicemail res_monitor res_agi res_adsi res_smdi res_crypto res_pktccops res_ael_share res_fax G711_NEW_ALGORITHM -MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_flash -MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_meetme -MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_page -MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_dahdiras -MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_jack -MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_osplookup -MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_dahdibarge -MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_adaptive_odbc -MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_odbc -MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_pgsql -MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_radius -MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_tds -MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_sqlite -MENUSELECT_DEPSFAILED=MENUSELECT_CEL=cel_odbc -MENUSELECT_DEPSFAILED=MENUSELECT_CEL=cel_pgsql -MENUSELECT_DEPSFAILED=MENUSELECT_CEL=cel_radius -MENUSELECT_DEPSFAILED=MENUSELECT_CEL=cel_tds -MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_dahdi -MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_console -MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_gtalk -MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_jingle -MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_misdn -MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_nbs -MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_vpb -MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_h323 -MENUSELECT_DEPSFAILED=MENUSELECT_CODECS=codec_dahdi -MENUSELECT_DEPSFAILED=MENUSELECT_CODECS=codec_resample -MENUSELECT_DEPSFAILED=MENUSELECT_CODECS=codec_speex -MENUSELECT_DEPSFAILED=MENUSELECT_FUNCS=func_odbc -MENUSELECT_DEPSFAILED=MENUSELECT_FUNCS=func_speex -MENUSELECT_DEPSFAILED=MENUSELECT_PBX=pbx_lua -MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_calendar_caldav -MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_calendar_ews -MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_calendar_exchange -MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_calendar_icalendar -MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_config_odbc -MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_http_post -MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_odbc -MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_srtp -MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_timing_dahdi -MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_ais -MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_config_pgsql -MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_config_sqlite -MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_jabber -MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_timing_kqueue -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_acl -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_amihooks -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_aoc -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_app -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_ast_format_str_reduce -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_astobj2 -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_config -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_db -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_devicestate -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_dlinklists -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_event -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_expr -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_func_file -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_gosub -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_heap -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_linkedlists -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_locale -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_logger -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_netsock2 -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_pbx -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_poll -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_sched -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_security_events -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_skel -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_stringfields -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_strings -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_substitution -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_time -MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_utils -MENUSELECT_DEPSFAILED=MENUSELECT_CFLAGS=BUILD_NATIVE diff --git a/config/asterisk/wakeup/source/536.call b/config/asterisk/wakeup/source/536.call deleted file mode 100644 index 6b2862c..0000000 --- a/config/asterisk/wakeup/source/536.call +++ /dev/null @@ -1,8 +0,0 @@ -ktiv;Mon;Tue;Wed;Thu;Fri;;;05:00 -Channel: SIP/536 -MaxRetries: 3 -RetryTime: 45 -WaitTime: 30 -Context: service -Extension: 609 -Callerid: WakeUP <536> diff --git a/config/asterisk/wakeup/source/bsp.call.tpl b/config/asterisk/wakeup/source/bsp.call.tpl deleted file mode 100644 index c5b2ab1..0000000 --- a/config/asterisk/wakeup/source/bsp.call.tpl +++ /dev/null @@ -1,8 +0,0 @@ -Aktiv;Mon;Tue;Wed;Thu;Fri;Sat;Sun;05:00 -Channel: SIP/536 -MaxRetries: 3 -RetryTime: 45 -WaitTime: 30 -Context: service -Extension: 609 -Callerid: WakeUP <536> diff --git a/config/asterisk/wakeup/wakeup.sh b/config/asterisk/wakeup/wakeup.sh deleted file mode 100644 index 25d7362..0000000 --- a/config/asterisk/wakeup/wakeup.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -CALL_P=/var/spool/asterisk/outgoing/ -SOURCE=/var/ipfire/asterisk/wakeup/source/ -TMP=/var/ipfire/asterisk/wakeup/tmp/ -EXT=".call" -DAY=$(/bin/date '+%a') -NOW=$(/bin/date '+%H:%M') - -for f in $(/bin/find ${SOURCE} -type f -name "*${EXT}") -do - if $(/bin/head -1 $f | /bin/egrep -i -q "aktiv") - then - if [ "${1}#" = "debug#" ]; then echo "File Aktiv"; fi - BASEN=$(/usr/bin/basename $f) - if $(/bin/head -1 $f | /bin/egrep -i -q "${DAY}") - then - if [ "${1}#" = "debug#" ]; then echo "Tag vorhanden in ${BASEN}"; fi - NOW2=$(cat $f | head -1 | sed 's/.*;//g' | sed 's/\r//g') - if test "${NOW}#" = "${NOW2}#" - then - if [ "${1}#" = "debug#" ]; then echo "Weckruf wird gestartet"; fi - LAENG=$(wc -l $f) - if [ "${1}#" = "debug#" ]; then echo "/usr/bin/tail -n$(( ${LAENG%% *}-1 )) $f >${TMP}${BASEN}"; else /usr/bin/tail -n$(( ${LAENG%% *}-1 )) $f >${TMP}${BASEN}; fi - if [ "${1}#" = "debug#" ]; then echo /bin/mv ${TMP}${BASEN} ${CALL_P}; else /bin/mv ${TMP}${BASEN} ${CALL_P}; fi - else if [ "${1}#" = "debug#" ]; then echo "Tag ok aber Zeit noch nicht #${NOW}!=${NOW2}#"; fi - fi - else if [ "${1}#" = "debug#" ]; then echo "Tag nicht vorhanden in ${f}"; fi - fi - else if [ "${1}#" = "debug#" ]; then echo "File ${f} nicht aktiv"; fi - fi -done - -# /usr/bin/logger -t ipfire Asterisk Wakeup Run - -# wenn als erster Parameter debug mit gegeben wird, wird alles nur via echo behandelt -# Infos unter: http://www.das-asterisk-buch.de/unstable/call-file.html -# oder: http://www.voip-info.org/wiki-Asterisk+auto-dial+out - -##EOF## diff --git a/config/backup/backup.pl b/config/backup/backup.pl index f4823fc..d430f34 100644 --- a/config/backup/backup.pl +++ b/config/backup/backup.pl @@ -160,12 +160,10 @@ sub createinclude(){ close(DATEI);
foreach (@Zeilen){ - if ( $_ =~ /*/){ - my @files = `ls $_`; + chomp($_); + my @files = `find $_ -maxdepth 0 2>/dev/null`; foreach (@files){ push(@include,$_); - } - } - else {push(@include,$_);} + } } } diff --git a/config/backup/includes/haproxy b/config/backup/includes/haproxy new file mode 100644 index 0000000..4516e18 --- /dev/null +++ b/config/backup/includes/haproxy @@ -0,0 +1 @@ +/etc/haproxy/haproxy.cfg diff --git a/config/backup/includes/monit b/config/backup/includes/monit new file mode 100644 index 0000000..c25b941 --- /dev/null +++ b/config/backup/includes/monit @@ -0,0 +1,2 @@ +/etc/monitrc +/etc/monit.d diff --git a/config/backup/includes/teamspeak b/config/backup/includes/teamspeak deleted file mode 100644 index 13705d3..0000000 --- a/config/backup/includes/teamspeak +++ /dev/null @@ -1,7 +0,0 @@ -/opt/teamspeak/bad_names.txt -/opt/teamspeak/server.dbs -/opt/teamspeak/server.ini -/opt/teamspeak/server.log -/opt/teamspeak/whitelist.txt - - diff --git a/config/cfgroot/graphs.pl b/config/cfgroot/graphs.pl index 487a4dd..5e6fddb 100644 --- a/config/cfgroot/graphs.pl +++ b/config/cfgroot/graphs.pl @@ -587,6 +587,118 @@ sub updateifgraph { print "Error in RRD::graph for ".$interface.": ".$ERROR."\n" if $ERROR; }
+sub updatevpngraph { + my $interface = $_[0]; + my $period = $_[1]; + RRDs::graph( + "-", + "--start", + "-1".$period, + "-aPNG", + "-i", + "-z", + "-W www.ipfire.org", + "--alt-y-grid", + "-w 600", + "-h 125", + "-r", + "-t ".$Lang::tr{'traffic on'}." ".$interface." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"}, + "-v ".$Lang::tr{'bytes per second'}, + "--color=SHADEA".$color{"color19"}, + "--color=SHADEB".$color{"color19"}, + "--color=BACK".$color{"color21"}, + "DEF:incoming=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive.rrd:rx:AVERAGE", + "DEF:outgoing=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive.rrd:tx:AVERAGE", + "CDEF:outgoingn=outgoing,-1,*", + "COMMENT:".sprintf("%-20s",$Lang::tr{'caption'}), + "COMMENT:".sprintf("%15s",$Lang::tr{'maximal'}), + "COMMENT:".sprintf("%15s",$Lang::tr{'average'}), + "COMMENT:".sprintf("%15s",$Lang::tr{'minimal'}), + "COMMENT:".sprintf("%15s",$Lang::tr{'current'})."\j", + "AREA:incoming#00dd00:".sprintf("%-20s",$Lang::tr{'incoming traffic in bytes per second'}), + "GPRINT:incoming:MAX:%8.1lf %sBps", + "GPRINT:incoming:AVERAGE:%8.1lf %sBps", + "GPRINT:incoming:MIN:%8.1lf %sBps", + "GPRINT:incoming:LAST:%8.1lf %sBps\j", + "AREA:outgoingn#dd0000:".sprintf("%-20s",$Lang::tr{'outgoing traffic in bytes per second'}), + "GPRINT:outgoing:MAX:%8.1lf %sBps", + "GPRINT:outgoing:AVERAGE:%8.1lf %sBps", + "GPRINT:outgoing:MIN:%8.1lf %sBps", + "GPRINT:outgoing:LAST:%8.1lf %sBps\j", + ); + $ERROR = RRDs::error; + print "Error in RRD::graph for ".$interface.": ".$ERROR."\n" if $ERROR; +} + +sub updatevpnn2ngraph { + my $interface = $_[0]; + my $period = $_[1]; + RRDs::graph( + "-", + "--start", + "-1".$period, + "-aPNG", + "-i", + "-z", + "-W www.ipfire.org", + "--alt-y-grid", + "-w 600", + "-h 125", + "-r", + "-t ".$Lang::tr{'traffic on'}." ".$interface." ".$Lang::tr{'graph per'}." ".$Lang::tr{$period."-graph"}, + "-v ".$Lang::tr{'bytes per second'}, + "--color=SHADEA".$color{"color19"}, + "--color=SHADEB".$color{"color19"}, + "--color=BACK".$color{"color21"}, + "DEF:incoming=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive-traffic.rrd:rx:AVERAGE", + "DEF:outgoing=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive-traffic.rrd:tx:AVERAGE", + "DEF:overhead_in=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive-overhead.rrd:rx:AVERAGE", + "DEF:overhead_out=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/if_octets_derive-overhead.rrd:tx:AVERAGE", + "DEF:compression_in=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/compression_derive-data_in.rrd:uncompressed:AVERAGE", + "DEF:compression_out=".$mainsettings{'RRDLOG'}."/collectd/localhost/openvpn-$interface/compression_derive-data_out.rrd:uncompressed:AVERAGE", + "CDEF:outgoingn=outgoing,-1,*", + "CDEF:overhead_outn=overhead_out,-1,*", + "CDEF:compression_outn=compression_out,-1,*", + "COMMENT:".sprintf("%-20s",$Lang::tr{'caption'}), + "COMMENT:".sprintf("%15s",$Lang::tr{'maximal'}), + "COMMENT:".sprintf("%15s",$Lang::tr{'average'}), + "COMMENT:".sprintf("%15s",$Lang::tr{'minimal'}), + "COMMENT:".sprintf("%15s",$Lang::tr{'current'})."\j", + "AREA:incoming#00dd00:".sprintf("%-20s",$Lang::tr{'incoming traffic in bytes per second'}), + "GPRINT:incoming:MAX:%8.1lf %sBps", + "GPRINT:incoming:AVERAGE:%8.1lf %sBps", + "GPRINT:incoming:MIN:%8.1lf %sBps", + "GPRINT:incoming:LAST:%8.1lf %sBps\j", + "STACK:overhead_in#116B11:".sprintf("%-20s",$Lang::tr{'incoming overhead in bytes per second'}), + "GPRINT:overhead_in:MAX:%8.1lf %sBps", + "GPRINT:overhead_in:AVERAGE:%8.1lf %sBps", + "GPRINT:overhead_in:MIN:%8.1lf %sBps", + "GPRINT:overhead_in:LAST:%8.1lf %sBps\j", + "LINE1:compression_in#ff00ff:".sprintf("%-20s",$Lang::tr{'incoming compression in bytes per second'}), + "GPRINT:compression_in:MAX:%8.1lf %sBps", + "GPRINT:compression_in:AVERAGE:%8.1lf %sBps", + "GPRINT:compression_in:MIN:%8.1lf %sBps", + "GPRINT:compression_in:LAST:%8.1lf %sBps\j", + "AREA:outgoingn#dd0000:".sprintf("%-20s",$Lang::tr{'outgoing traffic in bytes per second'}), + "GPRINT:outgoing:MAX:%8.1lf %sBps", + "GPRINT:outgoing:AVERAGE:%8.1lf %sBps", + "GPRINT:outgoing:MIN:%8.1lf %sBps", + "GPRINT:outgoing:LAST:%8.1lf %sBps\j", + "STACK:overhead_outn#870C0C:".sprintf("%-20s",$Lang::tr{'outgoing overhead in bytes per second'}), + "GPRINT:overhead_out:MAX:%8.1lf %sBps", + "GPRINT:overhead_out:AVERAGE:%8.1lf %sBps", + "GPRINT:overhead_out:MIN:%8.1lf %sBps", + "GPRINT:overhead_out:LAST:%8.1lf %sBps\j", + "LINE1:compression_outn#000000:".sprintf("%-20s",$Lang::tr{'outgoing compression in bytes per second'}), + "GPRINT:compression_out:MAX:%8.1lf %sBps", + "GPRINT:compression_out:AVERAGE:%8.1lf %sBps", + "GPRINT:compression_out:MIN:%8.1lf %sBps", + "GPRINT:compression_out:LAST:%8.1lf %sBps\j", + ); + $ERROR = RRDs::error; + print "Error in RRD::graph for ".$interface.": ".$ERROR."\n" if $ERROR; +} + # Generate the Firewall Graph for the current period of time for values given by collecd
sub updatefwhitsgraph { diff --git a/config/collectd/collectd.conf b/config/collectd/collectd.conf index 61327bf..384c943 100644 --- a/config/collectd/collectd.conf +++ b/config/collectd/collectd.conf @@ -92,3 +92,4 @@ include "/etc/collectd.precache"
#include "/etc/collectd.thermal" include "/etc/collectd.custom" +include "/etc/collectd.vpn" diff --git a/config/collectd/collectd.vpn b/config/collectd/collectd.vpn new file mode 100644 index 0000000..ca92947 --- /dev/null +++ b/config/collectd/collectd.vpn @@ -0,0 +1,5 @@ +LoadPlugin openvpn + +<Plugin openvpn> +StatusFile "/var/run/ovpnserver.log" +</Plugin> diff --git a/config/haproxy/haproxy.cfg b/config/haproxy/haproxy.cfg new file mode 100644 index 0000000..324ad5e --- /dev/null +++ b/config/haproxy/haproxy.cfg @@ -0,0 +1,86 @@ +#--------------------------------------------------------------------- +# Example configuration for a possible web application. See the +# full configuration options online. +# +# http://haproxy.1wt.eu/download/1.4/doc/configuration.txt +# +#--------------------------------------------------------------------- + +#--------------------------------------------------------------------- +# Global settings +#--------------------------------------------------------------------- +global + # to have these messages end up in /var/log/haproxy.log you will + # need to: + # + # 1) configure syslog to accept network log events. This is done + # by adding the '-r' option to the SYSLOGD_OPTIONS in + # /etc/sysconfig/syslog + # + # 2) configure local2 events to go to the /var/log/haproxy.log + # file. A line like the following can be added to + # /etc/sysconfig/syslog + # + # local2.* /var/log/haproxy.log + # + log 127.0.0.1 local2 + + chroot /var/lib/haproxy + pidfile /var/run/haproxy.pid + maxconn 4000 + user haproxy + group haproxy + daemon + + # turn on stats unix socket + stats socket /var/lib/haproxy/stats + +#--------------------------------------------------------------------- +# common defaults that all the 'listen' and 'backend' sections will +# use if not designated in their block +#--------------------------------------------------------------------- +defaults + mode http + log global + option httplog + option dontlognull + option http-server-close + option forwardfor except 127.0.0.0/8 + option redispatch + retries 3 + timeout http-request 10s + timeout queue 1m + timeout connect 10s + timeout client 1m + timeout server 1m + timeout http-keep-alive 10s + timeout check 10s + maxconn 3000 + +#--------------------------------------------------------------------- +# main frontend which proxys to the backends +#--------------------------------------------------------------------- +frontend main *:5000 + acl url_static path_beg -i /static /images /javascript /stylesheets + acl url_static path_end -i .jpg .gif .png .css .js + + use_backend static if url_static + default_backend app + +#--------------------------------------------------------------------- +# static backend for serving up images, stylesheets and such +#--------------------------------------------------------------------- +backend static + balance roundrobin + server static 127.0.0.1:4331 check + +#--------------------------------------------------------------------- +# round robin balancing between the various backends +#--------------------------------------------------------------------- +backend app + balance roundrobin + server app1 127.0.0.1:5001 check + server app2 127.0.0.1:5002 check + server app3 127.0.0.1:5003 check + server app4 127.0.0.1:5004 check + diff --git a/config/menu/20-status.menu b/config/menu/20-status.menu index b159ed6..802885e 100644 --- a/config/menu/20-status.menu +++ b/config/menu/20-status.menu @@ -40,6 +40,18 @@ 'title' => "$Lang::tr{'network other'}", 'enabled' => 1, }; + $substatus->{'53.networkovpn'} = { + 'caption' => "$Lang::tr{'openvpn client'}", + 'uri' => '/cgi-bin/netovpnrw.cgi', + 'title' => "$Lang::tr{'openvpn client'}", + 'enabled' => 1, + }; + $substatus->{'54.networkovpnsrv'} = { + 'caption' => "$Lang::tr{'openvpn server'}", + 'uri' => '/cgi-bin/netovpnsrv.cgi', + 'title' => "$Lang::tr{'openvpn server'}", + 'enabled' => 1, + }; $substatus->{'60.hardwaregraphs'} = { 'caption' => "$Lang::tr{'hardware graphs'}", 'uri' => '/cgi-bin/hardwaregraphs.cgi', diff --git a/config/monit/monitrc b/config/monit/monitrc new file mode 100644 index 0000000..9fee14a --- /dev/null +++ b/config/monit/monitrc @@ -0,0 +1,252 @@ +############################################################################### +## Monit control file +############################################################################### +## +## Comments begin with a '#' and extend through the end of the line. Keywords +## are case insensitive. All path's MUST BE FULLY QUALIFIED, starting with '/'. +## +## Below you will find examples of some frequently used statements. For +## information about the control file and a complete list of statements and +## options, please have a look in the Monit manual. +## +## +############################################################################### +## Global section +############################################################################### +## +## Start Monit in the background (run as a daemon): +# +set daemon 60 # check services at 1-minute intervals +# with start delay 240 # optional: delay the first check by 4-minutes (by +# # default Monit check immediately after Monit start) +# +# +## Set syslog logging with the 'daemon' facility. If the FACILITY option is +## omitted, Monit will use 'user' facility by default. If you want to log to +## a standalone log file instead, specify the full path to the log file +# +set logfile syslog facility log_daemon +# +# +## Set the location of the Monit lock file which stores the process id of the +## running Monit instance. By default this file is stored in $HOME/.monit.pid +# +set pidfile /var/run/monit.pid +# +## Set the location of the Monit id file which stores the unique id for the +## Monit instance. The id is generated and stored on first Monit start. By +## default the file is placed in $HOME/.monit.id. +# +set idfile /var/lib/monit/id +# +## Set the location of the Monit state file which saves monitoring states +## on each cycle. By default the file is placed in $HOME/.monit.state. If +## the state file is stored on a persistent filesystem, Monit will recover +## the monitoring state across reboots. If it is on temporary filesystem, the +## state will be lost on reboot which may be convenient in some situations. +# +set statefile /var/lib/monit/state +# +## Set the list of mail servers for alert delivery. Multiple servers may be +## specified using a comma separator. If the first mail server fails, Monit +# will use the second mail server in the list and so on. By default Monit uses +# port 25 - it is possible to override this with the PORT option. +# +# set mailserver mail.bar.baz, # primary mailserver +# backup.bar.baz port 10025, # backup mailserver on port 10025 +# localhost # fallback relay +# +# +## By default Monit will drop alert events if no mail servers are available. +## If you want to keep the alerts for later delivery retry, you can use the +## EVENTQUEUE statement. The base directory where undelivered alerts will be +## stored is specified by the BASEDIR option. You can limit the queue size +## by using the SLOTS option (if omitted, the queue is limited by space +## available in the back end filesystem). +# +set eventqueue + basedir /var/lib/monit # set the base directory where events will be stored + slots 100 # optionally limit the queue size +# +# +## Send status and events to M/Monit (for more informations about M/Monit +## see http://mmonit.com/). By default Monit registers credentials with +## M/Monit so M/Monit can smoothly communicate back to Monit and you don't +## have to register Monit credentials manually in M/Monit. It is possible to +## disable credential registration using the commented out option below. +## Though, if safety is a concern we recommend instead using https when +## communicating with M/Monit and send credentials encrypted. +# +# set mmonit http://monit:monit@192.168.1.10:8080/collector +# # and register without credentials # Don't register credentials +# +# +## Monit by default uses the following format for alerts if the the mail-format +## statement is missing:: +## --8<-- +## set mail-format { +## from: monit@$HOST +## subject: monit alert -- $EVENT $SERVICE +## message: $EVENT Service $SERVICE +## Date: $DATE +## Action: $ACTION +## Host: $HOST +## Description: $DESCRIPTION +## +## Your faithful employee, +## Monit +## } +## --8<-- +## +## You can override this message format or parts of it, such as subject +## or sender using the MAIL-FORMAT statement. Macros such as $DATE, etc. +## are expanded at runtime. For example, to override the sender, use: +# +# set mail-format { from: monit@foo.bar }a +# +# +## You can set alert recipients whom will receive alerts if/when a +## service defined in this file has errors. Alerts may be restricted on +## events by using a filter as in the second example below. +# +# set alert sysadm@foo.bar # receive all alerts +## Do not alert when Monit start, stop or perform a user initiated action. +## This filter is recommended to avoid getting alerts for trivial cases +# set alert your-name@your.domain not on { instance, action } +# +# +## Monit has an embedded web server which can be used to view status of +## services monitored and manage services from a web interface. See the +## Monit Wiki if you want to enable SSL for the web server. +# +set httpd port 2812 and + use address localhost # only accept connection from localhost + allow localhost # allow localhost to connect to the server and +# allow admin:monit # require user 'admin' with password 'monit' +# allow @monit # allow users of group 'monit' to connect (rw) +# allow @users readonly # allow users of group 'users' to connect readonly + +############################################################################### +## Services +############################################################################### +## +## Check general system resources such as load average, cpu and memory +## usage. Each test specifies a resource, conditions and the action to be +## performed should a test fail. +# +# check system myhost.mydomain.tld +# if loadavg (1min) > 4 then alert +# if loadavg (5min) > 2 then alert +# if memory usage > 75% then alert +# if swap usage > 25% then alert +# if cpu usage (user) > 70% then alert +# if cpu usage (system) > 30% then alert +# if cpu usage (wait) > 20% then alert +# +# +## Check if a file exists, checksum, permissions, uid and gid. In addition +## to alert recipients in the global section, customized alert can be sent to +## additional recipients by specifying a local alert handler. The service may +## be grouped using the GROUP option. More than one group can be specified by +## repeating the 'group name' statement. +# +# check file apache_bin with path /usr/local/apache/bin/httpd +# if failed checksum and +# expect the sum 8f7f419955cefa0b33a2ba316cba3659 then unmonitor +# if failed permission 755 then unmonitor +# if failed uid root then unmonitor +# if failed gid root then unmonitor +# alert security@foo.bar on { +# checksum, permission, uid, gid, unmonitor +# } with the mail-format { subject: Alarm! } +# group server +# +# +## Check that a process is running, in this case Apache, and that it respond +## to HTTP and HTTPS requests. Check its resource usage such as cpu and memory, +## and number of children. If the process is not running, Monit will restart +## it by default. In case the service is restarted very often and the +## problem remains, it is possible to disable monitoring using the TIMEOUT +## statement. This service depends on another service (apache_bin) which +## is defined above. +# +# check process apache with pidfile /usr/local/apache/logs/httpd.pid +# start program = "/etc/init.d/httpd start" with timeout 60 seconds +# stop program = "/etc/init.d/httpd stop" +# if cpu > 60% for 2 cycles then alert +# if cpu > 80% for 5 cycles then restart +# if totalmem > 200.0 MB for 5 cycles then restart +# if children > 250 then restart +# if loadavg(5min) greater than 10 for 8 cycles then stop +# if failed host www.tildeslash.com port 80 protocol http +# and request "/somefile.html" +# then restart +# if failed port 443 type tcpssl protocol http +# with timeout 15 seconds +# then restart +# if 3 restarts within 5 cycles then timeout +# depends on apache_bin +# group server +# +# +## Check filesystem permissions, uid, gid, space and inode usage. Other services, +## such as databases, may depend on this resource and an automatically graceful +## stop may be cascaded to them before the filesystem will become full and data +## lost. +# +# check filesystem datafs with path /dev/sdb1 +# start program = "/bin/mount /data" +# stop program = "/bin/umount /data" +# if failed permission 660 then unmonitor +# if failed uid root then unmonitor +# if failed gid disk then unmonitor +# if space usage > 80% for 5 times within 15 cycles then alert +# if space usage > 99% then stop +# if inode usage > 30000 then alert +# if inode usage > 99% then stop +# group server +# +# +## Check a file's timestamp. In this example, we test if a file is older +## than 15 minutes and assume something is wrong if its not updated. Also, +## if the file size exceed a given limit, execute a script +# +# check file database with path /data/mydatabase.db +# if failed permission 700 then alert +# if failed uid data then alert +# if failed gid data then alert +# if timestamp > 15 minutes then alert +# if size > 100 MB then exec "/my/cleanup/script" as uid dba and gid dba +# +# +## Check directory permission, uid and gid. An event is triggered if the +## directory does not belong to the user with uid 0 and gid 0. In addition, +## the permissions have to match the octal description of 755 (see chmod(1)). +# +# check directory bin with path /bin +# if failed permission 755 then unmonitor +# if failed uid 0 then unmonitor +# if failed gid 0 then unmonitor +# +# +## Check a remote host availability by issuing a ping test and check the +## content of a response from a web server. Up to three pings are sent and +## connection to a port and an application level network check is performed. +# +# check host myserver with address 192.168.1.1 +# if failed icmp type echo count 3 with timeout 3 seconds then alert +# if failed port 3306 protocol mysql with timeout 15 seconds then alert +# if failed port 80 protocol http +# and request /monit/ with content = "Monit [0-9.]+ Download" +# then alert +# +# +############################################################################### +## Includes +############################################################################### +## +## It is possible to include additional configuration parts from other files or +## directories. +# +include /etc/monit.d/* +# diff --git a/config/rootfiles/common/apache2 b/config/rootfiles/common/apache2 index 474e7a7..3eabe9f 100644 --- a/config/rootfiles/common/apache2 +++ b/config/rootfiles/common/apache2 @@ -1419,6 +1419,8 @@ srv/web/ipfire/cgi-bin/modem-status.cgi srv/web/ipfire/cgi-bin/netexternal.cgi srv/web/ipfire/cgi-bin/netinternal.cgi srv/web/ipfire/cgi-bin/netother.cgi +srv/web/ipfire/cgi-bin/netovpnrw.cgi +srv/web/ipfire/cgi-bin/netovpnsrv.cgi srv/web/ipfire/cgi-bin/optionsfw.cgi srv/web/ipfire/cgi-bin/ovpnmain.cgi srv/web/ipfire/cgi-bin/p2p-block.cgi diff --git a/config/rootfiles/common/armv5tel/initscripts b/config/rootfiles/common/armv5tel/initscripts old mode 100644 new mode 100755 index 60ef0ef..53bc64f --- a/config/rootfiles/common/armv5tel/initscripts +++ b/config/rootfiles/common/armv5tel/initscripts @@ -52,6 +52,7 @@ etc/rc.d/init.d/mISDN #etc/rc.d/init.d/mldonkey etc/rc.d/init.d/modules #etc/rc.d/init.d/motion +#etc/rc.d/init.d/monit etc/rc.d/init.d/mountfs etc/rc.d/init.d/mountkernfs etc/rc.d/init.d/mounttmpfs @@ -120,7 +121,6 @@ etc/rc.d/init.d/swap etc/rc.d/init.d/swconfig etc/rc.d/init.d/sysctl etc/rc.d/init.d/sysklogd -etc/rc.d/init.d/teamspeak etc/rc.d/init.d/template #etc/rc.d/init.d/tftpd etc/rc.d/init.d/tmpfs diff --git a/config/rootfiles/common/collectd b/config/rootfiles/common/collectd index 2b9fa28..72b2dee 100644 --- a/config/rootfiles/common/collectd +++ b/config/rootfiles/common/collectd @@ -2,6 +2,7 @@ etc/collectd.conf etc/collectd.custom etc/collectd.precache etc/collectd.thermal +etc/collectd.vpn etc/rc.d/init.d/collectd etc/rc.d/rc0.d/K50collectd etc/rc.d/rc3.d/S29collectd @@ -212,15 +213,18 @@ usr/lib/collectd/write_http.so usr/lib/libcollectdclient.so usr/lib/libcollectdclient.so.0 usr/lib/libcollectdclient.so.0.0.0 -#usr/lib/perl5/site_perl/5.12.3/Collectd -#usr/lib/perl5/site_perl/5.12.3/Collectd.pm -#usr/lib/perl5/site_perl/5.12.3/Collectd/Plugins -#usr/lib/perl5/site_perl/5.12.3/Collectd/Plugins/Monitorus.pm -#usr/lib/perl5/site_perl/5.12.3/Collectd/Plugins/OpenVZ.pm -#usr/lib/perl5/site_perl/5.12.3/Collectd/Unixsock.pm -#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Collectd -#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Collectd/.packlist +#usr/lib/perl5/Collectd +#usr/lib/perl5/Collectd.pm +#usr/lib/perl5/Collectd/Plugins +#usr/lib/perl5/Collectd/Plugins/OpenVZ.pm +#usr/lib/perl5/Collectd/Unixsock.pm +#usr/lib/perl5/i586-linux-thread-multi +#usr/lib/perl5/i586-linux-thread-multi/auto +#usr/lib/perl5/i586-linux-thread-multi/auto/Collectd +#usr/lib/perl5/i586-linux-thread-multi/auto/Collectd/.packlist +#usr/lib/perl5/i586-linux-thread-multi/perllocal.pod #usr/lib/pkgconfig/libcollectdclient.pc +#usr/man/man3/Collectd::Unixsock.3 usr/sbin/collectd usr/sbin/collectdmon #usr/share/collectd @@ -229,7 +233,6 @@ usr/share/collectd/types.db #usr/share/man/man1/collectd-nagios.1 #usr/share/man/man1/collectd.1 #usr/share/man/man1/collectdmon.1 -#usr/share/man/man3/Collectd::Unixsock.3 #usr/share/man/man5/collectd-email.5 #usr/share/man/man5/collectd-exec.5 #usr/share/man/man5/collectd-java.5 diff --git a/config/rootfiles/common/daq b/config/rootfiles/common/daq index b8a9fd4..6c156e3 100644 --- a/config/rootfiles/common/daq +++ b/config/rootfiles/common/daq @@ -21,7 +21,7 @@ usr/lib/daq #usr/lib/libdaq.la #usr/lib/libdaq.so usr/lib/libdaq.so.2 -usr/lib/libdaq.so.2.0.2 +usr/lib/libdaq.so.2.0.4 #usr/lib/libdaq_static.a #usr/lib/libdaq_static.la #usr/lib/libdaq_static_modules.a diff --git a/config/rootfiles/common/ddns b/config/rootfiles/common/ddns index f93965c..446656e 100644 --- a/config/rootfiles/common/ddns +++ b/config/rootfiles/common/ddns @@ -6,6 +6,9 @@ usr/lib/python2.7/site-packages/ddns/__init__.pyo usr/lib/python2.7/site-packages/ddns/__version__.py usr/lib/python2.7/site-packages/ddns/__version__.pyc usr/lib/python2.7/site-packages/ddns/__version__.pyo +usr/lib/python2.7/site-packages/ddns/database.py +usr/lib/python2.7/site-packages/ddns/database.pyc +usr/lib/python2.7/site-packages/ddns/database.pyo usr/lib/python2.7/site-packages/ddns/errors.py usr/lib/python2.7/site-packages/ddns/errors.pyc usr/lib/python2.7/site-packages/ddns/errors.pyo diff --git a/config/rootfiles/common/fcron b/config/rootfiles/common/fcron index 89f68a7..d37541b 100644 --- a/config/rootfiles/common/fcron +++ b/config/rootfiles/common/fcron @@ -15,67 +15,67 @@ etc/fcron.weekly/info.txt usr/bin/fcronsighup usr/bin/fcrontab usr/sbin/fcron -#usr/share/doc/fcron-3.0.4 -#usr/share/doc/fcron-3.0.4/en -#usr/share/doc/fcron-3.0.4/en/HTML -#usr/share/doc/fcron-3.0.4/en/HTML/LEGALNOTICE.html -#usr/share/doc/fcron-3.0.4/en/HTML/changes.html -#usr/share/doc/fcron-3.0.4/en/HTML/faq.html -#usr/share/doc/fcron-3.0.4/en/HTML/fcron.8.html -#usr/share/doc/fcron-3.0.4/en/HTML/fcron.conf.5.html -#usr/share/doc/fcron-3.0.4/en/HTML/fcrondyn.1.html -#usr/share/doc/fcron-3.0.4/en/HTML/fcrontab.1.html -#usr/share/doc/fcron-3.0.4/en/HTML/fcrontab.5.html -#usr/share/doc/fcron-3.0.4/en/HTML/fdl.html -#usr/share/doc/fcron-3.0.4/en/HTML/gpl.html -#usr/share/doc/fcron-3.0.4/en/HTML/how-and-why.html -#usr/share/doc/fcron-3.0.4/en/HTML/index.html -#usr/share/doc/fcron-3.0.4/en/HTML/install.html -#usr/share/doc/fcron-3.0.4/en/HTML/manpages.html -#usr/share/doc/fcron-3.0.4/en/HTML/readme.html -#usr/share/doc/fcron-3.0.4/en/HTML/relnotes.html -#usr/share/doc/fcron-3.0.4/en/HTML/thanks.html -#usr/share/doc/fcron-3.0.4/en/HTML/todo.html -#usr/share/doc/fcron-3.0.4/en/HTML/using-fcron.html -#usr/share/doc/fcron-3.0.4/en/txt -#usr/share/doc/fcron-3.0.4/en/txt/changes.txt -#usr/share/doc/fcron-3.0.4/en/txt/faq.txt -#usr/share/doc/fcron-3.0.4/en/txt/gpl.txt -#usr/share/doc/fcron-3.0.4/en/txt/install.txt -#usr/share/doc/fcron-3.0.4/en/txt/readme.txt -#usr/share/doc/fcron-3.0.4/en/txt/relnotes.txt -#usr/share/doc/fcron-3.0.4/en/txt/thanks.txt -#usr/share/doc/fcron-3.0.4/en/txt/todo.txt -#usr/share/doc/fcron-3.0.4/fr -#usr/share/doc/fcron-3.0.4/fr/HTML -#usr/share/doc/fcron-3.0.4/fr/HTML/LEGALNOTICE.html -#usr/share/doc/fcron-3.0.4/fr/HTML/changes.html -#usr/share/doc/fcron-3.0.4/fr/HTML/faq.html -#usr/share/doc/fcron-3.0.4/fr/HTML/fcron.8.html -#usr/share/doc/fcron-3.0.4/fr/HTML/fcron.conf.5.html -#usr/share/doc/fcron-3.0.4/fr/HTML/fcrondyn.1.html -#usr/share/doc/fcron-3.0.4/fr/HTML/fcrontab.1.html -#usr/share/doc/fcron-3.0.4/fr/HTML/fcrontab.5.html -#usr/share/doc/fcron-3.0.4/fr/HTML/fdl.html -#usr/share/doc/fcron-3.0.4/fr/HTML/gpl.html -#usr/share/doc/fcron-3.0.4/fr/HTML/how-and-why.html -#usr/share/doc/fcron-3.0.4/fr/HTML/index.html -#usr/share/doc/fcron-3.0.4/fr/HTML/install.html -#usr/share/doc/fcron-3.0.4/fr/HTML/manpages.html -#usr/share/doc/fcron-3.0.4/fr/HTML/readme.html -#usr/share/doc/fcron-3.0.4/fr/HTML/relnotes.html -#usr/share/doc/fcron-3.0.4/fr/HTML/thanks.html -#usr/share/doc/fcron-3.0.4/fr/HTML/todo.html -#usr/share/doc/fcron-3.0.4/fr/HTML/using-fcron.html -#usr/share/doc/fcron-3.0.4/fr/txt -#usr/share/doc/fcron-3.0.4/fr/txt/changes.txt -#usr/share/doc/fcron-3.0.4/fr/txt/faq.txt -#usr/share/doc/fcron-3.0.4/fr/txt/gpl.txt -#usr/share/doc/fcron-3.0.4/fr/txt/install.txt -#usr/share/doc/fcron-3.0.4/fr/txt/readme.txt -#usr/share/doc/fcron-3.0.4/fr/txt/relnotes.txt -#usr/share/doc/fcron-3.0.4/fr/txt/thanks.txt -#usr/share/doc/fcron-3.0.4/fr/txt/todo.txt +#usr/share/doc/fcron-3.2.0 +#usr/share/doc/fcron-3.2.0/en +#usr/share/doc/fcron-3.2.0/en/HTML +#usr/share/doc/fcron-3.2.0/en/HTML/LEGALNOTICE.html +#usr/share/doc/fcron-3.2.0/en/HTML/changes.html +#usr/share/doc/fcron-3.2.0/en/HTML/faq.html +#usr/share/doc/fcron-3.2.0/en/HTML/fcron.8.html +#usr/share/doc/fcron-3.2.0/en/HTML/fcron.conf.5.html +#usr/share/doc/fcron-3.2.0/en/HTML/fcrondyn.1.html +#usr/share/doc/fcron-3.2.0/en/HTML/fcrontab.1.html +#usr/share/doc/fcron-3.2.0/en/HTML/fcrontab.5.html +#usr/share/doc/fcron-3.2.0/en/HTML/fdl.html +#usr/share/doc/fcron-3.2.0/en/HTML/gpl.html +#usr/share/doc/fcron-3.2.0/en/HTML/how-and-why.html +#usr/share/doc/fcron-3.2.0/en/HTML/index.html +#usr/share/doc/fcron-3.2.0/en/HTML/install.html +#usr/share/doc/fcron-3.2.0/en/HTML/manpages.html +#usr/share/doc/fcron-3.2.0/en/HTML/readme.html +#usr/share/doc/fcron-3.2.0/en/HTML/relnotes.html +#usr/share/doc/fcron-3.2.0/en/HTML/thanks.html +#usr/share/doc/fcron-3.2.0/en/HTML/todo.html +#usr/share/doc/fcron-3.2.0/en/HTML/using-fcron.html +#usr/share/doc/fcron-3.2.0/en/txt +#usr/share/doc/fcron-3.2.0/en/txt/changes.txt +#usr/share/doc/fcron-3.2.0/en/txt/faq.txt +#usr/share/doc/fcron-3.2.0/en/txt/gpl.txt +#usr/share/doc/fcron-3.2.0/en/txt/install.txt +#usr/share/doc/fcron-3.2.0/en/txt/readme.txt +#usr/share/doc/fcron-3.2.0/en/txt/relnotes.txt +#usr/share/doc/fcron-3.2.0/en/txt/thanks.txt +#usr/share/doc/fcron-3.2.0/en/txt/todo.txt +#usr/share/doc/fcron-3.2.0/fr +#usr/share/doc/fcron-3.2.0/fr/HTML +#usr/share/doc/fcron-3.2.0/fr/HTML/LEGALNOTICE.html +#usr/share/doc/fcron-3.2.0/fr/HTML/changes.html +#usr/share/doc/fcron-3.2.0/fr/HTML/faq.html +#usr/share/doc/fcron-3.2.0/fr/HTML/fcron.8.html +#usr/share/doc/fcron-3.2.0/fr/HTML/fcron.conf.5.html +#usr/share/doc/fcron-3.2.0/fr/HTML/fcrondyn.1.html +#usr/share/doc/fcron-3.2.0/fr/HTML/fcrontab.1.html +#usr/share/doc/fcron-3.2.0/fr/HTML/fcrontab.5.html +#usr/share/doc/fcron-3.2.0/fr/HTML/fdl.html +#usr/share/doc/fcron-3.2.0/fr/HTML/gpl.html +#usr/share/doc/fcron-3.2.0/fr/HTML/how-and-why.html +#usr/share/doc/fcron-3.2.0/fr/HTML/index.html +#usr/share/doc/fcron-3.2.0/fr/HTML/install.html +#usr/share/doc/fcron-3.2.0/fr/HTML/manpages.html +#usr/share/doc/fcron-3.2.0/fr/HTML/readme.html +#usr/share/doc/fcron-3.2.0/fr/HTML/relnotes.html +#usr/share/doc/fcron-3.2.0/fr/HTML/thanks.html +#usr/share/doc/fcron-3.2.0/fr/HTML/todo.html +#usr/share/doc/fcron-3.2.0/fr/HTML/using-fcron.html +#usr/share/doc/fcron-3.2.0/fr/txt +#usr/share/doc/fcron-3.2.0/fr/txt/changes.txt +#usr/share/doc/fcron-3.2.0/fr/txt/faq.txt +#usr/share/doc/fcron-3.2.0/fr/txt/gpl.txt +#usr/share/doc/fcron-3.2.0/fr/txt/install.txt +#usr/share/doc/fcron-3.2.0/fr/txt/readme.txt +#usr/share/doc/fcron-3.2.0/fr/txt/relnotes.txt +#usr/share/doc/fcron-3.2.0/fr/txt/thanks.txt +#usr/share/doc/fcron-3.2.0/fr/txt/todo.txt #usr/share/man/fr #usr/share/man/fr/man1 #usr/share/man/fr/man1/fcrondyn.1 diff --git a/config/rootfiles/common/fuse b/config/rootfiles/common/fuse index 3b7ad59..1ab1d48 100644 --- a/config/rootfiles/common/fuse +++ b/config/rootfiles/common/fuse @@ -1,5 +1,6 @@ #etc/init.d #etc/init.d/fuse +#etc/rc.d/init.d/fuse etc/udev/rules.d/99-fuse.rules sbin/mount.fuse usr/bin/fusermount @@ -19,10 +20,13 @@ usr/bin/ulockmgr_server #usr/lib/libfuse.la usr/lib/libfuse.so usr/lib/libfuse.so.2 -usr/lib/libfuse.so.2.8.3 +usr/lib/libfuse.so.2.9.3 #usr/lib/libulockmgr.a #usr/lib/libulockmgr.la usr/lib/libulockmgr.so usr/lib/libulockmgr.so.1 usr/lib/libulockmgr.so.1.0.1 #usr/lib/pkgconfig/fuse.pc +#usr/share/man/man1/fusermount.1 +#usr/share/man/man1/ulockmgr_server.1 +#usr/share/man/man8/mount.fuse.8 diff --git a/config/rootfiles/common/i586/initscripts b/config/rootfiles/common/i586/initscripts old mode 100644 new mode 100755 index d0bc8c5..7bab7c4 --- a/config/rootfiles/common/i586/initscripts +++ b/config/rootfiles/common/i586/initscripts @@ -53,6 +53,7 @@ etc/rc.d/init.d/mISDN #etc/rc.d/init.d/miniupnpd #etc/rc.d/init.d/mldonkey etc/rc.d/init.d/modules +#etc/rc.d/init.d/monit #etc/rc.d/init.d/motion etc/rc.d/init.d/mountfs etc/rc.d/init.d/mountkernfs @@ -121,7 +122,6 @@ etc/rc.d/init.d/static-routes etc/rc.d/init.d/swap etc/rc.d/init.d/sysctl etc/rc.d/init.d/sysklogd -etc/rc.d/init.d/teamspeak etc/rc.d/init.d/template #etc/rc.d/init.d/tftpd etc/rc.d/init.d/tmpfs diff --git a/config/rootfiles/common/installer b/config/rootfiles/common/installer index 7284521..63a072f 100644 --- a/config/rootfiles/common/installer +++ b/config/rootfiles/common/installer @@ -21,7 +21,6 @@ #usr/share/locale/id/LC_MESSAGES/installer.mo #usr/share/locale/it/LC_MESSAGES/installer.mo #usr/share/locale/ja/LC_MESSAGES/installer.mo -#usr/share/locale/ja_JP/LC_MESSAGES/installer.mo #usr/share/locale/jv/LC_MESSAGES/installer.mo #usr/share/locale/km_KH/LC_MESSAGES/installer.mo #usr/share/locale/nl/LC_MESSAGES/installer.mo @@ -30,7 +29,6 @@ #usr/share/locale/pt_PT/LC_MESSAGES/installer.mo #usr/share/locale/ro_RO/LC_MESSAGES/installer.mo #usr/share/locale/ru/LC_MESSAGES/installer.mo -#usr/share/locale/ru_RU/LC_MESSAGES/installer.mo #usr/share/locale/rw/LC_MESSAGES/installer.mo #usr/share/locale/sk/LC_MESSAGES/installer.mo #usr/share/locale/sq/LC_MESSAGES/installer.mo diff --git a/config/rootfiles/common/libart b/config/rootfiles/common/libart index 316cfb1..7e98a60 100644 --- a/config/rootfiles/common/libart +++ b/config/rootfiles/common/libart @@ -49,5 +49,5 @@ #usr/lib/libart_lgpl_2.la usr/lib/libart_lgpl_2.so usr/lib/libart_lgpl_2.so.2 -usr/lib/libart_lgpl_2.so.2.3.17 +usr/lib/libart_lgpl_2.so.2.3.21 #usr/lib/pkgconfig/libart-2.0.pc diff --git a/config/rootfiles/common/libcap b/config/rootfiles/common/libcap index f490c89..0049f0a 100644 --- a/config/rootfiles/common/libcap +++ b/config/rootfiles/common/libcap @@ -2,23 +2,26 @@ lib/libcap.so lib/libcap.so.1 lib/libcap.so.2 -lib/libcap.so.2.19 +lib/libcap.so.2.24 lib/security/pam_cap.so sbin/capsh sbin/getcap sbin/getpcaps sbin/setcap #usr/include/sys/capability.h +#usr/lib/pkgconfig/libcap.pc #usr/share/man/man1/capsh.1 #usr/share/man/man3/cap_clear.3 #usr/share/man/man3/cap_clear_flag.3 #usr/share/man/man3/cap_compare.3 #usr/share/man/man3/cap_copy_ext.3 #usr/share/man/man3/cap_copy_int.3 +#usr/share/man/man3/cap_drop_bound.3 #usr/share/man/man3/cap_dup.3 #usr/share/man/man3/cap_free.3 #usr/share/man/man3/cap_from_name.3 #usr/share/man/man3/cap_from_text.3 +#usr/share/man/man3/cap_get_bound.3 #usr/share/man/man3/cap_get_fd.3 #usr/share/man/man3/cap_get_file.3 #usr/share/man/man3/cap_get_flag.3 diff --git a/config/rootfiles/common/libffi b/config/rootfiles/common/libffi index 2c887bd..8d393d2 100644 --- a/config/rootfiles/common/libffi +++ b/config/rootfiles/common/libffi @@ -1,12 +1,12 @@ -#usr/lib/libffi-3.0.11 -#usr/lib/libffi-3.0.11/include -#usr/lib/libffi-3.0.11/include/ffi.h -#usr/lib/libffi-3.0.11/include/ffitarget.h +#usr/lib/libffi-3.2.1 +#usr/lib/libffi-3.2.1/include +#usr/lib/libffi-3.2.1/include/ffi.h +#usr/lib/libffi-3.2.1/include/ffitarget.h #usr/lib/libffi.a #usr/lib/libffi.la #usr/lib/libffi.so usr/lib/libffi.so.6 -usr/lib/libffi.so.6.0.0 +usr/lib/libffi.so.6.0.4 #usr/lib/pkgconfig/libffi.pc #usr/share/info/libffi.info #usr/share/man/man3/ffi.3 diff --git a/config/rootfiles/common/libpcap b/config/rootfiles/common/libpcap index 52169a7..b8e9648 100644 --- a/config/rootfiles/common/libpcap +++ b/config/rootfiles/common/libpcap @@ -1,13 +1,13 @@ #usr/bin/pcap-config #usr/include/pcap -#usr/include/pcap/bluetooth.h #usr/include/pcap-bpf.h -#usr/include/pcap-int.h -#usr/include/pcap/ipnet.h #usr/include/pcap-namedb.h #usr/include/pcap.h +#usr/include/pcap/bluetooth.h #usr/include/pcap/bpf.h +#usr/include/pcap/ipnet.h #usr/include/pcap/namedb.h +#usr/include/pcap/nflog.h #usr/include/pcap/pcap.h #usr/include/pcap/sll.h #usr/include/pcap/usb.h @@ -15,7 +15,7 @@ #usr/lib/libpcap.a usr/lib/libpcap.so usr/lib/libpcap.so.1 -usr/lib/libpcap.so.1.4.0 +usr/lib/libpcap.so.1.6.2 #usr/share/man/man1/pcap-config.1 #usr/share/man/man3/pcap.3pcap #usr/share/man/man3/pcap_activate.3pcap @@ -40,11 +40,13 @@ usr/lib/libpcap.so.1.4.0 #usr/share/man/man3/pcap_fileno.3pcap #usr/share/man/man3/pcap_findalldevs.3pcap #usr/share/man/man3/pcap_fopen_offline.3pcap +#usr/share/man/man3/pcap_fopen_offline_with_tstamp_precision.3pcap #usr/share/man/man3/pcap_free_datalinks.3pcap #usr/share/man/man3/pcap_free_tstamp_types.3pcap #usr/share/man/man3/pcap_freealldevs.3pcap #usr/share/man/man3/pcap_freecode.3pcap #usr/share/man/man3/pcap_get_selectable_fd.3pcap +#usr/share/man/man3/pcap_get_tstamp_precision.3pcap #usr/share/man/man3/pcap_geterr.3pcap #usr/share/man/man3/pcap_getnonblock.3pcap #usr/share/man/man3/pcap_inject.3pcap @@ -61,16 +63,20 @@ usr/lib/libpcap.so.1.4.0 #usr/share/man/man3/pcap_next_ex.3pcap #usr/share/man/man3/pcap_offline_filter.3pcap #usr/share/man/man3/pcap_open_dead.3pcap +#usr/share/man/man3/pcap_open_dead_with_tstamp_precision.3pcap #usr/share/man/man3/pcap_open_live.3pcap #usr/share/man/man3/pcap_open_offline.3pcap +#usr/share/man/man3/pcap_open_offline_with_tstamp_precision.3pcap #usr/share/man/man3/pcap_perror.3pcap #usr/share/man/man3/pcap_sendpacket.3pcap #usr/share/man/man3/pcap_set_buffer_size.3pcap #usr/share/man/man3/pcap_set_datalink.3pcap +#usr/share/man/man3/pcap_set_immediate_mode.3pcap #usr/share/man/man3/pcap_set_promisc.3pcap #usr/share/man/man3/pcap_set_rfmon.3pcap #usr/share/man/man3/pcap_set_snaplen.3pcap #usr/share/man/man3/pcap_set_timeout.3pcap +#usr/share/man/man3/pcap_set_tstamp_precision.3pcap #usr/share/man/man3/pcap_set_tstamp_type.3pcap #usr/share/man/man3/pcap_setdirection.3pcap #usr/share/man/man3/pcap_setfilter.3pcap @@ -80,6 +86,7 @@ usr/lib/libpcap.so.1.4.0 #usr/share/man/man3/pcap_statustostr.3pcap #usr/share/man/man3/pcap_strerror.3pcap #usr/share/man/man3/pcap_tstamp_type_name_to_val.3pcap +#usr/share/man/man3/pcap_tstamp_type_val_to_description.3pcap #usr/share/man/man3/pcap_tstamp_type_val_to_name.3pcap #usr/share/man/man5/pcap-savefile.5 #usr/share/man/man7/pcap-filter.7 diff --git a/config/rootfiles/common/logrotate b/config/rootfiles/common/logrotate index 8410c39..7f3e709 100644 --- a/config/rootfiles/common/logrotate +++ b/config/rootfiles/common/logrotate @@ -1,3 +1,5 @@ +#etc/logrotate.d +etc/logrotate.d/.empty #usr/man/man8/logrotate.8 usr/sbin/logrotate var/lib/logrotate.status diff --git a/config/rootfiles/common/ntfs-3g b/config/rootfiles/common/ntfs-3g index 186e12b..44f13c3 100644 --- a/config/rootfiles/common/ntfs-3g +++ b/config/rootfiles/common/ntfs-3g @@ -1,13 +1,20 @@ bin/lowntfs-3g bin/ntfs-3g -lib/libntfs-3g.so -lib/libntfs-3g.so.80 -lib/libntfs-3g.so.80.0.0 +#lib/libntfs-3g.so +lib/libntfs-3g.so.85 +lib/libntfs-3g.so.85.0.0 +sbin/mkfs.ntfs sbin/mount.lowntfs-3g sbin/mount.ntfs-3g usr/bin/ntfs-3g.probe usr/bin/ntfs-3g.secaudit usr/bin/ntfs-3g.usermap +usr/bin/ntfscat +usr/bin/ntfscluster +usr/bin/ntfscmp +usr/bin/ntfsfix +usr/bin/ntfsinfo +usr/bin/ntfsls #usr/include/ntfs-3g #usr/include/ntfs-3g/acls.h #usr/include/ntfs-3g/attrib.h @@ -36,6 +43,7 @@ usr/bin/ntfs-3g.usermap #usr/include/ntfs-3g/ntfstime.h #usr/include/ntfs-3g/object_id.h #usr/include/ntfs-3g/param.h +#usr/include/ntfs-3g/realpath.h #usr/include/ntfs-3g/reparse.h #usr/include/ntfs-3g/runlist.h #usr/include/ntfs-3g/security.h @@ -46,13 +54,33 @@ usr/bin/ntfs-3g.usermap #usr/include/ntfs-3g/xattrs.h #usr/lib/libntfs-3g.a #usr/lib/libntfs-3g.la -usr/lib/libntfs-3g.so +#usr/lib/libntfs-3g.so usr/lib/pkgconfig/libntfs-3g.pc +usr/sbin/mkntfs +usr/sbin/ntfsclone +usr/sbin/ntfscp +usr/sbin/ntfslabel +usr/sbin/ntfsresize +usr/sbin/ntfsundelete #usr/share/doc/ntfs-3g #usr/share/doc/ntfs-3g/README +#usr/share/man/man8/mkfs.ntfs.8 +#usr/share/man/man8/mkntfs.8 #usr/share/man/man8/mount.lowntfs-3g.8 #usr/share/man/man8/mount.ntfs-3g.8 #usr/share/man/man8/ntfs-3g.8 #usr/share/man/man8/ntfs-3g.probe.8 #usr/share/man/man8/ntfs-3g.secaudit.8 #usr/share/man/man8/ntfs-3g.usermap.8 +#usr/share/man/man8/ntfscat.8 +#usr/share/man/man8/ntfsclone.8 +#usr/share/man/man8/ntfscluster.8 +#usr/share/man/man8/ntfscmp.8 +#usr/share/man/man8/ntfscp.8 +#usr/share/man/man8/ntfsfix.8 +#usr/share/man/man8/ntfsinfo.8 +#usr/share/man/man8/ntfslabel.8 +#usr/share/man/man8/ntfsls.8 +#usr/share/man/man8/ntfsprogs.8 +#usr/share/man/man8/ntfsresize.8 +#usr/share/man/man8/ntfsundelete.8 diff --git a/config/rootfiles/common/openvpn b/config/rootfiles/common/openvpn index d1b836a..b58e30c 100644 --- a/config/rootfiles/common/openvpn +++ b/config/rootfiles/common/openvpn @@ -17,7 +17,6 @@ usr/sbin/openvpn #usr/share/doc/openvpn/README.polarssl #usr/share/doc/openvpn/management-notes.txt #usr/share/man/man8/openvpn.8 -var/ipfire/ovpn var/ipfire/ovpn/ca var/ipfire/ovpn/caconfig var/ipfire/ovpn/ccd @@ -32,3 +31,4 @@ var/ipfire/ovpn/ovpn-leases.db var/ipfire/ovpn/ovpnconfig var/ipfire/ovpn/scripts var/ipfire/ovpn/settings +var/log/openvpn diff --git a/config/rootfiles/common/pcre b/config/rootfiles/common/pcre index 5c29270..78ac2a2 100644 --- a/config/rootfiles/common/pcre +++ b/config/rootfiles/common/pcre @@ -10,15 +10,15 @@ #usr/lib/libpcre.la usr/lib/libpcre.so usr/lib/libpcre.so.1 -usr/lib/libpcre.so.1.0.1 +usr/lib/libpcre.so.1.2.4 #usr/lib/libpcrecpp.la usr/lib/libpcrecpp.so usr/lib/libpcrecpp.so.0 -usr/lib/libpcrecpp.so.0.0.0 +usr/lib/libpcrecpp.so.0.0.1 #usr/lib/libpcreposix.la usr/lib/libpcreposix.so usr/lib/libpcreposix.so.0 -usr/lib/libpcreposix.so.0.0.1 +usr/lib/libpcreposix.so.0.0.3 #usr/lib/pkgconfig/libpcre.pc #usr/lib/pkgconfig/libpcrecpp.pc #usr/lib/pkgconfig/libpcreposix.pc @@ -30,10 +30,13 @@ usr/lib/libpcreposix.so.0.0.1 #usr/share/doc/pcre/NEWS #usr/share/doc/pcre/README #usr/share/doc/pcre/html +#usr/share/doc/pcre/html/NON-AUTOTOOLS-BUILD.txt +#usr/share/doc/pcre/html/README.txt #usr/share/doc/pcre/html/index.html #usr/share/doc/pcre/html/pcre-config.html #usr/share/doc/pcre/html/pcre.html #usr/share/doc/pcre/html/pcre16.html +#usr/share/doc/pcre/html/pcre32.html #usr/share/doc/pcre/html/pcre_assign_jit_stack.html #usr/share/doc/pcre/html/pcre_compile.html #usr/share/doc/pcre/html/pcre_compile2.html @@ -51,6 +54,7 @@ usr/lib/libpcreposix.so.0.0.1 #usr/share/doc/pcre/html/pcre_get_stringtable_entries.html #usr/share/doc/pcre/html/pcre_get_substring.html #usr/share/doc/pcre/html/pcre_get_substring_list.html +#usr/share/doc/pcre/html/pcre_jit_exec.html #usr/share/doc/pcre/html/pcre_jit_stack_alloc.html #usr/share/doc/pcre/html/pcre_jit_stack_free.html #usr/share/doc/pcre/html/pcre_maketables.html @@ -58,6 +62,7 @@ usr/lib/libpcreposix.so.0.0.1 #usr/share/doc/pcre/html/pcre_refcount.html #usr/share/doc/pcre/html/pcre_study.html #usr/share/doc/pcre/html/pcre_utf16_to_host_byte_order.html +#usr/share/doc/pcre/html/pcre_utf32_to_host_byte_order.html #usr/share/doc/pcre/html/pcre_version.html #usr/share/doc/pcre/html/pcreapi.html #usr/share/doc/pcre/html/pcrebuild.html @@ -105,6 +110,7 @@ usr/lib/libpcreposix.so.0.0.1 #usr/share/man/man3/pcre16_get_stringtable_entries.3 #usr/share/man/man3/pcre16_get_substring.3 #usr/share/man/man3/pcre16_get_substring_list.3 +#usr/share/man/man3/pcre16_jit_exec.3 #usr/share/man/man3/pcre16_jit_stack_alloc.3 #usr/share/man/man3/pcre16_jit_stack_free.3 #usr/share/man/man3/pcre16_maketables.3 @@ -113,6 +119,33 @@ usr/lib/libpcreposix.so.0.0.1 #usr/share/man/man3/pcre16_study.3 #usr/share/man/man3/pcre16_utf16_to_host_byte_order.3 #usr/share/man/man3/pcre16_version.3 +#usr/share/man/man3/pcre32.3 +#usr/share/man/man3/pcre32_assign_jit_stack.3 +#usr/share/man/man3/pcre32_compile.3 +#usr/share/man/man3/pcre32_compile2.3 +#usr/share/man/man3/pcre32_config.3 +#usr/share/man/man3/pcre32_copy_named_substring.3 +#usr/share/man/man3/pcre32_copy_substring.3 +#usr/share/man/man3/pcre32_dfa_exec.3 +#usr/share/man/man3/pcre32_exec.3 +#usr/share/man/man3/pcre32_free_study.3 +#usr/share/man/man3/pcre32_free_substring.3 +#usr/share/man/man3/pcre32_free_substring_list.3 +#usr/share/man/man3/pcre32_fullinfo.3 +#usr/share/man/man3/pcre32_get_named_substring.3 +#usr/share/man/man3/pcre32_get_stringnumber.3 +#usr/share/man/man3/pcre32_get_stringtable_entries.3 +#usr/share/man/man3/pcre32_get_substring.3 +#usr/share/man/man3/pcre32_get_substring_list.3 +#usr/share/man/man3/pcre32_jit_exec.3 +#usr/share/man/man3/pcre32_jit_stack_alloc.3 +#usr/share/man/man3/pcre32_jit_stack_free.3 +#usr/share/man/man3/pcre32_maketables.3 +#usr/share/man/man3/pcre32_pattern_to_host_byte_order.3 +#usr/share/man/man3/pcre32_refcount.3 +#usr/share/man/man3/pcre32_study.3 +#usr/share/man/man3/pcre32_utf32_to_host_byte_order.3 +#usr/share/man/man3/pcre32_version.3 #usr/share/man/man3/pcre_assign_jit_stack.3 #usr/share/man/man3/pcre_compile.3 #usr/share/man/man3/pcre_compile2.3 @@ -130,6 +163,7 @@ usr/lib/libpcreposix.so.0.0.1 #usr/share/man/man3/pcre_get_stringtable_entries.3 #usr/share/man/man3/pcre_get_substring.3 #usr/share/man/man3/pcre_get_substring_list.3 +#usr/share/man/man3/pcre_jit_exec.3 #usr/share/man/man3/pcre_jit_stack_alloc.3 #usr/share/man/man3/pcre_jit_stack_free.3 #usr/share/man/man3/pcre_maketables.3 @@ -137,12 +171,14 @@ usr/lib/libpcreposix.so.0.0.1 #usr/share/man/man3/pcre_refcount.3 #usr/share/man/man3/pcre_study.3 #usr/share/man/man3/pcre_utf16_to_host_byte_order.3 +#usr/share/man/man3/pcre_utf32_to_host_byte_order.3 #usr/share/man/man3/pcre_version.3 #usr/share/man/man3/pcreapi.3 #usr/share/man/man3/pcrebuild.3 #usr/share/man/man3/pcrecallout.3 #usr/share/man/man3/pcrecompat.3 #usr/share/man/man3/pcrecpp.3 +#usr/share/man/man3/pcredemo.3 #usr/share/man/man3/pcrejit.3 #usr/share/man/man3/pcrelimits.3 #usr/share/man/man3/pcrematching.3 diff --git a/config/rootfiles/common/screen b/config/rootfiles/common/screen index f57e550..6124db1 100644 --- a/config/rootfiles/common/screen +++ b/config/rootfiles/common/screen @@ -1,6 +1,6 @@ etc/screenrc usr/bin/screen -usr/bin/screen-4.0.3 +usr/bin/screen-4.2.1 #usr/info/screen.info #usr/info/screen.info-1 #usr/info/screen.info-2 @@ -8,6 +8,8 @@ usr/bin/screen-4.0.3 #usr/info/screen.info-4 #usr/info/screen.info-5 #usr/man/man1/screen.1 +#usr/share/info/screen.info +#usr/share/man/man1/screen.1 #usr/share/screen #usr/share/screen/utf8encodings #usr/share/screen/utf8encodings/01 diff --git a/config/rootfiles/common/setup b/config/rootfiles/common/setup index 2b51e30..6e4d351 100644 --- a/config/rootfiles/common/setup +++ b/config/rootfiles/common/setup @@ -18,9 +18,6 @@ usr/share/locale/hu/LC_MESSAGES/setup.mo usr/share/locale/id/LC_MESSAGES/setup.mo usr/share/locale/it/LC_MESSAGES/setup.mo usr/share/locale/ja/LC_MESSAGES/setup.mo -#usr/share/locale/ja_JP -#usr/share/locale/ja_JP/LC_MESSAGES -usr/share/locale/ja_JP/LC_MESSAGES/setup.mo #usr/share/locale/jv #usr/share/locale/jv/LC_MESSAGES usr/share/locale/jv/LC_MESSAGES/setup.mo @@ -37,9 +34,6 @@ usr/share/locale/pt_PT/LC_MESSAGES/setup.mo #usr/share/locale/ro_RO/LC_MESSAGES usr/share/locale/ro_RO/LC_MESSAGES/setup.mo usr/share/locale/ru/LC_MESSAGES/setup.mo -#usr/share/locale/ru_RU -#usr/share/locale/ru_RU/LC_MESSAGES -usr/share/locale/ru_RU/LC_MESSAGES/setup.mo usr/share/locale/rw/LC_MESSAGES/setup.mo usr/share/locale/sk/LC_MESSAGES/setup.mo usr/share/locale/sq/LC_MESSAGES/setup.mo diff --git a/config/rootfiles/common/smartmontools b/config/rootfiles/common/smartmontools index 7080398..f1df27b 100644 --- a/config/rootfiles/common/smartmontools +++ b/config/rootfiles/common/smartmontools @@ -2,6 +2,7 @@ #usr/etc/rc.d/init.d #usr/etc/rc.d/init.d/smartd #usr/etc/smartd.conf +#usr/etc/smartd_warning.d #usr/etc/smartd_warning.sh usr/sbin/smartctl #usr/sbin/smartd @@ -21,10 +22,13 @@ usr/sbin/update-smart-drivedb #usr/share/doc/smartmontools/examplescripts/Example2 #usr/share/doc/smartmontools/examplescripts/Example3 #usr/share/doc/smartmontools/examplescripts/Example4 +#usr/share/doc/smartmontools/examplescripts/Example5 +#usr/share/doc/smartmontools/examplescripts/Example6 #usr/share/doc/smartmontools/examplescripts/README #usr/share/doc/smartmontools/smartd.conf #usr/share/man/man5/smartd.conf.5 #usr/share/man/man8/smartctl.8 #usr/share/man/man8/smartd.8 +#usr/share/man/man8/update-smart-drivedb.8 #usr/share/smartmontools usr/share/smartmontools/drivedb.h diff --git a/config/rootfiles/common/snort b/config/rootfiles/common/snort index 706c5f8..6dfcdfc 100644 --- a/config/rootfiles/common/snort +++ b/config/rootfiles/common/snort @@ -27,16 +27,21 @@ usr/bin/u2spewfoo #usr/include/snort/dynamic_output/snort_debug.h #usr/include/snort/dynamic_output/stream_api.h #usr/include/snort/dynamic_preproc +#usr/include/snort/dynamic_preproc/appId.h #usr/include/snort/dynamic_preproc/bitop.h #usr/include/snort/dynamic_preproc/cpuclock.h #usr/include/snort/dynamic_preproc/file_api.h +#usr/include/snort/dynamic_preproc/file_mail_common.h #usr/include/snort/dynamic_preproc/idle_processing.h #usr/include/snort/dynamic_preproc/ipv6_port.h #usr/include/snort/dynamic_preproc/mempool.h +#usr/include/snort/dynamic_preproc/mpse_methods.h #usr/include/snort/dynamic_preproc/obfuscation.h +#usr/include/snort/dynamic_preproc/packet_time.h #usr/include/snort/dynamic_preproc/preprocids.h #usr/include/snort/dynamic_preproc/profiler.h #usr/include/snort/dynamic_preproc/segment_mem.h +#usr/include/snort/dynamic_preproc/session_api.h #usr/include/snort/dynamic_preproc/sfPolicy.h #usr/include/snort/dynamic_preproc/sfPolicyUserData.h #usr/include/snort/dynamic_preproc/sf_decompression.h @@ -55,14 +60,22 @@ usr/bin/u2spewfoo #usr/include/snort/dynamic_preproc/sf_snort_plugin_api.h #usr/include/snort/dynamic_preproc/sfcommon.h #usr/include/snort/dynamic_preproc/sfcontrol.h +#usr/include/snort/dynamic_preproc/sfdebug.h #usr/include/snort/dynamic_preproc/sfrt.h #usr/include/snort/dynamic_preproc/sfrt_dir.h #usr/include/snort/dynamic_preproc/sfrt_flat.h #usr/include/snort/dynamic_preproc/sfrt_flat_dir.h #usr/include/snort/dynamic_preproc/sfrt_trie.h +#usr/include/snort/dynamic_preproc/sidechannel_define.h +#usr/include/snort/dynamic_preproc/sip_common.h #usr/include/snort/dynamic_preproc/snort_bounds.h #usr/include/snort/dynamic_preproc/snort_debug.h #usr/include/snort/dynamic_preproc/ssl.h +#usr/include/snort/dynamic_preproc/ssl_config.h +#usr/include/snort/dynamic_preproc/ssl_ha.h +#usr/include/snort/dynamic_preproc/ssl_include.h +#usr/include/snort/dynamic_preproc/ssl_inspect.h +#usr/include/snort/dynamic_preproc/ssl_session.h #usr/include/snort/dynamic_preproc/str_search.h #usr/include/snort/dynamic_preproc/stream_api.h #usr/lib/pkgconfig/snort.pc @@ -159,6 +172,7 @@ usr/sbin/snort #usr/share/doc/snort/CREDITS #usr/share/doc/snort/INSTALL #usr/share/doc/snort/NEWS +#usr/share/doc/snort/OpenDetectorDeveloperGuide.pdf #usr/share/doc/snort/PROBLEMS #usr/share/doc/snort/README #usr/share/doc/snort/README.GTP @@ -169,6 +183,7 @@ usr/sbin/snort #usr/share/doc/snort/README.WIN32 #usr/share/doc/snort/README.active #usr/share/doc/snort/README.alert_order +#usr/share/doc/snort/README.appid #usr/share/doc/snort/README.asn1 #usr/share/doc/snort/README.counts #usr/share/doc/snort/README.csv @@ -199,7 +214,6 @@ usr/sbin/snort #usr/share/doc/snort/README.ppm #usr/share/doc/snort/README.reload #usr/share/doc/snort/README.reputation -#usr/share/doc/snort/README.rzb_saac #usr/share/doc/snort/README.sensitive_data #usr/share/doc/snort/README.sfportscan #usr/share/doc/snort/README.sip diff --git a/config/rootfiles/common/sqlite b/config/rootfiles/common/sqlite new file mode 100644 index 0000000..f3b0b36 --- /dev/null +++ b/config/rootfiles/common/sqlite @@ -0,0 +1,10 @@ +usr/bin/sqlite3 +#usr/include/sqlite3.h +#usr/include/sqlite3ext.h +#usr/lib/libsqlite3.a +#usr/lib/libsqlite3.la +usr/lib/libsqlite3.so +usr/lib/libsqlite3.so.0 +usr/lib/libsqlite3.so.0.8.6 +#usr/lib/pkgconfig/sqlite3.pc +#usr/share/man/man1/sqlite3.1 diff --git a/config/rootfiles/common/sysklogd b/config/rootfiles/common/sysklogd index 14320a6..9792097 100644 --- a/config/rootfiles/common/sysklogd +++ b/config/rootfiles/common/sysklogd @@ -4,4 +4,3 @@ usr/sbin/syslogd #usr/share/man/man8/sysklogd.8 var/log/dhcpcd.log var/log/messages -var/log/ovpnserver.log diff --git a/config/rootfiles/common/tar b/config/rootfiles/common/tar index 9e31cc0..6dbb6ee 100644 --- a/config/rootfiles/common/tar +++ b/config/rootfiles/common/tar @@ -2,4 +2,8 @@ bin/tar #usr/share/info/tar.info #usr/share/info/tar.info-1 #usr/share/info/tar.info-2 +#usr/share/info/tar.info-3 +#usr/share/man/man1/tar.1 +#usr/share/man/man8/rmt.8 #usr/sbin/rmt + diff --git a/config/rootfiles/common/zlib b/config/rootfiles/common/zlib index 13cf704..43c5ac9 100644 --- a/config/rootfiles/common/zlib +++ b/config/rootfiles/common/zlib @@ -1,10 +1,9 @@ lib/libz.so lib/libz.so.1 -lib/libz.so.1.2.7 +lib/libz.so.1.2.8 #usr/include/zconf.h #usr/include/zlib.h #usr/lib/libz.a -#usr/lib/libz.so #usr/lib/pkgconfig #usr/lib/pkgconfig/zlib.pc #usr/share/man/man3/zlib.3 diff --git a/config/rootfiles/core/87/exclude b/config/rootfiles/core/87/exclude deleted file mode 100644 index 5be5371..0000000 --- a/config/rootfiles/core/87/exclude +++ /dev/null @@ -1,26 +0,0 @@ -boot/config.txt -etc/collectd.custom -etc/ipsec.conf -etc/ipsec.secrets -etc/ipsec.user.conf -etc/ipsec.user.secrets -etc/localtime -etc/rc.d/rcsysinit.d/S19checkfstab -etc/rc.d/rcsysinit.d/S70console -etc/shadow -etc/ssh/ssh_config -etc/ssh/sshd_config -etc/ssl/openssl.cnf -etc/sudoers -etc/sysconfig/firewall.local -etc/sysconfig/modules -etc/sysconfig/rc.local -etc/udev/rules.d/30-persistent-network.rules -srv/web/ipfire/html/proxy.pac -var/ipfire/time -var/ipfire/ovpn/ccd.conf -var/ipfire/ovpn/ccdroute -var/ipfire/ovpn/ccdroute2 -var/log/cache -var/state/dhcp/dhcpd.leases -var/updatecache diff --git a/config/rootfiles/core/87/filelists/armv5tel/glibc b/config/rootfiles/core/87/filelists/armv5tel/glibc deleted file mode 120000 index 4c70d72..0000000 --- a/config/rootfiles/core/87/filelists/armv5tel/glibc +++ /dev/null @@ -1 +0,0 @@ -../../../../common/armv5tel/glibc \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/armv5tel/initscripts b/config/rootfiles/core/87/filelists/armv5tel/initscripts deleted file mode 120000 index af1d762..0000000 --- a/config/rootfiles/core/87/filelists/armv5tel/initscripts +++ /dev/null @@ -1 +0,0 @@ -../../../../common/armv5tel/initscripts \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/armv5tel/linux-kirkwood b/config/rootfiles/core/87/filelists/armv5tel/linux-kirkwood deleted file mode 120000 index 7217107..0000000 --- a/config/rootfiles/core/87/filelists/armv5tel/linux-kirkwood +++ /dev/null @@ -1 +0,0 @@ -../../../../common/armv5tel/linux-kirkwood \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/armv5tel/linux-multi b/config/rootfiles/core/87/filelists/armv5tel/linux-multi deleted file mode 120000 index 204eb4c..0000000 --- a/config/rootfiles/core/87/filelists/armv5tel/linux-multi +++ /dev/null @@ -1 +0,0 @@ -../../../../common/armv5tel/linux-multi \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/armv5tel/linux-rpi b/config/rootfiles/core/87/filelists/armv5tel/linux-rpi deleted file mode 120000 index a651a49..0000000 --- a/config/rootfiles/core/87/filelists/armv5tel/linux-rpi +++ /dev/null @@ -1 +0,0 @@ -../../../../common/armv5tel/linux-rpi \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/armv5tel/swconfig b/config/rootfiles/core/87/filelists/armv5tel/swconfig deleted file mode 120000 index e5606ed..0000000 --- a/config/rootfiles/core/87/filelists/armv5tel/swconfig +++ /dev/null @@ -1 +0,0 @@ -../../../../common/armv5tel/swconfig \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/armv5tel/u-boot b/config/rootfiles/core/87/filelists/armv5tel/u-boot deleted file mode 120000 index 3df31a8..0000000 --- a/config/rootfiles/core/87/filelists/armv5tel/u-boot +++ /dev/null @@ -1 +0,0 @@ -../../../../common/armv5tel/u-boot \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/bash b/config/rootfiles/core/87/filelists/bash deleted file mode 120000 index de970cb..0000000 --- a/config/rootfiles/core/87/filelists/bash +++ /dev/null @@ -1 +0,0 @@ -../../../common/bash \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/coreutils b/config/rootfiles/core/87/filelists/coreutils deleted file mode 120000 index 7351ed2..0000000 --- a/config/rootfiles/core/87/filelists/coreutils +++ /dev/null @@ -1 +0,0 @@ -../../../common/coreutils \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/crda b/config/rootfiles/core/87/filelists/crda deleted file mode 120000 index d68c46e..0000000 --- a/config/rootfiles/core/87/filelists/crda +++ /dev/null @@ -1 +0,0 @@ -../../../common/crda \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/dracut b/config/rootfiles/core/87/filelists/dracut deleted file mode 120000 index 1608699..0000000 --- a/config/rootfiles/core/87/filelists/dracut +++ /dev/null @@ -1 +0,0 @@ -../../../common/dracut \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/files b/config/rootfiles/core/87/filelists/files deleted file mode 100644 index f0c3708..0000000 --- a/config/rootfiles/core/87/filelists/files +++ /dev/null @@ -1,14 +0,0 @@ -etc/system-release -etc/issue -etc/modprobe.d/btmrvl_sdio.conf -etc/rc.d/init.d/collectd -etc/rc.d/init.d/leds -opt/pakfire/etc/pakfire.conf -usr/lib/firewall/rules.pl -usr/local/bin/backupiso -usr/local/bin/update-bootloader -usr/local/share/GeoIP/GeoIP.dat -var/ipfire/header.pl -var/ipfire/langs -var/ipfire/lang.pl -var/ipfire/ovpn/openssl/ovpn.cnf diff --git a/config/rootfiles/core/87/filelists/fireinfo b/config/rootfiles/core/87/filelists/fireinfo deleted file mode 120000 index c461155..0000000 --- a/config/rootfiles/core/87/filelists/fireinfo +++ /dev/null @@ -1 +0,0 @@ -../../../common/fireinfo \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/hwdata b/config/rootfiles/core/87/filelists/hwdata deleted file mode 120000 index ced9116..0000000 --- a/config/rootfiles/core/87/filelists/hwdata +++ /dev/null @@ -1 +0,0 @@ -../../../common/hwdata \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/i586/glibc b/config/rootfiles/core/87/filelists/i586/glibc deleted file mode 120000 index 943021f..0000000 --- a/config/rootfiles/core/87/filelists/i586/glibc +++ /dev/null @@ -1 +0,0 @@ -../../../../common/i586/glibc \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/i586/grub b/config/rootfiles/core/87/filelists/i586/grub deleted file mode 120000 index feb236a..0000000 --- a/config/rootfiles/core/87/filelists/i586/grub +++ /dev/null @@ -1 +0,0 @@ -../../../../common/i586/grub \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/i586/initscripts b/config/rootfiles/core/87/filelists/i586/initscripts deleted file mode 120000 index 12d8770..0000000 --- a/config/rootfiles/core/87/filelists/i586/initscripts +++ /dev/null @@ -1 +0,0 @@ -../../../../common/i586/initscripts \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/i586/linux b/config/rootfiles/core/87/filelists/i586/linux deleted file mode 120000 index 693ec4b..0000000 --- a/config/rootfiles/core/87/filelists/i586/linux +++ /dev/null @@ -1 +0,0 @@ -../../../../common/i586/linux \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/i586/linux-initrd b/config/rootfiles/core/87/filelists/i586/linux-initrd deleted file mode 120000 index 32a03e6..0000000 --- a/config/rootfiles/core/87/filelists/i586/linux-initrd +++ /dev/null @@ -1 +0,0 @@ -../../../../common/i586/linux-initrd \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/iw b/config/rootfiles/core/87/filelists/iw deleted file mode 120000 index 7c58a20..0000000 --- a/config/rootfiles/core/87/filelists/iw +++ /dev/null @@ -1 +0,0 @@ -../../../common/iw \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/kbd b/config/rootfiles/core/87/filelists/kbd deleted file mode 120000 index 9b85839..0000000 --- a/config/rootfiles/core/87/filelists/kbd +++ /dev/null @@ -1 +0,0 @@ -../../../common/kbd \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/libcap b/config/rootfiles/core/87/filelists/libcap deleted file mode 120000 index ed67d95..0000000 --- a/config/rootfiles/core/87/filelists/libcap +++ /dev/null @@ -1 +0,0 @@ -../../../common/libcap \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/libsmooth b/config/rootfiles/core/87/filelists/libsmooth deleted file mode 120000 index 6164182..0000000 --- a/config/rootfiles/core/87/filelists/libsmooth +++ /dev/null @@ -1 +0,0 @@ -../../../common/libsmooth \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/lvm2 b/config/rootfiles/core/87/filelists/lvm2 deleted file mode 120000 index d640870..0000000 --- a/config/rootfiles/core/87/filelists/lvm2 +++ /dev/null @@ -1 +0,0 @@ -../../../common/lvm2 \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/mdadm b/config/rootfiles/core/87/filelists/mdadm deleted file mode 120000 index 465808b..0000000 --- a/config/rootfiles/core/87/filelists/mdadm +++ /dev/null @@ -1 +0,0 @@ -../../../common/mdadm \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/misc-progs b/config/rootfiles/core/87/filelists/misc-progs deleted file mode 120000 index 7223cad..0000000 --- a/config/rootfiles/core/87/filelists/misc-progs +++ /dev/null @@ -1 +0,0 @@ -../../../common/misc-progs \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/multipath-tools b/config/rootfiles/core/87/filelists/multipath-tools deleted file mode 120000 index 9ff6323..0000000 --- a/config/rootfiles/core/87/filelists/multipath-tools +++ /dev/null @@ -1 +0,0 @@ -../../../common/multipath-tools \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/newt b/config/rootfiles/core/87/filelists/newt deleted file mode 120000 index fb3eb20..0000000 --- a/config/rootfiles/core/87/filelists/newt +++ /dev/null @@ -1 +0,0 @@ -../../../common/newt \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/ntp b/config/rootfiles/core/87/filelists/ntp deleted file mode 100644 index aacdb25..0000000 --- a/config/rootfiles/core/87/filelists/ntp +++ /dev/null @@ -1,287 +0,0 @@ -etc/ntp -etc/ntp.conf -etc/rc.d/rc0.d/K46ntpd -etc/rc.d/rc3.d/S26ntpd -etc/rc.d/rc6.d/K46ntpd -usr/bin/calc_tickadj -usr/bin/ntp-keygen -usr/bin/ntp-wait -usr/bin/ntpd -usr/bin/ntpdate -usr/bin/ntpdc -usr/bin/ntpq -usr/bin/ntptime -usr/bin/ntptrace -usr/bin/sntp -usr/bin/tickadj -#usr/include/event2 -#usr/share/doc/ntp4 -#usr/share/doc/ntp4/html -#usr/share/doc/ntp4/html/access.html -#usr/share/doc/ntp4/html/accopt.html -#usr/share/doc/ntp4/html/assoc.html -#usr/share/doc/ntp4/html/audio.html -#usr/share/doc/ntp4/html/authentic.html -#usr/share/doc/ntp4/html/authopt.html -#usr/share/doc/ntp4/html/autokey.html -#usr/share/doc/ntp4/html/bugs.html -#usr/share/doc/ntp4/html/build.html -#usr/share/doc/ntp4/html/clock.html -#usr/share/doc/ntp4/html/clockopt.html -#usr/share/doc/ntp4/html/cluster.html -#usr/share/doc/ntp4/html/comdex.html -#usr/share/doc/ntp4/html/config.html -#usr/share/doc/ntp4/html/confopt.html -#usr/share/doc/ntp4/html/copyright.html -#usr/share/doc/ntp4/html/debug.html -#usr/share/doc/ntp4/html/decode.html -#usr/share/doc/ntp4/html/discipline.html -#usr/share/doc/ntp4/html/discover.html -#usr/share/doc/ntp4/html/drivers -#usr/share/doc/ntp4/html/drivers/driver1.html -#usr/share/doc/ntp4/html/drivers/driver10.html -#usr/share/doc/ntp4/html/drivers/driver11.html -#usr/share/doc/ntp4/html/drivers/driver12.html -#usr/share/doc/ntp4/html/drivers/driver16.html -#usr/share/doc/ntp4/html/drivers/driver18.html -#usr/share/doc/ntp4/html/drivers/driver19.html -#usr/share/doc/ntp4/html/drivers/driver20.html -#usr/share/doc/ntp4/html/drivers/driver22.html -#usr/share/doc/ntp4/html/drivers/driver26.html -#usr/share/doc/ntp4/html/drivers/driver27.html -#usr/share/doc/ntp4/html/drivers/driver28.html -#usr/share/doc/ntp4/html/drivers/driver29.html -#usr/share/doc/ntp4/html/drivers/driver3.html -#usr/share/doc/ntp4/html/drivers/driver30.html -#usr/share/doc/ntp4/html/drivers/driver31.html -#usr/share/doc/ntp4/html/drivers/driver32.html -#usr/share/doc/ntp4/html/drivers/driver33.html -#usr/share/doc/ntp4/html/drivers/driver34.html -#usr/share/doc/ntp4/html/drivers/driver35.html -#usr/share/doc/ntp4/html/drivers/driver36.html -#usr/share/doc/ntp4/html/drivers/driver37.html -#usr/share/doc/ntp4/html/drivers/driver38.html -#usr/share/doc/ntp4/html/drivers/driver39.html -#usr/share/doc/ntp4/html/drivers/driver4.html -#usr/share/doc/ntp4/html/drivers/driver40.html -#usr/share/doc/ntp4/html/drivers/driver42.html -#usr/share/doc/ntp4/html/drivers/driver43.html -#usr/share/doc/ntp4/html/drivers/driver44.html -#usr/share/doc/ntp4/html/drivers/driver45.html -#usr/share/doc/ntp4/html/drivers/driver46.html -#usr/share/doc/ntp4/html/drivers/driver5.html -#usr/share/doc/ntp4/html/drivers/driver6.html -#usr/share/doc/ntp4/html/drivers/driver7.html -#usr/share/doc/ntp4/html/drivers/driver8.html -#usr/share/doc/ntp4/html/drivers/driver9.html -#usr/share/doc/ntp4/html/drivers/icons -#usr/share/doc/ntp4/html/drivers/icons/home.gif -#usr/share/doc/ntp4/html/drivers/icons/mail2.gif -#usr/share/doc/ntp4/html/drivers/mx4200data.html -#usr/share/doc/ntp4/html/drivers/oncore-shmem.html -#usr/share/doc/ntp4/html/drivers/scripts -#usr/share/doc/ntp4/html/drivers/scripts/footer.txt -#usr/share/doc/ntp4/html/drivers/scripts/style.css -#usr/share/doc/ntp4/html/drivers/tf582_4.html -#usr/share/doc/ntp4/html/extern.html -#usr/share/doc/ntp4/html/filter.html -#usr/share/doc/ntp4/html/hints -#usr/share/doc/ntp4/html/hints.html -#usr/share/doc/ntp4/html/hints/a-ux -#usr/share/doc/ntp4/html/hints/aix -#usr/share/doc/ntp4/html/hints/bsdi -#usr/share/doc/ntp4/html/hints/changes -#usr/share/doc/ntp4/html/hints/decosf1 -#usr/share/doc/ntp4/html/hints/decosf2 -#usr/share/doc/ntp4/html/hints/freebsd -#usr/share/doc/ntp4/html/hints/hpux -#usr/share/doc/ntp4/html/hints/linux -#usr/share/doc/ntp4/html/hints/mpeix -#usr/share/doc/ntp4/html/hints/notes-xntp-v3 -#usr/share/doc/ntp4/html/hints/parse -#usr/share/doc/ntp4/html/hints/refclocks -#usr/share/doc/ntp4/html/hints/rs6000 -#usr/share/doc/ntp4/html/hints/sco.html -#usr/share/doc/ntp4/html/hints/sgi -#usr/share/doc/ntp4/html/hints/solaris-dosynctodr.html -#usr/share/doc/ntp4/html/hints/solaris.html -#usr/share/doc/ntp4/html/hints/solaris.xtra.4023118 -#usr/share/doc/ntp4/html/hints/solaris.xtra.4095849 -#usr/share/doc/ntp4/html/hints/solaris.xtra.S99ntpd -#usr/share/doc/ntp4/html/hints/solaris.xtra.patchfreq -#usr/share/doc/ntp4/html/hints/sun4 -#usr/share/doc/ntp4/html/hints/svr4-dell -#usr/share/doc/ntp4/html/hints/svr4_package -#usr/share/doc/ntp4/html/hints/todo -#usr/share/doc/ntp4/html/hints/vxworks.html -#usr/share/doc/ntp4/html/hints/winnt.html -#usr/share/doc/ntp4/html/history.html -#usr/share/doc/ntp4/html/howto.html -#usr/share/doc/ntp4/html/huffpuff.html -#usr/share/doc/ntp4/html/icons -#usr/share/doc/ntp4/html/icons/home.gif -#usr/share/doc/ntp4/html/icons/mail2.gif -#usr/share/doc/ntp4/html/icons/sitemap.png -#usr/share/doc/ntp4/html/index.html -#usr/share/doc/ntp4/html/kern.html -#usr/share/doc/ntp4/html/kernpps.html -#usr/share/doc/ntp4/html/keygen.html -#usr/share/doc/ntp4/html/leap.html -#usr/share/doc/ntp4/html/miscopt.html -#usr/share/doc/ntp4/html/monopt.html -#usr/share/doc/ntp4/html/msyslog.html -#usr/share/doc/ntp4/html/ntp-wait.html -#usr/share/doc/ntp4/html/ntp_conf.html -#usr/share/doc/ntp4/html/ntpd.html -#usr/share/doc/ntp4/html/ntpdate.html -#usr/share/doc/ntp4/html/ntpdc.html -#usr/share/doc/ntp4/html/ntpdsim.html -#usr/share/doc/ntp4/html/ntpdsim_new.html -#usr/share/doc/ntp4/html/ntpq.html -#usr/share/doc/ntp4/html/ntptime.html -#usr/share/doc/ntp4/html/ntptrace.html -#usr/share/doc/ntp4/html/orphan.html -#usr/share/doc/ntp4/html/parsedata.html -#usr/share/doc/ntp4/html/parsenew.html -#usr/share/doc/ntp4/html/pic -#usr/share/doc/ntp4/html/pic/9400n.jpg -#usr/share/doc/ntp4/html/pic/alice11.gif -#usr/share/doc/ntp4/html/pic/alice13.gif -#usr/share/doc/ntp4/html/pic/alice15.gif -#usr/share/doc/ntp4/html/pic/alice23.gif -#usr/share/doc/ntp4/html/pic/alice31.gif -#usr/share/doc/ntp4/html/pic/alice32.gif -#usr/share/doc/ntp4/html/pic/alice35.gif -#usr/share/doc/ntp4/html/pic/alice38.gif -#usr/share/doc/ntp4/html/pic/alice44.gif -#usr/share/doc/ntp4/html/pic/alice47.gif -#usr/share/doc/ntp4/html/pic/alice51.gif -#usr/share/doc/ntp4/html/pic/alice61.gif -#usr/share/doc/ntp4/html/pic/barnstable.gif -#usr/share/doc/ntp4/html/pic/beaver.gif -#usr/share/doc/ntp4/html/pic/boom3.gif -#usr/share/doc/ntp4/html/pic/boom3a.gif -#usr/share/doc/ntp4/html/pic/boom4.gif -#usr/share/doc/ntp4/html/pic/broad.gif -#usr/share/doc/ntp4/html/pic/bustardfly.gif -#usr/share/doc/ntp4/html/pic/c51.jpg -#usr/share/doc/ntp4/html/pic/description.jpg -#usr/share/doc/ntp4/html/pic/discipline.gif -#usr/share/doc/ntp4/html/pic/dogsnake.gif -#usr/share/doc/ntp4/html/pic/driver29.gif -#usr/share/doc/ntp4/html/pic/driver43_1.gif -#usr/share/doc/ntp4/html/pic/driver43_2.jpg -#usr/share/doc/ntp4/html/pic/fg6021.gif -#usr/share/doc/ntp4/html/pic/fg6039.jpg -#usr/share/doc/ntp4/html/pic/fig_3_1.gif -#usr/share/doc/ntp4/html/pic/flatheads.gif -#usr/share/doc/ntp4/html/pic/flt1.gif -#usr/share/doc/ntp4/html/pic/flt2.gif -#usr/share/doc/ntp4/html/pic/flt3.gif -#usr/share/doc/ntp4/html/pic/flt4.gif -#usr/share/doc/ntp4/html/pic/flt5.gif -#usr/share/doc/ntp4/html/pic/flt6.gif -#usr/share/doc/ntp4/html/pic/flt7.gif -#usr/share/doc/ntp4/html/pic/flt8.gif -#usr/share/doc/ntp4/html/pic/flt9.gif -#usr/share/doc/ntp4/html/pic/freq1211.gif -#usr/share/doc/ntp4/html/pic/gadget.jpg -#usr/share/doc/ntp4/html/pic/gps167.jpg -#usr/share/doc/ntp4/html/pic/group.gif -#usr/share/doc/ntp4/html/pic/hornraba.gif -#usr/share/doc/ntp4/html/pic/igclock.gif -#usr/share/doc/ntp4/html/pic/neoclock4x.gif -#usr/share/doc/ntp4/html/pic/offset1211.gif -#usr/share/doc/ntp4/html/pic/oncore_evalbig.gif -#usr/share/doc/ntp4/html/pic/oncore_remoteant.jpg -#usr/share/doc/ntp4/html/pic/oncore_utplusbig.gif -#usr/share/doc/ntp4/html/pic/oz2.gif -#usr/share/doc/ntp4/html/pic/panda.gif -#usr/share/doc/ntp4/html/pic/pd_om006.gif -#usr/share/doc/ntp4/html/pic/pd_om011.gif -#usr/share/doc/ntp4/html/pic/peer.gif -#usr/share/doc/ntp4/html/pic/pogo.gif -#usr/share/doc/ntp4/html/pic/pogo1a.gif -#usr/share/doc/ntp4/html/pic/pogo3a.gif -#usr/share/doc/ntp4/html/pic/pogo4.gif -#usr/share/doc/ntp4/html/pic/pogo5.gif -#usr/share/doc/ntp4/html/pic/pogo6.gif -#usr/share/doc/ntp4/html/pic/pogo7.gif -#usr/share/doc/ntp4/html/pic/pogo8.gif -#usr/share/doc/ntp4/html/pic/pzf509.jpg -#usr/share/doc/ntp4/html/pic/pzf511.jpg -#usr/share/doc/ntp4/html/pic/rabbit.gif -#usr/share/doc/ntp4/html/pic/radio2.jpg -#usr/share/doc/ntp4/html/pic/sheepb.jpg -#usr/share/doc/ntp4/html/pic/stack1a.jpg -#usr/share/doc/ntp4/html/pic/stats.gif -#usr/share/doc/ntp4/html/pic/sx5.gif -#usr/share/doc/ntp4/html/pic/thunderbolt.jpg -#usr/share/doc/ntp4/html/pic/time1.gif -#usr/share/doc/ntp4/html/pic/tonea.gif -#usr/share/doc/ntp4/html/pic/tribeb.gif -#usr/share/doc/ntp4/html/pic/wingdorothy.gif -#usr/share/doc/ntp4/html/poll.html -#usr/share/doc/ntp4/html/pps.html -#usr/share/doc/ntp4/html/prefer.html -#usr/share/doc/ntp4/html/quick.html -#usr/share/doc/ntp4/html/rate.html -#usr/share/doc/ntp4/html/rdebug.html -#usr/share/doc/ntp4/html/refclock.html -#usr/share/doc/ntp4/html/release.html -#usr/share/doc/ntp4/html/scripts -#usr/share/doc/ntp4/html/scripts/accopt.txt -#usr/share/doc/ntp4/html/scripts/audio.txt -#usr/share/doc/ntp4/html/scripts/authopt.txt -#usr/share/doc/ntp4/html/scripts/clockopt.txt -#usr/share/doc/ntp4/html/scripts/command.txt -#usr/share/doc/ntp4/html/scripts/config.txt -#usr/share/doc/ntp4/html/scripts/confopt.txt -#usr/share/doc/ntp4/html/scripts/external.txt -#usr/share/doc/ntp4/html/scripts/footer.txt -#usr/share/doc/ntp4/html/scripts/hand.txt -#usr/share/doc/ntp4/html/scripts/install.txt -#usr/share/doc/ntp4/html/scripts/manual.txt -#usr/share/doc/ntp4/html/scripts/misc.txt -#usr/share/doc/ntp4/html/scripts/miscopt.txt -#usr/share/doc/ntp4/html/scripts/monopt.txt -#usr/share/doc/ntp4/html/scripts/refclock.txt -#usr/share/doc/ntp4/html/scripts/special.txt -#usr/share/doc/ntp4/html/scripts/style.css -#usr/share/doc/ntp4/html/select.html -#usr/share/doc/ntp4/html/sitemap.html -#usr/share/doc/ntp4/html/sntp.html -#usr/share/doc/ntp4/html/stats.html -#usr/share/doc/ntp4/html/tickadj.html -#usr/share/doc/ntp4/html/warp.html -#usr/share/doc/ntp4/html/xleave.html -#usr/share/doc/ntp4/ntp-keygen.html -#usr/share/doc/ntp4/ntp-wait.html -#usr/share/doc/ntp4/ntp.conf.html -#usr/share/doc/ntp4/ntp.keys.html -#usr/share/doc/ntp4/ntpd.html -#usr/share/doc/ntp4/ntpdc.html -#usr/share/doc/ntp4/ntpq.html -#usr/share/doc/ntp4/ntpsnmpd.html -#usr/share/doc/ntp4/ntpsweep.html -#usr/share/doc/ntp4/ntptrace.html -#usr/share/doc/sntp -#usr/share/doc/sntp/sntp.html -#usr/share/man/man1/calc_tickadj.1 -#usr/share/man/man1/ntp-keygen.1 -#usr/share/man/man1/ntp-wait.1 -#usr/share/man/man1/ntpd.1 -#usr/share/man/man1/ntpdc.1 -#usr/share/man/man1/ntpq.1 -#usr/share/man/man1/ntptrace.1 -#usr/share/man/man1/sntp.1 -#usr/share/man/man5/ntp.conf.5 -#usr/share/man/man5/ntp.keys.5 -#usr/share/ntp -#usr/share/ntp/lib -#usr/share/ntp/lib/NTP -#usr/share/ntp/lib/NTP/Util.pm -var/ipfire/time/counter.conf -var/ipfire/time/enable -var/ipfire/time/settime.conf -var/ipfire/time/settings diff --git a/config/rootfiles/core/87/filelists/openssl b/config/rootfiles/core/87/filelists/openssl deleted file mode 120000 index e011a92..0000000 --- a/config/rootfiles/core/87/filelists/openssl +++ /dev/null @@ -1 +0,0 @@ -../../../common/openssl \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/openssl-compat b/config/rootfiles/core/87/filelists/openssl-compat deleted file mode 120000 index c9fa421..0000000 --- a/config/rootfiles/core/87/filelists/openssl-compat +++ /dev/null @@ -1 +0,0 @@ -../../../common/openssl-compat \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/openvpn b/config/rootfiles/core/87/filelists/openvpn deleted file mode 120000 index 493f3f7..0000000 --- a/config/rootfiles/core/87/filelists/openvpn +++ /dev/null @@ -1 +0,0 @@ -../../../common/openvpn \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/parted b/config/rootfiles/core/87/filelists/parted deleted file mode 120000 index 89195d8..0000000 --- a/config/rootfiles/core/87/filelists/parted +++ /dev/null @@ -1 +0,0 @@ -../../../common/parted \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/patch b/config/rootfiles/core/87/filelists/patch deleted file mode 120000 index 27a3825..0000000 --- a/config/rootfiles/core/87/filelists/patch +++ /dev/null @@ -1 +0,0 @@ -../../../common/patch \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/pigz b/config/rootfiles/core/87/filelists/pigz deleted file mode 120000 index 696f8f8..0000000 --- a/config/rootfiles/core/87/filelists/pigz +++ /dev/null @@ -1 +0,0 @@ -../../../common/pigz \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/setup b/config/rootfiles/core/87/filelists/setup deleted file mode 120000 index 209374b..0000000 --- a/config/rootfiles/core/87/filelists/setup +++ /dev/null @@ -1 +0,0 @@ -../../../common/setup \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/slang b/config/rootfiles/core/87/filelists/slang deleted file mode 120000 index 228e45e..0000000 --- a/config/rootfiles/core/87/filelists/slang +++ /dev/null @@ -1 +0,0 @@ -../../../common/slang \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/strongswan b/config/rootfiles/core/87/filelists/strongswan deleted file mode 120000 index 90c727e..0000000 --- a/config/rootfiles/core/87/filelists/strongswan +++ /dev/null @@ -1 +0,0 @@ -../../../common/strongswan \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/tzdata b/config/rootfiles/core/87/filelists/tzdata deleted file mode 120000 index 5a6e325..0000000 --- a/config/rootfiles/core/87/filelists/tzdata +++ /dev/null @@ -1 +0,0 @@ -../../../common/tzdata \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/updated-firmwares b/config/rootfiles/core/87/filelists/updated-firmwares deleted file mode 100644 index 172312f..0000000 --- a/config/rootfiles/core/87/filelists/updated-firmwares +++ /dev/null @@ -1,203 +0,0 @@ -lib/firmware/amd-ucode/microcode_amd_fam15h.bin -lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc -lib/firmware/amd-ucode/microcode_amd_fam16h.bin -lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc -lib/firmware/as102_data1_st.hex -lib/firmware/as102_data2_st.hex -lib/firmware/bnx2x/bnx2x-e1-7.10.51.0.fw -lib/firmware/bnx2x/bnx2x-e1-7.8.19.0.fw -lib/firmware/bnx2x/bnx2x-e1h-7.10.51.0.fw -lib/firmware/bnx2x/bnx2x-e1h-7.8.19.0.fw -lib/firmware/bnx2x/bnx2x-e2-7.10.51.0.fw -lib/firmware/bnx2x/bnx2x-e2-7.8.19.0.fw -lib/firmware/brcm/brcmfmac43143.bin -lib/firmware/brcm/brcmfmac43143-sdio.bin -lib/firmware/brcm/brcmfmac43362-sdio.bin -lib/firmware/brcm/brcmfmac4354-sdio.bin -lib/firmware/cmmb_vega_12mhz.inp -lib/firmware/cmmb_venice_12mhz.inp -lib/firmware/cxgb4/t4fw-1.12.25.0.bin -lib/firmware/cxgb4/t4fw.bin -lib/firmware/cxgb4/t5fw-1.12.25.0.bin -lib/firmware/cxgb4/t5fw.bin -lib/firmware/dvb-fe-drxj-mc-1.0.8.fw -lib/firmware/dvb-fe-drxj-mc-vsb-1.0.8.fw -lib/firmware/dvb-fe-drxj-mc-vsb-qam-1.0.8.fw -lib/firmware/dvb-fe-xc4000-1.4.1.fw -lib/firmware/dvb-fe-xc5000c-4.1.30.7.fw -lib/firmware/dvb_nova_12mhz_b0.inp -lib/firmware/dvb_nova_12mhz.inp -lib/firmware/dvb-usb-it9135-01.fw -lib/firmware/dvb-usb-it9135-02.fw -lib/firmware/emi62/bitstream.fw -lib/firmware/intel/fw_sst_0f28.bin -lib/firmware/intel/fw_sst_0f28.bin-48kHz_i2s_master -lib/firmware/intel/ibt-hw-37.7.10-fw-1.0.1.2d.d.bseq -lib/firmware/intel/ibt-hw-37.7.10-fw-1.0.2.3.d.bseq -lib/firmware/intel/ibt-hw-37.7.10-fw-1.80.1.2d.d.bseq -lib/firmware/intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq -lib/firmware/intel/ibt-hw-37.8.10-fw-1.10.2.27.d.bseq -lib/firmware/intel/ibt-hw-37.8.10-fw-1.10.3.11.e.bseq -lib/firmware/intel/ibt-hw-37.8.bseq -lib/firmware/intel/IntcSST2.bin -lib/firmware/isdbt_nova_12mhz_b0.inp -lib/firmware/isdbt_nova_12mhz.inp -lib/firmware/isdbt_rio.inp -lib/firmware/iwlwifi-3160-10.ucode -lib/firmware/iwlwifi-3160-8.ucode -lib/firmware/iwlwifi-3160-9.ucode -lib/firmware/iwlwifi-7260-10.ucode -lib/firmware/iwlwifi-7260-8.ucode -lib/firmware/iwlwifi-7260-9.ucode -lib/firmware/iwlwifi-7265-10.ucode -lib/firmware/iwlwifi-7265-8.ucode -lib/firmware/iwlwifi-7265-9.ucode -lib/firmware/iwlwifi-7265D-10.ucode -lib/firmware/LICENCE.Abilis -lib/firmware/LICENCE.chelsio_firmware -lib/firmware/LICENCE.fw_sst_0f28 -lib/firmware/LICENCE.ibt_firmware -lib/firmware/LICENCE.IntcSST2 -lib/firmware/LICENCE.it913x -lib/firmware/LICENCE.iwlwifi_firmware -lib/firmware/LICENCE.qat_dh895xcc_firmware -lib/firmware/LICENCE.r8a779x_usb3 -lib/firmware/LICENCE.siano -lib/firmware/LICENCE.xc4000 -lib/firmware/LICENCE.xc5000c -lib/firmware/LICENSE.amd-ucode -lib/firmware/LICENSE.radeon -lib/firmware/myri10ge_eth_big_z8e.dat -lib/firmware/myri10ge_ethp_big_z8e.dat -lib/firmware/myri10ge_ethp_z8e.dat -lib/firmware/myri10ge_eth_z8e.dat -lib/firmware/myri10ge_rss_eth_big_z8e.dat -lib/firmware/myri10ge_rss_ethp_big_z8e.dat -lib/firmware/myri10ge_rss_ethp_z8e.dat -lib/firmware/myri10ge_rss_eth_z8e.dat -lib/firmware/qat_895xcc.bin -lib/firmware/ql2400_fw.bin -lib/firmware/ql2500_fw.bin -lib/firmware/r8a779x_usb3_v1.dlmem -lib/firmware/radeon/bonaire_ce.bin -lib/firmware/radeon/BONAIRE_mc2.bin -lib/firmware/radeon/bonaire_mc.bin -lib/firmware/radeon/bonaire_me.bin -lib/firmware/radeon/bonaire_mec.bin -lib/firmware/radeon/bonaire_pfp.bin -lib/firmware/radeon/bonaire_rlc.bin -lib/firmware/radeon/bonaire_sdma.bin -lib/firmware/radeon/bonaire_smc.bin -lib/firmware/radeon/BONAIRE_vce.bin -lib/firmware/radeon/hainan_ce.bin -lib/firmware/radeon/HAINAN_mc2.bin -lib/firmware/radeon/hainan_mc.bin -lib/firmware/radeon/hainan_me.bin -lib/firmware/radeon/hainan_pfp.bin -lib/firmware/radeon/hainan_rlc.bin -lib/firmware/radeon/hainan_smc.bin -lib/firmware/radeon/hawaii_ce.bin -lib/firmware/radeon/HAWAII_ce.bin -lib/firmware/radeon/HAWAII_mc2.bin -lib/firmware/radeon/hawaii_mc.bin -lib/firmware/radeon/HAWAII_mc.bin -lib/firmware/radeon/hawaii_me.bin -lib/firmware/radeon/HAWAII_me.bin -lib/firmware/radeon/hawaii_mec.bin -lib/firmware/radeon/HAWAII_mec.bin -lib/firmware/radeon/hawaii_pfp.bin -lib/firmware/radeon/HAWAII_pfp.bin -lib/firmware/radeon/hawaii_rlc.bin -lib/firmware/radeon/HAWAII_rlc.bin -lib/firmware/radeon/hawaii_sdma.bin -lib/firmware/radeon/HAWAII_sdma.bin -lib/firmware/radeon/hawaii_smc.bin -lib/firmware/radeon/HAWAII_smc.bin -lib/firmware/radeon/kabini_ce.bin -lib/firmware/radeon/kabini_me.bin -lib/firmware/radeon/kabini_mec.bin -lib/firmware/radeon/kabini_pfp.bin -lib/firmware/radeon/kabini_rlc.bin -lib/firmware/radeon/kabini_sdma.bin -lib/firmware/radeon/kaveri_ce.bin -lib/firmware/radeon/kaveri_me.bin -lib/firmware/radeon/kaveri_mec2.bin -lib/firmware/radeon/kaveri_mec.bin -lib/firmware/radeon/kaveri_pfp.bin -lib/firmware/radeon/kaveri_rlc.bin -lib/firmware/radeon/kaveri_sdma.bin -lib/firmware/radeon/mullins_ce.bin -lib/firmware/radeon/MULLINS_ce.bin -lib/firmware/radeon/mullins_me.bin -lib/firmware/radeon/MULLINS_me.bin -lib/firmware/radeon/mullins_mec.bin -lib/firmware/radeon/MULLINS_mec.bin -lib/firmware/radeon/mullins_pfp.bin -lib/firmware/radeon/MULLINS_pfp.bin -lib/firmware/radeon/mullins_rlc.bin -lib/firmware/radeon/MULLINS_rlc.bin -lib/firmware/radeon/mullins_sdma.bin -lib/firmware/radeon/MULLINS_sdma.bin -lib/firmware/radeon/oland_ce.bin -lib/firmware/radeon/OLAND_mc2.bin -lib/firmware/radeon/oland_mc.bin -lib/firmware/radeon/oland_me.bin -lib/firmware/radeon/oland_pfp.bin -lib/firmware/radeon/oland_rlc.bin -lib/firmware/radeon/oland_smc.bin -lib/firmware/radeon/pitcairn_ce.bin -lib/firmware/radeon/PITCAIRN_mc2.bin -lib/firmware/radeon/pitcairn_mc.bin -lib/firmware/radeon/pitcairn_me.bin -lib/firmware/radeon/pitcairn_pfp.bin -lib/firmware/radeon/pitcairn_rlc.bin -lib/firmware/radeon/pitcairn_smc.bin -lib/firmware/radeon/R600_uvd.bin -lib/firmware/radeon/RS780_uvd.bin -lib/firmware/radeon/RV770_uvd.bin -lib/firmware/radeon/tahiti_ce.bin -lib/firmware/radeon/TAHITI_mc2.bin -lib/firmware/radeon/tahiti_mc.bin -lib/firmware/radeon/tahiti_me.bin -lib/firmware/radeon/tahiti_pfp.bin -lib/firmware/radeon/tahiti_rlc.bin -lib/firmware/radeon/tahiti_smc.bin -lib/firmware/radeon/verde_ce.bin -lib/firmware/radeon/VERDE_mc2.bin -lib/firmware/radeon/verde_mc.bin -lib/firmware/radeon/verde_me.bin -lib/firmware/radeon/verde_pfp.bin -lib/firmware/radeon/verde_rlc.bin -lib/firmware/radeon/verde_smc.bin -lib/firmware/README -lib/firmware/rsi_91x.fw -lib/firmware/rtl_nic/rtl8107e-1.fw -lib/firmware/rtl_nic/rtl8107e-2.fw -lib/firmware/rtl_nic/rtl8168h-1.fw -lib/firmware/rtl_nic/rtl8168h-2.fw -lib/firmware/rtlwifi/rtl8192cfw.bin -lib/firmware/rtlwifi/rtl8192cfwU_B.bin -lib/firmware/rtlwifi/rtl8192defw.bin -lib/firmware/rtlwifi/rtl8192eefw.bin -lib/firmware/rtlwifi/rtl8723aufw_A.bin -lib/firmware/rtlwifi/rtl8723aufw_B.bin -lib/firmware/rtlwifi/rtl8723aufw_B_NoBT.bin -lib/firmware/rtlwifi/rtl8723befw.bin -lib/firmware/rtlwifi/rtl8821aefw.bin -lib/firmware/rtlwifi/rtl8821aefw_wowlan.bin -lib/firmware/s5p-mfc.fw -lib/firmware/s5p-mfc-v6.fw -lib/firmware/s5p-mfc-v6-v2.fw -lib/firmware/s5p-mfc-v7.fw -lib/firmware/s5p-mfc-v8.fw -lib/firmware/sms1xxx-hcw-55xxx-dvbt-02.fw -lib/firmware/sms1xxx-hcw-55xxx-isdbt-02.fw -lib/firmware/sms1xxx-nova-a-dvbt-01.fw -lib/firmware/sms1xxx-nova-b-dvbt-01.fw -lib/firmware/sms1xxx-stellar-dvbt-01.fw -lib/firmware/tdmb_nova_12mhz.inp -lib/firmware/ti-connectivity/wl18xx-fw-3.bin -lib/firmware/ti-connectivity/wl18xx-fw-4.bin -lib/firmware/v4l-cx23885-enc-broken.fw -lib/firmware/WHENCE -lib/firmware/brcm/brcmfmac43362-sdio.txt diff --git a/config/rootfiles/core/87/filelists/wireless-regdb b/config/rootfiles/core/87/filelists/wireless-regdb deleted file mode 120000 index c9205b3..0000000 --- a/config/rootfiles/core/87/filelists/wireless-regdb +++ /dev/null @@ -1 +0,0 @@ -../../../common/wireless-regdb \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/wpa_supplicant b/config/rootfiles/core/87/filelists/wpa_supplicant deleted file mode 120000 index 1d04c03..0000000 --- a/config/rootfiles/core/87/filelists/wpa_supplicant +++ /dev/null @@ -1 +0,0 @@ -../../../common/wpa_supplicant \ No newline at end of file diff --git a/config/rootfiles/core/87/filelists/xfsprogs b/config/rootfiles/core/87/filelists/xfsprogs deleted file mode 120000 index 9103296..0000000 --- a/config/rootfiles/core/87/filelists/xfsprogs +++ /dev/null @@ -1 +0,0 @@ -../../../common/xfsprogs \ No newline at end of file diff --git a/config/rootfiles/core/87/meta b/config/rootfiles/core/87/meta deleted file mode 100644 index d547fa8..0000000 --- a/config/rootfiles/core/87/meta +++ /dev/null @@ -1 +0,0 @@ -DEPS="" diff --git a/config/rootfiles/core/87/update.sh b/config/rootfiles/core/87/update.sh deleted file mode 100644 index 172d854..0000000 --- a/config/rootfiles/core/87/update.sh +++ /dev/null @@ -1,284 +0,0 @@ -#!/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) 2014 IPFire-Team info@ipfire.org. # -# # -############################################################################ -# -. /opt/pakfire/lib/functions.sh -/usr/local/bin/backupctrl exclude >/dev/null 2>&1 - - -function find_device() { - local mountpoint="${1}" - - local root - local dev mp fs flags rest - while read -r dev mp fs flags rest; do - # Skip unwanted entries - [ "${dev}" = "rootfs" ] && continue - - if [ "${mp}" = "${mountpoint}" ] && [ -b "${dev}" ]; then - root="$(basename "${dev}")" - break - fi - done < /proc/mounts - - # Get the actual device from the partition that holds / - while [ -n "${root}" ]; do - if [ -e "/sys/block/${root}" ]; then - echo "${root}" - return 0 - fi - - # Remove last character - root="${root::-1}" - done - - return 1 -} - - -# -# Remove old core updates from pakfire cache to save space... -core=87 -for (( i=1; i<=${core}; i++ )) -do - rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire -done - -# -# Do some sanity checks. -case $(uname -r) in - *-ipfire-versatile ) - /usr/bin/logger -p syslog.emerg -t ipfire \ - "core-update-${core}: ERROR cannot update. versatile support is dropped." - # Report no error to pakfire. So it does not try to install it again. - exit 0 - ;; - *-ipfire* ) - # Ok. - ;; - * ) - /usr/bin/logger -p syslog.emerg -t ipfire \ - "core-update-${core}: ERROR cannot update. No IPFire Kernel." - exit 1 - ;; -esac - - -# -# -KVER="xxxKVERxxx" - -# Check diskspace on root -ROOTSPACE=`df / -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1` - -if [ $ROOTSPACE -lt 100000 ]; then - /usr/bin/logger -p syslog.emerg -t ipfire \ - "core-update-${core}: ERROR cannot update because not enough free space on root." - exit 2 -fi - - -echo -echo Update Kernel to $KVER ... -# -# Remove old kernel, configs, initrd, modules, dtb's ... -# -rm -rf /boot/System.map-* -rm -rf /boot/config-* -rm -rf /boot/ipfirerd-* -rm -rf /boot/initramfs-* -rm -rf /boot/vmlinuz-* -rm -rf /boot/uImage-ipfire-* -rm -rf /boot/uInit-ipfire-* -rm -rf /boot/dtb-*-ipfire-* -rm -rf /lib/modules - -case "$(uname -m)" in - i?86) - # Backup old grub config - if [ -f /boot/grub/grub.conf ]; then - cp -vf /boot/grub/grub.conf /boot/old-grub-config - fi - if [ -f /boot/grub/menu.lst ]; then - cp -vf /boot/grub/menu.lst /boot/old-grub-config - fi - if [ -f /boot/grub/grub.cfg ]; then - cp -vf /boot/grub/grub.cfg /boot/old-grub-config - fi - - # Remove all files that belong to GRUB-legacy - rm -rfv /boot/grub - ;; - armv*) - # Backup uEnv.txt if exist - if [ -e /boot/uEnv.txt ]; then - cp -vf /boot/uEnv.txt /boot/uEnv.txt.org - fi - - # work around the u-boot folder detection bug - mkdir -pv /boot/dtb-$KVER-ipfire-kirkwood - mkdir -pv /boot/dtb-$KVER-ipfire-multi - ;; -esac - -# -#Stop services -/etc/init.d/snort stop -/etc/init.d/squid stop -/etc/init.d/ipsec stop -/etc/init.d/apache stop - -# -#Extract files -tar xavf /opt/pakfire/tmp/files* --no-overwrite-dir -p --numeric-owner -C / - -# -#restart init because glibc was updated. -telinit u - -# Check diskspace on boot -BOOTSPACE=`df /boot -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1` - -if [ $BOOTSPACE -lt 1000 ]; then - case $(uname -r) in - *-ipfire-kirkwood ) - # Special handling for old kirkwood images. - # (install only kirkwood kernel) - rm -rf /boot/* - # work around the u-boot folder detection bug - mkdir -pv /boot/dtb-$KVER-ipfire-kirkwood - tar xavf /opt/pakfire/tmp/files* --no-overwrite-dir -p \ - --numeric-owner -C / --wildcards 'boot/*-kirkwood*' - ;; - * ) - /usr/bin/logger -p syslog.emerg -t ipfire \ - "core-update-${core}: FATAL-ERROR space run out on boot. System is not bootable..." - /etc/init.d/apache start - exit 4 - ;; - esac -fi - -# Update Language cache -perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang" - -# Add nobody to group dialout -usermod -a -G dialout nobody - -# -# Start services -# -/etc/init.d/apache start -/etc/init.d/squid start -/etc/init.d/snort start -if [ `grep "ENABLED=on" /var/ipfire/vpn/settings` ]; then - /etc/init.d/ipsec start -fi - -case "$(uname -m)" in - i?86) - case "$(find_device "/")" in - xvd* ) - echo Skip remove grub2 files, because pygrub fail. - rm -f /boot/grub/* - echo config will recreated by linux-pae install. - ;; - * ) - # - # Update to GRUB2 - # - echo - echo Update grub configuration ... - if grep -qE "^serial" /boot/old-grub-config; then - sed -i /etc/default/grub \ - -e "s|panic=10|& console=ttyS0,115200n8|g" - echo "GRUB_TERMINAL="serial"" >> /etc/default/grub - echo "GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200"" >> /etc/default/grub - fi - - if ! /usr/local/bin/update-bootloader; then - logger -p syslog.emerg -t ipfire \ - "Could not update the bootloader!" - fi - ;; - esac -esac - -# Force (re)install pae kernel if pae is supported -rm -rf /opt/pakfire/db/*/meta-linux-pae -if [ ! "$(grep "^flags.* pae " /proc/cpuinfo)" == "" ]; then - ROOTSPACE=`df / -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1` - BOOTSPACE=`df /boot -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1` - if [ $BOOTSPACE -lt 12000 -o $ROOTSPACE -lt 90000 ]; then - /usr/bin/logger -p syslog.emerg -t ipfire \ - "core-update-${core}: WARNING not enough space for pae kernel." - else - echo "Name: linux-pae" > /opt/pakfire/db/installed/meta-linux-pae - echo "ProgVersion: 0" >> /opt/pakfire/db/installed/meta-linux-pae - echo "Release: 0" >> /opt/pakfire/db/installed/meta-linux-pae - echo "Name: linux-pae" > /opt/pakfire/db/meta/meta-linux-pae - echo "ProgVersion: 0" >> /opt/pakfire/db/meta/meta-linux-pae - echo "Release: 0" >> /opt/pakfire/db/meta/meta-linux-pae - fi -fi - -# -# After pakfire has ended run it again and update the lists and do upgrade -# -echo '#!/bin/bash' > /tmp/pak_update -echo 'while [ "$(ps -A | grep " update.sh")" != "" ]; do' >> /tmp/pak_update -echo ' sleep 1' >> /tmp/pak_update -echo 'done' >> /tmp/pak_update -echo 'while [ "$(ps -A | grep " pakfire")" != "" ]; do' >> /tmp/pak_update -echo ' sleep 1' >> /tmp/pak_update -echo 'done' >> /tmp/pak_update -echo '/opt/pakfire/pakfire update -y --force' >> /tmp/pak_update -echo '/opt/pakfire/pakfire upgrade -y' >> /tmp/pak_update -echo '/opt/pakfire/pakfire upgrade -y' >> /tmp/pak_update -echo '/opt/pakfire/pakfire upgrade -y' >> /tmp/pak_update -echo '/usr/bin/logger -p syslog.emerg -t ipfire "Core-upgrade finished. If you use a customized grub/uboot config"' >> /tmp/pak_update -echo '/usr/bin/logger -p syslog.emerg -t ipfire "Check it before reboot !!!"' >> /tmp/pak_update -echo '/usr/bin/logger -p syslog.emerg -t ipfire " *** Please reboot... *** "' >> /tmp/pak_update -echo 'touch /var/run/need_reboot ' >> /tmp/pak_update -# -killall -KILL pak_update -chmod +x /tmp/pak_update -/tmp/pak_update & - -sync - -# -#Finish -( - /etc/init.d/fireinfo start - sendprofile -) >/dev/null 2>&1 & - -# Update Package list for addon installation -/opt/pakfire/pakfire update -y --force - -echo -echo Please wait until pakfire has ended... -echo - -# Don't report the exitcode last command -exit 0 diff --git a/config/rootfiles/core/88/exclude b/config/rootfiles/core/88/exclude new file mode 100644 index 0000000..18e9b4d --- /dev/null +++ b/config/rootfiles/core/88/exclude @@ -0,0 +1,20 @@ +boot/config.txt +etc/collectd.custom +etc/ipsec.conf +etc/ipsec.secrets +etc/ipsec.user.conf +etc/ipsec.user.secrets +etc/localtime +etc/shadow +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/ovpn +var/log/cache +var/state/dhcp/dhcpd.leases +var/updatecache diff --git a/config/rootfiles/core/88/filelists/daq b/config/rootfiles/core/88/filelists/daq new file mode 120000 index 0000000..d0e0956 --- /dev/null +++ b/config/rootfiles/core/88/filelists/daq @@ -0,0 +1 @@ +../../../common/daq \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/ddns b/config/rootfiles/core/88/filelists/ddns new file mode 120000 index 0000000..7395164 --- /dev/null +++ b/config/rootfiles/core/88/filelists/ddns @@ -0,0 +1 @@ +../../../common/ddns \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/dnsmasq b/config/rootfiles/core/88/filelists/dnsmasq new file mode 120000 index 0000000..d469c74 --- /dev/null +++ b/config/rootfiles/core/88/filelists/dnsmasq @@ -0,0 +1 @@ +../../../common/dnsmasq \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/ethtool b/config/rootfiles/core/88/filelists/ethtool new file mode 120000 index 0000000..494a53e --- /dev/null +++ b/config/rootfiles/core/88/filelists/ethtool @@ -0,0 +1 @@ +../../../common/ethtool \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/fcron b/config/rootfiles/core/88/filelists/fcron new file mode 120000 index 0000000..4a454ea --- /dev/null +++ b/config/rootfiles/core/88/filelists/fcron @@ -0,0 +1 @@ +../../../common/fcron \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/file b/config/rootfiles/core/88/filelists/file new file mode 120000 index 0000000..0c60e43 --- /dev/null +++ b/config/rootfiles/core/88/filelists/file @@ -0,0 +1 @@ +../../../common/file \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/files b/config/rootfiles/core/88/filelists/files new file mode 100644 index 0000000..0251b5d --- /dev/null +++ b/config/rootfiles/core/88/filelists/files @@ -0,0 +1,6 @@ +etc/system-release +etc/issue +srv/web/ipfire/cgi-bin/fwhosts.cgi +srv/web/ipfire/cgi-bin/ovpnmain.cgi +var/ipfire/backup/bin/backup.pl +var/ipfire/langs diff --git a/config/rootfiles/core/88/filelists/gnupg b/config/rootfiles/core/88/filelists/gnupg new file mode 120000 index 0000000..a1a1564 --- /dev/null +++ b/config/rootfiles/core/88/filelists/gnupg @@ -0,0 +1 @@ +../../../common/gnupg \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/grep b/config/rootfiles/core/88/filelists/grep new file mode 120000 index 0000000..ab5ef8b --- /dev/null +++ b/config/rootfiles/core/88/filelists/grep @@ -0,0 +1 @@ +../../../common/grep \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/hdparm b/config/rootfiles/core/88/filelists/hdparm new file mode 120000 index 0000000..b644751 --- /dev/null +++ b/config/rootfiles/core/88/filelists/hdparm @@ -0,0 +1 @@ +../../../common/hdparm \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/libart b/config/rootfiles/core/88/filelists/libart new file mode 120000 index 0000000..bb1e078 --- /dev/null +++ b/config/rootfiles/core/88/filelists/libart @@ -0,0 +1 @@ +../../../common/libart \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/libcap b/config/rootfiles/core/88/filelists/libcap new file mode 120000 index 0000000..ed67d95 --- /dev/null +++ b/config/rootfiles/core/88/filelists/libcap @@ -0,0 +1 @@ +../../../common/libcap \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/libffi b/config/rootfiles/core/88/filelists/libffi new file mode 120000 index 0000000..c391acd --- /dev/null +++ b/config/rootfiles/core/88/filelists/libffi @@ -0,0 +1 @@ +../../../common/libffi \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/libpcap b/config/rootfiles/core/88/filelists/libpcap new file mode 120000 index 0000000..c7f9f52 --- /dev/null +++ b/config/rootfiles/core/88/filelists/libpcap @@ -0,0 +1 @@ +../../../common/libpcap \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/pcre b/config/rootfiles/core/88/filelists/pcre new file mode 120000 index 0000000..b390d9a --- /dev/null +++ b/config/rootfiles/core/88/filelists/pcre @@ -0,0 +1 @@ +../../../common/pcre \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/screen b/config/rootfiles/core/88/filelists/screen new file mode 120000 index 0000000..81008f4 --- /dev/null +++ b/config/rootfiles/core/88/filelists/screen @@ -0,0 +1 @@ +../../../common/screen \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/smartmontools b/config/rootfiles/core/88/filelists/smartmontools new file mode 120000 index 0000000..fb66daf --- /dev/null +++ b/config/rootfiles/core/88/filelists/smartmontools @@ -0,0 +1 @@ +../../../common/smartmontools \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/snort b/config/rootfiles/core/88/filelists/snort new file mode 120000 index 0000000..9406ce0 --- /dev/null +++ b/config/rootfiles/core/88/filelists/snort @@ -0,0 +1 @@ +../../../common/snort \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/sqlite b/config/rootfiles/core/88/filelists/sqlite new file mode 120000 index 0000000..4ea5697 --- /dev/null +++ b/config/rootfiles/core/88/filelists/sqlite @@ -0,0 +1 @@ +../../../common/sqlite \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/squid b/config/rootfiles/core/88/filelists/squid new file mode 120000 index 0000000..2dc8372 --- /dev/null +++ b/config/rootfiles/core/88/filelists/squid @@ -0,0 +1 @@ +../../../common/squid \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/tar b/config/rootfiles/core/88/filelists/tar new file mode 120000 index 0000000..3e585d2 --- /dev/null +++ b/config/rootfiles/core/88/filelists/tar @@ -0,0 +1 @@ +../../../common/tar \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/wget b/config/rootfiles/core/88/filelists/wget new file mode 120000 index 0000000..fcb57df --- /dev/null +++ b/config/rootfiles/core/88/filelists/wget @@ -0,0 +1 @@ +../../../common/wget \ No newline at end of file diff --git a/config/rootfiles/core/88/filelists/zlib b/config/rootfiles/core/88/filelists/zlib new file mode 120000 index 0000000..e345663 --- /dev/null +++ b/config/rootfiles/core/88/filelists/zlib @@ -0,0 +1 @@ +../../../common/zlib \ No newline at end of file diff --git a/config/rootfiles/core/88/meta b/config/rootfiles/core/88/meta new file mode 100644 index 0000000..d547fa8 --- /dev/null +++ b/config/rootfiles/core/88/meta @@ -0,0 +1 @@ +DEPS="" diff --git a/config/rootfiles/core/88/update.sh b/config/rootfiles/core/88/update.sh new file mode 100644 index 0000000..18dd9af --- /dev/null +++ b/config/rootfiles/core/88/update.sh @@ -0,0 +1,64 @@ +#!/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) 2014 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +/usr/local/bin/backupctrl exclude >/dev/null 2>&1 + +# Remove old core updates from pakfire cache to save space... +core=88 +for (( i=1; i<=$core; i++ )) +do + rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire +done + +# Stop services + +# Remove old files + +# Extract files +extract_files + +# Start services + +# Update Language cache +perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang" + +# Uninstall the sqlite package. +rm -f \ + /opt/pakfire/db/installed/meta-sqlite \ + /opt/pakfire/db/rootfiles/sqlite + +# Fix #10625 +mkdir -p /etc/logrotate.d + +sync + +# This update need a reboot... +#touch /var/run/need_reboot + +# Finish +/etc/init.d/fireinfo start +sendprofile + +# Don't report the exitcode last command +exit 0 diff --git a/config/rootfiles/oldcore/86/filelists/hwdata b/config/rootfiles/oldcore/86/filelists/hwdata new file mode 120000 index 0000000..ced9116 --- /dev/null +++ b/config/rootfiles/oldcore/86/filelists/hwdata @@ -0,0 +1 @@ +../../../common/hwdata \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/exclude b/config/rootfiles/oldcore/87/exclude new file mode 100644 index 0000000..5be5371 --- /dev/null +++ b/config/rootfiles/oldcore/87/exclude @@ -0,0 +1,26 @@ +boot/config.txt +etc/collectd.custom +etc/ipsec.conf +etc/ipsec.secrets +etc/ipsec.user.conf +etc/ipsec.user.secrets +etc/localtime +etc/rc.d/rcsysinit.d/S19checkfstab +etc/rc.d/rcsysinit.d/S70console +etc/shadow +etc/ssh/ssh_config +etc/ssh/sshd_config +etc/ssl/openssl.cnf +etc/sudoers +etc/sysconfig/firewall.local +etc/sysconfig/modules +etc/sysconfig/rc.local +etc/udev/rules.d/30-persistent-network.rules +srv/web/ipfire/html/proxy.pac +var/ipfire/time +var/ipfire/ovpn/ccd.conf +var/ipfire/ovpn/ccdroute +var/ipfire/ovpn/ccdroute2 +var/log/cache +var/state/dhcp/dhcpd.leases +var/updatecache diff --git a/config/rootfiles/oldcore/87/filelists/armv5tel/glibc b/config/rootfiles/oldcore/87/filelists/armv5tel/glibc new file mode 120000 index 0000000..4c70d72 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/armv5tel/glibc @@ -0,0 +1 @@ +../../../../common/armv5tel/glibc \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/armv5tel/initscripts b/config/rootfiles/oldcore/87/filelists/armv5tel/initscripts new file mode 120000 index 0000000..af1d762 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/armv5tel/initscripts @@ -0,0 +1 @@ +../../../../common/armv5tel/initscripts \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/armv5tel/linux-kirkwood b/config/rootfiles/oldcore/87/filelists/armv5tel/linux-kirkwood new file mode 120000 index 0000000..7217107 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/armv5tel/linux-kirkwood @@ -0,0 +1 @@ +../../../../common/armv5tel/linux-kirkwood \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/armv5tel/linux-multi b/config/rootfiles/oldcore/87/filelists/armv5tel/linux-multi new file mode 120000 index 0000000..204eb4c --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/armv5tel/linux-multi @@ -0,0 +1 @@ +../../../../common/armv5tel/linux-multi \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/armv5tel/linux-rpi b/config/rootfiles/oldcore/87/filelists/armv5tel/linux-rpi new file mode 120000 index 0000000..a651a49 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/armv5tel/linux-rpi @@ -0,0 +1 @@ +../../../../common/armv5tel/linux-rpi \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/armv5tel/swconfig b/config/rootfiles/oldcore/87/filelists/armv5tel/swconfig new file mode 120000 index 0000000..e5606ed --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/armv5tel/swconfig @@ -0,0 +1 @@ +../../../../common/armv5tel/swconfig \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/armv5tel/u-boot b/config/rootfiles/oldcore/87/filelists/armv5tel/u-boot new file mode 120000 index 0000000..3df31a8 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/armv5tel/u-boot @@ -0,0 +1 @@ +../../../../common/armv5tel/u-boot \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/bash b/config/rootfiles/oldcore/87/filelists/bash new file mode 120000 index 0000000..de970cb --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/bash @@ -0,0 +1 @@ +../../../common/bash \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/coreutils b/config/rootfiles/oldcore/87/filelists/coreutils new file mode 120000 index 0000000..7351ed2 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/coreutils @@ -0,0 +1 @@ +../../../common/coreutils \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/crda b/config/rootfiles/oldcore/87/filelists/crda new file mode 120000 index 0000000..d68c46e --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/crda @@ -0,0 +1 @@ +../../../common/crda \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/dracut b/config/rootfiles/oldcore/87/filelists/dracut new file mode 120000 index 0000000..1608699 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/dracut @@ -0,0 +1 @@ +../../../common/dracut \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/files b/config/rootfiles/oldcore/87/filelists/files new file mode 100644 index 0000000..f0c3708 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/files @@ -0,0 +1,14 @@ +etc/system-release +etc/issue +etc/modprobe.d/btmrvl_sdio.conf +etc/rc.d/init.d/collectd +etc/rc.d/init.d/leds +opt/pakfire/etc/pakfire.conf +usr/lib/firewall/rules.pl +usr/local/bin/backupiso +usr/local/bin/update-bootloader +usr/local/share/GeoIP/GeoIP.dat +var/ipfire/header.pl +var/ipfire/langs +var/ipfire/lang.pl +var/ipfire/ovpn/openssl/ovpn.cnf diff --git a/config/rootfiles/oldcore/87/filelists/fireinfo b/config/rootfiles/oldcore/87/filelists/fireinfo new file mode 120000 index 0000000..c461155 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/fireinfo @@ -0,0 +1 @@ +../../../common/fireinfo \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/hwdata b/config/rootfiles/oldcore/87/filelists/hwdata new file mode 120000 index 0000000..ced9116 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/hwdata @@ -0,0 +1 @@ +../../../common/hwdata \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/i586/glibc b/config/rootfiles/oldcore/87/filelists/i586/glibc new file mode 120000 index 0000000..943021f --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/i586/glibc @@ -0,0 +1 @@ +../../../../common/i586/glibc \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/i586/grub b/config/rootfiles/oldcore/87/filelists/i586/grub new file mode 120000 index 0000000..feb236a --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/i586/grub @@ -0,0 +1 @@ +../../../../common/i586/grub \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/i586/initscripts b/config/rootfiles/oldcore/87/filelists/i586/initscripts new file mode 120000 index 0000000..12d8770 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/i586/initscripts @@ -0,0 +1 @@ +../../../../common/i586/initscripts \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/i586/linux b/config/rootfiles/oldcore/87/filelists/i586/linux new file mode 120000 index 0000000..693ec4b --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/i586/linux @@ -0,0 +1 @@ +../../../../common/i586/linux \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/i586/linux-initrd b/config/rootfiles/oldcore/87/filelists/i586/linux-initrd new file mode 120000 index 0000000..32a03e6 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/i586/linux-initrd @@ -0,0 +1 @@ +../../../../common/i586/linux-initrd \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/iw b/config/rootfiles/oldcore/87/filelists/iw new file mode 120000 index 0000000..7c58a20 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/iw @@ -0,0 +1 @@ +../../../common/iw \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/kbd b/config/rootfiles/oldcore/87/filelists/kbd new file mode 120000 index 0000000..9b85839 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/kbd @@ -0,0 +1 @@ +../../../common/kbd \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/libcap b/config/rootfiles/oldcore/87/filelists/libcap new file mode 120000 index 0000000..ed67d95 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/libcap @@ -0,0 +1 @@ +../../../common/libcap \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/libsmooth b/config/rootfiles/oldcore/87/filelists/libsmooth new file mode 120000 index 0000000..6164182 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/libsmooth @@ -0,0 +1 @@ +../../../common/libsmooth \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/lvm2 b/config/rootfiles/oldcore/87/filelists/lvm2 new file mode 120000 index 0000000..d640870 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/lvm2 @@ -0,0 +1 @@ +../../../common/lvm2 \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/mdadm b/config/rootfiles/oldcore/87/filelists/mdadm new file mode 120000 index 0000000..465808b --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/mdadm @@ -0,0 +1 @@ +../../../common/mdadm \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/misc-progs b/config/rootfiles/oldcore/87/filelists/misc-progs new file mode 120000 index 0000000..7223cad --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/misc-progs @@ -0,0 +1 @@ +../../../common/misc-progs \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/multipath-tools b/config/rootfiles/oldcore/87/filelists/multipath-tools new file mode 120000 index 0000000..9ff6323 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/multipath-tools @@ -0,0 +1 @@ +../../../common/multipath-tools \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/newt b/config/rootfiles/oldcore/87/filelists/newt new file mode 120000 index 0000000..fb3eb20 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/newt @@ -0,0 +1 @@ +../../../common/newt \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/ntp b/config/rootfiles/oldcore/87/filelists/ntp new file mode 100644 index 0000000..aacdb25 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/ntp @@ -0,0 +1,287 @@ +etc/ntp +etc/ntp.conf +etc/rc.d/rc0.d/K46ntpd +etc/rc.d/rc3.d/S26ntpd +etc/rc.d/rc6.d/K46ntpd +usr/bin/calc_tickadj +usr/bin/ntp-keygen +usr/bin/ntp-wait +usr/bin/ntpd +usr/bin/ntpdate +usr/bin/ntpdc +usr/bin/ntpq +usr/bin/ntptime +usr/bin/ntptrace +usr/bin/sntp +usr/bin/tickadj +#usr/include/event2 +#usr/share/doc/ntp4 +#usr/share/doc/ntp4/html +#usr/share/doc/ntp4/html/access.html +#usr/share/doc/ntp4/html/accopt.html +#usr/share/doc/ntp4/html/assoc.html +#usr/share/doc/ntp4/html/audio.html +#usr/share/doc/ntp4/html/authentic.html +#usr/share/doc/ntp4/html/authopt.html +#usr/share/doc/ntp4/html/autokey.html +#usr/share/doc/ntp4/html/bugs.html +#usr/share/doc/ntp4/html/build.html +#usr/share/doc/ntp4/html/clock.html +#usr/share/doc/ntp4/html/clockopt.html +#usr/share/doc/ntp4/html/cluster.html +#usr/share/doc/ntp4/html/comdex.html +#usr/share/doc/ntp4/html/config.html +#usr/share/doc/ntp4/html/confopt.html +#usr/share/doc/ntp4/html/copyright.html +#usr/share/doc/ntp4/html/debug.html +#usr/share/doc/ntp4/html/decode.html +#usr/share/doc/ntp4/html/discipline.html +#usr/share/doc/ntp4/html/discover.html +#usr/share/doc/ntp4/html/drivers +#usr/share/doc/ntp4/html/drivers/driver1.html +#usr/share/doc/ntp4/html/drivers/driver10.html +#usr/share/doc/ntp4/html/drivers/driver11.html +#usr/share/doc/ntp4/html/drivers/driver12.html +#usr/share/doc/ntp4/html/drivers/driver16.html +#usr/share/doc/ntp4/html/drivers/driver18.html +#usr/share/doc/ntp4/html/drivers/driver19.html +#usr/share/doc/ntp4/html/drivers/driver20.html +#usr/share/doc/ntp4/html/drivers/driver22.html +#usr/share/doc/ntp4/html/drivers/driver26.html +#usr/share/doc/ntp4/html/drivers/driver27.html +#usr/share/doc/ntp4/html/drivers/driver28.html +#usr/share/doc/ntp4/html/drivers/driver29.html +#usr/share/doc/ntp4/html/drivers/driver3.html +#usr/share/doc/ntp4/html/drivers/driver30.html +#usr/share/doc/ntp4/html/drivers/driver31.html +#usr/share/doc/ntp4/html/drivers/driver32.html +#usr/share/doc/ntp4/html/drivers/driver33.html +#usr/share/doc/ntp4/html/drivers/driver34.html +#usr/share/doc/ntp4/html/drivers/driver35.html +#usr/share/doc/ntp4/html/drivers/driver36.html +#usr/share/doc/ntp4/html/drivers/driver37.html +#usr/share/doc/ntp4/html/drivers/driver38.html +#usr/share/doc/ntp4/html/drivers/driver39.html +#usr/share/doc/ntp4/html/drivers/driver4.html +#usr/share/doc/ntp4/html/drivers/driver40.html +#usr/share/doc/ntp4/html/drivers/driver42.html +#usr/share/doc/ntp4/html/drivers/driver43.html +#usr/share/doc/ntp4/html/drivers/driver44.html +#usr/share/doc/ntp4/html/drivers/driver45.html +#usr/share/doc/ntp4/html/drivers/driver46.html +#usr/share/doc/ntp4/html/drivers/driver5.html +#usr/share/doc/ntp4/html/drivers/driver6.html +#usr/share/doc/ntp4/html/drivers/driver7.html +#usr/share/doc/ntp4/html/drivers/driver8.html +#usr/share/doc/ntp4/html/drivers/driver9.html +#usr/share/doc/ntp4/html/drivers/icons +#usr/share/doc/ntp4/html/drivers/icons/home.gif +#usr/share/doc/ntp4/html/drivers/icons/mail2.gif +#usr/share/doc/ntp4/html/drivers/mx4200data.html +#usr/share/doc/ntp4/html/drivers/oncore-shmem.html +#usr/share/doc/ntp4/html/drivers/scripts +#usr/share/doc/ntp4/html/drivers/scripts/footer.txt +#usr/share/doc/ntp4/html/drivers/scripts/style.css +#usr/share/doc/ntp4/html/drivers/tf582_4.html +#usr/share/doc/ntp4/html/extern.html +#usr/share/doc/ntp4/html/filter.html +#usr/share/doc/ntp4/html/hints +#usr/share/doc/ntp4/html/hints.html +#usr/share/doc/ntp4/html/hints/a-ux +#usr/share/doc/ntp4/html/hints/aix +#usr/share/doc/ntp4/html/hints/bsdi +#usr/share/doc/ntp4/html/hints/changes +#usr/share/doc/ntp4/html/hints/decosf1 +#usr/share/doc/ntp4/html/hints/decosf2 +#usr/share/doc/ntp4/html/hints/freebsd +#usr/share/doc/ntp4/html/hints/hpux +#usr/share/doc/ntp4/html/hints/linux +#usr/share/doc/ntp4/html/hints/mpeix +#usr/share/doc/ntp4/html/hints/notes-xntp-v3 +#usr/share/doc/ntp4/html/hints/parse +#usr/share/doc/ntp4/html/hints/refclocks +#usr/share/doc/ntp4/html/hints/rs6000 +#usr/share/doc/ntp4/html/hints/sco.html +#usr/share/doc/ntp4/html/hints/sgi +#usr/share/doc/ntp4/html/hints/solaris-dosynctodr.html +#usr/share/doc/ntp4/html/hints/solaris.html +#usr/share/doc/ntp4/html/hints/solaris.xtra.4023118 +#usr/share/doc/ntp4/html/hints/solaris.xtra.4095849 +#usr/share/doc/ntp4/html/hints/solaris.xtra.S99ntpd +#usr/share/doc/ntp4/html/hints/solaris.xtra.patchfreq +#usr/share/doc/ntp4/html/hints/sun4 +#usr/share/doc/ntp4/html/hints/svr4-dell +#usr/share/doc/ntp4/html/hints/svr4_package +#usr/share/doc/ntp4/html/hints/todo +#usr/share/doc/ntp4/html/hints/vxworks.html +#usr/share/doc/ntp4/html/hints/winnt.html +#usr/share/doc/ntp4/html/history.html +#usr/share/doc/ntp4/html/howto.html +#usr/share/doc/ntp4/html/huffpuff.html +#usr/share/doc/ntp4/html/icons +#usr/share/doc/ntp4/html/icons/home.gif +#usr/share/doc/ntp4/html/icons/mail2.gif +#usr/share/doc/ntp4/html/icons/sitemap.png +#usr/share/doc/ntp4/html/index.html +#usr/share/doc/ntp4/html/kern.html +#usr/share/doc/ntp4/html/kernpps.html +#usr/share/doc/ntp4/html/keygen.html +#usr/share/doc/ntp4/html/leap.html +#usr/share/doc/ntp4/html/miscopt.html +#usr/share/doc/ntp4/html/monopt.html +#usr/share/doc/ntp4/html/msyslog.html +#usr/share/doc/ntp4/html/ntp-wait.html +#usr/share/doc/ntp4/html/ntp_conf.html +#usr/share/doc/ntp4/html/ntpd.html +#usr/share/doc/ntp4/html/ntpdate.html +#usr/share/doc/ntp4/html/ntpdc.html +#usr/share/doc/ntp4/html/ntpdsim.html +#usr/share/doc/ntp4/html/ntpdsim_new.html +#usr/share/doc/ntp4/html/ntpq.html +#usr/share/doc/ntp4/html/ntptime.html +#usr/share/doc/ntp4/html/ntptrace.html +#usr/share/doc/ntp4/html/orphan.html +#usr/share/doc/ntp4/html/parsedata.html +#usr/share/doc/ntp4/html/parsenew.html +#usr/share/doc/ntp4/html/pic +#usr/share/doc/ntp4/html/pic/9400n.jpg +#usr/share/doc/ntp4/html/pic/alice11.gif +#usr/share/doc/ntp4/html/pic/alice13.gif +#usr/share/doc/ntp4/html/pic/alice15.gif +#usr/share/doc/ntp4/html/pic/alice23.gif +#usr/share/doc/ntp4/html/pic/alice31.gif +#usr/share/doc/ntp4/html/pic/alice32.gif +#usr/share/doc/ntp4/html/pic/alice35.gif +#usr/share/doc/ntp4/html/pic/alice38.gif +#usr/share/doc/ntp4/html/pic/alice44.gif +#usr/share/doc/ntp4/html/pic/alice47.gif +#usr/share/doc/ntp4/html/pic/alice51.gif +#usr/share/doc/ntp4/html/pic/alice61.gif +#usr/share/doc/ntp4/html/pic/barnstable.gif +#usr/share/doc/ntp4/html/pic/beaver.gif +#usr/share/doc/ntp4/html/pic/boom3.gif +#usr/share/doc/ntp4/html/pic/boom3a.gif +#usr/share/doc/ntp4/html/pic/boom4.gif +#usr/share/doc/ntp4/html/pic/broad.gif +#usr/share/doc/ntp4/html/pic/bustardfly.gif +#usr/share/doc/ntp4/html/pic/c51.jpg +#usr/share/doc/ntp4/html/pic/description.jpg +#usr/share/doc/ntp4/html/pic/discipline.gif +#usr/share/doc/ntp4/html/pic/dogsnake.gif +#usr/share/doc/ntp4/html/pic/driver29.gif +#usr/share/doc/ntp4/html/pic/driver43_1.gif +#usr/share/doc/ntp4/html/pic/driver43_2.jpg +#usr/share/doc/ntp4/html/pic/fg6021.gif +#usr/share/doc/ntp4/html/pic/fg6039.jpg +#usr/share/doc/ntp4/html/pic/fig_3_1.gif +#usr/share/doc/ntp4/html/pic/flatheads.gif +#usr/share/doc/ntp4/html/pic/flt1.gif +#usr/share/doc/ntp4/html/pic/flt2.gif +#usr/share/doc/ntp4/html/pic/flt3.gif +#usr/share/doc/ntp4/html/pic/flt4.gif +#usr/share/doc/ntp4/html/pic/flt5.gif +#usr/share/doc/ntp4/html/pic/flt6.gif +#usr/share/doc/ntp4/html/pic/flt7.gif +#usr/share/doc/ntp4/html/pic/flt8.gif +#usr/share/doc/ntp4/html/pic/flt9.gif +#usr/share/doc/ntp4/html/pic/freq1211.gif +#usr/share/doc/ntp4/html/pic/gadget.jpg +#usr/share/doc/ntp4/html/pic/gps167.jpg +#usr/share/doc/ntp4/html/pic/group.gif +#usr/share/doc/ntp4/html/pic/hornraba.gif +#usr/share/doc/ntp4/html/pic/igclock.gif +#usr/share/doc/ntp4/html/pic/neoclock4x.gif +#usr/share/doc/ntp4/html/pic/offset1211.gif +#usr/share/doc/ntp4/html/pic/oncore_evalbig.gif +#usr/share/doc/ntp4/html/pic/oncore_remoteant.jpg +#usr/share/doc/ntp4/html/pic/oncore_utplusbig.gif +#usr/share/doc/ntp4/html/pic/oz2.gif +#usr/share/doc/ntp4/html/pic/panda.gif +#usr/share/doc/ntp4/html/pic/pd_om006.gif +#usr/share/doc/ntp4/html/pic/pd_om011.gif +#usr/share/doc/ntp4/html/pic/peer.gif +#usr/share/doc/ntp4/html/pic/pogo.gif +#usr/share/doc/ntp4/html/pic/pogo1a.gif +#usr/share/doc/ntp4/html/pic/pogo3a.gif +#usr/share/doc/ntp4/html/pic/pogo4.gif +#usr/share/doc/ntp4/html/pic/pogo5.gif +#usr/share/doc/ntp4/html/pic/pogo6.gif +#usr/share/doc/ntp4/html/pic/pogo7.gif +#usr/share/doc/ntp4/html/pic/pogo8.gif +#usr/share/doc/ntp4/html/pic/pzf509.jpg +#usr/share/doc/ntp4/html/pic/pzf511.jpg +#usr/share/doc/ntp4/html/pic/rabbit.gif +#usr/share/doc/ntp4/html/pic/radio2.jpg +#usr/share/doc/ntp4/html/pic/sheepb.jpg +#usr/share/doc/ntp4/html/pic/stack1a.jpg +#usr/share/doc/ntp4/html/pic/stats.gif +#usr/share/doc/ntp4/html/pic/sx5.gif +#usr/share/doc/ntp4/html/pic/thunderbolt.jpg +#usr/share/doc/ntp4/html/pic/time1.gif +#usr/share/doc/ntp4/html/pic/tonea.gif +#usr/share/doc/ntp4/html/pic/tribeb.gif +#usr/share/doc/ntp4/html/pic/wingdorothy.gif +#usr/share/doc/ntp4/html/poll.html +#usr/share/doc/ntp4/html/pps.html +#usr/share/doc/ntp4/html/prefer.html +#usr/share/doc/ntp4/html/quick.html +#usr/share/doc/ntp4/html/rate.html +#usr/share/doc/ntp4/html/rdebug.html +#usr/share/doc/ntp4/html/refclock.html +#usr/share/doc/ntp4/html/release.html +#usr/share/doc/ntp4/html/scripts +#usr/share/doc/ntp4/html/scripts/accopt.txt +#usr/share/doc/ntp4/html/scripts/audio.txt +#usr/share/doc/ntp4/html/scripts/authopt.txt +#usr/share/doc/ntp4/html/scripts/clockopt.txt +#usr/share/doc/ntp4/html/scripts/command.txt +#usr/share/doc/ntp4/html/scripts/config.txt +#usr/share/doc/ntp4/html/scripts/confopt.txt +#usr/share/doc/ntp4/html/scripts/external.txt +#usr/share/doc/ntp4/html/scripts/footer.txt +#usr/share/doc/ntp4/html/scripts/hand.txt +#usr/share/doc/ntp4/html/scripts/install.txt +#usr/share/doc/ntp4/html/scripts/manual.txt +#usr/share/doc/ntp4/html/scripts/misc.txt +#usr/share/doc/ntp4/html/scripts/miscopt.txt +#usr/share/doc/ntp4/html/scripts/monopt.txt +#usr/share/doc/ntp4/html/scripts/refclock.txt +#usr/share/doc/ntp4/html/scripts/special.txt +#usr/share/doc/ntp4/html/scripts/style.css +#usr/share/doc/ntp4/html/select.html +#usr/share/doc/ntp4/html/sitemap.html +#usr/share/doc/ntp4/html/sntp.html +#usr/share/doc/ntp4/html/stats.html +#usr/share/doc/ntp4/html/tickadj.html +#usr/share/doc/ntp4/html/warp.html +#usr/share/doc/ntp4/html/xleave.html +#usr/share/doc/ntp4/ntp-keygen.html +#usr/share/doc/ntp4/ntp-wait.html +#usr/share/doc/ntp4/ntp.conf.html +#usr/share/doc/ntp4/ntp.keys.html +#usr/share/doc/ntp4/ntpd.html +#usr/share/doc/ntp4/ntpdc.html +#usr/share/doc/ntp4/ntpq.html +#usr/share/doc/ntp4/ntpsnmpd.html +#usr/share/doc/ntp4/ntpsweep.html +#usr/share/doc/ntp4/ntptrace.html +#usr/share/doc/sntp +#usr/share/doc/sntp/sntp.html +#usr/share/man/man1/calc_tickadj.1 +#usr/share/man/man1/ntp-keygen.1 +#usr/share/man/man1/ntp-wait.1 +#usr/share/man/man1/ntpd.1 +#usr/share/man/man1/ntpdc.1 +#usr/share/man/man1/ntpq.1 +#usr/share/man/man1/ntptrace.1 +#usr/share/man/man1/sntp.1 +#usr/share/man/man5/ntp.conf.5 +#usr/share/man/man5/ntp.keys.5 +#usr/share/ntp +#usr/share/ntp/lib +#usr/share/ntp/lib/NTP +#usr/share/ntp/lib/NTP/Util.pm +var/ipfire/time/counter.conf +var/ipfire/time/enable +var/ipfire/time/settime.conf +var/ipfire/time/settings diff --git a/config/rootfiles/oldcore/87/filelists/openssl b/config/rootfiles/oldcore/87/filelists/openssl new file mode 120000 index 0000000..e011a92 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/openssl @@ -0,0 +1 @@ +../../../common/openssl \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/openssl-compat b/config/rootfiles/oldcore/87/filelists/openssl-compat new file mode 120000 index 0000000..c9fa421 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/openssl-compat @@ -0,0 +1 @@ +../../../common/openssl-compat \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/openvpn b/config/rootfiles/oldcore/87/filelists/openvpn new file mode 120000 index 0000000..493f3f7 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/openvpn @@ -0,0 +1 @@ +../../../common/openvpn \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/parted b/config/rootfiles/oldcore/87/filelists/parted new file mode 120000 index 0000000..89195d8 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/parted @@ -0,0 +1 @@ +../../../common/parted \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/patch b/config/rootfiles/oldcore/87/filelists/patch new file mode 120000 index 0000000..27a3825 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/patch @@ -0,0 +1 @@ +../../../common/patch \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/pigz b/config/rootfiles/oldcore/87/filelists/pigz new file mode 120000 index 0000000..696f8f8 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/pigz @@ -0,0 +1 @@ +../../../common/pigz \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/setup b/config/rootfiles/oldcore/87/filelists/setup new file mode 120000 index 0000000..209374b --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/setup @@ -0,0 +1 @@ +../../../common/setup \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/slang b/config/rootfiles/oldcore/87/filelists/slang new file mode 120000 index 0000000..228e45e --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/slang @@ -0,0 +1 @@ +../../../common/slang \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/strongswan b/config/rootfiles/oldcore/87/filelists/strongswan new file mode 120000 index 0000000..90c727e --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/strongswan @@ -0,0 +1 @@ +../../../common/strongswan \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/tzdata b/config/rootfiles/oldcore/87/filelists/tzdata new file mode 120000 index 0000000..5a6e325 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/tzdata @@ -0,0 +1 @@ +../../../common/tzdata \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/updated-firmwares b/config/rootfiles/oldcore/87/filelists/updated-firmwares new file mode 100644 index 0000000..172312f --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/updated-firmwares @@ -0,0 +1,203 @@ +lib/firmware/amd-ucode/microcode_amd_fam15h.bin +lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc +lib/firmware/amd-ucode/microcode_amd_fam16h.bin +lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc +lib/firmware/as102_data1_st.hex +lib/firmware/as102_data2_st.hex +lib/firmware/bnx2x/bnx2x-e1-7.10.51.0.fw +lib/firmware/bnx2x/bnx2x-e1-7.8.19.0.fw +lib/firmware/bnx2x/bnx2x-e1h-7.10.51.0.fw +lib/firmware/bnx2x/bnx2x-e1h-7.8.19.0.fw +lib/firmware/bnx2x/bnx2x-e2-7.10.51.0.fw +lib/firmware/bnx2x/bnx2x-e2-7.8.19.0.fw +lib/firmware/brcm/brcmfmac43143.bin +lib/firmware/brcm/brcmfmac43143-sdio.bin +lib/firmware/brcm/brcmfmac43362-sdio.bin +lib/firmware/brcm/brcmfmac4354-sdio.bin +lib/firmware/cmmb_vega_12mhz.inp +lib/firmware/cmmb_venice_12mhz.inp +lib/firmware/cxgb4/t4fw-1.12.25.0.bin +lib/firmware/cxgb4/t4fw.bin +lib/firmware/cxgb4/t5fw-1.12.25.0.bin +lib/firmware/cxgb4/t5fw.bin +lib/firmware/dvb-fe-drxj-mc-1.0.8.fw +lib/firmware/dvb-fe-drxj-mc-vsb-1.0.8.fw +lib/firmware/dvb-fe-drxj-mc-vsb-qam-1.0.8.fw +lib/firmware/dvb-fe-xc4000-1.4.1.fw +lib/firmware/dvb-fe-xc5000c-4.1.30.7.fw +lib/firmware/dvb_nova_12mhz_b0.inp +lib/firmware/dvb_nova_12mhz.inp +lib/firmware/dvb-usb-it9135-01.fw +lib/firmware/dvb-usb-it9135-02.fw +lib/firmware/emi62/bitstream.fw +lib/firmware/intel/fw_sst_0f28.bin +lib/firmware/intel/fw_sst_0f28.bin-48kHz_i2s_master +lib/firmware/intel/ibt-hw-37.7.10-fw-1.0.1.2d.d.bseq +lib/firmware/intel/ibt-hw-37.7.10-fw-1.0.2.3.d.bseq +lib/firmware/intel/ibt-hw-37.7.10-fw-1.80.1.2d.d.bseq +lib/firmware/intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq +lib/firmware/intel/ibt-hw-37.8.10-fw-1.10.2.27.d.bseq +lib/firmware/intel/ibt-hw-37.8.10-fw-1.10.3.11.e.bseq +lib/firmware/intel/ibt-hw-37.8.bseq +lib/firmware/intel/IntcSST2.bin +lib/firmware/isdbt_nova_12mhz_b0.inp +lib/firmware/isdbt_nova_12mhz.inp +lib/firmware/isdbt_rio.inp +lib/firmware/iwlwifi-3160-10.ucode +lib/firmware/iwlwifi-3160-8.ucode +lib/firmware/iwlwifi-3160-9.ucode +lib/firmware/iwlwifi-7260-10.ucode +lib/firmware/iwlwifi-7260-8.ucode +lib/firmware/iwlwifi-7260-9.ucode +lib/firmware/iwlwifi-7265-10.ucode +lib/firmware/iwlwifi-7265-8.ucode +lib/firmware/iwlwifi-7265-9.ucode +lib/firmware/iwlwifi-7265D-10.ucode +lib/firmware/LICENCE.Abilis +lib/firmware/LICENCE.chelsio_firmware +lib/firmware/LICENCE.fw_sst_0f28 +lib/firmware/LICENCE.ibt_firmware +lib/firmware/LICENCE.IntcSST2 +lib/firmware/LICENCE.it913x +lib/firmware/LICENCE.iwlwifi_firmware +lib/firmware/LICENCE.qat_dh895xcc_firmware +lib/firmware/LICENCE.r8a779x_usb3 +lib/firmware/LICENCE.siano +lib/firmware/LICENCE.xc4000 +lib/firmware/LICENCE.xc5000c +lib/firmware/LICENSE.amd-ucode +lib/firmware/LICENSE.radeon +lib/firmware/myri10ge_eth_big_z8e.dat +lib/firmware/myri10ge_ethp_big_z8e.dat +lib/firmware/myri10ge_ethp_z8e.dat +lib/firmware/myri10ge_eth_z8e.dat +lib/firmware/myri10ge_rss_eth_big_z8e.dat +lib/firmware/myri10ge_rss_ethp_big_z8e.dat +lib/firmware/myri10ge_rss_ethp_z8e.dat +lib/firmware/myri10ge_rss_eth_z8e.dat +lib/firmware/qat_895xcc.bin +lib/firmware/ql2400_fw.bin +lib/firmware/ql2500_fw.bin +lib/firmware/r8a779x_usb3_v1.dlmem +lib/firmware/radeon/bonaire_ce.bin +lib/firmware/radeon/BONAIRE_mc2.bin +lib/firmware/radeon/bonaire_mc.bin +lib/firmware/radeon/bonaire_me.bin +lib/firmware/radeon/bonaire_mec.bin +lib/firmware/radeon/bonaire_pfp.bin +lib/firmware/radeon/bonaire_rlc.bin +lib/firmware/radeon/bonaire_sdma.bin +lib/firmware/radeon/bonaire_smc.bin +lib/firmware/radeon/BONAIRE_vce.bin +lib/firmware/radeon/hainan_ce.bin +lib/firmware/radeon/HAINAN_mc2.bin +lib/firmware/radeon/hainan_mc.bin +lib/firmware/radeon/hainan_me.bin +lib/firmware/radeon/hainan_pfp.bin +lib/firmware/radeon/hainan_rlc.bin +lib/firmware/radeon/hainan_smc.bin +lib/firmware/radeon/hawaii_ce.bin +lib/firmware/radeon/HAWAII_ce.bin +lib/firmware/radeon/HAWAII_mc2.bin +lib/firmware/radeon/hawaii_mc.bin +lib/firmware/radeon/HAWAII_mc.bin +lib/firmware/radeon/hawaii_me.bin +lib/firmware/radeon/HAWAII_me.bin +lib/firmware/radeon/hawaii_mec.bin +lib/firmware/radeon/HAWAII_mec.bin +lib/firmware/radeon/hawaii_pfp.bin +lib/firmware/radeon/HAWAII_pfp.bin +lib/firmware/radeon/hawaii_rlc.bin +lib/firmware/radeon/HAWAII_rlc.bin +lib/firmware/radeon/hawaii_sdma.bin +lib/firmware/radeon/HAWAII_sdma.bin +lib/firmware/radeon/hawaii_smc.bin +lib/firmware/radeon/HAWAII_smc.bin +lib/firmware/radeon/kabini_ce.bin +lib/firmware/radeon/kabini_me.bin +lib/firmware/radeon/kabini_mec.bin +lib/firmware/radeon/kabini_pfp.bin +lib/firmware/radeon/kabini_rlc.bin +lib/firmware/radeon/kabini_sdma.bin +lib/firmware/radeon/kaveri_ce.bin +lib/firmware/radeon/kaveri_me.bin +lib/firmware/radeon/kaveri_mec2.bin +lib/firmware/radeon/kaveri_mec.bin +lib/firmware/radeon/kaveri_pfp.bin +lib/firmware/radeon/kaveri_rlc.bin +lib/firmware/radeon/kaveri_sdma.bin +lib/firmware/radeon/mullins_ce.bin +lib/firmware/radeon/MULLINS_ce.bin +lib/firmware/radeon/mullins_me.bin +lib/firmware/radeon/MULLINS_me.bin +lib/firmware/radeon/mullins_mec.bin +lib/firmware/radeon/MULLINS_mec.bin +lib/firmware/radeon/mullins_pfp.bin +lib/firmware/radeon/MULLINS_pfp.bin +lib/firmware/radeon/mullins_rlc.bin +lib/firmware/radeon/MULLINS_rlc.bin +lib/firmware/radeon/mullins_sdma.bin +lib/firmware/radeon/MULLINS_sdma.bin +lib/firmware/radeon/oland_ce.bin +lib/firmware/radeon/OLAND_mc2.bin +lib/firmware/radeon/oland_mc.bin +lib/firmware/radeon/oland_me.bin +lib/firmware/radeon/oland_pfp.bin +lib/firmware/radeon/oland_rlc.bin +lib/firmware/radeon/oland_smc.bin +lib/firmware/radeon/pitcairn_ce.bin +lib/firmware/radeon/PITCAIRN_mc2.bin +lib/firmware/radeon/pitcairn_mc.bin +lib/firmware/radeon/pitcairn_me.bin +lib/firmware/radeon/pitcairn_pfp.bin +lib/firmware/radeon/pitcairn_rlc.bin +lib/firmware/radeon/pitcairn_smc.bin +lib/firmware/radeon/R600_uvd.bin +lib/firmware/radeon/RS780_uvd.bin +lib/firmware/radeon/RV770_uvd.bin +lib/firmware/radeon/tahiti_ce.bin +lib/firmware/radeon/TAHITI_mc2.bin +lib/firmware/radeon/tahiti_mc.bin +lib/firmware/radeon/tahiti_me.bin +lib/firmware/radeon/tahiti_pfp.bin +lib/firmware/radeon/tahiti_rlc.bin +lib/firmware/radeon/tahiti_smc.bin +lib/firmware/radeon/verde_ce.bin +lib/firmware/radeon/VERDE_mc2.bin +lib/firmware/radeon/verde_mc.bin +lib/firmware/radeon/verde_me.bin +lib/firmware/radeon/verde_pfp.bin +lib/firmware/radeon/verde_rlc.bin +lib/firmware/radeon/verde_smc.bin +lib/firmware/README +lib/firmware/rsi_91x.fw +lib/firmware/rtl_nic/rtl8107e-1.fw +lib/firmware/rtl_nic/rtl8107e-2.fw +lib/firmware/rtl_nic/rtl8168h-1.fw +lib/firmware/rtl_nic/rtl8168h-2.fw +lib/firmware/rtlwifi/rtl8192cfw.bin +lib/firmware/rtlwifi/rtl8192cfwU_B.bin +lib/firmware/rtlwifi/rtl8192defw.bin +lib/firmware/rtlwifi/rtl8192eefw.bin +lib/firmware/rtlwifi/rtl8723aufw_A.bin +lib/firmware/rtlwifi/rtl8723aufw_B.bin +lib/firmware/rtlwifi/rtl8723aufw_B_NoBT.bin +lib/firmware/rtlwifi/rtl8723befw.bin +lib/firmware/rtlwifi/rtl8821aefw.bin +lib/firmware/rtlwifi/rtl8821aefw_wowlan.bin +lib/firmware/s5p-mfc.fw +lib/firmware/s5p-mfc-v6.fw +lib/firmware/s5p-mfc-v6-v2.fw +lib/firmware/s5p-mfc-v7.fw +lib/firmware/s5p-mfc-v8.fw +lib/firmware/sms1xxx-hcw-55xxx-dvbt-02.fw +lib/firmware/sms1xxx-hcw-55xxx-isdbt-02.fw +lib/firmware/sms1xxx-nova-a-dvbt-01.fw +lib/firmware/sms1xxx-nova-b-dvbt-01.fw +lib/firmware/sms1xxx-stellar-dvbt-01.fw +lib/firmware/tdmb_nova_12mhz.inp +lib/firmware/ti-connectivity/wl18xx-fw-3.bin +lib/firmware/ti-connectivity/wl18xx-fw-4.bin +lib/firmware/v4l-cx23885-enc-broken.fw +lib/firmware/WHENCE +lib/firmware/brcm/brcmfmac43362-sdio.txt diff --git a/config/rootfiles/oldcore/87/filelists/wireless-regdb b/config/rootfiles/oldcore/87/filelists/wireless-regdb new file mode 120000 index 0000000..c9205b3 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/wireless-regdb @@ -0,0 +1 @@ +../../../common/wireless-regdb \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/wpa_supplicant b/config/rootfiles/oldcore/87/filelists/wpa_supplicant new file mode 120000 index 0000000..1d04c03 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/wpa_supplicant @@ -0,0 +1 @@ +../../../common/wpa_supplicant \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/filelists/xfsprogs b/config/rootfiles/oldcore/87/filelists/xfsprogs new file mode 120000 index 0000000..9103296 --- /dev/null +++ b/config/rootfiles/oldcore/87/filelists/xfsprogs @@ -0,0 +1 @@ +../../../common/xfsprogs \ No newline at end of file diff --git a/config/rootfiles/oldcore/87/meta b/config/rootfiles/oldcore/87/meta new file mode 100644 index 0000000..d547fa8 --- /dev/null +++ b/config/rootfiles/oldcore/87/meta @@ -0,0 +1 @@ +DEPS="" diff --git a/config/rootfiles/oldcore/87/update.sh b/config/rootfiles/oldcore/87/update.sh new file mode 100644 index 0000000..172d854 --- /dev/null +++ b/config/rootfiles/oldcore/87/update.sh @@ -0,0 +1,284 @@ +#!/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) 2014 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +/usr/local/bin/backupctrl exclude >/dev/null 2>&1 + + +function find_device() { + local mountpoint="${1}" + + local root + local dev mp fs flags rest + while read -r dev mp fs flags rest; do + # Skip unwanted entries + [ "${dev}" = "rootfs" ] && continue + + if [ "${mp}" = "${mountpoint}" ] && [ -b "${dev}" ]; then + root="$(basename "${dev}")" + break + fi + done < /proc/mounts + + # Get the actual device from the partition that holds / + while [ -n "${root}" ]; do + if [ -e "/sys/block/${root}" ]; then + echo "${root}" + return 0 + fi + + # Remove last character + root="${root::-1}" + done + + return 1 +} + + +# +# Remove old core updates from pakfire cache to save space... +core=87 +for (( i=1; i<=${core}; i++ )) +do + rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire +done + +# +# Do some sanity checks. +case $(uname -r) in + *-ipfire-versatile ) + /usr/bin/logger -p syslog.emerg -t ipfire \ + "core-update-${core}: ERROR cannot update. versatile support is dropped." + # Report no error to pakfire. So it does not try to install it again. + exit 0 + ;; + *-ipfire* ) + # Ok. + ;; + * ) + /usr/bin/logger -p syslog.emerg -t ipfire \ + "core-update-${core}: ERROR cannot update. No IPFire Kernel." + exit 1 + ;; +esac + + +# +# +KVER="xxxKVERxxx" + +# Check diskspace on root +ROOTSPACE=`df / -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1` + +if [ $ROOTSPACE -lt 100000 ]; then + /usr/bin/logger -p syslog.emerg -t ipfire \ + "core-update-${core}: ERROR cannot update because not enough free space on root." + exit 2 +fi + + +echo +echo Update Kernel to $KVER ... +# +# Remove old kernel, configs, initrd, modules, dtb's ... +# +rm -rf /boot/System.map-* +rm -rf /boot/config-* +rm -rf /boot/ipfirerd-* +rm -rf /boot/initramfs-* +rm -rf /boot/vmlinuz-* +rm -rf /boot/uImage-ipfire-* +rm -rf /boot/uInit-ipfire-* +rm -rf /boot/dtb-*-ipfire-* +rm -rf /lib/modules + +case "$(uname -m)" in + i?86) + # Backup old grub config + if [ -f /boot/grub/grub.conf ]; then + cp -vf /boot/grub/grub.conf /boot/old-grub-config + fi + if [ -f /boot/grub/menu.lst ]; then + cp -vf /boot/grub/menu.lst /boot/old-grub-config + fi + if [ -f /boot/grub/grub.cfg ]; then + cp -vf /boot/grub/grub.cfg /boot/old-grub-config + fi + + # Remove all files that belong to GRUB-legacy + rm -rfv /boot/grub + ;; + armv*) + # Backup uEnv.txt if exist + if [ -e /boot/uEnv.txt ]; then + cp -vf /boot/uEnv.txt /boot/uEnv.txt.org + fi + + # work around the u-boot folder detection bug + mkdir -pv /boot/dtb-$KVER-ipfire-kirkwood + mkdir -pv /boot/dtb-$KVER-ipfire-multi + ;; +esac + +# +#Stop services +/etc/init.d/snort stop +/etc/init.d/squid stop +/etc/init.d/ipsec stop +/etc/init.d/apache stop + +# +#Extract files +tar xavf /opt/pakfire/tmp/files* --no-overwrite-dir -p --numeric-owner -C / + +# +#restart init because glibc was updated. +telinit u + +# Check diskspace on boot +BOOTSPACE=`df /boot -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1` + +if [ $BOOTSPACE -lt 1000 ]; then + case $(uname -r) in + *-ipfire-kirkwood ) + # Special handling for old kirkwood images. + # (install only kirkwood kernel) + rm -rf /boot/* + # work around the u-boot folder detection bug + mkdir -pv /boot/dtb-$KVER-ipfire-kirkwood + tar xavf /opt/pakfire/tmp/files* --no-overwrite-dir -p \ + --numeric-owner -C / --wildcards 'boot/*-kirkwood*' + ;; + * ) + /usr/bin/logger -p syslog.emerg -t ipfire \ + "core-update-${core}: FATAL-ERROR space run out on boot. System is not bootable..." + /etc/init.d/apache start + exit 4 + ;; + esac +fi + +# Update Language cache +perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang" + +# Add nobody to group dialout +usermod -a -G dialout nobody + +# +# Start services +# +/etc/init.d/apache start +/etc/init.d/squid start +/etc/init.d/snort start +if [ `grep "ENABLED=on" /var/ipfire/vpn/settings` ]; then + /etc/init.d/ipsec start +fi + +case "$(uname -m)" in + i?86) + case "$(find_device "/")" in + xvd* ) + echo Skip remove grub2 files, because pygrub fail. + rm -f /boot/grub/* + echo config will recreated by linux-pae install. + ;; + * ) + # + # Update to GRUB2 + # + echo + echo Update grub configuration ... + if grep -qE "^serial" /boot/old-grub-config; then + sed -i /etc/default/grub \ + -e "s|panic=10|& console=ttyS0,115200n8|g" + echo "GRUB_TERMINAL="serial"" >> /etc/default/grub + echo "GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200"" >> /etc/default/grub + fi + + if ! /usr/local/bin/update-bootloader; then + logger -p syslog.emerg -t ipfire \ + "Could not update the bootloader!" + fi + ;; + esac +esac + +# Force (re)install pae kernel if pae is supported +rm -rf /opt/pakfire/db/*/meta-linux-pae +if [ ! "$(grep "^flags.* pae " /proc/cpuinfo)" == "" ]; then + ROOTSPACE=`df / -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1` + BOOTSPACE=`df /boot -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1` + if [ $BOOTSPACE -lt 12000 -o $ROOTSPACE -lt 90000 ]; then + /usr/bin/logger -p syslog.emerg -t ipfire \ + "core-update-${core}: WARNING not enough space for pae kernel." + else + echo "Name: linux-pae" > /opt/pakfire/db/installed/meta-linux-pae + echo "ProgVersion: 0" >> /opt/pakfire/db/installed/meta-linux-pae + echo "Release: 0" >> /opt/pakfire/db/installed/meta-linux-pae + echo "Name: linux-pae" > /opt/pakfire/db/meta/meta-linux-pae + echo "ProgVersion: 0" >> /opt/pakfire/db/meta/meta-linux-pae + echo "Release: 0" >> /opt/pakfire/db/meta/meta-linux-pae + fi +fi + +# +# After pakfire has ended run it again and update the lists and do upgrade +# +echo '#!/bin/bash' > /tmp/pak_update +echo 'while [ "$(ps -A | grep " update.sh")" != "" ]; do' >> /tmp/pak_update +echo ' sleep 1' >> /tmp/pak_update +echo 'done' >> /tmp/pak_update +echo 'while [ "$(ps -A | grep " pakfire")" != "" ]; do' >> /tmp/pak_update +echo ' sleep 1' >> /tmp/pak_update +echo 'done' >> /tmp/pak_update +echo '/opt/pakfire/pakfire update -y --force' >> /tmp/pak_update +echo '/opt/pakfire/pakfire upgrade -y' >> /tmp/pak_update +echo '/opt/pakfire/pakfire upgrade -y' >> /tmp/pak_update +echo '/opt/pakfire/pakfire upgrade -y' >> /tmp/pak_update +echo '/usr/bin/logger -p syslog.emerg -t ipfire "Core-upgrade finished. If you use a customized grub/uboot config"' >> /tmp/pak_update +echo '/usr/bin/logger -p syslog.emerg -t ipfire "Check it before reboot !!!"' >> /tmp/pak_update +echo '/usr/bin/logger -p syslog.emerg -t ipfire " *** Please reboot... *** "' >> /tmp/pak_update +echo 'touch /var/run/need_reboot ' >> /tmp/pak_update +# +killall -KILL pak_update +chmod +x /tmp/pak_update +/tmp/pak_update & + +sync + +# +#Finish +( + /etc/init.d/fireinfo start + sendprofile +) >/dev/null 2>&1 & + +# Update Package list for addon installation +/opt/pakfire/pakfire update -y --force + +echo +echo Please wait until pakfire has ended... +echo + +# Don't report the exitcode last command +exit 0 diff --git a/config/rootfiles/packages/asterisk b/config/rootfiles/packages/asterisk old mode 100644 new mode 100755 index 1b0eb9d..6654621 --- a/config/rootfiles/packages/asterisk +++ b/config/rootfiles/packages/asterisk @@ -1,5 +1,6 @@ etc/asterisk -etc/fcron.minutely/wakeup.sh +etc/logrotate.d/asterisk +etc/rc.d/init.d/asterisk etc/rc.d/rc0.d/K30asterisk etc/rc.d/rc3.d/S30asterisk etc/rc.d/rc6.d/K30asterisk @@ -36,13 +37,16 @@ etc/rc.d/rc6.d/K30asterisk #usr/include/asterisk/ccss.h #usr/include/asterisk/cdr.h #usr/include/asterisk/cel.h +#usr/include/asterisk/celt.h #usr/include/asterisk/channel.h +#usr/include/asterisk/channel_internal.h #usr/include/asterisk/channelstate.h #usr/include/asterisk/chanvars.h #usr/include/asterisk/cli.h #usr/include/asterisk/compat.h #usr/include/asterisk/compiler.h #usr/include/asterisk/config.h +#usr/include/asterisk/config_options.h #usr/include/asterisk/crypto.h #usr/include/asterisk/data.h #usr/include/asterisk/datastore.h @@ -69,6 +73,9 @@ etc/rc.d/rc6.d/K30asterisk #usr/include/asterisk/extconf.h #usr/include/asterisk/features.h #usr/include/asterisk/file.h +#usr/include/asterisk/format.h +#usr/include/asterisk/format_cap.h +#usr/include/asterisk/format_pref.h #usr/include/asterisk/frame.h #usr/include/asterisk/frame_defs.h #usr/include/asterisk/framehook.h @@ -79,6 +86,7 @@ etc/rc.d/rc6.d/K30asterisk #usr/include/asterisk/hashtab.h #usr/include/asterisk/heap.h #usr/include/asterisk/http.h +#usr/include/asterisk/http_websocket.h #usr/include/asterisk/image.h #usr/include/asterisk/indications.h #usr/include/asterisk/inline_api.h @@ -91,6 +99,7 @@ etc/rc.d/rc6.d/K30asterisk #usr/include/asterisk/logger.h #usr/include/asterisk/manager.h #usr/include/asterisk/md5.h +#usr/include/asterisk/message.h #usr/include/asterisk/mod_format.h #usr/include/asterisk/module.h #usr/include/asterisk/monitor.h @@ -105,6 +114,7 @@ etc/rc.d/rc6.d/K30asterisk #usr/include/asterisk/pktccops.h #usr/include/asterisk/plc.h #usr/include/asterisk/poll-compat.h +#usr/include/asterisk/presencestate.h #usr/include/asterisk/privacy.h #usr/include/asterisk/pval.h #usr/include/asterisk/res_fax.h @@ -117,6 +127,8 @@ etc/rc.d/rc6.d/K30asterisk #usr/include/asterisk/security_events_defs.h #usr/include/asterisk/select.h #usr/include/asterisk/sha1.h +#usr/include/asterisk/silk.h +#usr/include/asterisk/sip_api.h #usr/include/asterisk/slin.h #usr/include/asterisk/slinfactory.h #usr/include/asterisk/smdi.h @@ -143,6 +155,7 @@ etc/rc.d/rc6.d/K30asterisk #usr/include/asterisk/version.h #usr/include/asterisk/xml.h #usr/include/asterisk/xmldoc.h +#usr/include/asterisk/xmpp.h #usr/lib/asterisk #usr/lib/asterisk/modules usr/lib/asterisk/modules/app_adsiprog.so @@ -172,7 +185,6 @@ usr/lib/asterisk/modules/app_forkcdr.so usr/lib/asterisk/modules/app_getcpeid.so usr/lib/asterisk/modules/app_ices.so usr/lib/asterisk/modules/app_image.so -usr/lib/asterisk/modules/app_ivrdemo.so usr/lib/asterisk/modules/app_macro.so usr/lib/asterisk/modules/app_milliwatt.so usr/lib/asterisk/modules/app_minivm.so @@ -182,6 +194,7 @@ usr/lib/asterisk/modules/app_mp3.so usr/lib/asterisk/modules/app_mysql.so usr/lib/asterisk/modules/app_nbscat.so usr/lib/asterisk/modules/app_originate.so +usr/lib/asterisk/modules/app_page.so usr/lib/asterisk/modules/app_parkandannounce.so usr/lib/asterisk/modules/app_playback.so usr/lib/asterisk/modules/app_playtones.so @@ -189,15 +202,10 @@ usr/lib/asterisk/modules/app_privacy.so usr/lib/asterisk/modules/app_queue.so usr/lib/asterisk/modules/app_read.so usr/lib/asterisk/modules/app_readexten.so -usr/lib/asterisk/modules/app_readfile.so usr/lib/asterisk/modules/app_record.so -usr/lib/asterisk/modules/app_saycounted.so -usr/lib/asterisk/modules/app_saycountpl.so usr/lib/asterisk/modules/app_sayunixtime.so usr/lib/asterisk/modules/app_senddtmf.so usr/lib/asterisk/modules/app_sendtext.so -usr/lib/asterisk/modules/app_setcallerid.so -usr/lib/asterisk/modules/app_skel.so usr/lib/asterisk/modules/app_sms.so usr/lib/asterisk/modules/app_softhangup.so usr/lib/asterisk/modules/app_speech_utils.so @@ -231,14 +239,10 @@ usr/lib/asterisk/modules/cel_sqlite3_custom.so usr/lib/asterisk/modules/chan_agent.so usr/lib/asterisk/modules/chan_alsa.so usr/lib/asterisk/modules/chan_bridge.so -usr/lib/asterisk/modules/chan_capi.so usr/lib/asterisk/modules/chan_iax2.so usr/lib/asterisk/modules/chan_local.so usr/lib/asterisk/modules/chan_mgcp.so -usr/lib/asterisk/modules/chan_mobile.so usr/lib/asterisk/modules/chan_multicast_rtp.so -usr/lib/asterisk/modules/chan_ooh323.so -usr/lib/asterisk/modules/chan_oss.so usr/lib/asterisk/modules/chan_phone.so usr/lib/asterisk/modules/chan_sip.so usr/lib/asterisk/modules/chan_skinny.so @@ -251,6 +255,7 @@ usr/lib/asterisk/modules/codec_g726.so usr/lib/asterisk/modules/codec_gsm.so usr/lib/asterisk/modules/codec_ilbc.so usr/lib/asterisk/modules/codec_lpc10.so +usr/lib/asterisk/modules/codec_resample.so usr/lib/asterisk/modules/codec_ulaw.so usr/lib/asterisk/modules/format_g719.so usr/lib/asterisk/modules/format_g723.so @@ -261,12 +266,10 @@ usr/lib/asterisk/modules/format_h263.so usr/lib/asterisk/modules/format_h264.so usr/lib/asterisk/modules/format_ilbc.so usr/lib/asterisk/modules/format_jpeg.so -usr/lib/asterisk/modules/format_ogg_vorbis.so usr/lib/asterisk/modules/format_pcm.so usr/lib/asterisk/modules/format_siren14.so usr/lib/asterisk/modules/format_siren7.so usr/lib/asterisk/modules/format_sln.so -usr/lib/asterisk/modules/format_sln16.so usr/lib/asterisk/modules/format_vox.so usr/lib/asterisk/modules/format_wav.so usr/lib/asterisk/modules/format_wav_gsm.so @@ -291,13 +294,16 @@ usr/lib/asterisk/modules/func_extstate.so usr/lib/asterisk/modules/func_frame_trace.so usr/lib/asterisk/modules/func_global.so usr/lib/asterisk/modules/func_groupcount.so +usr/lib/asterisk/modules/func_hangupcause.so usr/lib/asterisk/modules/func_iconv.so +usr/lib/asterisk/modules/func_jitterbuffer.so usr/lib/asterisk/modules/func_lock.so usr/lib/asterisk/modules/func_logic.so usr/lib/asterisk/modules/func_math.so usr/lib/asterisk/modules/func_md5.so usr/lib/asterisk/modules/func_module.so usr/lib/asterisk/modules/func_pitchshift.so +usr/lib/asterisk/modules/func_presencestate.so usr/lib/asterisk/modules/func_rand.so usr/lib/asterisk/modules/func_realtime.so usr/lib/asterisk/modules/func_sha1.so @@ -326,61 +332,60 @@ usr/lib/asterisk/modules/res_clioriginate.so usr/lib/asterisk/modules/res_config_curl.so usr/lib/asterisk/modules/res_config_ldap.so usr/lib/asterisk/modules/res_config_mysql.so +usr/lib/asterisk/modules/res_config_sqlite3.so usr/lib/asterisk/modules/res_convert.so usr/lib/asterisk/modules/res_crypto.so usr/lib/asterisk/modules/res_curl.so usr/lib/asterisk/modules/res_fax.so -usr/lib/asterisk/modules/res_fax_spandsp.so +usr/lib/asterisk/modules/res_format_attr_celt.so +usr/lib/asterisk/modules/res_format_attr_h263.so +usr/lib/asterisk/modules/res_format_attr_h264.so +usr/lib/asterisk/modules/res_format_attr_silk.so +usr/lib/asterisk/modules/res_http_websocket.so usr/lib/asterisk/modules/res_limit.so usr/lib/asterisk/modules/res_monitor.so usr/lib/asterisk/modules/res_musiconhold.so usr/lib/asterisk/modules/res_mutestream.so usr/lib/asterisk/modules/res_phoneprov.so -usr/lib/asterisk/modules/res_pktccops.so usr/lib/asterisk/modules/res_realtime.so usr/lib/asterisk/modules/res_rtp_asterisk.so usr/lib/asterisk/modules/res_rtp_multicast.so usr/lib/asterisk/modules/res_security_log.so usr/lib/asterisk/modules/res_smdi.so -usr/lib/asterisk/modules/res_snmp.so usr/lib/asterisk/modules/res_speech.so +usr/lib/asterisk/modules/res_srtp.so usr/lib/asterisk/modules/res_stun_monitor.so usr/lib/asterisk/modules/res_timing_pthread.so usr/lib/asterisk/modules/res_timing_timerfd.so +usr/lib/libasteriskssl.so +usr/lib/libasteriskssl.so.1 #usr/lib/pkgconfig/asterisk.pc -usr/sbin/aelparse usr/sbin/astcanary +usr/sbin/astdb2bdb +usr/sbin/astdb2sqlite3 usr/sbin/asterisk usr/sbin/astgenkey -usr/sbin/astman usr/sbin/autosupport -usr/sbin/check_expr -usr/sbin/check_expr2 -usr/sbin/conf2ael -usr/sbin/hashtest -usr/sbin/hashtest2 -usr/sbin/muted usr/sbin/rasterisk -usr/sbin/refcounter usr/sbin/safe_asterisk -usr/sbin/smsq -usr/sbin/stereorize -usr/sbin/streamplayer +#usr/share/man/man8/astdb2bdb.8 +#usr/share/man/man8/astdb2sqlite3.8 #usr/share/man/man8/asterisk.8 #usr/share/man/man8/astgenkey.8 #usr/share/man/man8/autosupport.8 #usr/share/man/man8/safe_asterisk.8 #var/ipfire/asterisk +var/ipfire/asterisk/acl.conf var/ipfire/asterisk/adsi.conf var/ipfire/asterisk/agents.conf -var/ipfire/asterisk/ais.conf var/ipfire/asterisk/alarmreceiver.conf var/ipfire/asterisk/alsa.conf var/ipfire/asterisk/amd.conf var/ipfire/asterisk/app_mysql.conf +var/ipfire/asterisk/app_skel.conf var/ipfire/asterisk/asterisk.adsi var/ipfire/asterisk/asterisk.conf -#var/ipfire/asterisk/asterisk.makeopts +var/ipfire/asterisk/asterisk.logrotate var/ipfire/asterisk/calendar.conf var/ipfire/asterisk/ccss.conf var/ipfire/asterisk/cdr.conf @@ -401,11 +406,12 @@ var/ipfire/asterisk/cel_sqlite3_custom.conf var/ipfire/asterisk/cel_tds.conf var/ipfire/asterisk/chan_dahdi.conf var/ipfire/asterisk/chan_mobile.conf -var/ipfire/asterisk/chan_ooh323.conf var/ipfire/asterisk/cli.conf var/ipfire/asterisk/cli_aliases.conf var/ipfire/asterisk/cli_permissions.conf var/ipfire/asterisk/codecs.conf +var/ipfire/asterisk/confbridge.conf +var/ipfire/asterisk/config_test.conf var/ipfire/asterisk/console.conf var/ipfire/asterisk/dbsep.conf var/ipfire/asterisk/dnsmgr.conf @@ -436,8 +442,10 @@ var/ipfire/asterisk/mgcp.conf var/ipfire/asterisk/minivm.conf var/ipfire/asterisk/misdn.conf var/ipfire/asterisk/modules.conf +var/ipfire/asterisk/motif.conf var/ipfire/asterisk/musiconhold.conf var/ipfire/asterisk/muted.conf +var/ipfire/asterisk/ooh323.conf var/ipfire/asterisk/osp.conf var/ipfire/asterisk/oss.conf var/ipfire/asterisk/phone.conf @@ -446,6 +454,8 @@ var/ipfire/asterisk/queuerules.conf var/ipfire/asterisk/queues.conf var/ipfire/asterisk/res_config_mysql.conf var/ipfire/asterisk/res_config_sqlite.conf +var/ipfire/asterisk/res_config_sqlite3.conf +var/ipfire/asterisk/res_corosync.conf var/ipfire/asterisk/res_curl.conf var/ipfire/asterisk/res_fax.conf var/ipfire/asterisk/res_ldap.conf @@ -467,34 +477,39 @@ var/ipfire/asterisk/unistim.conf var/ipfire/asterisk/users.conf var/ipfire/asterisk/voicemail.conf var/ipfire/asterisk/vpb.conf -#var/ipfire/asterisk/wakeup -#var/ipfire/asterisk/wakeup/source -var/ipfire/asterisk/wakeup/source/536.call -var/ipfire/asterisk/wakeup/source/bsp.call.tpl -var/ipfire/asterisk/wakeup/wakeup.sh +var/ipfire/asterisk/xmpp.conf var/ipfire/backup/addons/includes/asterisk #var/lib/asterisk -#var/lib/asterisk/agi-bin +var/lib/asterisk/agi-bin #var/lib/asterisk/documentation #var/lib/asterisk/documentation/appdocsxml.dtd #var/lib/asterisk/documentation/core-en_US.xml #var/lib/asterisk/documentation/thirdparty #var/lib/asterisk/firmware -#var/lib/asterisk/firmware/iax +var/lib/asterisk/firmware/iax #var/lib/asterisk/images -var/lib/asterisk/images/asterisk-intro.jpg -var/lib/asterisk/images/kpad2.jpg -#var/lib/asterisk/keys +#var/lib/asterisk/images/asterisk-intro.jpg +#var/lib/asterisk/images/kpad2.jpg +var/lib/asterisk/keys #var/lib/asterisk/moh var/lib/asterisk/moh/.asterisk-moh-opsound-gsm-2.03 +var/lib/asterisk/moh/.asterisk-moh-opsound-wav-2.03 var/lib/asterisk/moh/CHANGES-asterisk-moh-opsound-gsm +var/lib/asterisk/moh/CHANGES-asterisk-moh-opsound-wav var/lib/asterisk/moh/CREDITS-asterisk-moh-opsound-gsm +var/lib/asterisk/moh/CREDITS-asterisk-moh-opsound-wav var/lib/asterisk/moh/LICENSE-asterisk-moh-opsound-gsm +var/lib/asterisk/moh/LICENSE-asterisk-moh-opsound-wav var/lib/asterisk/moh/macroform-cold_day.gsm +var/lib/asterisk/moh/macroform-cold_day.wav var/lib/asterisk/moh/macroform-robot_dity.gsm +var/lib/asterisk/moh/macroform-robot_dity.wav var/lib/asterisk/moh/macroform-the_simplicity.gsm +var/lib/asterisk/moh/macroform-the_simplicity.wav var/lib/asterisk/moh/manolo_camp-morning_coffee.gsm +var/lib/asterisk/moh/manolo_camp-morning_coffee.wav var/lib/asterisk/moh/reno_project-system.gsm +var/lib/asterisk/moh/reno_project-system.wav var/lib/asterisk/phoneprov var/lib/asterisk/phoneprov/000000000000-directory.xml var/lib/asterisk/phoneprov/000000000000-phone.cfg @@ -820,14 +835,20 @@ var/lib/asterisk/sounds/digits/de/xh-8x.gsm var/lib/asterisk/sounds/digits/de/xh-9x.gsm var/lib/asterisk/sounds/digits/de/yesterday.gsm var/lib/asterisk/sounds/en -var/lib/asterisk/sounds/en/.asterisk-core-sounds-en-gsm-1.4.22 -var/lib/asterisk/sounds/en/.asterisk-extra-sounds-en-gsm-1.4.11 +var/lib/asterisk/sounds/en/.asterisk-core-sounds-en-gsm-1.4.26 +var/lib/asterisk/sounds/en/.asterisk-extra-sounds-en-gsm-1.4.15 var/lib/asterisk/sounds/en/1-for-am-2-for-pm.gsm var/lib/asterisk/sounds/en/1-yes-2-no.gsm -var/lib/asterisk/sounds/en/CHANGES-asterisk-core-en-1.4.22 -var/lib/asterisk/sounds/en/CHANGES-asterisk-extra-en-1.4.11 -var/lib/asterisk/sounds/en/CREDITS-asterisk-core-en-1.4.22 -var/lib/asterisk/sounds/en/LICENSE-asterisk-core-en-1.4.22 +#var/lib/asterisk/sounds/en/CHANGES-asterisk-core-en-1.4.26 +#var/lib/asterisk/sounds/en/CHANGES-asterisk-extra-en-1.4.15 +#var/lib/asterisk/sounds/en/CREDITS-asterisk-core-en-1.4.26 +#var/lib/asterisk/sounds/en/CREDITS-asterisk-extra-en-1.4.15 +#var/lib/asterisk/sounds/en/LICENSE-asterisk-core-en-1.4.26 +#var/lib/asterisk/sounds/en/LICENSE-asterisk-extra-en-1.4.15 +var/lib/asterisk/sounds/en/OfficeSpace.gsm +var/lib/asterisk/sounds/en/Randulo-allison.gsm +var/lib/asterisk/sounds/en/SIP_Test_Failure.gsm +var/lib/asterisk/sounds/en/SIP_Test_Success.gsm var/lib/asterisk/sounds/en/T-changed-to.gsm var/lib/asterisk/sounds/en/T-is-not-available.gsm var/lib/asterisk/sounds/en/T-to-disable-ancmnt.gsm @@ -850,6 +871,7 @@ var/lib/asterisk/sounds/en/access-denied.gsm var/lib/asterisk/sounds/en/access-granted.gsm var/lib/asterisk/sounds/en/accessible-through-system.gsm var/lib/asterisk/sounds/en/account-balance-is.gsm +var/lib/asterisk/sounds/en/account_number.gsm var/lib/asterisk/sounds/en/accounting.gsm var/lib/asterisk/sounds/en/accounts-payable.gsm var/lib/asterisk/sounds/en/accounts-receivable.gsm @@ -860,6 +882,7 @@ var/lib/asterisk/sounds/en/address.gsm var/lib/asterisk/sounds/en/administration.gsm var/lib/asterisk/sounds/en/advised-to-seek-shelter.gsm var/lib/asterisk/sounds/en/after-the-tone.gsm +var/lib/asterisk/sounds/en/after_tone.gsm var/lib/asterisk/sounds/en/afternoon.gsm var/lib/asterisk/sounds/en/agent-alreadyon.gsm var/lib/asterisk/sounds/en/agent-incorrect.gsm @@ -879,12 +902,12 @@ var/lib/asterisk/sounds/en/all-reps-busy.gsm var/lib/asterisk/sounds/en/all-your-base.gsm var/lib/asterisk/sounds/en/altitude.gsm var/lib/asterisk/sounds/en/ampersand.gsm -var/lib/asterisk/sounds/en/an-error-has-occured.gsm var/lib/asterisk/sounds/en/an-error-has-occurred.gsm var/lib/asterisk/sounds/en/and-area-code.gsm var/lib/asterisk/sounds/en/and-or.gsm var/lib/asterisk/sounds/en/and-prs-pound-whn-finished.gsm var/lib/asterisk/sounds/en/and.gsm +var/lib/asterisk/sounds/en/andnowstandby.gsm var/lib/asterisk/sounds/en/another-time.gsm var/lib/asterisk/sounds/en/approaching.gsm var/lib/asterisk/sounds/en/approximately.gsm @@ -911,6 +934,7 @@ var/lib/asterisk/sounds/en/at-customers-request.gsm var/lib/asterisk/sounds/en/at-following-number.gsm var/lib/asterisk/sounds/en/at-sign.gsm var/lib/asterisk/sounds/en/at-tone-time-exactly.gsm +var/lib/asterisk/sounds/en/at_tone.gsm var/lib/asterisk/sounds/en/athletics.gsm var/lib/asterisk/sounds/en/atlanta.gsm var/lib/asterisk/sounds/en/atlantic.gsm @@ -924,6 +948,7 @@ var/lib/asterisk/sounds/en/available.gsm var/lib/asterisk/sounds/en/avg-speed-answer.gsm var/lib/asterisk/sounds/en/away-naughty-boy.gsm var/lib/asterisk/sounds/en/away-naughty-girl.gsm +var/lib/asterisk/sounds/en/awkward.gsm var/lib/asterisk/sounds/en/backslash.gsm var/lib/asterisk/sounds/en/bad.gsm var/lib/asterisk/sounds/en/baltimore.gsm @@ -941,8 +966,10 @@ var/lib/asterisk/sounds/en/believe-its-free.gsm var/lib/asterisk/sounds/en/billing-and-collections.gsm var/lib/asterisk/sounds/en/billing.gsm var/lib/asterisk/sounds/en/billionth.gsm +var/lib/asterisk/sounds/en/binary.gsm var/lib/asterisk/sounds/en/bits.gsm var/lib/asterisk/sounds/en/blue-eyed-polar-bear.gsm +var/lib/asterisk/sounds/en/bombsquad.gsm var/lib/asterisk/sounds/en/bookstore.gsm var/lib/asterisk/sounds/en/boston.gsm var/lib/asterisk/sounds/en/box.gsm @@ -993,6 +1020,7 @@ var/lib/asterisk/sounds/en/central.gsm var/lib/asterisk/sounds/en/cents-per-minute.gsm var/lib/asterisk/sounds/en/cents.gsm var/lib/asterisk/sounds/en/ceo-office.gsm +var/lib/asterisk/sounds/en/challenge_try_again.gsm var/lib/asterisk/sounds/en/chance-of.gsm var/lib/asterisk/sounds/en/changing.gsm var/lib/asterisk/sounds/en/channel-insecure-warn.gsm @@ -1010,12 +1038,14 @@ var/lib/asterisk/sounds/en/clearing.gsm var/lib/asterisk/sounds/en/cleveland.gsm var/lib/asterisk/sounds/en/clli.gsm var/lib/asterisk/sounds/en/close-parenthesis.gsm +var/lib/asterisk/sounds/en/closed.gsm var/lib/asterisk/sounds/en/clouds.gsm var/lib/asterisk/sounds/en/cloudy.gsm var/lib/asterisk/sounds/en/collections.gsm var/lib/asterisk/sounds/en/colorado-springs.gsm var/lib/asterisk/sounds/en/colorado.gsm var/lib/asterisk/sounds/en/columbus.gsm +var/lib/asterisk/sounds/en/comedyclub.gsm var/lib/asterisk/sounds/en/comma.gsm var/lib/asterisk/sounds/en/communications.gsm var/lib/asterisk/sounds/en/company-dir-411.gsm @@ -1024,7 +1054,15 @@ var/lib/asterisk/sounds/en/compliance.gsm var/lib/asterisk/sounds/en/computer-friend1.gsm var/lib/asterisk/sounds/en/computer-friend2.gsm var/lib/asterisk/sounds/en/conditions.gsm +var/lib/asterisk/sounds/en/conf-1-to-list-users.gsm +var/lib/asterisk/sounds/en/conf-2-to-kick-nonadmin.gsm +var/lib/asterisk/sounds/en/conf-3-mute-or-unmute-nonadmin.gsm +var/lib/asterisk/sounds/en/conf-4-to-record-conf.gsm +var/lib/asterisk/sounds/en/conf-8-for-more-options.gsm +var/lib/asterisk/sounds/en/conf-8-to-exit-return-to-conf.gsm var/lib/asterisk/sounds/en/conf-adminmenu-162.gsm +var/lib/asterisk/sounds/en/conf-adminmenu-18.gsm +var/lib/asterisk/sounds/en/conf-adminmenu-menu8.gsm var/lib/asterisk/sounds/en/conf-adminmenu.gsm var/lib/asterisk/sounds/en/conf-banned.gsm var/lib/asterisk/sounds/en/conf-enteringno.gsm @@ -1131,8 +1169,11 @@ var/lib/asterisk/sounds/en/core-sounds-en.txt var/lib/asterisk/sounds/en/could-lose-a-few-pounds.gsm var/lib/asterisk/sounds/en/counseling-services.gsm var/lib/asterisk/sounds/en/count.gsm +var/lib/asterisk/sounds/en/countdown.gsm var/lib/asterisk/sounds/en/crash.gsm +var/lib/asterisk/sounds/en/crashing_conf.gsm var/lib/asterisk/sounds/en/current-time-is.gsm +var/lib/asterisk/sounds/en/current_account_balance.gsm var/lib/asterisk/sounds/en/currently.gsm var/lib/asterisk/sounds/en/customer-accounts.gsm var/lib/asterisk/sounds/en/customer-relations.gsm @@ -1305,6 +1346,8 @@ var/lib/asterisk/sounds/en/divided-by.gsm var/lib/asterisk/sounds/en/dns.gsm var/lib/asterisk/sounds/en/do-not-disturb.gsm var/lib/asterisk/sounds/en/doing-enum-lookup.gsm +var/lib/asterisk/sounds/en/donotcall1.gsm +var/lib/asterisk/sounds/en/donotcall2.gsm var/lib/asterisk/sounds/en/dont-know-who-sent.gsm var/lib/asterisk/sounds/en/doppler-radar.gsm var/lib/asterisk/sounds/en/down.gsm @@ -1321,6 +1364,7 @@ var/lib/asterisk/sounds/en/eighteenth.gsm var/lib/asterisk/sounds/en/eighth.gsm var/lib/asterisk/sounds/en/eightieth.gsm var/lib/asterisk/sounds/en/el-paso.gsm +var/lib/asterisk/sounds/en/eletelephony.gsm var/lib/asterisk/sounds/en/eleventh.gsm var/lib/asterisk/sounds/en/email.gsm var/lib/asterisk/sounds/en/emergency.gsm @@ -1335,11 +1379,13 @@ var/lib/asterisk/sounds/en/enter-ext-of-person.gsm var/lib/asterisk/sounds/en/enter-num-blacklist.gsm var/lib/asterisk/sounds/en/enter-password.gsm var/lib/asterisk/sounds/en/enter-phone-number10.gsm +var/lib/asterisk/sounds/en/enter_account.gsm var/lib/asterisk/sounds/en/entering-conf-number.gsm var/lib/asterisk/sounds/en/entr-num-rmv-blklist.gsm var/lib/asterisk/sounds/en/enum-lookup-failed.gsm var/lib/asterisk/sounds/en/enum-lookup-successful.gsm var/lib/asterisk/sounds/en/error-number.gsm +var/lib/asterisk/sounds/en/error.gsm var/lib/asterisk/sounds/en/est-hold-time-is.gsm var/lib/asterisk/sounds/en/euro.gsm var/lib/asterisk/sounds/en/european.gsm @@ -1355,6 +1401,7 @@ var/lib/asterisk/sounds/en/fahrenheit.gsm var/lib/asterisk/sounds/en/falling.gsm var/lib/asterisk/sounds/en/fast.gsm var/lib/asterisk/sounds/en/feature-not-avail-line.gsm +var/lib/asterisk/sounds/en/feeling_lucky_punk.gsm var/lib/asterisk/sounds/en/feet.gsm var/lib/asterisk/sounds/en/female.gsm var/lib/asterisk/sounds/en/fifteenth.gsm @@ -1370,6 +1417,8 @@ var/lib/asterisk/sounds/en/florida.gsm var/lib/asterisk/sounds/en/fog.gsm var/lib/asterisk/sounds/en/foggy.gsm var/lib/asterisk/sounds/en/followed-by.gsm +var/lib/asterisk/sounds/en/followed_hash.gsm +var/lib/asterisk/sounds/en/followed_pound.gsm var/lib/asterisk/sounds/en/followme var/lib/asterisk/sounds/en/followme/call-from.gsm var/lib/asterisk/sounds/en/followme/no-recording.gsm @@ -1397,6 +1446,7 @@ var/lib/asterisk/sounds/en/for-the-weather.gsm var/lib/asterisk/sounds/en/for-wakeup-call.gsm var/lib/asterisk/sounds/en/for-yes-press.gsm var/lib/asterisk/sounds/en/for.gsm +var/lib/asterisk/sounds/en/forget_about_it.gsm var/lib/asterisk/sounds/en/fort-worth.gsm var/lib/asterisk/sounds/en/fortieth.gsm var/lib/asterisk/sounds/en/fourteenth.gsm @@ -1411,6 +1461,10 @@ var/lib/asterisk/sounds/en/ftp.gsm var/lib/asterisk/sounds/en/gale.gsm var/lib/asterisk/sounds/en/gambling-drunk.gsm var/lib/asterisk/sounds/en/georgia.gsm +var/lib/asterisk/sounds/en/get-in-line-sales-guy.gsm +var/lib/asterisk/sounds/en/get_bleep_outta.gsm +var/lib/asterisk/sounds/en/get_information.gsm +var/lib/asterisk/sounds/en/get_information_first.gsm var/lib/asterisk/sounds/en/gigabits.gsm var/lib/asterisk/sounds/en/gigabytes.gsm var/lib/asterisk/sounds/en/gigahertz.gsm @@ -1423,6 +1477,10 @@ var/lib/asterisk/sounds/en/good-evening.gsm var/lib/asterisk/sounds/en/good-morning.gsm var/lib/asterisk/sounds/en/good.gsm var/lib/asterisk/sounds/en/goodbye.gsm +var/lib/asterisk/sounds/en/goodbye_for_the_best.gsm +var/lib/asterisk/sounds/en/goodbye_love.gsm +var/lib/asterisk/sounds/en/got_kidding.gsm +var/lib/asterisk/sounds/en/grammar.gsm var/lib/asterisk/sounds/en/greater-than.gsm var/lib/asterisk/sounds/en/groovy.gsm var/lib/asterisk/sounds/en/ha @@ -1551,10 +1609,12 @@ var/lib/asterisk/sounds/en/ha/xmas-lights.gsm var/lib/asterisk/sounds/en/ha/xmas-tree.gsm var/lib/asterisk/sounds/en/ha/yard.gsm var/lib/asterisk/sounds/en/hail.gsm +var/lib/asterisk/sounds/en/hal_goodbye.gsm var/lib/asterisk/sounds/en/half.gsm var/lib/asterisk/sounds/en/hang-on-a-second-angry.gsm var/lib/asterisk/sounds/en/hang-on-a-second.gsm var/lib/asterisk/sounds/en/hangup-try-again.gsm +var/lib/asterisk/sounds/en/happy_saved.gsm var/lib/asterisk/sounds/en/has-arrived-at.gsm var/lib/asterisk/sounds/en/has-been-changed-to.gsm var/lib/asterisk/sounds/en/has-been-cleared.gsm @@ -1666,6 +1726,7 @@ var/lib/asterisk/sounds/en/just-kidding-not-upset2.gsm var/lib/asterisk/sounds/en/kansas-city.gsm var/lib/asterisk/sounds/en/kansas.gsm var/lib/asterisk/sounds/en/kentucky.gsm +var/lib/asterisk/sounds/en/keywords_cross_fingers.gsm var/lib/asterisk/sounds/en/kilobits.gsm var/lib/asterisk/sounds/en/kilobytes.gsm var/lib/asterisk/sounds/en/kilohertz.gsm @@ -1748,6 +1809,7 @@ var/lib/asterisk/sounds/en/letters/z.gsm var/lib/asterisk/sounds/en/letters/zed.gsm var/lib/asterisk/sounds/en/library.gsm var/lib/asterisk/sounds/en/lightning.gsm +var/lib/asterisk/sounds/en/like_to_tell_valid_ext.gsm var/lib/asterisk/sounds/en/limit-simul-calls.gsm var/lib/asterisk/sounds/en/lines-complaining-customers.gsm var/lib/asterisk/sounds/en/linux.gsm @@ -1763,6 +1825,7 @@ var/lib/asterisk/sounds/en/loss.gsm var/lib/asterisk/sounds/en/lots-o-monkeys.gsm var/lib/asterisk/sounds/en/louisiana.gsm var/lib/asterisk/sounds/en/low.gsm +var/lib/asterisk/sounds/en/lowercase.gsm var/lib/asterisk/sounds/en/lunch.gsm var/lib/asterisk/sounds/en/lyrics-louie-louie.gsm var/lib/asterisk/sounds/en/machine.gsm @@ -1777,6 +1840,7 @@ var/lib/asterisk/sounds/en/management.gsm var/lib/asterisk/sounds/en/manufacturing.gsm var/lib/asterisk/sounds/en/marketing.gsm var/lib/asterisk/sounds/en/marryme.gsm +var/lib/asterisk/sounds/en/martini.gsm var/lib/asterisk/sounds/en/maryland.gsm var/lib/asterisk/sounds/en/massachusetts.gsm var/lib/asterisk/sounds/en/mathematics.gsm @@ -1790,6 +1854,7 @@ var/lib/asterisk/sounds/en/menu.gsm var/lib/asterisk/sounds/en/mesa.gsm var/lib/asterisk/sounds/en/message-from.gsm var/lib/asterisk/sounds/en/message-number.gsm +var/lib/asterisk/sounds/en/messages_curious.gsm var/lib/asterisk/sounds/en/meter.gsm var/lib/asterisk/sounds/en/meters.gsm var/lib/asterisk/sounds/en/miami.gsm @@ -1802,7 +1867,9 @@ var/lib/asterisk/sounds/en/miles-per-hour.gsm var/lib/asterisk/sounds/en/miles.gsm var/lib/asterisk/sounds/en/millionth.gsm var/lib/asterisk/sounds/en/milwaukee.gsm +var/lib/asterisk/sounds/en/mind_repeating.gsm var/lib/asterisk/sounds/en/minimum.gsm +var/lib/asterisk/sounds/en/minions-not-answering-leave-message.gsm var/lib/asterisk/sounds/en/minneapolis.gsm var/lib/asterisk/sounds/en/minnesota.gsm var/lib/asterisk/sounds/en/minute.gsm @@ -1811,6 +1878,7 @@ var/lib/asterisk/sounds/en/missed.gsm var/lib/asterisk/sounds/en/mississippi.gsm var/lib/asterisk/sounds/en/missouri.gsm var/lib/asterisk/sounds/en/misty.gsm +var/lib/asterisk/sounds/en/mode.gsm var/lib/asterisk/sounds/en/monitored.gsm var/lib/asterisk/sounds/en/montana.gsm var/lib/asterisk/sounds/en/month.gsm @@ -1840,6 +1908,7 @@ var/lib/asterisk/sounds/en/new-jersey.gsm var/lib/asterisk/sounds/en/new-mexico.gsm var/lib/asterisk/sounds/en/new-orleans.gsm var/lib/asterisk/sounds/en/new-york.gsm +var/lib/asterisk/sounds/en/night.gsm var/lib/asterisk/sounds/en/nineteenth.gsm var/lib/asterisk/sounds/en/ninetieth.gsm var/lib/asterisk/sounds/en/ninth.gsm @@ -1852,8 +1921,14 @@ var/lib/asterisk/sounds/en/no-info-about-number.gsm var/lib/asterisk/sounds/en/no-longer-in-service.gsm var/lib/asterisk/sounds/en/no-reply-no-mailbox.gsm var/lib/asterisk/sounds/en/no-route-exists-to-dest.gsm +var/lib/asterisk/sounds/en/no_invite_to_conf.gsm +var/lib/asterisk/sounds/en/no_longer_conf.gsm +var/lib/asterisk/sounds/en/no_problem_help.gsm +var/lib/asterisk/sounds/en/no_worries_try_again.gsm var/lib/asterisk/sounds/en/nobody-but-chickens.gsm var/lib/asterisk/sounds/en/node.gsm +var/lib/asterisk/sounds/en/none_of_my_business1.gsm +var/lib/asterisk/sounds/en/none_of_my_business2.gsm var/lib/asterisk/sounds/en/north-carolina.gsm var/lib/asterisk/sounds/en/north-dakota.gsm var/lib/asterisk/sounds/en/north.gsm @@ -1867,6 +1942,10 @@ var/lib/asterisk/sounds/en/not-rqsted-wakeup.gsm var/lib/asterisk/sounds/en/not-taking-your-call.gsm var/lib/asterisk/sounds/en/not-yet-assigned.gsm var/lib/asterisk/sounds/en/not-yet-connected.gsm +var/lib/asterisk/sounds/en/not_me.gsm +var/lib/asterisk/sounds/en/not_pass.gsm +var/lib/asterisk/sounds/en/not_siri.gsm +var/lib/asterisk/sounds/en/not_you.gsm var/lib/asterisk/sounds/en/nothing-recorded.gsm var/lib/asterisk/sounds/en/now.gsm var/lib/asterisk/sounds/en/num-not-in-db.gsm @@ -1877,9 +1956,11 @@ var/lib/asterisk/sounds/en/number.gsm var/lib/asterisk/sounds/en/oakland.gsm var/lib/asterisk/sounds/en/octothorpe.gsm var/lib/asterisk/sounds/en/off-duty.gsm +var/lib/asterisk/sounds/en/off.gsm var/lib/asterisk/sounds/en/office-code.gsm var/lib/asterisk/sounds/en/office-iguanas.gsm var/lib/asterisk/sounds/en/office.gsm +var/lib/asterisk/sounds/en/ogm_home.gsm var/lib/asterisk/sounds/en/ohio.gsm var/lib/asterisk/sounds/en/oklahoma-city.gsm var/lib/asterisk/sounds/en/oklahoma.gsm @@ -1895,6 +1976,7 @@ var/lib/asterisk/sounds/en/oops1.gsm var/lib/asterisk/sounds/en/oops2.gsm var/lib/asterisk/sounds/en/oops3.gsm var/lib/asterisk/sounds/en/open-parenthesis.gsm +var/lib/asterisk/sounds/en/open.gsm var/lib/asterisk/sounds/en/operations.gsm var/lib/asterisk/sounds/en/option-is-invalid.gsm var/lib/asterisk/sounds/en/option-not-implemented.gsm @@ -1917,6 +1999,7 @@ var/lib/asterisk/sounds/en/partially.gsm var/lib/asterisk/sounds/en/partly.gsm var/lib/asterisk/sounds/en/pascal.gsm var/lib/asterisk/sounds/en/pascal2.gsm +var/lib/asterisk/sounds/en/passwords_not_match.gsm var/lib/asterisk/sounds/en/patchy.gsm var/lib/asterisk/sounds/en/pbx-invalid.gsm var/lib/asterisk/sounds/en/pbx-invalidpark.gsm @@ -1965,6 +2048,7 @@ var/lib/asterisk/sounds/en/phonetic/z_p.gsm var/lib/asterisk/sounds/en/physics.gsm var/lib/asterisk/sounds/en/pin-invalid.gsm var/lib/asterisk/sounds/en/pin-number-accepted.gsm +var/lib/asterisk/sounds/en/pin_number.gsm var/lib/asterisk/sounds/en/ping.gsm var/lib/asterisk/sounds/en/pipe.gsm var/lib/asterisk/sounds/en/planning.gsm @@ -1975,6 +2059,8 @@ var/lib/asterisk/sounds/en/please-enter-the.gsm var/lib/asterisk/sounds/en/please-enter-your.gsm var/lib/asterisk/sounds/en/please-hang-up-and-dial-operator.gsm var/lib/asterisk/sounds/en/please-hang-up-and-try-again.gsm +var/lib/asterisk/sounds/en/please-hold-minion-connect.gsm +var/lib/asterisk/sounds/en/please-hold-while-minion.gsm var/lib/asterisk/sounds/en/please-try-again-later.gsm var/lib/asterisk/sounds/en/please-try-again.gsm var/lib/asterisk/sounds/en/please-try.gsm @@ -1987,6 +2073,7 @@ var/lib/asterisk/sounds/en/pls-entr-num-uwish2-call.gsm var/lib/asterisk/sounds/en/pls-hold-process-tx.gsm var/lib/asterisk/sounds/en/pls-hold-silent30.gsm var/lib/asterisk/sounds/en/pls-hold-while-try.gsm +var/lib/asterisk/sounds/en/pls-listen-options-changed.gsm var/lib/asterisk/sounds/en/pls-lv-msg-will-contact.gsm var/lib/asterisk/sounds/en/pls-rcrd-name-at-tone.gsm var/lib/asterisk/sounds/en/pls-stay-on-line.gsm @@ -2027,6 +2114,16 @@ var/lib/asterisk/sounds/en/press-button-again.gsm var/lib/asterisk/sounds/en/press-enter.gsm var/lib/asterisk/sounds/en/press-escape.gsm var/lib/asterisk/sounds/en/press-hash.gsm +var/lib/asterisk/sounds/en/press-or-say-0.gsm +var/lib/asterisk/sounds/en/press-or-say-1.gsm +var/lib/asterisk/sounds/en/press-or-say-2.gsm +var/lib/asterisk/sounds/en/press-or-say-3.gsm +var/lib/asterisk/sounds/en/press-or-say-4.gsm +var/lib/asterisk/sounds/en/press-or-say-5.gsm +var/lib/asterisk/sounds/en/press-or-say-6.gsm +var/lib/asterisk/sounds/en/press-or-say-7.gsm +var/lib/asterisk/sounds/en/press-or-say-8.gsm +var/lib/asterisk/sounds/en/press-or-say-9.gsm var/lib/asterisk/sounds/en/press-pound-save-changes.gsm var/lib/asterisk/sounds/en/press-pound-to-login-star-to-hangup.gsm var/lib/asterisk/sounds/en/press-pound.gsm @@ -2036,7 +2133,10 @@ var/lib/asterisk/sounds/en/press-star.gsm var/lib/asterisk/sounds/en/press-the-space-bar.gsm var/lib/asterisk/sounds/en/press-tilde.gsm var/lib/asterisk/sounds/en/press.gsm +var/lib/asterisk/sounds/en/press_pound_hash.gsm +var/lib/asterisk/sounds/en/press_pound_hash_key.gsm var/lib/asterisk/sounds/en/pressure.gsm +var/lib/asterisk/sounds/en/prime_number.gsm var/lib/asterisk/sounds/en/printing.gsm var/lib/asterisk/sounds/en/priv-callee-options.gsm var/lib/asterisk/sounds/en/priv-callpending.gsm @@ -2072,6 +2172,7 @@ var/lib/asterisk/sounds/en/privacy-your-callerid-is.gsm var/lib/asterisk/sounds/en/product.gsm var/lib/asterisk/sounds/en/production.gsm var/lib/asterisk/sounds/en/projects.gsm +var/lib/asterisk/sounds/en/prompt-not-found.gsm var/lib/asterisk/sounds/en/protocol.gsm var/lib/asterisk/sounds/en/public-relations.gsm var/lib/asterisk/sounds/en/purchasing.gsm @@ -2080,6 +2181,7 @@ var/lib/asterisk/sounds/en/q-dot-931.gsm var/lib/asterisk/sounds/en/q-dot-9thirty1.gsm var/lib/asterisk/sounds/en/quality-assurance.gsm var/lib/asterisk/sounds/en/quality-control.gsm +var/lib/asterisk/sounds/en/quality_control.gsm var/lib/asterisk/sounds/en/quarter.gsm var/lib/asterisk/sounds/en/queue-callswaiting.gsm var/lib/asterisk/sounds/en/queue-holdtime.gsm @@ -2108,12 +2210,14 @@ var/lib/asterisk/sounds/en/receiving.gsm var/lib/asterisk/sounds/en/reception.gsm var/lib/asterisk/sounds/en/recorded.gsm var/lib/asterisk/sounds/en/registrar.gsm +var/lib/asterisk/sounds/en/regret_not_saved.gsm var/lib/asterisk/sounds/en/remote-already-in-this-mode-2.gsm var/lib/asterisk/sounds/en/remote-already-in-this-mode.gsm var/lib/asterisk/sounds/en/remote-base.gsm var/lib/asterisk/sounds/en/removed.gsm var/lib/asterisk/sounds/en/repair.gsm var/lib/asterisk/sounds/en/repeat-only.gsm +var/lib/asterisk/sounds/en/repeat_pin.gsm var/lib/asterisk/sounds/en/repeater.gsm var/lib/asterisk/sounds/en/research-and-development.gsm var/lib/asterisk/sounds/en/research.gsm @@ -2128,9 +2232,11 @@ var/lib/asterisk/sounds/en/room-service.gsm var/lib/asterisk/sounds/en/route-sip.gsm var/lib/asterisk/sounds/en/rqsted-wakeup-for.gsm var/lib/asterisk/sounds/en/sacramento.gsm +var/lib/asterisk/sounds/en/said_hold_on.gsm var/lib/asterisk/sounds/en/saint-louis.gsm var/lib/asterisk/sounds/en/sales-floor.gsm var/lib/asterisk/sounds/en/sales.gsm +var/lib/asterisk/sounds/en/saleshell.gsm var/lib/asterisk/sounds/en/san-antonio.gsm var/lib/asterisk/sounds/en/san-diego.gsm var/lib/asterisk/sounds/en/san-francisco.gsm @@ -2148,6 +2254,7 @@ var/lib/asterisk/sounds/en/secretary.gsm var/lib/asterisk/sounds/en/security.gsm var/lib/asterisk/sounds/en/self-destruct-in.gsm var/lib/asterisk/sounds/en/self-destruct.gsm +var/lib/asterisk/sounds/en/sendhelp.gsm var/lib/asterisk/sounds/en/server.gsm var/lib/asterisk/sounds/en/service-not-implemented.gsm var/lib/asterisk/sounds/en/service.gsm @@ -2196,6 +2303,13 @@ var/lib/asterisk/sounds/en/sorry-mailbox-full.gsm var/lib/asterisk/sounds/en/sorry-youre-having-problems.gsm var/lib/asterisk/sounds/en/sorry.gsm var/lib/asterisk/sounds/en/sorry2.gsm +var/lib/asterisk/sounds/en/sorry_caller_number.gsm +var/lib/asterisk/sounds/en/sorry_didnt_get.gsm +var/lib/asterisk/sounds/en/sorry_didnt_quite_get.gsm +var/lib/asterisk/sounds/en/sorry_login_incorrect.gsm +var/lib/asterisk/sounds/en/sorry_missed.gsm +var/lib/asterisk/sounds/en/sorry_no_messages.gsm +var/lib/asterisk/sounds/en/sorrydave.gsm var/lib/asterisk/sounds/en/south-carolina.gsm var/lib/asterisk/sounds/en/south-dakota.gsm var/lib/asterisk/sounds/en/south.gsm @@ -2237,20 +2351,24 @@ var/lib/asterisk/sounds/en/station.gsm var/lib/asterisk/sounds/en/status.gsm var/lib/asterisk/sounds/en/step-in-stream.gsm var/lib/asterisk/sounds/en/sterling.gsm +var/lib/asterisk/sounds/en/still_on_phone.gsm var/lib/asterisk/sounds/en/store-accounting.gsm var/lib/asterisk/sounds/en/storm.gsm var/lib/asterisk/sounds/en/sun.gsm var/lib/asterisk/sounds/en/sunny.gsm var/lib/asterisk/sounds/en/support.gsm +var/lib/asterisk/sounds/en/sure_help.gsm var/lib/asterisk/sounds/en/swap.gsm var/lib/asterisk/sounds/en/system-crashed.gsm var/lib/asterisk/sounds/en/system-status-msg.gsm var/lib/asterisk/sounds/en/system.gsm var/lib/asterisk/sounds/en/systems.gsm +var/lib/asterisk/sounds/en/talkin_me.gsm var/lib/asterisk/sounds/en/talking-to-myself.gsm var/lib/asterisk/sounds/en/target-attendant.gsm var/lib/asterisk/sounds/en/tcp.gsm var/lib/asterisk/sounds/en/technical-support.gsm +var/lib/asterisk/sounds/en/telemarketercalling.gsm var/lib/asterisk/sounds/en/telephone-in-your-pocket.gsm var/lib/asterisk/sounds/en/telephone-in-your-pocket2.gsm var/lib/asterisk/sounds/en/telephone-number.gsm @@ -2269,6 +2387,8 @@ var/lib/asterisk/sounds/en/test-tones-follow.gsm var/lib/asterisk/sounds/en/texas.gsm var/lib/asterisk/sounds/en/thank-you-cooperation.gsm var/lib/asterisk/sounds/en/thank-you-for-calling.gsm +var/lib/asterisk/sounds/en/thank_you_calling.gsm +var/lib/asterisk/sounds/en/thanks-annoyance.gsm var/lib/asterisk/sounds/en/thanks-for-calling-today.gsm var/lib/asterisk/sounds/en/thanks-for-using.gsm var/lib/asterisk/sounds/en/that-is-not-rec-phn-num.gsm @@ -2304,6 +2424,7 @@ var/lib/asterisk/sounds/en/thunderstorm.gsm var/lib/asterisk/sounds/en/tide.gsm var/lib/asterisk/sounds/en/time.gsm var/lib/asterisk/sounds/en/times.gsm +var/lib/asterisk/sounds/en/timewarp.gsm var/lib/asterisk/sounds/en/to-accept-recording.gsm var/lib/asterisk/sounds/en/to-be-called-back.gsm var/lib/asterisk/sounds/en/to-blklist-last-caller.gsm @@ -2354,6 +2475,7 @@ var/lib/asterisk/sounds/en/to-send-a-reply.gsm var/lib/asterisk/sounds/en/to-snooze-for.gsm var/lib/asterisk/sounds/en/to-use-def-attendant.gsm var/lib/asterisk/sounds/en/tomorrow-night.gsm +var/lib/asterisk/sounds/en/tone_time.gsm var/lib/asterisk/sounds/en/tones-that-follow-are-for-the-deaf.gsm var/lib/asterisk/sounds/en/tonight.gsm var/lib/asterisk/sounds/en/too-low.gsm @@ -2366,6 +2488,7 @@ var/lib/asterisk/sounds/en/trading-desk.gsm var/lib/asterisk/sounds/en/traffic.gsm var/lib/asterisk/sounds/en/training.gsm var/lib/asterisk/sounds/en/transfer.gsm +var/lib/asterisk/sounds/en/transfer_to_agent.gsm var/lib/asterisk/sounds/en/transportation.gsm var/lib/asterisk/sounds/en/travel.gsm var/lib/asterisk/sounds/en/treasury.gsm @@ -2393,10 +2516,14 @@ var/lib/asterisk/sounds/en/uh-oh2.gsm var/lib/asterisk/sounds/en/uk.gsm var/lib/asterisk/sounds/en/unavailable.gsm var/lib/asterisk/sounds/en/unconditional.gsm +var/lib/asterisk/sounds/en/unicorn_blood.gsm +var/lib/asterisk/sounds/en/unicorn_blood_MIXDOWN.gsm var/lib/asterisk/sounds/en/unidentified-no-callback.gsm var/lib/asterisk/sounds/en/units.gsm var/lib/asterisk/sounds/en/unix.gsm +var/lib/asterisk/sounds/en/unwelcomecall.gsm var/lib/asterisk/sounds/en/up.gsm +var/lib/asterisk/sounds/en/uppercase.gsm var/lib/asterisk/sounds/en/uptime.gsm var/lib/asterisk/sounds/en/user.gsm var/lib/asterisk/sounds/en/users.gsm @@ -2456,6 +2583,7 @@ var/lib/asterisk/sounds/en/vm-message.gsm var/lib/asterisk/sounds/en/vm-messages.gsm var/lib/asterisk/sounds/en/vm-minutes.gsm var/lib/asterisk/sounds/en/vm-mismatch.gsm +var/lib/asterisk/sounds/en/vm-msgforwarded.gsm var/lib/asterisk/sounds/en/vm-msginstruct.gsm var/lib/asterisk/sounds/en/vm-msgsaved.gsm var/lib/asterisk/sounds/en/vm-newpassword.gsm @@ -2536,6 +2664,7 @@ var/lib/asterisk/sounds/en/was.gsm var/lib/asterisk/sounds/en/washington-dc.gsm var/lib/asterisk/sounds/en/washington.gsm var/lib/asterisk/sounds/en/watch.gsm +var/lib/asterisk/sounds/en/watson.gsm var/lib/asterisk/sounds/en/we-apologize.gsm var/lib/asterisk/sounds/en/we-dont-have-tech-support.gsm var/lib/asterisk/sounds/en/weasels-eaten-phonesys.gsm @@ -2553,6 +2682,7 @@ var/lib/asterisk/sounds/en/what-time-it-is.gsm var/lib/asterisk/sounds/en/what-time-it-is2.gsm var/lib/asterisk/sounds/en/when-dialing-this-number.gsm var/lib/asterisk/sounds/en/who-would-you-like-to-call.gsm +var/lib/asterisk/sounds/en/whoareyou.gsm var/lib/asterisk/sounds/en/why-no-answer-mystery.gsm var/lib/asterisk/sounds/en/wichita.gsm var/lib/asterisk/sounds/en/will-apply.gsm @@ -2564,8 +2694,10 @@ var/lib/asterisk/sounds/en/windows.gsm var/lib/asterisk/sounds/en/windy.gsm var/lib/asterisk/sounds/en/wisconsin.gsm var/lib/asterisk/sounds/en/wish-to-continue.gsm +var/lib/asterisk/sounds/en/wish_command_totally.gsm var/lib/asterisk/sounds/en/with.gsm var/lib/asterisk/sounds/en/within.gsm +var/lib/asterisk/sounds/en/woo_hoo_call_first.gsm var/lib/asterisk/sounds/en/work.gsm var/lib/asterisk/sounds/en/wrong-try-again-smarty.gsm var/lib/asterisk/sounds/en/wtng-to-spk-w-rep.gsm @@ -2619,6 +2751,7 @@ var/lib/asterisk/sounds/en/you-must-first-dial.gsm var/lib/asterisk/sounds/en/you-seem-impatient.gsm var/lib/asterisk/sounds/en/you-sound-cute.gsm var/lib/asterisk/sounds/en/you-wish-to-join.gsm +var/lib/asterisk/sounds/en/you_say_yes.gsm var/lib/asterisk/sounds/en/your-account.gsm var/lib/asterisk/sounds/en/your-msg-has-been-saved.gsm var/lib/asterisk/sounds/en/your-msg-is-too-short.gsm @@ -2626,7 +2759,10 @@ var/lib/asterisk/sounds/en/your-notifications.gsm var/lib/asterisk/sounds/en/your-req-notification.gsm var/lib/asterisk/sounds/en/your-temp-greeting.gsm var/lib/asterisk/sounds/en/your.gsm +var/lib/asterisk/sounds/en/yourcallisimportant.gsm +var/lib/asterisk/sounds/en/yourcallisimpotent.gsm var/lib/asterisk/sounds/en/zip-code.gsm +var/lib/asterisk/sounds/en/zombies.gsm #var/lib/asterisk/sounds/letters #var/lib/asterisk/sounds/letters/de var/lib/asterisk/sounds/letters/de/a.gsm @@ -2696,17 +2832,16 @@ var/lib/asterisk/sounds/phonetic/de/x_p.gsm var/lib/asterisk/sounds/phonetic/de/y_p.gsm var/lib/asterisk/sounds/phonetic/de/z_p.gsm #var/lib/asterisk/static-http -var/lib/asterisk/static-http/ajamdemo.html -var/lib/asterisk/static-http/astman.css -var/lib/asterisk/static-http/astman.js -var/lib/asterisk/static-http/core-en_US.xml -var/lib/asterisk/static-http/mantest.html -var/lib/asterisk/static-http/prototype.js +#var/lib/asterisk/static-http/ajamdemo.html +#var/lib/asterisk/static-http/astman.css +#var/lib/asterisk/static-http/astman.js +#var/lib/asterisk/static-http/core-en_US.xml +#var/lib/asterisk/static-http/mantest.html +#var/lib/asterisk/static-http/prototype.js #var/log/asterisk var/log/asterisk/cdr-csv var/log/asterisk/cdr-custom var/log/asterisk/cel-custom -#var/run/asterisk #var/spool/asterisk var/spool/asterisk/dictate var/spool/asterisk/meetme @@ -2720,6 +2855,3 @@ var/spool/asterisk/voicemail/default/1234/INBOX var/spool/asterisk/voicemail/default/1234/en var/spool/asterisk/voicemail/default/1234/en/busy.gsm var/spool/asterisk/voicemail/default/1234/en/unavail.gsm -etc/rc.d/init.d/asterisk -srv/web/ipfire/cgi-bin/asterisk -var/ipfire/menu.d/EX-asterisk.menu diff --git a/config/rootfiles/packages/haproxy b/config/rootfiles/packages/haproxy new file mode 100644 index 0000000..515145d --- /dev/null +++ b/config/rootfiles/packages/haproxy @@ -0,0 +1,8 @@ +#etc/haproxy +etc/haproxy/haproxy.cfg +etc/rc.d/init.d/haproxy +usr/sbin/haproxy +#usr/sbin/haproxy-systemd-wrapper +#usr/share/man/man1/haproxy.1 +var/ipfire/backup/addons/includes/haproxy +var/lib/haproxy diff --git a/config/rootfiles/packages/libassuan b/config/rootfiles/packages/libassuan index efe0df5..79b74ca 100644 --- a/config/rootfiles/packages/libassuan +++ b/config/rootfiles/packages/libassuan @@ -3,6 +3,6 @@ usr/bin/libassuan-config #usr/lib/libassuan.la usr/lib/libassuan.so usr/lib/libassuan.so.0 -usr/lib/libassuan.so.0.3.0 +usr/lib/libassuan.so.0.4.3 #usr/share/aclocal/libassuan.m4 #usr/share/info/assuan.info diff --git a/config/rootfiles/packages/libdvbpsi b/config/rootfiles/packages/libdvbpsi index 911b5fd..b7b0773 100644 --- a/config/rootfiles/packages/libdvbpsi +++ b/config/rootfiles/packages/libdvbpsi @@ -1,4 +1,10 @@ #usr/include/dvbpsi +#usr/include/dvbpsi/atsc_eit.h +#usr/include/dvbpsi/atsc_ett.h +#usr/include/dvbpsi/atsc_mgt.h +#usr/include/dvbpsi/atsc_stt.h +#usr/include/dvbpsi/atsc_vct.h +#usr/include/dvbpsi/bat.h #usr/include/dvbpsi/cat.h #usr/include/dvbpsi/demux.h #usr/include/dvbpsi/descriptor.h @@ -17,24 +23,57 @@ #usr/include/dvbpsi/dr_0d.h #usr/include/dvbpsi/dr_0e.h #usr/include/dvbpsi/dr_0f.h +#usr/include/dvbpsi/dr_13.h +#usr/include/dvbpsi/dr_14.h +#usr/include/dvbpsi/dr_40.h +#usr/include/dvbpsi/dr_41.h #usr/include/dvbpsi/dr_42.h +#usr/include/dvbpsi/dr_43.h +#usr/include/dvbpsi/dr_44.h +#usr/include/dvbpsi/dr_45.h #usr/include/dvbpsi/dr_47.h #usr/include/dvbpsi/dr_48.h +#usr/include/dvbpsi/dr_49.h +#usr/include/dvbpsi/dr_4a.h +#usr/include/dvbpsi/dr_4b.h +#usr/include/dvbpsi/dr_4c.h #usr/include/dvbpsi/dr_4d.h #usr/include/dvbpsi/dr_4e.h +#usr/include/dvbpsi/dr_4f.h +#usr/include/dvbpsi/dr_50.h #usr/include/dvbpsi/dr_52.h +#usr/include/dvbpsi/dr_53.h +#usr/include/dvbpsi/dr_54.h #usr/include/dvbpsi/dr_55.h #usr/include/dvbpsi/dr_56.h +#usr/include/dvbpsi/dr_58.h #usr/include/dvbpsi/dr_59.h +#usr/include/dvbpsi/dr_5a.h +#usr/include/dvbpsi/dr_62.h +#usr/include/dvbpsi/dr_66.h #usr/include/dvbpsi/dr_69.h +#usr/include/dvbpsi/dr_73.h +#usr/include/dvbpsi/dr_76.h +#usr/include/dvbpsi/dr_7c.h +#usr/include/dvbpsi/dr_81.h +#usr/include/dvbpsi/dr_83.h +#usr/include/dvbpsi/dr_86.h +#usr/include/dvbpsi/dr_8a.h +#usr/include/dvbpsi/dr_a0.h +#usr/include/dvbpsi/dr_a1.h #usr/include/dvbpsi/dvbpsi.h #usr/include/dvbpsi/eit.h +#usr/include/dvbpsi/nit.h #usr/include/dvbpsi/pat.h #usr/include/dvbpsi/pmt.h #usr/include/dvbpsi/psi.h +#usr/include/dvbpsi/rst.h #usr/include/dvbpsi/sdt.h +#usr/include/dvbpsi/sis.h +#usr/include/dvbpsi/tot.h #usr/lib/libdvbpsi.a #usr/lib/libdvbpsi.la usr/lib/libdvbpsi.so -usr/lib/libdvbpsi.so.5 -usr/lib/libdvbpsi.so.5.0.0 +usr/lib/libdvbpsi.so.9 +usr/lib/libdvbpsi.so.9.0.0 +#usr/lib/pkgconfig/libdvbpsi.pc diff --git a/config/rootfiles/packages/libevent2 b/config/rootfiles/packages/libevent2 index fb3d8bd..5beb5f8 100644 --- a/config/rootfiles/packages/libevent2 +++ b/config/rootfiles/packages/libevent2 @@ -25,18 +25,18 @@ #usr/include/event2/thread.h #usr/include/event2/util.h usr/lib/libevent-2.0.so.5 -usr/lib/libevent-2.0.so.5.1.2 +usr/lib/libevent-2.0.so.5.1.9 usr/lib/libevent_core-2.0.so.5 -usr/lib/libevent_core-2.0.so.5.1.2 +usr/lib/libevent_core-2.0.so.5.1.9 usr/lib/libevent_extra-2.0.so.5 -usr/lib/libevent_extra-2.0.so.5.1.2 +usr/lib/libevent_extra-2.0.so.5.1.9 usr/lib/libevent_openssl-2.0.so.5 -usr/lib/libevent_openssl-2.0.so.5.1.2 +usr/lib/libevent_openssl-2.0.so.5.1.9 #usr/lib/libevent_openssl.a #usr/lib/libevent_openssl.la #usr/lib/libevent_openssl.so usr/lib/libevent_pthreads-2.0.so.5 -usr/lib/libevent_pthreads-2.0.so.5.1.2 +usr/lib/libevent_pthreads-2.0.so.5.1.9 #usr/lib/libevent_pthreads.a #usr/lib/libevent_pthreads.la #usr/lib/libevent_pthreads.so diff --git a/config/rootfiles/packages/libsrtp b/config/rootfiles/packages/libsrtp new file mode 100644 index 0000000..105f3f0 --- /dev/null +++ b/config/rootfiles/packages/libsrtp @@ -0,0 +1,40 @@ +#usr/include/srtp +#usr/include/srtp/aes.h +#usr/include/srtp/aes_cbc.h +#usr/include/srtp/aes_gcm_ossl.h +#usr/include/srtp/aes_icm.h +#usr/include/srtp/aes_icm_ossl.h +#usr/include/srtp/alloc.h +#usr/include/srtp/auth.h +#usr/include/srtp/cipher.h +#usr/include/srtp/config.h +#usr/include/srtp/crypto.h +#usr/include/srtp/crypto_kernel.h +#usr/include/srtp/crypto_math.h +#usr/include/srtp/crypto_types.h +#usr/include/srtp/cryptoalg.h +#usr/include/srtp/datatypes.h +#usr/include/srtp/ekt.h +#usr/include/srtp/err.h +#usr/include/srtp/getopt_s.h +#usr/include/srtp/gf2_8.h +#usr/include/srtp/hmac.h +#usr/include/srtp/integers.h +#usr/include/srtp/kernel_compat.h +#usr/include/srtp/key.h +#usr/include/srtp/null_auth.h +#usr/include/srtp/null_cipher.h +#usr/include/srtp/prng.h +#usr/include/srtp/rand_source.h +#usr/include/srtp/rdb.h +#usr/include/srtp/rdbx.h +#usr/include/srtp/rtp.h +#usr/include/srtp/rtp_priv.h +#usr/include/srtp/sha1.h +#usr/include/srtp/srtp.h +#usr/include/srtp/srtp_priv.h +#usr/include/srtp/stat.h +#usr/include/srtp/ut_sim.h +#usr/include/srtp/xfm.h +usr/lib/libsrtp.so +#usr/lib/pkgconfig/libsrtp.pc diff --git a/config/rootfiles/packages/lynis b/config/rootfiles/packages/lynis index d4e3237..6199853 100644 --- a/config/rootfiles/packages/lynis +++ b/config/rootfiles/packages/lynis @@ -1,63 +1,79 @@ -var/ipfire/lynis-1.2.9 -var/ipfire/lynis-1.2.9/db -var/ipfire/lynis-1.2.9/db/fileperms.db -var/ipfire/lynis-1.2.9/db/hints.db -var/ipfire/lynis-1.2.9/db/integrity.db -var/ipfire/lynis-1.2.9/db/malware-susp.db -var/ipfire/lynis-1.2.9/db/malware.db -var/ipfire/lynis-1.2.9/db/sbl.db -var/ipfire/lynis-1.2.9/default.prf -var/ipfire/lynis-1.2.9/include -var/ipfire/lynis-1.2.9/include/binaries -var/ipfire/lynis-1.2.9/include/consts -var/ipfire/lynis-1.2.9/include/functions -var/ipfire/lynis-1.2.9/include/osdetection -var/ipfire/lynis-1.2.9/include/parameters -var/ipfire/lynis-1.2.9/include/profiles -var/ipfire/lynis-1.2.9/include/report -var/ipfire/lynis-1.2.9/include/tests_accounting -var/ipfire/lynis-1.2.9/include/tests_authentication -var/ipfire/lynis-1.2.9/include/tests_banners -var/ipfire/lynis-1.2.9/include/tests_boot_services -var/ipfire/lynis-1.2.9/include/tests_crypto -var/ipfire/lynis-1.2.9/include/tests_databases -var/ipfire/lynis-1.2.9/include/tests_file_integrity -var/ipfire/lynis-1.2.9/include/tests_file_permissions -var/ipfire/lynis-1.2.9/include/tests_filesystems -var/ipfire/lynis-1.2.9/include/tests_firewalls -var/ipfire/lynis-1.2.9/include/tests_hardening -var/ipfire/lynis-1.2.9/include/tests_hardening_tools -var/ipfire/lynis-1.2.9/include/tests_homedirs -var/ipfire/lynis-1.2.9/include/tests_insecure_services -var/ipfire/lynis-1.2.9/include/tests_kernel -var/ipfire/lynis-1.2.9/include/tests_kernel_hardening -var/ipfire/lynis-1.2.9/include/tests_ldap -var/ipfire/lynis-1.2.9/include/tests_logging -var/ipfire/lynis-1.2.9/include/tests_mac_frameworks -var/ipfire/lynis-1.2.9/include/tests_mail_messaging -var/ipfire/lynis-1.2.9/include/tests_malware -var/ipfire/lynis-1.2.9/include/tests_memory_processes -var/ipfire/lynis-1.2.9/include/tests_nameservices -var/ipfire/lynis-1.2.9/include/tests_networking -var/ipfire/lynis-1.2.9/include/tests_php -var/ipfire/lynis-1.2.9/include/tests_ports_packages -var/ipfire/lynis-1.2.9/include/tests_printers_spools -var/ipfire/lynis-1.2.9/include/tests_scheduling -var/ipfire/lynis-1.2.9/include/tests_shells -var/ipfire/lynis-1.2.9/include/tests_snmp -var/ipfire/lynis-1.2.9/include/tests_solaris -var/ipfire/lynis-1.2.9/include/tests_squid -var/ipfire/lynis-1.2.9/include/tests_ssh -var/ipfire/lynis-1.2.9/include/tests_storage -var/ipfire/lynis-1.2.9/include/tests_storage_nfs -var/ipfire/lynis-1.2.9/include/tests_time -var/ipfire/lynis-1.2.9/include/tests_virtualization -var/ipfire/lynis-1.2.9/include/tests_webservers -var/ipfire/lynis-1.2.9/lynis -var/ipfire/lynis-1.2.9/lynis.8 -var/ipfire/lynis-1.2.9/plugins -var/ipfire/lynis-1.2.9/plugins/README -var/ipfire/lynis-1.2.9/plugins/plugin_access_files -var/ipfire/lynis-1.2.9/plugins/plugin_compliance_pci -var/ipfire/lynis-1.2.9/plugins/plugin_homedirs -var/ipfire/lynis-1.2.9/plugins/plugin_webserver_data \ No newline at end of file +var/ipfire/lynis +#var/ipfire/lynis/CONTRIBUTORS +#var/ipfire/lynis/db +var/ipfire/lynis/db/fileperms.db +var/ipfire/lynis/db/hints.db +var/ipfire/lynis/db/integrity.db +var/ipfire/lynis/db/malware-susp.db +var/ipfire/lynis/db/malware.db +var/ipfire/lynis/db/sbl.db +var/ipfire/lynis/default.prf +#var/ipfire/lynis/extras +var/ipfire/lynis/extras/.bzrignore +#var/ipfire/lynis/extras/README +#var/ipfire/lynis/extras/bash_completion.d +var/ipfire/lynis/extras/bash_completion.d/lynis +var/ipfire/lynis/extras/build-lynis.sh +var/ipfire/lynis/extras/check-lynis.sh +var/ipfire/lynis/extras/files.dat +var/ipfire/lynis/extras/lynis.spec +#var/ipfire/lynis/extras/openbsd +#var/ipfire/lynis/extras/openbsd/+CONTENTS +#var/ipfire/lynis/extras/systemd +#var/ipfire/lynis/extras/systemd/lynis.service +#var/ipfire/lynis/extras/systemd/lynis.timer +#var/ipfire/lynis/include +var/ipfire/lynis/include/binaries +var/ipfire/lynis/include/consts +var/ipfire/lynis/include/data_upload +var/ipfire/lynis/include/functions +var/ipfire/lynis/include/osdetection +var/ipfire/lynis/include/parameters +var/ipfire/lynis/include/profiles +var/ipfire/lynis/include/report +var/ipfire/lynis/include/tests_accounting +var/ipfire/lynis/include/tests_authentication +var/ipfire/lynis/include/tests_banners +var/ipfire/lynis/include/tests_boot_services +var/ipfire/lynis/include/tests_crypto +var/ipfire/lynis/include/tests_custom.template +var/ipfire/lynis/include/tests_databases +var/ipfire/lynis/include/tests_file_integrity +var/ipfire/lynis/include/tests_file_permissions +var/ipfire/lynis/include/tests_filesystems +var/ipfire/lynis/include/tests_firewalls +var/ipfire/lynis/include/tests_hardening +var/ipfire/lynis/include/tests_hardening_tools +var/ipfire/lynis/include/tests_homedirs +var/ipfire/lynis/include/tests_insecure_services +var/ipfire/lynis/include/tests_kernel +var/ipfire/lynis/include/tests_kernel_hardening +var/ipfire/lynis/include/tests_ldap +var/ipfire/lynis/include/tests_logging +var/ipfire/lynis/include/tests_mac_frameworks +var/ipfire/lynis/include/tests_mail_messaging +var/ipfire/lynis/include/tests_malware +var/ipfire/lynis/include/tests_memory_processes +var/ipfire/lynis/include/tests_nameservices +var/ipfire/lynis/include/tests_networking +var/ipfire/lynis/include/tests_php +var/ipfire/lynis/include/tests_ports_packages +var/ipfire/lynis/include/tests_printers_spools +var/ipfire/lynis/include/tests_scheduling +var/ipfire/lynis/include/tests_shells +var/ipfire/lynis/include/tests_snmp +#var/ipfire/lynis/include/tests_solaris +var/ipfire/lynis/include/tests_squid +var/ipfire/lynis/include/tests_ssh +var/ipfire/lynis/include/tests_storage +var/ipfire/lynis/include/tests_storage_nfs +var/ipfire/lynis/include/tests_tcpwrappers +var/ipfire/lynis/include/tests_time +var/ipfire/lynis/include/tests_tooling +var/ipfire/lynis/include/tests_virtualization +var/ipfire/lynis/include/tests_webservers +var/ipfire/lynis/lynis +var/ipfire/lynis/lynis.8 +#var/ipfire/lynis/plugins +var/ipfire/lynis/plugins/README +var/ipfire/lynis/plugins/custom_plugin.template diff --git a/config/rootfiles/packages/mc b/config/rootfiles/packages/mc index 10b5f33..c612edf 100644 --- a/config/rootfiles/packages/mc +++ b/config/rootfiles/packages/mc @@ -109,6 +109,8 @@ usr/share/mc/skins/default.ini usr/share/mc/skins/double-lines.ini usr/share/mc/skins/featured.ini usr/share/mc/skins/gotar.ini +usr/share/mc/skins/gray-green-purple256.ini +usr/share/mc/skins/gray-orange-blue256.ini usr/share/mc/skins/mc46.ini usr/share/mc/skins/modarcon16-defbg.ini usr/share/mc/skins/modarcon16.ini diff --git a/config/rootfiles/packages/monit b/config/rootfiles/packages/monit new file mode 100644 index 0000000..049bab3 --- /dev/null +++ b/config/rootfiles/packages/monit @@ -0,0 +1,8 @@ +etc/monitrc +usr/bin/monit +#usr/share/man/man1/monit.1 +var/ipfire/backup/addons/includes/monit +etc/rc.d/init.d/monit +etc/rc.d/rc0.d/K40monit +etc/rc.d/rc3.d/S60monit +etc/rc.d/rc6.d/K40monit diff --git a/config/rootfiles/packages/nmap b/config/rootfiles/packages/nmap index 8f39897..3370600 100644 --- a/config/rootfiles/packages/nmap +++ b/config/rootfiles/packages/nmap @@ -2,6 +2,8 @@ usr/bin/ncat usr/bin/ndiff usr/bin/nmap usr/bin/nping +usr/lib/python2.7/site-packages/ndiff.py +usr/lib/python2.7/site-packages/ndiff.pyc #usr/share/man/de/man1/nmap.1 #usr/share/man/es/man1/nmap.1 #usr/share/man/fr/man1/nmap.1 @@ -12,9 +14,7 @@ usr/bin/nping #usr/share/man/hu/man1 #usr/share/man/hu/man1/nmap.1 #usr/share/man/it/man1/nmap.1 -#usr/share/man/jp -#usr/share/man/jp/man1 -#usr/share/man/jp/man1/nmap.1 +#usr/share/man/ja/man1/nmap.1 #usr/share/man/man1/ncat.1 #usr/share/man/man1/ndiff.1 #usr/share/man/man1/nmap.1 @@ -41,7 +41,7 @@ usr/bin/nping #usr/share/man/zh/man1 #usr/share/man/zh/man1/nmap.1 #usr/share/ncat -usr/share/ncat/ca-bundle.crt +#usr/share/ncat/ca-bundle.crt #usr/share/nmap usr/share/nmap/nmap-mac-prefixes usr/share/nmap/nmap-os-db @@ -53,30 +53,50 @@ usr/share/nmap/nmap-services usr/share/nmap/nmap.dtd usr/share/nmap/nmap.xsl usr/share/nmap/nse_main.lua -#usr/share/nmap/nselib +usr/share/nmap/nselib usr/share/nmap/nselib/afp.lua +usr/share/nmap/nselib/ajp.lua usr/share/nmap/nselib/amqp.lua usr/share/nmap/nselib/asn1.lua +usr/share/nmap/nselib/base32.lua usr/share/nmap/nselib/base64.lua +usr/share/nmap/nselib/bin.luadoc +usr/share/nmap/nselib/bit.luadoc usr/share/nmap/nselib/bitcoin.lua usr/share/nmap/nselib/bittorrent.lua +usr/share/nmap/nselib/bjnp.lua usr/share/nmap/nselib/brute.lua +usr/share/nmap/nselib/cassandra.lua usr/share/nmap/nselib/citrixxml.lua usr/share/nmap/nselib/comm.lua usr/share/nmap/nselib/creds.lua usr/share/nmap/nselib/cvs.lua -#usr/share/nmap/nselib/data +usr/share/nmap/nselib/data +usr/share/nmap/nselib/data/dns-srv-names +usr/share/nmap/nselib/data/drupal-modules.lst usr/share/nmap/nselib/data/favicon-db usr/share/nmap/nselib/data/http-default-accounts-fingerprints.lua +usr/share/nmap/nselib/data/http-devframework-fingerprints.lua usr/share/nmap/nselib/data/http-fingerprints.lua usr/share/nmap/nselib/data/http-folders.txt +usr/share/nmap/nselib/data/http-sql-errors.lst +usr/share/nmap/nselib/data/http-web-files-extensions.lst +usr/share/nmap/nselib/data/ike-fingerprints.lua +#usr/share/nmap/nselib/data/jdwp-class +#usr/share/nmap/nselib/data/jdwp-class/JDWPExecCmd.class +#usr/share/nmap/nselib/data/jdwp-class/JDWPExecCmd.java +#usr/share/nmap/nselib/data/jdwp-class/JDWPSystemInfo.class +#usr/share/nmap/nselib/data/jdwp-class/JDWPSystemInfo.java +#usr/share/nmap/nselib/data/jdwp-class/README.txt +usr/share/nmap/nselib/data/mgroupnames.db usr/share/nmap/nselib/data/mysql-cis.audit usr/share/nmap/nselib/data/oracle-default-accounts.lst usr/share/nmap/nselib/data/oracle-sids usr/share/nmap/nselib/data/packetdecoders.lua usr/share/nmap/nselib/data/passwords.lst +#usr/share/nmap/nselib/data/pixel.gif #usr/share/nmap/nselib/data/psexec -usr/share/nmap/nselib/data/psexec/README +#usr/share/nmap/nselib/data/psexec/README usr/share/nmap/nselib/data/psexec/backdoor.lua usr/share/nmap/nselib/data/psexec/default.lua usr/share/nmap/nselib/data/psexec/drives.lua @@ -92,6 +112,8 @@ usr/share/nmap/nselib/data/ssl-ciphers usr/share/nmap/nselib/data/ssl-fingerprints usr/share/nmap/nselib/data/tftplist.txt usr/share/nmap/nselib/data/usernames.lst +usr/share/nmap/nselib/data/vhosts-default.lst +usr/share/nmap/nselib/data/vhosts-full.lst usr/share/nmap/nselib/data/wp-plugins.lst usr/share/nmap/nselib/datafiles.lua usr/share/nmap/nselib/dhcp.lua @@ -101,20 +123,29 @@ usr/share/nmap/nselib/dnsbl.lua usr/share/nmap/nselib/dnssd.lua usr/share/nmap/nselib/drda.lua usr/share/nmap/nselib/eap.lua +usr/share/nmap/nselib/eigrp.lua +usr/share/nmap/nselib/formulas.lua usr/share/nmap/nselib/ftp.lua usr/share/nmap/nselib/giop.lua +usr/share/nmap/nselib/gps.lua usr/share/nmap/nselib/http.lua usr/share/nmap/nselib/httpspider.lua usr/share/nmap/nselib/iax2.lua +usr/share/nmap/nselib/ike.lua usr/share/nmap/nselib/imap.lua usr/share/nmap/nselib/informix.lua usr/share/nmap/nselib/ipOps.lua +usr/share/nmap/nselib/ipp.lua usr/share/nmap/nselib/iscsi.lua +usr/share/nmap/nselib/isns.lua +usr/share/nmap/nselib/jdwp.lua usr/share/nmap/nselib/json.lua usr/share/nmap/nselib/ldap.lua +usr/share/nmap/nselib/lfs.luadoc usr/share/nmap/nselib/listop.lua usr/share/nmap/nselib/match.lua usr/share/nmap/nselib/membase.lua +usr/share/nmap/nselib/mobileme.lua usr/share/nmap/nselib/mongodb.lua usr/share/nmap/nselib/msrpc.lua usr/share/nmap/nselib/msrpcperformance.lua @@ -125,14 +156,19 @@ usr/share/nmap/nselib/natpmp.lua usr/share/nmap/nselib/ncp.lua usr/share/nmap/nselib/ndmp.lua usr/share/nmap/nselib/netbios.lua +usr/share/nmap/nselib/nmap.luadoc usr/share/nmap/nselib/nrpc.lua usr/share/nmap/nselib/nsedebug.lua usr/share/nmap/nselib/omp2.lua +usr/share/nmap/nselib/openssl.luadoc +usr/share/nmap/nselib/ospf.lua usr/share/nmap/nselib/packet.lua +usr/share/nmap/nselib/pcre.luadoc usr/share/nmap/nselib/pgsql.lua usr/share/nmap/nselib/pop3.lua usr/share/nmap/nselib/pppoe.lua usr/share/nmap/nselib/proxy.lua +usr/share/nmap/nselib/rdp.lua usr/share/nmap/nselib/redis.lua usr/share/nmap/nselib/rmi.lua usr/share/nmap/nselib/rpc.lua @@ -158,7 +194,10 @@ usr/share/nmap/nselib/stun.lua usr/share/nmap/nselib/tab.lua usr/share/nmap/nselib/target.lua usr/share/nmap/nselib/tftp.lua +usr/share/nmap/nselib/tls.lua usr/share/nmap/nselib/tns.lua +usr/share/nmap/nselib/unicode.lua +usr/share/nmap/nselib/unittest.lua usr/share/nmap/nselib/unpwdb.lua usr/share/nmap/nselib/upnp.lua usr/share/nmap/nselib/url.lua @@ -177,6 +216,12 @@ usr/share/nmap/scripts/afp-ls.nse usr/share/nmap/scripts/afp-path-vuln.nse usr/share/nmap/scripts/afp-serverinfo.nse usr/share/nmap/scripts/afp-showmount.nse +usr/share/nmap/scripts/ajp-auth.nse +usr/share/nmap/scripts/ajp-brute.nse +usr/share/nmap/scripts/ajp-headers.nse +usr/share/nmap/scripts/ajp-methods.nse +usr/share/nmap/scripts/ajp-request.nse +usr/share/nmap/scripts/allseeingeye-info.nse usr/share/nmap/scripts/amqp-info.nse usr/share/nmap/scripts/asn-query.nse usr/share/nmap/scripts/auth-owners.nse @@ -188,12 +233,17 @@ usr/share/nmap/scripts/bitcoin-getaddr.nse usr/share/nmap/scripts/bitcoin-info.nse usr/share/nmap/scripts/bitcoinrpc-info.nse usr/share/nmap/scripts/bittorrent-discovery.nse +usr/share/nmap/scripts/bjnp-discover.nse +usr/share/nmap/scripts/broadcast-ataoe-discover.nse usr/share/nmap/scripts/broadcast-avahi-dos.nse +usr/share/nmap/scripts/broadcast-bjnp-discover.nse usr/share/nmap/scripts/broadcast-db2-discover.nse usr/share/nmap/scripts/broadcast-dhcp-discover.nse usr/share/nmap/scripts/broadcast-dhcp6-discover.nse usr/share/nmap/scripts/broadcast-dns-service-discovery.nse usr/share/nmap/scripts/broadcast-dropbox-listener.nse +usr/share/nmap/scripts/broadcast-eigrp-discovery.nse +usr/share/nmap/scripts/broadcast-igmp-discovery.nse usr/share/nmap/scripts/broadcast-listener.nse usr/share/nmap/scripts/broadcast-ms-sql-discover.nse usr/share/nmap/scripts/broadcast-netbios-master-browser.nse @@ -201,17 +251,21 @@ usr/share/nmap/scripts/broadcast-networker-discover.nse usr/share/nmap/scripts/broadcast-novell-locate.nse usr/share/nmap/scripts/broadcast-pc-anywhere.nse usr/share/nmap/scripts/broadcast-pc-duo.nse +usr/share/nmap/scripts/broadcast-pim-discovery.nse usr/share/nmap/scripts/broadcast-ping.nse usr/share/nmap/scripts/broadcast-pppoe-discover.nse usr/share/nmap/scripts/broadcast-rip-discover.nse usr/share/nmap/scripts/broadcast-ripng-discover.nse usr/share/nmap/scripts/broadcast-sybase-asa-discover.nse +usr/share/nmap/scripts/broadcast-tellstick-discover.nse usr/share/nmap/scripts/broadcast-upnp-info.nse usr/share/nmap/scripts/broadcast-versant-locate.nse usr/share/nmap/scripts/broadcast-wake-on-lan.nse usr/share/nmap/scripts/broadcast-wpad-discover.nse usr/share/nmap/scripts/broadcast-wsdd-discover.nse usr/share/nmap/scripts/broadcast-xdmcp-discover.nse +usr/share/nmap/scripts/cassandra-brute.nse +usr/share/nmap/scripts/cassandra-info.nse usr/share/nmap/scripts/cccam-version.nse usr/share/nmap/scripts/citrix-brute-xml.nse usr/share/nmap/scripts/citrix-enum-apps-xml.nse @@ -221,6 +275,8 @@ usr/share/nmap/scripts/citrix-enum-servers.nse usr/share/nmap/scripts/couchdb-databases.nse usr/share/nmap/scripts/couchdb-stats.nse usr/share/nmap/scripts/creds-summary.nse +usr/share/nmap/scripts/cups-info.nse +usr/share/nmap/scripts/cups-queue-info.nse usr/share/nmap/scripts/cvs-brute-repository.nse usr/share/nmap/scripts/cvs-brute.nse usr/share/nmap/scripts/daap-get-library.nse @@ -228,12 +284,17 @@ usr/share/nmap/scripts/daytime.nse usr/share/nmap/scripts/db2-das-info.nse usr/share/nmap/scripts/db2-discover.nse usr/share/nmap/scripts/dhcp-discover.nse +usr/share/nmap/scripts/dict-info.nse +usr/share/nmap/scripts/distcc-cve2004-2687.nse usr/share/nmap/scripts/dns-blacklist.nse usr/share/nmap/scripts/dns-brute.nse usr/share/nmap/scripts/dns-cache-snoop.nse +usr/share/nmap/scripts/dns-check-zone.nse usr/share/nmap/scripts/dns-client-subnet-scan.nse usr/share/nmap/scripts/dns-fuzz.nse +usr/share/nmap/scripts/dns-ip6-arpa-scan.nse usr/share/nmap/scripts/dns-nsec-enum.nse +usr/share/nmap/scripts/dns-nsec3-enum.nse usr/share/nmap/scripts/dns-nsid.nse usr/share/nmap/scripts/dns-random-srcport.nse usr/share/nmap/scripts/dns-random-txid.nse @@ -252,8 +313,12 @@ usr/share/nmap/scripts/drda-info.nse usr/share/nmap/scripts/duplicates.nse usr/share/nmap/scripts/eap-info.nse usr/share/nmap/scripts/epmd-info.nse +usr/share/nmap/scripts/eppc-enum-processes.nse usr/share/nmap/scripts/finger.nse usr/share/nmap/scripts/firewalk.nse +usr/share/nmap/scripts/firewall-bypass.nse +usr/share/nmap/scripts/flume-master-info.nse +usr/share/nmap/scripts/freelancer-info.nse usr/share/nmap/scripts/ftp-anon.nse usr/share/nmap/scripts/ftp-bounce.nse usr/share/nmap/scripts/ftp-brute.nse @@ -263,7 +328,9 @@ usr/share/nmap/scripts/ftp-vsftpd-backdoor.nse usr/share/nmap/scripts/ftp-vuln-cve2010-4221.nse usr/share/nmap/scripts/ganglia-info.nse usr/share/nmap/scripts/giop-info.nse +usr/share/nmap/scripts/gkrellm-info.nse usr/share/nmap/scripts/gopher-ls.nse +usr/share/nmap/scripts/gpsd-info.nse usr/share/nmap/scripts/hadoop-datanode-info.nse usr/share/nmap/scripts/hadoop-jobtracker-info.nse usr/share/nmap/scripts/hadoop-namenode-info.nse @@ -273,6 +340,9 @@ usr/share/nmap/scripts/hbase-master-info.nse usr/share/nmap/scripts/hbase-region-info.nse usr/share/nmap/scripts/hddtemp-info.nse usr/share/nmap/scripts/hostmap-bfk.nse +usr/share/nmap/scripts/hostmap-ip2hosts.nse +usr/share/nmap/scripts/hostmap-robtex.nse +usr/share/nmap/scripts/http-adobe-coldfusion-apsa1301.nse usr/share/nmap/scripts/http-affiliate-id.nse usr/share/nmap/scripts/http-apache-negotiation.nse usr/share/nmap/scripts/http-auth-finder.nse @@ -284,19 +354,39 @@ usr/share/nmap/scripts/http-barracuda-dir-traversal.nse usr/share/nmap/scripts/http-brute.nse usr/share/nmap/scripts/http-cakephp-version.nse usr/share/nmap/scripts/http-chrono.nse +usr/share/nmap/scripts/http-coldfusion-subzero.nse +usr/share/nmap/scripts/http-comments-displayer.nse usr/share/nmap/scripts/http-config-backup.nse usr/share/nmap/scripts/http-cors.nse +usr/share/nmap/scripts/http-csrf.nse usr/share/nmap/scripts/http-date.nse usr/share/nmap/scripts/http-default-accounts.nse +usr/share/nmap/scripts/http-devframework.nse +usr/share/nmap/scripts/http-dlink-backdoor.nse +usr/share/nmap/scripts/http-dombased-xss.nse usr/share/nmap/scripts/http-domino-enum-passwords.nse +usr/share/nmap/scripts/http-drupal-enum-users.nse +usr/share/nmap/scripts/http-drupal-modules.nse usr/share/nmap/scripts/http-email-harvest.nse usr/share/nmap/scripts/http-enum.nse +usr/share/nmap/scripts/http-errors.nse +usr/share/nmap/scripts/http-exif-spider.nse usr/share/nmap/scripts/http-favicon.nse +usr/share/nmap/scripts/http-feed.nse +usr/share/nmap/scripts/http-fileupload-exploiter.nse usr/share/nmap/scripts/http-form-brute.nse +usr/share/nmap/scripts/http-form-fuzzer.nse +usr/share/nmap/scripts/http-frontpage-login.nse usr/share/nmap/scripts/http-generator.nse +usr/share/nmap/scripts/http-git.nse +usr/share/nmap/scripts/http-gitweb-projects-enum.nse usr/share/nmap/scripts/http-google-malware.nse usr/share/nmap/scripts/http-grep.nse usr/share/nmap/scripts/http-headers.nse +usr/share/nmap/scripts/http-huawei-hg5xx-vuln.nse +usr/share/nmap/scripts/http-icloud-findmyiphone.nse +usr/share/nmap/scripts/http-icloud-sendmsg.nse +usr/share/nmap/scripts/http-iis-short-name-brute.nse usr/share/nmap/scripts/http-iis-webdav-vuln.nse usr/share/nmap/scripts/http-joomla-brute.nse usr/share/nmap/scripts/http-litespeed-sourcecode-download.nse @@ -304,49 +394,81 @@ usr/share/nmap/scripts/http-majordomo2-dir-traversal.nse usr/share/nmap/scripts/http-malware-host.nse usr/share/nmap/scripts/http-method-tamper.nse usr/share/nmap/scripts/http-methods.nse +usr/share/nmap/scripts/http-mobileversion-checker.nse +usr/share/nmap/scripts/http-ntlm-info.nse usr/share/nmap/scripts/http-open-proxy.nse usr/share/nmap/scripts/http-open-redirect.nse usr/share/nmap/scripts/http-passwd.nse usr/share/nmap/scripts/http-php-version.nse +usr/share/nmap/scripts/http-phpmyadmin-dir-traversal.nse +usr/share/nmap/scripts/http-phpself-xss.nse usr/share/nmap/scripts/http-proxy-brute.nse usr/share/nmap/scripts/http-put.nse usr/share/nmap/scripts/http-qnap-nas-info.nse +usr/share/nmap/scripts/http-referer-checker.nse +usr/share/nmap/scripts/http-rfi-spider.nse usr/share/nmap/scripts/http-robots.txt.nse usr/share/nmap/scripts/http-robtex-reverse-ip.nse +usr/share/nmap/scripts/http-robtex-shared-ns.nse +usr/share/nmap/scripts/http-server-header.nse +usr/share/nmap/scripts/http-sitemap-generator.nse +usr/share/nmap/scripts/http-slowloris-check.nse +usr/share/nmap/scripts/http-slowloris.nse +usr/share/nmap/scripts/http-sql-injection.nse +usr/share/nmap/scripts/http-stored-xss.nse usr/share/nmap/scripts/http-title.nse +usr/share/nmap/scripts/http-tplink-dir-traversal.nse usr/share/nmap/scripts/http-trace.nse +usr/share/nmap/scripts/http-traceroute.nse usr/share/nmap/scripts/http-unsafe-output-escaping.nse +usr/share/nmap/scripts/http-useragent-tester.nse usr/share/nmap/scripts/http-userdir-enum.nse usr/share/nmap/scripts/http-vhosts.nse +usr/share/nmap/scripts/http-virustotal.nse +usr/share/nmap/scripts/http-vlcstreamer-ls.nse usr/share/nmap/scripts/http-vmware-path-vuln.nse usr/share/nmap/scripts/http-vuln-cve2009-3960.nse +usr/share/nmap/scripts/http-vuln-cve2010-0738.nse usr/share/nmap/scripts/http-vuln-cve2010-2861.nse usr/share/nmap/scripts/http-vuln-cve2011-3192.nse usr/share/nmap/scripts/http-vuln-cve2011-3368.nse usr/share/nmap/scripts/http-vuln-cve2012-1823.nse +usr/share/nmap/scripts/http-vuln-cve2013-0156.nse +usr/share/nmap/scripts/http-vuln-zimbra-lfi.nse usr/share/nmap/scripts/http-waf-detect.nse +usr/share/nmap/scripts/http-waf-fingerprint.nse usr/share/nmap/scripts/http-wordpress-brute.nse usr/share/nmap/scripts/http-wordpress-enum.nse usr/share/nmap/scripts/http-wordpress-plugins.nse +usr/share/nmap/scripts/http-xssed.nse usr/share/nmap/scripts/iax2-brute.nse usr/share/nmap/scripts/iax2-version.nse +usr/share/nmap/scripts/icap-info.nse +usr/share/nmap/scripts/ike-version.nse usr/share/nmap/scripts/imap-brute.nse usr/share/nmap/scripts/imap-capabilities.nse usr/share/nmap/scripts/informix-brute.nse usr/share/nmap/scripts/informix-query.nse usr/share/nmap/scripts/informix-tables.nse +usr/share/nmap/scripts/ip-forwarding.nse usr/share/nmap/scripts/ip-geolocation-geobytes.nse usr/share/nmap/scripts/ip-geolocation-geoplugin.nse usr/share/nmap/scripts/ip-geolocation-ipinfodb.nse usr/share/nmap/scripts/ip-geolocation-maxmind.nse usr/share/nmap/scripts/ipidseq.nse usr/share/nmap/scripts/ipv6-node-info.nse +usr/share/nmap/scripts/ipv6-ra-flood.nse usr/share/nmap/scripts/irc-botnet-channels.nse usr/share/nmap/scripts/irc-brute.nse usr/share/nmap/scripts/irc-info.nse +usr/share/nmap/scripts/irc-sasl-brute.nse usr/share/nmap/scripts/irc-unrealircd-backdoor.nse usr/share/nmap/scripts/iscsi-brute.nse usr/share/nmap/scripts/iscsi-info.nse +usr/share/nmap/scripts/isns-info.nse +usr/share/nmap/scripts/jdwp-exec.nse +usr/share/nmap/scripts/jdwp-info.nse +usr/share/nmap/scripts/jdwp-inject.nse usr/share/nmap/scripts/jdwp-version.nse usr/share/nmap/scripts/krb5-enum-users.nse usr/share/nmap/scripts/ldap-brute.nse @@ -354,18 +476,26 @@ usr/share/nmap/scripts/ldap-novell-getpass.nse usr/share/nmap/scripts/ldap-rootdse.nse usr/share/nmap/scripts/ldap-search.nse usr/share/nmap/scripts/lexmark-config.nse +usr/share/nmap/scripts/llmnr-resolve.nse usr/share/nmap/scripts/lltd-discovery.nse usr/share/nmap/scripts/maxdb-info.nse +usr/share/nmap/scripts/mcafee-epo-agent.nse usr/share/nmap/scripts/membase-brute.nse usr/share/nmap/scripts/membase-http-info.nse usr/share/nmap/scripts/memcached-info.nse +usr/share/nmap/scripts/metasploit-info.nse +usr/share/nmap/scripts/metasploit-msgrpc-brute.nse usr/share/nmap/scripts/metasploit-xmlrpc-brute.nse +usr/share/nmap/scripts/mmouse-brute.nse +usr/share/nmap/scripts/mmouse-exec.nse usr/share/nmap/scripts/modbus-discover.nse usr/share/nmap/scripts/mongodb-brute.nse usr/share/nmap/scripts/mongodb-databases.nse usr/share/nmap/scripts/mongodb-info.nse +usr/share/nmap/scripts/mrinfo.nse usr/share/nmap/scripts/ms-sql-brute.nse usr/share/nmap/scripts/ms-sql-config.nse +usr/share/nmap/scripts/ms-sql-dac.nse usr/share/nmap/scripts/ms-sql-dump-hashes.nse usr/share/nmap/scripts/ms-sql-empty-password.nse usr/share/nmap/scripts/ms-sql-hasdbaccess.nse @@ -373,13 +503,20 @@ usr/share/nmap/scripts/ms-sql-info.nse usr/share/nmap/scripts/ms-sql-query.nse usr/share/nmap/scripts/ms-sql-tables.nse usr/share/nmap/scripts/ms-sql-xp-cmdshell.nse +usr/share/nmap/scripts/msrpc-enum.nse +usr/share/nmap/scripts/mtrace.nse +usr/share/nmap/scripts/murmur-version.nse usr/share/nmap/scripts/mysql-audit.nse usr/share/nmap/scripts/mysql-brute.nse usr/share/nmap/scripts/mysql-databases.nse +usr/share/nmap/scripts/mysql-dump-hashes.nse usr/share/nmap/scripts/mysql-empty-password.nse +usr/share/nmap/scripts/mysql-enum.nse usr/share/nmap/scripts/mysql-info.nse +usr/share/nmap/scripts/mysql-query.nse usr/share/nmap/scripts/mysql-users.nse usr/share/nmap/scripts/mysql-variables.nse +usr/share/nmap/scripts/mysql-vuln-cve2012-2122.nse usr/share/nmap/scripts/nat-pmp-info.nse usr/share/nmap/scripts/nat-pmp-mapport.nse usr/share/nmap/scripts/nbstat.nse @@ -405,20 +542,25 @@ usr/share/nmap/scripts/omp2-brute.nse usr/share/nmap/scripts/omp2-enum-targets.nse usr/share/nmap/scripts/openlookup-info.nse usr/share/nmap/scripts/openvas-otp-brute.nse +usr/share/nmap/scripts/oracle-brute-stealth.nse usr/share/nmap/scripts/oracle-brute.nse usr/share/nmap/scripts/oracle-enum-users.nse usr/share/nmap/scripts/oracle-sid-brute.nse usr/share/nmap/scripts/ovs-agent-version.nse usr/share/nmap/scripts/p2p-conficker.nse usr/share/nmap/scripts/path-mtu.nse +usr/share/nmap/scripts/pcanywhere-brute.nse usr/share/nmap/scripts/pgsql-brute.nse usr/share/nmap/scripts/pjl-ready-message.nse usr/share/nmap/scripts/pop3-brute.nse usr/share/nmap/scripts/pop3-capabilities.nse usr/share/nmap/scripts/pptp-version.nse +usr/share/nmap/scripts/qconn-exec.nse usr/share/nmap/scripts/qscan.nse +usr/share/nmap/scripts/quake1-info.nse usr/share/nmap/scripts/quake3-info.nse usr/share/nmap/scripts/quake3-master-getservers.nse +usr/share/nmap/scripts/rdp-enum-encryption.nse usr/share/nmap/scripts/rdp-vuln-ms12-020.nse usr/share/nmap/scripts/realvnc-auth-bypass.nse usr/share/nmap/scripts/redis-brute.nse @@ -426,9 +568,12 @@ usr/share/nmap/scripts/redis-info.nse usr/share/nmap/scripts/resolveall.nse usr/share/nmap/scripts/reverse-index.nse usr/share/nmap/scripts/rexec-brute.nse +usr/share/nmap/scripts/rfc868-time.nse usr/share/nmap/scripts/riak-http-info.nse usr/share/nmap/scripts/rlogin-brute.nse usr/share/nmap/scripts/rmi-dumpregistry.nse +usr/share/nmap/scripts/rmi-vuln-classloader.nse +usr/share/nmap/scripts/rpc-grind.nse usr/share/nmap/scripts/rpcap-brute.nse usr/share/nmap/scripts/rpcap-info.nse usr/share/nmap/scripts/rpcinfo.nse @@ -440,7 +585,9 @@ usr/share/nmap/scripts/samba-vuln-cve-2012-1182.nse usr/share/nmap/scripts/script.db usr/share/nmap/scripts/servicetags.nse usr/share/nmap/scripts/sip-brute.nse +usr/share/nmap/scripts/sip-call-spoof.nse usr/share/nmap/scripts/sip-enum-users.nse +usr/share/nmap/scripts/sip-methods.nse usr/share/nmap/scripts/skypev2-version.nse usr/share/nmap/scripts/smb-brute.nse usr/share/nmap/scripts/smb-check-vulns.nse @@ -451,12 +598,16 @@ usr/share/nmap/scripts/smb-enum-sessions.nse usr/share/nmap/scripts/smb-enum-shares.nse usr/share/nmap/scripts/smb-enum-users.nse usr/share/nmap/scripts/smb-flood.nse +usr/share/nmap/scripts/smb-ls.nse usr/share/nmap/scripts/smb-mbenum.nse usr/share/nmap/scripts/smb-os-discovery.nse +usr/share/nmap/scripts/smb-print-text.nse usr/share/nmap/scripts/smb-psexec.nse usr/share/nmap/scripts/smb-security-mode.nse usr/share/nmap/scripts/smb-server-stats.nse usr/share/nmap/scripts/smb-system-info.nse +usr/share/nmap/scripts/smb-vuln-ms10-054.nse +usr/share/nmap/scripts/smb-vuln-ms10-061.nse usr/share/nmap/scripts/smbv2-enabled.nse usr/share/nmap/scripts/smtp-brute.nse usr/share/nmap/scripts/smtp-commands.nse @@ -468,6 +619,7 @@ usr/share/nmap/scripts/smtp-vuln-cve2011-1720.nse usr/share/nmap/scripts/smtp-vuln-cve2011-1764.nse usr/share/nmap/scripts/sniffer-detect.nse usr/share/nmap/scripts/snmp-brute.nse +usr/share/nmap/scripts/snmp-hh3c-logins.nse usr/share/nmap/scripts/snmp-interfaces.nse usr/share/nmap/scripts/snmp-ios-config.nse usr/share/nmap/scripts/snmp-netstat.nse @@ -480,15 +632,17 @@ usr/share/nmap/scripts/snmp-win32-users.nse usr/share/nmap/scripts/socks-auth-info.nse usr/share/nmap/scripts/socks-brute.nse usr/share/nmap/scripts/socks-open-proxy.nse -usr/share/nmap/scripts/sql-injection.nse usr/share/nmap/scripts/ssh-hostkey.nse usr/share/nmap/scripts/ssh2-enum-algos.nse usr/share/nmap/scripts/sshv1.nse usr/share/nmap/scripts/ssl-cert.nse +usr/share/nmap/scripts/ssl-date.nse usr/share/nmap/scripts/ssl-enum-ciphers.nse usr/share/nmap/scripts/ssl-google-cert-catalog.nse +usr/share/nmap/scripts/ssl-heartbleed.nse usr/share/nmap/scripts/ssl-known-key.nse usr/share/nmap/scripts/sslv2.nse +usr/share/nmap/scripts/sstp-discover.nse usr/share/nmap/scripts/stun-info.nse usr/share/nmap/scripts/stun-version.nse usr/share/nmap/scripts/stuxnet-detect.nse @@ -500,12 +654,17 @@ usr/share/nmap/scripts/targets-ipv6-multicast-mld.nse usr/share/nmap/scripts/targets-ipv6-multicast-slaac.nse usr/share/nmap/scripts/targets-sniffer.nse usr/share/nmap/scripts/targets-traceroute.nse +usr/share/nmap/scripts/teamspeak2-version.nse usr/share/nmap/scripts/telnet-brute.nse usr/share/nmap/scripts/telnet-encryption.nse usr/share/nmap/scripts/tftp-enum.nse +usr/share/nmap/scripts/tls-nextprotoneg.nse +usr/share/nmap/scripts/traceroute-geolocation.nse +usr/share/nmap/scripts/unittest.nse usr/share/nmap/scripts/unusual-port.nse usr/share/nmap/scripts/upnp-info.nse usr/share/nmap/scripts/url-snarf.nse +usr/share/nmap/scripts/ventrilo-info.nse usr/share/nmap/scripts/versant-info.nse usr/share/nmap/scripts/vmauthd-brute.nse usr/share/nmap/scripts/vnc-brute.nse @@ -513,7 +672,9 @@ usr/share/nmap/scripts/vnc-info.nse usr/share/nmap/scripts/voldemort-info.nse usr/share/nmap/scripts/vuze-dht-info.nse usr/share/nmap/scripts/wdb-version.nse -usr/share/nmap/scripts/whois.nse +usr/share/nmap/scripts/weblogic-t3-info.nse +usr/share/nmap/scripts/whois-domain.nse +usr/share/nmap/scripts/whois-ip.nse usr/share/nmap/scripts/wsdd-discover.nse usr/share/nmap/scripts/x11-access.nse usr/share/nmap/scripts/xdmcp-discover.nse diff --git a/config/rootfiles/packages/owncloud b/config/rootfiles/packages/owncloud index fed3b09..5ce7789 100644 --- a/config/rootfiles/packages/owncloud +++ b/config/rootfiles/packages/owncloud @@ -858,80 +858,6 @@ srv/web/owncloud #srv/web/owncloud/3rdparty/fontawesome/font/fontawesome-webfont.svg #srv/web/owncloud/3rdparty/fontawesome/font/fontawesome-webfont.ttf #srv/web/owncloud/3rdparty/fontawesome/font/fontawesome-webfont.woff -#srv/web/owncloud/3rdparty/getid3 -#srv/web/owncloud/3rdparty/getid3/extension.cache.dbm.php -#srv/web/owncloud/3rdparty/getid3/extension.cache.mysql.php -#srv/web/owncloud/3rdparty/getid3/extension.cache.sqlite3.php -#srv/web/owncloud/3rdparty/getid3/getid3.lib.php -#srv/web/owncloud/3rdparty/getid3/getid3.php -#srv/web/owncloud/3rdparty/getid3/license.txt -#srv/web/owncloud/3rdparty/getid3/module.archive.gzip.php -#srv/web/owncloud/3rdparty/getid3/module.archive.rar.php -#srv/web/owncloud/3rdparty/getid3/module.archive.szip.php -#srv/web/owncloud/3rdparty/getid3/module.archive.tar.php -#srv/web/owncloud/3rdparty/getid3/module.archive.zip.php -#srv/web/owncloud/3rdparty/getid3/module.audio-video.asf.php -#srv/web/owncloud/3rdparty/getid3/module.audio-video.bink.php -#srv/web/owncloud/3rdparty/getid3/module.audio-video.flv.php -#srv/web/owncloud/3rdparty/getid3/module.audio-video.matroska.php -#srv/web/owncloud/3rdparty/getid3/module.audio-video.mpeg.php -#srv/web/owncloud/3rdparty/getid3/module.audio-video.nsv.php -#srv/web/owncloud/3rdparty/getid3/module.audio-video.quicktime.php -#srv/web/owncloud/3rdparty/getid3/module.audio-video.real.php -#srv/web/owncloud/3rdparty/getid3/module.audio-video.riff.php -#srv/web/owncloud/3rdparty/getid3/module.audio-video.swf.php -#srv/web/owncloud/3rdparty/getid3/module.audio-video.ts.php -#srv/web/owncloud/3rdparty/getid3/module.audio.aa.php -#srv/web/owncloud/3rdparty/getid3/module.audio.aac.php -#srv/web/owncloud/3rdparty/getid3/module.audio.ac3.php -#srv/web/owncloud/3rdparty/getid3/module.audio.au.php -#srv/web/owncloud/3rdparty/getid3/module.audio.avr.php -#srv/web/owncloud/3rdparty/getid3/module.audio.bonk.php -#srv/web/owncloud/3rdparty/getid3/module.audio.dss.php -#srv/web/owncloud/3rdparty/getid3/module.audio.dts.php -#srv/web/owncloud/3rdparty/getid3/module.audio.flac.php -#srv/web/owncloud/3rdparty/getid3/module.audio.la.php -#srv/web/owncloud/3rdparty/getid3/module.audio.lpac.php -#srv/web/owncloud/3rdparty/getid3/module.audio.midi.php -#srv/web/owncloud/3rdparty/getid3/module.audio.mod.php -#srv/web/owncloud/3rdparty/getid3/module.audio.monkey.php -#srv/web/owncloud/3rdparty/getid3/module.audio.mp3.php -#srv/web/owncloud/3rdparty/getid3/module.audio.mpc.php -#srv/web/owncloud/3rdparty/getid3/module.audio.ogg.php -#srv/web/owncloud/3rdparty/getid3/module.audio.optimfrog.php -#srv/web/owncloud/3rdparty/getid3/module.audio.rkau.php -#srv/web/owncloud/3rdparty/getid3/module.audio.shorten.php -#srv/web/owncloud/3rdparty/getid3/module.audio.tta.php -#srv/web/owncloud/3rdparty/getid3/module.audio.voc.php -#srv/web/owncloud/3rdparty/getid3/module.audio.vqf.php -#srv/web/owncloud/3rdparty/getid3/module.audio.wavpack.php -#srv/web/owncloud/3rdparty/getid3/module.graphic.bmp.php -#srv/web/owncloud/3rdparty/getid3/module.graphic.efax.php -#srv/web/owncloud/3rdparty/getid3/module.graphic.gif.php -#srv/web/owncloud/3rdparty/getid3/module.graphic.jpg.php -#srv/web/owncloud/3rdparty/getid3/module.graphic.pcd.php -#srv/web/owncloud/3rdparty/getid3/module.graphic.png.php -#srv/web/owncloud/3rdparty/getid3/module.graphic.svg.php -#srv/web/owncloud/3rdparty/getid3/module.graphic.tiff.php -#srv/web/owncloud/3rdparty/getid3/module.misc.cue.php -#srv/web/owncloud/3rdparty/getid3/module.misc.exe.php -#srv/web/owncloud/3rdparty/getid3/module.misc.iso.php -#srv/web/owncloud/3rdparty/getid3/module.misc.msoffice.php -#srv/web/owncloud/3rdparty/getid3/module.misc.par2.php -#srv/web/owncloud/3rdparty/getid3/module.misc.pdf.php -#srv/web/owncloud/3rdparty/getid3/module.tag.apetag.php -#srv/web/owncloud/3rdparty/getid3/module.tag.id3v1.php -#srv/web/owncloud/3rdparty/getid3/module.tag.id3v2.php -#srv/web/owncloud/3rdparty/getid3/module.tag.lyrics3.php -#srv/web/owncloud/3rdparty/getid3/module.tag.xmp.php -#srv/web/owncloud/3rdparty/getid3/write.apetag.php -#srv/web/owncloud/3rdparty/getid3/write.id3v1.php -#srv/web/owncloud/3rdparty/getid3/write.id3v2.php -#srv/web/owncloud/3rdparty/getid3/write.lyrics3.php -#srv/web/owncloud/3rdparty/getid3/write.metaflac.php -#srv/web/owncloud/3rdparty/getid3/write.php -#srv/web/owncloud/3rdparty/getid3/write.real.php -#srv/web/owncloud/3rdparty/getid3/write.vorbiscomment.php #srv/web/owncloud/3rdparty/guzzle #srv/web/owncloud/3rdparty/guzzle/common #srv/web/owncloud/3rdparty/guzzle/common/Guzzle @@ -1041,26 +967,97 @@ srv/web/owncloud #srv/web/owncloud/3rdparty/guzzle/stream/Guzzle/Stream/StreamInterface.php #srv/web/owncloud/3rdparty/guzzle/stream/Guzzle/Stream/StreamRequestFactoryInterface.php #srv/web/owncloud/3rdparty/guzzle/stream/Guzzle/Stream/composer.json -#srv/web/owncloud/3rdparty/isoft -#srv/web/owncloud/3rdparty/isoft/mssql-bundle -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Driver -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Driver/PDODblib -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Driver/PDODblib/Connection.php -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Driver/PDODblib/Driver.php -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Platforms -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Platforms/DblibPlatform.php -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Readme.md -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/RealestateMssqlBundle.php -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Schema -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Schema/DblibSchemaManager.php -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Types -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Types/DateTimeType.php -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Types/DateType.php -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Types/RealestateDateTime.php -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/Types/UniqueidentifierType.php -#srv/web/owncloud/3rdparty/isoft/mssql-bundle/Realestate/MssqlBundle/composer.json +#srv/web/owncloud/3rdparty/james-heinrich +#srv/web/owncloud/3rdparty/james-heinrich/getid3 +#srv/web/owncloud/3rdparty/james-heinrich/getid3/.gitattributes +#srv/web/owncloud/3rdparty/james-heinrich/getid3/README.md +#srv/web/owncloud/3rdparty/james-heinrich/getid3/changelog.txt +#srv/web/owncloud/3rdparty/james-heinrich/getid3/composer.json +#srv/web/owncloud/3rdparty/james-heinrich/getid3/dependencies.txt +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3 +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/extension.cache.dbm.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/extension.cache.mysql.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/extension.cache.sqlite3.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/getid3.lib.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/getid3.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.archive.gzip.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.archive.rar.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.archive.szip.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.archive.tar.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.archive.zip.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio-video.asf.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio-video.bink.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio-video.flv.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio-video.matroska.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio-video.mpeg.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio-video.nsv.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio-video.quicktime.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio-video.real.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio-video.riff.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio-video.swf.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio-video.ts.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.aa.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.aac.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.ac3.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.amr.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.au.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.avr.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.bonk.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.dss.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.dts.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.flac.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.la.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.lpac.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.midi.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.mod.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.monkey.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.mp3.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.mpc.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.ogg.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.optimfrog.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.rkau.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.shorten.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.tta.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.voc.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.vqf.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.audio.wavpack.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.graphic.bmp.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.graphic.efax.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.graphic.gif.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.graphic.jpg.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.graphic.pcd.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.graphic.png.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.graphic.svg.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.graphic.tiff.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.misc.cue.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.misc.exe.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.misc.iso.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.misc.msoffice.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.misc.par2.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.misc.pdf.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.tag.apetag.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.tag.id3v1.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.tag.id3v2.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.tag.lyrics3.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/module.tag.xmp.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/write.apetag.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/write.id3v1.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/write.id3v2.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/write.lyrics3.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/write.metaflac.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/write.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/write.real.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/getid3/write.vorbiscomment.php +#srv/web/owncloud/3rdparty/james-heinrich/getid3/license.txt +#srv/web/owncloud/3rdparty/james-heinrich/getid3/licenses +#srv/web/owncloud/3rdparty/james-heinrich/getid3/licenses/licence.gpl-10.txt +#srv/web/owncloud/3rdparty/james-heinrich/getid3/licenses/licence.gpl-20.txt +#srv/web/owncloud/3rdparty/james-heinrich/getid3/licenses/licence.gpl-30.txt +#srv/web/owncloud/3rdparty/james-heinrich/getid3/licenses/licence.lgpl-30.txt +#srv/web/owncloud/3rdparty/james-heinrich/getid3/licenses/licence.mpl-20.txt +#srv/web/owncloud/3rdparty/james-heinrich/getid3/licenses/license.commercial.txt +#srv/web/owncloud/3rdparty/james-heinrich/getid3/readme.txt +#srv/web/owncloud/3rdparty/james-heinrich/getid3/structure.txt #srv/web/owncloud/3rdparty/js #srv/web/owncloud/3rdparty/js/chosen #srv/web/owncloud/3rdparty/js/chosen/LICENSE.md @@ -1419,9 +1416,6 @@ srv/web/owncloud #srv/web/owncloud/3rdparty/patches.txt #srv/web/owncloud/3rdparty/phpass #srv/web/owncloud/3rdparty/phpass/PasswordHash.php -#srv/web/owncloud/3rdparty/phpass/c -#srv/web/owncloud/3rdparty/phpass/c/Makefile -#srv/web/owncloud/3rdparty/phpass/c/crypt_private.c #srv/web/owncloud/3rdparty/phpass/test.php #srv/web/owncloud/3rdparty/phpmailer #srv/web/owncloud/3rdparty/phpmailer/phpmailer @@ -3206,17 +3200,16 @@ srv/web/owncloud #srv/web/owncloud/apps/activity/l10n/hy.php #srv/web/owncloud/apps/activity/l10n/ia.php #srv/web/owncloud/apps/activity/l10n/id.php +#srv/web/owncloud/apps/activity/l10n/io.php #srv/web/owncloud/apps/activity/l10n/is.php #srv/web/owncloud/apps/activity/l10n/it.php #srv/web/owncloud/apps/activity/l10n/ja.php -#srv/web/owncloud/apps/activity/l10n/ja_JP.php #srv/web/owncloud/apps/activity/l10n/jv.php #srv/web/owncloud/apps/activity/l10n/ka_GE.php #srv/web/owncloud/apps/activity/l10n/km.php #srv/web/owncloud/apps/activity/l10n/kn.php #srv/web/owncloud/apps/activity/l10n/ko.php #srv/web/owncloud/apps/activity/l10n/ku_IQ.php -#srv/web/owncloud/apps/activity/l10n/l10n.pl #srv/web/owncloud/apps/activity/l10n/lb.php #srv/web/owncloud/apps/activity/l10n/lt_LT.php #srv/web/owncloud/apps/activity/l10n/lv.php @@ -3300,6 +3293,7 @@ srv/web/owncloud #srv/web/owncloud/apps/activity/tests/hooksdeleteusertest.php #srv/web/owncloud/apps/activity/tests/mailqueuehandlertest.php #srv/web/owncloud/apps/activity/tests/navigationtest.php +#srv/web/owncloud/apps/activity/tests/parameterhelpertest.php #srv/web/owncloud/apps/activity/tests/phpunit.xml #srv/web/owncloud/apps/activity/tests/usersettingstest.php #srv/web/owncloud/apps/admin_dependencies_chk @@ -3416,330 +3410,212 @@ srv/web/owncloud #srv/web/owncloud/apps/bookmarks/js/full_tags.php #srv/web/owncloud/apps/bookmarks/js/settings.js #srv/web/owncloud/apps/bookmarks/l10n -#srv/web/owncloud/apps/bookmarks/l10n/ach -#srv/web/owncloud/apps/bookmarks/l10n/ach/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ady -#srv/web/owncloud/apps/bookmarks/l10n/ady/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/af -#srv/web/owncloud/apps/bookmarks/l10n/af/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/af_ZA #srv/web/owncloud/apps/bookmarks/l10n/af_ZA.php -#srv/web/owncloud/apps/bookmarks/l10n/af_ZA/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ak -#srv/web/owncloud/apps/bookmarks/l10n/ak/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/am_ET -#srv/web/owncloud/apps/bookmarks/l10n/am_ET/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ar +#srv/web/owncloud/apps/bookmarks/l10n/ar.js +#srv/web/owncloud/apps/bookmarks/l10n/ar.json #srv/web/owncloud/apps/bookmarks/l10n/ar.php -#srv/web/owncloud/apps/bookmarks/l10n/ar/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ast +#srv/web/owncloud/apps/bookmarks/l10n/ast.js +#srv/web/owncloud/apps/bookmarks/l10n/ast.json #srv/web/owncloud/apps/bookmarks/l10n/ast.php -#srv/web/owncloud/apps/bookmarks/l10n/ast/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/az -#srv/web/owncloud/apps/bookmarks/l10n/az/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/be +#srv/web/owncloud/apps/bookmarks/l10n/az.js +#srv/web/owncloud/apps/bookmarks/l10n/az.json +#srv/web/owncloud/apps/bookmarks/l10n/az.php #srv/web/owncloud/apps/bookmarks/l10n/be.php -#srv/web/owncloud/apps/bookmarks/l10n/be/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/bg_BG +#srv/web/owncloud/apps/bookmarks/l10n/bg_BG.js +#srv/web/owncloud/apps/bookmarks/l10n/bg_BG.json #srv/web/owncloud/apps/bookmarks/l10n/bg_BG.php -#srv/web/owncloud/apps/bookmarks/l10n/bg_BG/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/bn_BD +#srv/web/owncloud/apps/bookmarks/l10n/bn_BD.js +#srv/web/owncloud/apps/bookmarks/l10n/bn_BD.json #srv/web/owncloud/apps/bookmarks/l10n/bn_BD.php -#srv/web/owncloud/apps/bookmarks/l10n/bn_BD/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/bn_IN -#srv/web/owncloud/apps/bookmarks/l10n/bn_IN/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/bs +#srv/web/owncloud/apps/bookmarks/l10n/bn_IN.js +#srv/web/owncloud/apps/bookmarks/l10n/bn_IN.json +#srv/web/owncloud/apps/bookmarks/l10n/bn_IN.php #srv/web/owncloud/apps/bookmarks/l10n/bs.php -#srv/web/owncloud/apps/bookmarks/l10n/bs/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ca +#srv/web/owncloud/apps/bookmarks/l10n/ca.js +#srv/web/owncloud/apps/bookmarks/l10n/ca.json #srv/web/owncloud/apps/bookmarks/l10n/ca.php -#srv/web/owncloud/apps/bookmarks/l10n/ca/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ca@valencia -#srv/web/owncloud/apps/bookmarks/l10n/ca@valencia/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/cs_CZ +#srv/web/owncloud/apps/bookmarks/l10n/cs_CZ.js +#srv/web/owncloud/apps/bookmarks/l10n/cs_CZ.json #srv/web/owncloud/apps/bookmarks/l10n/cs_CZ.php -#srv/web/owncloud/apps/bookmarks/l10n/cs_CZ/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/cy_GB +#srv/web/owncloud/apps/bookmarks/l10n/cy_GB.js +#srv/web/owncloud/apps/bookmarks/l10n/cy_GB.json #srv/web/owncloud/apps/bookmarks/l10n/cy_GB.php -#srv/web/owncloud/apps/bookmarks/l10n/cy_GB/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/da +#srv/web/owncloud/apps/bookmarks/l10n/da.js +#srv/web/owncloud/apps/bookmarks/l10n/da.json #srv/web/owncloud/apps/bookmarks/l10n/da.php -#srv/web/owncloud/apps/bookmarks/l10n/da/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/de +#srv/web/owncloud/apps/bookmarks/l10n/de.js +#srv/web/owncloud/apps/bookmarks/l10n/de.json #srv/web/owncloud/apps/bookmarks/l10n/de.php -#srv/web/owncloud/apps/bookmarks/l10n/de/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/de_AT #srv/web/owncloud/apps/bookmarks/l10n/de_AT.php -#srv/web/owncloud/apps/bookmarks/l10n/de_AT/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/de_CH +#srv/web/owncloud/apps/bookmarks/l10n/de_CH.js +#srv/web/owncloud/apps/bookmarks/l10n/de_CH.json #srv/web/owncloud/apps/bookmarks/l10n/de_CH.php -#srv/web/owncloud/apps/bookmarks/l10n/de_CH/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/de_DE +#srv/web/owncloud/apps/bookmarks/l10n/de_DE.js +#srv/web/owncloud/apps/bookmarks/l10n/de_DE.json #srv/web/owncloud/apps/bookmarks/l10n/de_DE.php -#srv/web/owncloud/apps/bookmarks/l10n/de_DE/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/el +#srv/web/owncloud/apps/bookmarks/l10n/el.js +#srv/web/owncloud/apps/bookmarks/l10n/el.json #srv/web/owncloud/apps/bookmarks/l10n/el.php -#srv/web/owncloud/apps/bookmarks/l10n/el/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/en@pirate -#srv/web/owncloud/apps/bookmarks/l10n/en@pirate/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/en_GB +#srv/web/owncloud/apps/bookmarks/l10n/en_GB.js +#srv/web/owncloud/apps/bookmarks/l10n/en_GB.json #srv/web/owncloud/apps/bookmarks/l10n/en_GB.php -#srv/web/owncloud/apps/bookmarks/l10n/en_GB/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/en_NZ -#srv/web/owncloud/apps/bookmarks/l10n/en_NZ/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/eo +#srv/web/owncloud/apps/bookmarks/l10n/eo.js +#srv/web/owncloud/apps/bookmarks/l10n/eo.json #srv/web/owncloud/apps/bookmarks/l10n/eo.php -#srv/web/owncloud/apps/bookmarks/l10n/eo/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/es +#srv/web/owncloud/apps/bookmarks/l10n/es.js +#srv/web/owncloud/apps/bookmarks/l10n/es.json #srv/web/owncloud/apps/bookmarks/l10n/es.php -#srv/web/owncloud/apps/bookmarks/l10n/es/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/es_AR +#srv/web/owncloud/apps/bookmarks/l10n/es_AR.js +#srv/web/owncloud/apps/bookmarks/l10n/es_AR.json #srv/web/owncloud/apps/bookmarks/l10n/es_AR.php -#srv/web/owncloud/apps/bookmarks/l10n/es_AR/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/es_BO -#srv/web/owncloud/apps/bookmarks/l10n/es_BO/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/es_CL #srv/web/owncloud/apps/bookmarks/l10n/es_CL.php -#srv/web/owncloud/apps/bookmarks/l10n/es_CL/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/es_CO -#srv/web/owncloud/apps/bookmarks/l10n/es_CO/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/es_CR -#srv/web/owncloud/apps/bookmarks/l10n/es_CR/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/es_EC -#srv/web/owncloud/apps/bookmarks/l10n/es_EC/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/es_MX +#srv/web/owncloud/apps/bookmarks/l10n/es_MX.js +#srv/web/owncloud/apps/bookmarks/l10n/es_MX.json #srv/web/owncloud/apps/bookmarks/l10n/es_MX.php -#srv/web/owncloud/apps/bookmarks/l10n/es_MX/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/es_PE -#srv/web/owncloud/apps/bookmarks/l10n/es_PE/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/es_PY -#srv/web/owncloud/apps/bookmarks/l10n/es_PY/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/es_US -#srv/web/owncloud/apps/bookmarks/l10n/es_US/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/es_UY -#srv/web/owncloud/apps/bookmarks/l10n/es_UY/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/et_EE +#srv/web/owncloud/apps/bookmarks/l10n/et_EE.js +#srv/web/owncloud/apps/bookmarks/l10n/et_EE.json #srv/web/owncloud/apps/bookmarks/l10n/et_EE.php -#srv/web/owncloud/apps/bookmarks/l10n/et_EE/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/eu +#srv/web/owncloud/apps/bookmarks/l10n/eu.js +#srv/web/owncloud/apps/bookmarks/l10n/eu.json #srv/web/owncloud/apps/bookmarks/l10n/eu.php -#srv/web/owncloud/apps/bookmarks/l10n/eu/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/eu_ES #srv/web/owncloud/apps/bookmarks/l10n/eu_ES.php -#srv/web/owncloud/apps/bookmarks/l10n/eu_ES/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/fa +#srv/web/owncloud/apps/bookmarks/l10n/fa.js +#srv/web/owncloud/apps/bookmarks/l10n/fa.json #srv/web/owncloud/apps/bookmarks/l10n/fa.php -#srv/web/owncloud/apps/bookmarks/l10n/fa/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/fi #srv/web/owncloud/apps/bookmarks/l10n/fi.php -#srv/web/owncloud/apps/bookmarks/l10n/fi/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/fi_FI +#srv/web/owncloud/apps/bookmarks/l10n/fi_FI.js +#srv/web/owncloud/apps/bookmarks/l10n/fi_FI.json #srv/web/owncloud/apps/bookmarks/l10n/fi_FI.php -#srv/web/owncloud/apps/bookmarks/l10n/fi_FI/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/fr +#srv/web/owncloud/apps/bookmarks/l10n/fr.js +#srv/web/owncloud/apps/bookmarks/l10n/fr.json #srv/web/owncloud/apps/bookmarks/l10n/fr.php -#srv/web/owncloud/apps/bookmarks/l10n/fr/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/fr_CA -#srv/web/owncloud/apps/bookmarks/l10n/fr_CA/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/gl +#srv/web/owncloud/apps/bookmarks/l10n/gl.js +#srv/web/owncloud/apps/bookmarks/l10n/gl.json #srv/web/owncloud/apps/bookmarks/l10n/gl.php -#srv/web/owncloud/apps/bookmarks/l10n/gl/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/he +#srv/web/owncloud/apps/bookmarks/l10n/he.js +#srv/web/owncloud/apps/bookmarks/l10n/he.json #srv/web/owncloud/apps/bookmarks/l10n/he.php -#srv/web/owncloud/apps/bookmarks/l10n/he/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/hi #srv/web/owncloud/apps/bookmarks/l10n/hi.php -#srv/web/owncloud/apps/bookmarks/l10n/hi/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/hi_IN -#srv/web/owncloud/apps/bookmarks/l10n/hi_IN/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/hr #srv/web/owncloud/apps/bookmarks/l10n/hr.php -#srv/web/owncloud/apps/bookmarks/l10n/hr/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/hu_HU +#srv/web/owncloud/apps/bookmarks/l10n/hu_HU.js +#srv/web/owncloud/apps/bookmarks/l10n/hu_HU.json #srv/web/owncloud/apps/bookmarks/l10n/hu_HU.php -#srv/web/owncloud/apps/bookmarks/l10n/hu_HU/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/hy #srv/web/owncloud/apps/bookmarks/l10n/hy.php -#srv/web/owncloud/apps/bookmarks/l10n/hy/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ia +#srv/web/owncloud/apps/bookmarks/l10n/ia.js +#srv/web/owncloud/apps/bookmarks/l10n/ia.json #srv/web/owncloud/apps/bookmarks/l10n/ia.php -#srv/web/owncloud/apps/bookmarks/l10n/ia/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/id +#srv/web/owncloud/apps/bookmarks/l10n/id.js +#srv/web/owncloud/apps/bookmarks/l10n/id.json #srv/web/owncloud/apps/bookmarks/l10n/id.php -#srv/web/owncloud/apps/bookmarks/l10n/id/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/is +#srv/web/owncloud/apps/bookmarks/l10n/is.js +#srv/web/owncloud/apps/bookmarks/l10n/is.json #srv/web/owncloud/apps/bookmarks/l10n/is.php -#srv/web/owncloud/apps/bookmarks/l10n/is/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/it +#srv/web/owncloud/apps/bookmarks/l10n/it.js +#srv/web/owncloud/apps/bookmarks/l10n/it.json #srv/web/owncloud/apps/bookmarks/l10n/it.php -#srv/web/owncloud/apps/bookmarks/l10n/it/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ja +#srv/web/owncloud/apps/bookmarks/l10n/ja.js +#srv/web/owncloud/apps/bookmarks/l10n/ja.json #srv/web/owncloud/apps/bookmarks/l10n/ja.php -#srv/web/owncloud/apps/bookmarks/l10n/ja/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ja_JP.php -#srv/web/owncloud/apps/bookmarks/l10n/jv #srv/web/owncloud/apps/bookmarks/l10n/jv.php -#srv/web/owncloud/apps/bookmarks/l10n/jv/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ka -#srv/web/owncloud/apps/bookmarks/l10n/ka/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ka_GE +#srv/web/owncloud/apps/bookmarks/l10n/ka_GE.js +#srv/web/owncloud/apps/bookmarks/l10n/ka_GE.json #srv/web/owncloud/apps/bookmarks/l10n/ka_GE.php -#srv/web/owncloud/apps/bookmarks/l10n/ka_GE/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/km +#srv/web/owncloud/apps/bookmarks/l10n/km.js +#srv/web/owncloud/apps/bookmarks/l10n/km.json #srv/web/owncloud/apps/bookmarks/l10n/km.php -#srv/web/owncloud/apps/bookmarks/l10n/km/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/kn -#srv/web/owncloud/apps/bookmarks/l10n/kn/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ko +#srv/web/owncloud/apps/bookmarks/l10n/ko.js +#srv/web/owncloud/apps/bookmarks/l10n/ko.json #srv/web/owncloud/apps/bookmarks/l10n/ko.php -#srv/web/owncloud/apps/bookmarks/l10n/ko/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ku_IQ #srv/web/owncloud/apps/bookmarks/l10n/ku_IQ.php -#srv/web/owncloud/apps/bookmarks/l10n/ku_IQ/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/l10n.pl -#srv/web/owncloud/apps/bookmarks/l10n/lb +#srv/web/owncloud/apps/bookmarks/l10n/lb.js +#srv/web/owncloud/apps/bookmarks/l10n/lb.json #srv/web/owncloud/apps/bookmarks/l10n/lb.php -#srv/web/owncloud/apps/bookmarks/l10n/lb/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/lt_LT +#srv/web/owncloud/apps/bookmarks/l10n/lt_LT.js +#srv/web/owncloud/apps/bookmarks/l10n/lt_LT.json #srv/web/owncloud/apps/bookmarks/l10n/lt_LT.php -#srv/web/owncloud/apps/bookmarks/l10n/lt_LT/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/lv +#srv/web/owncloud/apps/bookmarks/l10n/lv.js +#srv/web/owncloud/apps/bookmarks/l10n/lv.json #srv/web/owncloud/apps/bookmarks/l10n/lv.php -#srv/web/owncloud/apps/bookmarks/l10n/lv/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/mk +#srv/web/owncloud/apps/bookmarks/l10n/mk.js +#srv/web/owncloud/apps/bookmarks/l10n/mk.json #srv/web/owncloud/apps/bookmarks/l10n/mk.php -#srv/web/owncloud/apps/bookmarks/l10n/mk/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ml -#srv/web/owncloud/apps/bookmarks/l10n/ml/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ml_IN -#srv/web/owncloud/apps/bookmarks/l10n/ml_IN/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/mn -#srv/web/owncloud/apps/bookmarks/l10n/mn/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ms_MY #srv/web/owncloud/apps/bookmarks/l10n/ms_MY.php -#srv/web/owncloud/apps/bookmarks/l10n/ms_MY/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/my_MM #srv/web/owncloud/apps/bookmarks/l10n/my_MM.php -#srv/web/owncloud/apps/bookmarks/l10n/my_MM/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/nb_NO +#srv/web/owncloud/apps/bookmarks/l10n/nb_NO.js +#srv/web/owncloud/apps/bookmarks/l10n/nb_NO.json #srv/web/owncloud/apps/bookmarks/l10n/nb_NO.php -#srv/web/owncloud/apps/bookmarks/l10n/nb_NO/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/nds -#srv/web/owncloud/apps/bookmarks/l10n/nds/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ne -#srv/web/owncloud/apps/bookmarks/l10n/ne/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/nl +#srv/web/owncloud/apps/bookmarks/l10n/nl.js +#srv/web/owncloud/apps/bookmarks/l10n/nl.json #srv/web/owncloud/apps/bookmarks/l10n/nl.php -#srv/web/owncloud/apps/bookmarks/l10n/nl/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/nn_NO +#srv/web/owncloud/apps/bookmarks/l10n/nn_NO.js +#srv/web/owncloud/apps/bookmarks/l10n/nn_NO.json #srv/web/owncloud/apps/bookmarks/l10n/nn_NO.php -#srv/web/owncloud/apps/bookmarks/l10n/nn_NO/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/nqo -#srv/web/owncloud/apps/bookmarks/l10n/nqo/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/oc #srv/web/owncloud/apps/bookmarks/l10n/oc.php -#srv/web/owncloud/apps/bookmarks/l10n/oc/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/or_IN -#srv/web/owncloud/apps/bookmarks/l10n/or_IN/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/pa #srv/web/owncloud/apps/bookmarks/l10n/pa.php -#srv/web/owncloud/apps/bookmarks/l10n/pa/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/pl +#srv/web/owncloud/apps/bookmarks/l10n/pl.js +#srv/web/owncloud/apps/bookmarks/l10n/pl.json #srv/web/owncloud/apps/bookmarks/l10n/pl.php -#srv/web/owncloud/apps/bookmarks/l10n/pl/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/pl_PL #srv/web/owncloud/apps/bookmarks/l10n/pl_PL.php -#srv/web/owncloud/apps/bookmarks/l10n/pl_PL/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/pt_BR +#srv/web/owncloud/apps/bookmarks/l10n/pt_BR.js +#srv/web/owncloud/apps/bookmarks/l10n/pt_BR.json #srv/web/owncloud/apps/bookmarks/l10n/pt_BR.php -#srv/web/owncloud/apps/bookmarks/l10n/pt_BR/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/pt_PT +#srv/web/owncloud/apps/bookmarks/l10n/pt_PT.js +#srv/web/owncloud/apps/bookmarks/l10n/pt_PT.json #srv/web/owncloud/apps/bookmarks/l10n/pt_PT.php -#srv/web/owncloud/apps/bookmarks/l10n/pt_PT/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ro +#srv/web/owncloud/apps/bookmarks/l10n/ro.js +#srv/web/owncloud/apps/bookmarks/l10n/ro.json #srv/web/owncloud/apps/bookmarks/l10n/ro.php -#srv/web/owncloud/apps/bookmarks/l10n/ro/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ru +#srv/web/owncloud/apps/bookmarks/l10n/ru.js +#srv/web/owncloud/apps/bookmarks/l10n/ru.json #srv/web/owncloud/apps/bookmarks/l10n/ru.php -#srv/web/owncloud/apps/bookmarks/l10n/ru/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ru_RU #srv/web/owncloud/apps/bookmarks/l10n/ru_RU.php -#srv/web/owncloud/apps/bookmarks/l10n/ru_RU/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/si_LK +#srv/web/owncloud/apps/bookmarks/l10n/si_LK.js +#srv/web/owncloud/apps/bookmarks/l10n/si_LK.json #srv/web/owncloud/apps/bookmarks/l10n/si_LK.php -#srv/web/owncloud/apps/bookmarks/l10n/si_LK/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/sk #srv/web/owncloud/apps/bookmarks/l10n/sk.php -#srv/web/owncloud/apps/bookmarks/l10n/sk/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/sk_SK +#srv/web/owncloud/apps/bookmarks/l10n/sk_SK.js +#srv/web/owncloud/apps/bookmarks/l10n/sk_SK.json #srv/web/owncloud/apps/bookmarks/l10n/sk_SK.php -#srv/web/owncloud/apps/bookmarks/l10n/sk_SK/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/sl +#srv/web/owncloud/apps/bookmarks/l10n/sl.js +#srv/web/owncloud/apps/bookmarks/l10n/sl.json #srv/web/owncloud/apps/bookmarks/l10n/sl.php -#srv/web/owncloud/apps/bookmarks/l10n/sl/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/sq #srv/web/owncloud/apps/bookmarks/l10n/sq.php -#srv/web/owncloud/apps/bookmarks/l10n/sq/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/sr +#srv/web/owncloud/apps/bookmarks/l10n/sr.js +#srv/web/owncloud/apps/bookmarks/l10n/sr.json #srv/web/owncloud/apps/bookmarks/l10n/sr.php -#srv/web/owncloud/apps/bookmarks/l10n/sr/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/sr@latin #srv/web/owncloud/apps/bookmarks/l10n/sr@latin.php -#srv/web/owncloud/apps/bookmarks/l10n/sr@latin/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/su -#srv/web/owncloud/apps/bookmarks/l10n/su/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/sv +#srv/web/owncloud/apps/bookmarks/l10n/sv.js +#srv/web/owncloud/apps/bookmarks/l10n/sv.json #srv/web/owncloud/apps/bookmarks/l10n/sv.php -#srv/web/owncloud/apps/bookmarks/l10n/sv/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/sw_KE -#srv/web/owncloud/apps/bookmarks/l10n/sw_KE/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ta_IN -#srv/web/owncloud/apps/bookmarks/l10n/ta_IN/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ta_LK +#srv/web/owncloud/apps/bookmarks/l10n/ta_IN.php +#srv/web/owncloud/apps/bookmarks/l10n/ta_LK.js +#srv/web/owncloud/apps/bookmarks/l10n/ta_LK.json #srv/web/owncloud/apps/bookmarks/l10n/ta_LK.php -#srv/web/owncloud/apps/bookmarks/l10n/ta_LK/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/te #srv/web/owncloud/apps/bookmarks/l10n/te.php -#srv/web/owncloud/apps/bookmarks/l10n/te/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/templates -#srv/web/owncloud/apps/bookmarks/l10n/templates/bookmarks.pot -#srv/web/owncloud/apps/bookmarks/l10n/th_TH +#srv/web/owncloud/apps/bookmarks/l10n/th_TH.js +#srv/web/owncloud/apps/bookmarks/l10n/th_TH.json #srv/web/owncloud/apps/bookmarks/l10n/th_TH.php -#srv/web/owncloud/apps/bookmarks/l10n/th_TH/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/tr +#srv/web/owncloud/apps/bookmarks/l10n/tr.js +#srv/web/owncloud/apps/bookmarks/l10n/tr.json #srv/web/owncloud/apps/bookmarks/l10n/tr.php -#srv/web/owncloud/apps/bookmarks/l10n/tr/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/tzm -#srv/web/owncloud/apps/bookmarks/l10n/tzm/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ug +#srv/web/owncloud/apps/bookmarks/l10n/ug.js +#srv/web/owncloud/apps/bookmarks/l10n/ug.json #srv/web/owncloud/apps/bookmarks/l10n/ug.php -#srv/web/owncloud/apps/bookmarks/l10n/ug/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/uk +#srv/web/owncloud/apps/bookmarks/l10n/uk.js +#srv/web/owncloud/apps/bookmarks/l10n/uk.json #srv/web/owncloud/apps/bookmarks/l10n/uk.php -#srv/web/owncloud/apps/bookmarks/l10n/uk/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ur -#srv/web/owncloud/apps/bookmarks/l10n/ur/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/ur_PK #srv/web/owncloud/apps/bookmarks/l10n/ur_PK.php -#srv/web/owncloud/apps/bookmarks/l10n/ur_PK/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/uz -#srv/web/owncloud/apps/bookmarks/l10n/uz/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/vi +#srv/web/owncloud/apps/bookmarks/l10n/vi.js +#srv/web/owncloud/apps/bookmarks/l10n/vi.json #srv/web/owncloud/apps/bookmarks/l10n/vi.php -#srv/web/owncloud/apps/bookmarks/l10n/vi/bookmarks.po #srv/web/owncloud/apps/bookmarks/l10n/xgettextfiles -#srv/web/owncloud/apps/bookmarks/l10n/zh_CN -#srv/web/owncloud/apps/bookmarks/l10n/zh_CN.GB2312 -#srv/web/owncloud/apps/bookmarks/l10n/zh_CN.GB2312.php -#srv/web/owncloud/apps/bookmarks/l10n/zh_CN.GB2312/bookmarks.po +#srv/web/owncloud/apps/bookmarks/l10n/zh_CN.js +#srv/web/owncloud/apps/bookmarks/l10n/zh_CN.json #srv/web/owncloud/apps/bookmarks/l10n/zh_CN.php -#srv/web/owncloud/apps/bookmarks/l10n/zh_CN/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/zh_HK #srv/web/owncloud/apps/bookmarks/l10n/zh_HK.php -#srv/web/owncloud/apps/bookmarks/l10n/zh_HK/bookmarks.po -#srv/web/owncloud/apps/bookmarks/l10n/zh_TW +#srv/web/owncloud/apps/bookmarks/l10n/zh_TW.js +#srv/web/owncloud/apps/bookmarks/l10n/zh_TW.json #srv/web/owncloud/apps/bookmarks/l10n/zh_TW.php -#srv/web/owncloud/apps/bookmarks/l10n/zh_TW/bookmarks.po #srv/web/owncloud/apps/bookmarks/lib #srv/web/owncloud/apps/bookmarks/lib/bookmarks.php #srv/web/owncloud/apps/bookmarks/lib/search.php @@ -3749,7 +3625,9 @@ srv/web/owncloud #srv/web/owncloud/apps/bookmarks/templates/list.php #srv/web/owncloud/apps/bookmarks/templates/settings.php #srv/web/owncloud/apps/bookmarks/tests -#srv/web/owncloud/apps/bookmarks/tests/lib_bookmark.php +#srv/web/owncloud/apps/bookmarks/tests/bootstrap.php +#srv/web/owncloud/apps/bookmarks/tests/lib_bookmark_test.php +#srv/web/owncloud/apps/bookmarks/tests/phpunit.xml #srv/web/owncloud/apps/calendar #srv/web/owncloud/apps/calendar/3rdparty #srv/web/owncloud/apps/calendar/3rdparty/fullcalendar @@ -4624,7 +4502,9 @@ srv/web/owncloud #srv/web/owncloud/apps/contacts/lib/jsonresponse.php #srv/web/owncloud/apps/contacts/lib/middleware #srv/web/owncloud/apps/contacts/lib/middleware/http.php -#srv/web/owncloud/apps/contacts/lib/searchprovider.php +#srv/web/owncloud/apps/contacts/lib/search +#srv/web/owncloud/apps/contacts/lib/search/contact.php +#srv/web/owncloud/apps/contacts/lib/search/provider.php #srv/web/owncloud/apps/contacts/lib/share #srv/web/owncloud/apps/contacts/lib/share/addressbook.php #srv/web/owncloud/apps/contacts/lib/share/contact.php @@ -6973,6 +6853,7 @@ srv/web/owncloud #srv/web/owncloud/apps/files_external/ajax #srv/web/owncloud/apps/files_external/ajax/addMountPoint.php #srv/web/owncloud/apps/files_external/ajax/addRootCertificate.php +#srv/web/owncloud/apps/files_external/ajax/applicable.php #srv/web/owncloud/apps/files_external/ajax/dropbox.php #srv/web/owncloud/apps/files_external/ajax/google.php #srv/web/owncloud/apps/files_external/ajax/removeMountPoint.php @@ -7077,6 +6958,7 @@ srv/web/owncloud #srv/web/owncloud/apps/files_external/lib/api.php #srv/web/owncloud/apps/files_external/lib/config.php #srv/web/owncloud/apps/files_external/lib/dropbox.php +#srv/web/owncloud/apps/files_external/lib/etagpropagator.php #srv/web/owncloud/apps/files_external/lib/ftp.php #srv/web/owncloud/apps/files_external/lib/google.php #srv/web/owncloud/apps/files_external/lib/owncloud.php @@ -7094,16 +6976,19 @@ srv/web/owncloud #srv/web/owncloud/apps/files_external/templates/settings.php #srv/web/owncloud/apps/files_external/tests #srv/web/owncloud/apps/files_external/tests/amazons3.php +#srv/web/owncloud/apps/files_external/tests/amazons3migration.php #srv/web/owncloud/apps/files_external/tests/appSpec.js #srv/web/owncloud/apps/files_external/tests/config.php #srv/web/owncloud/apps/files_external/tests/dropbox.php #srv/web/owncloud/apps/files_external/tests/dynamicmountconfig.php +#srv/web/owncloud/apps/files_external/tests/etagpropagator.php #srv/web/owncloud/apps/files_external/tests/ftp.php #srv/web/owncloud/apps/files_external/tests/google.php #srv/web/owncloud/apps/files_external/tests/js #srv/web/owncloud/apps/files_external/tests/js/mountsfilelistSpec.js #srv/web/owncloud/apps/files_external/tests/mountconfig.php #srv/web/owncloud/apps/files_external/tests/owncloud.php +#srv/web/owncloud/apps/files_external/tests/owncloudfunctions.php #srv/web/owncloud/apps/files_external/tests/sftp.php #srv/web/owncloud/apps/files_external/tests/smb.php #srv/web/owncloud/apps/files_external/tests/smbfunctions.php @@ -7383,6 +7268,7 @@ srv/web/owncloud #srv/web/owncloud/apps/files_sharing/lib/cache.php #srv/web/owncloud/apps/files_sharing/lib/connector #srv/web/owncloud/apps/files_sharing/lib/connector/publicauth.php +#srv/web/owncloud/apps/files_sharing/lib/exceptions.php #srv/web/owncloud/apps/files_sharing/lib/external #srv/web/owncloud/apps/files_sharing/lib/external/cache.php #srv/web/owncloud/apps/files_sharing/lib/external/manager.php @@ -7414,9 +7300,11 @@ srv/web/owncloud #srv/web/owncloud/apps/files_sharing/templates/settings-admin.php #srv/web/owncloud/apps/files_sharing/tests #srv/web/owncloud/apps/files_sharing/tests/api.php +#srv/web/owncloud/apps/files_sharing/tests/backend.php #srv/web/owncloud/apps/files_sharing/tests/base.php #srv/web/owncloud/apps/files_sharing/tests/cache.php #srv/web/owncloud/apps/files_sharing/tests/externalstorage.php +#srv/web/owncloud/apps/files_sharing/tests/helper.php #srv/web/owncloud/apps/files_sharing/tests/js #srv/web/owncloud/apps/files_sharing/tests/js/appSpec.js #srv/web/owncloud/apps/files_sharing/tests/js/shareSpec.js @@ -8812,9 +8700,11 @@ srv/web/owncloud #srv/web/owncloud/apps/updater/admin.php #srv/web/owncloud/apps/updater/ajax #srv/web/owncloud/apps/updater/ajax/backup +#srv/web/owncloud/apps/updater/ajax/backup.php #srv/web/owncloud/apps/updater/ajax/backup/delete.php #srv/web/owncloud/apps/updater/ajax/backup/download.php #srv/web/owncloud/apps/updater/ajax/backup/list.php +#srv/web/owncloud/apps/updater/ajax/download.php #srv/web/owncloud/apps/updater/ajax/update.php #srv/web/owncloud/apps/updater/appinfo #srv/web/owncloud/apps/updater/appinfo/app.php @@ -8911,13 +8801,16 @@ srv/web/owncloud #srv/web/owncloud/apps/updater/lib #srv/web/owncloud/apps/updater/lib/app.php #srv/web/owncloud/apps/updater/lib/backup.php +#srv/web/owncloud/apps/updater/lib/collection.php #srv/web/owncloud/apps/updater/lib/downloader.php +#srv/web/owncloud/apps/updater/lib/fsexception.php #srv/web/owncloud/apps/updater/lib/helper.php #srv/web/owncloud/apps/updater/lib/location #srv/web/owncloud/apps/updater/lib/location.php #srv/web/owncloud/apps/updater/lib/location/3rdparty.php #srv/web/owncloud/apps/updater/lib/location/apps.php #srv/web/owncloud/apps/updater/lib/location/core.php +#srv/web/owncloud/apps/updater/lib/permissionexception.php #srv/web/owncloud/apps/updater/lib/updater.php #srv/web/owncloud/apps/updater/templates #srv/web/owncloud/apps/updater/templates/admin.php @@ -8966,6 +8859,7 @@ srv/web/owncloud #srv/web/owncloud/apps/user_ldap/group_ldap.php #srv/web/owncloud/apps/user_ldap/group_proxy.php #srv/web/owncloud/apps/user_ldap/js +#srv/web/owncloud/apps/user_ldap/js/experiencedAdmin.js #srv/web/owncloud/apps/user_ldap/js/ldapFilter.js #srv/web/owncloud/apps/user_ldap/js/settings.js #srv/web/owncloud/apps/user_ldap/l10n @@ -9118,6 +9012,7 @@ srv/web/owncloud #srv/web/owncloud/apps/user_ldap/tests/data #srv/web/owncloud/apps/user_ldap/tests/data/sid.dat #srv/web/owncloud/apps/user_ldap/tests/group_ldap.php +#srv/web/owncloud/apps/user_ldap/tests/helper.php #srv/web/owncloud/apps/user_ldap/tests/user #srv/web/owncloud/apps/user_ldap/tests/user/manager.php #srv/web/owncloud/apps/user_ldap/tests/user/user.php @@ -9266,155 +9161,54 @@ srv/web/owncloud #srv/web/owncloud/core/css/jquery.ocdialog.css #srv/web/owncloud/core/css/mobile.css #srv/web/owncloud/core/css/multiselect.css +#srv/web/owncloud/core/css/select2 +#srv/web/owncloud/core/css/select2/select2-spinner.gif +#srv/web/owncloud/core/css/select2/select2.css +#srv/web/owncloud/core/css/select2/select2.png +#srv/web/owncloud/core/css/select2/select2x2.png #srv/web/owncloud/core/css/share.css #srv/web/owncloud/core/css/styles.css #srv/web/owncloud/core/doc #srv/web/owncloud/core/doc/admin #srv/web/owncloud/core/doc/admin/_images -#srv/web/owncloud/core/doc/admin/_images/100000000000003800000018D49F1CE7.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000050000000DB83B8FA5B.png -#srv/web/owncloud/core/doc/admin/_images/10000000000000950000004412998BE7.png -#srv/web/owncloud/core/doc/admin/_images/10000000000000A800000073F49785A6.png -#srv/web/owncloud/core/doc/admin/_images/10000000000000B600000120706C3C75.png -#srv/web/owncloud/core/doc/admin/_images/10000000000000CD000000ECA8DE7780.png -#srv/web/owncloud/core/doc/admin/_images/10000000000000F1000000F56125BDBA.png -#srv/web/owncloud/core/doc/admin/_images/10000000000000F1000000F6704F46D3.png -#srv/web/owncloud/core/doc/admin/_images/10000000000000F300000068AF0ECD53.png -#srv/web/owncloud/core/doc/admin/_images/10000000000000F40000019A110DD159.png -#srv/web/owncloud/core/doc/admin/_images/10000000000000F5000000675DC5F68C.png -#srv/web/owncloud/core/doc/admin/_images/10000000000000F500000067A8845EF8.png -#srv/web/owncloud/core/doc/admin/_images/10000000000000F60000006754ED2A1E.png -#srv/web/owncloud/core/doc/admin/_images/10000000000000F6000000685DFB3767.png -#srv/web/owncloud/core/doc/admin/_images/100000000000012C0000009C444B4720.png -#srv/web/owncloud/core/doc/admin/_images/100000000000013C0000017D4FC6CEF5.png -#srv/web/owncloud/core/doc/admin/_images/10000000000001400000008A557EF7E3.png -#srv/web/owncloud/core/doc/admin/_images/10000000000001440000005A2989832F.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000160000000DBB2FB0223.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000165000000D3FF2168AB.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000167000000B43E4BF478.png -#srv/web/owncloud/core/doc/admin/_images/10000000000001800000009A9494E037.png -#srv/web/owncloud/core/doc/admin/_images/10000000000001880000007EA4444400.png -#srv/web/owncloud/core/doc/admin/_images/100000000000018B000000A090F31164.png -#srv/web/owncloud/core/doc/admin/_images/100000000000018E000000C4BA62B2A3.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000193000001AE9AB8B0A2.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000194000000498325A766.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000194000000FAD39BC0D8.png -#srv/web/owncloud/core/doc/admin/_images/10000000000001980000009271BE0D26.png -#srv/web/owncloud/core/doc/admin/_images/100000000000019E0000004CD2A0F407.png -#srv/web/owncloud/core/doc/admin/_images/10000000000001A3000000AAFE82893A.png -#srv/web/owncloud/core/doc/admin/_images/10000000000001AC000000477C76808F.png -#srv/web/owncloud/core/doc/admin/_images/10000000000001BF00000012349EAE2F.png -#srv/web/owncloud/core/doc/admin/_images/10000000000001C1000000FE663748B2.png -#srv/web/owncloud/core/doc/admin/_images/10000000000001C9000000AF9C1CE57F.png -#srv/web/owncloud/core/doc/admin/_images/10000000000001CF00000176B0BE1EBC.png -#srv/web/owncloud/core/doc/admin/_images/10000000000001D30000014DC251C948.png -#srv/web/owncloud/core/doc/admin/_images/10000000000001E50000006E3ECDC427.png -#srv/web/owncloud/core/doc/admin/_images/10000000000001FD000000DF8D2D7546.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000200000000BCCCC35DEB.png -#srv/web/owncloud/core/doc/admin/_images/10000000000002170000004A27056037.png -#srv/web/owncloud/core/doc/admin/_images/100000000000021C0000004CACBF786C.png -#srv/web/owncloud/core/doc/admin/_images/10000000000002210000002DE3BE7515.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000227000000935D9B1EF6.png -#srv/web/owncloud/core/doc/admin/_images/100000000000023B000000125381F51B.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000247000000A77440E4D3.png -#srv/web/owncloud/core/doc/admin/_images/10000000000002720000013FB6EDA793.png -#srv/web/owncloud/core/doc/admin/_images/100000000000027B0000011D10F70F88.png -#srv/web/owncloud/core/doc/admin/_images/10000000000002840000016729388B7F.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000288000001A1D5BE4881.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000289000001A9D7F3941F.png -#srv/web/owncloud/core/doc/admin/_images/10000000000002910000018B31D51F03.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000291000001951B69B9A6.png -#srv/web/owncloud/core/doc/admin/_images/10000000000002950000019EF5732E36.png -#srv/web/owncloud/core/doc/admin/_images/10000000000002950000021E245F6883.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000298000001870B0581FA.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000298000001874D3CA506.png -#srv/web/owncloud/core/doc/admin/_images/100000000000029B0000018885B5282E.png -#srv/web/owncloud/core/doc/admin/_images/10000000000002A6000000BFBE298238.png -#srv/web/owncloud/core/doc/admin/_images/10000000000002B1000002258C08D304.png -#srv/web/owncloud/core/doc/admin/_images/10000000000002B3000000365E1CD00D.png -#srv/web/owncloud/core/doc/admin/_images/10000000000002BB000000266DB6AD1A.png -#srv/web/owncloud/core/doc/admin/_images/10000000000002F3000000926CA65D02.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000304000001B964698779.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000336000000F38C3FAF84.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000372000002AF943ADDA0.png -#srv/web/owncloud/core/doc/admin/_images/10000000000003730000002B6865E951.png -#srv/web/owncloud/core/doc/admin/_images/10000000000003A60000011E274A1A28.png -#srv/web/owncloud/core/doc/admin/_images/10000000000003A6000002A9C7A660BE.png -#srv/web/owncloud/core/doc/admin/_images/10000000000003A800000039364066E4.png -#srv/web/owncloud/core/doc/admin/_images/10000000000003B30000021B5EE5D338.png -#srv/web/owncloud/core/doc/admin/_images/10000000000003DF00000071A41D8A1F.png -#srv/web/owncloud/core/doc/admin/_images/10000000000003DF000000D953A456B6.png -#srv/web/owncloud/core/doc/admin/_images/10000000000003E8000001524A147A04.png -#srv/web/owncloud/core/doc/admin/_images/10000000000003EC000000AB60616FA7.png -#srv/web/owncloud/core/doc/admin/_images/10000000000003FB000002359BAFB40E.png -#srv/web/owncloud/core/doc/admin/_images/10000000000004010000017E4A6552BC.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000403000001632F0B76F6.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000404000000FCFC13E732.png -#srv/web/owncloud/core/doc/admin/_images/10000000000004100000005657010336.png -#srv/web/owncloud/core/doc/admin/_images/10000000000004170000016ACB5E15AE.png -#srv/web/owncloud/core/doc/admin/_images/100000000000041D0000017D8D1BC4D9.png -#srv/web/owncloud/core/doc/admin/_images/100000000000042500000163D2B339D5.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000427000000324F58266D.png -#srv/web/owncloud/core/doc/admin/_images/100000000000042E000001D3EEB9978B.png -#srv/web/owncloud/core/doc/admin/_images/100000000000042F000000CC3EDDE79E.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000430000000AF9D6E724E.png -#srv/web/owncloud/core/doc/admin/_images/100000000000043000000164DA0CE8C9.png -#srv/web/owncloud/core/doc/admin/_images/100000000000043200000169BCD20493.png -#srv/web/owncloud/core/doc/admin/_images/100000000000044C000002B0B421E27E.png -#srv/web/owncloud/core/doc/admin/_images/100000000000045800000197FE462F2B.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000462000000D44541CF9A.png -#srv/web/owncloud/core/doc/admin/_images/100000000000046C000000C2D3E5CF30.png -#srv/web/owncloud/core/doc/admin/_images/10000000000004770000008AAF3CFFDB.png -#srv/web/owncloud/core/doc/admin/_images/10000000000004920000028D9C8DC2CB.png -#srv/web/owncloud/core/doc/admin/_images/10000000000004C0000000795BB2C146.png -#srv/web/owncloud/core/doc/admin/_images/10000000000004CA000002B52116BE0C.png -#srv/web/owncloud/core/doc/admin/_images/10000000000004ED000000BE3B9E25D5.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000523000000C6F786381C.png -#srv/web/owncloud/core/doc/admin/_images/100000000000052500000088DBB95005.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000525000000BE30CF0423.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000527000000A7AB409FE0.png -#srv/web/owncloud/core/doc/admin/_images/100000000000052F000000C2867B7294.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000530000001410CF0028A.png -#srv/web/owncloud/core/doc/admin/_images/100000000000053100000142D9A4C916.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000532000000285DDBBF37.png -#srv/web/owncloud/core/doc/admin/_images/100000000000053A00000067708C8F53.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000552000000BF22E90239.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000557000002E148BAB6D4.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005970000006AE23997C9.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005AF00000074604B1A67.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005B90000007866D92D14.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005BB0000007C1DF71FA7.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005C30000006CAFFAAD61.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005D00000003B29340A7A.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005D50000009458C5EE48.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005E20000009B1BA5A8CF.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005E6000000676902E040.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005EB000000A68BA73E2D.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005EC00000073E678DFEC.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005F30000030F1372448D.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005F70000005F0912E904.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005F70000007E43DB8026.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005FA0000005CE8491B77.png -#srv/web/owncloud/core/doc/admin/_images/10000000000005FF0000005F35710398.png -#srv/web/owncloud/core/doc/admin/_images/10000000000006000000005EDA7B96BE.png -#srv/web/owncloud/core/doc/admin/_images/100000000000060300000065DF96536B.png -#srv/web/owncloud/core/doc/admin/_images/10000000000006060000006A0106CA0C.png -#srv/web/owncloud/core/doc/admin/_images/100000000000061A0000006FC014C3A4.png -#srv/web/owncloud/core/doc/admin/_images/100000000000061D0000007047877972.png -#srv/web/owncloud/core/doc/admin/_images/100000000000061E0000006BCF9ECC0B.png -#srv/web/owncloud/core/doc/admin/_images/100000000000062A0000005F61A18950.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000631000000E19D116AA0.png -#srv/web/owncloud/core/doc/admin/_images/100000000000063F00000090AAE1FA4A.png -#srv/web/owncloud/core/doc/admin/_images/1000000000000668000002D29EAD9899.png -#srv/web/owncloud/core/doc/admin/_images/100000000000066D000001AAD8CE8256.png -#srv/web/owncloud/core/doc/admin/_images/10000201000002FC000001DC2DDAD2F1.png -#srv/web/owncloud/core/doc/admin/_images/1000020100000359000000A8B848DE68.png -#srv/web/owncloud/core/doc/admin/_images/10000201000005F90000029D8BA200FB.png -#srv/web/owncloud/core/doc/admin/_images/custom_mount_config_gui-1.png -#srv/web/owncloud/core/doc/admin/_images/custom_mount_config_gui-2.png -#srv/web/owncloud/core/doc/admin/_images/custom_mount_config_gui-3.png -#srv/web/owncloud/core/doc/admin/_images/custom_mount_config_gui-4.png -#srv/web/owncloud/core/doc/admin/_images/edit_encrypted_file.png +#srv/web/owncloud/core/doc/admin/_images/antivirus-app.png +#srv/web/owncloud/core/doc/admin/_images/antivirus-config.png +#srv/web/owncloud/core/doc/admin/_images/antivirus-daemon-socket.png +#srv/web/owncloud/core/doc/admin/_images/antivirus-executable.png +#srv/web/owncloud/core/doc/admin/_images/antivirus-logging.png +#srv/web/owncloud/core/doc/admin/_images/create_public_share.png +#srv/web/owncloud/core/doc/admin/_images/documents_app_enable.png +#srv/web/owncloud/core/doc/admin/_images/encryption1.png +#srv/web/owncloud/core/doc/admin/_images/encryption2.png +#srv/web/owncloud/core/doc/admin/_images/encryption3.png +#srv/web/owncloud/core/doc/admin/_images/encryption4.png +#srv/web/owncloud/core/doc/admin/_images/encryption5.png +#srv/web/owncloud/core/doc/admin/_images/encryption6.png +#srv/web/owncloud/core/doc/admin/_images/encryption7.png +#srv/web/owncloud/core/doc/admin/_images/encryption8.png +#srv/web/owncloud/core/doc/admin/_images/encryption9.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-amazons3.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-app-add.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-app-enable.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-app-local.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-app-usermounts.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-dropbox-allowshare.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-dropbox-app.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-dropbox-configapp.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-dropbox-oc.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-dropbox.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-ftp.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive-0auth.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive-9.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive-sdk.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive1.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive2.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive5.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive7.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-google-drive8.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-smb.png +#srv/web/owncloud/core/doc/admin/_images/external-storage-webdav.png #srv/web/owncloud/core/doc/admin/_images/install-wizard-advanced.png #srv/web/owncloud/core/doc/admin/_images/install-wizard.png #srv/web/owncloud/core/doc/admin/_images/ldap-advanced-1-connection.png @@ -9428,84 +9222,73 @@ srv/web/owncloud #srv/web/owncloud/core/doc/admin/_images/ldap-wizard-2-user.png #srv/web/owncloud/core/doc/admin/_images/ldap-wizard-3-login.png #srv/web/owncloud/core/doc/admin/_images/ldap-wizard-4-group.png +#srv/web/owncloud/core/doc/admin/_images/lucene-search-enable.png +#srv/web/owncloud/core/doc/admin/_images/lucene-search-user.png #srv/web/owncloud/core/doc/admin/_images/oc_admin_app_page.png -#srv/web/owncloud/core/doc/admin/_images/oc_admin_user_manage.png +#srv/web/owncloud/core/doc/admin/_images/preview_images.png +#srv/web/owncloud/core/doc/admin/_images/remote_shares.png +#srv/web/owncloud/core/doc/admin/_images/sharing-admin.png +#srv/web/owncloud/core/doc/admin/_images/sharing-user-local.png +#srv/web/owncloud/core/doc/admin/_images/sharing-user.png +#srv/web/owncloud/core/doc/admin/_images/smtp-config-php-sendmail.png +#srv/web/owncloud/core/doc/admin/_images/smtp-config-smtp.png +#srv/web/owncloud/core/doc/admin/_images/smtp-config-wizard.png #srv/web/owncloud/core/doc/admin/_images/ucs-app-center-install.png #srv/web/owncloud/core/doc/admin/_images/ucs-app-center-module.png #srv/web/owncloud/core/doc/admin/_images/ucsint.png #srv/web/owncloud/core/doc/admin/_images/ucsint1.png #srv/web/owncloud/core/doc/admin/_images/ucsint2.png #srv/web/owncloud/core/doc/admin/_images/untrusted-domain.png +#srv/web/owncloud/core/doc/admin/_images/updater-1.png +#srv/web/owncloud/core/doc/admin/_images/updater-2.png +#srv/web/owncloud/core/doc/admin/_images/updater-3.png +#srv/web/owncloud/core/doc/admin/_images/updater-4.png +#srv/web/owncloud/core/doc/admin/_images/updater-5.png +#srv/web/owncloud/core/doc/admin/_images/updater-6.png +#srv/web/owncloud/core/doc/admin/_images/updater-7.png +#srv/web/owncloud/core/doc/admin/_images/users-config.png +#srv/web/owncloud/core/doc/admin/_images/users-create.png +#srv/web/owncloud/core/doc/admin/_images/users-groups.png #srv/web/owncloud/core/doc/admin/_images/win7features.jpg #srv/web/owncloud/core/doc/admin/_images/winserverroles.jpg #srv/web/owncloud/core/doc/admin/_sources -#srv/web/owncloud/core/doc/admin/_sources/apps -#srv/web/owncloud/core/doc/admin/_sources/apps/activity -#srv/web/owncloud/core/doc/admin/_sources/apps/activity/index.txt -#srv/web/owncloud/core/doc/admin/_sources/apps/admin_dependencies_chk -#srv/web/owncloud/core/doc/admin/_sources/apps/admin_dependencies_chk/index.txt -#srv/web/owncloud/core/doc/admin/_sources/apps/files_antivirus -#srv/web/owncloud/core/doc/admin/_sources/apps/files_antivirus/index.txt -#srv/web/owncloud/core/doc/admin/_sources/apps/files_encryption -#srv/web/owncloud/core/doc/admin/_sources/apps/files_encryption/index.txt -#srv/web/owncloud/core/doc/admin/_sources/apps/files_external -#srv/web/owncloud/core/doc/admin/_sources/apps/files_external/index.txt -#srv/web/owncloud/core/doc/admin/_sources/apps/files_sharing -#srv/web/owncloud/core/doc/admin/_sources/apps/files_sharing/index.txt -#srv/web/owncloud/core/doc/admin/_sources/apps/files_trashbin -#srv/web/owncloud/core/doc/admin/_sources/apps/files_trashbin/index.txt -#srv/web/owncloud/core/doc/admin/_sources/apps/files_versions -#srv/web/owncloud/core/doc/admin/_sources/apps/files_versions/index.txt -#srv/web/owncloud/core/doc/admin/_sources/apps/firstrunwizard -#srv/web/owncloud/core/doc/admin/_sources/apps/firstrunwizard/index.txt -#srv/web/owncloud/core/doc/admin/_sources/apps/index.txt -#srv/web/owncloud/core/doc/admin/_sources/apps/user_ldap -#srv/web/owncloud/core/doc/admin/_sources/apps/user_ldap/index.txt -#srv/web/owncloud/core/doc/admin/_sources/apps/viewers -#srv/web/owncloud/core/doc/admin/_sources/apps/viewers/index.txt -#srv/web/owncloud/core/doc/admin/_sources/config -#srv/web/owncloud/core/doc/admin/_sources/config/apps.txt -#srv/web/owncloud/core/doc/admin/_sources/config/code_locations.txt -#srv/web/owncloud/core/doc/admin/_sources/config/default_parameters.txt -#srv/web/owncloud/core/doc/admin/_sources/config/deleted_items.txt -#srv/web/owncloud/core/doc/admin/_sources/config/index.txt -#srv/web/owncloud/core/doc/admin/_sources/config/logging.txt -#srv/web/owncloud/core/doc/admin/_sources/config/mail_parameters.txt -#srv/web/owncloud/core/doc/admin/_sources/config/maintenance.txt -#srv/web/owncloud/core/doc/admin/_sources/config/miscellaneous.txt -#srv/web/owncloud/core/doc/admin/_sources/config/previews.txt -#srv/web/owncloud/core/doc/admin/_sources/config/reverse_proxy_configurations.txt -#srv/web/owncloud/core/doc/admin/_sources/config/session_info.txt -#srv/web/owncloud/core/doc/admin/_sources/config/user_experience.txt -#srv/web/owncloud/core/doc/admin/_sources/config/verification.txt #srv/web/owncloud/core/doc/admin/_sources/configuration #srv/web/owncloud/core/doc/admin/_sources/configuration/auth_ldap.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/background_jobs.txt +#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration-antivirus.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_3rdparty.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_apps.txt +#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_assets.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_automation.txt +#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_config_sample_php.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_custom_clients.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_database.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_encryption.txt +#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_file_sharing.txt +#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_files_locking.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_knowledgebase.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_language.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_logging.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_mail.txt -#srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_maintenance.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_preview.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_reverseproxy.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/configuration_users.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/configuring_big_file_upload.txt +#srv/web/owncloud/core/doc/admin/_sources/configuration/configuring_documents.txt +#srv/web/owncloud/core/doc/admin/_sources/configuration/configuring_search.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/custom_mount_config.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/custom_mount_config_gui.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/custom_user_backend.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/index.txt +#srv/web/owncloud/core/doc/admin/_sources/configuration/server_to_server_managing.txt #srv/web/owncloud/core/doc/admin/_sources/configuration/xsendfile.txt #srv/web/owncloud/core/doc/admin/_sources/contents.txt -#srv/web/owncloud/core/doc/admin/_sources/cron -#srv/web/owncloud/core/doc/admin/_sources/cron/index.txt #srv/web/owncloud/core/doc/admin/_sources/index.txt #srv/web/owncloud/core/doc/admin/_sources/installation +#srv/web/owncloud/core/doc/admin/_sources/installation/configuration_hiawatha.txt +#srv/web/owncloud/core/doc/admin/_sources/installation/configuration_lighttpd.txt +#srv/web/owncloud/core/doc/admin/_sources/installation/configuration_nginx.txt +#srv/web/owncloud/core/doc/admin/_sources/installation/configuration_yaws.txt #srv/web/owncloud/core/doc/admin/_sources/installation/index.txt #srv/web/owncloud/core/doc/admin/_sources/installation/installation_appliance.txt #srv/web/owncloud/core/doc/admin/_sources/installation/installation_linux.txt @@ -9519,19 +9302,14 @@ srv/web/owncloud #srv/web/owncloud/core/doc/admin/_sources/issues/index.txt #srv/web/owncloud/core/doc/admin/_sources/maintenance #srv/web/owncloud/core/doc/admin/_sources/maintenance/backup.txt +#srv/web/owncloud/core/doc/admin/_sources/maintenance/convert_db.txt +#srv/web/owncloud/core/doc/admin/_sources/maintenance/enable_maintenance.txt #srv/web/owncloud/core/doc/admin/_sources/maintenance/index.txt #srv/web/owncloud/core/doc/admin/_sources/maintenance/migrating.txt #srv/web/owncloud/core/doc/admin/_sources/maintenance/restore.txt #srv/web/owncloud/core/doc/admin/_sources/maintenance/update.txt -#srv/web/owncloud/core/doc/admin/_sources/quota -#srv/web/owncloud/core/doc/admin/_sources/quota/index.txt -#srv/web/owncloud/core/doc/admin/_sources/sharing_api -#srv/web/owncloud/core/doc/admin/_sources/sharing_api/create_a_new_share.txt -#srv/web/owncloud/core/doc/admin/_sources/sharing_api/delete_share.txt -#srv/web/owncloud/core/doc/admin/_sources/sharing_api/get_all_shares.txt -#srv/web/owncloud/core/doc/admin/_sources/sharing_api/get_information_about_a_known_share.txt -#srv/web/owncloud/core/doc/admin/_sources/sharing_api/get_shares_from_a_specific_file_or_folder.txt -#srv/web/owncloud/core/doc/admin/_sources/sharing_api/index.txt +#srv/web/owncloud/core/doc/admin/_sources/maintenance/upgrade.txt +#srv/web/owncloud/core/doc/admin/_sources/whats_new_admin.txt #srv/web/owncloud/core/doc/admin/_static #srv/web/owncloud/core/doc/admin/_static/ajax-loader.gif #srv/web/owncloud/core/doc/admin/_static/basic.css @@ -9563,74 +9341,44 @@ srv/web/owncloud #srv/web/owncloud/core/doc/admin/_static/up-pressed.png #srv/web/owncloud/core/doc/admin/_static/up.png #srv/web/owncloud/core/doc/admin/_static/websupport.js -#srv/web/owncloud/core/doc/admin/apps -#srv/web/owncloud/core/doc/admin/apps/activity -#srv/web/owncloud/core/doc/admin/apps/activity/index.html -#srv/web/owncloud/core/doc/admin/apps/admin_dependencies_chk -#srv/web/owncloud/core/doc/admin/apps/admin_dependencies_chk/index.html -#srv/web/owncloud/core/doc/admin/apps/files_antivirus -#srv/web/owncloud/core/doc/admin/apps/files_antivirus/index.html -#srv/web/owncloud/core/doc/admin/apps/files_encryption -#srv/web/owncloud/core/doc/admin/apps/files_encryption/index.html -#srv/web/owncloud/core/doc/admin/apps/files_external -#srv/web/owncloud/core/doc/admin/apps/files_external/index.html -#srv/web/owncloud/core/doc/admin/apps/files_sharing -#srv/web/owncloud/core/doc/admin/apps/files_sharing/index.html -#srv/web/owncloud/core/doc/admin/apps/files_trashbin -#srv/web/owncloud/core/doc/admin/apps/files_trashbin/index.html -#srv/web/owncloud/core/doc/admin/apps/files_versions -#srv/web/owncloud/core/doc/admin/apps/files_versions/index.html -#srv/web/owncloud/core/doc/admin/apps/firstrunwizard -#srv/web/owncloud/core/doc/admin/apps/firstrunwizard/index.html -#srv/web/owncloud/core/doc/admin/apps/index.html -#srv/web/owncloud/core/doc/admin/apps/user_ldap -#srv/web/owncloud/core/doc/admin/apps/user_ldap/index.html -#srv/web/owncloud/core/doc/admin/apps/viewers -#srv/web/owncloud/core/doc/admin/apps/viewers/index.html -#srv/web/owncloud/core/doc/admin/config -#srv/web/owncloud/core/doc/admin/config/apps.html -#srv/web/owncloud/core/doc/admin/config/code_locations.html -#srv/web/owncloud/core/doc/admin/config/default_parameters.html -#srv/web/owncloud/core/doc/admin/config/deleted_items.html -#srv/web/owncloud/core/doc/admin/config/index.html -#srv/web/owncloud/core/doc/admin/config/logging.html -#srv/web/owncloud/core/doc/admin/config/mail_parameters.html -#srv/web/owncloud/core/doc/admin/config/maintenance.html -#srv/web/owncloud/core/doc/admin/config/miscellaneous.html -#srv/web/owncloud/core/doc/admin/config/previews.html -#srv/web/owncloud/core/doc/admin/config/reverse_proxy_configurations.html -#srv/web/owncloud/core/doc/admin/config/session_info.html -#srv/web/owncloud/core/doc/admin/config/user_experience.html -#srv/web/owncloud/core/doc/admin/config/verification.html #srv/web/owncloud/core/doc/admin/configuration #srv/web/owncloud/core/doc/admin/configuration/auth_ldap.html #srv/web/owncloud/core/doc/admin/configuration/background_jobs.html +#srv/web/owncloud/core/doc/admin/configuration/configuration-antivirus.html #srv/web/owncloud/core/doc/admin/configuration/configuration_3rdparty.html #srv/web/owncloud/core/doc/admin/configuration/configuration_apps.html +#srv/web/owncloud/core/doc/admin/configuration/configuration_assets.html #srv/web/owncloud/core/doc/admin/configuration/configuration_automation.html +#srv/web/owncloud/core/doc/admin/configuration/configuration_config_sample_php.html #srv/web/owncloud/core/doc/admin/configuration/configuration_custom_clients.html #srv/web/owncloud/core/doc/admin/configuration/configuration_database.html #srv/web/owncloud/core/doc/admin/configuration/configuration_encryption.html +#srv/web/owncloud/core/doc/admin/configuration/configuration_file_sharing.html +#srv/web/owncloud/core/doc/admin/configuration/configuration_files_locking.html #srv/web/owncloud/core/doc/admin/configuration/configuration_knowledgebase.html #srv/web/owncloud/core/doc/admin/configuration/configuration_language.html #srv/web/owncloud/core/doc/admin/configuration/configuration_logging.html #srv/web/owncloud/core/doc/admin/configuration/configuration_mail.html -#srv/web/owncloud/core/doc/admin/configuration/configuration_maintenance.html #srv/web/owncloud/core/doc/admin/configuration/configuration_preview.html #srv/web/owncloud/core/doc/admin/configuration/configuration_reverseproxy.html #srv/web/owncloud/core/doc/admin/configuration/configuration_users.html #srv/web/owncloud/core/doc/admin/configuration/configuring_big_file_upload.html +#srv/web/owncloud/core/doc/admin/configuration/configuring_documents.html +#srv/web/owncloud/core/doc/admin/configuration/configuring_search.html #srv/web/owncloud/core/doc/admin/configuration/custom_mount_config.html #srv/web/owncloud/core/doc/admin/configuration/custom_mount_config_gui.html #srv/web/owncloud/core/doc/admin/configuration/custom_user_backend.html #srv/web/owncloud/core/doc/admin/configuration/index.html +#srv/web/owncloud/core/doc/admin/configuration/server_to_server_managing.html #srv/web/owncloud/core/doc/admin/configuration/xsendfile.html #srv/web/owncloud/core/doc/admin/contents.html -#srv/web/owncloud/core/doc/admin/cron -#srv/web/owncloud/core/doc/admin/cron/index.html #srv/web/owncloud/core/doc/admin/genindex.html #srv/web/owncloud/core/doc/admin/index.html #srv/web/owncloud/core/doc/admin/installation +#srv/web/owncloud/core/doc/admin/installation/configuration_hiawatha.html +#srv/web/owncloud/core/doc/admin/installation/configuration_lighttpd.html +#srv/web/owncloud/core/doc/admin/installation/configuration_nginx.html +#srv/web/owncloud/core/doc/admin/installation/configuration_yaws.html #srv/web/owncloud/core/doc/admin/installation/index.html #srv/web/owncloud/core/doc/admin/installation/installation_appliance.html #srv/web/owncloud/core/doc/admin/installation/installation_linux.html @@ -9644,70 +9392,58 @@ srv/web/owncloud #srv/web/owncloud/core/doc/admin/issues/index.html #srv/web/owncloud/core/doc/admin/maintenance #srv/web/owncloud/core/doc/admin/maintenance/backup.html +#srv/web/owncloud/core/doc/admin/maintenance/convert_db.html +#srv/web/owncloud/core/doc/admin/maintenance/enable_maintenance.html #srv/web/owncloud/core/doc/admin/maintenance/index.html #srv/web/owncloud/core/doc/admin/maintenance/migrating.html #srv/web/owncloud/core/doc/admin/maintenance/restore.html #srv/web/owncloud/core/doc/admin/maintenance/update.html +#srv/web/owncloud/core/doc/admin/maintenance/upgrade.html #srv/web/owncloud/core/doc/admin/objects.inv -#srv/web/owncloud/core/doc/admin/quota -#srv/web/owncloud/core/doc/admin/quota/index.html #srv/web/owncloud/core/doc/admin/search.html #srv/web/owncloud/core/doc/admin/searchindex.js -#srv/web/owncloud/core/doc/admin/sharing_api -#srv/web/owncloud/core/doc/admin/sharing_api/create_a_new_share.html -#srv/web/owncloud/core/doc/admin/sharing_api/delete_share.html -#srv/web/owncloud/core/doc/admin/sharing_api/get_all_shares.html -#srv/web/owncloud/core/doc/admin/sharing_api/get_information_about_a_known_share.html -#srv/web/owncloud/core/doc/admin/sharing_api/get_shares_from_a_specific_file_or_folder.html -#srv/web/owncloud/core/doc/admin/sharing_api/index.html +#srv/web/owncloud/core/doc/admin/whats_new_admin.html #srv/web/owncloud/core/doc/user #srv/web/owncloud/core/doc/user/_images -#srv/web/owncloud/core/doc/user/_images/1000000000000163000000E9CDA84C92.png -#srv/web/owncloud/core/doc/user/_images/1000000000000175000000FAB2A2B294.png -#srv/web/owncloud/core/doc/user/_images/1000000000000195000000EF7E44082C.png -#srv/web/owncloud/core/doc/user/_images/10000000000001CE000000F2E2084BA1.png -#srv/web/owncloud/core/doc/user/_images/100000000000041D0000003D52225C0D.png -#srv/web/owncloud/core/doc/user/_images/1000000000000453000001BFFCF48776.png -#srv/web/owncloud/core/doc/user/_images/1000000000000467000002B63162E59B.png -#srv/web/owncloud/core/doc/user/_images/10000000000004690000026615360BEB.png -#srv/web/owncloud/core/doc/user/_images/100000000000046D0000015F4B5494A9.png -#srv/web/owncloud/core/doc/user/_images/100000000000046F000000DEA2BFCD9B.png -#srv/web/owncloud/core/doc/user/_images/1000000000000470000001B68AE60DD3.png -#srv/web/owncloud/core/doc/user/_images/10000000000004710000014BBC34499D.png -#srv/web/owncloud/core/doc/user/_images/100000000000047200000129CB014025.png -#srv/web/owncloud/core/doc/user/_images/100000000000047700000219A3013A92.png -#srv/web/owncloud/core/doc/user/_images/1000000000000479000002887E7F48EA.png -#srv/web/owncloud/core/doc/user/_images/100000000000047A000000B727198874.png -#srv/web/owncloud/core/doc/user/_images/100000000000047A000000FB86FF2A9A.png -#srv/web/owncloud/core/doc/user/_images/100000000000047A0000011C6682A254.png -#srv/web/owncloud/core/doc/user/_images/100000000000048100000245268CDB7A.png #srv/web/owncloud/core/doc/user/_images/bookmark_addurl.png #srv/web/owncloud/core/doc/user/_images/bookmark_setting.png -#srv/web/owncloud/core/doc/user/_images/calendar_createevent.png +#srv/web/owncloud/core/doc/user/_images/calendar_create_event.png +#srv/web/owncloud/core/doc/user/_images/calendar_create_event_repeat.png +#srv/web/owncloud/core/doc/user/_images/calendar_create_event_share.png +#srv/web/owncloud/core/doc/user/_images/calendar_create_new.png +#srv/web/owncloud/core/doc/user/_images/calendar_default.png +#srv/web/owncloud/core/doc/user/_images/calendar_edit_event.png #srv/web/owncloud/core/doc/user/_images/calendar_export.png #srv/web/owncloud/core/doc/user/_images/calendar_import.png -#srv/web/owncloud/core/doc/user/_images/calendar_manage-calendars.png #srv/web/owncloud/core/doc/user/_images/calendar_newtimezone1.png +#srv/web/owncloud/core/doc/user/_images/calendar_settings.png +#srv/web/owncloud/core/doc/user/_images/contact_address_book_add.png #srv/web/owncloud/core/doc/user/_images/contact_bottombar.png #srv/web/owncloud/core/doc/user/_images/contact_crop.jpg -#srv/web/owncloud/core/doc/user/_images/contact_del_ab.png -#srv/web/owncloud/core/doc/user/_images/contact_emptycontact.png -#srv/web/owncloud/core/doc/user/_images/contact_picture.jpg +#srv/web/owncloud/core/doc/user/_images/contact_new.png +#srv/web/owncloud/core/doc/user/_images/contact_picture.png +#srv/web/owncloud/core/doc/user/_images/contact_picture_default.png #srv/web/owncloud/core/doc/user/_images/contact_syncopt.jpg #srv/web/owncloud/core/doc/user/_images/contact_thunderbird-Symbol_Gear.jpg #srv/web/owncloud/core/doc/user/_images/contact_thunderbird-Symbol_Impeller.jpg #srv/web/owncloud/core/doc/user/_images/contact_thunderbird-URL_config.jpg #srv/web/owncloud/core/doc/user/_images/contact_uploadbutton.png #srv/web/owncloud/core/doc/user/_images/contact_vcfpick.jpg +#srv/web/owncloud/core/doc/user/_images/contacts_empty.png +#srv/web/owncloud/core/doc/user/_images/contacts_settings.png +#srv/web/owncloud/core/doc/user/_images/deleted_files.png +#srv/web/owncloud/core/doc/user/_images/documents_personal_settings.png #srv/web/owncloud/core/doc/user/_images/dolphin_webdav.png +#srv/web/owncloud/core/doc/user/_images/download.png +#srv/web/owncloud/core/doc/user/_images/email_address_personal_settings.png +#srv/web/owncloud/core/doc/user/_images/encryption1.png +#srv/web/owncloud/core/doc/user/_images/encryption2.png +#srv/web/owncloud/core/doc/user/_images/encryption3.png +#srv/web/owncloud/core/doc/user/_images/encryption4.png +#srv/web/owncloud/core/doc/user/_images/event_export.png #srv/web/owncloud/core/doc/user/_images/explorer_webdav.png -#srv/web/owncloud/core/doc/user/_images/external_google_drive_1_sign_in.png -#srv/web/owncloud/core/doc/user/_images/external_google_drive_2_verify.png -#srv/web/owncloud/core/doc/user/_images/external_google_drive_3_create_project.png -#srv/web/owncloud/core/doc/user/_images/external_google_drive_4_enable_api.png -#srv/web/owncloud/core/doc/user/_images/external_google_drive_5_setup_ownCloud.png -#srv/web/owncloud/core/doc/user/_images/external_google_drive_6_accept.png #srv/web/owncloud/core/doc/user/_images/files_versioning.png +#srv/web/owncloud/core/doc/user/_images/full_name.png #srv/web/owncloud/core/doc/user/_images/gnome3_nautilus_webdav.png #srv/web/owncloud/core/doc/user/_images/kdes.png #srv/web/owncloud/core/doc/user/_images/kdes1.png @@ -9718,19 +9454,36 @@ srv/web/owncloud #srv/web/owncloud/core/doc/user/_images/kdes6.png #srv/web/owncloud/core/doc/user/_images/kdes7.png #srv/web/owncloud/core/doc/user/_images/kdes9.png +#srv/web/owncloud/core/doc/user/_images/language_personal_settings.png +#srv/web/owncloud/core/doc/user/_images/notifications_personal_settings.png #srv/web/owncloud/core/doc/user/_images/oc_connect.png #srv/web/owncloud/core/doc/user/_images/oc_documents.png #srv/web/owncloud/core/doc/user/_images/oc_documents_col_edit.png #srv/web/owncloud/core/doc/user/_images/oc_documents_edit.png #srv/web/owncloud/core/doc/user/_images/oc_documents_share.png -#srv/web/owncloud/core/doc/user/_images/oc_files_share.png -#srv/web/owncloud/core/doc/user/_images/oc_filesweb.png #srv/web/owncloud/core/doc/user/_images/oc_filesweb_navigate.png #srv/web/owncloud/core/doc/user/_images/oc_filesweb_new.png -#srv/web/owncloud/core/doc/user/_images/oc_ui.png -#srv/web/owncloud/core/doc/user/_images/oc_user_preferences.png +#srv/web/owncloud/core/doc/user/_images/oc_main_web.png +#srv/web/owncloud/core/doc/user/_images/oc_main_web_labelled.png +#srv/web/owncloud/core/doc/user/_images/oc_personal_settings_dropdown.png #srv/web/owncloud/core/doc/user/_images/osx_webdav1.png #srv/web/owncloud/core/doc/user/_images/osx_webdav2.png +#srv/web/owncloud/core/doc/user/_images/password_change.png +#srv/web/owncloud/core/doc/user/_images/personal_settings.png +#srv/web/owncloud/core/doc/user/_images/profile_picture_personal_settings.png +#srv/web/owncloud/core/doc/user/_images/quota1.png +#srv/web/owncloud/core/doc/user/_images/s2s-add-remote-share.png +#srv/web/owncloud/core/doc/user/_images/s2s-connect-to-remote-share.png +#srv/web/owncloud/core/doc/user/_images/s2s-create_public_share.png +#srv/web/owncloud/core/doc/user/_images/s2s-remote-share-labeled.png +#srv/web/owncloud/core/doc/user/_images/usage_indicator.png +#srv/web/owncloud/core/doc/user/_images/users-files.png +#srv/web/owncloud/core/doc/user/_images/users-overlays-sharepoint.png +#srv/web/owncloud/core/doc/user/_images/users-overlays-win-net-drive.png +#srv/web/owncloud/core/doc/user/_images/users-overlays.png +#srv/web/owncloud/core/doc/user/_images/users-share-local.png +#srv/web/owncloud/core/doc/user/_images/users-share-local2.png +#srv/web/owncloud/core/doc/user/_images/users-share-public.png #srv/web/owncloud/core/doc/user/_sources #srv/web/owncloud/core/doc/user/_sources/bookmarks.txt #srv/web/owncloud/core/doc/user/_sources/contents.txt @@ -9745,10 +9498,11 @@ srv/web/owncloud #srv/web/owncloud/core/doc/user/_sources/files/filesweb.txt #srv/web/owncloud/core/doc/user/_sources/files/index.txt #srv/web/owncloud/core/doc/user/_sources/files/quota.txt +#srv/web/owncloud/core/doc/user/_sources/files/server_to_server_using.txt #srv/web/owncloud/core/doc/user/_sources/files/sync.txt #srv/web/owncloud/core/doc/user/_sources/files/versioncontrol.txt #srv/web/owncloud/core/doc/user/_sources/index.txt -#srv/web/owncloud/core/doc/user/_sources/migration.txt +#srv/web/owncloud/core/doc/user/_sources/installing_apps.txt #srv/web/owncloud/core/doc/user/_sources/pim #srv/web/owncloud/core/doc/user/_sources/pim/calendar.txt #srv/web/owncloud/core/doc/user/_sources/pim/contacts.txt @@ -9759,9 +9513,8 @@ srv/web/owncloud #srv/web/owncloud/core/doc/user/_sources/pim/sync_thunderbird.txt #srv/web/owncloud/core/doc/user/_sources/pim/troubleshooting.txt #srv/web/owncloud/core/doc/user/_sources/userpreferences.txt -#srv/web/owncloud/core/doc/user/_sources/web_guide -#srv/web/owncloud/core/doc/user/_sources/web_guide/index.txt #srv/web/owncloud/core/doc/user/_sources/webinterface.txt +#srv/web/owncloud/core/doc/user/_sources/whats_new.txt #srv/web/owncloud/core/doc/user/_static #srv/web/owncloud/core/doc/user/_static/ajax-loader.gif #srv/web/owncloud/core/doc/user/_static/basic.css @@ -9806,11 +9559,12 @@ srv/web/owncloud #srv/web/owncloud/core/doc/user/files/filesweb.html #srv/web/owncloud/core/doc/user/files/index.html #srv/web/owncloud/core/doc/user/files/quota.html +#srv/web/owncloud/core/doc/user/files/server_to_server_using.html #srv/web/owncloud/core/doc/user/files/sync.html #srv/web/owncloud/core/doc/user/files/versioncontrol.html #srv/web/owncloud/core/doc/user/genindex.html #srv/web/owncloud/core/doc/user/index.html -#srv/web/owncloud/core/doc/user/migration.html +#srv/web/owncloud/core/doc/user/installing_apps.html #srv/web/owncloud/core/doc/user/objects.inv #srv/web/owncloud/core/doc/user/pim #srv/web/owncloud/core/doc/user/pim/calendar.html @@ -9824,9 +9578,8 @@ srv/web/owncloud #srv/web/owncloud/core/doc/user/search.html #srv/web/owncloud/core/doc/user/searchindex.js #srv/web/owncloud/core/doc/user/userpreferences.html -#srv/web/owncloud/core/doc/user/web_guide -#srv/web/owncloud/core/doc/user/web_guide/index.html #srv/web/owncloud/core/doc/user/webinterface.html +#srv/web/owncloud/core/doc/user/whats_new.html #srv/web/owncloud/core/fonts #srv/web/owncloud/core/fonts/LICENSE.txt #srv/web/owncloud/core/fonts/OpenSans-Bold.woff @@ -9890,6 +9643,8 @@ srv/web/owncloud #srv/web/owncloud/core/img/actions/public.svg #srv/web/owncloud/core/img/actions/rename.png #srv/web/owncloud/core/img/actions/rename.svg +#srv/web/owncloud/core/img/actions/search-white.png +#srv/web/owncloud/core/img/actions/search-white.svg #srv/web/owncloud/core/img/actions/search.png #srv/web/owncloud/core/img/actions/search.svg #srv/web/owncloud/core/img/actions/settings.png @@ -10083,7 +9838,63 @@ srv/web/owncloud #srv/web/owncloud/core/js/octemplate.js #srv/web/owncloud/core/js/placeholder.js #srv/web/owncloud/core/js/placeholders.js +#srv/web/owncloud/core/js/select2 +#srv/web/owncloud/core/js/select2/LICENSE +#srv/web/owncloud/core/js/select2/README.md +#srv/web/owncloud/core/js/select2/bower.json +#srv/web/owncloud/core/js/select2/component.json +#srv/web/owncloud/core/js/select2/composer.json +#srv/web/owncloud/core/js/select2/package.json +#srv/web/owncloud/core/js/select2/release.sh +#srv/web/owncloud/core/js/select2/select2-bootstrap.css +#srv/web/owncloud/core/js/select2/select2.jquery.json +#srv/web/owncloud/core/js/select2/select2.js +#srv/web/owncloud/core/js/select2/select2_locale_ar.js +#srv/web/owncloud/core/js/select2/select2_locale_bg.js +#srv/web/owncloud/core/js/select2/select2_locale_ca.js +#srv/web/owncloud/core/js/select2/select2_locale_cs.js +#srv/web/owncloud/core/js/select2/select2_locale_da.js +#srv/web/owncloud/core/js/select2/select2_locale_de.js +#srv/web/owncloud/core/js/select2/select2_locale_el.js +#srv/web/owncloud/core/js/select2/select2_locale_en.js.template +#srv/web/owncloud/core/js/select2/select2_locale_es.js +#srv/web/owncloud/core/js/select2/select2_locale_et.js +#srv/web/owncloud/core/js/select2/select2_locale_eu.js +#srv/web/owncloud/core/js/select2/select2_locale_fa.js +#srv/web/owncloud/core/js/select2/select2_locale_fi.js +#srv/web/owncloud/core/js/select2/select2_locale_fr.js +#srv/web/owncloud/core/js/select2/select2_locale_gl.js +#srv/web/owncloud/core/js/select2/select2_locale_he.js +#srv/web/owncloud/core/js/select2/select2_locale_hr.js +#srv/web/owncloud/core/js/select2/select2_locale_hu.js +#srv/web/owncloud/core/js/select2/select2_locale_id.js +#srv/web/owncloud/core/js/select2/select2_locale_is.js +#srv/web/owncloud/core/js/select2/select2_locale_it.js +#srv/web/owncloud/core/js/select2/select2_locale_ja.js +#srv/web/owncloud/core/js/select2/select2_locale_ka.js +#srv/web/owncloud/core/js/select2/select2_locale_ko.js +#srv/web/owncloud/core/js/select2/select2_locale_lt.js +#srv/web/owncloud/core/js/select2/select2_locale_lv.js +#srv/web/owncloud/core/js/select2/select2_locale_mk.js +#srv/web/owncloud/core/js/select2/select2_locale_ms.js +#srv/web/owncloud/core/js/select2/select2_locale_nl.js +#srv/web/owncloud/core/js/select2/select2_locale_no.js +#srv/web/owncloud/core/js/select2/select2_locale_pl.js +#srv/web/owncloud/core/js/select2/select2_locale_pt-BR.js +#srv/web/owncloud/core/js/select2/select2_locale_pt-PT.js +#srv/web/owncloud/core/js/select2/select2_locale_ro.js +#srv/web/owncloud/core/js/select2/select2_locale_rs.js +#srv/web/owncloud/core/js/select2/select2_locale_ru.js +#srv/web/owncloud/core/js/select2/select2_locale_sk.js +#srv/web/owncloud/core/js/select2/select2_locale_sv.js +#srv/web/owncloud/core/js/select2/select2_locale_th.js +#srv/web/owncloud/core/js/select2/select2_locale_tr.js +#srv/web/owncloud/core/js/select2/select2_locale_uk.js +#srv/web/owncloud/core/js/select2/select2_locale_vi.js +#srv/web/owncloud/core/js/select2/select2_locale_zh-CN.js +#srv/web/owncloud/core/js/select2/select2_locale_zh-TW.js #srv/web/owncloud/core/js/setup.js +#srv/web/owncloud/core/js/setupchecks.js #srv/web/owncloud/core/js/share.js #srv/web/owncloud/core/js/singleselect.js #srv/web/owncloud/core/js/snap.js @@ -10269,6 +10080,7 @@ srv/web/owncloud #srv/web/owncloud/core/templates/message.html #srv/web/owncloud/core/templates/singleuser.user.php #srv/web/owncloud/core/templates/tags.html +#srv/web/owncloud/core/templates/untrustedDomain.php #srv/web/owncloud/core/templates/update.admin.php #srv/web/owncloud/core/templates/update.user.php #srv/web/owncloud/cron.php @@ -11920,11 +11732,14 @@ srv/web/owncloud #srv/web/owncloud/lib/private/connector/sabre/quotaplugin.php #srv/web/owncloud/lib/private/connector/sabre/request.php #srv/web/owncloud/lib/private/connector/sabre/server.php +#srv/web/owncloud/lib/private/contacts +#srv/web/owncloud/lib/private/contacts/localaddressbook.php #srv/web/owncloud/lib/private/contactsmanager.php #srv/web/owncloud/lib/private/davclient.php #srv/web/owncloud/lib/private/db #srv/web/owncloud/lib/private/db.php #srv/web/owncloud/lib/private/db/adapter.php +#srv/web/owncloud/lib/private/db/adaptermysql.php #srv/web/owncloud/lib/private/db/adapteroci8.php #srv/web/owncloud/lib/private/db/adapterpgsql.php #srv/web/owncloud/lib/private/db/adaptersqlite.php @@ -11937,12 +11752,14 @@ srv/web/owncloud #srv/web/owncloud/lib/private/db/mdb2schemawriter.php #srv/web/owncloud/lib/private/db/migrationexception.php #srv/web/owncloud/lib/private/db/migrator.php +#srv/web/owncloud/lib/private/db/mssqlmigrator.php #srv/web/owncloud/lib/private/db/mysqlmigrator.php #srv/web/owncloud/lib/private/db/nocheckmigrator.php #srv/web/owncloud/lib/private/db/oracleconnection.php #srv/web/owncloud/lib/private/db/oraclemigrator.php #srv/web/owncloud/lib/private/db/pgsqltools.php #srv/web/owncloud/lib/private/db/sqlitemigrator.php +#srv/web/owncloud/lib/private/db/sqlitesessioninit.php #srv/web/owncloud/lib/private/db/statementwrapper.php #srv/web/owncloud/lib/private/defaults.php #srv/web/owncloud/lib/private/eventsource.php @@ -12025,6 +11842,7 @@ srv/web/owncloud #srv/web/owncloud/lib/private/hooks/forwardingemitter.php #srv/web/owncloud/lib/private/hooks/legacyemitter.php #srv/web/owncloud/lib/private/hooks/publicemitter.php +#srv/web/owncloud/lib/private/httphelper.php #srv/web/owncloud/lib/private/image.php #srv/web/owncloud/lib/private/installer.php #srv/web/owncloud/lib/private/json.php @@ -12065,6 +11883,7 @@ srv/web/owncloud #srv/web/owncloud/lib/private/migration/provider.php #srv/web/owncloud/lib/private/mimetypes.list.php #srv/web/owncloud/lib/private/navigationmanager.php +#srv/web/owncloud/lib/private/needsupdateexception.php #srv/web/owncloud/lib/private/notsquareexception.php #srv/web/owncloud/lib/private/ocs #srv/web/owncloud/lib/private/ocs.php @@ -12086,7 +11905,6 @@ srv/web/owncloud #srv/web/owncloud/lib/private/preview/provider.php #srv/web/owncloud/lib/private/preview/svg.php #srv/web/owncloud/lib/private/preview/txt.php -#srv/web/owncloud/lib/private/preview/unknown.php #srv/web/owncloud/lib/private/previewmanager.php #srv/web/owncloud/lib/private/repair.php #srv/web/owncloud/lib/private/repairstep.php @@ -12106,6 +11924,7 @@ srv/web/owncloud #srv/web/owncloud/lib/private/search/result/folder.php #srv/web/owncloud/lib/private/search/result/image.php #srv/web/owncloud/lib/private/server.php +#srv/web/owncloud/lib/private/serviceunavailableexception.php #srv/web/owncloud/lib/private/session #srv/web/owncloud/lib/private/session/internal.php #srv/web/owncloud/lib/private/session/memory.php @@ -12224,6 +12043,8 @@ srv/web/owncloud #srv/web/owncloud/lib/public/icontainer.php #srv/web/owncloud/lib/public/idb.php #srv/web/owncloud/lib/public/idbconnection.php +#srv/web/owncloud/lib/public/igroup.php +#srv/web/owncloud/lib/public/igroupmanager.php #srv/web/owncloud/lib/public/ihelper.php #srv/web/owncloud/lib/public/il10n.php #srv/web/owncloud/lib/public/ilogger.php @@ -12256,7 +12077,9 @@ srv/web/owncloud #srv/web/owncloud/lib/repair #srv/web/owncloud/lib/repair/collation.php #srv/web/owncloud/lib/repair/innodb.php +#srv/web/owncloud/lib/repair/preview.php #srv/web/owncloud/lib/repair/repairmimetypes.php +#srv/web/owncloud/lib/repair/searchlucenetables.php #srv/web/owncloud/occ #srv/web/owncloud/ocs #srv/web/owncloud/ocs/providers.php @@ -12275,20 +12098,19 @@ srv/web/owncloud #srv/web/owncloud/search/templates #srv/web/owncloud/search/templates/part.results.php #srv/web/owncloud/settings -#srv/web/owncloud/settings/admin #srv/web/owncloud/settings/admin.php -#srv/web/owncloud/settings/admin/controller.php #srv/web/owncloud/settings/ajax #srv/web/owncloud/settings/ajax/apps #srv/web/owncloud/settings/ajax/apps/ocs.php #srv/web/owncloud/settings/ajax/changedisplayname.php +#srv/web/owncloud/settings/ajax/checksetup.php #srv/web/owncloud/settings/ajax/creategroup.php #srv/web/owncloud/settings/ajax/createuser.php #srv/web/owncloud/settings/ajax/decryptall.php #srv/web/owncloud/settings/ajax/deletekeys.php #srv/web/owncloud/settings/ajax/disableapp.php #srv/web/owncloud/settings/ajax/enableapp.php -#srv/web/owncloud/settings/ajax/excludegroups.php +#srv/web/owncloud/settings/ajax/geteveryonecount.php #srv/web/owncloud/settings/ajax/getlog.php #srv/web/owncloud/settings/ajax/grouplist.php #srv/web/owncloud/settings/ajax/installapp.php @@ -12306,9 +12128,12 @@ srv/web/owncloud #srv/web/owncloud/settings/ajax/uninstallapp.php #srv/web/owncloud/settings/ajax/updateapp.php #srv/web/owncloud/settings/ajax/userlist.php +#srv/web/owncloud/settings/application.php #srv/web/owncloud/settings/apps.php #srv/web/owncloud/settings/changepassword #srv/web/owncloud/settings/changepassword/controller.php +#srv/web/owncloud/settings/controller +#srv/web/owncloud/settings/controller/mailsettingscontroller.php #srv/web/owncloud/settings/css #srv/web/owncloud/settings/css/settings.css #srv/web/owncloud/settings/help.php @@ -12330,6 +12155,7 @@ srv/web/owncloud #srv/web/owncloud/settings/js/apps.js #srv/web/owncloud/settings/js/log.js #srv/web/owncloud/settings/js/personal.js +#srv/web/owncloud/settings/js/settings.js #srv/web/owncloud/settings/js/users #srv/web/owncloud/settings/js/users/deleteHandler.js #srv/web/owncloud/settings/js/users/filter.js @@ -12434,6 +12260,10 @@ srv/web/owncloud #srv/web/owncloud/settings/templates/users/part.grouplist.php #srv/web/owncloud/settings/templates/users/part.setquota.php #srv/web/owncloud/settings/templates/users/part.userlist.php +#srv/web/owncloud/settings/tests +#srv/web/owncloud/settings/tests/js +#srv/web/owncloud/settings/tests/js/users +#srv/web/owncloud/settings/tests/js/users/deleteHandlerSpec.js #srv/web/owncloud/settings/users.php #srv/web/owncloud/status.php #srv/web/owncloud/themes diff --git a/config/rootfiles/packages/sqlite b/config/rootfiles/packages/sqlite deleted file mode 100644 index f3b0b36..0000000 --- a/config/rootfiles/packages/sqlite +++ /dev/null @@ -1,10 +0,0 @@ -usr/bin/sqlite3 -#usr/include/sqlite3.h -#usr/include/sqlite3ext.h -#usr/lib/libsqlite3.a -#usr/lib/libsqlite3.la -usr/lib/libsqlite3.so -usr/lib/libsqlite3.so.0 -usr/lib/libsqlite3.so.0.8.6 -#usr/lib/pkgconfig/sqlite3.pc -#usr/share/man/man1/sqlite3.1 diff --git a/config/rootfiles/packages/teamspeak b/config/rootfiles/packages/teamspeak deleted file mode 100644 index b7c2358..0000000 --- a/config/rootfiles/packages/teamspeak +++ /dev/null @@ -1,3 +0,0 @@ -etc/rc.d/init.d/teamspeak -opt/teamspeak -var/ipfire/backup/addons/includes/teamspeak diff --git a/config/strongswan/charon.conf b/config/strongswan/charon.conf new file mode 100644 index 0000000..a5ff0be --- /dev/null +++ b/config/strongswan/charon.conf @@ -0,0 +1,302 @@ +# Options for the charon IKE daemon. +charon { + # Accept unencrypted ID and HASH payloads in IKEv1 Main Mode. + accept_unencrypted_mainmode_messages = yes + + # Maximum number of half-open IKE_SAs for a single peer IP. + # block_threshold = 5 + + # Whether relations in validated certificate chains should be cached in + # memory. + # cert_cache = yes + + # Send Cisco Unity vendor ID payload (IKEv1 only). + cisco_unity = yes + + # Close the IKE_SA if setup of the CHILD_SA along with IKE_AUTH failed. + # close_ike_on_child_failure = no + + # Number of half-open IKE_SAs that activate the cookie mechanism. + # cookie_threshold = 10 + + # Use ANSI X9.42 DH exponent size or optimum size matched to cryptographic + # strength. + # dh_exponent_ansi_x9_42 = yes + + # DNS server assigned to peer via configuration payload (CP). + # dns1 = + + # DNS server assigned to peer via configuration payload (CP). + # dns2 = + + # Enable Denial of Service protection using cookies and aggressiveness + # checks. + # dos_protection = yes + + # Compliance with the errata for RFC 4753. + # ecp_x_coordinate_only = yes + + # Free objects during authentication (might conflict with plugins). + # flush_auth_cfg = no + + # Maximum size (complete IP datagram size in bytes) of a sent IKE fragment + # when using proprietary IKEv1 or standardized IKEv2 fragmentation (0 for + # address family specific default values). If specified this limit is + # used for both IPv4 and IPv6. + # fragment_size = 0 + + # Name of the group the daemon changes to after startup. + # group = + + # Timeout in seconds for connecting IKE_SAs (also see IKE_SA_INIT DROPPING). + # half_open_timeout = 30 + + # Enable hash and URL support. + # hash_and_url = no + + # Allow IKEv1 Aggressive Mode with pre-shared keys as responder. + # i_dont_care_about_security_and_use_aggressive_mode_psk = no + + # A space-separated list of routing tables to be excluded from route + # lookups. + # ignore_routing_tables = + + # Maximum number of IKE_SAs that can be established at the same time before + # new connection attempts are blocked. + # ikesa_limit = 0 + + # Number of exclusively locked segments in the hash table. + ikesa_table_segments = 4 + + # Size of the IKE_SA hash table. + ikesa_table_size = 32 + + # Whether to close IKE_SA if the only CHILD_SA closed due to inactivity. + # inactivity_close_ike = no + + # Limit new connections based on the current number of half open IKE_SAs, + # see IKE_SA_INIT DROPPING in strongswan.conf(5). + init_limit_half_open = 1000 + + # Limit new connections based on the number of queued jobs. + # init_limit_job_load = 0 + + # Causes charon daemon to ignore IKE initiation requests. + # initiator_only = no + + # Install routes into a separate routing table for established IPsec + # tunnels. + # install_routes = yes + + # Install virtual IP addresses. + # install_virtual_ip = yes + + # The name of the interface on which virtual IP addresses should be + # installed. + # install_virtual_ip_on = + + # Check daemon, libstrongswan and plugin integrity at startup. + # integrity_test = no + + # A comma-separated list of network interfaces that should be ignored, if + # interfaces_use is specified this option has no effect. + # interfaces_ignore = + + # A comma-separated list of network interfaces that should be used by + # charon. All other interfaces are ignored. + # interfaces_use = + + # NAT keep alive interval. + # keep_alive = 20s + + # Plugins to load in the IKE daemon charon. + # load = + + # Determine plugins to load via each plugin's load option. + # load_modular = no + + # Maximum packet size accepted by charon. + # max_packet = 10000 + + # Enable multiple authentication exchanges (RFC 4739). + # multiple_authentication = yes + + # WINS servers assigned to peer via configuration payload (CP). + # nbns1 = + + # WINS servers assigned to peer via configuration payload (CP). + # nbns2 = + + # UDP port used locally. If set to 0 a random port will be allocated. + # port = 500 + + # UDP port used locally in case of NAT-T. If set to 0 a random port will be + # allocated. Has to be different from charon.port, otherwise a random port + # will be allocated. + # port_nat_t = 4500 + + # By default public IPv6 addresses are preferred over temporary ones (RFC + # 4941), to make connections more stable. Enable this option to reverse + # this. + # prefer_temporary_addrs = no + + # Process RTM_NEWROUTE and RTM_DELROUTE events. + # process_route = yes + + # Delay in ms for receiving packets, to simulate larger RTT. + # receive_delay = 0 + + # Delay request messages. + # receive_delay_request = yes + + # Delay response messages. + # receive_delay_response = yes + + # Specific IKEv2 message type to delay, 0 for any. + # receive_delay_type = 0 + + # Size of the AH/ESP replay window, in packets. + # replay_window = 32 + + # Base to use for calculating exponential back off, see IKEv2 RETRANSMISSION + # in strongswan.conf(5). + # retransmit_base = 1.8 + + # Timeout in seconds before sending first retransmit. + # retransmit_timeout = 4.0 + + # Number of times to retransmit a packet before giving up. + # retransmit_tries = 5 + + # Interval to use when retrying to initiate an IKE_SA (e.g. if DNS + # resolution failed), 0 to disable retries. + # retry_initiate_interval = 0 + + # Initiate CHILD_SA within existing IKE_SAs. + # reuse_ikesa = yes + + # Numerical routing table to install routes to. + # routing_table = + + # Priority of the routing table. + # routing_table_prio = + + # Delay in ms for sending packets, to simulate larger RTT. + # send_delay = 0 + + # Delay request messages. + # send_delay_request = yes + + # Delay response messages. + # send_delay_response = yes + + # Specific IKEv2 message type to delay, 0 for any. + # send_delay_type = 0 + + # Send strongSwan vendor ID payload + # send_vendor_id = no + + # Number of worker threads in charon. + # threads = 16 + + # Name of the user the daemon changes to after startup. + # user = + + crypto_test { + + # Benchmark crypto algorithms and order them by efficiency. + # bench = no + + # Buffer size used for crypto benchmark. + # bench_size = 1024 + + # Number of iterations to test each algorithm. + # bench_time = 50 + + # Test crypto algorithms during registration (requires test vectors + # provided by the test-vectors plugin). + # on_add = no + + # Test crypto algorithms on each crypto primitive instantiation. + # on_create = no + + # Strictly require at least one test vector to enable an algorithm. + # required = no + + # Whether to test RNG with TRUE quality; requires a lot of entropy. + # rng_true = no + + } + + host_resolver { + + # Maximum number of concurrent resolver threads (they are terminated if + # unused). + # max_threads = 3 + + # Minimum number of resolver threads to keep around. + # min_threads = 0 + + } + + leak_detective { + + # Includes source file names and line numbers in leak detective output. + # detailed = yes + + # Threshold in bytes for leaks to be reported (0 to report all). + # usage_threshold = 10240 + + # Threshold in number of allocations for leaks to be reported (0 to + # report all). + # usage_threshold_count = 0 + + } + + processor { + + # Section to configure the number of reserved threads per priority class + # see JOB PRIORITY MANAGEMENT in strongswan.conf(5). + priority_threads { + + } + + } + + # Section containing a list of scripts (name = path) that are executed when + # the daemon is started. + start-scripts { + + } + + # Section containing a list of scripts (name = path) that are executed when + # the daemon is terminated. + stop-scripts { + + } + + tls { + + # List of TLS encryption ciphers. + # cipher = + + # List of TLS key exchange methods. + # key_exchange = + + # List of TLS MAC algorithms. + # mac = + + # List of TLS cipher suites. + # suites = + + } + + x509 { + + # Discard certificates with unsupported or unknown critical extensions. + # enforce_critical = yes + + } + +} + diff --git a/doc/language_issues.de b/doc/language_issues.de index 34afa73..e41f48b 100644 --- a/doc/language_issues.de +++ b/doc/language_issues.de @@ -632,6 +632,7 @@ WARNING: untranslated string: community rules WARNING: untranslated string: dead peer detection WARNING: untranslated string: emerging rules WARNING: untranslated string: fwhost err hostip +WARNING: untranslated string: no data WARNING: untranslated string: qos add subclass WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added diff --git a/doc/language_issues.en b/doc/language_issues.en index f50f01d..290da02 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -664,6 +664,7 @@ WARNING: translation string unused: yearly firewallhits WARNING: untranslated string: Scan for Songs WARNING: untranslated string: bytes WARNING: untranslated string: fwhost err hostip +WARNING: untranslated string: no data WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added WARNING: untranslated string: routing config changed diff --git a/doc/language_issues.es b/doc/language_issues.es index 4842ee2..c93d40c 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -864,10 +864,13 @@ WARNING: untranslated string: grouptype WARNING: untranslated string: hardware support WARNING: untranslated string: imei WARNING: untranslated string: imsi +WARNING: untranslated string: incoming compression in bytes per second WARNING: untranslated string: incoming firewall access +WARNING: untranslated string: incoming overhead in bytes per second WARNING: untranslated string: integrity WARNING: untranslated string: invalid input for dpd delay WARNING: untranslated string: invalid input for dpd timeout +WARNING: untranslated string: invalid input for valid till days WARNING: untranslated string: ipsec WARNING: untranslated string: ipsec network WARNING: untranslated string: last @@ -900,6 +903,7 @@ WARNING: untranslated string: modem status WARNING: untranslated string: monitor interface WARNING: untranslated string: most preferred WARNING: untranslated string: nameserver +WARNING: untranslated string: no data WARNING: untranslated string: no hardware random number generator WARNING: untranslated string: not a valid dh key WARNING: untranslated string: notice @@ -913,9 +917,12 @@ WARNING: untranslated string: openvpn prefix openvpn subnet WARNING: untranslated string: openvpn prefix remote subnet WARNING: untranslated string: openvpn subnet is used WARNING: untranslated string: other +WARNING: untranslated string: outgoing compression in bytes per second WARNING: untranslated string: outgoing firewall access WARNING: untranslated string: outgoing firewall p2p allow WARNING: untranslated string: outgoing firewall p2p deny +WARNING: untranslated string: outgoing overhead in bytes per second +WARNING: untranslated string: ovpn add conf WARNING: untranslated string: ovpn crypt options WARNING: untranslated string: ovpn dh WARNING: untranslated string: ovpn dh new key diff --git a/doc/language_issues.fr b/doc/language_issues.fr index a411de4..c1dedc5 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -875,10 +875,13 @@ WARNING: untranslated string: grouptype WARNING: untranslated string: hardware support WARNING: untranslated string: imei WARNING: untranslated string: imsi +WARNING: untranslated string: incoming compression in bytes per second WARNING: untranslated string: incoming firewall access +WARNING: untranslated string: incoming overhead in bytes per second WARNING: untranslated string: integrity WARNING: untranslated string: invalid input for dpd delay WARNING: untranslated string: invalid input for dpd timeout +WARNING: untranslated string: invalid input for valid till days WARNING: untranslated string: ipsec WARNING: untranslated string: ipsec network WARNING: untranslated string: last @@ -911,6 +914,7 @@ WARNING: untranslated string: modem status WARNING: untranslated string: monitor interface WARNING: untranslated string: most preferred WARNING: untranslated string: nameserver +WARNING: untranslated string: no data WARNING: untranslated string: no hardware random number generator WARNING: untranslated string: not a valid dh key WARNING: untranslated string: notice @@ -926,7 +930,10 @@ WARNING: untranslated string: openvpn prefix openvpn subnet WARNING: untranslated string: openvpn prefix remote subnet WARNING: untranslated string: openvpn subnet is used WARNING: untranslated string: other +WARNING: untranslated string: outgoing compression in bytes per second WARNING: untranslated string: outgoing firewall access +WARNING: untranslated string: outgoing overhead in bytes per second +WARNING: untranslated string: ovpn add conf WARNING: untranslated string: ovpn crypt options WARNING: untranslated string: ovpn dh WARNING: untranslated string: ovpn dh new key diff --git a/doc/language_issues.nl b/doc/language_issues.nl index bb17cc7..859cc1f 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -695,6 +695,9 @@ WARNING: untranslated string: gen dh WARNING: untranslated string: generate dh key WARNING: untranslated string: imei WARNING: untranslated string: imsi +WARNING: untranslated string: incoming compression in bytes per second +WARNING: untranslated string: incoming overhead in bytes per second +WARNING: untranslated string: invalid input for valid till days WARNING: untranslated string: masquerade blue WARNING: untranslated string: masquerade green WARNING: untranslated string: masquerade orange @@ -717,7 +720,11 @@ WARNING: untranslated string: modem sim information WARNING: untranslated string: modem status WARNING: untranslated string: monitor interface WARNING: untranslated string: nameserver +WARNING: untranslated string: no data WARNING: untranslated string: not a valid dh key +WARNING: untranslated string: outgoing compression in bytes per second +WARNING: untranslated string: outgoing overhead in bytes per second +WARNING: untranslated string: ovpn add conf WARNING: untranslated string: ovpn crypt options WARNING: untranslated string: ovpn dh WARNING: untranslated string: ovpn dh new key diff --git a/doc/language_issues.pl b/doc/language_issues.pl index 4842ee2..c93d40c 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -864,10 +864,13 @@ WARNING: untranslated string: grouptype WARNING: untranslated string: hardware support WARNING: untranslated string: imei WARNING: untranslated string: imsi +WARNING: untranslated string: incoming compression in bytes per second WARNING: untranslated string: incoming firewall access +WARNING: untranslated string: incoming overhead in bytes per second WARNING: untranslated string: integrity WARNING: untranslated string: invalid input for dpd delay WARNING: untranslated string: invalid input for dpd timeout +WARNING: untranslated string: invalid input for valid till days WARNING: untranslated string: ipsec WARNING: untranslated string: ipsec network WARNING: untranslated string: last @@ -900,6 +903,7 @@ WARNING: untranslated string: modem status WARNING: untranslated string: monitor interface WARNING: untranslated string: most preferred WARNING: untranslated string: nameserver +WARNING: untranslated string: no data WARNING: untranslated string: no hardware random number generator WARNING: untranslated string: not a valid dh key WARNING: untranslated string: notice @@ -913,9 +917,12 @@ WARNING: untranslated string: openvpn prefix openvpn subnet WARNING: untranslated string: openvpn prefix remote subnet WARNING: untranslated string: openvpn subnet is used WARNING: untranslated string: other +WARNING: untranslated string: outgoing compression in bytes per second WARNING: untranslated string: outgoing firewall access WARNING: untranslated string: outgoing firewall p2p allow WARNING: untranslated string: outgoing firewall p2p deny +WARNING: untranslated string: outgoing overhead in bytes per second +WARNING: untranslated string: ovpn add conf WARNING: untranslated string: ovpn crypt options WARNING: untranslated string: ovpn dh WARNING: untranslated string: ovpn dh new key diff --git a/doc/language_issues.ru b/doc/language_issues.ru index c471de9..17e3199 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -859,11 +859,14 @@ WARNING: untranslated string: grouptype WARNING: untranslated string: hardware support WARNING: untranslated string: imei WARNING: untranslated string: imsi +WARNING: untranslated string: incoming compression in bytes per second WARNING: untranslated string: incoming firewall access +WARNING: untranslated string: incoming overhead in bytes per second WARNING: untranslated string: incoming traffic in bytes per second WARNING: untranslated string: integrity WARNING: untranslated string: invalid input for dpd delay WARNING: untranslated string: invalid input for dpd timeout +WARNING: untranslated string: invalid input for valid till days WARNING: untranslated string: ipsec WARNING: untranslated string: ipsec network WARNING: untranslated string: last @@ -896,6 +899,7 @@ WARNING: untranslated string: modem status WARNING: untranslated string: monitor interface WARNING: untranslated string: most preferred WARNING: untranslated string: nameserver +WARNING: untranslated string: no data WARNING: untranslated string: no hardware random number generator WARNING: untranslated string: not a valid dh key WARNING: untranslated string: notice @@ -909,8 +913,11 @@ WARNING: untranslated string: openvpn prefix openvpn subnet WARNING: untranslated string: openvpn prefix remote subnet WARNING: untranslated string: openvpn subnet is used WARNING: untranslated string: other +WARNING: untranslated string: outgoing compression in bytes per second WARNING: untranslated string: outgoing firewall access +WARNING: untranslated string: outgoing overhead in bytes per second WARNING: untranslated string: outgoing traffic in bytes per second +WARNING: untranslated string: ovpn add conf WARNING: untranslated string: ovpn crypt options WARNING: untranslated string: ovpn dh WARNING: untranslated string: ovpn dh new key diff --git a/doc/language_issues.tr b/doc/language_issues.tr index f50f01d..0ebd398 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -664,6 +664,13 @@ WARNING: translation string unused: yearly firewallhits WARNING: untranslated string: Scan for Songs WARNING: untranslated string: bytes WARNING: untranslated string: fwhost err hostip +WARNING: untranslated string: incoming compression in bytes per second +WARNING: untranslated string: incoming overhead in bytes per second +WARNING: untranslated string: invalid input for valid till days +WARNING: untranslated string: no data +WARNING: untranslated string: outgoing compression in bytes per second +WARNING: untranslated string: outgoing overhead in bytes per second +WARNING: untranslated string: ovpn add conf WARNING: untranslated string: route config changed WARNING: untranslated string: routing config added WARNING: untranslated string: routing config changed diff --git a/doc/language_missings b/doc/language_missings index bf92851..05798b9 100644 --- a/doc/language_missings +++ b/doc/language_missings @@ -331,10 +331,13 @@ < hardware support < imei < imsi +< incoming compression in bytes per second < incoming firewall access +< incoming overhead in bytes per second < integrity < invalid input for dpd delay < invalid input for dpd timeout +< invalid input for valid till days < ipsec < ipsec network < ipsec no connections @@ -391,7 +394,10 @@ < openvpn subnet is used < other < our donors +< outgoing compression in bytes per second < outgoing firewall access +< outgoing overhead in bytes per second +< ovpn add conf < ovpn crypt options < ovpn dh < ovpn dh new key @@ -882,10 +888,13 @@ < hardware support < imei < imsi +< incoming compression in bytes per second < incoming firewall access +< incoming overhead in bytes per second < integrity < invalid input for dpd delay < invalid input for dpd timeout +< invalid input for valid till days < ipsec < ipsec network < ipsec no connections @@ -940,6 +949,7 @@ < openvpn subnet is used < other < our donors +< outgoing compression in bytes per second < outgoing firewall access < outgoing firewall add ip group < outgoing firewall add mac group @@ -955,6 +965,8 @@ < outgoing firewall p2p description 2 < outgoing firewall p2p description 3 < outgoing firewall view group +< outgoing overhead in bytes per second +< ovpn add conf < ovpn crypt options < ovpn dh < ovpn dh new key @@ -1417,10 +1429,13 @@ < hardware support < imei < imsi +< incoming compression in bytes per second < incoming firewall access +< incoming overhead in bytes per second < integrity < invalid input for dpd delay < invalid input for dpd timeout +< invalid input for valid till days < ipsec < ipsec network < ipsec no connections @@ -1475,7 +1490,10 @@ < openvpn subnet is used < other < our donors +< outgoing compression in bytes per second < outgoing firewall access +< outgoing overhead in bytes per second +< ovpn add conf < ovpn crypt options < ovpn dh < ovpn dh new key @@ -1942,11 +1960,14 @@ < hour-graph < imei < imsi +< incoming compression in bytes per second < incoming firewall access +< incoming overhead in bytes per second < incoming traffic in bytes per second < integrity < invalid input for dpd delay < invalid input for dpd timeout +< invalid input for valid till days < ipsec < ipsec network < ipsec no connections @@ -2002,8 +2023,11 @@ < openvpn subnet is used < other < our donors +< outgoing compression in bytes per second < outgoing firewall access +< outgoing overhead in bytes per second < outgoing traffic in bytes per second +< ovpn add conf < ovpn crypt options < ovpn dh < ovpn dh new key diff --git a/html/cgi-bin/ddns.cgi b/html/cgi-bin/ddns.cgi index 55841b2..ea30319 100644 --- a/html/cgi-bin/ddns.cgi +++ b/html/cgi-bin/ddns.cgi @@ -667,7 +667,7 @@ sub GenerateDDNSConfigFile { my $use_token = 0;
# Handle token based auth for various providers. - if ($provider ~~ ["dns.lightningwirelabs.com", "entrydns.net", "regfish.com"] && $username eq "token") { + if ($provider ~~ ["dns.lightningwirelabs.com", "entrydns.net", "regfish.com", "spdns.de"] && $username eq "token") { $use_token = 1;
# Handle token auth for freedns.afraid.org and regfish.com. diff --git a/html/cgi-bin/firewall.cgi b/html/cgi-bin/firewall.cgi index badee6b..39b732c 100644 --- a/html/cgi-bin/firewall.cgi +++ b/html/cgi-bin/firewall.cgi @@ -66,6 +66,7 @@ my %ipsecsettings=(); my %aliases=(); my %optionsfw=(); my %ifaces=(); +my %rulehash=();
my @PROTOCOLS = ("TCP", "UDP", "ICMP", "IGMP", "AH", "ESP", "GRE","IPv6","IPIP");
@@ -194,6 +195,7 @@ if ($fwdfwsettings{'ACTION'} eq 'saverule') &General::readhasharray("$configfwdfw", %configfwdfw); &General::readhasharray("$configinput", %configinputfw); &General::readhasharray("$configoutgoing", %configoutgoingfw); + my $maxkey; #Set Variables according to the JQuery code in protocol section if ($fwdfwsettings{'PROT'} eq 'TCP' || $fwdfwsettings{'PROT'} eq 'UDP') { @@ -230,157 +232,80 @@ if ($fwdfwsettings{'ACTION'} eq 'saverule') if( $fwdfwsettings{'grp1'} eq 'ipfire_src' && $fwdfwsettings{'grp2'} eq 'ipfire'){ $errormessage=$Lang::tr{'fwdfw err same'}; } - #INPUT part - if($fwdfwsettings{'grp2'} eq 'ipfire' && $fwdfwsettings{$fwdfwsettings{'grp1'}} ne 'ORANGE'){ + # INPUT part + if ($fwdfwsettings{'grp2'} eq 'ipfire' && $fwdfwsettings{$fwdfwsettings{'grp1'}} ne 'ORANGE'){ $fwdfwsettings{'config'}=$configinput; $fwdfwsettings{'chain'} = 'INPUTFW'; - my $maxkey=&General::findhasharraykey(%configinputfw); - #check if we have an identical rule already - if($fwdfwsettings{'oldrulenumber'} eq $fwdfwsettings{'rulepos'}){ - foreach my $key (sort keys %configinputfw){ - if ( "$fwdfwsettings{'RULE_ACTION'},$fwdfwsettings{'ACTIVE'},$fwdfwsettings{'grp1'},$fwdfwsettings{$fwdfwsettings{'grp1'}},$fwdfwsettings{'grp2'},$fwdfwsettings{$fwdfwsettings{'grp2'}},$fwdfwsettings{'USE_SRC_PORT'},$fwdfwsettings{'PROT'},$fwdfwsettings{'ICMP_TYPES'},$fwdfwsettings{'SRC_PORT'},$fwdfwsettings{'USESRV'},$fwdfwsettings{'TGT_PROT'},$fwdfwsettings{'ICMP_TGT'},$fwdfwsettings{'grp3'},$fwdfwsettings{$fwdfwsettings{'grp3'}},$fwdfwsettings{'LOG'},$fwdfwsettings{'TIME'},$fwdfwsettings{'TIME_MON'},$fwdfwsettings{'TIME_TUE'},$fwdfwsettings{'TIME_WED'},$fwdfwsettings{'TIME_THU'},$fwdfwsettings{'TIME_FRI'},$fwdfwsettings{'TIME_SAT'},$fwdfwsettings{'TIME_SUN'},$fwdfwsettings{'TIME_FROM'},$fwdfwsettings{'TIME_TO'},$fwdfwsettings{'USE_NAT'},$fwdfwsettings{$fwdfwsettings{'nat'}},$fwdfwsettings{'dnatport'},$fwdfwsettings{'nat'},$fwdfwsettings{'LIMIT_CON_CON'},$fwdfwsettings{'concon'},$fwdfwsettings{'RATE_LIMIT'},$fwdfwsettings{'ratecon'},$fwdfwsettings{'RATETIME'}" - eq "$configinputfw{$key}[0],$configinputfw{$key}[2],$configinputfw{$key}[3],$configinputfw{$key}[4],$configinputfw{$key}[5],$configinputfw{$key}[6],$configinputfw{$key}[7],$configinputfw{$key}[8],$configinputfw{$key}[9],$configinputfw{$key}[10],$configinputfw{$key}[11],$configinputfw{$key}[12],$configinputfw{$key}[13],$configinputfw{$key}[14],$configinputfw{$key}[15],$configinputfw{$key}[17],$configinputfw{$key}[18],$configinputfw{$key}[19],$configinputfw{$key}[20],$configinputfw{$key}[21],$configinputfw{$key}[22],$configinputfw{$key}[23],$configinputfw{$key}[24],$configinputfw{$key}[25],$configinputfw{$key}[26],$configinputfw{$key}[27],$configinputfw{$key}[28],$configinputfw{$key}[29],$configinputfw{$key}[30],$configinputfw{$key}[31],$configinputfw{$key}[32],$configinputfw{$key}[33],$configinputfw{$key}[34],$configinputfw{$key}[35],$configinputfw{$key}[36]"){ - $errormessage.=$Lang::tr{'fwdfw err ruleexists'}; - if($fwdfwsettings{'oldruleremark'} ne $fwdfwsettings{'ruleremark'} && $fwdfwsettings{'updatefwrule'} eq 'on' && $fwdfwsettings{'ruleremark'} ne '' && !&validremark($fwdfwsettings{'ruleremark'})){ - $errormessage=$Lang::tr{'fwdfw err remark'}."<br>"; - } - if($fwdfwsettings{'oldruleremark'} ne $fwdfwsettings{'ruleremark'} && $fwdfwsettings{'updatefwrule'} eq 'on' && $fwdfwsettings{'ruleremark'} ne '' && &validremark($fwdfwsettings{'ruleremark'})){ - $errormessage=''; - } - if ($fwdfwsettings{'oldruleremark'} eq $fwdfwsettings{'ruleremark'}){ - $fwdfwsettings{'nosave'} = 'on'; - } - } - } - } - #check Rulepos on new Rule - if($fwdfwsettings{'rulepos'} > 0 && !$fwdfwsettings{'oldrulenumber'}){ - $fwdfwsettings{'oldrulenumber'}=$maxkey; - foreach my $key (sort keys %configinputfw){ - if ( "$fwdfwsettings{'RULE_ACTION'},$fwdfwsettings{'ACTIVE'},$fwdfwsettings{'grp1'},$fwdfwsettings{$fwdfwsettings{'grp1'}},$fwdfwsettings{'grp2'},$fwdfwsettings{$fwdfwsettings{'grp2'}},$fwdfwsettings{'USE_SRC_PORT'},$fwdfwsettings{'PROT'},$fwdfwsettings{'ICMP_TYPES'},$fwdfwsettings{'SRC_PORT'},$fwdfwsettings{'USESRV'},$fwdfwsettings{'TGT_PROT'},$fwdfwsettings{'ICMP_TGT'},$fwdfwsettings{'grp3'},$fwdfwsettings{$fwdfwsettings{'grp3'}},$fwdfwsettings{'LOG'},$fwdfwsettings{'TIME'},$fwdfwsettings{'TIME_MON'},$fwdfwsettings{'TIME_TUE'},$fwdfwsettings{'TIME_WED'},$fwdfwsettings{'TIME_THU'},$fwdfwsettings{'TIME_FRI'},$fwdfwsettings{'TIME_SAT'},$fwdfwsettings{'TIME_SUN'},$fwdfwsettings{'TIME_FROM'},$fwdfwsettings{'TIME_TO'},$fwdfwsettings{'USE_NAT'},$fwdfwsettings{$fwdfwsettings{'nat'}},$fwdfwsettings{'dnatport'},$fwdfwsettings{'nat'},$fwdfwsettings{'LIMIT_CON_CON'},$fwdfwsettings{'concon'},$fwdfwsettings{'RATE_LIMIT'},$fwdfwsettings{'ratecon'},$fwdfwsettings{'RATETIME'}" - eq "$configinputfw{$key}[0],$configinputfw{$key}[2],$configinputfw{$key}[3],$configinputfw{$key}[4],$configinputfw{$key}[5],$configinputfw{$key}[6],$configinputfw{$key}[7],$configinputfw{$key}[8],$configinputfw{$key}[9],$configinputfw{$key}[10],$configinputfw{$key}[11],$configinputfw{$key}[12],$configinputfw{$key}[13],$configinputfw{$key}[14],$configinputfw{$key}[15],$configinputfw{$key}[17],$configinputfw{$key}[18],$configinputfw{$key}[19],$configinputfw{$key}[20],$configinputfw{$key}[21],$configinputfw{$key}[22],$configinputfw{$key}[23],$configinputfw{$key}[24],$configinputfw{$key}[25],$configinputfw{$key}[26],$configinputfw{$key}[27],$configinputfw{$key}[28],$configinputfw{$key}[29],$configinputfw{$key}[30],$configinputfw{$key}[31],$configinputfw{$key}[32],$configinputfw{$key}[33],$configinputfw{$key}[34],$configinputfw{$key}[35],$configinputfw{$key}[36]"){ - $errormessage.=$Lang::tr{'fwdfw err ruleexists'}; - } - } - } - #check if we just close a rule - if( $fwdfwsettings{'oldgrp1a'} eq $fwdfwsettings{'grp1'} && $fwdfwsettings{'oldgrp1b'} eq $fwdfwsettings{$fwdfwsettings{'grp1'}} && $fwdfwsettings{'oldgrp2a'} eq $fwdfwsettings{'grp2'} && $fwdfwsettings{'oldgrp2b'} eq $fwdfwsettings{$fwdfwsettings{'grp2'}} && $fwdfwsettings{'oldgrp3a'} eq $fwdfwsettings{'grp3'} && $fwdfwsettings{'oldgrp3b'} eq $fwdfwsettings{$fwdfwsettings{'grp3'}} && $fwdfwsettings{'oldusesrv'} eq $fwdfwsettings{'USESRV'} && $fwdfwsettings{'oldruleremark'} eq $fwdfwsettings{'ruleremark'} && $fwdfwsettings{'oldruletype'} eq $fwdfwsettings{'chain'} ) { - if($fwdfwsettings{'nosave'} eq 'on' && $fwdfwsettings{'updatefwrule'} eq 'on'){ - $errormessage=''; - $fwdfwsettings{'nosave2'} = 'on'; - } - } - if (!$errormessage){ - if($fwdfwsettings{'nosave2'} ne 'on'){ - &saverule(%configinputfw,$configinput); - } - } - }elsif($fwdfwsettings{'grp1'} eq 'ipfire_src' ){ + $maxkey=&General::findhasharraykey(%configinputfw); + %rulehash=%configinputfw; + }elsif ($fwdfwsettings{'grp1'} eq 'ipfire_src' ){ # OUTGOING PART $fwdfwsettings{'config'}=$configoutgoing; $fwdfwsettings{'chain'} = 'OUTGOINGFW'; - my $maxkey=&General::findhasharraykey(%configoutgoingfw); - if($fwdfwsettings{'oldrulenumber'} eq $fwdfwsettings{'rulepos'}){ - foreach my $key (sort keys %configoutgoingfw){ - if ( "$fwdfwsettings{'RULE_ACTION'},$fwdfwsettings{'ACTIVE'},$fwdfwsettings{'grp1'},$fwdfwsettings{$fwdfwsettings{'grp1'}},$fwdfwsettings{'grp2'},$fwdfwsettings{$fwdfwsettings{'grp2'}},$fwdfwsettings{'USE_SRC_PORT'},$fwdfwsettings{'PROT'},$fwdfwsettings{'ICMP_TYPES'},$fwdfwsettings{'SRC_PORT'},$fwdfwsettings{'USESRV'},$fwdfwsettings{'TGT_PROT'},$fwdfwsettings{'ICMP_TGT'},$fwdfwsettings{'grp3'},$fwdfwsettings{$fwdfwsettings{'grp3'}},$fwdfwsettings{'LOG'},$fwdfwsettings{'TIME'},$fwdfwsettings{'TIME_MON'},$fwdfwsettings{'TIME_TUE'},$fwdfwsettings{'TIME_WED'},$fwdfwsettings{'TIME_THU'},$fwdfwsettings{'TIME_FRI'},$fwdfwsettings{'TIME_SAT'},$fwdfwsettings{'TIME_SUN'},$fwdfwsettings{'TIME_FROM'},$fwdfwsettings{'TIME_TO'},$fwdfwsettings{'USE_NAT'},$fwdfwsettings{$fwdfwsettings{'nat'}},$fwdfwsettings{'dnatport'},$fwdfwsettings{'nat'},$fwdfwsettings{'LIMIT_CON_CON'},$fwdfwsettings{'concon'},$fwdfwsettings{'RATE_LIMIT'},$fwdfwsettings{'ratecon'},$fwdfwsettings{'RATETIME'}" - eq "$configoutgoingfw{$key}[0],$configoutgoingfw{$key}[2],$configoutgoingfw{$key}[3],$configoutgoingfw{$key}[4],$configoutgoingfw{$key}[5],$configoutgoingfw{$key}[6],$configoutgoingfw{$key}[7],$configoutgoingfw{$key}[8],$configoutgoingfw{$key}[9],$configoutgoingfw{$key}[10],$configoutgoingfw{$key}[11],$configoutgoingfw{$key}[12],$configoutgoingfw{$key}[13],$configoutgoingfw{$key}[14],$configoutgoingfw{$key}[15],$configoutgoingfw{$key}[17],$configoutgoingfw{$key}[18],$configoutgoingfw{$key}[19],$configoutgoingfw{$key}[20],$configoutgoingfw{$key}[21],$configoutgoingfw{$key}[22],$configoutgoingfw{$key}[23],$configoutgoingfw{$key}[24],$configoutgoingfw{$key}[25],$configoutgoingfw{$key}[26],$configoutgoingfw{$key}[27],$configoutgoingfw{$key}[28],$configoutgoingfw{$key}[29],$configoutgoingfw{$key}[30],$configoutgoingfw{$key}[31],$configoutgoingfw{$key}[32],$configoutgoingfw{$key}[33],$configoutgoingfw{$key}[34],$configoutgoingfw{$key}[35],$configoutgoingfw{$key}[36]"){ - $errormessage.=$Lang::tr{'fwdfw err ruleexists'}; - if($fwdfwsettings{'oldruleremark'} ne $fwdfwsettings{'ruleremark'} && $fwdfwsettings{'updatefwrule'} eq 'on' && $fwdfwsettings{'ruleremark'} ne '' && !&validremark($fwdfwsettings{'ruleremark'})){ - $errormessage=$Lang::tr{'fwdfw err remark'}."<br>"; - } - if($fwdfwsettings{'oldruleremark'} ne $fwdfwsettings{'ruleremark'} && $fwdfwsettings{'updatefwrule'} eq 'on' && $fwdfwsettings{'ruleremark'} ne '' && &validremark($fwdfwsettings{'ruleremark'})){ - $errormessage=''; - } - if ($fwdfwsettings{'oldruleremark'} eq $fwdfwsettings{'ruleremark'}){ - $fwdfwsettings{'nosave'} = 'on'; - } - } - } - } - #check Rulepos on new Rule - if($fwdfwsettings{'rulepos'} > 0 && !$fwdfwsettings{'oldrulenumber'}){ - $fwdfwsettings{'oldrulenumber'}=$maxkey; - foreach my $key (sort keys %configoutgoingfw){ - if ( "$fwdfwsettings{'RULE_ACTION'},$fwdfwsettings{'ACTIVE'},$fwdfwsettings{'grp1'},$fwdfwsettings{$fwdfwsettings{'grp1'}},$fwdfwsettings{'grp2'},$fwdfwsettings{$fwdfwsettings{'grp2'}},$fwdfwsettings{'USE_SRC_PORT'},$fwdfwsettings{'PROT'},$fwdfwsettings{'ICMP_TYPES'},$fwdfwsettings{'SRC_PORT'},$fwdfwsettings{'USESRV'},$fwdfwsettings{'TGT_PROT'},$fwdfwsettings{'ICMP_TGT'},$fwdfwsettings{'grp3'},$fwdfwsettings{$fwdfwsettings{'grp3'}},$fwdfwsettings{'LOG'},$fwdfwsettings{'TIME'},$fwdfwsettings{'TIME_MON'},$fwdfwsettings{'TIME_TUE'},$fwdfwsettings{'TIME_WED'},$fwdfwsettings{'TIME_THU'},$fwdfwsettings{'TIME_FRI'},$fwdfwsettings{'TIME_SAT'},$fwdfwsettings{'TIME_SUN'},$fwdfwsettings{'TIME_FROM'},$fwdfwsettings{'TIME_TO'},$fwdfwsettings{'USE_NAT'},$fwdfwsettings{$fwdfwsettings{'nat'}},$fwdfwsettings{'dnatport'},$fwdfwsettings{'nat'},$fwdfwsettings{'LIMIT_CON_CON'},$fwdfwsettings{'concon'},$fwdfwsettings{'RATE_LIMIT'},$fwdfwsettings{'ratecon'},$fwdfwsettings{'RATETIME'}" - eq "$configoutgoingfw{$key}[0],$configoutgoingfw{$key}[2],$configoutgoingfw{$key}[3],$configoutgoingfw{$key}[4],$configoutgoingfw{$key}[5],$configoutgoingfw{$key}[6],$configoutgoingfw{$key}[7],$configoutgoingfw{$key}[8],$configoutgoingfw{$key}[9],$configoutgoingfw{$key}[10],$configoutgoingfw{$key}[11],$configoutgoingfw{$key}[12],$configoutgoingfw{$key}[13],$configoutgoingfw{$key}[14],$configoutgoingfw{$key}[15],$configoutgoingfw{$key}[17],$configoutgoingfw{$key}[18],$configoutgoingfw{$key}[19],$configoutgoingfw{$key}[20],$configoutgoingfw{$key}[21],$configoutgoingfw{$key}[22],$configoutgoingfw{$key}[23],$configoutgoingfw{$key}[24],$configoutgoingfw{$key}[25],$configoutgoingfw{$key}[26],$configoutgoingfw{$key}[27],$configoutgoingfw{$key}[28],$configoutgoingfw{$key}[29],$configoutgoingfw{$key}[30],$configoutgoingfw{$key}[31],$configoutgoingfw{$key}[32],$configoutgoingfw{$key}[33],$configoutgoingfw{$key}[34],$configoutgoingfw{$key}[35],$configoutgoingfw{$key}[36]"){ - $errormessage.=$Lang::tr{'fwdfw err ruleexists'}; - } - } - } - #check if we just close a rule - if( $fwdfwsettings{'oldgrp1a'} eq $fwdfwsettings{'grp1'} && $fwdfwsettings{'oldgrp1b'} eq $fwdfwsettings{$fwdfwsettings{'grp1'}} && $fwdfwsettings{'oldgrp2a'} eq $fwdfwsettings{'grp2'} && $fwdfwsettings{'oldgrp2b'} eq $fwdfwsettings{$fwdfwsettings{'grp2'}} && $fwdfwsettings{'oldgrp3a'} eq $fwdfwsettings{'grp3'} && $fwdfwsettings{'oldgrp3b'} eq $fwdfwsettings{$fwdfwsettings{'grp3'}} && $fwdfwsettings{'oldusesrv'} eq $fwdfwsettings{'USESRV'} && $fwdfwsettings{'oldruleremark'} eq $fwdfwsettings{'ruleremark'} && $fwdfwsettings{'oldruletype'} eq $fwdfwsettings{'chain'} ) { - if($fwdfwsettings{'nosave'} eq 'on' && $fwdfwsettings{'updatefwrule'} eq 'on'){ - $fwdfwsettings{'nosave2'} = 'on'; - $errormessage=''; - } - } - #increase counters - if (!$errormessage){ - if ($fwdfwsettings{'nosave2'} ne 'on'){ - &saverule(%configoutgoingfw,$configoutgoing); - } - } - }else{ - #FORWARD PART + $maxkey=&General::findhasharraykey(%configoutgoingfw); + %rulehash=%configoutgoingfw; + }else { + # FORWARD PART $fwdfwsettings{'config'}=$configfwdfw; $fwdfwsettings{'chain'} = 'FORWARDFW'; - my $maxkey=&General::findhasharraykey(%configfwdfw); - if($fwdfwsettings{'oldrulenumber'} eq $fwdfwsettings{'rulepos'}){ - #check if we have an identical rule already - foreach my $key (sort keys %configfwdfw){ - if ( "$fwdfwsettings{'RULE_ACTION'},$fwdfwsettings{'ACTIVE'},$fwdfwsettings{'grp1'},$fwdfwsettings{$fwdfwsettings{'grp1'}},$fwdfwsettings{'grp2'},$fwdfwsettings{$fwdfwsettings{'grp2'}},$fwdfwsettings{'USE_SRC_PORT'},$fwdfwsettings{'PROT'},$fwdfwsettings{'ICMP_TYPES'},$fwdfwsettings{'SRC_PORT'},$fwdfwsettings{'USESRV'},$fwdfwsettings{'TGT_PROT'},$fwdfwsettings{'ICMP_TGT'},$fwdfwsettings{'grp3'},$fwdfwsettings{$fwdfwsettings{'grp3'}},$fwdfwsettings{'TIME'},$fwdfwsettings{'TIME_MON'},$fwdfwsettings{'TIME_TUE'},$fwdfwsettings{'TIME_WED'},$fwdfwsettings{'TIME_THU'},$fwdfwsettings{'TIME_FRI'},$fwdfwsettings{'TIME_SAT'},$fwdfwsettings{'TIME_SUN'},$fwdfwsettings{'TIME_FROM'},$fwdfwsettings{'TIME_TO'},$fwdfwsettings{'USE_NAT'},$fwdfwsettings{$fwdfwsettings{'nat'}},$fwdfwsettings{'dnatport'},$fwdfwsettings{'nat'},$fwdfwsettings{'LIMIT_CON_CON'},$fwdfwsettings{'concon'},$fwdfwsettings{'RATE_LIMIT'},$fwdfwsettings{'ratecon'},$fwdfwsettings{'RATETIME'}" - eq "$configfwdfw{$key}[0],$configfwdfw{$key}[2],$configfwdfw{$key}[3],$configfwdfw{$key}[4],$configfwdfw{$key}[5],$configfwdfw{$key}[6],$configfwdfw{$key}[7],$configfwdfw{$key}[8],$configfwdfw{$key}[9],$configfwdfw{$key}[10],$configfwdfw{$key}[11],$configfwdfw{$key}[12],$configfwdfw{$key}[13],$configfwdfw{$key}[14],$configfwdfw{$key}[15],$configfwdfw{$key}[18],$configfwdfw{$key}[19],$configfwdfw{$key}[20],$configfwdfw{$key}[21],$configfwdfw{$key}[22],$configfwdfw{$key}[23],$configfwdfw{$key}[24],$configfwdfw{$key}[25],$configfwdfw{$key}[26],$configfwdfw{$key}[27],$configfwdfw{$key}[28],$configfwdfw{$key}[29],$configfwdfw{$key}[30],$configfwdfw{$key}[31],$configfwdfw{$key}[32],$configfwdfw{$key}[33],$configfwdfw{$key}[34],$configfwdfw{$key}[35],$configfwdfw{$key}[36]"){ - $errormessage.=$Lang::tr{'fwdfw err ruleexists'}; - if($fwdfwsettings{'oldruleremark'} ne $fwdfwsettings{'ruleremark'} && $fwdfwsettings{'updatefwrule'} eq 'on' && $fwdfwsettings{'ruleremark'} ne '' && !&validremark($fwdfwsettings{'ruleremark'})){ - $errormessage=$Lang::tr{'fwdfw err remark'}."<br>"; - } - if($fwdfwsettings{'oldruleremark'} ne $fwdfwsettings{'ruleremark'} && $fwdfwsettings{'updatefwrule'} eq 'on' && $fwdfwsettings{'ruleremark'} ne '' && &validremark($fwdfwsettings{'ruleremark'})){ - $errormessage=''; - } - if ($fwdfwsettings{'oldruleremark'} eq $fwdfwsettings{'ruleremark'}){ - $fwdfwsettings{'nosave'} = 'on'; - } - } + $maxkey=&General::findhasharraykey(%configfwdfw); + %rulehash=%configfwdfw; + } + #check if we have an identical rule already + if($fwdfwsettings{'oldrulenumber'} eq $fwdfwsettings{'rulepos'}){ + foreach my $key (sort keys %rulehash){ + if ( "$fwdfwsettings{'RULE_ACTION'},$fwdfwsettings{'ACTIVE'},$fwdfwsettings{'grp1'},$fwdfwsettings{$fwdfwsettings{'grp1'}},$fwdfwsettings{'grp2'},$fwdfwsettings{$fwdfwsettings{'grp2'}},$fwdfwsettings{'USE_SRC_PORT'},$fwdfwsettings{'PROT'},$fwdfwsettings{'ICMP_TYPES'},$fwdfwsettings{'SRC_PORT'},$fwdfwsettings{'USESRV'},$fwdfwsettings{'TGT_PROT'},$fwdfwsettings{'ICMP_TGT'},$fwdfwsettings{'grp3'},$fwdfwsettings{$fwdfwsettings{'grp3'}},$fwdfwsettings{'ruleremark'},$fwdfwsettings{'LOG'},$fwdfwsettings{'TIME'},$fwdfwsettings{'TIME_MON'},$fwdfwsettings{'TIME_TUE'},$fwdfwsettings{'TIME_WED'},$fwdfwsettings{'TIME_THU'},$fwdfwsettings{'TIME_FRI'},$fwdfwsettings{'TIME_SAT'},$fwdfwsettings{'TIME_SUN'},$fwdfwsettings{'TIME_FROM'},$fwdfwsettings{'TIME_TO'},$fwdfwsettings{'USE_NAT'},$fwdfwsettings{$fwdfwsettings{'nat'}},$fwdfwsettings{'dnatport'},$fwdfwsettings{'nat'},$fwdfwsettings{'LIMIT_CON_CON'},$fwdfwsettings{'concon'},$fwdfwsettings{'RATE_LIMIT'},$fwdfwsettings{'ratecon'},$fwdfwsettings {'RATETIME'}" + eq "$rulehash{$key}[0],$rulehash{$key}[2],$rulehash{$key}[3],$rulehash{$key}[4],$rulehash{$key}[5],$rulehash{$key}[6],$rulehash{$key}[7],$rulehash{$key}[8],$rulehash{$key}[9],$rulehash{$key}[10],$rulehash{$key}[11],$rulehash{$key}[12],$rulehash{$key}[13],$rulehash{$key}[14],$rulehash{$key}[15],$rulehash{$key}[16],$rulehash{$key}[17],$rulehash{$key}[18],$rulehash{$key}[19],$rulehash{$key}[20],$rulehash{$key}[21],$rulehash{$key}[22],$rulehash{$key}[23],$rulehash{$key}[24],$rulehash{$key}[25],$rulehash{$key}[26],$rulehash{$key}[27],$rulehash{$key}[28],$rulehash{$key}[29],$rulehash{$key}[30],$rulehash{$key}[31],$rulehash{$key}[32],$rulehash{$key}[33],$rulehash{$key}[34],$rulehash{$key}[35],$rulehash{$key}[36]"){ + $errormessage.=$Lang::tr{'fwdfw err ruleexists'}; + if($fwdfwsettings{'oldruleremark'} ne $fwdfwsettings{'ruleremark'} && $fwdfwsettings{'updatefwrule'} eq 'on' && $fwdfwsettings{'ruleremark'} ne '' && !&validremark($fwdfwsettings{'ruleremark'})){ + $errormessage=$Lang::tr{'fwdfw err remark'}."<br>"; + } + if($fwdfwsettings{'oldruleremark'} ne $fwdfwsettings{'ruleremark'} && $fwdfwsettings{'updatefwrule'} eq 'on' && $fwdfwsettings{'ruleremark'} ne '' && &validremark($fwdfwsettings{'ruleremark'})){ + $errormessage=''; + } + if ($fwdfwsettings{'oldruleremark'} eq $fwdfwsettings{'ruleremark'}){ + $fwdfwsettings{'nosave'} = 'on'; + } } } - #check Rulepos on new Rule - if($fwdfwsettings{'rulepos'} > 0 && !$fwdfwsettings{'oldrulenumber'}){ - $fwdfwsettings{'oldrulenumber'}=$maxkey; - foreach my $key (sort keys %configfwdfw){ - if ( "$fwdfwsettings{'RULE_ACTION'},$fwdfwsettings{'ACTIVE'},$fwdfwsettings{'grp1'},$fwdfwsettings{$fwdfwsettings{'grp1'}},$fwdfwsettings{'grp2'},$fwdfwsettings{$fwdfwsettings{'grp2'}},$fwdfwsettings{'USE_SRC_PORT'},$fwdfwsettings{'PROT'},$fwdfwsettings{'ICMP_TYPES'},$fwdfwsettings{'SRC_PORT'},$fwdfwsettings{'USESRV'},$fwdfwsettings{'TGT_PROT'},$fwdfwsettings{'ICMP_TGT'},$fwdfwsettings{'grp3'},$fwdfwsettings{$fwdfwsettings{'grp3'}},$fwdfwsettings{'TIME'},$fwdfwsettings{'TIME_MON'},$fwdfwsettings{'TIME_TUE'},$fwdfwsettings{'TIME_WED'},$fwdfwsettings{'TIME_THU'},$fwdfwsettings{'TIME_FRI'},$fwdfwsettings{'TIME_SAT'},$fwdfwsettings{'TIME_SUN'},$fwdfwsettings{'TIME_FROM'},$fwdfwsettings{'TIME_TO'},$fwdfwsettings{'USE_NAT'},$fwdfwsettings{$fwdfwsettings{'nat'}},$fwdfwsettings{'dnatport'},$fwdfwsettings{'nat'},$fwdfwsettings{'LIMIT_CON_CON'},$fwdfwsettings{'concon'},$fwdfwsettings{'RATE_LIMIT'},$fwdfwsettings{'ratecon'},$fwdfwsettings{'RATETIME'}" - eq "$configfwdfw{$key}[0],$configfwdfw{$key}[2],$configfwdfw{$key}[3],$configfwdfw{$key}[4],$configfwdfw{$key}[5],$configfwdfw{$key}[6],$configfwdfw{$key}[7],$configfwdfw{$key}[8],$configfwdfw{$key}[9],$configfwdfw{$key}[10],$configfwdfw{$key}[11],$configfwdfw{$key}[12],$configfwdfw{$key}[13],$configfwdfw{$key}[14],$configfwdfw{$key}[15],$configfwdfw{$key}[18],$configfwdfw{$key}[19],$configfwdfw{$key}[20],$configfwdfw{$key}[21],$configfwdfw{$key}[22],$configfwdfw{$key}[23],$configfwdfw{$key}[24],$configfwdfw{$key}[25],$configfwdfw{$key}[26],$configfwdfw{$key}[27],$configfwdfw{$key}[28],$configfwdfw{$key}[29],$configfwdfw{$key}[30],$configfwdfw{$key}[31],$configfwdfw{$key}[32],$configfwdfw{$key}[33],$configfwdfw{$key}[34],$configfwdfw{$key}[35],$configfwdfw{$key}[36]"){ - $errormessage.=$Lang::tr{'fwdfw err ruleexists'}; - } + } + #check Rulepos on new Rule + if($fwdfwsettings{'rulepos'} > 0 && !$fwdfwsettings{'oldrulenumber'}){ + $fwdfwsettings{'oldrulenumber'}=$maxkey; + foreach my $key (sort keys %rulehash){ + if ( "$fwdfwsettings{'RULE_ACTION'},$fwdfwsettings{'ACTIVE'},$fwdfwsettings{'grp1'},$fwdfwsettings{$fwdfwsettings{'grp1'}},$fwdfwsettings{'grp2'},$fwdfwsettings{$fwdfwsettings{'grp2'}},$fwdfwsettings{'USE_SRC_PORT'},$fwdfwsettings{'PROT'},$fwdfwsettings{'ICMP_TYPES'},$fwdfwsettings{'SRC_PORT'},$fwdfwsettings{'USESRV'},$fwdfwsettings{'TGT_PROT'},$fwdfwsettings{'ICMP_TGT'},$fwdfwsettings{'grp3'},$fwdfwsettings{$fwdfwsettings{'grp3'}},$fwdfwsettings{'TIME'},$fwdfwsettings{'TIME_MON'},$fwdfwsettings{'TIME_TUE'},$fwdfwsettings{'TIME_WED'},$fwdfwsettings{'TIME_THU'},$fwdfwsettings{'TIME_FRI'},$fwdfwsettings{'TIME_SAT'},$fwdfwsettings{'TIME_SUN'},$fwdfwsettings{'TIME_FROM'},$fwdfwsettings{'TIME_TO'},$fwdfwsettings{'USE_NAT'},$fwdfwsettings{$fwdfwsettings{'nat'}},$fwdfwsettings{'dnatport'},$fwdfwsettings{'nat'},$fwdfwsettings{'LIMIT_CON_CON'},$fwdfwsettings{'concon'},$fwdfwsettings{'RATE_LIMIT'},$fwdfwsettings{'ratecon'},$fwdfwsettings{'RATETIME'}" + eq "$rulehash{$key}[0],$rulehash{$key}[2],$rulehash{$key}[3],$rulehash{$key}[4],$rulehash{$key}[5],$rulehash{$key}[6],$rulehash{$key}[7],$rulehash{$key}[8],$rulehash{$key}[9],$rulehash{$key}[10],$rulehash{$key}[11],$rulehash{$key}[12],$rulehash{$key}[13],$rulehash{$key}[14],$rulehash{$key}[15],$rulehash{$key}[18],$rulehash{$key}[19],$rulehash{$key}[20],$rulehash{$key}[21],$rulehash{$key}[22],$rulehash{$key}[23],$rulehash{$key}[24],$rulehash{$key}[25],$rulehash{$key}[26],$rulehash{$key}[27],$rulehash{$key}[28],$rulehash{$key}[29],$rulehash{$key}[30],$rulehash{$key}[31],$rulehash{$key}[32],$rulehash{$key}[33],$rulehash{$key}[34],$rulehash{$key}[35],$rulehash{$key}[36]"){ + $errormessage.=$Lang::tr{'fwdfw err ruleexists'}; } } - #check if we just close a rule - if( $fwdfwsettings{'oldgrp1a'} eq $fwdfwsettings{'grp1'} && $fwdfwsettings{'oldgrp1b'} eq $fwdfwsettings{$fwdfwsettings{'grp1'}} && $fwdfwsettings{'oldgrp2a'} eq $fwdfwsettings{'grp2'} && $fwdfwsettings{'oldgrp2b'} eq $fwdfwsettings{$fwdfwsettings{'grp2'}} && $fwdfwsettings{'oldgrp3a'} eq $fwdfwsettings{'grp3'} && $fwdfwsettings{'oldgrp3b'} eq $fwdfwsettings{$fwdfwsettings{'grp3'}} && $fwdfwsettings{'oldusesrv'} eq $fwdfwsettings{'USESRV'} && $fwdfwsettings{'oldruleremark'} eq $fwdfwsettings{'ruleremark'} && $fwdfwsettings{'oldruletype'} eq $fwdfwsettings{'chain'}){ - if($fwdfwsettings{'nosave'} eq 'on' && $fwdfwsettings{'updatefwrule'} eq 'on'){ - $fwdfwsettings{'nosave2'} = 'on'; - $errormessage=''; - } + } + #check if we just close a rule + if( $fwdfwsettings{'oldgrp1a'} eq $fwdfwsettings{'grp1'} && $fwdfwsettings{'oldgrp1b'} eq $fwdfwsettings{$fwdfwsettings{'grp1'}} && $fwdfwsettings{'oldgrp2a'} eq $fwdfwsettings{'grp2'} && $fwdfwsettings{'oldgrp2b'} eq $fwdfwsettings{$fwdfwsettings{'grp2'}} && $fwdfwsettings{'oldgrp3a'} eq $fwdfwsettings{'grp3'} && $fwdfwsettings{'oldgrp3b'} eq $fwdfwsettings{$fwdfwsettings{'grp3'}} && $fwdfwsettings{'oldusesrv'} eq $fwdfwsettings{'USESRV'} && $fwdfwsettings{'oldruleremark'} eq $fwdfwsettings{'ruleremark'} && $fwdfwsettings{'oldruletype'} eq $fwdfwsettings{'chain'}){ + if($fwdfwsettings{'nosave'} eq 'on' && $fwdfwsettings{'updatefwrule'} eq 'on'){ + $fwdfwsettings{'nosave2'} = 'on'; + $errormessage=''; } - #check max concurrent connections per ip address - if ($fwdfwsettings{'LIMIT_CON_CON'} eq 'ON'){ - if (!($fwdfwsettings{'concon'} =~ /^(\d+)$/)) { - $errormessage.=$Lang::tr{'fwdfw err concon'}; - } - }else{ - $fwdfwsettings{'concon'}=''; + } + #check max concurrent connections per ip address + if ($fwdfwsettings{'LIMIT_CON_CON'} eq 'ON'){ + if (!($fwdfwsettings{'concon'} =~ /^(\d+)$/)) { + $errormessage.=$Lang::tr{'fwdfw err concon'}; } - #check ratelimit value - if ($fwdfwsettings{'RATE_LIMIT'} eq 'ON'){ - if (!($fwdfwsettings{'ratecon'} =~ /^(\d+)$/)) { - $errormessage.=$Lang::tr{'fwdfw err ratecon'}; - } - }else{ - $fwdfwsettings{'ratecon'}=''; + }else{ + $fwdfwsettings{'concon'}=''; + } + #check ratelimit value + if ($fwdfwsettings{'RATE_LIMIT'} eq 'ON'){ + if (!($fwdfwsettings{'ratecon'} =~ /^(\d+)$/)) { + $errormessage.=$Lang::tr{'fwdfw err ratecon'}; } - #increase counters - if (!$errormessage){ - if ($fwdfwsettings{'nosave2'} ne 'on'){ - &saverule(%configfwdfw,$configfwdfw); - } + }else{ + $fwdfwsettings{'ratecon'}=''; + } + #increase counters + if (!$errormessage){ + if ($fwdfwsettings{'nosave2'} ne 'on'){ + &saverule(%rulehash,$fwdfwsettings{'config'}); } } if ($errormessage){ @@ -865,7 +790,7 @@ sub checkrule $errormessage.=$Lang::tr{'fwdfw err remark'}."<br>"; } #check if source and target identical - if ($fwdfwsettings{$fwdfwsettings{'grp1'}} eq $fwdfwsettings{$fwdfwsettings{'grp2'}} && $fwdfwsettings{$fwdfwsettings{'grp1'}} ne 'ALL'){ + if ($fwdfwsettings{$fwdfwsettings{'grp1'}} eq $fwdfwsettings{$fwdfwsettings{'grp2'}} && $fwdfwsettings{$fwdfwsettings{'grp1'}} ne 'ALL' && $fwdfwsettings{'grp2'} ne 'ipfire'){ $errormessage=$Lang::tr{'fwdfw err same'}; return $errormessage; } diff --git a/html/cgi-bin/fwhosts.cgi b/html/cgi-bin/fwhosts.cgi index c3642f0..f42947e 100644 --- a/html/cgi-bin/fwhosts.cgi +++ b/html/cgi-bin/fwhosts.cgi @@ -728,10 +728,10 @@ if ($fwhostsettings{'ACTION'} eq 'saveservicegrp') } } } - if ($tcpcounter > 15){ + if ($tcpcounter > 14){ $errormessage=$Lang::tr{'fwhost err maxservicetcp'}; } - if ($udpcounter > 15){ + if ($udpcounter > 14){ $errormessage=$Lang::tr{'fwhost err maxserviceudp'}; } $tcpcounter=0; diff --git a/html/cgi-bin/ids.cgi b/html/cgi-bin/ids.cgi index ff72b78..5ada911 100644 --- a/html/cgi-bin/ids.cgi +++ b/html/cgi-bin/ids.cgi @@ -263,9 +263,9 @@ if (-e "/etc/snort/snort.conf") { ####################### End added for snort rules control #################################
if ($snortsettings{'RULES'} eq 'subscripted') { - $url=" https://www.snort.org/rules/snortrules-snapshot-2961.tar.gz?oinkcode=$snorts..."; + $url=" https://www.snort.org/rules/snortrules-snapshot-2970.tar.gz?oinkcode=$snorts..."; } elsif ($snortsettings{'RULES'} eq 'registered') { - $url=" https://www.snort.org/rules/snortrules-snapshot-2961.tar.gz?oinkcode=$snorts..."; + $url=" https://www.snort.org/rules/snortrules-snapshot-2970.tar.gz?oinkcode=$snorts..."; } elsif ($snortsettings{'RULES'} eq 'community') { $url=" https://www.snort.org/rules/community"; } else { @@ -528,7 +528,7 @@ print <<END </tr> <tr> <td><br /> - $Lang::tr{'ids rules license'} <a href='https://www.snort.org/signup' target='_blank'>www.snort.org</a>$Lang::tr{'ids rules license1'}<br /><br /> + $Lang::tr{'ids rules license'} <a href='https://www.snort.org/subscribe' target='_blank'>www.snort.org</a>$Lang::tr{'ids rules license1'}<br /><br /> $Lang::tr{'ids rules license2'} <a href='https://www.snort.org/account/oinkcode' target='_blank'>Get an Oinkcode</a>, $Lang::tr{'ids rules license3'} </td> </tr> diff --git a/html/cgi-bin/netovpnrw.cgi b/html/cgi-bin/netovpnrw.cgi new file mode 100755 index 0000000..f775b23 --- /dev/null +++ b/html/cgi-bin/netovpnrw.cgi @@ -0,0 +1,72 @@ +#!/usr/bin/perl +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2014 Alexander Marx # +# # +# 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; + +# 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"; +require "${General::swroot}/graphs.pl"; + +my %color = (); +my %mainsettings = (); +&General::readhash("${General::swroot}/main/settings", %mainsettings); +&General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", %color); + +my @vpns=(); + +my @querry = split(/?/,$ENV{'QUERY_STRING'}); +$querry[0] = '' unless defined $querry[0]; +$querry[1] = 'week' unless defined $querry[1]; + +if ( $querry[0] ne "" && $querry[0] ne "UNDEF"){ + print "Content-type: image/png\n\n"; + binmode(STDOUT); + &Graphs::updatevpngraph($querry[0],$querry[1]); +}else{ + &Header::showhttpheaders(); + &Header::openpage($Lang::tr{'host to net vpn'}, 1, ''); + &Header::openbigbox('100%', 'left'); + + my @vpngraphs = `find /var/log/rrd/collectd/localhost/openvpn-*/ -not -path *openvpn-UNDEF* -not -path *openvpn-*n2n* -name *.rrd|sort`; + foreach (@vpngraphs){ + if($_ =~ /(.*)/openvpn-(.*)/if_octets_derive.rrd/){ + push(@vpns,$2); + } + } + if(@vpns){ + foreach (@vpns) { + &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}"); + &Graphs::makegraphbox("netovpnrw.cgi",$_,"week"); + &Header::closebox(); + } + }else{ + print "<center>".$Lang::tr{'no data'}."</center>"; + } + my $output = ''; + + &Header::closebigbox(); + &Header::closepage(); +} diff --git a/html/cgi-bin/netovpnsrv.cgi b/html/cgi-bin/netovpnsrv.cgi new file mode 100755 index 0000000..0ec9c67 --- /dev/null +++ b/html/cgi-bin/netovpnsrv.cgi @@ -0,0 +1,72 @@ +#!/usr/bin/perl +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2014 Alexnder Marx # +# # +# 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; + +# 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"; +require "${General::swroot}/graphs.pl"; + +my %color = (); +my %mainsettings = (); +&General::readhash("${General::swroot}/main/settings", %mainsettings); +&General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", %color); + +my @vpns=(); + +my @querry = split(/?/,$ENV{'QUERY_STRING'}); +$querry[0] = '' unless defined $querry[0]; +$querry[1] = 'week' unless defined $querry[1]; + +if ( $querry[0] ne ""){ + print "Content-type: image/png\n\n"; + binmode(STDOUT); + &Graphs::updatevpnn2ngraph($querry[0],$querry[1]); +}else{ + &Header::showhttpheaders(); + &Header::openpage($Lang::tr{'openvpn server'}, 1, ''); + &Header::openbigbox('100%', 'left'); + + my @vpngraphs = `find /var/log/rrd/collectd/localhost/openvpn-*-n2n/ -not -path *openvpn-UNDEF* -name *traffic.rrd|sort`; + foreach (@vpngraphs){ + if($_ =~ /(.*)/openvpn-(.*)/if_octets_derive-traffic.rrd/){ + push(@vpns,$2); + } + } + if (@vpns){ + foreach (@vpns) { + &Header::openbox('100%', 'center', "$_ $Lang::tr{'graph'}"); + &Graphs::makegraphbox("netovpnsrv.cgi",$_,"week"); + &Header::closebox(); + } + }else{ + print "<center>".$Lang::tr{'no data'}."</center>"; + } + my $output = ''; + + &Header::closebigbox(); + &Header::closepage(); +} diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index 969b255..1e07492 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -70,6 +70,9 @@ my $configgrp="${General::swroot}/fwhosts/customgroups"; my $customnet="${General::swroot}/fwhosts/customnetworks"; my $name; my $col=""; +my $local_serverconf = "${General::swroot}/ovpn/scripts/server.conf.local"; +my $local_clientconf = "${General::swroot}/ovpn/scripts/client.conf.local"; + &General::readhash("${General::swroot}/ethernet/settings", %netsettings); $cgiparams{'ENABLED'} = 'off'; $cgiparams{'ENABLED_BLUE'} = 'off'; @@ -94,10 +97,33 @@ $cgiparams{'DCIPHER'} = ''; $cgiparams{'DAUTH'} = ''; $cgiparams{'TLSAUTH'} = ''; $routes_push_file = "${General::swroot}/ovpn/routes_push"; -unless (-e $routes_push_file) { system("touch $routes_push_file"); } -unless (-e "${General::swroot}/ovpn/ccd.conf") { system("touch ${General::swroot}/ovpn/ccd.conf"); } -unless (-e "${General::swroot}/ovpn/ccdroute") { system("touch ${General::swroot}/ovpn/ccdroute"); } -unless (-e "${General::swroot}/ovpn/ccdroute2") { system("touch ${General::swroot}/ovpn/ccdroute2"); } + +# Add CCD files if not already presant +unless (-e $routes_push_file) { + open(RPF, ">$routes_push_file"); + close(RPF); +} +unless (-e "${General::swroot}/ovpn/ccd.conf") { + open(CCDC, ">${General::swroot}/ovpn/ccd.conf"); + close (CCDC); +} +unless (-e "${General::swroot}/ovpn/ccdroute") { + open(CCDR, ">${General::swroot}/ovpn/ccdroute"); + close (CCDR); +} +unless (-e "${General::swroot}/ovpn/ccdroute2") { + open(CCDRT, ">${General::swroot}/ovpn/ccdroute2"); + close (CCDRT); +} +# Add additional configs if not already presant +unless (-e "$local_serverconf") { + open(LSC, ">$local_serverconf"); + close (LSC); +} +unless (-e "$local_clientconf") { + open(LCC, ">$local_clientconf"); + close (LCC); +}
&Header::getcgihash(%cgiparams, {'wantfile' => 1, 'filevar' => 'FH'});
@@ -262,7 +288,7 @@ sub writeserverconf { print CONF "keepalive $sovpnsettings{'KEEPALIVE_1'} $sovpnsettings{'KEEPALIVE_2'}\n"; } print CONF "status-version 1\n"; - print CONF "status /var/log/ovpnserver.log 30\n"; + print CONF "status /var/run/ovpnserver.log 30\n"; print CONF "cipher $sovpnsettings{DCIPHER}\n"; if ($sovpnsettings{'DAUTH'} eq '') { print CONF ""; @@ -306,14 +332,29 @@ sub writeserverconf { print CONF "verb $sovpnsettings{LOG_VERB}\n"; } else { print CONF "verb 3\n"; - } + } + # Print server.conf.local if entries exist to server.conf + if ( !-z $local_serverconf && $sovpnsettings{'ADDITIONAL_CONFIGS'} eq 'on') { + open (LSC, "$local_serverconf"); + print CONF "\n#---------------------------\n"; + print CONF "# Start of custom directives\n"; + print CONF "# from server.conf.local\n"; + print CONF "#---------------------------\n\n"; + while (<LSC>) { + print CONF $_; + } + print CONF "\n#-----------------------------\n"; + print CONF "# End of custom directives\n"; + print CONF "#-----------------------------\n"; + close (LSC); + } print CONF "\n";
close(CONF); }
sub emptyserverlog{ - if (open(FILE, ">/var/log/ovpnserver.log")) { + if (open(FILE, ">/var/run/ovpnserver.log")) { flock FILE, 2; print FILE ""; close FILE; @@ -685,6 +726,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save-adv-options'}) { $vpnsettings{'MAX_CLIENTS'} = $cgiparams{'MAX_CLIENTS'}; $vpnsettings{'REDIRECT_GW_DEF1'} = $cgiparams{'REDIRECT_GW_DEF1'}; $vpnsettings{'CLIENT2CLIENT'} = $cgiparams{'CLIENT2CLIENT'}; + $vpnsettings{'ADDITIONAL_CONFIGS'} = $cgiparams{'ADDITIONAL_CONFIGS'}; $vpnsettings{'DHCP_DOMAIN'} = $cgiparams{'DHCP_DOMAIN'}; $vpnsettings{'DHCP_DNS'} = $cgiparams{'DHCP_DNS'}; $vpnsettings{'DHCP_WINS'} = $cgiparams{'DHCP_WINS'}; @@ -863,9 +905,12 @@ unless(-d "${General::swroot}/ovpn/n2nconf/$cgiparams{'NAME'}"){mkdir "${General print SERVERCONF "route $remsubnet[0] $remsubnet[1]\n"; print SERVERCONF "# tun Device\n"; print SERVERCONF "dev tun\n"; + print SERVERCONF "#Logfile for statistics\n"; + print SERVERCONF "status-version 1\n"; + print SERVERCONF "status /var/run/openvpn/$cgiparams{'NAME'}-n2n 10\n"; print SERVERCONF "# Port and Protokol\n"; print SERVERCONF "port $cgiparams{'DEST_PORT'}\n"; - + if ($cgiparams{'PROTOCOL'} eq 'tcp') { print SERVERCONF "proto tcp-server\n"; print SERVERCONF "# Packet size\n"; @@ -1151,6 +1196,14 @@ SETTINGS_ERROR: while ($file = glob("${General::swroot}/ovpn/ccd/*")) { unlink $file } +# Delete all RRD files for Roadwarrior connections + chdir('/var/ipfire/ovpn/ccd'); + while ($file = glob("*")) { + system ("/usr/local/bin/openvpnctrl -drrd $file"); + } + while ($file = glob("${General::swroot}/ovpn/ccd/*")) { + unlink $file + } if (open(FILE, ">${General::swroot}/ovpn/ovpn-leases.db")) { print FILE ""; close FILE; @@ -1203,8 +1256,7 @@ END unlink "${General::swroot}/ovpn/ca/$cgiparams{'DH_NAME'}"; } # Create Diffie Hellmann Parameter - system('/usr/bin/openssl', 'dhparam', '-rand', '/proc/interrupts:/proc/net/rt_cache', - '-out', "${General::swroot}/ovpn/ca/dh1024.pem", "$cgiparams{'DHLENGHT'}"); + system('/usr/bin/openssl', 'dhparam', '-out', "${General::swroot}/ovpn/ca/dh1024.pem", "$cgiparams{'DHLENGHT'}"); if ($?) { $errormessage = "$Lang::tr{'openssl produced an error'}: $?"; unlink ("${General::swroot}/ovpn/ca/dh1024.pem"); @@ -1757,7 +1809,7 @@ END goto ROOTCERT_ERROR; } } else { # child - unless (exec ('/usr/bin/openssl', 'req', '-x509', '-nodes', '-rand', '/proc/interrupts:/proc/net/rt_cache', + unless (exec ('/usr/bin/openssl', 'req', '-x509', '-nodes', '-days', '999999', '-newkey', 'rsa:4096', '-sha512', '-keyout', "${General::swroot}/ovpn/ca/cakey.pem", '-out', "${General::swroot}/ovpn/ca/cacert.pem", @@ -1788,7 +1840,7 @@ END goto ROOTCERT_ERROR; } } else { # child - unless (exec ('/usr/bin/openssl', 'req', '-nodes', '-rand', '/proc/interrupts:/proc/net/rt_cache', + unless (exec ('/usr/bin/openssl', 'req', '-nodes', '-newkey', 'rsa:2048', '-keyout', "${General::swroot}/ovpn/certs/serverkey.pem", '-out', "${General::swroot}/ovpn/certs/serverreq.pem", @@ -1840,8 +1892,7 @@ END # &cleanssldatabase(); } # Create Diffie Hellmann Parameter - system('/usr/bin/openssl', 'dhparam', '-rand', '/proc/interrupts:/proc/net/rt_cache', - '-out', "${General::swroot}/ovpn/ca/dh1024.pem", "$cgiparams{'DHLENGHT'}"); + system('/usr/bin/openssl', 'dhparam', '-out', "${General::swroot}/ovpn/ca/dh1024.pem", "$cgiparams{'DHLENGHT'}"); if ($?) { $errormessage = "$Lang::tr{'openssl produced an error'}: $?"; unlink ("${General::swroot}/ovpn/certs/serverkey.pem"); @@ -2226,6 +2277,21 @@ else print CLIENTCONF "mtu-disc $vpnsettings{'PMTU_DISCOVERY'}\r\n"; } } + # Print client.conf.local if entries exist to client.ovpn + if (!-z $local_clientconf && $vpnsettings{'ADDITIONAL_CONFIGS'} eq 'on') { + open (LCC, "$local_clientconf"); + print CLIENTCONF "\n#---------------------------\n"; + print CLIENTCONF "# Start of custom directives\n"; + print CLIENTCONF "# from client.conf.local\n"; + print CLIENTCONF "#---------------------------\n\n"; + while (<LCC>) { + print CLIENTCONF $_; + } + print CLIENTCONF "\n#---------------------------\n"; + print CLIENTCONF "# End of custom directives\n"; + print CLIENTCONF "#---------------------------\n\n"; + close (LCC); + } close(CLIENTCONF);
$zip->addFile( "$tempdir/$clientovpn", $clientovpn) or die "Can't add file $clientovpn\n"; @@ -2304,7 +2370,10 @@ if ($confighash{$cgiparams{'KEY'}}[3] eq 'net') { # CCD end
- +### +### Delete all RRD's for client +### + system ("/usr/local/bin/openvpnctrl -drrd $confighash{$cgiparams{'KEY'}}[1]"); delete $confighash{$cgiparams{'KEY'}}; my $temp2 = `/usr/bin/openssl ca -gencrl -out ${General::swroot}/ovpn/crls/cacrl.pem -config ${General::swroot}/ovpn/openssl/ovpn.cnf`; &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", %confighash); @@ -2458,6 +2527,9 @@ ADV_ERROR: $checked{'REDIRECT_GW_DEF1'}{'off'} = ''; $checked{'REDIRECT_GW_DEF1'}{'on'} = ''; $checked{'REDIRECT_GW_DEF1'}{$cgiparams{'REDIRECT_GW_DEF1'}} = 'CHECKED'; + $checked{'ADDITIONAL_CONFIGS'}{'off'} = ''; + $checked{'ADDITIONAL_CONFIGS'}{'on'} = ''; + $checked{'ADDITIONAL_CONFIGS'}{$cgiparams{'ADDITIONAL_CONFIGS'}} = 'CHECKED'; $checked{'MSSFIX'}{'off'} = ''; $checked{'MSSFIX'}{'on'} = ''; $checked{'MSSFIX'}{$cgiparams{'MSSFIX'}} = 'CHECKED'; @@ -2538,39 +2610,52 @@ print <<END; </table> <hr size='1'> <table width='100%'> - <tr> + <tr> <td class'base'><b>$Lang::tr{'misc-options'}</b></td> - </tr> - <tr> + </tr> + + <tr> <td width='20%'></td> <td width='15%'> </td><td width='15%'> </td><td width='15%'></td><td width='35%'></td> - </tr> - <tr> + </tr> + + <tr> <td class='base'>Client-To-Client</td> <td><input type='checkbox' name='CLIENT2CLIENT' $checked{'CLIENT2CLIENT'}{'on'} /></td> - </tr> - <tr> + </tr> + + <tr> <td class='base'>Redirect-Gateway def1</td> <td><input type='checkbox' name='REDIRECT_GW_DEF1' $checked{'REDIRECT_GW_DEF1'}{'on'} /></td> - </tr> - <tr> - <td class='base'>Max-Clients</td> - <td><input type='text' name='MAX_CLIENTS' value='$cgiparams{'MAX_CLIENTS'}' size='10' /></td> - </tr> + </tr> + <tr> - <td class='base'>Keepalive <br /> - (ping/ping-restart)</td> - <td><input type='TEXT' name='KEEPALIVE_1' value='$cgiparams{'KEEPALIVE_1'}' size='10' /></td> - <td><input type='TEXT' name='KEEPALIVE_2' value='$cgiparams{'KEEPALIVE_2'}' size='10' /></td> - </tr> + <td class='base'>$Lang::tr{'ovpn add conf'}</td> + <td><input type='checkbox' name='ADDITIONAL_CONFIGS' $checked{'ADDITIONAL_CONFIGS'}{'on'} /></td> + <td>$Lang::tr{'openvpn default'}: off</td> + </tr> + <tr> - <td class='base'>fragment <br></td> - <td><input type='TEXT' name='FRAGMENT' value='$cgiparams{'FRAGMENT'}' size='10' /></td> - </tr> - <tr> - <td class='base'>mssfix</td> - <td><input type='checkbox' name='MSSFIX' $checked{'MSSFIX'}{'on'} /></td> - <td>$Lang::tr{'openvpn default'}: off</td> - </tr> + <td class='base'>mssfix</td> + <td><input type='checkbox' name='MSSFIX' $checked{'MSSFIX'}{'on'} /></td> + <td>$Lang::tr{'openvpn default'}: off</td> + </tr> + + <tr> + <td class='base'>fragment <br></td> + <td><input type='TEXT' name='FRAGMENT' value='$cgiparams{'FRAGMENT'}' size='10' /></td> + </tr> + + + <tr> + <td class='base'>Max-Clients</td> + <td><input type='text' name='MAX_CLIENTS' value='$cgiparams{'MAX_CLIENTS'}' size='10' /></td> + </tr> + <tr> + <td class='base'>Keepalive <br /> + (ping/ping-restart)</td> + <td><input type='TEXT' name='KEEPALIVE_1' value='$cgiparams{'KEEPALIVE_1'}' size='10' /></td> + <td><input type='TEXT' name='KEEPALIVE_2' value='$cgiparams{'KEEPALIVE_2'}' size='10' /></td> + </tr>
<tr> <td class='base'>$Lang::tr{'ovpn mtu-disc'}</td> @@ -2826,7 +2911,7 @@ END </tr> END ; - my $filename = "/var/log/ovpnserver.log"; + my $filename = "/var/run/ovpnserver.log"; open(FILE, $filename) or die 'Unable to open config file.'; my @current = <FILE>; close(FILE); @@ -4014,6 +4099,10 @@ if ($cgiparams{'TYPE'} eq 'net') { $errormessage = $Lang::tr{'passwords do not match'}; goto VPNCONF_ERROR; } + if ($cgiparams{'DAYS_VALID'} ne '' && $cgiparams{'DAYS_VALID'} !~ /^[0-9]+$/) { + $errormessage = $Lang::tr{'invalid input for valid till days'}; + goto VPNCONF_ERROR; + }
# Replace empty strings with a . (my $ou = $cgiparams{'CERT_OU'}) =~ s/^\s*$/./; @@ -4041,7 +4130,7 @@ if ($cgiparams{'TYPE'} eq 'net') { goto VPNCONF_ERROR; } } else { # child - unless (exec ('/usr/bin/openssl', 'req', '-nodes', '-rand', '/proc/interrupts:/proc/net/rt_cache', + unless (exec ('/usr/bin/openssl', 'req', '-nodes', '-newkey', 'rsa:2048', '-keyout', "${General::swroot}/ovpn/certs/$cgiparams{'NAME'}key.pem", '-out', "${General::swroot}/ovpn/certs/$cgiparams{'NAME'}req.pem", @@ -4284,6 +4373,7 @@ if ($cgiparams{'TYPE'} eq 'net') { $cgiparams{'CERT_CITY'} = $vpnsettings{'ROOTCERT_CITY'}; $cgiparams{'CERT_STATE'} = $vpnsettings{'ROOTCERT_STATE'}; $cgiparams{'CERT_COUNTRY'} = $vpnsettings{'ROOTCERT_COUNTRY'}; + $cgiparams{'DAYS_VALID'} = $vpnsettings{'DAYS_VALID'}; }
VPNCONF_ERROR: @@ -4645,27 +4735,28 @@ END
if ($cgiparams{'TYPE'} eq 'host') { print <<END; - </select></td></tr> - - <td> </td><td class='base'>$Lang::tr{'valid till'} (days):</td> - <td class='base' nowrap='nowrap'><input type='text' name='DAYS_VALID' value='$cgiparams{'DAYS_VALID'}' size='32' $cakeydisabled /></td></tr> - <tr><td> </td> + </select></td></tr> + <td> </td><td class='base'>$Lang::tr{'valid till'} (days):</td> + <td class='base' nowrap='nowrap'><input type='text' name='DAYS_VALID' value='$cgiparams{'DAYS_VALID'}' size='32' $cakeydisabled /></td></tr> + <tr><td> </td> <td class='base'>$Lang::tr{'pkcs12 file password'}:</td> <td class='base' nowrap='nowrap'><input type='password' name='CERT_PASS1' value='$cgiparams{'CERT_PASS1'}' size='32' $cakeydisabled /></td></tr> - <tr><td> </td><td class='base'>$Lang::tr{'pkcs12 file password'}:<br>($Lang::tr{'confirmation'})</td> + <tr><td> </td><td class='base'>$Lang::tr{'pkcs12 file password'}:<br>($Lang::tr{'confirmation'})</td> <td class='base' nowrap='nowrap'><input type='password' name='CERT_PASS2' value='$cgiparams{'CERT_PASS2'}' size='32' $cakeydisabled /></td></tr> - <tr><td colspan='3'> </td></tr> - <tr><td colspan='3'><hr /></td></tr> - <tr><td class='base' colspan='3' align='left'><img src='/blob.gif' alt='*' /> $Lang::tr{'this field may be blank'}</td></tr> - </table> + <tr><td colspan='3'> </td></tr> + <tr><td colspan='3'><hr /></td></tr> + <tr><td class='base' colspan='3' align='left'><img src='/blob.gif' alt='*' /> $Lang::tr{'this field may be blank'}</td></tr> + </table> END }else{ print <<END; - </select></td></tr> - <tr><td> </td><td> </td><td> </td></tr> - <tr><td> </td><td> </td><td> </td></tr> - <tr><td colspan='3'><hr /></td></tr> - <tr><td class='base' colspan='3' align='left'><img src='/blob.gif' alt='*' /> $Lang::tr{'this field may be blank'}</td></tr> + </select></td></tr> + <td> </td><td class='base'>$Lang::tr{'valid till'} (days):</td> + <td class='base' nowrap='nowrap'><input type='text' name='DAYS_VALID' value='$cgiparams{'DAYS_VALID'}' size='32' $cakeydisabled /></td></tr> + <tr><td> </td><td> </td><td> </td></tr> + <tr><td> </td><td> </td><td> </td></tr> + <tr><td colspan='3'><hr /></td></tr> + <tr><td class='base' colspan='3' align='left'><img src='/blob.gif' alt='*' /> $Lang::tr{'this field may be blank'}</td></tr> </table>
END @@ -4820,7 +4911,7 @@ END &General::readhasharray("${General::swroot}/ovpn/caconfig", %cahash); &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", %confighash);
- my @status = `/bin/cat /var/log/ovpnserver.log`; + my @status = `/bin/cat /var/run/ovpnserver.log`;
if ($cgiparams{'VPN_IP'} eq '' && -e "${General::swroot}/red/active") { if (open(IPADDR, "${General::swroot}/red/local-ipaddress")) { diff --git a/html/cgi-bin/vpnmain.cgi b/html/cgi-bin/vpnmain.cgi index d86a613..a6d7056 100644 --- a/html/cgi-bin/vpnmain.cgi +++ b/html/cgi-bin/vpnmain.cgi @@ -2176,8 +2176,8 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) || $errormessage = $Lang::tr{'invalid input for ike lifetime'}; goto ADVANCED_ERROR; } - if ($cgiparams{'IKE_LIFETIME'} < 1 || $cgiparams{'IKE_LIFETIME'} > 8) { - $errormessage = $Lang::tr{'ike lifetime should be between 1 and 8 hours'}; + if ($cgiparams{'IKE_LIFETIME'} < 1 || $cgiparams{'IKE_LIFETIME'} > 24) { + $errormessage = $Lang::tr{'ike lifetime should be between 1 and 24 hours'}; goto ADVANCED_ERROR; } @temp = split('|', $cgiparams{'ESP_ENCRYPTION'}); diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index b7692ee..eb29b5f 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -1232,7 +1232,7 @@ 'ike grouptype' => 'IKE Gruppentyp:', 'ike integrity' => 'IKE Integrität:', 'ike lifetime' => 'IKE Lebensdauer:', -'ike lifetime should be between 1 and 8 hours' => 'IKE Lebensdauer sollte zwischen 1 und 8 Stunden betragen.', +'ike lifetime should be between 1 and 24 hours' => 'IKE Lebensdauer sollte zwischen 1 und 24 Stunden betragen.', 'imei' => 'IMEI', 'import' => 'Import', 'importkey' => 'PSK importieren', @@ -1241,7 +1241,9 @@ 'inactive' => 'inaktiv', 'include logfiles' => 'mit Logdateien', 'incoming' => 'eingehend', +'incoming compression in bytes per second' => 'Eingehende Kompression', 'incoming firewall access' => 'Eingehender Firewallzugang', +'incoming overhead in bytes per second' => 'Eingehender Overhead', 'incoming traffic in bytes per second' => 'Eingehender Verkehr', 'incorrect password' => 'Fehlerhaftes Passwort', 'info' => 'Info', @@ -1295,6 +1297,7 @@ 'invalid input for organization' => 'Ungültige Eingabe für Organisation', 'invalid input for remote host/ip' => 'Ungültige Eingabe für Remote Host/IP', 'invalid input for state or province' => 'Ungültige Eingabe für Bundesstaat oder Provinz.', +'invalid input for valid till days' => 'Ungültige Eingabe für Gültig bis (Tage).', 'invalid ip' => 'Ungültige IP-Adresse', 'invalid keep time' => 'Die Aufbewahrungszeit muss eine gültige Zahl sein', 'invalid key' => 'Ungültiger Schlüssel.', @@ -1664,6 +1667,7 @@ 'our donors' => 'Unsere Unterstützer', 'out' => 'Aus', 'outgoing' => 'ausgehend', +'outgoing compression in bytes per second' => 'Abgehende Kompression', 'outgoing firewall' => 'Ausgehende Firewall', 'outgoing firewall access' => 'Ausgehender Firewallzugang', 'outgoing firewall add ip group' => 'IP Adressgruppen hinzufügen', @@ -1686,9 +1690,11 @@ 'outgoing firewall reset' => 'Alle Regeln löschen', 'outgoing firewall view group' => 'Gruppe anzeigen', 'outgoing firewall warning' => 'Nur die Auswahl Quell IP / MAC aktiviert diese', +'outgoing overhead in bytes per second' => 'Abgehender Overhead', 'outgoing traffic in bytes per second' => 'Abgehender Verkehr', 'override mtu' => 'Überschreibe Standard MTU', 'ovpn' => 'OpenVPN', +'ovpn add conf' => 'Erweiterte Konfiguration', 'ovpn con stat' => 'OpenVPN Verbindungs-Statistik', 'ovpn config' => 'OVPN-Konfiguration', 'ovpn crypt options' => 'Kryptografieoptionen', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index 1986409..8c049ff 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -1261,7 +1261,7 @@ 'ike grouptype' => 'IKE Grouptype:', 'ike integrity' => 'IKE Integrity:', 'ike lifetime' => 'IKE Lifetime:', -'ike lifetime should be between 1 and 8 hours' => 'IKE lifetime should be between 1 and 8 hours.', +'ike lifetime should be between 1 and 24 hours' => 'IKE lifetime should be between 1 and 24 hours.', 'imei' => 'IMEI', 'import' => 'Import', 'importkey' => 'Import PSK', @@ -1270,7 +1270,9 @@ 'inactive' => 'inactive', 'include logfiles' => 'Include logfiles', 'incoming' => 'incoming', +'incoming compression in bytes per second' => 'Incoming Compression', 'incoming firewall access' => 'Incoming Firewall Access', +'incoming overhead in bytes per second' => 'Incoming Overhead', 'incoming traffic in bytes per second' => 'Incoming Traffic', 'incorrect password' => 'Incorrect password', 'info' => 'Info', @@ -1325,6 +1327,7 @@ 'invalid input for organization' => 'Invalid input for organization', 'invalid input for remote host/ip' => 'Invalid input for remote host/ip.', 'invalid input for state or province' => 'Invalid input for state or province.', +'invalid input for valid till days' => 'Invalid input for Valid till (days).', 'invalid ip' => 'Invalid IP Address', 'invalid keep time' => 'Keep time must be a valid number', 'invalid key' => 'Invalid key.', @@ -1695,6 +1698,7 @@ 'our donors' => 'Our donors', 'out' => 'Out', 'outgoing' => 'outgoing', +'outgoing compression in bytes per second' => 'Outgoing compression', 'outgoing firewall' => 'Outgoing Firewall', 'outgoing firewall access' => 'Outgoing Firewall Access', 'outgoing firewall add ip group' => 'Add IP Address Group', @@ -1717,9 +1721,11 @@ 'outgoing firewall reset' => 'Reset all', 'outgoing firewall view group' => 'View group', 'outgoing firewall warning' => 'Not selecting source ip or mac ignores them', +'outgoing overhead in bytes per second' => 'Outgoing Overhead', 'outgoing traffic in bytes per second' => 'Outgoing Traffic', 'override mtu' => 'Override default MTU', 'ovpn' => 'OpenVPN', +'ovpn add conf' => 'Additional configuration', 'ovpn con stat' => 'OpenVPN Connection Statistics', 'ovpn config' => 'OVPN-Config', 'ovpn crypt options' => 'Cryptographic options', diff --git a/langs/es/cgi-bin/es.pl b/langs/es/cgi-bin/es.pl index 8c757a9..b7c50ff 100644 --- a/langs/es/cgi-bin/es.pl +++ b/langs/es/cgi-bin/es.pl @@ -934,7 +934,7 @@ 'ike grouptype' => 'Tipo de grupo IKE:', 'ike integrity' => 'Integridad IKE:', 'ike lifetime' => 'Tiempo de vida IKE:', -'ike lifetime should be between 1 and 8 hours' => 'Tiempo de vida IKE entre 1 y 8 horas.', +'ike lifetime should be between 1 and 24 hours' => 'Tiempo de vida IKE entre 1 y 24 horas.', 'import' => 'Importar', 'importkey' => 'Importar PSK', 'in' => 'En', diff --git a/langs/fr/cgi-bin/fr.pl b/langs/fr/cgi-bin/fr.pl index ccd61cb..40053a0 100644 --- a/langs/fr/cgi-bin/fr.pl +++ b/langs/fr/cgi-bin/fr.pl @@ -935,7 +935,7 @@ 'ike grouptype' => 'Type de groupe IKE :', 'ike integrity' => 'Intégrité IKE :', 'ike lifetime' => 'Durée de vie IKE :', -'ike lifetime should be between 1 and 8 hours' => 'La durée de vie IKE devrait être comprise entre 1 et 8 heures.', +'ike lifetime should be between 1 and 24 hours' => 'La durée de vie IKE devrait être comprise entre 1 et 24 heures.', 'import' => 'Importer', 'importkey' => 'Importer PSK', 'in' => 'Dans', diff --git a/langs/it/cgi-bin/it.pl b/langs/it/cgi-bin/it.pl index 0b5e786..4fde313 100644 --- a/langs/it/cgi-bin/it.pl +++ b/langs/it/cgi-bin/it.pl @@ -1247,7 +1247,7 @@ 'ike grouptype' => 'IKE Grouptype:', 'ike integrity' => 'IKE Integrity:', 'ike lifetime' => 'IKE Lifetime:', -'ike lifetime should be between 1 and 8 hours' => 'IKE lifetime should be between 1 and 8 hours.', +'ike lifetime should be between 1 and 24 hours' => 'IKE lifetime should be between 1 and 24 hours.', 'imei' => 'IMEI', 'import' => 'Import', 'importkey' => 'Import PSK', diff --git a/langs/nl/cgi-bin/nl.pl b/langs/nl/cgi-bin/nl.pl index fdad1d3..7468eb9 100644 --- a/langs/nl/cgi-bin/nl.pl +++ b/langs/nl/cgi-bin/nl.pl @@ -1227,7 +1227,7 @@ 'ike grouptype' => 'IKE Groepstype:', 'ike integrity' => 'IKE Integriteit:', 'ike lifetime' => 'IKE Levensduur:', -'ike lifetime should be between 1 and 8 hours' => 'IKE levensduur moet tussen 1 en 8 uur liggen.', +'ike lifetime should be between 1 and 24 hours' => 'IKE levensduur moet tussen 1 en 24 uur liggen.', 'import' => 'Importeer', 'importkey' => 'Importeer PSK', 'in' => 'In', diff --git a/langs/pl/cgi-bin/pl.pl b/langs/pl/cgi-bin/pl.pl index 5a205e1..02fb531 100644 --- a/langs/pl/cgi-bin/pl.pl +++ b/langs/pl/cgi-bin/pl.pl @@ -943,7 +943,7 @@ 'ike grouptype' => 'Typ grupy IKE:', 'ike integrity' => 'Spójność IKE:', 'ike lifetime' => 'Czas ważności IKE:', -'ike lifetime should be between 1 and 8 hours' => 'Czas ważności IKE powinien wynosić od 1 do 8 godzin.', +'ike lifetime should be between 1 and 24 hours' => 'Czas ważności IKE powinien wynosić od 1 do 24 godzin.', 'import' => 'Import', 'importkey' => 'Import PSK', 'in' => 'W', diff --git a/langs/ru/cgi-bin/ru.pl b/langs/ru/cgi-bin/ru.pl index 38b8441..a2a3693 100644 --- a/langs/ru/cgi-bin/ru.pl +++ b/langs/ru/cgi-bin/ru.pl @@ -937,7 +937,7 @@ 'ike grouptype' => 'IKE Grouptype:', 'ike integrity' => 'IKE Integrity:', 'ike lifetime' => 'IKE Lifetime:', -'ike lifetime should be between 1 and 8 hours' => 'IKE lifetime should be between 1 and 8 hours.', +'ike lifetime should be between 1 and 24 hours' => 'IKE lifetime should be between 1 and 24 hours.', 'import' => 'Import', 'importkey' => 'Import PSK', 'in' => 'In', diff --git a/langs/tr/cgi-bin/tr.pl b/langs/tr/cgi-bin/tr.pl index ca199bf..89f753e 100644 --- a/langs/tr/cgi-bin/tr.pl +++ b/langs/tr/cgi-bin/tr.pl @@ -1261,7 +1261,7 @@ 'ike grouptype' => 'IKE Grup Türü:', 'ike integrity' => 'IKE Bütünlüğü:', 'ike lifetime' => 'IKE Yaşam Süresi:', -'ike lifetime should be between 1 and 8 hours' => 'IKE yaşam süresi 1 ila 8 saat arasında olmalıdır.', +'ike lifetime should be between 1 and 24 hours' => 'IKE yaşam süresi 1 ila 24 saat arasında olmalıdır.', 'imei' => 'IMEI', 'import' => 'Al', 'importkey' => 'PSK Al', diff --git a/lfs/asterisk b/lfs/asterisk old mode 100644 new mode 100755 index d2b1976..f886225 --- a/lfs/asterisk +++ b/lfs/asterisk @@ -18,13 +18,9 @@ # # ###############################################################################
-############################################################################### -# Definitions -############################################################################### - include Config
-VER = 1.8.19.0 +VER = 11.15.0
THISAPP = asterisk-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -32,11 +28,9 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = asterisk -PAK_VER = 8 - -CHAN_CAPI = chan_capi-20120614 +PAK_VER = 14
-DEPS = "libpri libtiff libvorbis libogg spandsp netsnmpd" +DEPS = "libsrtp"
############################################################################### # Top-level Rules @@ -44,21 +38,18 @@ DEPS = "libpri libtiff libvorbis libogg spandsp netsnmpd"
objects = $(DL_FILE) \ asterisk-1.4-de-prompts.tar.gz \ - asterisk-extra-sounds-en-gsm-1.4.11.tar.gz \ - asterisk-moh-opsound-gsm-2.03.tar.gz \ - $(CHAN_CAPI).tgz + asterisk-extra-sounds-en-gsm-1.4.15.tar.gz \ + asterisk-moh-opsound-gsm-2.03.tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE) -asterisk-extra-sounds-en-gsm-1.4.11.tar.gz = $(URL_IPFIRE)/asterisk-extra-sounds-en-gsm-1.4.11.tar.gz +asterisk-extra-sounds-en-gsm-1.4.15.tar.gz = $(URL_IPFIRE)/asterisk-extra-sounds-en-gsm-1.4.15.tar.gz asterisk-moh-opsound-gsm-2.03.tar.gz = $(URL_IPFIRE)/asterisk-moh-opsound-gsm-2.03.tar.gz asterisk-1.4-de-prompts.tar.gz = $(URL_IPFIRE)/asterisk-1.4-de-prompts.tar.gz -$(CHAN_CAPI).tgz = $(URL_IPFIRE)/$(CHAN_CAPI).tgz
-$(DL_FILE)_MD5 = dc98436846cc2de57100d78747b1bdd1 -asterisk-extra-sounds-en-gsm-1.4.11.tar.gz_MD5 = 5479cb4cb81d678304d96f35e4933a11 +$(DL_FILE)_MD5 = 71e8c2e207255f7ef12b81b7f0da30ea +asterisk-extra-sounds-en-gsm-1.4.15.tar.gz_MD5 = 5099fc65f49008e33ba7fb043a4ec995 asterisk-moh-opsound-gsm-2.03.tar.gz_MD5 = 09066f55f1358f298bc1a6e4678a3ddf asterisk-1.4-de-prompts.tar.gz_MD5 = 626a2b95071a5505851e43874dfbfd5c -$(CHAN_CAPI).tgz_MD5 = c190f44eb362bf258b27f92c3458e4bf
install : $(TARGET)
@@ -92,16 +83,35 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD)
# remove old directories and extract asterisk - @rm -rf $(DIR_APP) $(DIR_SRC)/asterisk-* $(DIR_SRC)/$(CHAN_CAPI) $(DIR_SRC)/agx-ast-addons && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) - - # confiure asterisk - cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/var/ipfire + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + + # patch asterisk + cd $(DIR_APP) && patch -p4 < $(DIR_SRC)/src/patches/asterisk-no-ffmpeg.patch + + # configure asterisk + cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/var/ipfire \ + --without-oss \ + --without-sdl \ + --without-SDL_image \ + --without-netsnmp \ + --without-avcodec \ + --without-vorbis \ + --without-ogg \ + --without-spandsp \ + --disable-xmldoc
# enable additional features (include following sound-tars) - cd $(DIR_APP) && cp -fv $(DIR_SRC)/config/asterisk/asterisk.makeopts menuselect.makeopts + cd $(DIR_APP) && make menuselect.makeopts && menuselect/menuselect \ + --enable res_srtp \ + --enable app_mysql \ + --enable cdr_mysql \ + --enable res_config_mysql \ + --enable EXTRA-SOUNDS-EN-GSM \ + --enable MOH-OPSOUND-GSM \ + menuselect.makeopts
# add additional sounds - cd $(DIR_APP) && cp -fv $(DIR_DL)/asterisk-extra-sounds-en-gsm-1.4.11.tar.gz $(DIR_APP)/sounds/ + cd $(DIR_APP) && cp -fv $(DIR_DL)/asterisk-extra-sounds-en-gsm-1.4.15.tar.gz $(DIR_APP)/sounds/ cd $(DIR_APP) && cp -fv $(DIR_DL)/asterisk-moh-opsound-gsm-2.03.tar.gz $(DIR_APP)/sounds/
# Fix wrong cpu optimization (march=armv5tel) @@ -127,21 +137,18 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cp -vrf $(DIR_SRC)/config/asterisk/* /var/ipfire/asterisk/ chmod o+w /var/ipfire/asterisk chown nobody:nobody -R /var/ipfire/asterisk - ln -f -s /var/ipfire/asterisk/wakeup/wakeup.sh /etc/fcron.minutely/wakeup.sh - - # build and install chan capi (needed for isdn) - cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(CHAN_CAPI).tgz - cd $(DIR_SRC)/chan-capi-HEAD && sed -i -e 's/^CFLAGS+=-Wno-unused-but-set-variable$$//' Makefile - cd $(DIR_SRC)/chan-capi-HEAD && make $(MAKETUNING) - cd $(DIR_SRC)/chan-capi-HEAD && make install - @rm -rf $(DIR_SRC)/chan-capi-HEAD + chown nobody:nobody -R /var/lib/asterisk
- # be sure all source is removed - @rm -rf $(DIR_APP) $(DIR_SRC)/asterisk-* +# be sure all source is removed + @rm -rf $(DIR_APP) $(DIR_SRC)/asterisk-* $(DIR_SRC)/libsrtp*
# remember backup-location install -v -m 644 $(DIR_SRC)/config/backup/includes/asterisk /var/ipfire/backup/addons/includes/asterisk
+ # Logrotate + mkdir -pv /etc/logrotate.d + install -v -m 644 $(DIR_SRC)/config/asterisk/asterisk.logrotate /etc/logrotate.d/asterisk + # generate softlink (or asterisk will not work properly) ln -sf /var/ipfire/asterisk /etc/asterisk
diff --git a/lfs/clamav b/lfs/clamav index 43b5060..2e07ed0 100644 --- a/lfs/clamav +++ b/lfs/clamav @@ -81,6 +81,7 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/clamav/llvm-glibc.patch cd $(DIR_APP) && ./configure \ --prefix=/usr \ --sysconfdir=/var/ipfire/clamav \ diff --git a/lfs/cmake b/lfs/cmake index 5873965..085d2bf 100644 --- a/lfs/cmake +++ b/lfs/cmake @@ -32,6 +32,10 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)
+ifeq "$(MACHINE)" "armv5tel" + MAKETUNING = -j2 +endif + ############################################################################### # Top-level Rules ############################################################################### diff --git a/lfs/collectd b/lfs/collectd index d4ea661..f01c92a 100644 --- a/lfs/collectd +++ b/lfs/collectd @@ -25,7 +25,7 @@ include Config
PKG_NAME = collectd -VER = 4.10.7 +VER = 4.10.9
THISAPP = collectd-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -46,7 +46,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = f4193fdb5002ddac8159c88032a726bc +$(DL_FILE)_MD5 = 980dd3387508f9ad209df04a6f7a126c
install : $(TARGET)
@@ -79,6 +79,28 @@ $(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 -p1 -i $(DIR_SRC)/src/patches/collectd/0001-src-utils_mount.h-Add-stdio.h.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0002-Don-t-notify-continuously-when-MySQL-slave-SQL-threa.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0003-curl_xml.c-avoid-using-uninitalized-variable-in-erro.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0004-interface.c-FreeBSD-10-support.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0005-Revert-curl_xml.c-avoid-using-uninitalized-variable-.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0006-network-set_thread_cbs-so-we-initialize-the-right-th.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0007-apache-plugin-Call-curl_global_init-from-the-init-fu.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0008-network-comment-libgcrypt-initalization-process.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0009-Call-curl_global_init-in-_init-of-plugins-using-curl.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0010-indent-wh_init-to-be-consistent-with-the-rest-of-the.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0011-Configparser-when-we-alocate-an-empty-list-we-also-n.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0012-don-t-assume-pkg-config-is-in-PATH.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0013-add-missing-backticks-which-broke-the-build.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0014-snmp-free-snmp_pdu-struct-allocated-by-snmp_pdu_crea.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0015-curl_xml-plugin-Fixed-tautological-pointer-compariso.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0016-Add-support-for-OpenVPN-2.3.0-status-files.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0017-openvpn-plugin-Don-t-signal-an-error-when-no-clients.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0018-openvpn-Remove-boguous-file-handler-check.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0019-openvpn-Ignore-not-fully-established-connections.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0020-openvpn-Make-read-functions-robust-like-in-8516f9abb.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0021-openvpn-Fix-copy-and-paste-error.patch + cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0022-openvpn-Change-data-type-from-COUNTER-to-DERIVE.patch cd $(DIR_APP) && ./configure --prefix=/usr --localstatedir=/var \ --disable-{apple_sensors,csv,ipvs,mbmon,memcached,mysql} \ --disable-{netlink,nginx,nut,perl,serial,snmp,tape,vserver,xmms} \ diff --git a/lfs/crda b/lfs/crda index 8bee258..2b1aff8 100644 --- a/lfs/crda +++ b/lfs/crda @@ -71,6 +71,7 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/crda-3.13-crypto_use_optional.patch cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install @rm -rf $(DIR_APP) diff --git a/lfs/daq b/lfs/daq index fa8f2a8..c58995d 100644 --- a/lfs/daq +++ b/lfs/daq @@ -24,7 +24,7 @@
include Config
-VER = 2.0.2 +VER = 2.0.4
THISAPP = daq-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 865bf9b750a2a2ca632591a3c70b0ea0 +$(DL_FILE)_MD5 = 65e51d72e9d5d8b397e192e4e5857eff
install : $(TARGET)
diff --git a/lfs/ddns b/lfs/ddns index b94b3a1..e736e10 100644 --- a/lfs/ddns +++ b/lfs/ddns @@ -24,7 +24,7 @@
include Config
-VER = 004 +VER = 007
THISAPP = ddns-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = ff77cb72d0cb06c73bde70419b15bae8 +$(DL_FILE)_MD5 = 44f63cecc36db0d9ffddfa4bca7983ae
install : $(TARGET)
@@ -72,7 +72,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && [ -x "configure" ] || sh ./autogen.sh - cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/var/ipfire + cd $(DIR_APP) && ./configure \ + --prefix=/usr \ + --sysconfdir=/var/ipfire \ + --disable-manpages + cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install
diff --git a/lfs/directfb b/lfs/directfb index 34acb59..1b5d3a9 100644 --- a/lfs/directfb +++ b/lfs/directfb @@ -88,5 +88,5 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install ln -s $(THISAPP) /usr/src/directfb -# @rm -rf $(DIR_APP) + @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/lfs/dnsmasq b/lfs/dnsmasq index 60dabf4..c256f75 100644 --- a/lfs/dnsmasq +++ b/lfs/dnsmasq @@ -32,7 +32,8 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)
-COPTS = -DHAVE_ISC_READER +# We cannot use INOTIFY because our ISC reader code does not support that +COPTS = -DHAVE_ISC_READER -DNO_INOTIFY
############################################################################### # Top-level Rules @@ -72,7 +73,62 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq-2.72rc2-Add-support-to-read-ISC-DHCP-lease-file.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0020-Initialise-return-value.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0021-Add-ignore-address-option.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0022-Bad-packet-protection.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0035-Update-German-translation.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0040-inotify-documentation-updates.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0042-BSD-make-support.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0044-Manpage-typo-fix.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0047-man-page-typo.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0049-Typos.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq-Add-support-to-read-ISC-DHCP-lease-file.patch cd $(DIR_APP) && sed -i src/config.h \ -e 's|/* #define HAVE_IDN */|#define HAVE_IDN|g' \ -e 's|/* #define HAVE_DNSSEC */|#define HAVE_DNSSEC|g' \ @@ -80,7 +136,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) -e 's|#define HAVE_DHCP6|//#define HAVE_DHCP6|g' \ -e 's|#define HAVE_TFTP|//#define HAVE_TFTP|g'
- cd $(DIR_APP) && make CFLAGS="$(CFLAGS)" COPTS="$(COPTS)" $(MAKETUNING) - cd $(DIR_APP) && make PREFIX=/usr install + cd $(DIR_APP) && make CFLAGS="$(CFLAGS)" COPTS="$(COPTS)" \ + PREFIX=/usr all install @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/lfs/ethtool b/lfs/ethtool index 15f0419..16527b6 100644 --- a/lfs/ethtool +++ b/lfs/ethtool @@ -24,10 +24,10 @@
include Config
-VER = 3.0 +VER = 3.16
THISAPP = ethtool-$(VER) -DL_FILE = $(THISAPP).tar.bz2 +DL_FILE = $(THISAPP).tar.xz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = cb129398cbbf39859901b55ecac101da +$(DL_FILE)_MD5 = 7eee202accb86104adc8463a36a1a468
install : $(TARGET)
@@ -69,7 +69,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE) cd $(DIR_APP) && ./configure --prefix=/usr cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install diff --git a/lfs/fcron b/lfs/fcron index d8fe8fb..5cc2cd6 100644 --- a/lfs/fcron +++ b/lfs/fcron @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2014 Michael Tremer & Christian Schmidt # # # # 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 = 3.0.4 +VER = 3.2.0
THISAPP = fcron-$(VER) DL_FILE = $(THISAPP).src.tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 5a26a1dfd91fdc7e87401e98aef870e6 +$(DL_FILE)_MD5 = 4b031c2fba32a98fa814d1557158b0e9
install : $(TARGET)
diff --git a/lfs/ffmpeg b/lfs/ffmpeg index 7494731..b383886 100644 --- a/lfs/ffmpeg +++ b/lfs/ffmpeg @@ -88,6 +88,5 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_SRC)/ffmpeg && make $(MAKETUNING) $(EXTRA_MAKE) cd $(DIR_SRC)/ffmpeg && make install cd $(DIR_SRC)/ffmpeg && make install-libs - ldconfig -# @rm -rf $(DIR_APP) + @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/lfs/file b/lfs/file index 70a38e2..bfd7552 100644 --- a/lfs/file +++ b/lfs/file @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2014 Michael Tremer & Christian Schmidt # # # # 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 = 5.11 +VER = 5.20
THISAPP = file-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 16a407bd66d6c7a832f3a5c0d609c27b +$(DL_FILE)_MD5 = 5d5e13eb3e0e13839da869a31790faf2
install : $(TARGET)
diff --git a/lfs/fuse b/lfs/fuse index 69e8f01..a875fb3 100644 --- a/lfs/fuse +++ b/lfs/fuse @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2015 Michael Tremer & Christian Schmidt # # # # 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.8.3 +VER = 2.9.3
THISAPP = fuse-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 517c8384f915e40647bda9f71579fd97 +$(DL_FILE)_MD5 = 33cae22ca50311446400daf8a6255c6a
install : $(TARGET)
diff --git a/lfs/gnupg b/lfs/gnupg index 5e5ead9..29835e0 100644 --- a/lfs/gnupg +++ b/lfs/gnupg @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2014 Michael Tremer & Christian Schmidt # # # # 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 = 1.4.12 +VER = 1.4.18
THISAPP = gnupg-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = ce3742e5c7912559cab7894ad8ba7f6b +$(DL_FILE)_MD5 = 54db1be9588b11afbbdd8b82d4ea883a
install : $(TARGET)
diff --git a/lfs/grep b/lfs/grep index e9b0b18..ac20161 100644 --- a/lfs/grep +++ b/lfs/grep @@ -24,7 +24,7 @@
include Config
-VER = 2.14 +VER = 2.21
THISAPP = grep-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -54,7 +54,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = d4a3f03849d1e17ce56ab76aa5a24cab +$(DL_FILE)_MD5 = 43c48064d6409862b8a850db83c8038a
install : $(TARGET)
diff --git a/lfs/haproxy b/lfs/haproxy new file mode 100644 index 0000000..febb65a --- /dev/null +++ b/lfs/haproxy @@ -0,0 +1,99 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2013 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.5.11 + +THISAPP = haproxy-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = haproxy +PAK_VER = 1 + +DEPS = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 5500a79d0d2b238d4a1e9749bd0c2cb2 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + + cd $(DIR_APP) && make $(MAKETUNING) CPU="generic" TARGET="linux2628" \ + USE_OPENSSL=1 USE_PCRE=1 USE_ZLIB=1 USE_REGPARM=1 \ + ADDINC="$(CFLAGS)" USE_LINUX_TPROXY=1 ADDLIB="$(LDFLAGS)" + + cd $(DIR_APP) && make install-bin install-man PREFIX=/usr + + -mkdir -pv /etc/haproxy /var/lib/haproxy + install -v -m 644 $(DIR_SRC)/config/haproxy/haproxy.cfg \ + /etc/haproxy/haproxy.cfg + + install -v -m 644 $(DIR_SRC)/config/backup/includes/haproxy \ + /var/ipfire/backup/addons/includes/haproxy + + # Restore initscript + install -v -m 754 $(DIR_SRC)/src/initscripts/init.d/haproxy \ + /etc/rc.d/init.d/haproxy + + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/lfs/hdparm b/lfs/hdparm index e4a44bf..e4e2e53 100644 --- a/lfs/hdparm +++ b/lfs/hdparm @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2012 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2014 IPFire Team info@ipfire.org # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@
include Config
-VER = 9.42 +VER = 9.45
THISAPP = hdparm-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 0af5a38b212fe08f5afbe5e37f34b40b +$(DL_FILE)_MD5 = 1c75d0751a44928b6c4bc81fb16d7fe8
install : $(TARGET)
diff --git a/lfs/htop b/lfs/htop index c334a91..3e5b532 100644 --- a/lfs/htop +++ b/lfs/htop @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2013 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2014 IPFire Team info@ipfire.org # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@
include Config
-VER = 1.0.2 +VER = 1.0.3
THISAPP = htop-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = htop -PAK_VER = 6 +PAK_VER = 7
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 0d01cca8df3349c74569cefebbd9919e +$(DL_FILE)_MD5 = e768b9b55c033d9c1dffda72db3a6ac7
install : $(TARGET)
diff --git a/lfs/initscripts b/lfs/initscripts old mode 100644 new mode 100755 diff --git a/lfs/iptables b/lfs/iptables index 5a1764b..d3c8402 100644 --- a/lfs/iptables +++ b/lfs/iptables @@ -83,7 +83,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) - @rm -rf $(DIR_APP) $(DIR_SRC)/libnfnetlink-1.0.0 $(DIR_SRC)/netfilter-layer7* $(DIR_SRC)/libnetfilter_queue-0.0.17 + @rm -rf $(DIR_APP) $(DIR_SRC)/libnfnetlink-* $(DIR_SRC)/netfilter-layer7* $(DIR_SRC)/libnetfilter_queue-*
@cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE) # cp -rf /usr/src/linux/include/linux/netfilter /usr/include/linux @@ -138,5 +138,5 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_SRC)/libnetfilter_cttimeout-1.0.0 && make $(MAKETUNING) $(EXTRA_MAKE) cd $(DIR_SRC)/libnetfilter_cttimeout-1.0.0 && make install
- @rm -rf $(DIR_APP) $(DIR_SRC)/libnfnetlink-1.0.0 $(DIR_SRC)/netfilter-layer7* $(DIR_SRC)/libnetfilter_queue-0.0.17 + @rm -rf $(DIR_APP) $(DIR_SRC)/libnfnetlink-* $(DIR_SRC)/netfilter-layer7* $(DIR_SRC)/libnetfilter_queue-* @$(POSTBUILD) diff --git a/lfs/krb5 b/lfs/krb5 index 64eb670..68be46c 100644 --- a/lfs/krb5 +++ b/lfs/krb5 @@ -76,7 +76,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + @rm -rf $(DIR_SRC)/$(THISAPP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) cd $(DIR_APP) && patch -Np2 < $(DIR_SRC)/src/patches/mitkrb-1.12.1-db2_fix-1.patch
cd $(DIR_APP) && sed -e "s@python2.5/Python.h@& python2.7/Python.h@g" \ @@ -101,5 +101,5 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) chmod -f -v 755 "/usr/lib/lib$$LIB.so"; \ done
- @rm -rf $(DIR_APP) + @rm -rf $(DIR_SRC)/$(THISAPP) @$(POSTBUILD) diff --git a/lfs/lcr b/lfs/lcr index 061cde9..321be97 100644 --- a/lfs/lcr +++ b/lfs/lcr @@ -24,7 +24,7 @@
include Config
-VER = 20121008 +VER = 20140403
THISAPP = lcr-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = lcr -PAK_VER = 5 +PAK_VER = 6
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 6c5e25329be107e30436b716bafc786f +$(DL_FILE)_MD5 = c81c5862d51720a3efc06fd2c02cd58d
install : $(TARGET)
@@ -77,8 +77,8 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_SRC)/lcr && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_SRC)/lcr && sed -i -e "s|^EXTENSIONdir=.*|EXTENSIONdir=/var/ipfire/lcr/extensions|g" \ - Makefile.am + cd $(DIR_SRC)/lcr && sed -i -e "s|^EXTENSIONdir=.*|EXTENSIONdir=/var/ipfire/lcr/extensions|g" Makefile.am + cd $(DIR_SRC)/lcr && sed -i -e "s|-D_GNU_SOURCE|-D_GNU_SOURCE -DASTERISK_VERSION_NUM=110000|g" Makefile.am cd $(DIR_SRC)/lcr && ./autogen.sh cd $(DIR_SRC)/lcr && ./configure --prefix=/usr \ --sysconfdir=/var/ipfire \ diff --git a/lfs/libart b/lfs/libart index dbd9840..5d32e0e 100644 --- a/lfs/libart +++ b/lfs/libart @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2014 Michael Tremer & Christian Schmidt # # # # 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.21
THISAPP = libart_lgpl-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = dfca42529393c8a8f59dc4dc10675a46 +$(DL_FILE)_MD5 = 08559ff3c67fd95d57b0c5e91a6b4302
install : $(TARGET)
diff --git a/lfs/libassuan b/lfs/libassuan index 3a32984..9670b7b 100644 --- a/lfs/libassuan +++ b/lfs/libassuan @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2014 Michael Tremer & Christian Schmidt # # # # 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.0.3 +VER = 2.1.3
THISAPP = libassuan-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = libassuan -PAK_VER = 1 +PAK_VER = 2
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 179d1918325fdb928c7bd90b8a514fc7 +$(DL_FILE)_MD5 = b5373485419a7e2c23457d20811caabe
install : $(TARGET)
diff --git a/lfs/libcap b/lfs/libcap index 78b5d34..66ab555 100644 --- a/lfs/libcap +++ b/lfs/libcap @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2014 Michael Tremer & Christian Schmidt # # # # 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,10 +24,10 @@
include Config
-VER = 2.19 +VER = 2.24
THISAPP = libcap-$(VER) -DL_FILE = $(THISAPP).tar.bz2 +DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = eb1ff04d39bfa2342b8e78b0fd60dc2d +$(DL_FILE)_MD5 = ffb154f29b1d28466c6fe6add8286a2d
install : $(TARGET)
@@ -69,11 +69,11 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) cd $(DIR_APP) && make cd $(DIR_APP) && make install # link for old binaries - ln -s libcap.so.2 /lib/libcap.so.1 + ln -svf libcap.so.2 /lib/libcap.so.1 chmod +x /lib/libcap.so.* @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/lfs/libdvbpsi b/lfs/libdvbpsi index cc7f0e3..68c7deb 100644 --- a/lfs/libdvbpsi +++ b/lfs/libdvbpsi @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2014 Michael Tremer & Christian Schmidt # # # # 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,15 +24,15 @@
include Config
-VER = 0.1.6 +VER = 1.2.0
-THISAPP = libdvbpsi5-$(VER) +THISAPP = libdvbpsi-$(VER) DL_FILE = $(THISAPP).tar.bz2 DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = libdvbpsi -PAK_VER = 1 +PAK_VER = 2
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = bd2d9861be3311e1e03c91cd9345f542 +$(DL_FILE)_MD5 = 69e38e93c4db4f2a58cbd0b6f9f38228
install : $(TARGET)
diff --git a/lfs/libevent2 b/lfs/libevent2 index 0756ab1..e2ad69f 100644 --- a/lfs/libevent2 +++ b/lfs/libevent2 @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2011 IPFire Team info@ipfire.de # +# Copyright (C) 2007-2014 IPFire Team info@ipfire.de # # # # 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.0.13-stable +VER = 2.0.21-stable
THISAPP = libevent-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -33,7 +33,7 @@ DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)
PROG = libevent2 -PAK_VER = 1 +PAK_VER = 2
DEPS = ""
@@ -45,7 +45,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = af786b4b3f790c9d3279792edf7867fc +$(DL_FILE)_MD5 = b2405cc9ebf264aa47ff615d9de527a2
install : $(TARGET)
diff --git a/lfs/libffi b/lfs/libffi index 0e94b31..6f9a868 100644 --- a/lfs/libffi +++ b/lfs/libffi @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2014 Michael Tremer & Christian Schmidt # # # # 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 = 3.0.11 +VER = 3.2.1
THISAPP = libffi-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = f69b9693227d976835b4857b1ba7d0e3 +$(DL_FILE)_MD5 = 83b89587607e3eb65c70d361f13bab43 install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects)) diff --git a/lfs/libpcap b/lfs/libpcap index 0f118a4..fa2aae8 100644 --- a/lfs/libpcap +++ b/lfs/libpcap @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2014 Michael Tremer & Christian Schmidt # # # # 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 = 1.4.0 +VER = 1.6.2
THISAPP = libpcap-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -42,7 +42,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 56e88a5aabdd1e04414985ac24f7e76c +$(DL_FILE)_MD5 = 5f14191c1a684a75532c739c2c4059fa
install : $(TARGET)
@@ -72,7 +72,11 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && ./configure --prefix=/usr + cd $(DIR_APP) && ./configure \ + --prefix=/usr \ + --enable-bluetooth=no \ + --disable-dbus + cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install @rm -rf $(DIR_APP) diff --git a/lfs/libsrtp b/lfs/libsrtp new file mode 100644 index 0000000..6dfef3b --- /dev/null +++ b/lfs/libsrtp @@ -0,0 +1,84 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# # +# 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.5.0 +THISAPP = libsrtp-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = libsrtp +PAK_VER = 1 + +DEPS = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = ec49ba558b4fd056114df2c76935aa8e + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + + cd $(DIR_APP) && ./configure --prefix=/usr + cd $(DIR_APP) && make uninstall && make $(MAKETUNING) libsrtp.so + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/lfs/logrotate b/lfs/logrotate index 54afba1..8f81b2d 100644 --- a/lfs/logrotate +++ b/lfs/logrotate @@ -72,6 +72,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install - touch /var/lib/logrotate.status + mkdir -pv /etc/logrotate.d + touch /etc/logrotate.d/.empty /var/lib/logrotate.status @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/lfs/lynis b/lfs/lynis index 5cfd184..b3cabd7 100644 --- a/lfs/lynis +++ b/lfs/lynis @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2015 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,16 +24,16 @@
include Config
-VER = 1.2.9 +VER = 1.6.4
THISAPP = lynis-$(VER) DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) -DIR_APP = $(DIR_SRC)/$(THISAPP) +DIR_APP = $(DIR_SRC)/lynis TARGET = $(DIR_INFO)/$(THISAPP)
PROG = lynis -PAK_VER = 4 +PAK_VER = 5 DEPS = ""
############################################################################### @@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 69b369173ffc0f10f021035f73857e1f +$(DL_FILE)_MD5 = dfa946388af8926bd24f772d4fa4830a
install : $(TARGET)
diff --git a/lfs/mISDNuser b/lfs/mISDNuser index 4f4edd5..c471c76 100644 --- a/lfs/mISDNuser +++ b/lfs/mISDNuser @@ -74,4 +74,5 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_SRC)/mISDNuser && ./configure --prefix=/usr --with-AF_ISDN=34 cd $(DIR_SRC)/mISDNuser && make MISDNDIR=/usr/src/linux cd $(DIR_SRC)/mISDNuser && make install MISDNDIR=/usr/src/linux + @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/lfs/mc b/lfs/mc index ed799be..4dc937c 100644 --- a/lfs/mc +++ b/lfs/mc @@ -24,7 +24,7 @@
include Config
-VER = 4.8.12 +VER = 4.8.13
THISAPP = mc-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = mc -PAK_VER = 9 +PAK_VER = 10
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 7ecccc03df060cd0ca1414a5a14e6649 +$(DL_FILE)_MD5 = d967caa12765eb86e52a6a63ca202500
install : $(TARGET)
diff --git a/lfs/mediatomb b/lfs/mediatomb index 7de579e..5811a0a 100644 --- a/lfs/mediatomb +++ b/lfs/mediatomb @@ -32,9 +32,9 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = mediatomb -PAK_VER = 4 +PAK_VER = 5
-DEPS = "ffmpeg-libs libexif sqlite taglib " +DEPS = "ffmpeg-libs libexif taglib "
############################################################################### # Top-level Rules diff --git a/lfs/minidlna b/lfs/minidlna index 155cd4a..1c3f61c 100644 --- a/lfs/minidlna +++ b/lfs/minidlna @@ -32,9 +32,9 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = minidlna -PAK_VER = 3 +PAK_VER = 4
-DEPS = "ffmpeg flac libexif libid3tag libogg sqlite" +DEPS = "ffmpeg flac libexif libid3tag libogg"
############################################################################### # Top-level Rules diff --git a/lfs/miniupnpd b/lfs/miniupnpd index a314624..18b8c39 100644 --- a/lfs/miniupnpd +++ b/lfs/miniupnpd @@ -24,7 +24,7 @@
include Config
-VER = 1.8 +VER = 1.9
THISAPP = miniupnpd-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = miniupnpd -PAK_VER = 1 +PAK_VER = 2
############################################################################### # Top-level Rules @@ -42,7 +42,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 0d8a8e936d5a0012cb260a3b972acbf3 +$(DL_FILE)_MD5 = 9151502f84f130b0ef1245ac938c33f9
install : $(TARGET)
diff --git a/lfs/monit b/lfs/monit new file mode 100644 index 0000000..6c35c6c --- /dev/null +++ b/lfs/monit @@ -0,0 +1,96 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2009 Michael Tremer & Christian Schmidt # +# # +# 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 = 5.11 + +THISAPP = monit-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = monit +PAK_VER = 3 + +DEPS = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = ff00f39d248ed7068932ed82211da9e6 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var + cd $(DIR_APP) && make $(MAKETUNING) + cd $(DIR_APP) && make install + + install -v -m 644 $(DIR_SRC)/config/backup/includes/monit \ + /var/ipfire/backup/addons/includes/monit + + # Install default configuration + install -v -m 600 $(DIR_SRC)/config/monit/monitrc /etc + + # Install start links and backup include file. + ln -sf ../init.d/monit /etc/rc.d/rc3.d/S60monit + ln -sf ../init.d/monit /etc/rc.d/rc0.d/K40monit + ln -sf ../init.d/monit /etc/rc.d/rc6.d/K40monit + + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/lfs/nagios b/lfs/nagios index 868272b..1a88989 100644 --- a/lfs/nagios +++ b/lfs/nagios @@ -79,7 +79,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + @rm -rf $(DIR_APP) $(DIR_SRC)/nagios-plugins* && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) cd $(DIR_APP) && \ ./configure --prefix=/usr \ --sysconfdir=/etc/nagios \ @@ -110,5 +110,5 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) ln -s /etc/init.d/nagios /etc/rc.d/rc3.d/S67nagios ln -s /etc/init.d/nagios /etc/rc.d/rc0.d/K33nagios ln -s /etc/init.d/nagios /etc/rc.d/rc6.d/K33nagios - @rm -rf $(DIR_APP) + @rm -rf $(DIR_APP) $(DIR_SRC)/nagios-plugins* @$(POSTBUILD) diff --git a/lfs/nginx b/lfs/nginx index b640dcc..63d3698 100644 --- a/lfs/nginx +++ b/lfs/nginx @@ -24,7 +24,7 @@
include Config
-VER = 1.4.4 +VER = 1.6.2
THISAPP = nginx-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = nginx -PAK_VER = 3 +PAK_VER = 4
############################################################################### # Top-level Rules @@ -42,7 +42,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 5dfaba1cbeae9087f3949860a02caa9f +$(DL_FILE)_MD5 = d1b55031ae6e4bce37f8776b94d8b930
install : $(TARGET)
diff --git a/lfs/nmap b/lfs/nmap index 38b6da9..a7870da 100644 --- a/lfs/nmap +++ b/lfs/nmap @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2011 IPFire Team info@ipfire.org # +# Copyright (C) 2015 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 = 6.01 +VER = 6.47
THISAPP = nmap-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = nmap -PAK_VER = 6 +PAK_VER = 7
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = a1a71940f238abb835dbf3ee7412bcea +$(DL_FILE)_MD5 = edfe81f6763223c0a29bfa15a8526e2a
install : $(TARGET)
diff --git a/lfs/ntfs-3g b/lfs/ntfs-3g index 4d65137..0ed890f 100644 --- a/lfs/ntfs-3g +++ b/lfs/ntfs-3g @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2009 Michael Tremer & Christian Schmidt # +# Copyright (C) 2015 Michael Tremer & Christian Schmidt # # # # 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,9 +24,9 @@
include Config
-VER = 2011.1.15 +VER = 2014.2.15
-THISAPP = ntfs-3g-$(VER) +THISAPP = ntfs-3g_ntfsprogs-$(VER) DL_FILE = $(THISAPP).tgz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 15a5cf5752012269fa168c24191f00e2 +$(DL_FILE)_MD5 = f11d563816249d730a00498983485f3a
install : $(TARGET)
diff --git a/lfs/openssl b/lfs/openssl index eae2c6e..82f26bd 100644 --- a/lfs/openssl +++ b/lfs/openssl @@ -105,6 +105,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) no-mdc2 \ no-rc5 \ no-srp \ + no-ssl2 \ + no-ssl3 \ $(CONFIGURE_ARGS) \ -DSSL_FORBID_ENULL \ -DHAVE_CRYPTODEV \ diff --git a/lfs/openvpn b/lfs/openvpn index 44a8b46..a19ac1f 100644 --- a/lfs/openvpn +++ b/lfs/openvpn @@ -83,6 +83,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_APP) && make install cd $(DIR_APP) && cp -Rvf $(DIR_SRC)/config/ovpn /var/ipfire -mkdir -vp /usr/lib/openvpn/plugins + -mkdir -vp /var/log/openvpn -mkdir -vp /var/ipfire/ovpn/ca -mkdir -vp /var/ipfire/ovpn/ccd -mkdir -vp /var/ipfire/ovpn/crls @@ -92,8 +93,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) chmod 700 /var/ipfire/ovpn/ovpn-leases.db chown -R root:root /var/ipfire/ovpn/scripts chown -R nobody:nobody /var/ipfire/ovpn - chown root.nobody /var/log/ovpnserver.log - chmod 660 /var/log/ovpnserver.log chmod 700 /var/ipfire/ovpn/certs mv -v /var/ipfire/ovpn/verify /usr/lib/openvpn/verify chown root:root /usr/lib/openvpn/verify diff --git a/lfs/owncloud b/lfs/owncloud index 93ab3a5..88c5f45 100644 --- a/lfs/owncloud +++ b/lfs/owncloud @@ -24,7 +24,7 @@
include Config
-VER = 7.0.0 +VER = 7.0.3
THISAPP = owncloud-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = owncloud -PAK_VER = 2 +PAK_VER = 4
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 28cfdc99e8ee9350fe88430b4c7d62f2 +$(DL_FILE)_MD5 = d5d2ad068046e6ddb322cf001a9bb3d5
install : $(TARGET)
@@ -97,4 +97,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) /etc/httpd/conf/vhosts.d/ install -v -m 644 $(DIR_SRC)/config/backup/includes/owncloud \ /var/ipfire/backup/addons/includes/owncloud + + @rm -rf $(DIR_SRC)/$(PROG) @$(POSTBUILD) diff --git a/lfs/pakfire3 b/lfs/pakfire3 index 8fb810d..d71d424 100644 --- a/lfs/pakfire3 +++ b/lfs/pakfire3 @@ -32,9 +32,9 @@ DL_FROM = http://source.ipfire.org/releases/pakfire/ DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = pakfire3 -PAK_VER = 4 +PAK_VER = 5
-DEPS = "libsolv pycurl pygpgme python-progressbar python-xattr sqlite urlgrabber" +DEPS = "libsolv pycurl pygpgme python-progressbar python-xattr urlgrabber"
############################################################################### # Top-level Rules diff --git a/lfs/pcre b/lfs/pcre index 5aa40bd..f5c771c 100644 --- a/lfs/pcre +++ b/lfs/pcre @@ -24,7 +24,7 @@
include Config
-VER = 8.31 +VER = 8.36
THISAPP = pcre-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = fab1bb3b91a4c35398263a5c1e0858c1 +$(DL_FILE)_MD5 = ff7b4bb14e355f04885cf18ff4125c98
install : $(TARGET)
@@ -74,7 +74,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) --prefix=/usr \ --disable-static \ --enable-utf8 \ - --enable-jit \ + --disable-jit \ --enable-unicode-properties cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install diff --git a/lfs/screen b/lfs/screen index b94d62e..f3c451d 100644 --- a/lfs/screen +++ b/lfs/screen @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2014 Michael Tremer & Christian Schmidt # # # # 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 = 4.0.3 +VER = 4.2.1
THISAPP = screen-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 8506fd205028a96c741e4037de6e3c42 +$(DL_FILE)_MD5 = 419a0594e2b25039239af8b90eda7d92
install : $(TARGET)
@@ -70,7 +70,8 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/screen-4.0.3-stropts.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/screen-4.2.1-cpation-hardstatus.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/screen-4.2.1-altscreen.patch cd $(DIR_APP) && ./configure --prefix=/usr --with-socket-dir=/var/run/screen --with-sys-screenrc=/etc/screenrc cd $(DIR_APP) && sed -i -e "s%/usr/local/etc/screenrc%/etc/screenrc%" {etc,doc}/* cd $(DIR_APP) && make $(MAKETUNING) diff --git a/lfs/smartmontools b/lfs/smartmontools index 196b466..c3ba635 100644 --- a/lfs/smartmontools +++ b/lfs/smartmontools @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2012 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2014 IPFire Team info@ipfire.org # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@
include Config
-VER = 6.1 +VER = 6.3
THISAPP = smartmontools-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 83a3a681f8183ed858392d550ae1cca6 +$(DL_FILE)_MD5 = 2ea0c62206e110192a97b59291b17f54
install : $(TARGET)
diff --git a/lfs/snort b/lfs/snort index 45c17a8..77d3b0d 100644 --- a/lfs/snort +++ b/lfs/snort @@ -24,7 +24,7 @@
include Config
-VER = 2.9.6.1 +VER = 2.9.7.0
THISAPP = snort-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = d7c0f1ddb2e70b70acdaa4664abb5fb0 +$(DL_FILE)_MD5 = c2a45bc56441ee9456478f219dd8d1e2
install : $(TARGET)
diff --git a/lfs/sqlite b/lfs/sqlite index 5bc694a..903bcb2 100644 --- a/lfs/sqlite +++ b/lfs/sqlite @@ -24,17 +24,13 @@
include Config
-VER = 3070603 +VER = 3080704
THISAPP = sqlite-autoconf-$(VER) DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PROG = sqlite -PAK_VER = 2 - -DEPS = ""
############################################################################### # Top-level Rules @@ -44,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 7eb41eea5ffa5cbe359a48629084c425 +$(DL_FILE)_MD5 = 33bb8db0038317ce1b0480ca1185c7ba
install : $(TARGET)
@@ -67,9 +63,6 @@ $(patsubst %,$(DIR_DL)/%,$(objects)) : $(subst %,%_MD5,$(objects)) : @$(MD5)
-dist: - @$(PAK) - ############################################################################### # Installation Details ############################################################################### diff --git a/lfs/squid b/lfs/squid index 548abd9..67e4a7d 100644 --- a/lfs/squid +++ b/lfs/squid @@ -24,7 +24,7 @@
include Config
-VER = 3.4.8 +VER = 3.4.9
THISAPP = squid-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = b0c4335447248810169f58ea4d8b204a +$(DL_FILE)_MD5 = 497e5be7b3430d12667628296760beca
install : $(TARGET)
diff --git a/lfs/squid-accounting b/lfs/squid-accounting index 9ef8324..7eae4fb 100644 --- a/lfs/squid-accounting +++ b/lfs/squid-accounting @@ -9,7 +9,7 @@
include Config
-VER = 1.0.1 +VER = 1.0.2
THISAPP = squid-accounting-$(VER) DIR_APP = $(DIR_SRC)/$(THISAPP) diff --git a/lfs/strongswan b/lfs/strongswan index 642d651..43995b5 100644 --- a/lfs/strongswan +++ b/lfs/strongswan @@ -24,7 +24,7 @@
include Config
-VER = 5.2.1 +VER = 5.2.2
THISAPP = strongswan-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -48,7 +48,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = dd3717c0aa59ab4591ca1812941ebb82 +$(DL_FILE)_MD5 = 7ee1a33060b2bde35be0f6d78a1d26d0
install : $(TARGET)
@@ -78,8 +78,11 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/strongswan-5.1.2-5.2.1_modp_custom.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/strongswan-5.0.2_ipfire.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/strongswan-5.2.2-issue-816-eb25190.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/strongswan-5.2.2-issue-816-650a3ad.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/strongswan-5.2.2-issue-816-dd0ebb.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/strongswan-5.2.2-issue-819-cd2c30a.patch
cd $(DIR_APP) && [ -x "configure" ] || ./autogen.sh cd $(DIR_APP) && ./configure \ @@ -117,5 +120,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) ln -sf $(CONFIG_ROOT)/certs /etc/ipsec.d/certs ln -sf $(CONFIG_ROOT)/crls /etc/ipsec.d/crls
+ install -v -m 644 $(DIR_SRC)/config/strongswan/charon.conf \ + /etc/strongswan.d/charon.conf + @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/lfs/sysklogd b/lfs/sysklogd index 9c9dd0d..ca6110a 100644 --- a/lfs/sysklogd +++ b/lfs/sysklogd @@ -75,8 +75,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) #cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)_xen_empty_buffer_check.patch cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install - touch /var/log/{dhcpcd.log,messages,ovpnserver.log} - chmod 664 /var/log/{dhcpcd.log,messages,ovpnserver.log} - chown 0:105 /var/log/{dhcpcd.log,messages,ovpnserver.log} + touch /var/log/{dhcpcd.log,messages} + chmod 664 /var/log/{dhcpcd.log,messages} + chown 0:105 /var/log/{dhcpcd.log,messages} @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/lfs/tar b/lfs/tar index b1ef2fc..5919b04 100644 --- a/lfs/tar +++ b/lfs/tar @@ -24,7 +24,7 @@
include Config
-VER = 1.22 +VER = 1.28
THISAPP = tar-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -36,7 +36,7 @@ DIR_APP = $(DIR_SRC)/$(THISAPP) ifeq "$(ROOT)" "" TARGET = $(DIR_INFO)/$(THISAPP) EXTRA_CONFIG = --prefix=/usr --bindir=/bin \ - --libexecdir=/usr/sbin --disable-nls + --libexecdir=/usr/sbin --disable-nls FORCE_UNSAFE_CONFIGURE=1 EXTRA_MAKE = EXTRA_INSTALL = else @@ -54,7 +54,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 07fa517027f426bb80f5f5ff91b63585 +$(DL_FILE)_MD5 = 8f32b2bc1ed7ddf4cf4e4a39711341b0
install : $(TARGET)
diff --git a/lfs/tcpdump b/lfs/tcpdump index 934e851..6fe6f98 100644 --- a/lfs/tcpdump +++ b/lfs/tcpdump @@ -24,7 +24,7 @@
include Config
-VER = 4.4.0 +VER = 4.6.2
THISAPP = tcpdump-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = tcpdump -PAK_VER = 3 +PAK_VER = 4
DEPS = ""
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 6f75aabcffd012f73bd7c331bb5d8232 +$(DL_FILE)_MD5 = 74d0d3728b3cdc60db872d842e7f1598
install : $(TARGET)
diff --git a/lfs/teamspeak b/lfs/teamspeak deleted file mode 100644 index 06fbb0f..0000000 --- a/lfs/teamspeak +++ /dev/null @@ -1,62 +0,0 @@ -############################################################################### -# # -# IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # -# # -# 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 = 2.0.24.1 - -THISAPP = teamspeak-$(VER) -TARGET = $(DIR_INFO)/$(THISAPP) -PROG = teamspeak -PAK_VER = 2 - -DEPS = "" - -############################################################################### -# Top-level Rules -############################################################################### - -objects = - -install : $(TARGET) - -check : - -download : - -md5 : - -dist: - @$(PAK) - -############################################################################### -# Installation Details -############################################################################### - -$(TARGET) : - @$(PREBUILD) - -mkdir -p /opt/teamspeak - install -v -m 644 $(DIR_SRC)/config/backup/includes/teamspeak \ - /var/ipfire/backup/addons/includes/teamspeak - @$(POSTBUILD) diff --git a/lfs/wget b/lfs/wget index fd4c947..eef2a25 100644 --- a/lfs/wget +++ b/lfs/wget @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2013 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2014 IPFire Team info@ipfire.org # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@
include Config
-VER = 1.14 +VER = 1.16
THISAPP = wget-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 316f6f59292c9098ad81fd54f658c579 +$(DL_FILE)_MD5 = fe102975ab3a6c049777883f1bb9ad07
install : $(TARGET)
@@ -71,8 +71,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/wget-1.14-texi2pod-1.patch - cd $(DIR_APP) && ./configure \ --prefix=/usr \ --sysconfdir=/etc \ diff --git a/lfs/xvid b/lfs/xvid index f3cf00c..abf03a5 100644 --- a/lfs/xvid +++ b/lfs/xvid @@ -29,7 +29,7 @@ VER = 1.2.1 THISAPP = xvidcore-$(VER) DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) -DIR_APP = $(DIR_SRC)/$(THISAPP) +DIR_APP = $(DIR_SRC)/xvidcore TARGET = $(DIR_INFO)/$(THISAPP) PROG = xvid PAK_VER = 2 @@ -77,9 +77,9 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_SRC)/xvidcore/build/generic && ./configure --prefix=/usr - cd $(DIR_SRC)/xvidcore/build/generic && make - cd $(DIR_SRC)/xvidcore/build/generic && make install + cd $(DIR_APP)/build/generic && ./configure --prefix=/usr + cd $(DIR_APP)/build/generic && make + cd $(DIR_APP)/build/generic && make install chmod -v 755 /usr/lib/libxvidcore.so.4.2 ln -v -sf libxvidcore.so.4.2 /usr/lib/libxvidcore.so.4 ln -v -sf libxvidcore.so.4 /usr/lib/libxvidcore.so diff --git a/lfs/zlib b/lfs/zlib index 0a2977d..6520a23 100644 --- a/lfs/zlib +++ b/lfs/zlib @@ -24,7 +24,7 @@
include Config
-VER = 1.2.7 +VER = 1.2.8
THISAPP = zlib-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -41,7 +41,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 60df6a37c56e7c1366cca812414f7b85 +$(DL_FILE)_MD5 = 44d667c142d7cda120332623eab69f40
install : $(TARGET)
diff --git a/make.sh b/make.sh index 4e7eba2..7d41b59 100755 --- a/make.sh +++ b/make.sh @@ -664,7 +664,6 @@ buildipfire() { ipfiremake lm_sensors ipfiremake liboping ipfiremake collectd - ipfiremake teamspeak ipfiremake elinks ipfiremake igmpproxy ipfiremake fbset @@ -733,9 +732,11 @@ buildipfire() { ipfiremake iftop ipfiremake motion ipfiremake joe + ipfiremake monit ipfiremake nut ipfiremake watchdog ipfiremake libpri + ipfiremake libsrtp ipfiremake asterisk ipfiremake lcr ipfiremake usb_modeswitch @@ -810,6 +811,7 @@ buildipfire() { ipfiremake pigz ipfiremake tmux ipfiremake swconfig + ipfiremake haproxy }
buildinstaller() { diff --git a/src/initscripts/init.d/asterisk b/src/initscripts/init.d/asterisk index aac9a63..ef5b5f9 100644 --- a/src/initscripts/init.d/asterisk +++ b/src/initscripts/init.d/asterisk @@ -18,7 +18,7 @@ case "${1}" in start) boot_mesg "Starting Asterisk PBX..." - loadproc /usr/sbin/asterisk -p + loadproc /usr/sbin/asterisk -p ;;
stop) diff --git a/src/initscripts/init.d/haproxy b/src/initscripts/init.d/haproxy new file mode 100644 index 0000000..78d64ce --- /dev/null +++ b/src/initscripts/init.d/haproxy @@ -0,0 +1,47 @@ +#!/bin/sh +######################################################################## +# Begin $rc_base/init.d/haproxy +# +# Description : HAProxy init script +# +######################################################################## + +. /etc/sysconfig/rc +. ${rc_functions} + +case "${1}" in + start) + boot_mesg "Starting HAProxy..." + loadproc /usr/sbin/haproxy -D -f /etc/haproxy/haproxy.cfg \ + -p /var/run/haproxy.pid + ;; + + stop) + boot_mesg "Stopping HAProxy..." + killproc /usr/sbin/haproxy + ;; + + reload) + boot_mesg "Reloading HAProxy..." + /usr/sbin/haproxy -D -f /etc/haproxy/haproxy.cfg \ + -p /var/run/haproxy.pid -sf $(cat /var/run/haproxy.pid) + evaluate_retval + ;; + + restart) + ${0} stop + sleep 1 + ${0} start + ;; + + status) + statusproc /usr/sbin/haproxy + ;; + + *) + echo "Usage: ${0} {start|stop|reload|restart|status}" + exit 1 + ;; +esac + +# End $rc_base/init.d/haproxy diff --git a/src/initscripts/init.d/monit b/src/initscripts/init.d/monit new file mode 100644 index 0000000..02f47e4 --- /dev/null +++ b/src/initscripts/init.d/monit @@ -0,0 +1,39 @@ +#!/bin/sh +######################################################################## +# Begin $rc_base/init.d/monit +# +# Description : monit monitoring daemon +# +######################################################################## + +. /etc/sysconfig/rc +. ${rc_functions} + +case "${1}" in + start) + boot_mesg "Starting monit..." + loadproc /usr/bin/monit + ;; + + stop) + boot_mesg "Stopping monit..." + killproc /usr/bin/monit + ;; + + restart) + ${0} stop + sleep 1 + ${0} start + ;; + + status) + statusproc /usr/bin/monit + ;; + + *) + echo "Usage: ${0} {start|stop|restart|status}" + exit 1 + ;; +esac + +# End $rc_base/init.d/monit diff --git a/src/initscripts/init.d/teamspeak b/src/initscripts/init.d/teamspeak deleted file mode 100644 index 227b6d2..0000000 --- a/src/initscripts/init.d/teamspeak +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -######################################################################## -# Begin $rc_base/init.d/teamspeak -# -# Description : Start/Stops the teamspeak server -# -# Authors : Michael Tremer -# -# Version : 01.00 -# -# Notes : -# -######################################################################## - -. /etc/sysconfig/rc -. $rc_functions - -case "$1" in - status) - statusproc /opt/teamspeak/server_linux - ;; - *) - export LANG=en_US.utf8 - cd /opt/teamspeak && sudo -u teamspeak ./teamspeak2-server_startscript $* - exit 0 - ;; -esac -# End $rc_base/init.d/teamspeak diff --git a/src/installer/hw.c b/src/installer/hw.c index ce97775..92d0ae5 100644 --- a/src/installer/hw.c +++ b/src/installer/hw.c @@ -322,6 +322,9 @@ struct hw_disk** hw_find_disks(struct hw* hw, const char* sourcedrive) { "%s - %s", size_str, p); }
+ // Cut off the description string after 40 characters + disk->description[41] = '\0'; + *disks++ = disk;
if (--i == 0) diff --git a/src/installer/po/LINGUAS b/src/installer/po/LINGUAS index 6fbf14c..8678850 100644 --- a/src/installer/po/LINGUAS +++ b/src/installer/po/LINGUAS @@ -12,7 +12,6 @@ hu id it ja -ja_JP jv km_KH nl @@ -21,7 +20,6 @@ pt_BR pt_PT ro_RO ru -ru_RU rw sk sq diff --git a/src/installer/po/da.po b/src/installer/po/da.po index 75918db..459a8dc 100644 --- a/src/installer/po/da.po +++ b/src/installer/po/da.po @@ -3,14 +3,14 @@ # 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-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" +"PO-Revision-Date: 2015-01-13 21:22+0000\n" +"Last-Translator: Henrik Simonsen cybermaze@gmail.com\n" "Language-Team: Danish (http://www.transifex.com/projects/p/ipfire/language/da/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -33,7 +33,7 @@ msgstr "Jeg accepterer brugerlicensen"
#: main.c:384 msgid "Warning: Unattended installation will start in 10 seconds..." -msgstr "" +msgstr "Advarsel: Installation uden opsyn starter om 10 sekunder..."
#: main.c:403 msgid "Language selection" @@ -45,7 +45,7 @@ msgstr "Vælg det sprog du ønsker at anvende under installationen."
#: main.c:418 msgid "Unattended mode" -msgstr "" +msgstr "Uden opsyn"
#: main.c:420 msgid "<Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen" @@ -66,7 +66,7 @@ msgstr "Start installationen" #: main.c:449 #, c-format msgid "The installer will now try downloading the installation image." -msgstr "" +msgstr "Installationen vil nu forsøge at hente installationsbilledet."
#: main.c:452 #, c-format @@ -74,41 +74,41 @@ msgid "" "No source drive could be found.\n" "\n" "You can try downloading the required installation image." -msgstr "" +msgstr "Kunne ikke finde et kildedrev.\n\nDu kan prøve at hente det påkrævede installationsbillede."
#: 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 "Sørg venligst for at din computer er forbundet til et netværk, så vil installationen forsøge at skaffe en IP adresse."
#: main.c:460 msgid "Download installation image" -msgstr "" +msgstr "Hent installationsbillede"
#: main.c:473 msgid "Trying to start networking (DHCP)..." -msgstr "" +msgstr "Prøver at starte netværk (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 "Kunne ikke oprette forbindelse til et netværk hvilket er nødvendigt for installationen.\n\nForbind venligst din computer til et netværk med en DHCP server og prøv igen."
#: main.c:487 main.c:516 msgid "Retry" -msgstr "" +msgstr "Prøv igen"
#: main.c:501 msgid "Downloading installation image..." -msgstr "" +msgstr "Henter installationsbillede..."
#: main.c:510 #, c-format msgid "MD5 checksum mismatch" -msgstr "" +msgstr "MD5 checksum mismatch"
#: main.c:513 #, c-format @@ -117,14 +117,14 @@ msgid "" " Reason: %s\n" "\n" "%s" -msgstr "" +msgstr "Installationsbilledet kunne ikke hentes.\n Årsag: %s\n\n%s"
#: main.c:528 #, c-format msgid "" "Could not mount %s to %s:\n" " %s\n" -msgstr "" +msgstr "Kunne ikke montere %s til %s:\n %s\n"
#: main.c:543 msgid "License Agreement" @@ -191,16 +191,16 @@ msgstr "RAID opsætning"
#: main.c:640 msgid "Your disk configuration is currently not supported." -msgstr "" +msgstr "Din drev konfiguration er ikke understøttet pt."
#: main.c:655 msgid "Your harddisk is too small." -msgstr "Din harddisk er for lille." +msgstr "Din harddisk har for lille kapacitet."
#: main.c:671 msgid "" "Your harddisk is very small, but you can continue without a swap partition." -msgstr "Din harddisk er meget lille, men du kan fortsætte uden en swap partition." +msgstr "Din harddisk har meget lille kapacitet, men du kan fortsætte uden en swap partition."
#: main.c:684 msgid "ext4 Filesystem" @@ -287,27 +287,27 @@ msgid "" "A backup file has been found on the installation image.\n" "\n" "Do you want to restore the backup?" -msgstr "" +msgstr "En backup fil er fundet på installationsbilledet.\n\nØnsker du at genskabe denne backup?"
#: 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 "Der opstod en fejl under forsøget på at genskabe backup filen."
#: main.c:869 msgid "Running post-install script..." -msgstr "" +msgstr "Kører efter-installation script..."
#: main.c:870 msgid "Post-install script failed." -msgstr "" +msgstr "Efter-installation script fejlede."
#: main.c:877 #, c-format diff --git a/src/installer/po/fa.po b/src/installer/po/fa.po index 231adf4..4760c50 100644 --- a/src/installer/po/fa.po +++ b/src/installer/po/fa.po @@ -9,7 +9,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-01-26 07:48+0000\n" +"PO-Revision-Date: 2015-02-17 23:49+0000\n" "Last-Translator: Khalil Delavaran khalil.delavaran@gmail.com\n" "Language-Team: Persian (http://www.transifex.com/projects/p/ipfire/language/fa/)%5Cn" "MIME-Version: 1.0\n" @@ -66,7 +66,7 @@ msgstr "آغاز برپا سازی" #: main.c:449 #, c-format msgid "The installer will now try downloading the installation image." -msgstr "" +msgstr "برنامه نصب تلاش خواهد کرد که ایمیج نصب را دانلود کند."
#: main.c:452 #, c-format @@ -80,7 +80,7 @@ msgstr "درایو منبع پیدا نشد.\n\nشما می توانید ایم 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" diff --git a/src/installer/po/fr.po b/src/installer/po/fr.po index 93ba210..68a5ad0 100644 --- a/src/installer/po/fr.po +++ b/src/installer/po/fr.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# nonux nonux@free.fr, 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" +"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" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\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 "Annuler"
#: main.c:176 msgid "I accept this license" -msgstr "" +msgstr "J'accepte la licence"
#: main.c:384 msgid "Warning: Unattended installation will start in 10 seconds..." @@ -36,11 +37,11 @@ msgstr ""
#: main.c:403 msgid "Language selection" -msgstr "" +msgstr "Sélection de la langue"
#: main.c:403 msgid "Select the language you wish to use for the installation." -msgstr "" +msgstr "Sélectionnez la langue que vous souhaitez utiliser pour l'installation."
#: main.c:418 msgid "Unattended mode" @@ -60,12 +61,12 @@ msgstr ""
#: main.c:428 msgid "Start installation" -msgstr "" +msgstr "Démarrer l'installation"
#: main.c:449 #, c-format msgid "The installer will now try downloading the installation image." -msgstr "" +msgstr "Le programme d'installation va maintenant essayer de télécharger l'image d'installation."
#: main.c:452 #, c-format @@ -83,11 +84,11 @@ msgstr ""
#: main.c:460 msgid "Download installation image" -msgstr "" +msgstr "Télécharger l'image d'installation"
#: main.c:473 msgid "Trying to start networking (DHCP)..." -msgstr "" +msgstr "Tente de démarrer le réseau (DHCP)..."
#: main.c:484 msgid "" @@ -98,11 +99,11 @@ msgstr ""
#: main.c:487 main.c:516 msgid "Retry" -msgstr "" +msgstr "Ré-essayer"
#: main.c:501 msgid "Downloading installation image..." -msgstr "" +msgstr "Téléchargement de l'image d'installation ..."
#: main.c:510 #, c-format @@ -127,19 +128,19 @@ msgstr ""
#: main.c:543 msgid "License Agreement" -msgstr "" +msgstr "Contrat de licence"
#: main.c:544 msgid "License not accepted!" -msgstr "" +msgstr "Contrat de licence non accepté!"
#: main.c:566 msgid "No hard disk found." -msgstr "" +msgstr "Aucun disque dur trouvé."
#: main.c:587 msgid "Disk Selection" -msgstr "" +msgstr "Sélection du disque"
#: main.c:588 msgid "" @@ -167,11 +168,11 @@ msgstr ""
#: main.c:619 msgid "Disk Setup" -msgstr "" +msgstr "Configuration du disque"
#: main.c:620 main.c:630 msgid "Delete all data" -msgstr "" +msgstr "Supprime toutes les données"
#: main.c:627 #, c-format @@ -190,76 +191,76 @@ msgstr ""
#: main.c:640 msgid "Your disk configuration is currently not supported." -msgstr "" +msgstr "La configuration du disque n'est pas actuellement supportée."
#: main.c:655 msgid "Your harddisk is too small." -msgstr "" +msgstr "Votre disque dur est trop petit."
#: main.c:671 msgid "" "Your harddisk is very small, but you can continue without a swap partition." -msgstr "" +msgstr "Votre disque dur est très petit, mais vous pouvez continuer sans la partition d'échange."
#: main.c:684 msgid "ext4 Filesystem" -msgstr "" +msgstr "Système de fichier ext4"
#: main.c:685 msgid "ext4 Filesystem without journal" -msgstr "" +msgstr "Système de fichier ext4 sans journalisation"
#: main.c:686 msgid "XFS Filesystem" -msgstr "" +msgstr "Système de fichier XFS"
#: main.c:687 msgid "ReiserFS Filesystem" -msgstr "" +msgstr "Système de fichier ReiserFS"
#: main.c:701 msgid "Filesystem Selection" -msgstr "" +msgstr "Choix du système de fichier"
#: main.c:701 msgid "Please choose your filesystem:" -msgstr "" +msgstr "Merci de choisir votre système de fichier : "
#: main.c:712 msgid "Building RAID..." -msgstr "" +msgstr "Contruction du RAID..."
#: main.c:716 msgid "Unable to build the RAID." -msgstr "" +msgstr "Impossible de construire le RAID."
#: main.c:728 msgid "Partitioning disk..." -msgstr "" +msgstr "Partitionnement du disque..."
#: main.c:732 msgid "Unable to partition the disk." -msgstr "" +msgstr "Impossible de partitionner le disque."
#: main.c:739 msgid "Creating filesystems..." -msgstr "" +msgstr "Création des systèmes de fichiers"
#: main.c:743 msgid "Unable to create filesystems." -msgstr "" +msgstr "Impossible de créer les systèmes de fichiers."
#: main.c:749 msgid "Unable to mount filesystems." -msgstr "" +msgstr "Impossible de monter les systèmes de fichiers."
#: main.c:760 msgid "Installing the system..." -msgstr "" +msgstr "Installation du système..."
#: main.c:761 msgid "Unable to install the system." -msgstr "" +msgstr "Impossible d'installer le système."
#: main.c:777 msgid "Installing the language cache..." @@ -290,11 +291,11 @@ msgstr ""
#: main.c:827 msgid "Yes" -msgstr "" +msgstr "Oui"
#: main.c:827 msgid "No" -msgstr "" +msgstr "Non"
#: main.c:834 msgid "An error occured when the backup file was restored." @@ -322,8 +323,8 @@ msgstr ""
#: main.c:882 msgid "Reboot" -msgstr "" +msgstr "Re-démarrer"
#: main.c:893 msgid "Setup has failed. Press Ok to reboot." -msgstr "" +msgstr "La configuration a échoué. Appuyez sur OK pour re-démarrer." diff --git a/src/installer/po/ja_JP.po b/src/installer/po/ja_JP.po deleted file mode 100644 index 1243121..0000000 --- a/src/installer/po/ja_JP.po +++ /dev/null @@ -1,329 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR The IPFire Project (www.ipfire.org) -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -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-07-31 09:39+0000\n" -"Last-Translator: FULL NAME EMAIL@ADDRESS\n" -"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/ipfire/language/ja_JP/)%5Cn" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: main.c:78 main.c:179 main.c:404 main.c:670 main.c:702 main.c:893 -msgid "OK" -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 "" - -#: main.c:176 -msgid "I accept this license" -msgstr "" - -#: main.c:384 -msgid "Warning: Unattended installation will start in 10 seconds..." -msgstr "" - -#: main.c:403 -msgid "Language selection" -msgstr "" - -#: main.c:403 -msgid "Select the language you wish to use for the installation." -msgstr "" - -#: main.c:418 -msgid "Unattended mode" -msgstr "" - -#: main.c:420 -msgid "<Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen" -msgstr "" - -#: main.c:426 -#, c-format -msgid "" -"Welcome to the %s installation program.\n" -"\n" -"Selecting Cancel on any of the following screens will reboot the computer." -msgstr "" - -#: main.c:428 -msgid "Start installation" -msgstr "" - -#: main.c:449 -#, c-format -msgid "The installer will now try downloading the installation image." -msgstr "" - -#: main.c:452 -#, c-format -msgid "" -"No source drive could be found.\n" -"\n" -"You can try downloading the required installation image." -msgstr "" - -#: 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 "" - -#: main.c:460 -msgid "Download installation image" -msgstr "" - -#: main.c:473 -msgid "Trying to start networking (DHCP)..." -msgstr "" - -#: 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 "" - -#: main.c:487 main.c:516 -msgid "Retry" -msgstr "" - -#: main.c:501 -msgid "Downloading installation image..." -msgstr "" - -#: main.c:510 -#, c-format -msgid "MD5 checksum mismatch" -msgstr "" - -#: main.c:513 -#, c-format -msgid "" -"The installation image could not be downloaded.\n" -" Reason: %s\n" -"\n" -"%s" -msgstr "" - -#: main.c:528 -#, c-format -msgid "" -"Could not mount %s to %s:\n" -" %s\n" -msgstr "" - -#: main.c:543 -msgid "License Agreement" -msgstr "" - -#: main.c:544 -msgid "License not accepted!" -msgstr "" - -#: main.c:566 -msgid "No hard disk found." -msgstr "" - -#: main.c:587 -msgid "Disk Selection" -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 "" - -#: main.c:599 -msgid "" -"No disk has been selected.\n" -"\n" -"Please select one or more disks you want to install IPFire on." -msgstr "" - -#: main.c:617 -#, c-format -msgid "" -"The installation program will now prepare the chosen harddisk:\n" -"\n" -" %s\n" -"\n" -"Do you agree to continue?" -msgstr "" - -#: main.c:619 -msgid "Disk Setup" -msgstr "" - -#: main.c:620 main.c:630 -msgid "Delete all data" -msgstr "" - -#: main.c:627 -#, c-format -msgid "" -"The installation program will now set up a RAID configuration on the selected harddisks:\n" -"\n" -" %s\n" -" %s\n" -"\n" -"Do you agree to continue?" -msgstr "" - -#: main.c:629 -msgid "RAID Setup" -msgstr "" - -#: main.c:640 -msgid "Your disk configuration is currently not supported." -msgstr "" - -#: main.c:655 -msgid "Your harddisk is too small." -msgstr "" - -#: main.c:671 -msgid "" -"Your harddisk is very small, but you can continue without a swap partition." -msgstr "" - -#: main.c:684 -msgid "ext4 Filesystem" -msgstr "" - -#: main.c:685 -msgid "ext4 Filesystem without journal" -msgstr "" - -#: main.c:686 -msgid "XFS Filesystem" -msgstr "" - -#: main.c:687 -msgid "ReiserFS Filesystem" -msgstr "" - -#: main.c:701 -msgid "Filesystem Selection" -msgstr "" - -#: main.c:701 -msgid "Please choose your filesystem:" -msgstr "" - -#: main.c:712 -msgid "Building RAID..." -msgstr "" - -#: main.c:716 -msgid "Unable to build the RAID." -msgstr "" - -#: main.c:728 -msgid "Partitioning disk..." -msgstr "" - -#: main.c:732 -msgid "Unable to partition the disk." -msgstr "" - -#: main.c:739 -msgid "Creating filesystems..." -msgstr "" - -#: main.c:743 -msgid "Unable to create filesystems." -msgstr "" - -#: main.c:749 -msgid "Unable to mount filesystems." -msgstr "" - -#: main.c:760 -msgid "Installing the system..." -msgstr "" - -#: main.c:761 -msgid "Unable to install the system." -msgstr "" - -#: main.c:777 -msgid "Installing the language cache..." -msgstr "" - -#: main.c:778 -msgid "Unable to install the language cache." -msgstr "" - -#: main.c:783 -msgid "Installing the bootloader..." -msgstr "" - -#: main.c:790 -msgid "Unable to open /etc/default/grub for writing." -msgstr "" - -#: main.c:812 -msgid "Unable to install the bootloader." -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 "" - -#: main.c:827 -msgid "Yes" -msgstr "" - -#: main.c:827 -msgid "No" -msgstr "" - -#: main.c:834 -msgid "An error occured when the backup file was restored." -msgstr "" - -#: main.c:869 -msgid "Running post-install script..." -msgstr "" - -#: main.c:870 -msgid "Post-install script failed." -msgstr "" - -#: main.c:877 -#, c-format -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 "" - -#: main.c:882 -msgid "Congratulations!" -msgstr "" - -#: main.c:882 -msgid "Reboot" -msgstr "" - -#: main.c:893 -msgid "Setup has failed. Press Ok to reboot." -msgstr "" diff --git a/src/installer/po/pt_BR.po b/src/installer/po/pt_BR.po index dba4b65..4a5d137 100644 --- a/src/installer/po/pt_BR.po +++ b/src/installer/po/pt_BR.po @@ -4,14 +4,15 @@ # # Translators: # André Felipe Morro andre@andremorro.com, 2014 +# Evertton de Lima e.everttonlima@gmail.com, 2015 # Leandro Luquetti Basilio da Silva leandroluquetti@gmail.com, 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: 2014-11-05 01:33+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" +"PO-Revision-Date: 2015-02-16 23:04+0000\n" +"Last-Translator: Evertton de Lima e.everttonlima@gmail.com\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/ipfire/language/pt_BR/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -34,19 +35,19 @@ msgstr "Eu aceito esta licença"
#: main.c:384 msgid "Warning: Unattended installation will start in 10 seconds..." -msgstr "" +msgstr "Cuidado: A instalação irá iniciar em 10 segundos..."
#: main.c:403 msgid "Language selection" -msgstr "" +msgstr "Seleção de idioma"
#: main.c:403 msgid "Select the language you wish to use for the installation." -msgstr "" +msgstr "Selecione o idioma que você deseja usar para a instalação."
#: main.c:418 msgid "Unattended mode" -msgstr "" +msgstr "Modo automático"
#: main.c:420 msgid "<Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen" @@ -58,7 +59,7 @@ msgid "" "Welcome to the %s installation program.\n" "\n" "Selecting Cancel on any of the following screens will reboot the computer." -msgstr "" +msgstr "Bem-vindo para o programa de instalação %s.\n\nSelecionando Cancelar em qualquer uma das telas seguintes irá reiniciar o computador."
#: main.c:428 msgid "Start installation" @@ -67,7 +68,7 @@ msgstr "Iniciar a instalação" #: main.c:449 #, c-format msgid "The installer will now try downloading the installation image." -msgstr "" +msgstr "O instalador irá tentar baixar a imagem de instalação agora."
#: main.c:452 #, c-format @@ -85,26 +86,26 @@ msgstr ""
#: main.c:460 msgid "Download installation image" -msgstr "" +msgstr "Baixar imagem de instalação"
#: main.c:473 msgid "Trying to start networking (DHCP)..." -msgstr "" +msgstr "Tentando iniciar a rede (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 "Rede não pode ser iniciado, mas é necessária para continuar a instalação.\n\nPor favor, conecte sua máquina a uma rede com servidor DHCP e reinicie."
#: main.c:487 main.c:516 msgid "Retry" -msgstr "" +msgstr "Tentar novamente"
#: main.c:501 msgid "Downloading installation image..." -msgstr "" +msgstr "Baixando imagem de instalação..."
#: main.c:510 #, c-format @@ -118,18 +119,18 @@ msgid "" " Reason: %s\n" "\n" "%s" -msgstr "" +msgstr "A imagem de instalação não pode ser baixada.\nMotivo: %s\n\n%s"
#: main.c:528 #, c-format msgid "" "Could not mount %s to %s:\n" " %s\n" -msgstr "" +msgstr "Não pode montar %s para %s:\n%s\n"
#: main.c:543 msgid "License Agreement" -msgstr "" +msgstr "Contrato de Licença"
#: main.c:544 msgid "License not accepted!" @@ -192,7 +193,7 @@ msgstr "Configuração de RAID"
#: main.c:640 msgid "Your disk configuration is currently not supported." -msgstr "" +msgstr "Sua configuração de disco não é suportada atualmente."
#: main.c:655 msgid "Your harddisk is too small." @@ -201,7 +202,7 @@ msgstr "Seu disco rígido é muito pequeno." #: main.c:671 msgid "" "Your harddisk is very small, but you can continue without a swap partition." -msgstr "" +msgstr "Seu disco rígido é muito pequeno, mas você pode continuar sem uma partição swap."
#: main.c:684 msgid "ext4 Filesystem" @@ -277,7 +278,7 @@ msgstr "Instalando o gerenciador de inicialização..."
#: main.c:790 msgid "Unable to open /etc/default/grub for writing." -msgstr "" +msgstr "Não possível abrir /etc/default/grub para escrita."
#: main.c:812 msgid "Unable to install the bootloader." @@ -288,27 +289,27 @@ msgid "" "A backup file has been found on the installation image.\n" "\n" "Do you want to restore the backup?" -msgstr "" +msgstr "Uma cópia de segurança foi encontrada na imagem de instalação.\n\nVocê quer restaurar a cópia de segurança?"
#: main.c:827 msgid "Yes" -msgstr "" +msgstr "Sim"
#: main.c:827 msgid "No" -msgstr "" +msgstr "Não"
#: main.c:834 msgid "An error occured when the backup file was restored." -msgstr "" +msgstr "Um erro ocorreu enquanto a cópia de segurança foi restaurada."
#: main.c:869 msgid "Running post-install script..." -msgstr "" +msgstr "Executando post-install script..."
#: main.c:870 msgid "Post-install script failed." -msgstr "" +msgstr "Post-install script falhou."
#: main.c:877 #, c-format @@ -328,4 +329,4 @@ msgstr "Reiniciar"
#: main.c:893 msgid "Setup has failed. Press Ok to reboot." -msgstr "" +msgstr "Instalação falhou. Pressione Ok para reiniciar." diff --git a/src/installer/po/ru.po b/src/installer/po/ru.po index 7905236..1a6408c 100644 --- a/src/installer/po/ru.po +++ b/src/installer/po/ru.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# ellviss kpe1501@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: 2014-11-05 01:33+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" +"PO-Revision-Date: 2015-02-24 12:56+0000\n" +"Last-Translator: ellviss kpe1501@gmail.com\n" "Language-Team: Russian (http://www.transifex.com/projects/p/ipfire/language/ru/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\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 "ОК"
#: 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Нажатие Отмены на любом из следующих экранах приведёт к перезагрузке."
#: 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,21 +74,21 @@ 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 "" @@ -98,16 +99,16 @@ msgstr ""
#: 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 @@ -123,23 +124,23 @@ msgstr "" msgid "" "Could not mount %s to %s:\n" " %s\n" -msgstr "" +msgstr "Не удалось подключить %s к %s:\n\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 "" @@ -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 @@ -186,127 +187,127 @@ msgstr ""
#: 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 - ваш адрес ) для конфигурирования системы через web"
#: 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 "Установка не удалась. Нажмите ОК для перезапуска" diff --git a/src/installer/po/ru_RU.po b/src/installer/po/ru_RU.po deleted file mode 100644 index 83ee576..0000000 --- a/src/installer/po/ru_RU.po +++ /dev/null @@ -1,329 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR The IPFire Project (www.ipfire.org) -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -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-07-31 09:39+0000\n" -"Last-Translator: FULL NAME EMAIL@ADDRESS\n" -"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/ipfire/language/ru_RU/)%5Cn" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru_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" - -#: main.c:78 main.c:179 main.c:404 main.c:670 main.c:702 main.c:893 -msgid "OK" -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 "" - -#: main.c:176 -msgid "I accept this license" -msgstr "" - -#: main.c:384 -msgid "Warning: Unattended installation will start in 10 seconds..." -msgstr "" - -#: main.c:403 -msgid "Language selection" -msgstr "" - -#: main.c:403 -msgid "Select the language you wish to use for the installation." -msgstr "" - -#: main.c:418 -msgid "Unattended mode" -msgstr "" - -#: main.c:420 -msgid "<Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen" -msgstr "" - -#: main.c:426 -#, c-format -msgid "" -"Welcome to the %s installation program.\n" -"\n" -"Selecting Cancel on any of the following screens will reboot the computer." -msgstr "" - -#: main.c:428 -msgid "Start installation" -msgstr "" - -#: main.c:449 -#, c-format -msgid "The installer will now try downloading the installation image." -msgstr "" - -#: main.c:452 -#, c-format -msgid "" -"No source drive could be found.\n" -"\n" -"You can try downloading the required installation image." -msgstr "" - -#: 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 "" - -#: main.c:460 -msgid "Download installation image" -msgstr "" - -#: main.c:473 -msgid "Trying to start networking (DHCP)..." -msgstr "" - -#: 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 "" - -#: main.c:487 main.c:516 -msgid "Retry" -msgstr "" - -#: main.c:501 -msgid "Downloading installation image..." -msgstr "" - -#: main.c:510 -#, c-format -msgid "MD5 checksum mismatch" -msgstr "" - -#: main.c:513 -#, c-format -msgid "" -"The installation image could not be downloaded.\n" -" Reason: %s\n" -"\n" -"%s" -msgstr "" - -#: main.c:528 -#, c-format -msgid "" -"Could not mount %s to %s:\n" -" %s\n" -msgstr "" - -#: main.c:543 -msgid "License Agreement" -msgstr "" - -#: main.c:544 -msgid "License not accepted!" -msgstr "" - -#: main.c:566 -msgid "No hard disk found." -msgstr "" - -#: main.c:587 -msgid "Disk Selection" -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 "" - -#: main.c:599 -msgid "" -"No disk has been selected.\n" -"\n" -"Please select one or more disks you want to install IPFire on." -msgstr "" - -#: main.c:617 -#, c-format -msgid "" -"The installation program will now prepare the chosen harddisk:\n" -"\n" -" %s\n" -"\n" -"Do you agree to continue?" -msgstr "" - -#: main.c:619 -msgid "Disk Setup" -msgstr "" - -#: main.c:620 main.c:630 -msgid "Delete all data" -msgstr "" - -#: main.c:627 -#, c-format -msgid "" -"The installation program will now set up a RAID configuration on the selected harddisks:\n" -"\n" -" %s\n" -" %s\n" -"\n" -"Do you agree to continue?" -msgstr "" - -#: main.c:629 -msgid "RAID Setup" -msgstr "" - -#: main.c:640 -msgid "Your disk configuration is currently not supported." -msgstr "" - -#: main.c:655 -msgid "Your harddisk is too small." -msgstr "" - -#: main.c:671 -msgid "" -"Your harddisk is very small, but you can continue without a swap partition." -msgstr "" - -#: main.c:684 -msgid "ext4 Filesystem" -msgstr "" - -#: main.c:685 -msgid "ext4 Filesystem without journal" -msgstr "" - -#: main.c:686 -msgid "XFS Filesystem" -msgstr "" - -#: main.c:687 -msgid "ReiserFS Filesystem" -msgstr "" - -#: main.c:701 -msgid "Filesystem Selection" -msgstr "" - -#: main.c:701 -msgid "Please choose your filesystem:" -msgstr "" - -#: main.c:712 -msgid "Building RAID..." -msgstr "" - -#: main.c:716 -msgid "Unable to build the RAID." -msgstr "" - -#: main.c:728 -msgid "Partitioning disk..." -msgstr "" - -#: main.c:732 -msgid "Unable to partition the disk." -msgstr "" - -#: main.c:739 -msgid "Creating filesystems..." -msgstr "" - -#: main.c:743 -msgid "Unable to create filesystems." -msgstr "" - -#: main.c:749 -msgid "Unable to mount filesystems." -msgstr "" - -#: main.c:760 -msgid "Installing the system..." -msgstr "" - -#: main.c:761 -msgid "Unable to install the system." -msgstr "" - -#: main.c:777 -msgid "Installing the language cache..." -msgstr "" - -#: main.c:778 -msgid "Unable to install the language cache." -msgstr "" - -#: main.c:783 -msgid "Installing the bootloader..." -msgstr "" - -#: main.c:790 -msgid "Unable to open /etc/default/grub for writing." -msgstr "" - -#: main.c:812 -msgid "Unable to install the bootloader." -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 "" - -#: main.c:827 -msgid "Yes" -msgstr "" - -#: main.c:827 -msgid "No" -msgstr "" - -#: main.c:834 -msgid "An error occured when the backup file was restored." -msgstr "" - -#: main.c:869 -msgid "Running post-install script..." -msgstr "" - -#: main.c:870 -msgid "Post-install script failed." -msgstr "" - -#: main.c:877 -#, c-format -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 "" - -#: main.c:882 -msgid "Congratulations!" -msgstr "" - -#: main.c:882 -msgid "Reboot" -msgstr "" - -#: main.c:893 -msgid "Setup has failed. Press Ok to reboot." -msgstr "" diff --git a/src/installer/po/tr.po b/src/installer/po/tr.po index 0198445..e990bc3 100644 --- a/src/installer/po/tr.po +++ b/src/installer/po/tr.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Ersan YILDIRIM ersan73@gmail.com, 2015 # Kudret Emre kudretemre@hotmail.com.tr, 2014 # Kudret Emre kudretemre@hotmail.com.tr, 2014 msgid "" @@ -10,8 +11,8 @@ 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-08 17:24+0000\n" -"Last-Translator: Kudret Emre kudretemre@hotmail.com.tr\n" +"PO-Revision-Date: 2015-02-28 22:11+0000\n" +"Last-Translator: Ersan YILDIRIM ersan73@gmail.com\n" "Language-Team: Turkish (http://www.transifex.com/projects/p/ipfire/language/tr/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -50,7 +51,7 @@ msgstr "Katılımsız kurulum modu"
#: main.c:420 msgid "<Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen" -msgstr "<Tab>/<Alt-Tab> elementler arası geçiş | <Space> seç | <F12> sonraki ekran" +msgstr "<Tab>/<Alt-Tab> düğmeler arası geçiş | <Space> seç | <F12> sonraki ekran"
#: main.c:426 #, c-format @@ -58,16 +59,16 @@ msgid "" "Welcome to the %s installation program.\n" "\n" "Selecting Cancel on any of the following screens will reboot the computer." -msgstr "%s yükleme programına hoşgeldiniz.\n\nİlerleyen ekranların herhangi birinde İptal'e tıklamanız bilgisayarınızı yeniden başlatır." +msgstr "%s kurulum programına hoş geldiniz.\n\nSonraki ekranların herhangi birinde İptal seçeneğini seçtiğinizde bilgisayar yeniden başlatılac."
#: main.c:428 msgid "Start installation" -msgstr "Yüklemeyi başlat" +msgstr "Kurulumu Başlat"
#: main.c:449 #, c-format msgid "The installer will now try downloading the installation image." -msgstr "Yükleyici şimdi yükleme dosyasını indirmeyi deneyecek." +msgstr "Yükleyici şimdi kurulum dosyasını indirmeyi deneyecek."
#: main.c:452 #, c-format @@ -75,17 +76,17 @@ msgid "" "No source drive could be found.\n" "\n" "You can try downloading the required installation image." -msgstr "Hiçbir kaynak sürücüsü bulunamadı.\n\nGerekli yükleme dosyasını indirmeyi deneyebilirsiniz." +msgstr "Hiçbir kaynak sürücüsü bulunamadı.\n\nGerekli kurulum dosyasını indirmeyi deneyebilirsiniz."
#: 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 "Makinenizi bir ağa bağladığınıza emin olun ve yükleyiciye IP adresini elle girerek bağlanmayı tekrar deneyin."
#: main.c:460 msgid "Download installation image" -msgstr "Yükleme dosyasını indir" +msgstr "Kurulum dosyasını indir"
#: main.c:473 msgid "Trying to start networking (DHCP)..." @@ -125,7 +126,7 @@ msgstr "Yükleme dosyası indirilemedi.\nSebep: %s\n\n%s" msgid "" "Could not mount %s to %s:\n" " %s\n" -msgstr "" +msgstr "Bağlanamadı: %s - %s:\n%s\n\n"
#: main.c:543 msgid "License Agreement" @@ -173,7 +174,7 @@ msgstr "Disk Kurulumu"
#: main.c:620 main.c:630 msgid "Delete all data" -msgstr "Tüm veriyi sil" +msgstr "Tüm Veriyi Sil"
#: main.c:627 #, c-format @@ -221,7 +222,7 @@ msgstr "ReiserFS Dosya sistemi"
#: main.c:701 msgid "Filesystem Selection" -msgstr "Dosya sistemi Seçimi" +msgstr "Dosya Sistemi Seçimi"
#: main.c:701 msgid "Please choose your filesystem:" @@ -288,7 +289,7 @@ msgid "" "A backup file has been found on the installation image.\n" "\n" "Do you want to restore the backup?" -msgstr "Yükleme dosyasında bir yedekleme dosyası bulundu.\n\nYedeği geri yüklemek ister misiniz?" +msgstr "Kurulum dosyasında bir yedek dosyası bulundu.\n\nYedeği geri yüklemek ister misiniz?"
#: main.c:827 msgid "Yes" @@ -304,11 +305,11 @@ msgstr "Yedek dosyası geri yüklenirken bir hata oluştu."
#: main.c:869 msgid "Running post-install script..." -msgstr "post-install betiği çalıştırılıyor..." +msgstr "Post-install betiği çalıştırılıyor..."
#: main.c:870 msgid "Post-install script failed." -msgstr "post-install betiği başarısız oldu." +msgstr "Post-install betiği başarısız oldu."
#: main.c:877 #, c-format @@ -316,7 +317,7 @@ 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 "%s başarıyla yüklendi!\n\nLütfen yükleme ortamlarını bu sistemden çıkarın ve yeniden başlatma butonuna tıklayın. Sistem yeniden başlatıldığında ağ ve sistem şifrenizi ayarlamanız istenecek. Daha sonra web yapılandırma konsoluna gitmek için yarayıcınızdan https://%s:444 (veya %s yerine ne isim verdiyseniz) adresine gidin." +msgstr "%s başarıyla yüklendi!\n\nLütfen yükleme ortamını sistemden çıkarın ve Yeniden Başlat düğmesine tıklayın. Sistem yeniden başlatıldığında ağ kartları, ağ ve sistem parolalarını yapılandırabileceğiniz programı çalıştıracaktır. Kurulum tamamlandıktan sonra bir internet tarayıcısı açıp yapılandırma sayfasına gitmek için adres satırına https://%s:444 (veya %s yerine ne ad verdiyseniz) adresini girin."
#: main.c:882 msgid "Congratulations!" @@ -324,8 +325,8 @@ msgstr "Tebrikler!"
#: main.c:882 msgid "Reboot" -msgstr "Yeniden başlat." +msgstr "Yeniden Başlat"
#: main.c:893 msgid "Setup has failed. Press Ok to reboot." -msgstr "Kurulum başarısız oldu. Yeniden başlatmak için Tamam'a basın." +msgstr "Kurulum başarısız oldu. Yeniden başlatmak için Tamam düğmesine basın." diff --git a/src/misc-progs/openvpnctrl.c b/src/misc-progs/openvpnctrl.c index 462ce77..d20cced 100644 --- a/src/misc-progs/openvpnctrl.c +++ b/src/misc-progs/openvpnctrl.c @@ -73,6 +73,9 @@ void usage(void) printf(" -kn2n --kill-net-2-net\n"); printf(" kills all net2net connections\n"); printf(" you may pass a connection name to the switch to only start a specific one\n"); + printf(" -drrd --delete-rrd\n"); + printf(" Deletes the RRD data for a specific client\n"); + printf(" you need to pass a connection name (RW) to the switch to delete the directory (case sensitive)\n"); printf(" -d --display\n"); printf(" displays OpenVPN status to syslog\n"); printf(" -fwr --firewall-rules\n"); @@ -466,6 +469,10 @@ void startDaemon(void) { executeCommand(command); snprintf(command, STRING_SIZE-1, "/usr/sbin/openvpn --config /var/ipfire/ovpn/server.conf"); executeCommand(command); + snprintf(command, STRING_SIZE-1, "/bin/chown root.nobody /var/run/ovpnserver.log"); + executeCommand(command); + snprintf(command, STRING_SIZE-1, "/bin/chmod 644 /var/run/ovpnserver.log"); + executeCommand(command); } }
@@ -565,6 +572,28 @@ int killNet2Net(char *name) { return 0; }
+int deleterrd(char *name) { + connection *conn = getConnections(); + + char rrd_file[STRING_SIZE]; + snprintf(rrd_file, STRING_SIZE - 1, "/var/log/rrd/collectd/localhost/openvpn-%s/if_octets.rrd", name); + + char rrd_dir[STRING_SIZE]; + snprintf(rrd_dir, STRING_SIZE - 1, "/var/log/rrd/collectd/localhost/openvpn-%s", name); + + while(conn) { + /* Find only RW-Connections with the given name. */ + if (((strcmp(conn->type, "host") == 0) && (strcmp(conn->name, name) == 0))) { + remove(rrd_file); + remove(rrd_dir); + return 0; + } + conn = conn->next; + } + + return 1; +} + void startAllNet2Net() { int exitcode = 0, _exitcode = 0;
@@ -634,6 +663,10 @@ int main(int argc, char *argv[]) { else if( (strcmp(argv[1], "-kn2n") == 0) || (strcmp(argv[1], "--kill-net-2-net") == 0) ) { killNet2Net(argv[2]); return 0; + } + else if( (strcmp(argv[1], "-drrd") == 0) || (strcmp(argv[1], "--delete-rrd") == 0) ) { + deleterrd(argv[2]); + return 0; } else { usage(); return 1; diff --git a/src/paks/teamspeak/install.sh b/src/paks/teamspeak/install.sh deleted file mode 100644 index 7e8a5c1..0000000 --- a/src/paks/teamspeak/install.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/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 2 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) 2008 IPFire-Team info@ipfire.org. # -# # -############################################################################ -# -. /opt/pakfire/lib/functions.sh - -extract_files - -[ -d /opt/teamspeak ] || mkdir -p /opt/teamspeak - -cd /tmp -wget -c ftp://ftp.freenet.de/pub/4players/teamspeak.org/releases/ts2_server_rc2_202319.tar.bz2 \ - ftp://ftp.freenet.de/pub/4players/teamspeak.org/developer/server/202401/server_linux - -tar xvfj ts2_server_rc2_202319.tar.bz2 -C /tmp - -cp -av /tmp/tss2_rc2/* /opt/teamspeak -mv /tmp/server_linux /opt/teamspeak/server_linux -chmod 755 -v /opt/teamspeak/server_linux - -rm -rf /tmp/tss2_rc2 ts2_server_rc2_202319.tar.bz2 - -groupadd teamspeak -useradd -g teamspeak teamspeak - -chown teamspeak.teamspeak /opt/teamspeak -Rv - -restore_backup ${NAME} -start_service --background ${NAME} - -ln -sf ../init.d/teamspeak /etc/rc.d/rc0.d/K00teamspeak -ln -sf ../init.d/teamspeak /etc/rc.d/rc3.d/S99teamspeak -ln -sf ../init.d/teamspeak /etc/rc.d/rc6.d/K00teamspeak - - diff --git a/src/paks/teamspeak/uninstall.sh b/src/paks/teamspeak/uninstall.sh deleted file mode 100644 index f1cd3bb..0000000 --- a/src/paks/teamspeak/uninstall.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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 2 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) 2007 IPFire-Team info@ipfire.org. # -# # -############################################################################ -# -. /opt/pakfire/lib/functions.sh -stop_service ${NAME} - -if [ ! -e "/var/ipfire/backup/addons/includes/teamspeak" ]; then - echo /opt/teamspeak/bad_names.txt > /var/ipfire/backup/addons/includes/teamspeak - echo /opt/teamspeak/server.dbs >> /var/ipfire/backup/addons/includes/teamspeak - echo /opt/teamspeak/server.ini >> /var/ipfire/backup/addons/includes/teamspeak - echo /opt/teamspeak/server.log >> /var/ipfire/backup/addons/includes/teamspeak - echo /opt/teamspeak/whitelist.txt >> /var/ipfire/backup/addons/includes/teamspeak -fi -make_backup ${NAME} -rm -rf /opt/teamspeak -userdel teamspeak -rm -rf /etc/rc.d/rc*.d/*teamspeak - - diff --git a/src/paks/teamspeak/update.sh b/src/paks/teamspeak/update.sh deleted file mode 100644 index 89c40d0..0000000 --- a/src/paks/teamspeak/update.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/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 2 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) 2007 IPFire-Team info@ipfire.org. # -# # -############################################################################ -# -. /opt/pakfire/lib/functions.sh -./uninstall.sh -./install.sh diff --git a/src/patches/asterisk-no-ffmpeg.patch b/src/patches/asterisk-no-ffmpeg.patch new file mode 100644 index 0000000..7bc2e84 --- /dev/null +++ b/src/patches/asterisk-no-ffmpeg.patch @@ -0,0 +1,11 @@ +--- build/usr/src/asterisk-11.9.0/res/Makefile.orig 2014-04-28 20:30:50.500877461 +0200 ++++ build/usr/src/asterisk-11.9.0/res/Makefile 2014-04-28 20:31:39.357034757 +0200 +@@ -75,7 +75,7 @@ + rm -f pjproject/build.mak + + pjproject/build.mak: pjproject/aconfigure +- (cd pjproject && CFLAGS="-fPIC" ./configure --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) --disable-floating-point --disable-sound --disable-oss --disable-speex-aec --disable-l16-codec --disable-gsm-codec --disable-g722-codec --disable-g7221-codec --disable-speex-codec --disable-ilbc-codec --disable-g711-codec) ++ (cd pjproject && CFLAGS="-fPIC" ./configure --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) --disable-floating-point --disable-sound --disable-oss --disable-speex-aec --disable-l16-codec --disable-gsm-codec --disable-g722-codec --disable-g7221-codec --disable-speex-codec --disable-ilbc-codec --disable-g711-codec --disable-opencore-amrnb --disable-video --disable-sdl --disable-ffmpeg --disable-v4l2) + + ifneq ($(findstring $(MAKECMDGOALS),all),) + -include pjproject/build.mak diff --git a/src/patches/asterisk-ssl-reader-should-block.patch b/src/patches/asterisk-ssl-reader-should-block.patch new file mode 100644 index 0000000..3b2f0ed --- /dev/null +++ b/src/patches/asterisk-ssl-reader-should-block.patch @@ -0,0 +1,28 @@ +Upstream issue 18345 +Link: https://issues.asterisk.org/jira/browse/ASTERISK-18345 +Patch-By: Filip Jenicek + +Submitted upstream: 2012-05-31 09:12 +For Asterisk version: 1.8.4 + +The HOOK_T ssl_read function should behave the same way as the system read function +by blocking and waiting for (more) data from the SSL subsystem. Failure to do this +will drop data on the floor and ultimately disconnect SSL clients. + +--- asterisk/main/tcptls.c ++++ asterisk/main/tcptls.c +@@ -55,6 +55,14 @@ + static HOOK_T ssl_read(void *cookie, char *buf, LEN_T len) + { + int i = SSL_read(cookie, buf, len-1); ++ ++ /* ssl_read should block and wait for the SSL layer to provide all data */ ++ while (i < 0 && SSL_get_error(cookie, i) == SSL_ERROR_WANT_READ) { ++ ast_debug(1, "SSL_read - data not ready.\n"); ++ if (ast_wait_for_input(SSL_get_fd(cookie), 5000) <= 0) return 0; ++ i = SSL_read(cookie, buf, len-1); ++ } ++ + #if 0 + if (i >= 0) + buf[i] = '\0'; diff --git a/src/patches/clamav/llvm-glibc.patch b/src/patches/clamav/llvm-glibc.patch new file mode 100644 index 0000000..67dbdd7 --- /dev/null +++ b/src/patches/clamav/llvm-glibc.patch @@ -0,0 +1,12 @@ +Index: clamav-0.97.3/libclamav/c++/llvm/lib/ExecutionEngine/JIT/Intercept.cpp +=================================================================== +--- clamav-0.97.3.orig/libclamav/c++/llvm/lib/ExecutionEngine/JIT/Intercept.cpp ++++ clamav-0.97.3/libclamav/c++/llvm/lib/ExecutionEngine/JIT/Intercept.cpp +@@ -52,6 +52,7 @@ static void runAtExitHandlers() { + #include <sys/stat.h> + #endif + #include <fcntl.h> ++#include <unistd.h> + /* stat functions are redirecting to __xstat with a version number. On x86-64 + * linking with libc_nonshared.a and -Wl,--export-dynamic doesn't make 'stat' + * available as an exported symbol, so we have to add it explicitly. diff --git a/src/patches/collectd/0001-src-utils_mount.h-Add-stdio.h.patch b/src/patches/collectd/0001-src-utils_mount.h-Add-stdio.h.patch new file mode 100644 index 0000000..7391fbf --- /dev/null +++ b/src/patches/collectd/0001-src-utils_mount.h-Add-stdio.h.patch @@ -0,0 +1,28 @@ +From 4bbfb2b9f391f273744163cfda7bec96671e9d9c Mon Sep 17 00:00:00 2001 +From: Florian Forster octo@collectd.org +Date: Thu, 18 Apr 2013 06:25:58 +0200 +Subject: [PATCH 01/22] src/utils_mount.h: Add <stdio.h>. + +This is required on Solaris 10. Thanks to dannypoo@ for reporting this +problem. + +Github: #306 +--- + src/utils_mount.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/utils_mount.h b/src/utils_mount.h +index 1f2403c..83f789b 100644 +--- a/src/utils_mount.h ++++ b/src/utils_mount.h +@@ -26,6 +26,7 @@ + #ifndef COLLECTD_UTILS_MOUNT_H + #define COLLECTD_UTILS_MOUNT_H 1 + ++#include <stdio.h> + #if HAVE_FS_INFO_H + # include <fs_info.h> + #endif +-- +1.9.3 + diff --git a/src/patches/collectd/0002-Don-t-notify-continuously-when-MySQL-slave-SQL-threa.patch b/src/patches/collectd/0002-Don-t-notify-continuously-when-MySQL-slave-SQL-threa.patch new file mode 100644 index 0000000..f0beb39 --- /dev/null +++ b/src/patches/collectd/0002-Don-t-notify-continuously-when-MySQL-slave-SQL-threa.patch @@ -0,0 +1,27 @@ +From f2391b9da6127e4acd5b54b7ae6c2d585df0e2a0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Joaqu=C3=ADn=20Cuenca=20Abela?= e98cuenc@gmail.com +Date: Wed, 29 May 2013 16:22:09 +0200 +Subject: [PATCH 02/22] Don't notify continuously when MySQL slave SQL thread + is running + +Signed-off-by: Florian Forster octo@collectd.org +--- + src/mysql.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/mysql.c b/src/mysql.c +index 8b3cd21..f93a442 100644 +--- a/src/mysql.c ++++ b/src/mysql.c +@@ -689,7 +689,7 @@ static int mysql_read_slave_stats (mysql_database_t *db, MYSQL *con) + ssnprintf (n.message, sizeof (n.message), + "slave SQL thread started"); + plugin_dispatch_notification (&n); +- db->slave_sql_running = 0; ++ db->slave_sql_running = 1; + } + } + +-- +1.9.3 + diff --git a/src/patches/collectd/0003-curl_xml.c-avoid-using-uninitalized-variable-in-erro.patch b/src/patches/collectd/0003-curl_xml.c-avoid-using-uninitalized-variable-in-erro.patch new file mode 100644 index 0000000..4011dd8 --- /dev/null +++ b/src/patches/collectd/0003-curl_xml.c-avoid-using-uninitalized-variable-in-erro.patch @@ -0,0 +1,34 @@ +From bbbf37d55a3959951604c4be482e9a705a0f86d9 Mon Sep 17 00:00:00 2001 +From: Marc Fournier marc.fournier@camptocamp.com +Date: Tue, 7 Jan 2014 11:30:59 +0100 +Subject: [PATCH 03/22] curl_xml.c: avoid using uninitalized variable in error + message + +Thanks to @trtrmitya for reporting this. Fixes GH#507 +--- + src/curl_xml.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/curl_xml.c b/src/curl_xml.c +index 75f5cc3..77aee60 100644 +--- a/src/curl_xml.c ++++ b/src/curl_xml.c +@@ -551,12 +551,12 @@ static int cx_curl_perform (cx_t *db, CURL *curl) /* {{{ */ + char *ptr; + char *url; + +- db->buffer_fill = 0; ++ db->buffer_fill = 0; + status = curl_easy_perform (curl); + if (status != CURLE_OK) + { +- ERROR ("curl_xml plugin: curl_easy_perform failed with status %i: %s (%s)", +- status, db->curl_errbuf, url); ++ ERROR ("curl_xml plugin: curl_easy_perform failed with status %i: %s", ++ status, db->curl_errbuf); + return (-1); + } + +-- +1.9.3 + diff --git a/src/patches/collectd/0004-interface.c-FreeBSD-10-support.patch b/src/patches/collectd/0004-interface.c-FreeBSD-10-support.patch new file mode 100644 index 0000000..cc7067d --- /dev/null +++ b/src/patches/collectd/0004-interface.c-FreeBSD-10-support.patch @@ -0,0 +1,52 @@ +From 645dadb3fcc466e8880fda4eb23b21ad433631fc Mon Sep 17 00:00:00 2001 +From: Marc Fournier marc.fournier@camptocamp.com +Date: Tue, 7 Jan 2014 16:06:10 +0100 +Subject: [PATCH 04/22] interface.c: FreeBSD-10 support + +Quoting @trtrmitya in github issue #506 : "[...] it is broken on +FreeBSD-10, in which getifaddrs() returns not only link level stats for +a particular interface, but also entries for each IP configured on that +interface. As a result if_submit() is called several times for each +interface, which results in incorrect data being logged. + +I am attaching a patch which fixes a problem on FreeBSD (9/10), but it +should work for every *BSD because [...] the getifaddrs implementation +first appeared in BSDi BSD/OS." + +Many thanks to @trtrmitya for providing the patch ! +--- + src/interface.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/src/interface.c b/src/interface.c +index db998a3..9b566ea 100644 +--- a/src/interface.c ++++ b/src/interface.c +@@ -213,18 +213,19 @@ static int interface_read (void) + + for (if_ptr = if_list; if_ptr != NULL; if_ptr = if_ptr->ifa_next) + { +- if ((if_data = (struct IFA_DATA *) if_ptr->ifa_data) == NULL) +- continue; ++ if (if_ptr->ifa_addr != NULL && if_ptr->ifa_addr->sa_family == AF_LINK) { ++ if_data = (struct IFA_DATA *) if_ptr->ifa_data; + +- if_submit (if_ptr->ifa_name, "if_octets", ++ if_submit (if_ptr->ifa_name, "if_octets", + if_data->IFA_RX_BYTES, + if_data->IFA_TX_BYTES); +- if_submit (if_ptr->ifa_name, "if_packets", ++ if_submit (if_ptr->ifa_name, "if_packets", + if_data->IFA_RX_PACKT, + if_data->IFA_TX_PACKT); +- if_submit (if_ptr->ifa_name, "if_errors", ++ if_submit (if_ptr->ifa_name, "if_errors", + if_data->IFA_RX_ERROR, + if_data->IFA_TX_ERROR); ++ } + } + + freeifaddrs (if_list); +-- +1.9.3 + diff --git a/src/patches/collectd/0005-Revert-curl_xml.c-avoid-using-uninitalized-variable-.patch b/src/patches/collectd/0005-Revert-curl_xml.c-avoid-using-uninitalized-variable-.patch new file mode 100644 index 0000000..3534cde --- /dev/null +++ b/src/patches/collectd/0005-Revert-curl_xml.c-avoid-using-uninitalized-variable-.patch @@ -0,0 +1,40 @@ +From cde09b547abbeb7595d91259fcc628504d0f55a9 Mon Sep 17 00:00:00 2001 +From: Marc Fournier marc.fournier@camptocamp.com +Date: Wed, 8 Jan 2014 18:05:40 +0100 +Subject: [PATCH 05/22] Revert "curl_xml.c: avoid using uninitalized variable + in error message" + +This reverts commit bbbf37d55a3959951604c4be482e9a705a0f86d9. + +A different fix for this problem was commited to the collectd-5.4 branch +(8327ee64) and conflicts with this patch. Also, initializing url the +same way as 8327ee64 does it, to avoid a merge conflict. +--- + src/curl_xml.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/src/curl_xml.c b/src/curl_xml.c +index 77aee60..b941f02 100644 +--- a/src/curl_xml.c ++++ b/src/curl_xml.c +@@ -550,13 +550,14 @@ static int cx_curl_perform (cx_t *db, CURL *curl) /* {{{ */ + long rc; + char *ptr; + char *url; ++ url = db->url; + +- db->buffer_fill = 0; ++ db->buffer_fill = 0; + status = curl_easy_perform (curl); + if (status != CURLE_OK) + { +- ERROR ("curl_xml plugin: curl_easy_perform failed with status %i: %s", +- status, db->curl_errbuf); ++ ERROR ("curl_xml plugin: curl_easy_perform failed with status %i: %s (%s)", ++ status, db->curl_errbuf, url); + return (-1); + } + +-- +1.9.3 + diff --git a/src/patches/collectd/0006-network-set_thread_cbs-so-we-initialize-the-right-th.patch b/src/patches/collectd/0006-network-set_thread_cbs-so-we-initialize-the-right-th.patch new file mode 100644 index 0000000..460f4b5 --- /dev/null +++ b/src/patches/collectd/0006-network-set_thread_cbs-so-we-initialize-the-right-th.patch @@ -0,0 +1,28 @@ +From ddffda7a150cd3abdb6ec392b514a250e91e0c19 Mon Sep 17 00:00:00 2001 +From: Chris Lundquist chris.lundquist@github.com +Date: Tue, 14 Jan 2014 18:33:13 -0800 +Subject: [PATCH 06/22] [network] set_thread_cbs so we initialize the right + threading mode in gcry_check_version + +Signed-off-by: Florian Forster octo@collectd.org +--- + src/network.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/network.c b/src/network.c +index d0ff6bc..be82c6f 100644 +--- a/src/network.c ++++ b/src/network.c +@@ -500,8 +500,8 @@ static void network_init_gcrypt (void) /* {{{ */ + if (gcry_control (GCRYCTL_ANY_INITIALIZATION_P)) + return; + +- gcry_check_version (NULL); /* before calling any other functions */ + gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread); ++ gcry_check_version (NULL); /* before calling *almost* any other functions */ + gcry_control (GCRYCTL_INIT_SECMEM, 32768); + gcry_control (GCRYCTL_INITIALIZATION_FINISHED); + } /* }}} void network_init_gcrypt */ +-- +1.9.3 + diff --git a/src/patches/collectd/0007-apache-plugin-Call-curl_global_init-from-the-init-fu.patch b/src/patches/collectd/0007-apache-plugin-Call-curl_global_init-from-the-init-fu.patch new file mode 100644 index 0000000..8408337 --- /dev/null +++ b/src/patches/collectd/0007-apache-plugin-Call-curl_global_init-from-the-init-fu.patch @@ -0,0 +1,40 @@ +From 5f2f969335757f31f42cd8bb7e38eb8c5fe5e56e Mon Sep 17 00:00:00 2001 +From: Florian Forster octo@collectd.org +Date: Wed, 15 Jan 2014 23:47:33 +0100 +Subject: [PATCH 07/22] apache plugin: Call curl_global_init() from the init + function. + +This is a shot in the dark in trying to address #513. By calling this +from an init() callback, I hope to be initializing the curl and gcrypt +libraries before collectd becomes multi-threaded, avoiding the problems +described in the issue. +--- + src/apache.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/apache.c b/src/apache.c +index 899c21e..23bba3e 100644 +--- a/src/apache.c ++++ b/src/apache.c +@@ -702,9 +702,18 @@ static int apache_read_host (user_data_t *user_data) /* {{{ */ + return (0); + } /* }}} int apache_read_host */ + ++static int apache_init (void) /* {{{ */ ++{ ++ /* Call this while collectd is still single-threaded to avoid ++ * initialization issues in libgcrypt. */ ++ curl_global_init (CURL_GLOBAL_SSL); ++ return (0); ++} /* }}} int apache_init */ ++ + void module_register (void) + { + plugin_register_complex_config ("apache", config); ++ plugin_register_init ("apache", apache_init); + } /* void module_register */ + + /* vim: set sw=8 noet fdm=marker : */ +-- +1.9.3 + diff --git a/src/patches/collectd/0008-network-comment-libgcrypt-initalization-process.patch b/src/patches/collectd/0008-network-comment-libgcrypt-initalization-process.patch new file mode 100644 index 0000000..9499328 --- /dev/null +++ b/src/patches/collectd/0008-network-comment-libgcrypt-initalization-process.patch @@ -0,0 +1,33 @@ +From 793c2046de1ac04689d541a5e83513fe8e62578c Mon Sep 17 00:00:00 2001 +From: Marc Fournier marc.fournier@camptocamp.com +Date: Thu, 16 Jan 2014 00:30:42 +0100 +Subject: [PATCH 08/22] network: comment libgcrypt initalization process + +--- + src/network.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/network.c b/src/network.c +index be82c6f..f379a5c 100644 +--- a/src/network.c ++++ b/src/network.c +@@ -500,8 +500,15 @@ static void network_init_gcrypt (void) /* {{{ */ + if (gcry_control (GCRYCTL_ANY_INITIALIZATION_P)) + return; + ++ /* http://www.gnupg.org/documentation/manuals/gcrypt/Multi_002dThreading.html ++ * To ensure thread-safety, it's important to set GCRYCTL_SET_THREAD_CBS ++ * *before* initalizing Libgcrypt with gcry_check_version(), which itself must ++ * be called before any other gcry_* function. GCRYCTL_ANY_INITIALIZATION_P ++ * above doesn't count, as it doesn't implicitly initalize Libgcrypt. ++ * ++ * tl;dr: keep all these gry_* statements in this exact order please. */ + gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread); +- gcry_check_version (NULL); /* before calling *almost* any other functions */ ++ gcry_check_version (NULL); + gcry_control (GCRYCTL_INIT_SECMEM, 32768); + gcry_control (GCRYCTL_INITIALIZATION_FINISHED); + } /* }}} void network_init_gcrypt */ +-- +1.9.3 + diff --git a/src/patches/collectd/0009-Call-curl_global_init-in-_init-of-plugins-using-curl.patch b/src/patches/collectd/0009-Call-curl_global_init-in-_init-of-plugins-using-curl.patch new file mode 100644 index 0000000..a2c3ef5 --- /dev/null +++ b/src/patches/collectd/0009-Call-curl_global_init-in-_init-of-plugins-using-curl.patch @@ -0,0 +1,99 @@ +From 66b400ab01b8133e450bb002e175117a1ab6f9ae Mon Sep 17 00:00:00 2001 +From: Jeremy Katz jeremy@katzbox.net +Date: Sun, 26 Jan 2014 20:43:19 -0500 +Subject: [PATCH 09/22] Call curl_global_init() in _init of plugins using curl + +Need to call curl_global_init() or curl_easy_init() during init +for plugins when we're still running single threaded. This +updates the remaining ones +--- + src/curl.c | 1 + + src/curl_json.c | 9 +++++++++ + src/curl_xml.c | 9 +++++++++ + src/write_http.c | 9 +++++++++ + 4 files changed, 28 insertions(+) + +diff --git a/src/curl.c b/src/curl.c +index 3899aaa..8d2893f 100644 +--- a/src/curl.c ++++ b/src/curl.c +@@ -566,6 +566,7 @@ static int cc_init (void) /* {{{ */ + INFO ("curl plugin: No pages have been defined."); + return (-1); + } ++ curl_global_init (CURL_GLOBAL_SSL); + return (0); + } /* }}} int cc_init */ + +diff --git a/src/curl_json.c b/src/curl_json.c +index 24e1df1..0948962 100644 +--- a/src/curl_json.c ++++ b/src/curl_json.c +@@ -882,9 +882,18 @@ static int cj_read (user_data_t *ud) /* {{{ */ + return cj_curl_perform (db, db->curl); + } /* }}} int cj_read */ + ++static int cj_init (void) /* {{{ */ ++{ ++ /* Call this while collectd is still single-threaded to avoid ++ * initialization issues in libgcrypt. */ ++ curl_global_init (CURL_GLOBAL_SSL); ++ return (0); ++} /* }}} int cj_init */ ++ + void module_register (void) + { + plugin_register_complex_config ("curl_json", cj_config); ++ plugin_register_init ("curl_json", cj_init); + } /* void module_register */ + + /* vim: set sw=2 sts=2 et fdm=marker : */ +diff --git a/src/curl_xml.c b/src/curl_xml.c +index b941f02..e31e73d 100644 +--- a/src/curl_xml.c ++++ b/src/curl_xml.c +@@ -926,9 +926,18 @@ static int cx_config (oconfig_item_t *ci) /* {{{ */ + return (0); + } /* }}} int cx_config */ + ++static int cx_init (void) /* {{{ */ ++{ ++ /* Call this while collectd is still single-threaded to avoid ++ * initialization issues in libgcrypt. */ ++ curl_global_init (CURL_GLOBAL_SSL); ++ return (0); ++} /* }}} int cx_init */ ++ + void module_register (void) + { + plugin_register_complex_config ("curl_xml", cx_config); ++ plugin_register_init ("curl_xml", cx_init); + } /* void module_register */ + + /* vim: set sw=2 sts=2 et fdm=marker : */ +diff --git a/src/write_http.c b/src/write_http.c +index 62c73b0..04c637b 100644 +--- a/src/write_http.c ++++ b/src/write_http.c +@@ -656,9 +656,18 @@ static int wh_config (oconfig_item_t *ci) /* {{{ */ + return (0); + } /* }}} int wh_config */ + ++static int wh_init (void) /* {{{ */ ++{ ++ /* Call this while collectd is still single-threaded to avoid ++ * initialization issues in libgcrypt. */ ++ curl_global_init (CURL_GLOBAL_SSL); ++ return (0); ++} /* }}} int wh_init */ ++ + void module_register (void) /* {{{ */ + { + plugin_register_complex_config ("write_http", wh_config); ++ plugin_register_init ("write_http", wh_init); + } /* }}} void module_register */ + + /* vim: set fdm=marker sw=8 ts=8 tw=78 et : */ +-- +1.9.3 + diff --git a/src/patches/collectd/0010-indent-wh_init-to-be-consistent-with-the-rest-of-the.patch b/src/patches/collectd/0010-indent-wh_init-to-be-consistent-with-the-rest-of-the.patch new file mode 100644 index 0000000..81f2d84 --- /dev/null +++ b/src/patches/collectd/0010-indent-wh_init-to-be-consistent-with-the-rest-of-the.patch @@ -0,0 +1,32 @@ +From 6bd48f2346c5072dc22da58c7b7cd8e8ceb83fc5 Mon Sep 17 00:00:00 2001 +From: Marc Fournier marc.fournier@camptocamp.com +Date: Sat, 29 Mar 2014 13:37:36 +0100 +Subject: [PATCH 10/22] indent wh_init() to be consistent with the rest of the + file + +--- + src/write_http.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/write_http.c b/src/write_http.c +index 04c637b..0a13444 100644 +--- a/src/write_http.c ++++ b/src/write_http.c +@@ -658,10 +658,10 @@ static int wh_config (oconfig_item_t *ci) /* {{{ */ + + static int wh_init (void) /* {{{ */ + { +- /* Call this while collectd is still single-threaded to avoid +- * initialization issues in libgcrypt. */ +- curl_global_init (CURL_GLOBAL_SSL); +- return (0); ++ /* Call this while collectd is still single-threaded to avoid ++ * initialization issues in libgcrypt. */ ++ curl_global_init (CURL_GLOBAL_SSL); ++ return (0); + } /* }}} int wh_init */ + + void module_register (void) /* {{{ */ +-- +1.9.3 + diff --git a/src/patches/collectd/0011-Configparser-when-we-alocate-an-empty-list-we-also-n.patch b/src/patches/collectd/0011-Configparser-when-we-alocate-an-empty-list-we-also-n.patch new file mode 100644 index 0000000..b3e6f78 --- /dev/null +++ b/src/patches/collectd/0011-Configparser-when-we-alocate-an-empty-list-we-also-n.patch @@ -0,0 +1,41 @@ +From 6207fce91a0933e852ec76fc31ca81ec00ffa04b Mon Sep 17 00:00:00 2001 +From: Wilfried Goesgens dothebart@citadel.org +Date: Thu, 5 Jun 2014 20:04:13 +0200 +Subject: [PATCH 11/22] Configparser: when we alocate an empty list, we also + need to reset the counter; else we will trip over this later. This fixes + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750440 + +--- + src/configfile.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/configfile.c b/src/configfile.c +index 0b7786f..983d995 100644 +--- a/src/configfile.c ++++ b/src/configfile.c +@@ -414,6 +414,12 @@ static int cf_ci_replace_child (oconfig_item_t *dst, oconfig_item_t *src, + + /* Resize the memory containing the children to be big enough to hold + * all children. */ ++ if (dst->children_num + src->children_num - 1 == 0) ++ { ++ dst->children_num = 0; ++ return (0); ++ } ++ + temp = (oconfig_item_t *) realloc (dst->children, + sizeof (oconfig_item_t) + * (dst->children_num + src->children_num - 1)); +@@ -514,7 +520,8 @@ static int cf_include_all (oconfig_item_t *root, int depth) + continue; + + /* Now replace the i'th child in `root' with `new'. */ +- cf_ci_replace_child (root, new, i); ++ if (cf_ci_replace_child (root, new, i) < 0) ++ return (-1); + + /* ... and go back to the new i'th child. */ + --i; +-- +1.9.3 + diff --git a/src/patches/collectd/0012-don-t-assume-pkg-config-is-in-PATH.patch b/src/patches/collectd/0012-don-t-assume-pkg-config-is-in-PATH.patch new file mode 100644 index 0000000..5bb5c85 --- /dev/null +++ b/src/patches/collectd/0012-don-t-assume-pkg-config-is-in-PATH.patch @@ -0,0 +1,86 @@ +From c2ca2a46e617878dcff69de0b8940ea91d3401cc Mon Sep 17 00:00:00 2001 +From: Lauri Tirkkonen lotheac@iki.fi +Date: Thu, 22 May 2014 14:05:40 +0300 +Subject: [PATCH 12/22] don't assume pkg-config is in PATH + +--- + configure.in | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/configure.in b/configure.in +index 0b12630..7086800 100644 +--- a/configure.in ++++ b/configure.in +@@ -1136,8 +1136,8 @@ AC_CHECK_LIB(hal,libhal_device_property_exists, + [with_libhal="no"]) + if test "x$with_libhal" = "xyes"; then + if test "x$PKG_CONFIG" != "x"; then +- BUILD_WITH_LIBHAL_CFLAGS="`pkg-config --cflags hal`" +- BUILD_WITH_LIBHAL_LIBS="`pkg-config --libs hal`" ++ BUILD_WITH_LIBHAL_CFLAGS="`$PKG_CONFIG --cflags hal`" ++ BUILD_WITH_LIBHAL_LIBS="`$PKG_CONFIG --libs hal`" + AC_SUBST(BUILD_WITH_LIBHAL_CFLAGS) + AC_SUBST(BUILD_WITH_LIBHAL_LIBS) + fi +@@ -3434,8 +3434,8 @@ then + if $PKG_CONFIG --exists tokyotyrant + then + with_libtokyotyrant_cppflags="$with_libtokyotyrant_cppflags `$PKG_CONFIG --cflags tokyotyrant`" +- with_libtokyotyrant_ldflags="$with_libtokyotyrant_ldflags `pkg-config --libs-only-L tokyotyrant`" +- with_libtokyotyrant_libs="$with_libtokyotyrant_libs `pkg-config --libs-only-l tokyotyrant`" ++ with_libtokyotyrant_ldflags="$with_libtokyotyrant_ldflags `$PKG_CONFIG --libs-only-L tokyotyrant`" ++ with_libtokyotyrant_libs="$with_libtokyotyrant_libs `$PKG_CONFIG --libs-only-l tokyotyrant`" + fi + fi + +@@ -3743,7 +3743,7 @@ with_libvirt_cflags="" + with_libvirt_ldflags="" + if test "x$PKG_CONFIG" != "x" + then +- pkg-config --exists 'libxml-2.0' 2>/dev/null ++ $PKG_CONFIG --exists 'libxml-2.0' 2>/dev/null + if test "$?" = "0" + then + with_libxml2="yes" +@@ -3751,7 +3751,7 @@ then + with_libxml2="no (pkg-config doesn't know library)" + fi + +- pkg-config --exists libvirt 2>/dev/null ++ $PKG_CONFIG --exists libvirt 2>/dev/null + if test "$?" = "0" + then + with_libvirt="yes" +@@ -3761,12 +3761,12 @@ then + fi + if test "x$with_libxml2" = "xyes" + then +- with_libxml2_cflags="`pkg-config --cflags libxml-2.0`" ++ with_libxml2_cflags="`$PKG_CONFIG --cflags libxml-2.0`" + if test $? -ne 0 + then + with_libxml2="no" + fi +- with_libxml2_ldflags="`pkg-config --libs libxml-2.0`" ++ with_libxml2_ldflags="$PKG_CONFIG --libs libxml-2.0`" + if test $? -ne 0 + then + with_libxml2="no" +@@ -3806,12 +3806,12 @@ if test "x$with_libxml2" = "xyes"; then + fi + if test "x$with_libvirt" = "xyes" + then +- with_libvirt_cflags="`pkg-config --cflags libvirt`" ++ with_libvirt_cflags="$PKG_CONFIG --cflags libvirt`" + if test $? -ne 0 + then + with_libvirt="no" + fi +- with_libvirt_ldflags="`pkg-config --libs libvirt`" ++ with_libvirt_ldflags="$PKG_CONFIG --libs libvirt`" + if test $? -ne 0 + then + with_libvirt="no" +-- +1.9.3 + diff --git a/src/patches/collectd/0013-add-missing-backticks-which-broke-the-build.patch b/src/patches/collectd/0013-add-missing-backticks-which-broke-the-build.patch new file mode 100644 index 0000000..d7f2264 --- /dev/null +++ b/src/patches/collectd/0013-add-missing-backticks-which-broke-the-build.patch @@ -0,0 +1,40 @@ +From 497f5785e8b385f03b5fb5b15bdff8ba39e4699e Mon Sep 17 00:00:00 2001 +From: Marc Fournier marc.fournier@camptocamp.com +Date: Mon, 23 Jun 2014 18:00:01 +0200 +Subject: [PATCH 13/22] add missing backticks which broke the build + +--- + configure.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/configure.in b/configure.in +index 7086800..5dac543 100644 +--- a/configure.in ++++ b/configure.in +@@ -3766,7 +3766,7 @@ then + then + with_libxml2="no" + fi +- with_libxml2_ldflags="$PKG_CONFIG --libs libxml-2.0`" ++ with_libxml2_ldflags="`$PKG_CONFIG --libs libxml-2.0`" + if test $? -ne 0 + then + with_libxml2="no" +@@ -3806,12 +3806,12 @@ if test "x$with_libxml2" = "xyes"; then + fi + if test "x$with_libvirt" = "xyes" + then +- with_libvirt_cflags="$PKG_CONFIG --cflags libvirt`" ++ with_libvirt_cflags="`$PKG_CONFIG --cflags libvirt`" + if test $? -ne 0 + then + with_libvirt="no" + fi +- with_libvirt_ldflags="$PKG_CONFIG --libs libvirt`" ++ with_libvirt_ldflags="`$PKG_CONFIG --libs libvirt`" + if test $? -ne 0 + then + with_libvirt="no" +-- +1.9.3 + diff --git a/src/patches/collectd/0014-snmp-free-snmp_pdu-struct-allocated-by-snmp_pdu_crea.patch b/src/patches/collectd/0014-snmp-free-snmp_pdu-struct-allocated-by-snmp_pdu_crea.patch new file mode 100644 index 0000000..945c28b --- /dev/null +++ b/src/patches/collectd/0014-snmp-free-snmp_pdu-struct-allocated-by-snmp_pdu_crea.patch @@ -0,0 +1,29 @@ +From 0da910fb1bf2bd4982ca6541458c795ec296f398 Mon Sep 17 00:00:00 2001 +From: Marc Fournier marc.fournier@camptocamp.com +Date: Fri, 8 Aug 2014 15:55:10 +0200 +Subject: [PATCH 14/22] snmp: free snmp_pdu struct allocated by + snmp_pdu_create() + +This should fix the leak reported in issue #610. +--- + src/snmp.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/snmp.c b/src/snmp.c +index d440f7f..dacdede 100644 +--- a/src/snmp.c ++++ b/src/snmp.c +@@ -1503,6 +1503,10 @@ static int csnmp_read_table (host_definition_t *host, data_definition_t *data) + snmp_free_pdu (res); + res = NULL; + ++ if (req != NULL) ++ snmp_free_pdu (req); ++ req = NULL; ++ + if (status == 0) + csnmp_dispatch_table (host, data, instance_list_head, value_list_head); + +-- +1.9.3 + diff --git a/src/patches/collectd/0015-curl_xml-plugin-Fixed-tautological-pointer-compariso.patch b/src/patches/collectd/0015-curl_xml-plugin-Fixed-tautological-pointer-compariso.patch new file mode 100644 index 0000000..30e1a08 --- /dev/null +++ b/src/patches/collectd/0015-curl_xml-plugin-Fixed-tautological-pointer-compariso.patch @@ -0,0 +1,28 @@ +From 0afea60611f115a28b8ec331aba610e3038c1ef2 Mon Sep 17 00:00:00 2001 +From: Arthur Marble arthur@info9.net +Date: Sun, 17 Aug 2014 17:34:04 -0500 +Subject: [PATCH 15/22] curl_xml plugin: Fixed tautological pointer comparison + error. + +Fixes: http://bugs.debian.org/758481 +Signed-off-by: Florian Forster octo@collectd.org +--- + src/curl_xml.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/curl_xml.c b/src/curl_xml.c +index e31e73d..28b2ded 100644 +--- a/src/curl_xml.c ++++ b/src/curl_xml.c +@@ -344,7 +344,7 @@ static int cx_handle_instance_xpath (xmlXPathContextPtr xpath_ctx, /* {{{ */ + /* If the base xpath returns more than one block, the result is assumed to be + * a table. The `Instnce' option is not optional in this case. Check for the + * condition and inform the user. */ +- if (is_table && (vl->type_instance == NULL)) ++ if (is_table) + { + WARNING ("curl_xml plugin: " + "Base-XPath %s is a table (more than one result was returned), " +-- +1.9.3 + diff --git a/src/patches/collectd/0016-Add-support-for-OpenVPN-2.3.0-status-files.patch b/src/patches/collectd/0016-Add-support-for-OpenVPN-2.3.0-status-files.patch new file mode 100644 index 0000000..ca5b407 --- /dev/null +++ b/src/patches/collectd/0016-Add-support-for-OpenVPN-2.3.0-status-files.patch @@ -0,0 +1,160 @@ +From 9d065b401c2c393bef5a6e58b5deeda7d59d4f39 Mon Sep 17 00:00:00 2001 +From: Ed Okerson ed@okerson.com +Date: Mon, 11 Feb 2013 15:46:10 -0600 +Subject: [PATCH 16/22] Add support for OpenVPN 2.3.0 status files. + +Fix a bug that breaks this module if a server is running multiple instances of OpenVPN and one instance does not have any clients connected. +--- + src/openvpn.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 84 insertions(+), 6 deletions(-) + +diff --git a/src/openvpn.c b/src/openvpn.c +index 2aca414..d2b6f17 100644 +--- a/src/openvpn.c ++++ b/src/openvpn.c +@@ -32,6 +32,7 @@ + #define V1STRING "Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since\n" + #define V2STRING "HEADER,CLIENT_LIST,Common Name,Real Address,Virtual Address,Bytes Received,Bytes Sent,Connected Since,Connected Since (time_t)\n" + #define V3STRING "HEADER CLIENT_LIST Common Name Real Address Virtual Address Bytes Received Bytes Sent Connected Since Connected Since (time_t)\n" ++#define V4STRING "HEADER,CLIENT_LIST,Common Name,Real Address,Virtual Address,Bytes Received,Bytes Sent,Connected Since,Connected Since (time_t),Username\n" + #define VSSTRING "OpenVPN STATISTICS\n" + + +@@ -43,6 +44,7 @@ struct vpn_status_s + MULTI1 = 1, /* status-version 1 */ + MULTI2, /* status-version 2 */ + MULTI3, /* status-version 3 */ ++ MULTI4, /* status-version 4 */ + SINGLE = 10 /* currently no versions for single mode, maybe in the future */ + } version; + char *name; +@@ -452,13 +454,77 @@ static int multi3_read (char *name, FILE *fh) + return (read); + } /* int multi3_read */ + ++/* for reading status version 4 */ ++static int multi4_read (char *name, FILE *fh) ++{ ++ char buffer[1024]; ++ char *fields[11]; ++ const int max_fields = STATIC_ARRAY_SIZE (fields); ++ int fields_num, read = 0; ++ long long sum_users = 0; ++ ++ while (fgets (buffer, sizeof (buffer), fh) != NULL) ++ { ++ fields_num = openvpn_strsplit (buffer, fields, max_fields); ++ ++ /* status file is generated by openvpn/multi.c:multi_print_status() ++ * http://svn.openvpn.net/projects/openvpn/trunk/openvpn/multi.c ++ * ++ * The line we're expecting has 9 fields. We ignore all lines ++ * with more or less fields. ++ */ ++ if (fields_num != 9) ++ continue; ++ ++ ++ if (strcmp (fields[0], "CLIENT_LIST") != 0) ++ continue; ++ ++ ++ if (collect_user_count) ++ /* If so, sum all users, ignore the individuals*/ ++ { ++ sum_users += 1; ++ } ++ if (collect_individual_users) ++ { ++ if (new_naming_schema) ++ { ++ /* plugin inst = file name, type inst = fields[1] */ ++ iostats_submit (name, /* vpn instance */ ++ fields[1], /* "Common Name" */ ++ atoll (fields[4]), /* "Bytes Received" */ ++ atoll (fields[5])); /* "Bytes Sent" */ ++ } ++ else ++ { ++ /* plugin inst = fields[1], type inst = "" */ ++ iostats_submit (fields[1], /* "Common Name" */ ++ NULL, /* unused when in multimode */ ++ atoll (fields[4]), /* "Bytes Received" */ ++ atoll (fields[5])); /* "Bytes Sent" */ ++ } ++ } ++ ++ read = 1; ++ } ++ ++ if (collect_user_count) ++ { ++ numusers_submit(name, name, sum_users); ++ read = 1; ++ } ++ ++ return (read); ++} /* int multi4_read */ ++ + /* read callback */ + static int openvpn_read (void) + { + FILE *fh; +- int i, read; ++ int i, vpn_read, read; + +- read = 0; ++ vpn_read = read = 0; + + /* call the right read function for every status entry in the list */ + for (i = 0; i < vpn_num; i++) +@@ -476,23 +542,28 @@ static int openvpn_read (void) + switch (vpn_list[i]->version) + { + case SINGLE: +- read = single_read(vpn_list[i]->name, fh); ++ vpn_read = single_read(vpn_list[i]->name, fh); + break; + + case MULTI1: +- read = multi1_read(vpn_list[i]->name, fh); ++ vpn_read = multi1_read(vpn_list[i]->name, fh); + break; + + case MULTI2: +- read = multi2_read(vpn_list[i]->name, fh); ++ vpn_read = multi2_read(vpn_list[i]->name, fh); + break; + + case MULTI3: +- read = multi3_read(vpn_list[i]->name, fh); ++ vpn_read = multi3_read(vpn_list[i]->name, fh); ++ break; ++ ++ case MULTI4: ++ vpn_read = multi4_read(vpn_list[i]->name, fh); + break; + } + + fclose (fh); ++ read += vpn_read; + } + + return (read ? 0 : -1); +@@ -549,6 +620,13 @@ static int version_detect (const char *filename) + version = MULTI3; + break; + } ++ /* searching for multi version 4 */ ++ else if (strcmp (buffer, V4STRING) == 0) ++ { ++ DEBUG ("openvpn plugin: found status file version MULTI4"); ++ version = MULTI4; ++ break; ++ } + } + + if (version == 0) +-- +1.9.3 + diff --git a/src/patches/collectd/0017-openvpn-plugin-Don-t-signal-an-error-when-no-clients.patch b/src/patches/collectd/0017-openvpn-plugin-Don-t-signal-an-error-when-no-clients.patch new file mode 100644 index 0000000..0d5b319 --- /dev/null +++ b/src/patches/collectd/0017-openvpn-plugin-Don-t-signal-an-error-when-no-clients.patch @@ -0,0 +1,56 @@ +From 8516f9abb625fa7b9321e62307305aa6499be4e8 Mon Sep 17 00:00:00 2001 +From: Florian Forster octo@collectd.org +Date: Sun, 14 Sep 2014 19:28:05 +0200 +Subject: [PATCH 17/22] openvpn plugin: Don't signal an error when no clients + are connected. + +In the multi1_read() function, an error (zero) was returned when no +clients were currently connected to the OpenVPN server, because the +"read" variable was initialized to zero and the while loop exited before +it was set to one. This is not the intended behavior. + +Thanks to @srix for reporting this issue! + +Fixes: #731 +--- + src/openvpn.c | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +diff --git a/src/openvpn.c b/src/openvpn.c +index d2b6f17..7d4e4a0 100644 +--- a/src/openvpn.c ++++ b/src/openvpn.c +@@ -267,7 +267,7 @@ static int multi1_read (char *name, FILE *fh) + { + char buffer[1024]; + char *fields[10]; +- int fields_num, read = 0, found_header = 0; ++ int fields_num, found_header = 0; + long long sum_users = 0; + + /* read the file until the "ROUTING TABLE" line is found (no more info after) */ +@@ -314,17 +314,15 @@ static int multi1_read (char *name, FILE *fh) + atoll (fields[3])); /* "Bytes Sent" */ + } + } +- +- read = 1; + } + ++ if (ferror (fh)) ++ return (0); ++ + if (collect_user_count) +- { + numusers_submit(name, name, sum_users); +- read = 1; +- } + +- return (read); ++ return (1); + } /* int multi1_read */ + + /* for reading status version 2 */ +-- +1.9.3 + diff --git a/src/patches/collectd/0018-openvpn-Remove-boguous-file-handler-check.patch b/src/patches/collectd/0018-openvpn-Remove-boguous-file-handler-check.patch new file mode 100644 index 0000000..850e4fb --- /dev/null +++ b/src/patches/collectd/0018-openvpn-Remove-boguous-file-handler-check.patch @@ -0,0 +1,26 @@ +From 5dbc1cfb4baff831f950b3c9de8c332bc9aa2b6e Mon Sep 17 00:00:00 2001 +From: Michael Tremer michael.tremer@ipfire.org +Date: Wed, 17 Sep 2014 11:25:17 +0200 +Subject: [PATCH 18/22] openvpn: Remove boguous file handler check + +--- + src/openvpn.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/src/openvpn.c b/src/openvpn.c +index 7d4e4a0..9598abc 100644 +--- a/src/openvpn.c ++++ b/src/openvpn.c +@@ -316,9 +316,6 @@ static int multi1_read (char *name, FILE *fh) + } + } + +- if (ferror (fh)) +- return (0); +- + if (collect_user_count) + numusers_submit(name, name, sum_users); + +-- +1.9.3 + diff --git a/src/patches/collectd/0019-openvpn-Ignore-not-fully-established-connections.patch b/src/patches/collectd/0019-openvpn-Ignore-not-fully-established-connections.patch new file mode 100644 index 0000000..4dde610 --- /dev/null +++ b/src/patches/collectd/0019-openvpn-Ignore-not-fully-established-connections.patch @@ -0,0 +1,59 @@ +From a45710a5a887d25ab0e04ce1553bb268013ef780 Mon Sep 17 00:00:00 2001 +From: Michael Tremer michael.tremer@ipfire.org +Date: Tue, 16 Sep 2014 14:44:42 +0200 +Subject: [PATCH 19/22] openvpn: Ignore not fully established connections + +--- + src/openvpn.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/src/openvpn.c b/src/openvpn.c +index 9598abc..6a0ffbd 100644 +--- a/src/openvpn.c ++++ b/src/openvpn.c +@@ -292,6 +292,10 @@ static int multi1_read (char *name, FILE *fh) + if (fields_num < 4) + continue; + ++ // Ignore not yet fully established connections ++ if (strcmp(fields[1], "UNDEF") == 0) ++ continue; ++ + if (collect_user_count) + /* If so, sum all users, ignore the individuals*/ + { +@@ -347,6 +351,10 @@ static int multi2_read (char *name, FILE *fh) + if (strcmp (fields[0], "CLIENT_LIST") != 0) + continue; + ++ // Ignore not yet fully established connections ++ if (strcmp(fields[0], "UNDEF") == 0) ++ continue; ++ + if (collect_user_count) + /* If so, sum all users, ignore the individuals*/ + { +@@ -412,6 +420,10 @@ static int multi3_read (char *name, FILE *fh) + if (strcmp (fields[0], "CLIENT_LIST") != 0) + continue; + ++ // Ignore not yet fully established connections ++ if (strcmp(fields[0], "UNDEF") == 0) ++ continue; ++ + if (collect_user_count) + /* If so, sum all users, ignore the individuals*/ + { +@@ -475,6 +487,9 @@ static int multi4_read (char *name, FILE *fh) + if (strcmp (fields[0], "CLIENT_LIST") != 0) + continue; + ++ // Ignore not yet fully established connections ++ if (strcmp(fields[0], "UNDEF") == 0) ++ continue; + + if (collect_user_count) + /* If so, sum all users, ignore the individuals*/ +-- +1.9.3 + diff --git a/src/patches/collectd/0020-openvpn-Make-read-functions-robust-like-in-8516f9abb.patch b/src/patches/collectd/0020-openvpn-Make-read-functions-robust-like-in-8516f9abb.patch new file mode 100644 index 0000000..79f6742 --- /dev/null +++ b/src/patches/collectd/0020-openvpn-Make-read-functions-robust-like-in-8516f9abb.patch @@ -0,0 +1,102 @@ +From 46e716ee8d4208924d10f57f9ed97c99674a6ef4 Mon Sep 17 00:00:00 2001 +From: Michael Tremer michael.tremer@ipfire.org +Date: Wed, 17 Sep 2014 11:31:13 +0200 +Subject: [PATCH 20/22] openvpn: Make read functions robust like in + 8516f9abb625fa7b9321e62307305aa6499be4e8 + +--- + src/openvpn.c | 21 ++++++--------------- + 1 file changed, 6 insertions(+), 15 deletions(-) + +diff --git a/src/openvpn.c b/src/openvpn.c +index 6a0ffbd..f686721 100644 +--- a/src/openvpn.c ++++ b/src/openvpn.c +@@ -332,7 +332,7 @@ static int multi2_read (char *name, FILE *fh) + char buffer[1024]; + char *fields[10]; + const int max_fields = STATIC_ARRAY_SIZE (fields); +- int fields_num, read = 0; ++ int fields_num; + long long sum_users = 0; + + while (fgets (buffer, sizeof (buffer), fh) != NULL) +@@ -379,17 +379,14 @@ static int multi2_read (char *name, FILE *fh) + atoll (fields[5])); /* "Bytes Sent" */ + } + } +- +- read = 1; + } + + if (collect_user_count) + { + numusers_submit(name, name, sum_users); +- read = 1; + } + +- return (read); ++ return (1); + } /* int multi2_read */ + + /* for reading status version 3 */ +@@ -398,7 +395,7 @@ static int multi3_read (char *name, FILE *fh) + char buffer[1024]; + char *fields[15]; + const int max_fields = STATIC_ARRAY_SIZE (fields); +- int fields_num, read = 0; ++ int fields_num; + long long sum_users = 0; + + while (fgets (buffer, sizeof (buffer), fh) != NULL) +@@ -447,18 +444,15 @@ static int multi3_read (char *name, FILE *fh) + atoll (fields[5])); /* "Bytes Sent" */ + } + } +- +- read = 1; + } + } + + if (collect_user_count) + { + numusers_submit(name, name, sum_users); +- read = 1; + } + +- return (read); ++ return (1); + } /* int multi3_read */ + + /* for reading status version 4 */ +@@ -467,7 +461,7 @@ static int multi4_read (char *name, FILE *fh) + char buffer[1024]; + char *fields[11]; + const int max_fields = STATIC_ARRAY_SIZE (fields); +- int fields_num, read = 0; ++ int fields_num; + long long sum_users = 0; + + while (fgets (buffer, sizeof (buffer), fh) != NULL) +@@ -515,17 +509,14 @@ static int multi4_read (char *name, FILE *fh) + atoll (fields[5])); /* "Bytes Sent" */ + } + } +- +- read = 1; + } + + if (collect_user_count) + { + numusers_submit(name, name, sum_users); +- read = 1; + } + +- return (read); ++ return (1); + } /* int multi4_read */ + + /* read callback */ +-- +1.9.3 + diff --git a/src/patches/collectd/0021-openvpn-Fix-copy-and-paste-error.patch b/src/patches/collectd/0021-openvpn-Fix-copy-and-paste-error.patch new file mode 100644 index 0000000..65c293d --- /dev/null +++ b/src/patches/collectd/0021-openvpn-Fix-copy-and-paste-error.patch @@ -0,0 +1,25 @@ +From 41253b68808deade2a1866f0c24f4bbc029a92c2 Mon Sep 17 00:00:00 2001 +From: Michael Tremer michael.tremer@ipfire.org +Date: Wed, 24 Sep 2014 14:38:04 +0200 +Subject: [PATCH 21/22] openvpn: Fix copy-and-paste error + +--- + src/openvpn.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/openvpn.c b/src/openvpn.c +index f686721..2db3677 100644 +--- a/src/openvpn.c ++++ b/src/openvpn.c +@@ -293,7 +293,7 @@ static int multi1_read (char *name, FILE *fh) + continue; + + // Ignore not yet fully established connections +- if (strcmp(fields[1], "UNDEF") == 0) ++ if (strcmp(fields[0], "UNDEF") == 0) + continue; + + if (collect_user_count) +-- +1.9.3 + diff --git a/src/patches/collectd/0022-openvpn-Change-data-type-from-COUNTER-to-DERIVE.patch b/src/patches/collectd/0022-openvpn-Change-data-type-from-COUNTER-to-DERIVE.patch new file mode 100644 index 0000000..ec6819c --- /dev/null +++ b/src/patches/collectd/0022-openvpn-Change-data-type-from-COUNTER-to-DERIVE.patch @@ -0,0 +1,107 @@ +From 3458d610e8b99eb88c2f06ad576b4f46e0169877 Mon Sep 17 00:00:00 2001 +From: Michael Tremer michael.tremer@ipfire.org +Date: Fri, 26 Sep 2014 12:02:27 +0200 +Subject: [PATCH 22/22] openvpn: Change data type from COUNTER to DERIVE + +COUNTER is not what we want here, so we will use DERIVE. +--- + src/openvpn.c | 26 +++++++++++++------------- + src/types.db | 2 ++ + 2 files changed, 15 insertions(+), 13 deletions(-) + +diff --git a/src/openvpn.c b/src/openvpn.c +index 2db3677..d446e99 100644 +--- a/src/openvpn.c ++++ b/src/openvpn.c +@@ -116,13 +116,13 @@ static void numusers_submit (char *pinst, char *tinst, gauge_t value) + } /* void numusers_submit */ + + /* dispatches stats about traffic (TCP or UDP) generated by the tunnel per single endpoint */ +-static void iostats_submit (char *pinst, char *tinst, counter_t rx, counter_t tx) ++static void iostats_submit (char *pinst, char *tinst, derive_t rx, derive_t tx) + { + value_t values[2]; + value_list_t vl = VALUE_LIST_INIT; + +- values[0].counter = rx; +- values[1].counter = tx; ++ values[0].derive = rx; ++ values[1].derive = tx; + + /* NOTE ON THE NEW NAMING SCHEMA: + * using plugin_instance to identify each vpn config (and +@@ -137,7 +137,7 @@ static void iostats_submit (char *pinst, char *tinst, counter_t rx, counter_t tx + if (pinst != NULL) + sstrncpy (vl.plugin_instance, pinst, + sizeof (vl.plugin_instance)); +- sstrncpy (vl.type, "if_octets", sizeof (vl.type)); ++ sstrncpy (vl.type, "if_octets_derive", sizeof (vl.type)); + if (tinst != NULL) + sstrncpy (vl.type_instance, tinst, sizeof (vl.type_instance)); + +@@ -146,13 +146,13 @@ static void iostats_submit (char *pinst, char *tinst, counter_t rx, counter_t tx + + /* dispatches stats about data compression shown when in single mode */ + static void compression_submit (char *pinst, char *tinst, +- counter_t uncompressed, counter_t compressed) ++ derive_t uncompressed, derive_t compressed) + { + value_t values[2]; + value_list_t vl = VALUE_LIST_INIT; + +- values[0].counter = uncompressed; +- values[1].counter = compressed; ++ values[0].derive = uncompressed; ++ values[1].derive = compressed; + + vl.values = values; + vl.values_len = STATIC_ARRAY_SIZE (values); +@@ -161,7 +161,7 @@ static void compression_submit (char *pinst, char *tinst, + if (pinst != NULL) + sstrncpy (vl.plugin_instance, pinst, + sizeof (vl.plugin_instance)); +- sstrncpy (vl.type, "compression", sizeof (vl.type)); ++ sstrncpy (vl.type, "compression_dervice", sizeof (vl.type)); + if (tinst != NULL) + sstrncpy (vl.type_instance, tinst, sizeof (vl.type_instance)); + +@@ -175,11 +175,11 @@ static int single_read (char *name, FILE *fh) + const int max_fields = STATIC_ARRAY_SIZE (fields); + int fields_num, read = 0; + +- counter_t link_rx, link_tx; +- counter_t tun_rx, tun_tx; +- counter_t pre_compress, post_compress; +- counter_t pre_decompress, post_decompress; +- counter_t overhead_rx, overhead_tx; ++ derive_t link_rx, link_tx; ++ derive_t tun_rx, tun_tx; ++ derive_t pre_compress, post_compress; ++ derive_t pre_decompress, post_decompress; ++ derive_t overhead_rx, overhead_tx; + + link_rx = 0; + link_tx = 0; +diff --git a/src/types.db b/src/types.db +index ad54240..03ec75b 100644 +--- a/src/types.db ++++ b/src/types.db +@@ -18,6 +18,7 @@ cache_result value:COUNTER:0:4294967295 + cache_size value:GAUGE:0:4294967295 + charge value:GAUGE:0:U + compression uncompressed:COUNTER:0:U, compressed:COUNTER:0:U ++compression_derive uncompressed:DERIVE:0:U, compressed:DERIVE:0:U + compression_ratio value:GAUGE:0:2 + connections value:COUNTER:0:U + conntrack entropy:GAUGE:0:4294967295 +@@ -74,6 +75,7 @@ if_dropped rx:COUNTER:0:4294967295, tx:COUNTER:0:4294967295 + if_errors rx:COUNTER:0:4294967295, tx:COUNTER:0:4294967295 + if_multicast value:COUNTER:0:4294967295 + if_octets rx:COUNTER:0:4294967295, tx:COUNTER:0:4294967295 ++if_octets_derive rx:DERIVE:0:U, tx:DERIVE:0:U + if_packets rx:COUNTER:0:4294967295, tx:COUNTER:0:4294967295 + if_rx_errors value:COUNTER:0:4294967295 + if_tx_errors value:COUNTER:0:4294967295 +-- +1.9.3 + diff --git a/src/patches/crda-3.13-crypto_use_optional.patch b/src/patches/crda-3.13-crypto_use_optional.patch new file mode 100644 index 0000000..56ad6b7 --- /dev/null +++ b/src/patches/crda-3.13-crypto_use_optional.patch @@ -0,0 +1,22 @@ +Submitted By: hauke from OpenWRT +Date: 2009-04-17 +Initial Package Version: 1.0.2 +Origin: https://dev.openwrt.org/changeset/15405/trunk/package/crda/patches/101-make_... +Description: The patch was modified for version crda-3.13 by Erik Kapfer erik.kapfer@ipfire.org.. +This patch provides the following improvements: + * Crypto usage is optional. + +diff -Nur crda-3.13.orig/Makefile crda-3.13/Makefile +--- crda-3.13.orig/Makefile 2015-01-12 07:55:08.791183765 +0100 ++++ crda-3.13/Makefile 2015-01-12 07:56:35.437381029 +0100 +@@ -43,7 +43,9 @@ + + $(LIBREG): keys-ssl.c + +-else ++endif ++ ++ifeq ($(USE_GCRYPT),1) + CFLAGS += -DUSE_GCRYPT + LDLIBS += -lgcrypt + diff --git a/src/patches/ddns/ddns-005-Add-changeip-com.patch b/src/patches/ddns/ddns-005-Add-changeip-com.patch new file mode 100644 index 0000000..15bcd46 --- /dev/null +++ b/src/patches/ddns/ddns-005-Add-changeip-com.patch @@ -0,0 +1,85 @@ +commit 78046ffe2187d91c61d6c2f910249b8a5be71b08 +Author: Stefan Schantl stefan.schantl@ipfire.org +Date: Wed Oct 22 21:39:09 2014 +0200 + + Add changeip.com as new provider. + + Fixes #10639. + +diff --git a/README b/README +index 5944102..6a06f4b 100644 +--- a/README ++++ b/README +@@ -49,6 +49,7 @@ INSTALLATION: + + SUPPORTED PROVIDERS: + all-inkl.com ++ changeip.com + dhs.org + dns.lightningwirelabs.com + dnspark.com +diff --git a/ddns.conf.sample b/ddns.conf.sample +index d3ac53f..0048a46 100644 +--- a/ddns.conf.sample ++++ b/ddns.conf.sample +@@ -30,6 +30,11 @@ + # secret = XYZ + # ttl = 60 + ++# [test.changeip.com] ++# provider = changeip.com ++# username = user ++# password = pass ++ + # [test.dhs.org] + # provider = dhs.org + # username = user +diff --git a/src/ddns/providers.py b/src/ddns/providers.py +index 1e88995..587d5ff 100644 +--- a/src/ddns/providers.py ++++ b/src/ddns/providers.py +@@ -539,6 +539,44 @@ class DDNSProviderBindNsupdate(DDNSProvider): + return "\n".join(scriptlet) + + ++class DDNSProviderChangeIP(DDNSProvider): ++ handle = "changeip.com" ++ name = "ChangeIP.com" ++ website = "https://changeip.com" ++ protocols = ("ipv4",) ++ ++ # Detailed information about the update api can be found here. ++ # http://www.changeip.com/accounts/knowledgebase.php?action=displayarticle&... ++ ++ url = "https://nic.changeip.com/nic/update" ++ can_remove_records = False ++ ++ def update_protocol(self, proto): ++ data = { ++ "hostname" : self.hostname, ++ "myip" : self.get_address(proto), ++ } ++ ++ # Send update to the server. ++ try: ++ response = self.send_request(self.url, username=self.username, password=self.password, ++ data=data) ++ ++ # Handle error codes. ++ except urllib2.HTTPError, e: ++ if e.code == 422: ++ raise DDNSRequestError(_("Domain not found.")) ++ ++ raise ++ ++ # Handle success message. ++ if response.code == 200: ++ return ++ ++ # If we got here, some other update error happened. ++ raise DDNSUpdateError(_("Server response: %s") % output) ++ ++ + class DDNSProviderDHS(DDNSProvider): + handle = "dhs.org" + name = "DHS International" diff --git a/src/patches/ddns/ddns-005-SPDNS-fix-auth.patch b/src/patches/ddns/ddns-005-SPDNS-fix-auth.patch new file mode 100644 index 0000000..1d91baa --- /dev/null +++ b/src/patches/ddns/ddns-005-SPDNS-fix-auth.patch @@ -0,0 +1,23 @@ +commit 25f39b4e437627bd1a49393280271d59ad28b86e +Author: Stefan Schantl stefan.schantl@ipfire.org +Date: Mon Jan 5 21:37:55 2015 +0100 + + spdns.de: Fix authentication. + + There was a simple copy and paste issue which prevents a + correct authentication with username and password against the + providers API. + +diff --git a/src/ddns/providers.py b/src/ddns/providers.py +index 587d5ff..bcfb088 100644 +--- a/src/ddns/providers.py ++++ b/src/ddns/providers.py +@@ -1271,7 +1271,7 @@ class DDNSProviderSPDNS(DDNSProtocolDynDNS2, DDNSProvider): + + @property + def password(self): +- return self.get("username") or self.token ++ return self.get("password") or self.token + + + class DDNSProviderStrato(DDNSProtocolDynDNS2, DDNSProvider): diff --git a/src/patches/dnsmasq-2.72rc2-Add-support-to-read-ISC-DHCP-lease-file.patch b/src/patches/dnsmasq-2.72rc2-Add-support-to-read-ISC-DHCP-lease-file.patch deleted file mode 100644 index 9912c7c..0000000 --- a/src/patches/dnsmasq-2.72rc2-Add-support-to-read-ISC-DHCP-lease-file.patch +++ /dev/null @@ -1,371 +0,0 @@ -diff --git a/Makefile b/Makefile -index 58a7975..616c6b7 100644 ---- a/Makefile -+++ b/Makefile -@@ -69,7 +69,7 @@ objs = cache.o rfc1035.o util.o option.o forward.o network.o \ - dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \ - helper.o tftp.o log.o conntrack.o dhcp6.o rfc3315.o \ - dhcp-common.o outpacket.o radv.o slaac.o auth.o ipset.o \ -- domain.o dnssec.o blockdata.o tables.o loop.o -+ domain.o dnssec.o blockdata.o tables.o loop.o isc.o - - hdrs = dnsmasq.h config.h dhcp-protocol.h dhcp6-protocol.h \ - dns-protocol.h radv-protocol.h ip6addr.h -diff --git a/src/cache.c b/src/cache.c -index 2c3a498..77a7046 100644 ---- a/src/cache.c -+++ b/src/cache.c -@@ -17,7 +17,7 @@ - #include "dnsmasq.h" - - static struct crec *cache_head = NULL, *cache_tail = NULL, **hash_table = NULL; --#ifdef HAVE_DHCP -+#if (defined HAVE_DHCP) || (defined HAVE_ISC_READER) - static struct crec *dhcp_spare = NULL; - #endif - static struct crec *new_chain = NULL; -@@ -222,6 +222,9 @@ static void cache_free(struct crec *crecp) - crecp->flags &= ~F_BIGNAME; - } - -+ if (crecp->flags & F_DHCP) -+ free(crecp->name.namep); -+ - #ifdef HAVE_DNSSEC - cache_blockdata_free(crecp); - #endif -@@ -1110,7 +1113,7 @@ void cache_reload(void) - total_size = read_hostsfile(ah->fname, ah->index, total_size, (struct crec **)daemon->packet, revhashsz); - } - --#ifdef HAVE_DHCP -+#if (defined HAVE_DHCP) || (defined HAVE_ISC_READER) - struct in_addr a_record_from_hosts(char *name, time_t now) - { - struct crec *crecp = NULL; -@@ -1188,7 +1191,7 @@ void cache_add_dhcp_entry(char *host_name, int prot, - addrlen = sizeof(struct in6_addr); - } - #endif -- -+ - inet_ntop(prot, host_address, daemon->addrbuff, ADDRSTRLEN); - - while ((crec = cache_find_by_name(crec, host_name, 0, flags | F_CNAME))) -@@ -1253,7 +1256,11 @@ void cache_add_dhcp_entry(char *host_name, int prot, - else - crec->ttd = ttd; - crec->addr.addr = *host_address; -+#ifdef HAVE_ISC_READER -+ crec->name.namep = strdup(host_name); -+#else - crec->name.namep = host_name; -+#endif - crec->uid = next_uid(); - cache_hash(crec); - -diff --git a/src/dnsmasq.c b/src/dnsmasq.c -index f4a89fc..a448ec4 100644 ---- a/src/dnsmasq.c -+++ b/src/dnsmasq.c -@@ -940,6 +940,11 @@ int main (int argc, char **argv) - - poll_resolv(0, daemon->last_resolv != 0, now); - daemon->last_resolv = now; -+ -+#ifdef HAVE_ISC_READER -+ if (daemon->lease_file && !daemon->dhcp) -+ load_dhcp(now); -+#endif - } - - if (FD_ISSET(piperead, &rset)) -diff --git a/src/dnsmasq.h b/src/dnsmasq.h -index e74b15a..4a35168 100644 ---- a/src/dnsmasq.h -+++ b/src/dnsmasq.h -@@ -1463,9 +1463,13 @@ time_t periodic_slaac(time_t now, struct dhcp_lease *leases); - void slaac_ping_reply(struct in6_addr *sender, unsigned char *packet, char *interface, struct dhcp_lease *leases); - #endif - -+/* isc.c */ -+#ifdef HAVE_ISC_READER -+void load_dhcp(time_t now); -+#endif -+ - /* loop.c */ - #ifdef HAVE_LOOP - void loop_send_probes(); - int detect_loop(char *query, int type); - #endif -- -diff --git a/src/isc.c b/src/isc.c -new file mode 100644 -index 0000000..5106442 ---- /dev/null -+++ b/src/isc.c -@@ -0,0 +1,251 @@ -+/* dnsmasq is Copyright (c) 2014 John Volpe, Simon Kelley and -+ Michael Tremer -+ -+ 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; version 2 dated June, 1991, or -+ (at your option) version 3 dated 29 June, 2007. -+ -+ 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/. -+ -+ Code in this file is based on contributions by John Volpe and -+ Simon Kelley. Updated for recent versions of dnsmasq by -+ Michael Tremer. -+*/ -+ -+#include "dnsmasq.h" -+ -+#ifdef HAVE_ISC_READER -+#define MAXTOK 50 -+ -+struct isc_dhcp_lease { -+ char* name; -+ char* fqdn; -+ time_t expires; -+ struct in_addr addr; -+ struct isc_dhcp_lease* next; -+}; -+ -+static struct isc_dhcp_lease* dhcp_lease_new(const char* hostname) { -+ struct isc_dhcp_lease* lease = whine_malloc(sizeof(*lease)); -+ -+ lease->name = strdup(hostname); -+ if (daemon->domain_suffix) { -+ asprintf(&lease->fqdn, "%s.%s", hostname, daemon->domain_suffix); -+ } -+ lease->expires = 0; -+ lease->next = NULL; -+ -+ return lease; -+} -+ -+static void dhcp_lease_free(struct isc_dhcp_lease* lease) { -+ if (!lease) -+ return; -+ -+ if (lease->name) -+ free(lease->name); -+ if (lease->fqdn) -+ free(lease->fqdn); -+ free(lease); -+} -+ -+static int next_token(char* token, int buffsize, FILE* fp) { -+ int c, count = 0; -+ char* cp = token; -+ -+ while ((c = getc(fp)) != EOF) { -+ if (c == '#') { -+ do { -+ c = getc(fp); -+ } while (c != '\n' && c != EOF); -+ } -+ -+ if (c == ' ' || c == '\t' || c == '\n' || c == ';') { -+ if (count) -+ break; -+ } else if ((c != '"') && (count < buffsize - 1)) { -+ *cp++ = c; -+ count++; -+ } -+ } -+ -+ *cp = 0; -+ return count ? 1 : 0; -+} -+ -+static long get_utc_offset() { -+ time_t t = time(NULL); -+ struct tm* time_struct = localtime(&t); -+ -+ return time_struct->tm_gmtoff; -+} -+ -+static time_t parse_lease_time(const char* token_date, const char* token_time) { -+ time_t time = (time_t)(-1); -+ struct tm lease_time; -+ -+ if (sscanf(token_date, "%d/%d/%d", &lease_time.tm_year, &lease_time.tm_mon, &lease_time.tm_mday) == 3) { -+ lease_time.tm_year -= 1900; -+ lease_time.tm_mon -= 1; -+ -+ if (sscanf(token_time, "%d:%d:%d", &lease_time.tm_hour, &lease_time.tm_min, &lease_time.tm_sec) == 3) { -+ time = mktime(&lease_time) + get_utc_offset(); -+ } -+ } -+ -+ return time; -+} -+ -+static struct isc_dhcp_lease* find_lease(const char* hostname, struct isc_dhcp_lease* leases) { -+ struct isc_dhcp_lease* lease = leases; -+ -+ while (lease) { -+ if (strcmp(hostname, lease->name) == 0) { -+ return lease; -+ } -+ lease = lease->next; -+ } -+ -+ return NULL; -+} -+ -+static off_t lease_file_size = (off_t)0; -+static ino_t lease_file_inode = (ino_t)0; -+ -+void load_dhcp(time_t now) { -+ struct isc_dhcp_lease* leases = NULL; -+ -+ struct stat statbuf; -+ if (stat(daemon->lease_file, &statbuf) == -1) { -+ return; -+ } -+ -+ /* Do nothing if the lease file has not changed. */ -+ if ((statbuf.st_size <= lease_file_size) && (statbuf.st_ino == lease_file_inode)) -+ return; -+ -+ lease_file_size = statbuf.st_size; -+ lease_file_inode = statbuf.st_ino; -+ -+ FILE* fp = fopen(daemon->lease_file, "r"); -+ if (!fp) { -+ my_syslog(LOG_ERR, _("failed to load %s:%s"), daemon->lease_file, strerror(errno)); -+ return; -+ } -+ -+ my_syslog(LOG_INFO, _("reading %s"), daemon->lease_file); -+ -+ char* hostname = daemon->namebuff; -+ struct in_addr host_address; -+ time_t time_starts = -1; -+ time_t time_ends = -1; -+ int nomem; -+ -+ char token[MAXTOK]; -+ while ((next_token(token, MAXTOK, fp))) { -+ if (strcmp(token, "lease") == 0) { -+ hostname[0] = '\0'; -+ -+ if (next_token(token, MAXTOK, fp) && ((host_address.s_addr = inet_addr(token)) != (in_addr_t)-1)) { -+ if (next_token(token, MAXTOK, fp) && *token == '{') { -+ while (next_token(token, MAXTOK, fp) && *token != '}') { -+ if ((strcmp(token, "client-hostname") == 0) || (strcmp(token, "hostname") == 0)) { -+ if (next_token(hostname, MAXDNAME, fp)) { -+ if (!canonicalise(hostname, &nomem)) { -+ *hostname = 0; -+ my_syslog(LOG_ERR, _("bad name in %s"), daemon->lease_file); -+ } -+ } -+ } else if ((strcmp(token, "starts") == 0) || (strcmp(token, "ends") == 0)) { -+ char token_date[MAXTOK]; -+ char token_time[MAXTOK]; -+ -+ int is_starts = strcmp(token, "starts") == 0; -+ -+ // Throw away the weekday and parse the date. -+ if (next_token(token, MAXTOK, fp) && next_token(token_date, MAXTOK, fp) && next_token(token_time, MAXTOK, fp)) { -+ time_t time = parse_lease_time(token_date, token_time); -+ -+ if (is_starts) -+ time_starts = time; -+ else -+ time_ends = time; -+ } -+ } -+ } -+ -+ if (!*hostname) -+ continue; -+ -+ if ((time_starts == -1) || (time_ends == -1)) -+ continue; -+ -+ if (difftime(now, time_ends) > 0) -+ continue; -+ -+ char* dot = strchr(hostname, '.'); -+ if (dot) { -+ if (!daemon->domain_suffix || hostname_isequal(dot + 1, daemon->domain_suffix)) { -+ my_syslog(LOG_WARNING, -+ _("Ignoring DHCP lease for %s because it has an illegal domain part"), -+ hostname); -+ continue; -+ } -+ *dot = 0; -+ } -+ -+ // Search for an existing lease in the list -+ // with the given host name and update the data -+ // if needed. -+ struct isc_dhcp_lease* lease = find_lease(hostname, leases); -+ -+ // If no lease already exists, we create a new one -+ // and append it to the list. -+ if (!lease) { -+ lease = dhcp_lease_new(hostname); -+ -+ lease->next = leases; -+ leases = lease; -+ } -+ -+ // Only update more recent leases. -+ if (lease->expires > time_ends) -+ continue; -+ -+ lease->addr = host_address; -+ lease->expires = time_ends; -+ } -+ } -+ } -+ } -+ -+ fclose(fp); -+ -+ // Drop all entries. -+ cache_unhash_dhcp(); -+ -+ while (leases) { -+ struct isc_dhcp_lease *lease = leases; -+ leases = lease->next; -+ -+ if (lease->fqdn) { -+ cache_add_dhcp_entry(lease->fqdn, AF_INET, (struct all_addr*)&lease->addr.s_addr, lease->expires); -+ } -+ -+ if (lease->name) { -+ cache_add_dhcp_entry(lease->name, AF_INET, (struct all_addr*)&lease->addr.s_addr, lease->expires); -+ } -+ -+ // Cleanup -+ dhcp_lease_free(lease); -+ } -+} -+ -+#endif -diff --git a/src/option.c b/src/option.c -index 45d8875..29c9ee5 100644 ---- a/src/option.c -+++ b/src/option.c -@@ -1669,7 +1669,7 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma - ret_err(_("bad MX target")); - break; - --#ifdef HAVE_DHCP -+#if (defined HAVE_DHCP) || (defined HAVE_ISC_READER) - case 'l': /* --dhcp-leasefile */ - daemon->lease_file = opt_string_alloc(arg); - break; diff --git a/src/patches/dnsmasq-Add-support-to-read-ISC-DHCP-lease-file.patch b/src/patches/dnsmasq-Add-support-to-read-ISC-DHCP-lease-file.patch new file mode 100644 index 0000000..1a89b36 --- /dev/null +++ b/src/patches/dnsmasq-Add-support-to-read-ISC-DHCP-lease-file.patch @@ -0,0 +1,365 @@ +diff --git a/Makefile b/Makefile +index 2910320b6452..0a76ce3c5154 100644 +--- a/Makefile ++++ b/Makefile +@@ -73,7 +73,7 @@ objs = cache.o rfc1035.o util.o option.o forward.o network.o \ + dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \ + helper.o tftp.o log.o conntrack.o dhcp6.o rfc3315.o \ + dhcp-common.o outpacket.o radv.o slaac.o auth.o ipset.o \ +- domain.o dnssec.o blockdata.o tables.o loop.o inotify.o ++ domain.o dnssec.o blockdata.o tables.o loop.o inotify.o isc.o + + hdrs = dnsmasq.h config.h dhcp-protocol.h dhcp6-protocol.h \ + dns-protocol.h radv-protocol.h ip6addr.h +diff --git a/src/cache.c b/src/cache.c +index 117ae279fd4e..6ee7ee362e6c 100644 +--- a/src/cache.c ++++ b/src/cache.c +@@ -17,7 +17,7 @@ + #include "dnsmasq.h" + + static struct crec *cache_head = NULL, *cache_tail = NULL, **hash_table = NULL; +-#ifdef HAVE_DHCP ++#if (defined HAVE_DHCP) || (defined HAVE_ISC_READER) + static struct crec *dhcp_spare = NULL; + #endif + static struct crec *new_chain = NULL; +@@ -222,6 +222,9 @@ static void cache_free(struct crec *crecp) + crecp->flags &= ~F_BIGNAME; + } + ++ if (crecp->flags & F_DHCP) ++ free(crecp->name.namep); ++ + #ifdef HAVE_DNSSEC + cache_blockdata_free(crecp); + #endif +@@ -1151,7 +1154,7 @@ void cache_reload(void) + + } + +-#ifdef HAVE_DHCP ++#if (defined HAVE_DHCP) || (defined HAVE_ISC_READER) + struct in_addr a_record_from_hosts(char *name, time_t now) + { + struct crec *crecp = NULL; +@@ -1229,7 +1232,7 @@ void cache_add_dhcp_entry(char *host_name, int prot, + addrlen = sizeof(struct in6_addr); + } + #endif +- ++ + inet_ntop(prot, host_address, daemon->addrbuff, ADDRSTRLEN); + + while ((crec = cache_find_by_name(crec, host_name, 0, flags | F_CNAME))) +@@ -1294,7 +1297,11 @@ void cache_add_dhcp_entry(char *host_name, int prot, + else + crec->ttd = ttd; + crec->addr.addr = *host_address; ++#ifdef HAVE_ISC_READER ++ crec->name.namep = strdup(host_name); ++#else + crec->name.namep = host_name; ++#endif + crec->uid = next_uid(); + cache_hash(crec); + +diff --git a/src/dnsmasq.c b/src/dnsmasq.c +index e903a24c8105..eefc7f939933 100644 +--- a/src/dnsmasq.c ++++ b/src/dnsmasq.c +@@ -970,6 +970,11 @@ int main (int argc, char **argv) + + poll_resolv(0, daemon->last_resolv != 0, now); + daemon->last_resolv = now; ++ ++#ifdef HAVE_ISC_READER ++ if (daemon->lease_file && !daemon->dhcp) ++ load_dhcp(now); ++#endif + } + #endif + +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index 89e758b56a0a..c5edd6fdf7f5 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -1502,3 +1502,8 @@ void inotify_dnsmasq_init(); + int inotify_check(time_t now); + void set_dynamic_inotify(int flag, int total_size, struct crec **rhash, int revhashsz); + #endif ++ ++/* isc.c */ ++#ifdef HAVE_ISC_READER ++void load_dhcp(time_t now); ++#endif +diff --git a/src/isc.c b/src/isc.c +new file mode 100644 +index 000000000000..51064426f17f +--- /dev/null ++++ b/src/isc.c +@@ -0,0 +1,251 @@ ++/* dnsmasq is Copyright (c) 2014 John Volpe, Simon Kelley and ++ Michael Tremer ++ ++ 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; version 2 dated June, 1991, or ++ (at your option) version 3 dated 29 June, 2007. ++ ++ 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/. ++ ++ Code in this file is based on contributions by John Volpe and ++ Simon Kelley. Updated for recent versions of dnsmasq by ++ Michael Tremer. ++*/ ++ ++#include "dnsmasq.h" ++ ++#ifdef HAVE_ISC_READER ++#define MAXTOK 50 ++ ++struct isc_dhcp_lease { ++ char* name; ++ char* fqdn; ++ time_t expires; ++ struct in_addr addr; ++ struct isc_dhcp_lease* next; ++}; ++ ++static struct isc_dhcp_lease* dhcp_lease_new(const char* hostname) { ++ struct isc_dhcp_lease* lease = whine_malloc(sizeof(*lease)); ++ ++ lease->name = strdup(hostname); ++ if (daemon->domain_suffix) { ++ asprintf(&lease->fqdn, "%s.%s", hostname, daemon->domain_suffix); ++ } ++ lease->expires = 0; ++ lease->next = NULL; ++ ++ return lease; ++} ++ ++static void dhcp_lease_free(struct isc_dhcp_lease* lease) { ++ if (!lease) ++ return; ++ ++ if (lease->name) ++ free(lease->name); ++ if (lease->fqdn) ++ free(lease->fqdn); ++ free(lease); ++} ++ ++static int next_token(char* token, int buffsize, FILE* fp) { ++ int c, count = 0; ++ char* cp = token; ++ ++ while ((c = getc(fp)) != EOF) { ++ if (c == '#') { ++ do { ++ c = getc(fp); ++ } while (c != '\n' && c != EOF); ++ } ++ ++ if (c == ' ' || c == '\t' || c == '\n' || c == ';') { ++ if (count) ++ break; ++ } else if ((c != '"') && (count < buffsize - 1)) { ++ *cp++ = c; ++ count++; ++ } ++ } ++ ++ *cp = 0; ++ return count ? 1 : 0; ++} ++ ++static long get_utc_offset() { ++ time_t t = time(NULL); ++ struct tm* time_struct = localtime(&t); ++ ++ return time_struct->tm_gmtoff; ++} ++ ++static time_t parse_lease_time(const char* token_date, const char* token_time) { ++ time_t time = (time_t)(-1); ++ struct tm lease_time; ++ ++ if (sscanf(token_date, "%d/%d/%d", &lease_time.tm_year, &lease_time.tm_mon, &lease_time.tm_mday) == 3) { ++ lease_time.tm_year -= 1900; ++ lease_time.tm_mon -= 1; ++ ++ if (sscanf(token_time, "%d:%d:%d", &lease_time.tm_hour, &lease_time.tm_min, &lease_time.tm_sec) == 3) { ++ time = mktime(&lease_time) + get_utc_offset(); ++ } ++ } ++ ++ return time; ++} ++ ++static struct isc_dhcp_lease* find_lease(const char* hostname, struct isc_dhcp_lease* leases) { ++ struct isc_dhcp_lease* lease = leases; ++ ++ while (lease) { ++ if (strcmp(hostname, lease->name) == 0) { ++ return lease; ++ } ++ lease = lease->next; ++ } ++ ++ return NULL; ++} ++ ++static off_t lease_file_size = (off_t)0; ++static ino_t lease_file_inode = (ino_t)0; ++ ++void load_dhcp(time_t now) { ++ struct isc_dhcp_lease* leases = NULL; ++ ++ struct stat statbuf; ++ if (stat(daemon->lease_file, &statbuf) == -1) { ++ return; ++ } ++ ++ /* Do nothing if the lease file has not changed. */ ++ if ((statbuf.st_size <= lease_file_size) && (statbuf.st_ino == lease_file_inode)) ++ return; ++ ++ lease_file_size = statbuf.st_size; ++ lease_file_inode = statbuf.st_ino; ++ ++ FILE* fp = fopen(daemon->lease_file, "r"); ++ if (!fp) { ++ my_syslog(LOG_ERR, _("failed to load %s:%s"), daemon->lease_file, strerror(errno)); ++ return; ++ } ++ ++ my_syslog(LOG_INFO, _("reading %s"), daemon->lease_file); ++ ++ char* hostname = daemon->namebuff; ++ struct in_addr host_address; ++ time_t time_starts = -1; ++ time_t time_ends = -1; ++ int nomem; ++ ++ char token[MAXTOK]; ++ while ((next_token(token, MAXTOK, fp))) { ++ if (strcmp(token, "lease") == 0) { ++ hostname[0] = '\0'; ++ ++ if (next_token(token, MAXTOK, fp) && ((host_address.s_addr = inet_addr(token)) != (in_addr_t)-1)) { ++ if (next_token(token, MAXTOK, fp) && *token == '{') { ++ while (next_token(token, MAXTOK, fp) && *token != '}') { ++ if ((strcmp(token, "client-hostname") == 0) || (strcmp(token, "hostname") == 0)) { ++ if (next_token(hostname, MAXDNAME, fp)) { ++ if (!canonicalise(hostname, &nomem)) { ++ *hostname = 0; ++ my_syslog(LOG_ERR, _("bad name in %s"), daemon->lease_file); ++ } ++ } ++ } else if ((strcmp(token, "starts") == 0) || (strcmp(token, "ends") == 0)) { ++ char token_date[MAXTOK]; ++ char token_time[MAXTOK]; ++ ++ int is_starts = strcmp(token, "starts") == 0; ++ ++ // Throw away the weekday and parse the date. ++ if (next_token(token, MAXTOK, fp) && next_token(token_date, MAXTOK, fp) && next_token(token_time, MAXTOK, fp)) { ++ time_t time = parse_lease_time(token_date, token_time); ++ ++ if (is_starts) ++ time_starts = time; ++ else ++ time_ends = time; ++ } ++ } ++ } ++ ++ if (!*hostname) ++ continue; ++ ++ if ((time_starts == -1) || (time_ends == -1)) ++ continue; ++ ++ if (difftime(now, time_ends) > 0) ++ continue; ++ ++ char* dot = strchr(hostname, '.'); ++ if (dot) { ++ if (!daemon->domain_suffix || hostname_isequal(dot + 1, daemon->domain_suffix)) { ++ my_syslog(LOG_WARNING, ++ _("Ignoring DHCP lease for %s because it has an illegal domain part"), ++ hostname); ++ continue; ++ } ++ *dot = 0; ++ } ++ ++ // Search for an existing lease in the list ++ // with the given host name and update the data ++ // if needed. ++ struct isc_dhcp_lease* lease = find_lease(hostname, leases); ++ ++ // If no lease already exists, we create a new one ++ // and append it to the list. ++ if (!lease) { ++ lease = dhcp_lease_new(hostname); ++ ++ lease->next = leases; ++ leases = lease; ++ } ++ ++ // Only update more recent leases. ++ if (lease->expires > time_ends) ++ continue; ++ ++ lease->addr = host_address; ++ lease->expires = time_ends; ++ } ++ } ++ } ++ } ++ ++ fclose(fp); ++ ++ // Drop all entries. ++ cache_unhash_dhcp(); ++ ++ while (leases) { ++ struct isc_dhcp_lease *lease = leases; ++ leases = lease->next; ++ ++ if (lease->fqdn) { ++ cache_add_dhcp_entry(lease->fqdn, AF_INET, (struct all_addr*)&lease->addr.s_addr, lease->expires); ++ } ++ ++ if (lease->name) { ++ cache_add_dhcp_entry(lease->name, AF_INET, (struct all_addr*)&lease->addr.s_addr, lease->expires); ++ } ++ ++ // Cleanup ++ dhcp_lease_free(lease); ++ } ++} ++ ++#endif +diff --git a/src/option.c b/src/option.c +index cb4e76ba0aa2..f6420fcbb7ab 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -1693,7 +1693,7 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + ret_err(_("bad MX target")); + break; + +-#ifdef HAVE_DHCP ++#if (defined HAVE_DHCP) || (defined HAVE_ISC_READER) + case 'l': /* --dhcp-leasefile */ + daemon->lease_file = opt_string_alloc(arg); + break; diff --git a/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch b/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch new file mode 100644 index 0000000..adcb44f --- /dev/null +++ b/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch @@ -0,0 +1,23 @@ +From f2658275b25ebfe691cdcb9fede85a3088cca168 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Thu, 25 Sep 2014 21:51:25 +0100 +Subject: [PATCH 01/55] Add newline at the end of example config file. + +--- + dnsmasq.conf.example | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dnsmasq.conf.example b/dnsmasq.conf.example +index 83924fc4a9b4..6b00bd34fbb5 100644 +--- a/dnsmasq.conf.example ++++ b/dnsmasq.conf.example +@@ -645,4 +645,4 @@ + #conf-dir=/etc/dnsmasq.d,.bak + + # Include all files in a directory which end in .conf +-#conf-dir=/etc/dnsmasq.d/*.conf +\ No newline at end of file ++#conf-dir=/etc/dnsmasq.d/*.conf +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch b/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch new file mode 100644 index 0000000..b84440b --- /dev/null +++ b/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch @@ -0,0 +1,86 @@ +From 00cd9d551998307225312fd21f761cfa8868bd2c Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Thu, 2 Oct 2014 21:44:21 +0100 +Subject: [PATCH 02/55] crash at startup when an empty suffix is supplied to + --conf-dir + +--- + CHANGELOG | 6 ++++++ + src/option.c | 38 +++++++++++++++++++++++--------------- + 2 files changed, 29 insertions(+), 15 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index 768e2aaca42a..13ab41c05fc3 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -1,3 +1,9 @@ ++version 2.73 ++ Fix crash at startup when an empty suffix is supplied to ++ --conf-dir, also trivial memory leak. Thanks to ++ Tomas Hozza for spotting this. ++ ++ + version 2.72 + Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. + +diff --git a/src/option.c b/src/option.c +index 45d8875fb7f9..b08e98e16f84 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -1474,22 +1474,25 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + for (arg = comma; arg; arg = comma) + { + comma = split(arg); +- li = opt_malloc(sizeof(struct list)); +- if (*arg == '*') ++ if (strlen(arg) != 0) + { +- li->next = match_suffix; +- match_suffix = li; +- /* Have to copy: buffer is overwritten */ +- li->suffix = opt_string_alloc(arg+1); +- } +- else +- { +- li->next = ignore_suffix; +- ignore_suffix = li; +- /* Have to copy: buffer is overwritten */ +- li->suffix = opt_string_alloc(arg); ++ li = opt_malloc(sizeof(struct list)); ++ if (*arg == '*') ++ { ++ li->next = match_suffix; ++ match_suffix = li; ++ /* Have to copy: buffer is overwritten */ ++ li->suffix = opt_string_alloc(arg+1); ++ } ++ else ++ { ++ li->next = ignore_suffix; ++ ignore_suffix = li; ++ /* Have to copy: buffer is overwritten */ ++ li->suffix = opt_string_alloc(arg); ++ } + } +- }; ++ } + + if (!(dir_stream = opendir(directory))) + die(_("cannot access directory %s: %s"), directory, EC_FILE); +@@ -1555,7 +1558,12 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + free(ignore_suffix->suffix); + free(ignore_suffix); + } +- ++ for(; match_suffix; match_suffix = li) ++ { ++ li = match_suffix->next; ++ free(match_suffix->suffix); ++ free(match_suffix); ++ } + break; + } + +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch b/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch new file mode 100644 index 0000000..fe73acd --- /dev/null +++ b/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch @@ -0,0 +1,36 @@ +From 6ac3bc0452a74e16e3d620a0757b0f8caab182ec Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Fri, 3 Oct 2014 08:48:11 +0100 +Subject: [PATCH 03/55] Debian build fixes for kFreeBSD + +--- + src/tables.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/tables.c b/src/tables.c +index 834f11944cd0..dcdef794c4d2 100644 +--- a/src/tables.c ++++ b/src/tables.c +@@ -20,6 +20,10 @@ + + #if defined(HAVE_IPSET) && defined(HAVE_BSD_NETWORK) + ++#ifndef __FreeBSD__ ++#include <bsd/string.h> ++#endif ++ + #include <sys/types.h> + #include <sys/ioctl.h> + +@@ -136,7 +140,7 @@ int add_to_ipset(const char *setname, const struct all_addr *ipaddr, + return -1; + } + +- if (rc = pfr_add_tables(&table, 1, &n, 0)) ++ if ((rc = pfr_add_tables(&table, 1, &n, 0))) + { + my_syslog(LOG_WARNING, _("warning: pfr_add_tables: %s(%d)"), + pfr_strerror(errno),rc); +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch b/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch new file mode 100644 index 0000000..5d7c3c4 --- /dev/null +++ b/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch @@ -0,0 +1,68 @@ +From e9828b6f66b22ce8873f8d30a773137d1aef1b92 Mon Sep 17 00:00:00 2001 +From: Karl Vogel karl.vogel@gmail.com +Date: Fri, 3 Oct 2014 21:45:15 +0100 +Subject: [PATCH 04/55] Set conntrack mark before connect() call. + +SO_MARK has to be done before issuing the connect() call on the +TCP socket. +--- + src/forward.c | 36 ++++++++++++++++++------------------ + 1 file changed, 18 insertions(+), 18 deletions(-) + +diff --git a/src/forward.c b/src/forward.c +index 4895efeba89a..2cf29eba6e26 100644 +--- a/src/forward.c ++++ b/src/forward.c +@@ -1796,6 +1796,24 @@ unsigned char *tcp_request(int confd, time_t now, + if ((last_server->tcpfd = socket(last_server->addr.sa.sa_family, SOCK_STREAM, 0)) == -1) + continue; + ++#ifdef HAVE_CONNTRACK ++ /* Copy connection mark of incoming query to outgoing connection. */ ++ if (option_bool(OPT_CONNTRACK)) ++ { ++ unsigned int mark; ++ struct all_addr local; ++#ifdef HAVE_IPV6 ++ if (local_addr->sa.sa_family == AF_INET6) ++ local.addr.addr6 = local_addr->in6.sin6_addr; ++ else ++#endif ++ local.addr.addr4 = local_addr->in.sin_addr; ++ ++ if (get_incoming_mark(&peer_addr, &local, 1, &mark)) ++ setsockopt(last_server->tcpfd, SOL_SOCKET, SO_MARK, &mark, sizeof(unsigned int)); ++ } ++#endif ++ + if ((!local_bind(last_server->tcpfd, &last_server->source_addr, last_server->interface, 1) || + connect(last_server->tcpfd, &last_server->addr.sa, sa_len(&last_server->addr)) == -1)) + { +@@ -1820,24 +1838,6 @@ unsigned char *tcp_request(int confd, time_t now, + size = new_size; + } + #endif +- +-#ifdef HAVE_CONNTRACK +- /* Copy connection mark of incoming query to outgoing connection. */ +- if (option_bool(OPT_CONNTRACK)) +- { +- unsigned int mark; +- struct all_addr local; +-#ifdef HAVE_IPV6 +- if (local_addr->sa.sa_family == AF_INET6) +- local.addr.addr6 = local_addr->in6.sin6_addr; +- else +-#endif +- local.addr.addr4 = local_addr->in.sin_addr; +- +- if (get_incoming_mark(&peer_addr, &local, 1, &mark)) +- setsockopt(last_server->tcpfd, SOL_SOCKET, SO_MARK, &mark, sizeof(unsigned int)); +- } +-#endif + } + + *length = htons(size); +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch b/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch new file mode 100644 index 0000000..80c55f6 --- /dev/null +++ b/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch @@ -0,0 +1,26 @@ +From 17b475912f6a4e72797a543dad59d4d5dde6bb1b Mon Sep 17 00:00:00 2001 +From: Daniel Collins daniel.collins@smoothwall.net +Date: Fri, 3 Oct 2014 21:58:43 +0100 +Subject: [PATCH 05/55] Fix typo in new Dbus code. + +Simon's fault. +--- + src/dbus.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/dbus.c b/src/dbus.c +index 15fed906bd90..a2a94dc85dac 100644 +--- a/src/dbus.c ++++ b/src/dbus.c +@@ -426,7 +426,7 @@ static DBusMessage *dbus_set_bool(DBusMessage *message, int flag, char *name) + } + else + { +- my_syslog(LOG_INFO, "Disabling --$s option from D-Bus", name); ++ my_syslog(LOG_INFO, "Disabling --%s option from D-Bus", name); + reset_option_bool(flag); + } + +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch b/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch new file mode 100644 index 0000000..5f9f572 --- /dev/null +++ b/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch @@ -0,0 +1,22 @@ +From 3d9d2dd0018603a2ae4b9cd65ac6ff959f4fd8c7 Mon Sep 17 00:00:00 2001 +From: Tomas Hozza thozza@redhat.com +Date: Mon, 6 Oct 2014 10:46:48 +0100 +Subject: [PATCH 06/55] Fit example conf file typo. + +--- + dnsmasq.conf.example | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dnsmasq.conf.example b/dnsmasq.conf.example +index 6b00bd34fbb5..1bd305dbdbad 100644 +--- a/dnsmasq.conf.example ++++ b/dnsmasq.conf.example +@@ -645,4 +645,4 @@ + #conf-dir=/etc/dnsmasq.d,.bak + + # Include all files in a directory which end in .conf +-#conf-dir=/etc/dnsmasq.d/*.conf ++#conf-dir=/etc/dnsmasq.d/,*.conf +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch b/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch new file mode 100644 index 0000000..370d106 --- /dev/null +++ b/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch @@ -0,0 +1,107 @@ +From b9ff5c8f435173cfa616e3c398bdc089ef690a07 Mon Sep 17 00:00:00 2001 +From: Vladislav Grishenko themiron@mail.ru +Date: Mon, 6 Oct 2014 14:34:24 +0100 +Subject: [PATCH 07/55] Improve RFC-compliance when unable to supply addresses + in DHCPv6 + +While testing https://github.com/sbyx/odhcp6c client I have noticed it +permanently crashes after startup. + +The reason was it (odhcp6c) doesn't expect empty IA options in ADVERTISE +message without any suboptions. + +Despite this validation bug of odhcp6c, dnsmasq should not generate +ADVERTISE messages with IA if there's nothing to advert per RFC 3315 +17.2.2: + + If the server will not assign any addresses to any IAs in a + + subsequent Request from the client, the server MUST send an Advertise + + message to the client that includes only a Status Code option with + + code NoAddrsAvail and a status message for the user, a Server + + Identifier option with the server's DUID, and a Client Identifier + + option with the client's DUID. + +Meanwhile it's need to add status code for every IA in REPLY message per +RFC3315 18.2.1: + + If the server cannot assign any addresses to an IA in the message + from the client, the server MUST include the IA in the Reply message + with no addresses in the IA and a Status Code option in the IA + containing status code NoAddrsAvail. + +So, I've changed the logic to skip IA completely from ADVERTISE messages and +to add NoAddrsAvail subcode into IA of REPLY messages. + +As for overhead, yes, I believe it's ok to return NoAddrsAvail twice in IA +and in global section for compatibility with all old and new clients. +--- + src/rfc3315.c | 27 +++++++++++++++++++++++++-- + 1 file changed, 25 insertions(+), 2 deletions(-) + +diff --git a/src/rfc3315.c b/src/rfc3315.c +index 5ebf09d50ac1..ddb390bf1136 100644 +--- a/src/rfc3315.c ++++ b/src/rfc3315.c +@@ -691,6 +691,8 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ + #endif + + o = build_ia(state, &t1cntr); ++ if (address_assigned) ++ address_assigned = 2; + + for (ia_counter = 0; ia_option; ia_counter++, ia_option = opt6_find(opt6_next(ia_option, ia_end), ia_end, OPTION6_IAADDR, 24)) + { +@@ -781,6 +783,27 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ + address_assigned = 1; + } + ++ if (address_assigned != 1) ++ { ++ /* If the server will not assign any addresses to any IAs in a ++ subsequent Request from the client, the server MUST send an Advertise ++ message to the client that doesn't include any IA options. */ ++ if (!state->lease_allocate) ++ { ++ save_counter(o); ++ continue; ++ } ++ ++ /* If the server cannot assign any addresses to an IA in the message ++ from the client, the server MUST include the IA in the Reply message ++ with no addresses in the IA and a Status Code option in the IA ++ containing status code NoAddrsAvail. */ ++ o1 = new_opt6(OPTION6_STATUS_CODE); ++ put_opt6_short(DHCP6NOADDRS); ++ put_opt6_string(_("address unavailable")); ++ end_opt6(o1); ++ } ++ + end_ia(t1cntr, min_time, 0); + end_opt6(o); + } +@@ -806,7 +829,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ + put_opt6_short(DHCP6NOADDRS); + put_opt6_string(_("no addresses available")); + end_opt6(o1); +- log6_packet(state, "DHCPADVERTISE", NULL, _("no addresses available")); ++ log6_packet(state, state->lease_allocate ? "DHCPREPLY" : "DHCPADVERTISE", NULL, _("no addresses available")); + } + + break; +@@ -862,7 +885,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ + { + /* Static range, not configured. */ + o1 = new_opt6(OPTION6_STATUS_CODE); +- put_opt6_short(DHCP6UNSPEC); ++ put_opt6_short(DHCP6NOADDRS); + put_opt6_string(_("address unavailable")); + end_opt6(o1); + } +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch b/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch new file mode 100644 index 0000000..3f8bad3 --- /dev/null +++ b/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch @@ -0,0 +1,39 @@ +From 98906275a02ae260fe3f82133bd79054f8315f06 Mon Sep 17 00:00:00 2001 +From: Hans Dedecker dedeckeh@gmail.com +Date: Tue, 9 Dec 2014 22:22:53 +0000 +Subject: [PATCH 08/55] Fix conntrack with --bind-interfaces + +Make sure dst_addr is assigned the correct address in receive_query when OPTNOWILD is +enabled so the assigned mark can be correctly retrieved and set in forward_query when +conntrack is enabled. + +Signed-off-by: Hans Dedecker dedeckeh@gmail.com +--- + src/forward.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/forward.c b/src/forward.c +index 2cf29eba6e26..408a179a20f4 100644 +--- a/src/forward.c ++++ b/src/forward.c +@@ -1048,7 +1048,7 @@ void receive_query(struct listener *listen, time_t now) + /* packet buffer overwritten */ + daemon->srv_save = NULL; + +- dst_addr_4.s_addr = 0; ++ dst_addr_4.s_addr = dst_addr.addr.addr4.s_addr = 0; + netmask.s_addr = 0; + + if (option_bool(OPT_NOWILD) && listen->iface) +@@ -1057,7 +1057,7 @@ void receive_query(struct listener *listen, time_t now) + + if (listen->family == AF_INET) + { +- dst_addr_4 = listen->iface->addr.in.sin_addr; ++ dst_addr_4 = dst_addr.addr.addr4 = listen->iface->addr.in.sin_addr; + netmask = listen->iface->netmask; + } + } +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch b/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch new file mode 100644 index 0000000..8193920 --- /dev/null +++ b/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch @@ -0,0 +1,257 @@ +From 193de4abf59e49c6b70d54cfe9720fcb95ca2f71 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Wed, 10 Dec 2014 17:32:16 +0000 +Subject: [PATCH 09/55] Use inotify instead of polling on Linux. + +This should solve problems people are seeing when a file changes +twice within a second and thus is missed for polling. +--- + Makefile | 2 +- + bld/Android.mk | 2 +- + src/dnsmasq.c | 25 ++++++++++++-- + src/dnsmasq.h | 11 ++++++- + src/inotify.c | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 5 files changed, 137 insertions(+), 5 deletions(-) + create mode 100644 src/inotify.c + +diff --git a/Makefile b/Makefile +index 58a7975f60b5..c340f1c7b59a 100644 +--- a/Makefile ++++ b/Makefile +@@ -69,7 +69,7 @@ objs = cache.o rfc1035.o util.o option.o forward.o network.o \ + dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \ + helper.o tftp.o log.o conntrack.o dhcp6.o rfc3315.o \ + dhcp-common.o outpacket.o radv.o slaac.o auth.o ipset.o \ +- domain.o dnssec.o blockdata.o tables.o loop.o ++ domain.o dnssec.o blockdata.o tables.o loop.o inotify.o + + hdrs = dnsmasq.h config.h dhcp-protocol.h dhcp6-protocol.h \ + dns-protocol.h radv-protocol.h ip6addr.h +diff --git a/bld/Android.mk b/bld/Android.mk +index d855094eb264..d627796e8edc 100644 +--- a/bld/Android.mk ++++ b/bld/Android.mk +@@ -10,7 +10,7 @@ LOCAL_SRC_FILES := bpf.c cache.c dbus.c dhcp.c dnsmasq.c \ + dhcp6.c rfc3315.c dhcp-common.c outpacket.c \ + radv.c slaac.c auth.c ipset.c domain.c \ + dnssec.c dnssec-openssl.c blockdata.c tables.c \ +- loop.c ++ loop.c inotify.c + + LOCAL_MODULE := dnsmasq + +diff --git a/src/dnsmasq.c b/src/dnsmasq.c +index f4a89fc38183..bf2e25a55780 100644 +--- a/src/dnsmasq.c ++++ b/src/dnsmasq.c +@@ -315,9 +315,15 @@ int main (int argc, char **argv) + if (daemon->port != 0) + { + cache_init(); ++ + #ifdef HAVE_DNSSEC + blockdata_init(); + #endif ++ ++#ifdef HAVE_LINUX_NETWORK ++ if (!option_bool(OPT_NO_POLL)) ++ inotify_dnsmasq_init(); ++#endif + } + + if (option_bool(OPT_DBUS)) +@@ -793,6 +799,11 @@ int main (int argc, char **argv) + + pid = getpid(); + ++#ifdef HAVE_LINUX_NETWORK ++ /* Using inotify, have to select a resolv file at startup */ ++ poll_resolv(1, 0, now); ++#endif ++ + while (1) + { + int maxfd = -1; +@@ -862,11 +873,16 @@ int main (int argc, char **argv) + #if defined(HAVE_LINUX_NETWORK) + FD_SET(daemon->netlinkfd, &rset); + bump_maxfd(daemon->netlinkfd, &maxfd); ++ if (daemon->port != 0 && !option_bool(OPT_NO_POLL)) ++ { ++ FD_SET(daemon->inotifyfd, &rset); ++ bump_maxfd(daemon->inotifyfd, &maxfd); ++ } + #elif defined(HAVE_BSD_NETWORK) + FD_SET(daemon->routefd, &rset); + bump_maxfd(daemon->routefd, &maxfd); + #endif +- ++ + FD_SET(piperead, &rset); + bump_maxfd(piperead, &maxfd); + +@@ -929,6 +945,10 @@ int main (int argc, char **argv) + route_sock(); + #endif + ++#ifdef HAVE_LINUX_NETWORK ++ if (daemon->port != 0 && !option_bool(OPT_NO_POLL) && FD_ISSET(daemon->inotifyfd, &rset) && inotify_check()) ++ poll_resolv(1, 1, now); ++#else + /* Check for changes to resolv files once per second max. */ + /* Don't go silent for long periods if the clock goes backwards. */ + if (daemon->last_resolv == 0 || +@@ -941,7 +961,8 @@ int main (int argc, char **argv) + poll_resolv(0, daemon->last_resolv != 0, now); + daemon->last_resolv = now; + } +- ++#endif ++ + if (FD_ISSET(piperead, &rset)) + async_event(piperead, now); + +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index e74b15a5459a..ebb6b957812f 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -541,6 +541,10 @@ struct resolvc { + int is_default, logged; + time_t mtime; + char *name; ++#ifdef HAVE_LINUX_NETWORK ++ int wd; /* inotify watch descriptor */ ++ char *file; /* pointer to file part if path */ ++#endif + }; + + /* adn-hosts parms from command-line (also dhcp-hostsfile and dhcp-optsfile */ +@@ -998,7 +1002,7 @@ extern struct daemon { + /* DHCP state */ + int dhcpfd, helperfd, pxefd; + #if defined(HAVE_LINUX_NETWORK) +- int netlinkfd; ++ int netlinkfd, inotifyfd; + #elif defined(HAVE_BSD_NETWORK) + int dhcp_raw_fd, dhcp_icmp_fd, routefd; + #endif +@@ -1469,3 +1473,8 @@ void loop_send_probes(); + int detect_loop(char *query, int type); + #endif + ++/* inotify.c */ ++#ifdef HAVE_LINUX_NETWORK ++void inotify_dnsmasq_init(); ++int inotify_check(void); ++#endif +diff --git a/src/inotify.c b/src/inotify.c +new file mode 100644 +index 000000000000..a0223443d6b6 +--- /dev/null ++++ b/src/inotify.c +@@ -0,0 +1,102 @@ ++/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++ ++ 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; version 2 dated June, 1991, or ++ (at your option) version 3 dated 29 June, 2007. ++ ++ 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/. ++*/ ++ ++#include "dnsmasq.h" ++#include <sys/inotify.h> ++ ++#ifdef HAVE_LINUX_NETWORK ++ ++/* the strategy is to set a inotify on the directories containing ++ resolv files, for any files in the directory which are close-write ++ or moved into the directory. ++ ++ When either of those happen, we look to see if the file involved ++ is actually a resolv-file, and if so, call poll-resolv with ++ the "force" argument, to ensure it's read. ++ ++ This adds one new error condition: the directories containing ++ all specified resolv-files must exist at start-up, even if the actual ++ files don't. ++*/ ++ ++static char *inotify_buffer; ++#define INOTIFY_SZ (sizeof(struct inotify_event) + NAME_MAX + 1) ++ ++void inotify_dnsmasq_init() ++{ ++ struct resolvc *res; ++ ++ inotify_buffer = safe_malloc(INOTIFY_SZ); ++ ++ daemon->inotifyfd = inotify_init1(IN_NONBLOCK | IN_CLOEXEC); ++ ++ if (daemon->inotifyfd == -1) ++ die(_("failed to create inotify: %s"), NULL, EC_MISC); ++ ++ for (res = daemon->resolv_files; res; res = res->next) ++ { ++ char *d = strrchr(res->name, '/'); ++ ++ if (!d) ++ die(_("resolv-file %s not an absolute path"), res->name, EC_MISC); ++ ++ *d = 0; /* make ->name just directory */ ++ res->wd = inotify_add_watch(daemon->inotifyfd, res->name, IN_CLOSE_WRITE | IN_MOVED_TO); ++ res->file = d+1; /* pointer to filename */ ++ ++ if (res->wd == -1 && errno == ENOENT) ++ die(_("directory %s for resolv-file is missing, cannot poll"), res->name, EC_MISC); ++ ++ *d = '/'; /* restore name */ ++ ++ if (res->wd == -1) ++ die(_("failed to create inotify for %s: %s"), res->name, EC_MISC); ++ } ++} ++ ++int inotify_check(void) ++{ ++ int hit = 0; ++ ++ while (1) ++ { ++ int rc; ++ char *p; ++ struct resolvc *res; ++ struct inotify_event *in; ++ ++ while ((rc = read(daemon->inotifyfd, inotify_buffer, INOTIFY_SZ)) == -1 && errno == EINTR); ++ ++ if (rc <= 0) ++ break; ++ ++ for (p = inotify_buffer; rc - (p - inotify_buffer) >= (int)sizeof(struct inotify_event); p += sizeof(struct inotify_event) + in->len) ++ { ++ in = (struct inotify_event*)p; ++ ++ for (res = daemon->resolv_files; res; res = res->next) ++ if (res->wd == in->wd && in->len != 0 && strcmp(res->file, in->name) == 0) ++ hit = 1; ++ } ++ } ++ ++ return hit; ++} ++ ++#endif ++ ++ ++ +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch b/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch new file mode 100644 index 0000000..70fc5c3 --- /dev/null +++ b/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch @@ -0,0 +1,73 @@ +From 857973e6f7e0a3d03535a9df7f9373fd7a0b65cc Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Mon, 15 Dec 2014 15:58:13 +0000 +Subject: [PATCH 10/55] Teach the new inotify code about symlinks. + +--- + src/inotify.c | 43 +++++++++++++++++++++++++++---------------- + 1 file changed, 27 insertions(+), 16 deletions(-) + +diff --git a/src/inotify.c b/src/inotify.c +index a0223443d6b6..960bf5efb41f 100644 +--- a/src/inotify.c ++++ b/src/inotify.c +@@ -41,29 +41,40 @@ void inotify_dnsmasq_init() + + inotify_buffer = safe_malloc(INOTIFY_SZ); + +- daemon->inotifyfd = inotify_init1(IN_NONBLOCK | IN_CLOEXEC); + ++ daemon->inotifyfd = inotify_init1(IN_NONBLOCK | IN_CLOEXEC); ++ + if (daemon->inotifyfd == -1) + die(_("failed to create inotify: %s"), NULL, EC_MISC); +- ++ + for (res = daemon->resolv_files; res; res = res->next) + { +- char *d = strrchr(res->name, '/'); +- +- if (!d) +- die(_("resolv-file %s not an absolute path"), res->name, EC_MISC); +- +- *d = 0; /* make ->name just directory */ +- res->wd = inotify_add_watch(daemon->inotifyfd, res->name, IN_CLOSE_WRITE | IN_MOVED_TO); +- res->file = d+1; /* pointer to filename */ +- +- if (res->wd == -1 && errno == ENOENT) +- die(_("directory %s for resolv-file is missing, cannot poll"), res->name, EC_MISC); ++ char *d = NULL, *path; + +- *d = '/'; /* restore name */ ++ if (!(path = realpath(res->name, NULL))) ++ { ++ /* realpath will fail if the file doesn't exist, but ++ dnsmasq copes with missing files, so fall back ++ and assume that symlinks are not in use in that case. */ ++ if (errno == ENOENT) ++ path = res->name; ++ else ++ die(_("cannot cannonicalise resolv-file %s: %s"), res->name, EC_MISC); ++ } + +- if (res->wd == -1) +- die(_("failed to create inotify for %s: %s"), res->name, EC_MISC); ++ if ((d = strrchr(path, '/'))) ++ { ++ *d = 0; /* make path just directory */ ++ res->wd = inotify_add_watch(daemon->inotifyfd, path, IN_CLOSE_WRITE | IN_MOVED_TO); ++ res->file = d+1; /* pointer to filename */ ++ *d = '/'; ++ ++ if (res->wd == -1 && errno == ENOENT) ++ die(_("directory %s for resolv-file is missing, cannot poll"), res->name, EC_MISC); ++ ++ if (res->wd == -1) ++ die(_("failed to create inotify for %s: %s"), res->name, EC_MISC); ++ } + } + } + +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch b/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch new file mode 100644 index 0000000..095253b --- /dev/null +++ b/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch @@ -0,0 +1,46 @@ +From 800c5cc1e7438818fd80f08c2d472df249a6942d Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Mon, 15 Dec 2014 17:50:15 +0000 +Subject: [PATCH 11/55] Remove floor on EDNS0 packet size with DNSSEC. + +--- + CHANGELOG | 6 +++++- + src/dnsmasq.c | 5 ----- + 2 files changed, 5 insertions(+), 6 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index 13ab41c05fc3..68252924e743 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -2,7 +2,11 @@ version 2.73 + Fix crash at startup when an empty suffix is supplied to + --conf-dir, also trivial memory leak. Thanks to + Tomas Hozza for spotting this. +- ++ ++ Remove floor of 4096 on advertised EDNS0 packet size when ++ DNSSEC in use, the original rationale for this has long gone. ++ Thanks to Anders Kaseorg for spotting this. ++ + + version 2.72 + Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. +diff --git a/src/dnsmasq.c b/src/dnsmasq.c +index bf2e25a55780..5c7750d365fa 100644 +--- a/src/dnsmasq.c ++++ b/src/dnsmasq.c +@@ -87,11 +87,6 @@ int main (int argc, char **argv) + + if (daemon->edns_pktsz < PACKETSZ) + daemon->edns_pktsz = PACKETSZ; +-#ifdef HAVE_DNSSEC +- /* Enforce min packet big enough for DNSSEC */ +- if (option_bool(OPT_DNSSEC_VALID) && daemon->edns_pktsz < EDNS_PKTSZ) +- daemon->edns_pktsz = EDNS_PKTSZ; +-#endif + + daemon->packet_buff_sz = daemon->edns_pktsz > DNSMASQ_PACKETSZ ? + daemon->edns_pktsz : DNSMASQ_PACKETSZ; +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch b/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch new file mode 100644 index 0000000..b71e58b --- /dev/null +++ b/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch @@ -0,0 +1,27 @@ +From ad946d555dce44eb690c7699933b6ff40ab85bb6 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Mon, 15 Dec 2014 17:52:22 +0000 +Subject: [PATCH 12/55] CHANGELOG re. inotify. + +--- + CHANGELOG | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/CHANGELOG b/CHANGELOG +index 68252924e743..9174b0bd75dc 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -7,6 +7,10 @@ version 2.73 + DNSSEC in use, the original rationale for this has long gone. + Thanks to Anders Kaseorg for spotting this. + ++ Use inotify for checking on updates to /etc/resolv.conf and ++ friends under Linux. This fixes race conditions when the files are ++ updated rapidly and saves CPU by noy polling. ++ + + version 2.72 + Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch b/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch new file mode 100644 index 0000000..2ff5acd --- /dev/null +++ b/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch @@ -0,0 +1,70 @@ +From 3ad3f3bbd4ee716a7d2fb1e115cf89bd1b1a5de9 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Tue, 16 Dec 2014 18:25:17 +0000 +Subject: [PATCH 13/55] Fix breakage of --domain=<domain>,<subnet>,local + +--- + CHANGELOG | 4 ++++ + src/option.c | 18 ++++++++++++++++-- + 2 files changed, 20 insertions(+), 2 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index 9174b0bd75dc..9e6c7aa4fd68 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -10,6 +10,10 @@ version 2.73 + Use inotify for checking on updates to /etc/resolv.conf and + friends under Linux. This fixes race conditions when the files are + updated rapidly and saves CPU by noy polling. ++ ++ Fix breakage of --domain=<domain>,<subnet>,local - only reverse ++ queries were intercepted. THis appears to have been broken ++ since 2.69. Thanks to Josh Stone for finding the bug. + + + version 2.72 +diff --git a/src/option.c b/src/option.c +index b08e98e16f84..209fa6976609 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -1941,10 +1941,17 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + else + { + /* generate the equivalent of +- local=/<domain>/ + local=/xxx.yyy.zzz.in-addr.arpa/ */ + struct server *serv = add_rev4(new->start, msize); + serv->flags |= SERV_NO_ADDR; ++ ++ /* local=/<domain>/ */ ++ serv = opt_malloc(sizeof(struct server)); ++ memset(serv, 0, sizeof(struct server)); ++ serv->domain = d; ++ serv->flags = SERV_HAS_DOMAIN | SERV_NO_ADDR; ++ serv->next = daemon->servers; ++ daemon->servers = serv; + } + } + } +@@ -1978,10 +1985,17 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + else + { + /* generate the equivalent of +- local=/<domain>/ + local=/xxx.yyy.zzz.ip6.arpa/ */ + struct server *serv = add_rev6(&new->start6, msize); + serv->flags |= SERV_NO_ADDR; ++ ++ /* local=/<domain>/ */ ++ serv = opt_malloc(sizeof(struct server)); ++ memset(serv, 0, sizeof(struct server)); ++ serv->domain = d; ++ serv->flags = SERV_HAS_DOMAIN | SERV_NO_ADDR; ++ serv->next = daemon->servers; ++ daemon->servers = serv; + } + } + } +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch b/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch new file mode 100644 index 0000000..a0e647f --- /dev/null +++ b/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch @@ -0,0 +1,27 @@ +From bd9520b7ade7098ee423acc38965376aa57feb07 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Tue, 16 Dec 2014 20:41:29 +0000 +Subject: [PATCH 14/55] Remove redundant IN6_IS_ADDR_ULA(a) macro defn. + +--- + src/network.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/src/network.c b/src/network.c +index 5067007c5cbc..99419f57951e 100644 +--- a/src/network.c ++++ b/src/network.c +@@ -16,10 +16,6 @@ + + #include "dnsmasq.h" + +-#ifndef IN6_IS_ADDR_ULA +-#define IN6_IS_ADDR_ULA(a) ((((__const uint32_t *) (a))[0] & htonl (0xfe00000)) == htonl (0xfc000000)) +-#endif +- + #ifdef HAVE_LINUX_NETWORK + + int indextoname(int fd, int index, char *name) +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch b/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch new file mode 100644 index 0000000..114a4f3 --- /dev/null +++ b/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch @@ -0,0 +1,148 @@ +From 476693678e778886b64d0b56e27eb7695cbcca99 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Wed, 17 Dec 2014 12:41:56 +0000 +Subject: [PATCH 15/55] Eliminate IPv6 privacy addresses from --interface-name + answers. + +--- + CHANGELOG | 5 +++++ + src/auth.c | 4 ++++ + src/dnsmasq.h | 1 + + src/network.c | 12 ++++++++---- + src/rfc1035.c | 17 ++++++++++------- + 5 files changed, 28 insertions(+), 11 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index 9e6c7aa4fd68..01f5208ec006 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -14,6 +14,11 @@ version 2.73 + Fix breakage of --domain=<domain>,<subnet>,local - only reverse + queries were intercepted. THis appears to have been broken + since 2.69. Thanks to Josh Stone for finding the bug. ++ ++ Eliminate IPv6 privacy addresses and deprecated addresses from ++ the answers given by --interface-name. Note that reverse queries ++ (ie looking for names, given addresses) are not affected. ++ Thanks to Michael Gorbach for the suggestion. + + + version 2.72 +diff --git a/src/auth.c b/src/auth.c +index dd46566ec2cc..a327f16d8c0b 100644 +--- a/src/auth.c ++++ b/src/auth.c +@@ -363,6 +363,10 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n + if (((addrlist->flags & ADDRLIST_IPV6) ? T_AAAA : T_A) == qtype && + (local_query || filter_zone(zone, flag, &addrlist->addr))) + { ++#ifdef HAVE_IPV6 ++ if (addrlist->flags & ADDRLIST_REVONLY) ++ continue; ++#endif + found = 1; + log_query(F_FORWARD | F_CONFIG | flag, name, &addrlist->addr, NULL); + if (add_resource_record(header, limit, &trunc, nameoffset, &ansp, +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index ebb6b957812f..1dd61c5edba3 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -318,6 +318,7 @@ struct ds_config { + + #define ADDRLIST_LITERAL 1 + #define ADDRLIST_IPV6 2 ++#define ADDRLIST_REVONLY 4 + + struct addrlist { + struct all_addr addr; +diff --git a/src/network.c b/src/network.c +index 99419f57951e..14d2af2ce313 100644 +--- a/src/network.c ++++ b/src/network.c +@@ -236,7 +236,7 @@ struct iface_param { + }; + + static int iface_allowed(struct iface_param *param, int if_index, char *label, +- union mysockaddr *addr, struct in_addr netmask, int prefixlen, int dad) ++ union mysockaddr *addr, struct in_addr netmask, int prefixlen, int iface_flags) + { + struct irec *iface; + int mtu = 0, loopback; +@@ -388,6 +388,10 @@ static int iface_allowed(struct iface_param *param, int if_index, char *label, + { + al->addr.addr.addr6 = addr->in6.sin6_addr; + al->flags = ADDRLIST_IPV6; ++ /* Privacy addresses and addresses still undergoing DAD and deprecated addresses ++ don't appear in forward queries, but will in reverse ones. */ ++ if (!(iface_flags & IFACE_PERMANENT) || (iface_flags & (IFACE_DEPRECATED | IFACE_TENTATIVE))) ++ al->flags |= ADDRLIST_REVONLY; + } + #endif + } +@@ -399,7 +403,7 @@ static int iface_allowed(struct iface_param *param, int if_index, char *label, + for (iface = daemon->interfaces; iface; iface = iface->next) + if (sockaddr_isequal(&iface->addr, addr)) + { +- iface->dad = dad; ++ iface->dad = !!(iface_flags & IFACE_TENTATIVE); + iface->found = 1; /* for garbage collection */ + return 1; + } +@@ -474,7 +478,7 @@ static int iface_allowed(struct iface_param *param, int if_index, char *label, + iface->dhcp_ok = dhcp_ok; + iface->dns_auth = auth_dns; + iface->mtu = mtu; +- iface->dad = dad; ++ iface->dad = !!(iface_flags & IFACE_TENTATIVE); + iface->found = 1; + iface->done = iface->multicast_done = iface->warned = 0; + iface->index = if_index; +@@ -519,7 +523,7 @@ static int iface_allowed_v6(struct in6_addr *local, int prefix, + else + addr.in6.sin6_scope_id = 0; + +- return iface_allowed((struct iface_param *)vparam, if_index, NULL, &addr, netmask, prefix, !!(flags & IFACE_TENTATIVE)); ++ return iface_allowed((struct iface_param *)vparam, if_index, NULL, &addr, netmask, prefix, flags); + } + #endif + +diff --git a/src/rfc1035.c b/src/rfc1035.c +index 8a7d2608dac5..bdeb3fb10e68 100644 +--- a/src/rfc1035.c ++++ b/src/rfc1035.c +@@ -1923,14 +1923,17 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen, + for (intr = daemon->int_names; intr; intr = intr->next) + if (hostname_isequal(name, intr->name)) + { +- ans = 1; +- if (!dryrun) +- { +- +- for (addrlist = intr->addr; addrlist; addrlist = addrlist->next) ++ for (addrlist = intr->addr; addrlist; addrlist = addrlist->next) + #ifdef HAVE_IPV6 +- if (((addrlist->flags & ADDRLIST_IPV6) ? T_AAAA : T_A) == type) ++ if (((addrlist->flags & ADDRLIST_IPV6) ? T_AAAA : T_A) == type) + #endif ++ { ++#ifdef HAVE_IPV6 ++ if (addrlist->flags & ADDRLIST_REVONLY) ++ continue; ++#endif ++ ans = 1; ++ if (!dryrun) + { + gotit = 1; + log_query(F_FORWARD | F_CONFIG | flag, name, &addrlist->addr, NULL); +@@ -1939,7 +1942,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen, + type == T_A ? "4" : "6", &addrlist->addr)) + anscount++; + } +- } ++ } + } + + if (!dryrun && !gotit) +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch b/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch new file mode 100644 index 0000000..d072c03 --- /dev/null +++ b/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch @@ -0,0 +1,35 @@ +From 3267804598047bd1781cab91508d1bc516e5ddbb Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Wed, 17 Dec 2014 20:38:20 +0000 +Subject: [PATCH 16/55] Tweak field width in cache dump to avoid truncating + IPv6 addresses. + +--- + src/cache.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/cache.c b/src/cache.c +index 2c3a49887053..f9e1d31e8c99 100644 +--- a/src/cache.c ++++ b/src/cache.c +@@ -1411,7 +1411,7 @@ void dump_cache(time_t now) + *a = 0; + if (strlen(n) == 0 && !(cache->flags & F_REVERSE)) + n = "<Root>"; +- p += sprintf(p, "%-40.40s ", n); ++ p += sprintf(p, "%-30.30s ", n); + if ((cache->flags & F_CNAME) && !is_outdated_cname_pointer(cache)) + a = cache_get_cname_target(cache); + #ifdef HAVE_DNSSEC +@@ -1454,7 +1454,7 @@ void dump_cache(time_t now) + else if (cache->flags & F_DNSKEY) + t = "K"; + #endif +- p += sprintf(p, "%-30.30s %s%s%s%s%s%s%s%s%s ", a, t, ++ p += sprintf(p, "%-40.40s %s%s%s%s%s%s%s%s%s ", a, t, + cache->flags & F_FORWARD ? "F" : " ", + cache->flags & F_REVERSE ? "R" : " ", + cache->flags & F_IMMORTAL ? "I" : " ", +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch b/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch new file mode 100644 index 0000000..944afaf --- /dev/null +++ b/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch @@ -0,0 +1,100 @@ +From 094b5c3d904bae9aeb3206d9f3b8348926b84975 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sun, 21 Dec 2014 16:11:52 +0000 +Subject: [PATCH 17/55] Fix crash in DNSSEC code when attempting to verify + large RRs. + +--- + CHANGELOG | 3 +++ + src/dnssec.c | 27 +++++++++++++++++++-------- + 2 files changed, 22 insertions(+), 8 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index 01f5208ec006..956b71a151db 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -19,6 +19,9 @@ version 2.73 + the answers given by --interface-name. Note that reverse queries + (ie looking for names, given addresses) are not affected. + Thanks to Michael Gorbach for the suggestion. ++ ++ Fix crash in DNSSEC code with long RRs. Thanks to Marco Davids ++ for the bug report. + + + version 2.72 +diff --git a/src/dnssec.c b/src/dnssec.c +index 69bfc29e355f..3208ac701149 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -456,16 +456,27 @@ static u16 *get_desc(int type) + + /* Return bytes of canonicalised rdata, when the return value is zero, the remaining + data, pointed to by *p, should be used raw. */ +-static int get_rdata(struct dns_header *header, size_t plen, unsigned char *end, char *buff, ++static int get_rdata(struct dns_header *header, size_t plen, unsigned char *end, char *buff, int bufflen, + unsigned char **p, u16 **desc) + { + int d = **desc; + +- (*desc)++; +- + /* No more data needs mangling */ + if (d == (u16)-1) +- return 0; ++ { ++ /* If there's more data than we have space for, just return what fits, ++ we'll get called again for more chunks */ ++ if (end - *p > bufflen) ++ { ++ memcpy(buff, *p, bufflen); ++ *p += bufflen; ++ return bufflen; ++ } ++ ++ return 0; ++ } ++ ++ (*desc)++; + + if (d == 0 && extract_name(header, plen, p, buff, 1, 0)) + /* domain-name, canonicalise */ +@@ -560,7 +571,7 @@ static void sort_rrset(struct dns_header *header, size_t plen, u16 *rr_desc, int + if (left1 != 0) + memmove(buff1, buff1 + len1 - left1, left1); + +- if ((len1 = get_rdata(header, plen, end1, buff1 + left1, &p1, &dp1)) == 0) ++ if ((len1 = get_rdata(header, plen, end1, buff1 + left1, MAXDNAME - left1, &p1, &dp1)) == 0) + { + quit = 1; + len1 = end1 - p1; +@@ -571,7 +582,7 @@ static void sort_rrset(struct dns_header *header, size_t plen, u16 *rr_desc, int + if (left2 != 0) + memmove(buff2, buff2 + len2 - left2, left2); + +- if ((len2 = get_rdata(header, plen, end2, buff2 + left2, &p2, &dp2)) == 0) ++ if ((len2 = get_rdata(header, plen, end2, buff2 + left2, MAXDNAME - left2, &p2, &dp2)) == 0) + { + quit = 1; + len2 = end2 - p2; +@@ -808,7 +819,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in + /* canonicalise rdata and calculate length of same, use name buffer as workspace */ + cp = p; + dp = rr_desc; +- for (len = 0; (seg = get_rdata(header, plen, end, name, &cp, &dp)) != 0; len += seg); ++ for (len = 0; (seg = get_rdata(header, plen, end, name, MAXDNAME, &cp, &dp)) != 0; len += seg); + len += end - cp; + len = htons(len); + hash->update(ctx, 2, (unsigned char *)&len); +@@ -816,7 +827,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in + /* Now canonicalise again and digest. */ + cp = p; + dp = rr_desc; +- while ((seg = get_rdata(header, plen, end, name, &cp, &dp))) ++ while ((seg = get_rdata(header, plen, end, name, MAXDNAME, &cp, &dp))) + hash->update(ctx, seg, (unsigned char *)name); + if (cp != end) + hash->update(ctx, end - cp, cp); +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch b/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch new file mode 100644 index 0000000..de66adb --- /dev/null +++ b/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch @@ -0,0 +1,99 @@ +From cbc652423403e3cef00e00240f6beef713142246 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sun, 21 Dec 2014 21:21:53 +0000 +Subject: [PATCH 18/55] Make caching work for CNAMEs pointing to A/AAAA records + shadowed in /etc/hosts + +If the answer to an upstream query is a CNAME which points to an +A/AAAA record which also exists in /etc/hosts and friends, then +caching is suppressed, to avoid inconsistent answers. This is +now modified to allow caching when the upstream and local A/AAAA +records have the same value. +--- + src/cache.c | 34 +++++++++++++++++++++++++--------- + 1 file changed, 25 insertions(+), 9 deletions(-) + +diff --git a/src/cache.c b/src/cache.c +index f9e1d31e8c99..ff1ca6f1c352 100644 +--- a/src/cache.c ++++ b/src/cache.c +@@ -322,7 +322,7 @@ static int is_expired(time_t now, struct crec *crecp) + return 1; + } + +-static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsigned short flags) ++static struct crec *cache_scan_free(char *name, struct all_addr *addr, time_t now, unsigned short flags) + { + /* Scan and remove old entries. + If (flags & F_FORWARD) then remove any forward entries for name and any expired +@@ -331,8 +331,8 @@ static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsign + entries in the whole cache. + If (flags == 0) remove any expired entries in the whole cache. + +- In the flags & F_FORWARD case, the return code is valid, and returns zero if the +- name exists in the cache as a HOSTS or DHCP entry (these are never deleted) ++ In the flags & F_FORWARD case, the return code is valid, and returns a non-NULL pointer ++ to a cache entry if the name exists in the cache as a HOSTS or DHCP entry (these are never deleted) + + We take advantage of the fact that hash chains have stuff in the order <reverse>,<other>,<immortal> + so that when we hit an entry which isn't reverse and is immortal, we're done. */ +@@ -361,7 +361,7 @@ static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsign + (((crecp->flags | flags) & F_CNAME) && !(crecp->flags & (F_DNSKEY | F_DS)))) + { + if (crecp->flags & (F_HOSTS | F_DHCP | F_CONFIG)) +- return 0; ++ return crecp; + *up = crecp->hash_next; + cache_unlink(crecp); + cache_free(crecp); +@@ -378,7 +378,7 @@ static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsign + crecp->addr.sig.type_covered == addr->addr.dnssec.type)) + { + if (crecp->flags & F_CONFIG) +- return 0; ++ return crecp; + *up = crecp->hash_next; + cache_unlink(crecp); + cache_free(crecp); +@@ -423,7 +423,7 @@ static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsign + up = &crecp->hash_next; + } + +- return 1; ++ return NULL; + } + + /* Note: The normal calling sequence is +@@ -471,10 +471,26 @@ struct crec *cache_insert(char *name, struct all_addr *addr, + return NULL; + + /* First remove any expired entries and entries for the name/address we +- are currently inserting. Fail if we attempt to delete a name from +- /etc/hosts or DHCP. */ +- if (!cache_scan_free(name, addr, now, flags)) ++ are currently inserting. */ ++ if ((new = cache_scan_free(name, addr, now, flags))) + { ++ /* We're trying to insert a record over one from ++ /etc/hosts or DHCP, or other config. If the ++ existing record is for an A or AAAA and ++ the record we're trying to insert is the same, ++ just drop the insert, but don't error the whole process. */ ++ if ((flags & (F_IPV4 | F_IPV6)) && (flags & F_FORWARD)) ++ { ++ if ((flags & F_IPV4) && (new->flags & F_IPV4) && ++ new->addr.addr.addr.addr4.s_addr == addr->addr.addr4.s_addr) ++ return new; ++#ifdef HAVE_IPV6 ++ else if ((flags & F_IPV6) && (new->flags & F_IPV6) && ++ IN6_ARE_ADDR_EQUAL(&new->addr.addr.addr.addr6, &addr->addr.addr6)) ++ return new; ++#endif ++ } ++ + insert_error = 1; + return NULL; + } +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch b/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch new file mode 100644 index 0000000..0ee2e65 --- /dev/null +++ b/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch @@ -0,0 +1,365 @@ +From fbc5205702c7f6f431d9f1043c553d7fb62ddfdb Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Tue, 23 Dec 2014 15:46:08 +0000 +Subject: [PATCH 19/55] Fix problems validating NSEC3 and wildcards. + +--- + src/dnssec.c | 253 ++++++++++++++++++++++++++++++----------------------------- + 1 file changed, 128 insertions(+), 125 deletions(-) + +diff --git a/src/dnssec.c b/src/dnssec.c +index 3208ac701149..9350d3e8c963 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -615,6 +615,7 @@ static void sort_rrset(struct dns_header *header, size_t plen, u16 *rr_desc, int + Return code: + STAT_SECURE if it validates. + STAT_SECURE_WILDCARD if it validates and is the result of wildcard expansion. ++ (In this case *wildcard_out points to the "body" of the wildcard within name.) + STAT_NO_SIG no RRsigs found. + STAT_INSECURE RRset empty. + STAT_BOGUS signature is wrong, bad packet. +@@ -625,8 +626,8 @@ static void sort_rrset(struct dns_header *header, size_t plen, u16 *rr_desc, int + + name is unchanged on exit. keyname is used as workspace and trashed. + */ +-static int validate_rrset(time_t now, struct dns_header *header, size_t plen, int class, +- int type, char *name, char *keyname, struct blockdata *key, int keylen, int algo_in, int keytag_in) ++static int validate_rrset(time_t now, struct dns_header *header, size_t plen, int class, int type, ++ char *name, char *keyname, char **wildcard_out, struct blockdata *key, int keylen, int algo_in, int keytag_in) + { + static unsigned char **rrset = NULL, **sigs = NULL; + static int rrset_sz = 0, sig_sz = 0; +@@ -798,8 +799,16 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in + { + int k; + for (k = name_labels - labels; k != 0; k--) +- while (*name_start != '.' && *name_start != 0) +- name_start++; ++ { ++ while (*name_start != '.' && *name_start != 0) ++ name_start++; ++ if (k != 1) ++ name_start++; ++ } ++ ++ if (wildcard_out) ++ *wildcard_out = name_start+1; ++ + name_start--; + *name_start = '*'; + } +@@ -974,7 +983,7 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch + if (recp1->addr.ds.keylen == (int)hash->digest_size && + (ds_digest = blockdata_retrieve(recp1->addr.key.keydata, recp1->addr.ds.keylen, NULL)) && + memcmp(ds_digest, digest, recp1->addr.ds.keylen) == 0 && +- validate_rrset(now, header, plen, class, T_DNSKEY, name, keyname, key, rdlen - 4, algo, keytag) == STAT_SECURE) ++ validate_rrset(now, header, plen, class, T_DNSKEY, name, keyname, NULL, key, rdlen - 4, algo, keytag) == STAT_SECURE) + { + valid = 1; + break; +@@ -1443,11 +1452,88 @@ static int base32_decode(char *in, unsigned char *out) + return p - out; + } + ++static int check_nsec3_coverage(struct dns_header *header, size_t plen, int digest_len, unsigned char *digest, int type, ++ char *workspace1, char *workspace2, unsigned char **nsecs, int nsec_count) ++{ ++ int i, hash_len, salt_len, base32_len, rdlen; ++ unsigned char *p, *psave; ++ ++ for (i = 0; i < nsec_count; i++) ++ if ((p = nsecs[i])) ++ { ++ if (!extract_name(header, plen, &p, workspace1, 1, 0) || ++ !(base32_len = base32_decode(workspace1, (unsigned char *)workspace2))) ++ return 0; ++ ++ p += 8; /* class, type, TTL */ ++ GETSHORT(rdlen, p); ++ psave = p; ++ p += 4; /* algo, flags, iterations */ ++ salt_len = *p++; /* salt_len */ ++ p += salt_len; /* salt */ ++ hash_len = *p++; /* p now points to next hashed name */ ++ ++ if (!CHECK_LEN(header, p, plen, hash_len)) ++ return 0; ++ ++ if (digest_len == base32_len && hash_len == base32_len) ++ { ++ int rc = memcmp(workspace2, digest, digest_len); ++ ++ if (rc == 0) ++ { ++ /* We found an NSEC3 whose hashed name exactly matches the query, so ++ we just need to check the type map. p points to the RR data for the record. */ ++ ++ int offset = (type & 0xff) >> 3; ++ int mask = 0x80 >> (type & 0x07); ++ ++ p += hash_len; /* skip next-domain hash */ ++ rdlen -= p - psave; ++ ++ if (!CHECK_LEN(header, p, plen, rdlen)) ++ return 0; ++ ++ while (rdlen >= 2) ++ { ++ if (p[0] == type >> 8) ++ { ++ /* Does the NSEC3 say our type exists? */ ++ if (offset < p[1] && (p[offset+2] & mask) != 0) ++ return STAT_BOGUS; ++ ++ break; /* finshed checking */ ++ } ++ ++ rdlen -= p[1]; ++ p += p[1]; ++ } ++ ++ return 1; ++ } ++ else if (rc <= 0) ++ { ++ /* Normal case, hash falls between NSEC3 name-hash and next domain name-hash, ++ wrap around case, name-hash falls between NSEC3 name-hash and end */ ++ if (memcmp(p, digest, digest_len) > 0 || memcmp(workspace2, p, digest_len) > 0) ++ return 1; ++ } ++ else ++ { ++ /* wrap around case, name falls between start and next domain name */ ++ if (memcmp(workspace2, p, digest_len) > 0 && memcmp(p, digest, digest_len) > 0) ++ return 1; ++ } ++ } ++ } ++ return 0; ++} ++ + static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, unsigned char **nsecs, int nsec_count, +- char *workspace1, char *workspace2, char *name, int type) ++ char *workspace1, char *workspace2, char *name, int type, char *wildname) + { + unsigned char *salt, *p, *digest; +- int digest_len, i, iterations, salt_len, hash_len, base32_len, algo = 0; ++ int digest_len, i, iterations, salt_len, base32_len, algo = 0; + struct nettle_hash const *hash; + char *closest_encloser, *next_closest, *wildcard; + +@@ -1520,7 +1606,14 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns + if (!(hash = hash_find("sha1"))) + return STAT_BOGUS; + +- /* Now, we need the "closest encloser NSEC3" */ ++ if ((digest_len = hash_name(name, &digest, hash, salt, salt_len, iterations)) == 0) ++ return STAT_BOGUS; ++ ++ if (check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count)) ++ return STAT_SECURE; ++ ++ /* Can't find an NSEC3 which covers the name directly, we need the "closest encloser NSEC3" ++ or an answer inferred from a wildcard record. */ + closest_encloser = name; + next_closest = NULL; + +@@ -1529,6 +1622,9 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns + if (*closest_encloser == '.') + closest_encloser++; + ++ if (wildname && hostname_isequal(closest_encloser, wildname)) ++ break; ++ + if ((digest_len = hash_name(closest_encloser, &digest, hash, salt, salt_len, iterations)) == 0) + return STAT_BOGUS; + +@@ -1551,127 +1647,33 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns + } + while ((closest_encloser = strchr(closest_encloser, '.'))); + +- /* No usable NSEC3s */ +- if (i == nsec_count) ++ if (!closest_encloser) + return STAT_BOGUS; + +- if (!next_closest) +- { +- /* We found an NSEC3 whose hashed name exactly matches the query, so +- Now we just need to check the type map. p points to the RR data for the record. */ +- int rdlen; +- unsigned char *psave; +- int offset = (type & 0xff) >> 3; +- int mask = 0x80 >> (type & 0x07); +- +- p += 8; /* class, type, TTL */ +- GETSHORT(rdlen, p); +- psave = p; +- p += 5 + salt_len; /* algo, flags, iterations, salt_len, salt */ +- hash_len = *p++; +- if (!CHECK_LEN(header, p, plen, hash_len)) +- return STAT_BOGUS; /* bad packet */ +- p += hash_len; +- rdlen -= p - psave; +- +- while (rdlen >= 2) +- { +- if (!CHECK_LEN(header, p, plen, rdlen)) +- return STAT_BOGUS; +- +- if (p[0] == type >> 8) +- { +- /* Does the NSEC3 say our type exists? */ +- if (offset < p[1] && (p[offset+2] & mask) != 0) +- return STAT_BOGUS; +- +- break; /* finshed checking */ +- } +- +- rdlen -= p[1]; +- p += p[1]; +- } +- +- return STAT_SECURE; +- } +- + /* Look for NSEC3 that proves the non-existence of the next-closest encloser */ + if ((digest_len = hash_name(next_closest, &digest, hash, salt, salt_len, iterations)) == 0) + return STAT_BOGUS; + +- for (i = 0; i < nsec_count; i++) +- if ((p = nsecs[i])) +- { +- if (!extract_name(header, plen, &p, workspace1, 1, 0) || +- !(base32_len = base32_decode(workspace1, (unsigned char *)workspace2))) +- return STAT_BOGUS; +- +- p += 15 + salt_len; /* class, type, TTL, rdlen, algo, flags, iterations, salt_len, salt */ +- hash_len = *p++; /* p now points to next hashed name */ +- +- if (!CHECK_LEN(header, p, plen, hash_len)) +- return STAT_BOGUS; +- +- if (digest_len == base32_len && hash_len == base32_len) +- { +- if (memcmp(workspace2, digest, digest_len) <= 0) +- { +- /* Normal case, hash falls between NSEC3 name-hash and next domain name-hash, +- wrap around case, name-hash falls between NSEC3 name-hash and end */ +- if (memcmp(p, digest, digest_len) > 0 || memcmp(workspace2, p, digest_len) > 0) +- return STAT_SECURE; +- } +- else +- { +- /* wrap around case, name falls between start and next domain name */ +- if (memcmp(workspace2, p, digest_len) > 0 && memcmp(p, digest, digest_len) > 0) +- return STAT_SECURE; +- } +- } +- } +- +- /* Finally, check that there's no seat of wildcard synthesis */ +- if (!(wildcard = strchr(next_closest, '.')) || wildcard == next_closest) +- return STAT_BOGUS; +- +- wildcard--; +- *wildcard = '*'; +- +- if ((digest_len = hash_name(wildcard, &digest, hash, salt, salt_len, iterations)) == 0) ++ if (!check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count)) + return STAT_BOGUS; + +- for (i = 0; i < nsec_count; i++) +- if ((p = nsecs[i])) +- { +- if (!extract_name(header, plen, &p, workspace1, 1, 0) || +- !(base32_len = base32_decode(workspace1, (unsigned char *)workspace2))) +- return STAT_BOGUS; +- +- p += 15 + salt_len; /* class, type, TTL, rdlen, algo, flags, iterations, salt_len, salt */ +- hash_len = *p++; /* p now points to next hashed name */ +- +- if (!CHECK_LEN(header, p, plen, hash_len)) +- return STAT_BOGUS; +- +- if (digest_len == base32_len && hash_len == base32_len) +- { +- if (memcmp(workspace2, digest, digest_len) <= 0) +- { +- /* Normal case, hash falls between NSEC3 name-hash and next domain name-hash, +- wrap around case, name-hash falls between NSEC3 name-hash and end */ +- if (memcmp(p, digest, digest_len) > 0 || memcmp(workspace2, p, digest_len) > 0) +- return STAT_SECURE; +- } +- else +- { +- /* wrap around case, name falls between start and next domain name */ +- if (memcmp(workspace2, p, digest_len) > 0 && memcmp(p, digest, digest_len) > 0) +- return STAT_SECURE; +- } +- } +- } ++ /* Finally, check that there's no seat of wildcard synthesis */ ++ if (!wildname) ++ { ++ if (!(wildcard = strchr(next_closest, '.')) || wildcard == next_closest) ++ return STAT_BOGUS; ++ ++ wildcard--; ++ *wildcard = '*'; ++ ++ if ((digest_len = hash_name(wildcard, &digest, hash, salt, salt_len, iterations)) == 0) ++ return STAT_BOGUS; ++ ++ if (!check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count)) ++ return STAT_BOGUS; ++ } + +- return STAT_BOGUS; ++ return STAT_SECURE; + } + + /* Validate all the RRsets in the answer and authority sections of the reply (4035:3.2.3) */ +@@ -1792,8 +1794,9 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch + struct all_addr a; + struct blockdata *key; + struct crec *crecp; +- +- rc = validate_rrset(now, header, plen, class1, type1, name, keyname, NULL, 0, 0, 0); ++ char *wildname; ++ ++ rc = validate_rrset(now, header, plen, class1, type1, name, keyname, &wildname, NULL, 0, 0, 0); + + if (rc == STAT_SECURE_WILDCARD) + { +@@ -1807,7 +1810,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch + if (nsec_type == T_NSEC) + rc = prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1); + else +- rc = prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1); ++ rc = prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1, wildname); + + if (rc != STAT_SECURE) + return rc; +@@ -1933,7 +1936,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch + if (nsec_type == T_NSEC) + return prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype); + else +- return prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype); ++ return prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype, NULL); + } + + /* Chase the CNAME chain in the packet until the first record which _doesn't validate. +@@ -1980,7 +1983,7 @@ int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char + return STAT_INSECURE; + + /* validate CNAME chain, return if insecure or need more data */ +- rc = validate_rrset(now, header, plen, class, type, name, keyname, NULL, 0, 0, 0); ++ rc = validate_rrset(now, header, plen, class, type, name, keyname, NULL, NULL, 0, 0, 0); + if (rc != STAT_SECURE) + { + if (rc == STAT_NO_SIG) +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0020-Initialise-return-value.patch b/src/patches/dnsmasq/0020-Initialise-return-value.patch new file mode 100644 index 0000000..2f70ee5 --- /dev/null +++ b/src/patches/dnsmasq/0020-Initialise-return-value.patch @@ -0,0 +1,32 @@ +From 83d2ed09fc0216b567d7fb2197e4ff3eae150b0d Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Tue, 23 Dec 2014 18:42:38 +0000 +Subject: [PATCH 20/55] Initialise return value. + +--- + src/dnssec.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/dnssec.c b/src/dnssec.c +index 9350d3e8c963..ed8cf893bad2 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -637,10 +637,13 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in + struct crec *crecp = NULL; + int type_covered, algo, labels, orig_ttl, sig_expiration, sig_inception, key_tag; + u16 *rr_desc = get_desc(type); +- ++ ++ if (wildcard_out) ++ *wildcard_out = NULL; ++ + if (!(p = skip_questions(header, plen))) + return STAT_BOGUS; +- ++ + name_labels = count_labels(name); /* For 4035 5.3.2 check */ + + /* look for RRSIGs for this RRset and get pointers to each RR in the set. */ +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0021-Add-ignore-address-option.patch b/src/patches/dnsmasq/0021-Add-ignore-address-option.patch new file mode 100644 index 0000000..6c88f2d --- /dev/null +++ b/src/patches/dnsmasq/0021-Add-ignore-address-option.patch @@ -0,0 +1,192 @@ +From 32fc6dbe03569d70dd394420ceb73532cf303c33 Mon Sep 17 00:00:00 2001 +From: Glen Huang curvedmark@gmail.com +Date: Sat, 27 Dec 2014 15:28:12 +0000 +Subject: [PATCH 21/55] Add --ignore-address option. + +--- + CHANGELOG | 8 ++++++++ + man/dnsmasq.8 | 6 ++++++ + src/dnsmasq.h | 3 ++- + src/forward.c | 4 ++++ + src/option.c | 18 +++++++++++++++--- + src/rfc1035.c | 37 +++++++++++++++++++++++++++++++++++++ + 6 files changed, 72 insertions(+), 4 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index 956b71a151db..2b6356bcfb02 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -22,6 +22,14 @@ version 2.73 + + Fix crash in DNSSEC code with long RRs. Thanks to Marco Davids + for the bug report. ++ ++ Add --ignore-address option. Ignore replies to A-record ++ queries which include the specified address. No error is ++ generated, dnsmasq simply continues to listen for another ++ reply. This is useful to defeat blocking strategies which ++ rely on quickly supplying a forged answer to a DNS ++ request for certain domains, before the correct answer can ++ arrive. Thanks to Glen Huang for the patch. + + + version 2.72 +diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 +index 0b8e04f0a897..4236ba307df3 100644 +--- a/man/dnsmasq.8 ++++ b/man/dnsmasq.8 +@@ -293,6 +293,12 @@ an advertising web page in response to queries for unregistered names, + instead of the correct NXDOMAIN response. This option tells dnsmasq to + fake the correct response when it sees this behaviour. As at Sept 2003 + the IP address being returned by Verisign is 64.94.110.11 ++.TP ++.B -B, --ignore-address=<ipaddr> ++Ignore replies to A-record queries which include the specified address. ++No error is generated, dnsmasq simply continues to listen for another reply. ++This is useful to defeat blocking strategies which rely on quickly supplying a ++forged answer to a DNS request for certain domain, before the correct answer can arrive. + .TP + .B -f, --filterwin2k + Later versions of windows make periodic DNS requests which don't get sensible answers from +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index 1dd61c5edba3..7bc982ddf73c 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -930,7 +930,7 @@ extern struct daemon { + char *runfile; + char *lease_change_command; + struct iname *if_names, *if_addrs, *if_except, *dhcp_except, *auth_peers, *tftp_interfaces; +- struct bogus_addr *bogus_addr; ++ struct bogus_addr *bogus_addr, *ignore_addr; + struct server *servers; + struct ipsets *ipsets; + int log_fac; /* log facility */ +@@ -1093,6 +1093,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen, + time_t now, int *ad_reqd, int *do_bit); + int check_for_bogus_wildcard(struct dns_header *header, size_t qlen, char *name, + struct bogus_addr *addr, time_t now); ++int check_for_ignored_address(struct dns_header *header, size_t qlen, struct bogus_addr *baddr); + unsigned char *find_pseudoheader(struct dns_header *header, size_t plen, + size_t *len, unsigned char **p, int *is_sign); + int check_for_local_domain(char *name, time_t now); +diff --git a/src/forward.c b/src/forward.c +index 408a179a20f4..f28c7d51f708 100644 +--- a/src/forward.c ++++ b/src/forward.c +@@ -724,6 +724,10 @@ void reply_query(int fd, int family, time_t now) + if (!(forward = lookup_frec(ntohs(header->id), hash))) + return; + ++ if (daemon->ignore_addr && RCODE(header) == NOERROR && ++ check_for_ignored_address(header, n, daemon->ignore_addr)) ++ return; ++ + if ((RCODE(header) == SERVFAIL || RCODE(header) == REFUSED) && + !option_bool(OPT_ORDER) && + forward->forwardall == 0) +diff --git a/src/option.c b/src/option.c +index 209fa6976609..907d0cf88de9 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -147,6 +147,7 @@ struct myoption { + #define LOPT_LOCAL_SERVICE 335 + #define LOPT_DNSSEC_TIME 336 + #define LOPT_LOOP_DETECT 337 ++#define LOPT_IGNORE_ADDR 338 + + #ifdef HAVE_GETOPT_LONG + static const struct option opts[] = +@@ -181,6 +182,7 @@ static const struct myoption opts[] = + { "local-service", 0, 0, LOPT_LOCAL_SERVICE }, + { "bogus-priv", 0, 0, 'b' }, + { "bogus-nxdomain", 1, 0, 'B' }, ++ { "ignore-address", 1, 0, LOPT_IGNORE_ADDR }, + { "selfmx", 0, 0, 'e' }, + { "filterwin2k", 0, 0, 'f' }, + { "pid-file", 2, 0, 'x' }, +@@ -457,6 +459,7 @@ static struct { + { LOPT_QUIET_RA, OPT_QUIET_RA, NULL, gettext_noop("Do not log RA."), NULL }, + { LOPT_LOCAL_SERVICE, OPT_LOCAL_SERVICE, NULL, gettext_noop("Accept queries only from directly-connected networks"), NULL }, + { LOPT_LOOP_DETECT, OPT_LOOP_DETECT, NULL, gettext_noop("Detect and remove DNS forwarding loops"), NULL }, ++ { LOPT_IGNORE_ADDR, ARG_DUP, "<ipaddr>", gettext_noop("Ignore DNS responses containing ipaddr."), NULL }, + { 0, 0, NULL, NULL, NULL } + }; + +@@ -2119,14 +2122,23 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + break; + + case 'B': /* --bogus-nxdomain */ +- { ++ case LOPT_IGNORE_ADDR: /* --ignore-address */ ++ { + struct in_addr addr; + unhide_metas(arg); + if (arg && (inet_pton(AF_INET, arg, &addr) > 0)) + { + struct bogus_addr *baddr = opt_malloc(sizeof(struct bogus_addr)); +- baddr->next = daemon->bogus_addr; +- daemon->bogus_addr = baddr; ++ if (option == 'B') ++ { ++ baddr->next = daemon->bogus_addr; ++ daemon->bogus_addr = baddr; ++ } ++ else ++ { ++ baddr->next = daemon->ignore_addr; ++ daemon->ignore_addr = baddr; ++ } + baddr->addr = addr; + } + else +diff --git a/src/rfc1035.c b/src/rfc1035.c +index bdeb3fb10e68..75c4266b47dd 100644 +--- a/src/rfc1035.c ++++ b/src/rfc1035.c +@@ -1328,6 +1328,43 @@ int check_for_bogus_wildcard(struct dns_header *header, size_t qlen, char *name, + return 0; + } + ++int check_for_ignored_address(struct dns_header *header, size_t qlen, struct bogus_addr *baddr) ++{ ++ unsigned char *p; ++ int i, qtype, qclass, rdlen; ++ struct bogus_addr *baddrp; ++ ++ /* skip over questions */ ++ if (!(p = skip_questions(header, qlen))) ++ return 0; /* bad packet */ ++ ++ for (i = ntohs(header->ancount); i != 0; i--) ++ { ++ if (!(p = skip_name(p, header, qlen, 10))) ++ return 0; /* bad packet */ ++ ++ GETSHORT(qtype, p); ++ GETSHORT(qclass, p); ++ p += 4; /* TTL */ ++ GETSHORT(rdlen, p); ++ ++ if (qclass == C_IN && qtype == T_A) ++ { ++ if (!CHECK_LEN(header, p, qlen, INADDRSZ)) ++ return 0; ++ ++ for (baddrp = baddr; baddrp; baddrp = baddrp->next) ++ if (memcmp(&baddrp->addr, p, INADDRSZ) == 0) ++ return 1; ++ } ++ ++ if (!ADD_RDLEN(header, p, qlen, rdlen)) ++ return 0; ++ } ++ ++ return 0; ++} ++ + int add_resource_record(struct dns_header *header, char *limit, int *truncp, int nameoffset, unsigned char **pp, + unsigned long ttl, int *offset, unsigned short type, unsigned short class, char *format, ...) + { +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0022-Bad-packet-protection.patch b/src/patches/dnsmasq/0022-Bad-packet-protection.patch new file mode 100644 index 0000000..1b37202 --- /dev/null +++ b/src/patches/dnsmasq/0022-Bad-packet-protection.patch @@ -0,0 +1,25 @@ +From 0b1008d367d44e77352134a4c5178f896f0db3e7 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sat, 27 Dec 2014 15:33:32 +0000 +Subject: [PATCH 22/55] Bad packet protection. + +--- + src/dnssec.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/dnssec.c b/src/dnssec.c +index ed8cf893bad2..026794b077e5 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -805,7 +805,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in + { + while (*name_start != '.' && *name_start != 0) + name_start++; +- if (k != 1) ++ if (k != 1 && *name_start == '.') + name_start++; + } + +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch b/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch new file mode 100644 index 0000000..3bc3f79 --- /dev/null +++ b/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch @@ -0,0 +1,29 @@ +From d310ab7ecbffce79d3d90debba621e0222f9bced Mon Sep 17 00:00:00 2001 +From: Matthias Andree matthias.andree@gmx.de +Date: Sat, 27 Dec 2014 15:36:38 +0000 +Subject: [PATCH 23/55] Fix build failure in new inotify code on BSD. + +--- + src/inotify.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/inotify.c b/src/inotify.c +index 960bf5efb41f..83730008c11b 100644 +--- a/src/inotify.c ++++ b/src/inotify.c +@@ -15,10 +15,10 @@ + */ + + #include "dnsmasq.h" +-#include <sys/inotify.h> +- + #ifdef HAVE_LINUX_NETWORK + ++#include <sys/inotify.h> ++ + /* the strategy is to set a inotify on the directories containing + resolv files, for any files in the directory which are close-write + or moved into the directory. +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch b/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch new file mode 100644 index 0000000..e3074fa --- /dev/null +++ b/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch @@ -0,0 +1,68 @@ +From 81c538efcebfce2ce4a1d3a420b6c885b8f08df9 Mon Sep 17 00:00:00 2001 +From: Yousong Zhou yszhou4tech@gmail.com +Date: Sat, 3 Jan 2015 16:36:14 +0000 +Subject: [PATCH 24/55] Implement makefile dependencies on COPTS variable. + +--- + .gitignore | 2 +- + Makefile | 10 ++++++---- + 2 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/.gitignore b/.gitignore +index fcdbcbd135ae..23f11488ab4c 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -3,7 +3,7 @@ src/*.mo + src/dnsmasq.pot + src/dnsmasq + src/dnsmasq_baseline +-src/.configured ++src/.copts_* + contrib/wrt/dhcp_lease_time + contrib/wrt/dhcp_release + debian/base/ +diff --git a/Makefile b/Makefile +index c340f1c7b59a..5675f60c2036 100644 +--- a/Makefile ++++ b/Makefile +@@ -64,6 +64,8 @@ nettle_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG + gmp_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC NO_GMP --copy -lgmp` + sunos_libs = `if uname | grep SunOS >/dev/null 2>&1; then echo -lsocket -lnsl -lposix4; fi` + version = -DVERSION='"`$(top)/bld/get-version $(top)`"' ++copts_conf = .copts_$(shell $(CC) -DDNSMASQ_COMPILE_OPTS $(COPTS) -E $(top)/$(SRC)/dnsmasq.h | \ ++ ( md5sum 2>/dev/null || md5 ) | cut -f 1 -d ' ') + + objs = cache.o rfc1035.o util.o option.o forward.o network.o \ + dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \ +@@ -83,7 +85,7 @@ all : $(BUILDDIR) + + mostly_clean : + rm -f $(BUILDDIR)/*.mo $(BUILDDIR)/*.pot +- rm -f $(BUILDDIR)/.configured $(BUILDDIR)/*.o $(BUILDDIR)/dnsmasq.a $(BUILDDIR)/dnsmasq ++ rm -f $(BUILDDIR)/.copts_* $(BUILDDIR)/*.o $(BUILDDIR)/dnsmasq.a $(BUILDDIR)/dnsmasq + + clean : mostly_clean + rm -f $(BUILDDIR)/dnsmasq_baseline +@@ -139,8 +141,8 @@ bloatcheck : $(BUILDDIR)/dnsmasq_baseline mostly_clean all + + # rules below are targets in recusive makes with cwd=$(BUILDDIR) + +-.configured: $(hdrs) +- @rm -f *.o ++$(copts_conf): $(hdrs) ++ @rm -f *.o .copts_* + @touch $@ + + $(objs:.o=.c) $(hdrs): +@@ -149,7 +151,7 @@ $(objs:.o=.c) $(hdrs): + .c.o: + $(CC) $(CFLAGS) $(COPTS) $(i18n) $(build_cflags) $(RPM_OPT_FLAGS) -c $< + +-dnsmasq : .configured $(hdrs) $(objs) ++dnsmasq : $(copts_conf) $(hdrs) $(objs) + $(CC) $(LDFLAGS) -o $@ $(objs) $(build_libs) $(LIBS) + + dnsmasq.pot : $(objs:.o=.c) $(hdrs) +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch b/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch new file mode 100644 index 0000000..b1c42ae --- /dev/null +++ b/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch @@ -0,0 +1,30 @@ +From d8dbd903d024f84a149dac2f8a674a68dfed47a3 Mon Sep 17 00:00:00 2001 +From: Yousong Zhou yszhou4tech@gmail.com +Date: Mon, 5 Jan 2015 17:03:35 +0000 +Subject: [PATCH 25/55] Fix race condition issue in makefile. + +--- + Makefile | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 5675f60c2036..bcbd5571671d 100644 +--- a/Makefile ++++ b/Makefile +@@ -148,10 +148,12 @@ $(copts_conf): $(hdrs) + $(objs:.o=.c) $(hdrs): + ln -s $(top)/$(SRC)/$@ . + ++$(objs): $(copts_conf) $(hdrs) ++ + .c.o: + $(CC) $(CFLAGS) $(COPTS) $(i18n) $(build_cflags) $(RPM_OPT_FLAGS) -c $< + +-dnsmasq : $(copts_conf) $(hdrs) $(objs) ++dnsmasq : $(objs) + $(CC) $(LDFLAGS) -o $@ $(objs) $(build_libs) $(LIBS) + + dnsmasq.pot : $(objs:.o=.c) $(hdrs) +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch b/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch new file mode 100644 index 0000000..7f01ee7 --- /dev/null +++ b/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch @@ -0,0 +1,792 @@ +From 97e618a0e3f29465acc689d87288596b006f197e Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Wed, 7 Jan 2015 21:55:43 +0000 +Subject: [PATCH 26/55] DNSSEC: do top-down search for limit of secure + delegation. + +--- + CHANGELOG | 9 ++ + src/dnsmasq.h | 11 +- + src/dnssec.c | 91 +++++++++------- + src/forward.c | 327 +++++++++++++++++++++++++++++++++------------------------- + 4 files changed, 260 insertions(+), 178 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index 2b6356bcfb02..e8bf80f81baa 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -31,7 +31,16 @@ version 2.73 + request for certain domains, before the correct answer can + arrive. Thanks to Glen Huang for the patch. + ++ Revisit the part of DNSSEC validation which determines if an ++ unsigned answer is legit, or is in some part of the DNS ++ tree which should be signed. Dnsmasq now works from the ++ DNS root downward looking for the limit of signed ++ delegations, rather than working bottom up. This is ++ both more correct, and less likely to trip over broken ++ nameservers in the unsigned parts of the DNS tree ++ which don't respond well to DNSSEC queries. + ++ + version 2.72 + Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. + +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index 7bc982ddf73c..2f4597294a56 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -569,8 +569,9 @@ struct hostsfile { + #define STAT_SECURE_WILDCARD 7 + #define STAT_NO_SIG 8 + #define STAT_NO_DS 9 +-#define STAT_NEED_DS_NEG 10 +-#define STAT_CHASE_CNAME 11 ++#define STAT_NO_NS 10 ++#define STAT_NEED_DS_NEG 11 ++#define STAT_CHASE_CNAME 12 + + #define FREC_NOREBIND 1 + #define FREC_CHECKING_DISABLED 2 +@@ -604,7 +605,9 @@ struct frec { + #ifdef HAVE_DNSSEC + int class, work_counter; + struct blockdata *stash; /* Saved reply, whilst we validate */ +- size_t stash_len; ++ struct blockdata *orig_domain; /* domain of original query, whilst ++ we're seeing is if in unsigned domain */ ++ size_t stash_len, name_start, name_len; + struct frec *dependent; /* Query awaiting internally-generated DNSKEY or DS query */ + struct frec *blocking_query; /* Query which is blocking us. */ + #endif +@@ -1126,7 +1129,7 @@ int in_zone(struct auth_zone *zone, char *name, char **cut); + size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, int type, union mysockaddr *addr); + int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t n, char *name, char *keyname, int class); + int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class); +-int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int *class, int *neganswer); ++int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int *class, int *neganswer, int *nons); + int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname); + int dnskey_keytag(int alg, int flags, unsigned char *rdata, int rdlen); + size_t filter_rrsigs(struct dns_header *header, size_t plen); +diff --git a/src/dnssec.c b/src/dnssec.c +index 026794b077e5..8f27677628b2 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -875,8 +875,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in + /* The DNS packet is expected to contain the answer to a DNSKEY query. + Put all DNSKEYs in the answer which are valid into the cache. + return codes: +- STAT_INSECURE No DNSKEYs in reply. +- STAT_SECURE At least one valid DNSKEY found and in cache. ++ STAT_SECURE At least one valid DNSKEY found and in cache. + STAT_BOGUS No DNSKEYs found, which can be validated with DS, + or self-sign for DNSKEY RRset is not valid, bad packet. + STAT_NEED_DS DS records to validate a key not found, name in keyname +@@ -896,11 +895,8 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch + GETSHORT(qtype, p); + GETSHORT(qclass, p); + +- if (qtype != T_DNSKEY || qclass != class) ++ if (qtype != T_DNSKEY || qclass != class || ntohs(header->ancount) == 0) + return STAT_BOGUS; +- +- if (ntohs(header->ancount) == 0) +- return STAT_INSECURE; + + /* See if we have cached a DS record which validates this key */ + if (!(crecp = cache_find_by_name(NULL, name, now, F_DS))) +@@ -1103,17 +1099,17 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch + /* The DNS packet is expected to contain the answer to a DS query + Put all DSs in the answer which are valid into the cache. + return codes: +- STAT_INSECURE no DS in reply or not signed. + STAT_SECURE At least one valid DS found and in cache. + STAT_NO_DS It's proved there's no DS here. +- STAT_BOGUS At least one DS found, which fails validation, bad packet. ++ STAT_NO_NS It's proved there's no DS _or_ NS here. ++ STAT_BOGUS no DS in reply or not signed, fails validation, bad packet. + STAT_NEED_DNSKEY DNSKEY records to validate a DS not found, name in keyname + */ + + int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class) + { + unsigned char *p = (unsigned char *)(header+1); +- int qtype, qclass, val, i, neganswer; ++ int qtype, qclass, val, i, neganswer, nons; + + if (ntohs(header->qdcount) != 1 || + !(p = skip_name(p, header, plen, 4))) +@@ -1125,32 +1121,39 @@ int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char + if (qtype != T_DS || qclass != class) + val = STAT_BOGUS; + else +- val = dnssec_validate_reply(now, header, plen, name, keyname, NULL, &neganswer); +- +- if (val == STAT_NO_SIG) +- val = STAT_INSECURE; ++ val = dnssec_validate_reply(now, header, plen, name, keyname, NULL, &neganswer, &nons); ++ /* Note dnssec_validate_reply() will have cached positive answers */ ++ ++ if (val == STAT_NO_SIG || val == STAT_INSECURE) ++ val = STAT_BOGUS; + + p = (unsigned char *)(header+1); + extract_name(header, plen, &p, name, 1, 4); + p += 4; /* qtype, qclass */ + + if (!(p = skip_section(p, ntohs(header->ancount), header, plen))) +- return STAT_BOGUS; ++ val = STAT_BOGUS; + + if (val == STAT_BOGUS) +- log_query(F_UPSTREAM, name, NULL, "BOGUS DS"); +- +- if ((val == STAT_SECURE || val == STAT_INSECURE) && neganswer) + { +- int rdlen, flags = F_FORWARD | F_DS | F_NEG; ++ log_query(F_UPSTREAM, name, NULL, "BOGUS DS"); ++ return STAT_BOGUS; ++ } ++ ++ /* By here, the answer is proved secure, and a positive answer has been cached. */ ++ if (val == STAT_SECURE && neganswer) ++ { ++ int rdlen, flags = F_FORWARD | F_DS | F_NEG | F_DNSSECOK; + unsigned long ttl, minttl = ULONG_MAX; + struct all_addr a; + + if (RCODE(header) == NXDOMAIN) + flags |= F_NXDOMAIN; + +- if (val == STAT_SECURE) +- flags |= F_DNSSECOK; ++ /* We only cache validated DS records, DNSSECOK flag hijacked ++ to store presence/absence of NS. */ ++ if (nons) ++ flags &= ~F_DNSSECOK; + + for (i = ntohs(header->nscount); i != 0; i--) + { +@@ -1196,10 +1199,12 @@ int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char + a.addr.dnssec.class = class; + cache_insert(name, &a, now, ttl, flags); + +- cache_end_insert(); ++ cache_end_insert(); ++ ++ log_query(F_UPSTREAM, name, NULL, nons ? "no delegation" : "no DS"); + } + +- return (val == STAT_SECURE) ? STAT_NO_DS : STAT_INSECURE; ++ return nons ? STAT_NO_NS : STAT_NO_DS; + } + + return val; +@@ -1323,12 +1328,15 @@ static int find_nsec_records(struct dns_header *header, size_t plen, unsigned ch + } + + static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsigned char **nsecs, int nsec_count, +- char *workspace1, char *workspace2, char *name, int type) ++ char *workspace1, char *workspace2, char *name, int type, int *nons) + { + int i, rc, rdlen; + unsigned char *p, *psave; + int offset = (type & 0xff) >> 3; + int mask = 0x80 >> (type & 0x07); ++ ++ if (nons) ++ *nons = 0; + + /* Find NSEC record that proves name doesn't exist */ + for (i = 0; i < nsec_count; i++) +@@ -1355,6 +1363,10 @@ static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsi + rdlen -= p - psave; + /* rdlen is now length of type map, and p points to it */ + ++ /* If we can prove that there's no NS record, return that information. */ ++ if (nons && rdlen >= 2 && p[0] == 0 && (p[2] & (0x80 >> T_NS)) == 0) ++ *nons = 1; ++ + while (rdlen >= 2) + { + if (!CHECK_LEN(header, p, plen, rdlen)) +@@ -1456,7 +1468,7 @@ static int base32_decode(char *in, unsigned char *out) + } + + static int check_nsec3_coverage(struct dns_header *header, size_t plen, int digest_len, unsigned char *digest, int type, +- char *workspace1, char *workspace2, unsigned char **nsecs, int nsec_count) ++ char *workspace1, char *workspace2, unsigned char **nsecs, int nsec_count, int *nons) + { + int i, hash_len, salt_len, base32_len, rdlen; + unsigned char *p, *psave; +@@ -1497,6 +1509,10 @@ static int check_nsec3_coverage(struct dns_header *header, size_t plen, int dige + if (!CHECK_LEN(header, p, plen, rdlen)) + return 0; + ++ /* If we can prove that there's no NS record, return that information. */ ++ if (nons && rdlen >= 2 && p[0] == 0 && (p[2] & (0x80 >> T_NS)) == 0) ++ *nons = 1; ++ + while (rdlen >= 2) + { + if (p[0] == type >> 8) +@@ -1533,13 +1549,16 @@ static int check_nsec3_coverage(struct dns_header *header, size_t plen, int dige + } + + static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, unsigned char **nsecs, int nsec_count, +- char *workspace1, char *workspace2, char *name, int type, char *wildname) ++ char *workspace1, char *workspace2, char *name, int type, char *wildname, int *nons) + { + unsigned char *salt, *p, *digest; + int digest_len, i, iterations, salt_len, base32_len, algo = 0; + struct nettle_hash const *hash; + char *closest_encloser, *next_closest, *wildcard; +- ++ ++ if (nons) ++ *nons = 0; ++ + /* Look though the NSEC3 records to find the first one with + an algorithm we support (currently only algo == 1). + +@@ -1612,7 +1631,7 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns + if ((digest_len = hash_name(name, &digest, hash, salt, salt_len, iterations)) == 0) + return STAT_BOGUS; + +- if (check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count)) ++ if (check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count, nons)) + return STAT_SECURE; + + /* Can't find an NSEC3 which covers the name directly, we need the "closest encloser NSEC3" +@@ -1657,7 +1676,7 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns + if ((digest_len = hash_name(next_closest, &digest, hash, salt, salt_len, iterations)) == 0) + return STAT_BOGUS; + +- if (!check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count)) ++ if (!check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count, NULL)) + return STAT_BOGUS; + + /* Finally, check that there's no seat of wildcard synthesis */ +@@ -1672,7 +1691,7 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns + if ((digest_len = hash_name(wildcard, &digest, hash, salt, salt_len, iterations)) == 0) + return STAT_BOGUS; + +- if (!check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count)) ++ if (!check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count, NULL)) + return STAT_BOGUS; + } + +@@ -1681,7 +1700,8 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns + + /* Validate all the RRsets in the answer and authority sections of the reply (4035:3.2.3) */ + /* Returns are the same as validate_rrset, plus the class if the missing key is in *class */ +-int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int *class, int *neganswer) ++int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, ++ int *class, int *neganswer, int *nons) + { + unsigned char *ans_start, *qname, *p1, *p2, **nsecs; + int type1, class1, rdlen1, type2, class2, rdlen2, qclass, qtype; +@@ -1811,10 +1831,11 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch + return STAT_BOGUS; /* No NSECs or bad packet */ + + if (nsec_type == T_NSEC) +- rc = prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1); ++ rc = prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1, NULL); + else +- rc = prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1, wildname); +- ++ rc = prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, ++ keyname, name, type1, wildname, NULL); ++ + if (rc != STAT_SECURE) + return rc; + } +@@ -1937,9 +1958,9 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch + return STAT_BOGUS; + + if (nsec_type == T_NSEC) +- return prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype); ++ return prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype, nons); + else +- return prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype, NULL); ++ return prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype, NULL, nons); + } + + /* Chase the CNAME chain in the packet until the first record which _doesn't validate. +diff --git a/src/forward.c b/src/forward.c +index f28c7d51f708..ee8d7b52d5e5 100644 +--- a/src/forward.c ++++ b/src/forward.c +@@ -26,8 +26,9 @@ static void free_frec(struct frec *f); + #ifdef HAVE_DNSSEC + static int tcp_key_recurse(time_t now, int status, struct dns_header *header, size_t n, + int class, char *name, char *keyname, struct server *server, int *keycount); +-static int do_check_sign(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class); +-static int send_check_sign(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname); ++static int do_check_sign(struct frec *forward, int status, time_t now, char *name, char *keyname); ++static int send_check_sign(struct frec *forward, time_t now, struct dns_header *header, size_t plen, ++ char *name, char *keyname); + #endif + + +@@ -815,18 +816,22 @@ void reply_query(int fd, int family, time_t now) + else if (forward->flags & FREC_DS_QUERY) + { + status = dnssec_validate_ds(now, header, n, daemon->namebuff, daemon->keyname, forward->class); +- if (status == STAT_NO_DS) +- status = STAT_INSECURE; ++ if (status == STAT_NO_DS || status == STAT_NO_NS) ++ status = STAT_BOGUS; + } + else if (forward->flags & FREC_CHECK_NOSIGN) +- status = do_check_sign(now, header, n, daemon->namebuff, daemon->keyname, forward->class); ++ { ++ status = dnssec_validate_ds(now, header, n, daemon->namebuff, daemon->keyname, forward->class); ++ if (status != STAT_NEED_KEY) ++ status = do_check_sign(forward, status, now, daemon->namebuff, daemon->keyname); ++ } + else + { +- status = dnssec_validate_reply(now, header, n, daemon->namebuff, daemon->keyname, &forward->class, NULL); ++ status = dnssec_validate_reply(now, header, n, daemon->namebuff, daemon->keyname, &forward->class, NULL, NULL); + if (status == STAT_NO_SIG) + { + if (option_bool(OPT_DNSSEC_NO_SIGN)) +- status = send_check_sign(now, header, n, daemon->namebuff, daemon->keyname); ++ status = send_check_sign(forward, now, header, n, daemon->namebuff, daemon->keyname); + else + status = STAT_INSECURE; + } +@@ -861,6 +866,7 @@ void reply_query(int fd, int family, time_t now) + new->blocking_query = NULL; + new->sentto = server; + new->rfd4 = NULL; ++ new->orig_domain = NULL; + #ifdef HAVE_IPV6 + new->rfd6 = NULL; + #endif +@@ -889,7 +895,9 @@ void reply_query(int fd, int family, time_t now) + new->new_id = get_id(); + header->id = htons(new->new_id); + /* Save query for retransmission */ +- new->stash = blockdata_alloc((char *)header, nn); ++ if (!(new->stash = blockdata_alloc((char *)header, nn))) ++ return; ++ + new->stash_len = nn; + + /* Don't resend this. */ +@@ -946,18 +954,22 @@ void reply_query(int fd, int family, time_t now) + else if (forward->flags & FREC_DS_QUERY) + { + status = dnssec_validate_ds(now, header, n, daemon->namebuff, daemon->keyname, forward->class); +- if (status == STAT_NO_DS) +- status = STAT_INSECURE; ++ if (status == STAT_NO_DS || status == STAT_NO_NS) ++ status = STAT_BOGUS; + } + else if (forward->flags & FREC_CHECK_NOSIGN) +- status = do_check_sign(now, header, n, daemon->namebuff, daemon->keyname, forward->class); ++ { ++ status = dnssec_validate_ds(now, header, n, daemon->namebuff, daemon->keyname, forward->class); ++ if (status != STAT_NEED_KEY) ++ status = do_check_sign(forward, status, now, daemon->namebuff, daemon->keyname); ++ } + else + { +- status = dnssec_validate_reply(now, header, n, daemon->namebuff, daemon->keyname, &forward->class, NULL); ++ status = dnssec_validate_reply(now, header, n, daemon->namebuff, daemon->keyname, &forward->class, NULL, NULL); + if (status == STAT_NO_SIG) + { + if (option_bool(OPT_DNSSEC_NO_SIGN)) +- status = send_check_sign(now, header, n, daemon->namebuff, daemon->keyname); ++ status = send_check_sign(forward, now, header, n, daemon->namebuff, daemon->keyname); + else + status = STAT_INSECURE; + } +@@ -1319,70 +1331,80 @@ void receive_query(struct listener *listen, time_t now) + /* UDP: we've got an unsigned answer, return STAT_INSECURE if we can prove there's no DS + and therefore the answer shouldn't be signed, or STAT_BOGUS if it should be, or + STAT_NEED_DS_NEG and keyname if we need to do the query. */ +-static int send_check_sign(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname) ++static int send_check_sign(struct frec *forward, time_t now, struct dns_header *header, size_t plen, ++ char *name, char *keyname) + { +- struct crec *crecp; +- char *name_start = name; + int status = dnssec_chase_cname(now, header, plen, name, keyname); + + if (status != STAT_INSECURE) + return status; + ++ /* Store the domain we're trying to check. */ ++ forward->name_start = strlen(name); ++ forward->name_len = forward->name_start + 1; ++ if (!(forward->orig_domain = blockdata_alloc(name, forward->name_len))) ++ return STAT_BOGUS; ++ ++ return do_check_sign(forward, 0, now, name, keyname); ++} ++ ++/* We either have a a reply (header non-NULL, or we need to start by looking in the cache */ ++static int do_check_sign(struct frec *forward, int status, time_t now, char *name, char *keyname) ++{ ++ /* get domain we're checking back from blockdata store, it's stored on the original query. */ ++ while (forward->dependent) ++ forward = forward->dependent; ++ ++ blockdata_retrieve(forward->orig_domain, forward->name_len, name); ++ + while (1) + { +- crecp = cache_find_by_name(NULL, name_start, now, F_DS); +- +- if (crecp && (crecp->flags & F_DNSSECOK)) +- return (crecp->flags & F_NEG) ? STAT_INSECURE : STAT_BOGUS; +- +- if (crecp && (crecp->flags & F_NEG) && (name_start = strchr(name_start, '.'))) ++ char *p; ++ ++ if (status == 0) + { +- name_start++; /* chop a label off and try again */ +- continue; ++ struct crec *crecp; ++ ++ /* Haven't received answer, see if in cache */ ++ if (!(crecp = cache_find_by_name(NULL, &name[forward->name_start], now, F_DS))) ++ { ++ /* put name of DS record we're missing into keyname */ ++ strcpy(keyname, &name[forward->name_start]); ++ /* and wait for reply to arrive */ ++ return STAT_NEED_DS_NEG; ++ } ++ ++ /* F_DNSSECOK misused in DS cache records to non-existance of NS record */ ++ if (!(crecp->flags & F_NEG)) ++ status = STAT_SECURE; ++ else if (crecp->flags & F_DNSSECOK) ++ status = STAT_NO_DS; ++ else ++ status = STAT_NO_NS; + } ++ ++ /* Have entered non-signed part of DNS tree. */ ++ if (status == STAT_NO_DS) ++ return STAT_INSECURE; + +- /* Reached the root */ +- if (!name_start) ++ if (status == STAT_BOGUS) + return STAT_BOGUS; + +- strcpy(keyname, name_start); +- return STAT_NEED_DS_NEG; +- } +-} +- +-/* Got answer to DS query from send_check_sign, check for proven non-existence, or make the next DS query to try. */ +-static int do_check_sign(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class) +- +-{ +- char *name_start; +- unsigned char *p; +- int status; ++ /* There's a proven DS record, or we're within a zone, where there doesn't need ++ to be a DS record. Add a name and try again. ++ If we've already tried the whole name, then fail */ + +- /* In this case only, a SERVFAIL reply allows us to continue up the tree, looking for a +- suitable NSEC reply to DS queries. */ +- if (RCODE(header) != SERVFAIL) +- { +- status = dnssec_validate_ds(now, header, plen, name, keyname, class); ++ if (forward->name_start == 0) ++ return STAT_BOGUS; + +- if (status != STAT_INSECURE) +- { +- if (status == STAT_NO_DS) +- status = STAT_INSECURE; +- return status; +- } +- } +- +- p = (unsigned char *)(header+1); +- +- if (extract_name(header, plen, &p, name, 1, 4) && +- (name_start = strchr(name, '.'))) +- { +- name_start++; /* chop a label off and try again */ +- strcpy(keyname, name_start); +- return STAT_NEED_DS_NEG; ++ for (p = &name[forward->name_start-2]; (*p != '.') && (p != name); p--); ++ ++ if (p != name) ++ p++; ++ ++ forward->name_start = p - name; ++ status = 0; /* force to cache when we iterate. */ + } +- +- return STAT_BOGUS; + } + + /* Move toward the root, until we find a signed non-existance of a DS, in which case +@@ -1395,8 +1417,10 @@ static int tcp_check_for_unsigned_zone(time_t now, struct dns_header *header, s + unsigned char *packet, *payload; + u16 *length; + unsigned char *p = (unsigned char *)(header+1); +- int status; +- char *name_start = name; ++ int status, name_len; ++ struct blockdata *block; ++ ++ char *name_start; + + /* Get first insecure entry in CNAME chain */ + status = tcp_key_recurse(now, STAT_CHASE_CNAME, header, plen, class, name, keyname, server, keycount); +@@ -1409,95 +1433,113 @@ static int tcp_check_for_unsigned_zone(time_t now, struct dns_header *header, s + payload = &packet[2]; + header = (struct dns_header *)payload; + length = (u16 *)packet; ++ ++ /* Stash the name away, since the buffer will be trashed when we recurse */ ++ name_len = strlen(name) + 1; ++ name_start = name + name_len - 1; + ++ if (!(block = blockdata_alloc(name, name_len))) ++ { ++ free(packet); ++ return STAT_BOGUS; ++ } ++ + while (1) + { +- unsigned char *newhash, hash[HASH_SIZE]; + unsigned char c1, c2; +- struct crec *crecp = cache_find_by_name(NULL, name_start, now, F_DS); +- ++ struct crec *crecp; ++ + if (--(*keycount) == 0) + { + free(packet); ++ blockdata_free(block); + return STAT_BOGUS; + } +- +- if (crecp && (crecp->flags & F_DNSSECOK)) +- { +- free(packet); +- return (crecp->flags & F_NEG) ? STAT_INSECURE : STAT_BOGUS; +- } + +- /* If we have cached insecurely that a DS doesn't exist, +- ise that is a hit for where to start looking for the secure one */ +- if (crecp && (crecp->flags & F_NEG) && (name_start = strchr(name_start, '.'))) +- { +- name_start++; /* chop a label off and try again */ +- continue; +- } +- +- /* reached the root */ +- if (!name_start) +- { +- free(packet); +- return STAT_BOGUS; ++ while (crecp = cache_find_by_name(NULL, name_start, now, F_DS)) ++ { ++ if ((crecp->flags & F_NEG) && (crecp->flags & F_DNSSECOK)) ++ { ++ /* Found a secure denial of DS - delegation is indeed insecure */ ++ free(packet); ++ blockdata_free(block); ++ return STAT_INSECURE; ++ } ++ ++ /* Here, either there's a secure DS, or no NS and no DS, and therefore no delegation. ++ Add another label and continue. */ ++ ++ if (name_start == name) ++ { ++ free(packet); ++ blockdata_free(block); ++ return STAT_BOGUS; /* run out of labels */ ++ } ++ ++ name_start -= 2; ++ while (*name_start != '.' && name_start != name) ++ name_start--; ++ if (name_start != name) ++ name_start++; + } ++ ++ /* Can't find it in the cache, have to send a query */ + + m = dnssec_generate_query(header, ((char *) header) + 65536, name_start, class, T_DS, &server->addr); + +- /* We rely on the question section coming back unchanged, ensure it is with the hash. */ +- if ((newhash = hash_questions(header, (unsigned int)m, name))) +- { +- memcpy(hash, newhash, HASH_SIZE); ++ *length = htons(m); + +- *length = htons(m); ++ if (read_write(server->tcpfd, packet, m + sizeof(u16), 0) && ++ read_write(server->tcpfd, &c1, 1, 1) && ++ read_write(server->tcpfd, &c2, 1, 1) && ++ read_write(server->tcpfd, payload, (c1 << 8) | c2, 1)) ++ { ++ m = (c1 << 8) | c2; ++ ++ /* Note this trashes all three name workspaces */ ++ status = tcp_key_recurse(now, STAT_NEED_DS_NEG, header, m, class, name, keyname, server, keycount); + +- if (read_write(server->tcpfd, packet, m + sizeof(u16), 0) && +- read_write(server->tcpfd, &c1, 1, 1) && +- read_write(server->tcpfd, &c2, 1, 1) && +- read_write(server->tcpfd, payload, (c1 << 8) | c2, 1)) ++ if (status == STAT_NO_DS) + { +- m = (c1 << 8) | c2; +- +- newhash = hash_questions(header, (unsigned int)m, name); +- if (newhash && memcmp(hash, newhash, HASH_SIZE) == 0) +- { +- /* In this case only, a SERVFAIL reply allows us to continue up the tree, looking for a +- suitable NSEC reply to DS queries. */ +- if (RCODE(header) == SERVFAIL) +- status = STAT_INSECURE; +- else +- /* Note this trashes all three name workspaces */ +- status = tcp_key_recurse(now, STAT_NEED_DS_NEG, header, m, class, name, keyname, server, keycount); +- +- /* We've found a DS which proves the bit of the DNS where the +- original query is, is unsigned, so the answer is OK, +- if unvalidated. */ +- if (status == STAT_NO_DS) +- { +- free(packet); +- return STAT_INSECURE; +- } +- +- /* No DS, not got to DNSSEC-land yet, go up. */ +- if (status == STAT_INSECURE) +- { +- p = (unsigned char *)(header+1); +- +- if (extract_name(header, plen, &p, name, 1, 4) && +- (name_start = strchr(name, '.'))) +- { +- name_start++; /* chop a label off and try again */ +- continue; +- } +- } +- } ++ /* Found a secure denial of DS - delegation is indeed insecure */ ++ free(packet); ++ blockdata_free(block); ++ return STAT_INSECURE; ++ } ++ ++ if (status == STAT_BOGUS) ++ { ++ free(packet); ++ blockdata_free(block); ++ return STAT_BOGUS; ++ } ++ ++ /* Here, either there's a secure DS, or no NS and no DS, and therefore no delegation. ++ Add another label and continue. */ ++ ++ /* Get name we're checking back. */ ++ blockdata_retrieve(block, name_len, name); ++ ++ if (name_start == name) ++ { ++ free(packet); ++ blockdata_free(block); ++ return STAT_BOGUS; /* run out of labels */ + } ++ ++ name_start -= 2; ++ while (*name_start != '.' && name_start != name) ++ name_start--; ++ if (name_start != name) ++ name_start++; ++ } ++ else ++ { ++ /* IO failure */ ++ free(packet); ++ blockdata_free(block); ++ return STAT_BOGUS; /* run out of labels */ + } +- +- free(packet); +- +- return STAT_BOGUS; + } + } + +@@ -1516,14 +1558,14 @@ static int tcp_key_recurse(time_t now, int status, struct dns_header *header, si + else if (status == STAT_NEED_DS || status == STAT_NEED_DS_NEG) + { + new_status = dnssec_validate_ds(now, header, n, name, keyname, class); +- if (status == STAT_NEED_DS && new_status == STAT_NO_DS) +- new_status = STAT_INSECURE; ++ if (status == STAT_NEED_DS && (new_status == STAT_NO_DS || new_status == STAT_NO_NS)) ++ new_status = STAT_BOGUS; + } + else if (status == STAT_CHASE_CNAME) + new_status = dnssec_chase_cname(now, header, n, name, keyname); + else + { +- new_status = dnssec_validate_reply(now, header, n, name, keyname, &class, NULL); ++ new_status = dnssec_validate_reply(now, header, n, name, keyname, &class, NULL, NULL); + + if (new_status == STAT_NO_SIG) + { +@@ -1576,14 +1618,14 @@ static int tcp_key_recurse(time_t now, int status, struct dns_header *header, si + else if (status == STAT_NEED_DS || status == STAT_NEED_DS_NEG) + { + new_status = dnssec_validate_ds(now, header, n, name, keyname, class); +- if (status == STAT_NEED_DS && new_status == STAT_NO_DS) +- new_status = STAT_INSECURE; /* Validated no DS */ ++ if (status == STAT_NEED_DS && (new_status == STAT_NO_DS || new_status == STAT_NO_NS)) ++ new_status = STAT_BOGUS; /* Validated no DS */ + } + else if (status == STAT_CHASE_CNAME) + new_status = dnssec_chase_cname(now, header, n, name, keyname); + else + { +- new_status = dnssec_validate_reply(now, header, n, name, keyname, &class, NULL); ++ new_status = dnssec_validate_reply(now, header, n, name, keyname, &class, NULL, NULL); + + if (new_status == STAT_NO_SIG) + { +@@ -1961,6 +2003,7 @@ static struct frec *allocate_frec(time_t now) + f->dependent = NULL; + f->blocking_query = NULL; + f->stash = NULL; ++ f->orig_domain = NULL; + #endif + daemon->frec_list = f; + } +@@ -2029,6 +2072,12 @@ static void free_frec(struct frec *f) + f->stash = NULL; + } + ++ if (f->orig_domain) ++ { ++ blockdata_free(f->orig_domain); ++ f->orig_domain = NULL; ++ } ++ + /* Anything we're waiting on is pointless now, too */ + if (f->blocking_query) + free_frec(f->blocking_query); +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch b/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch new file mode 100644 index 0000000..e258d56 --- /dev/null +++ b/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch @@ -0,0 +1,346 @@ +From 25cf5e373eb41c088d4ee5e625209c4cf6a5659e Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Fri, 9 Jan 2015 15:53:03 +0000 +Subject: [PATCH 27/55] Add --log-queries=extra option for more complete + logging. + +--- + CHANGELOG | 3 +++ + man/dnsmasq.8 | 5 ++++- + src/cache.c | 11 ++++++++++- + src/config.h | 1 + + src/dnsmasq.c | 5 +++++ + src/dnsmasq.h | 9 +++++++-- + src/dnssec.c | 14 +++++++------- + src/forward.c | 30 ++++++++++++++++++++++++++---- + src/option.c | 11 +++++++++-- + 9 files changed, 72 insertions(+), 17 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index e8bf80f81baa..0bbb7835df4f 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -40,6 +40,9 @@ version 2.73 + nameservers in the unsigned parts of the DNS tree + which don't respond well to DNSSEC queries. + ++ Add --log-queries=extra option, which makes logs easier ++ to search automatically. ++ + + version 2.72 + Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. +diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 +index 4236ba307df3..227d74bd80e7 100644 +--- a/man/dnsmasq.8 ++++ b/man/dnsmasq.8 +@@ -98,7 +98,10 @@ only, to stop dnsmasq daemonising in production, use + .B -k. + .TP + .B -q, --log-queries +-Log the results of DNS queries handled by dnsmasq. Enable a full cache dump on receipt of SIGUSR1. ++Log the results of DNS queries handled by dnsmasq. Enable a full cache dump on receipt of SIGUSR1. If the argument "extra" is supplied, ie ++.B --log-queries=extra ++then the log has extra information at the start of each line. ++This consists of a serial number which ties together the log lines associated with an individual query, and the IP address of the requestor. + .TP + .B -8, --log-facility=<facility> + Set the facility to which dnsmasq will send syslog entries, this +diff --git a/src/cache.c b/src/cache.c +index ff1ca6f1c352..960bb7938778 100644 +--- a/src/cache.c ++++ b/src/cache.c +@@ -1638,7 +1638,16 @@ void log_query(unsigned int flags, char *name, struct all_addr *addr, char *arg) + if (strlen(name) == 0) + name = "."; + +- my_syslog(LOG_INFO, "%s %s %s %s", source, name, verb, dest); ++ if (option_bool(OPT_EXTRALOG)) ++ { ++ prettyprint_addr(daemon->log_source_addr, daemon->addrbuff2); ++ if (flags & F_NOEXTRA) ++ my_syslog(LOG_INFO, "* %s %s %s %s %s", daemon->addrbuff2, source, name, verb, dest); ++ else ++ my_syslog(LOG_INFO, "%u %s %s %s %s %s", daemon->log_display_id, daemon->addrbuff2, source, name, verb, dest); ++ } ++ else ++ my_syslog(LOG_INFO, "%s %s %s %s", source, name, verb, dest); + } + + +diff --git a/src/config.h b/src/config.h +index 145820ad2510..3b88d8193dca 100644 +--- a/src/config.h ++++ b/src/config.h +@@ -17,6 +17,7 @@ + #define FTABSIZ 150 /* max number of outstanding requests (default) */ + #define MAX_PROCS 20 /* max no children for TCP requests */ + #define CHILD_LIFETIME 150 /* secs 'till terminated (RFC1035 suggests > 120s) */ ++#define TCP_MAX_QUERIES 100 /* Maximum number of queries per incoming TCP connection */ + #define EDNS_PKTSZ 4096 /* default max EDNS.0 UDP packet from RFC5625 */ + #define KEYBLOCK_LEN 40 /* choose to mininise fragmentation when storing DNSSEC keys */ + #define DNSSEC_WORK 50 /* Max number of queries to validate one question */ +diff --git a/src/dnsmasq.c b/src/dnsmasq.c +index 5c7750d365fa..c0c0589d4ce1 100644 +--- a/src/dnsmasq.c ++++ b/src/dnsmasq.c +@@ -93,6 +93,8 @@ int main (int argc, char **argv) + daemon->packet = safe_malloc(daemon->packet_buff_sz); + + daemon->addrbuff = safe_malloc(ADDRSTRLEN); ++ if (option_bool(OPT_EXTRALOG)) ++ daemon->addrbuff2 = safe_malloc(ADDRSTRLEN); + + #ifdef HAVE_DNSSEC + if (option_bool(OPT_DNSSEC_VALID)) +@@ -1587,6 +1589,9 @@ static void check_dns_listeners(fd_set *set, time_t now) + } + } + close(confd); ++ ++ /* The child can use up to TCP_MAX_QUERIES ids, so skip that many. */ ++ daemon->log_id += TCP_MAX_QUERIES; + } + #endif + else +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index 2f4597294a56..4e9aea401b75 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -238,7 +238,8 @@ struct event_desc { + #define OPT_DNSSEC_NO_SIGN 48 + #define OPT_LOCAL_SERVICE 49 + #define OPT_LOOP_DETECT 50 +-#define OPT_LAST 51 ++#define OPT_EXTRALOG 51 ++#define OPT_LAST 52 + + /* extra flags for my_syslog, we use a couple of facilities since they are known + not to occupy the same bits as priorities, no matter how syslog.h is set up. */ +@@ -442,6 +443,7 @@ struct crec { + #define F_NO_RR (1u<<25) + #define F_IPSET (1u<<26) + #define F_NSIGMATCH (1u<<27) ++#define F_NOEXTRA (1u<<28) + + /* Values of uid in crecs with F_CONFIG bit set. */ + #define SRC_INTERFACE 0 +@@ -599,7 +601,7 @@ struct frec { + #endif + unsigned int iface; + unsigned short orig_id, new_id; +- int fd, forwardall, flags; ++ int log_id, fd, forwardall, flags; + time_t time; + unsigned char *hash[HASH_SIZE]; + #ifdef HAVE_DNSSEC +@@ -1002,6 +1004,8 @@ extern struct daemon { + struct randfd randomsocks[RANDOM_SOCKS]; + int v6pktinfo; + struct addrlist *interface_addrs; /* list of all addresses/prefix lengths associated with all local interfaces */ ++ int log_id, log_display_id; /* ids of transactions for logging */ ++ union mysockaddr *log_source_addr; + + /* DHCP state */ + int dhcpfd, helperfd, pxefd; +@@ -1033,6 +1037,7 @@ extern struct daemon { + + /* utility string buffer, hold max sized IP address as string */ + char *addrbuff; ++ char *addrbuff2; /* only allocated when OPT_EXTRALOG */ + + } *daemon; + +diff --git a/src/dnssec.c b/src/dnssec.c +index 8f27677628b2..afb3dca38cb1 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -1038,7 +1038,7 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch + else + { + a.addr.keytag = keytag; +- log_query(F_KEYTAG | F_UPSTREAM, name, &a, "DNSKEY keytag %u"); ++ log_query(F_NOEXTRA | F_KEYTAG | F_UPSTREAM, name, &a, "DNSKEY keytag %u"); + + recp1->addr.key.keylen = rdlen - 4; + recp1->addr.key.keydata = key; +@@ -1092,7 +1092,7 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch + return STAT_SECURE; + } + +- log_query(F_UPSTREAM, name, NULL, "BOGUS DNSKEY"); ++ log_query(F_NOEXTRA | F_UPSTREAM, name, NULL, "BOGUS DNSKEY"); + return STAT_BOGUS; + } + +@@ -1136,7 +1136,7 @@ int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char + + if (val == STAT_BOGUS) + { +- log_query(F_UPSTREAM, name, NULL, "BOGUS DS"); ++ log_query(F_NOEXTRA | F_UPSTREAM, name, NULL, "BOGUS DS"); + return STAT_BOGUS; + } + +@@ -1201,7 +1201,7 @@ int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char + + cache_end_insert(); + +- log_query(F_UPSTREAM, name, NULL, nons ? "no delegation" : "no DS"); ++ log_query(F_NOEXTRA | F_UPSTREAM, name, NULL, nons ? "no delegation" : "no DS"); + } + + return nons ? STAT_NO_NS : STAT_NO_DS; +@@ -1885,7 +1885,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch + else + { + a.addr.keytag = keytag; +- log_query(F_KEYTAG | F_UPSTREAM, name, &a, "DS keytag %u"); ++ log_query(F_NOEXTRA | F_KEYTAG | F_UPSTREAM, name, &a, "DS keytag %u"); + crecp->addr.ds.digest = digest; + crecp->addr.ds.keydata = key; + crecp->addr.ds.algo = algo; +@@ -2058,10 +2058,10 @@ size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, i + char *types = querystr("dnssec-query", type); + + if (addr->sa.sa_family == AF_INET) +- log_query(F_DNSSEC | F_IPV4, name, (struct all_addr *)&addr->in.sin_addr, types); ++ log_query(F_NOEXTRA | F_DNSSEC | F_IPV4, name, (struct all_addr *)&addr->in.sin_addr, types); + #ifdef HAVE_IPV6 + else +- log_query(F_DNSSEC | F_IPV6, name, (struct all_addr *)&addr->in6.sin6_addr, types); ++ log_query(F_NOEXTRA | F_DNSSEC | F_IPV6, name, (struct all_addr *)&addr->in6.sin6_addr, types); + #endif + + header->qdcount = htons(1); +diff --git a/src/forward.c b/src/forward.c +index 55f583383bc6..713a64c0fa58 100644 +--- a/src/forward.c ++++ b/src/forward.c +@@ -279,10 +279,10 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr, + plen = forward->stash_len; + + if (forward->sentto->addr.sa.sa_family == AF_INET) +- log_query(F_DNSSEC | F_IPV4, "retry", (struct all_addr *)&forward->sentto->addr.in.sin_addr, "dnssec"); ++ log_query(F_NOEXTRA | F_DNSSEC | F_IPV4, "retry", (struct all_addr *)&forward->sentto->addr.in.sin_addr, "dnssec"); + #ifdef HAVE_IPV6 + else +- log_query(F_DNSSEC | F_IPV6, "retry", (struct all_addr *)&forward->sentto->addr.in6.sin6_addr, "dnssec"); ++ log_query(F_NOEXTRA | F_DNSSEC | F_IPV6, "retry", (struct all_addr *)&forward->sentto->addr.in6.sin6_addr, "dnssec"); + #endif + + if (forward->sentto->sfd) +@@ -389,6 +389,9 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr, + struct server *firstsentto = start; + int forwarded = 0; + ++ /* If a query is retried, use the log_id for the retry when logging the answer. */ ++ forward->log_id = daemon->log_id; ++ + if (option_bool(OPT_ADD_MAC)) + plen = add_mac(header, plen, ((char *) header) + daemon->packet_buff_sz, &forward->source); + +@@ -725,6 +728,11 @@ void reply_query(int fd, int family, time_t now) + if (!(forward = lookup_frec(ntohs(header->id), hash))) + return; + ++ /* log_query gets called indirectly all over the place, so ++ pass these in global variables - sorry. */ ++ daemon->log_display_id = forward->log_id; ++ daemon->log_source_addr = &forward->source; ++ + if (daemon->ignore_addr && RCODE(header) == NOERROR && + check_for_ignored_address(header, n, daemon->ignore_addr)) + return; +@@ -1258,6 +1266,11 @@ void receive_query(struct listener *listen, time_t now) + dst_addr_4.s_addr = 0; + } + } ++ ++ /* log_query gets called indirectly all over the place, so ++ pass these in global variables - sorry. */ ++ daemon->log_display_id = ++daemon->log_id; ++ daemon->log_source_addr = &source_addr; + + if (extract_request(header, (size_t)n, daemon->namebuff, &type)) + { +@@ -1675,7 +1688,8 @@ unsigned char *tcp_request(int confd, time_t now, + struct in_addr dst_addr_4; + union mysockaddr peer_addr; + socklen_t peer_len = sizeof(union mysockaddr); +- ++ int query_count = 0; ++ + if (getpeername(confd, (struct sockaddr *)&peer_addr, &peer_len) == -1) + return packet; + +@@ -1712,7 +1726,8 @@ unsigned char *tcp_request(int confd, time_t now, + + while (1) + { +- if (!packet || ++ if (query_count == TCP_MAX_QUERIES || ++ !packet || + !read_write(confd, &c1, 1, 1) || !read_write(confd, &c2, 1, 1) || + !(size = c1 << 8 | c2) || + !read_write(confd, payload, size, 1)) +@@ -1721,6 +1736,13 @@ unsigned char *tcp_request(int confd, time_t now, + if (size < (int)sizeof(struct dns_header)) + continue; + ++ query_count++; ++ ++ /* log_query gets called indirectly all over the place, so ++ pass these in global variables - sorry. */ ++ daemon->log_display_id = ++daemon->log_id; ++ daemon->log_source_addr = &peer_addr; ++ + check_subnet = 0; + + /* save state of "cd" flag in query */ +diff --git a/src/option.c b/src/option.c +index 907d0cf88de9..b7372be0a090 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -149,6 +149,7 @@ struct myoption { + #define LOPT_LOOP_DETECT 337 + #define LOPT_IGNORE_ADDR 338 + ++ + #ifdef HAVE_GETOPT_LONG + static const struct option opts[] = + #else +@@ -160,7 +161,7 @@ static const struct myoption opts[] = + { "no-poll", 0, 0, 'n' }, + { "help", 0, 0, 'w' }, + { "no-daemon", 0, 0, 'd' }, +- { "log-queries", 0, 0, 'q' }, ++ { "log-queries", 2, 0, 'q' }, + { "user", 2, 0, 'u' }, + { "group", 2, 0, 'g' }, + { "resolv-file", 2, 0, 'r' }, +@@ -357,7 +358,7 @@ static struct { + { LOPT_FORCE, ARG_DUP, "<optspec>", gettext_noop("DHCP option sent even if the client does not request it."), NULL}, + { 'p', ARG_ONE, "<integer>", gettext_noop("Specify port to listen for DNS requests on (defaults to 53)."), NULL }, + { 'P', ARG_ONE, "<integer>", gettext_noop("Maximum supported UDP packet size for EDNS.0 (defaults to %s)."), "*" }, +- { 'q', OPT_LOG, NULL, gettext_noop("Log DNS queries."), NULL }, ++ { 'q', ARG_DUP, NULL, gettext_noop("Log DNS queries."), NULL }, + { 'Q', ARG_ONE, "<integer>", gettext_noop("Force the originating port for upstream DNS queries."), NULL }, + { 'R', OPT_NO_RESOLV, NULL, gettext_noop("Do NOT read resolv.conf."), NULL }, + { 'r', ARG_DUP, "<path>", gettext_noop("Specify path to resolv.conf (defaults to %s)."), RESOLVFILE }, +@@ -2421,6 +2422,12 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + ret_err(gen_err); + break; + ++ case 'q': /* --log-queries */ ++ set_option_bool(OPT_LOG); ++ if (arg && strcmp(arg, "extra") == 0) ++ set_option_bool(OPT_EXTRALOG); ++ break; ++ + case LOPT_MAX_LOGS: /* --log-async */ + daemon->max_logs = LOG_MAX; /* default */ + if (arg && !atoi_check(arg, &daemon->max_logs)) +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch b/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch new file mode 100644 index 0000000..e8a61b7 --- /dev/null +++ b/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch @@ -0,0 +1,144 @@ +From 28de38768e2c7d763b9aa5b7a4d251d5e56bab0b Mon Sep 17 00:00:00 2001 +From: RinSatsuki aa65535@live.com +Date: Sat, 10 Jan 2015 15:22:21 +0000 +Subject: [PATCH 28/55] Add --min-cache-ttl option. + +--- + CHANGELOG | 7 +++++++ + man/dnsmasq.8 | 6 ++++++ + src/cache.c | 4 +++- + src/config.h | 1 + + src/dnsmasq.h | 2 +- + src/option.c | 11 +++++++++++ + 6 files changed, 29 insertions(+), 2 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index 0bbb7835df4f..23fc6d0530cf 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -43,6 +43,13 @@ version 2.73 + Add --log-queries=extra option, which makes logs easier + to search automatically. + ++ Add --min-cache-ttl option. I've resisted this for a long ++ time, on the grounds that disbelieving TTLs is never a ++ good idea, but I've been persuaded that there are ++ sometimes reasons to do it. (Step forward, GFW). ++ To avoid misuse, there's a hard limit on the TTL ++ floor of one hour. Thansk to RinSatsuki for the patch. ++ + + version 2.72 + Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. +diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 +index 227d74bd80e7..5cfa355dea4a 100644 +--- a/man/dnsmasq.8 ++++ b/man/dnsmasq.8 +@@ -81,6 +81,12 @@ the upstream DNS servers. + .B --max-cache-ttl=<time> + Set a maximum TTL value for entries in the cache. + .TP ++.B --min-cache-ttl=<time> ++Extend short TTL values to the time given when caching them. Note that ++artificially extending TTL values is in general a bad idea, do not do it ++unless you have a good reason, and understand what you are doing. ++Dnsmasq limits the value of this option to one hour, unless recompiled. ++.TP + .B --auth-ttl=<time> + Set the TTL value returned in answers from the authoritative server. + .TP +diff --git a/src/cache.c b/src/cache.c +index 960bb7938778..945be071a0b6 100644 +--- a/src/cache.c ++++ b/src/cache.c +@@ -461,9 +461,11 @@ struct crec *cache_insert(char *name, struct all_addr *addr, + if (flags & (F_IPV4 | F_IPV6 | F_CNAME)) + { + log_query(flags | F_UPSTREAM, name, addr, NULL); +- /* Don;t mess with TTL for DNSSEC records. */ ++ /* Don't mess with TTL for DNSSEC records. */ + if (daemon->max_cache_ttl != 0 && daemon->max_cache_ttl < ttl) + ttl = daemon->max_cache_ttl; ++ if (daemon->min_cache_ttl != 0 && daemon->min_cache_ttl > ttl) ++ ttl = daemon->min_cache_ttl; + } + + /* if previous insertion failed give up now. */ +diff --git a/src/config.h b/src/config.h +index 3b88d8193dca..cdca231b4079 100644 +--- a/src/config.h ++++ b/src/config.h +@@ -27,6 +27,7 @@ + #define RANDOM_SOCKS 64 /* max simultaneous random ports */ + #define LEASE_RETRY 60 /* on error, retry writing leasefile after LEASE_RETRY seconds */ + #define CACHESIZ 150 /* default cache size */ ++#define TTL_FLOOR_LIMIT 3600 /* don't allow --min-cache-ttl to raise TTL above this under any circumstances */ + #define MAXLEASES 1000 /* maximum number of DHCP leases */ + #define PING_WAIT 3 /* wait for ping address-in-use test */ + #define PING_CACHE_TIME 30 /* Ping test assumed to be valid this long. */ +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index 4e9aea401b75..f8275e3ac479 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -943,7 +943,7 @@ extern struct daemon { + int max_logs; /* queue limit */ + int cachesize, ftabsize; + int port, query_port, min_port; +- unsigned long local_ttl, neg_ttl, max_ttl, max_cache_ttl, auth_ttl; ++ unsigned long local_ttl, neg_ttl, max_ttl, min_cache_ttl, max_cache_ttl, auth_ttl; + struct hostsfile *addn_hosts; + struct dhcp_context *dhcp, *dhcp6; + struct ra_interface *ra_interfaces; +diff --git a/src/option.c b/src/option.c +index b7372be0a090..8b994098cc9f 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -148,6 +148,7 @@ struct myoption { + #define LOPT_DNSSEC_TIME 336 + #define LOPT_LOOP_DETECT 337 + #define LOPT_IGNORE_ADDR 338 ++#define LOPT_MINCTTL 339 + + + #ifdef HAVE_GETOPT_LONG +@@ -256,6 +257,7 @@ static const struct myoption opts[] = + { "dhcp-broadcast", 2, 0, LOPT_BROADCAST }, + { "neg-ttl", 1, 0, LOPT_NEGTTL }, + { "max-ttl", 1, 0, LOPT_MAXTTL }, ++ { "min-cache-ttl", 1, 0, LOPT_MINCTTL }, + { "max-cache-ttl", 1, 0, LOPT_MAXCTTL }, + { "dhcp-alternate-port", 2, 0, LOPT_ALTPORT }, + { "dhcp-scriptuser", 1, 0, LOPT_SCRIPTUSR }, +@@ -371,6 +373,8 @@ static struct { + { 'T', ARG_ONE, "<integer>", gettext_noop("Specify time-to-live in seconds for replies from /etc/hosts."), NULL }, + { LOPT_NEGTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live in seconds for negative caching."), NULL }, + { LOPT_MAXTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live in seconds for maximum TTL to send to clients."), NULL }, ++ { LOPT_MAXCTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live ceiling for cache."), NULL }, ++ { LOPT_MINCTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live floor for cache."), NULL }, + { 'u', ARG_ONE, "<username>", gettext_noop("Change to this user after startup. (defaults to %s)."), CHUSER }, + { 'U', ARG_DUP, "set:<tag>,<class>", gettext_noop("Map DHCP vendor class to tag."), NULL }, + { 'v', 0, NULL, gettext_noop("Display dnsmasq version and copyright information."), NULL }, +@@ -2457,6 +2461,7 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + case 'T': /* --local-ttl */ + case LOPT_NEGTTL: /* --neg-ttl */ + case LOPT_MAXTTL: /* --max-ttl */ ++ case LOPT_MINCTTL: /* --min-cache-ttl */ + case LOPT_MAXCTTL: /* --max-cache-ttl */ + case LOPT_AUTHTTL: /* --auth-ttl */ + { +@@ -2467,6 +2472,12 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + daemon->neg_ttl = (unsigned long)ttl; + else if (option == LOPT_MAXTTL) + daemon->max_ttl = (unsigned long)ttl; ++ else if (option == LOPT_MINCTTL) ++ { ++ if (ttl > TTL_FLOOR_LIMIT) ++ ttl = TTL_FLOOR_LIMIT; ++ daemon->min_cache_ttl = (unsigned long)ttl; ++ } + else if (option == LOPT_MAXCTTL) + daemon->max_cache_ttl = (unsigned long)ttl; + else if (option == LOPT_AUTHTTL) +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch b/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch new file mode 100644 index 0000000..d3c4847 --- /dev/null +++ b/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch @@ -0,0 +1,31 @@ +From 9f79ee4ae34886c0319f06d8f162b81ef79d62fb Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Mon, 12 Jan 2015 20:18:18 +0000 +Subject: [PATCH 29/55] Log port of requestor when doing extra logging. + +--- + src/cache.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/cache.c b/src/cache.c +index 945be071a0b6..09b6dbf8087a 100644 +--- a/src/cache.c ++++ b/src/cache.c +@@ -1642,11 +1642,11 @@ void log_query(unsigned int flags, char *name, struct all_addr *addr, char *arg) + + if (option_bool(OPT_EXTRALOG)) + { +- prettyprint_addr(daemon->log_source_addr, daemon->addrbuff2); ++ int port = prettyprint_addr(daemon->log_source_addr, daemon->addrbuff2); + if (flags & F_NOEXTRA) +- my_syslog(LOG_INFO, "* %s %s %s %s %s", daemon->addrbuff2, source, name, verb, dest); ++ my_syslog(LOG_INFO, "* %s/%u %s %s %s %s", daemon->addrbuff2, port, source, name, verb, dest); + else +- my_syslog(LOG_INFO, "%u %s %s %s %s %s", daemon->log_display_id, daemon->addrbuff2, source, name, verb, dest); ++ my_syslog(LOG_INFO, "%u %s/%u %s %s %s %s", daemon->log_display_id, daemon->addrbuff2, port, source, name, verb, dest); + } + else + my_syslog(LOG_INFO, "%s %s %s %s", source, name, verb, dest); +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch b/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch new file mode 100644 index 0000000..5f489e2 --- /dev/null +++ b/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch @@ -0,0 +1,45 @@ +From 5e321739db381a1d7b5964d76e9c81471d2564c9 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Mon, 12 Jan 2015 23:16:56 +0000 +Subject: [PATCH 30/55] Don't answer from cache RRsets from wildcards, as we + don't have NSECs. + +--- + src/dnssec.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/dnssec.c b/src/dnssec.c +index afb3dca38cb1..d39ab85ed966 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -1818,11 +1818,14 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch + struct blockdata *key; + struct crec *crecp; + char *wildname; ++ int have_wildcard = 0; + + rc = validate_rrset(now, header, plen, class1, type1, name, keyname, &wildname, NULL, 0, 0, 0); + + if (rc == STAT_SECURE_WILDCARD) + { ++ have_wildcard = 1; ++ + /* An attacker replay a wildcard answer with a different + answer and overlay a genuine RR. To prove this + hasn't happened, the answer must prove that +@@ -1913,7 +1916,11 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch + p2 += 13; /* labels, orig_ttl, expiration, inception */ + GETSHORT(keytag, p2); + +- if ((key = blockdata_alloc((char*)psave, rdlen2))) ++ /* We don't cache sigs for wildcard answers, because to reproduce the ++ answer from the cache will require one or more NSEC/NSEC3 records ++ which we don't cache. The lack of the RRSIG ensures that a query for ++ this RRset asking for a secure answer will always be forwarded. */ ++ if (!have_wildcard && (key = blockdata_alloc((char*)psave, rdlen2))) + { + if (!(crecp = cache_insert(name, &a, now, ttl, F_FORWARD | F_DNSKEY | F_DS))) + blockdata_free(key); +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch b/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch new file mode 100644 index 0000000..1a2d3e4 --- /dev/null +++ b/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch @@ -0,0 +1,25 @@ +From ae4624bf46b5e37ff1a9a2ba3c927e0dede95adb Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Mon, 12 Jan 2015 23:22:08 +0000 +Subject: [PATCH 31/55] Logs for DS records consistent. + +--- + src/rfc1035.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rfc1035.c b/src/rfc1035.c +index 75c4266b47dd..262274fc5b80 100644 +--- a/src/rfc1035.c ++++ b/src/rfc1035.c +@@ -1643,7 +1643,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen, + { + if (crecp->flags & F_NXDOMAIN) + nxdomain = 1; +- log_query(F_UPSTREAM, name, NULL, "secure no DS"); ++ log_query(F_UPSTREAM, name, NULL, "no DS"); + } + else if ((keydata = blockdata_retrieve(crecp->addr.ds.keydata, crecp->addr.ds.keylen, NULL))) + { +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch b/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch new file mode 100644 index 0000000..81b02cc --- /dev/null +++ b/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch @@ -0,0 +1,57 @@ +From 393415597c8b5b09558b789ab9ac238dbe3db65d Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sun, 18 Jan 2015 22:11:10 +0000 +Subject: [PATCH 32/55] Cope with multiple interfaces with the same LL address. + +--- + CHANGELOG | 4 ++++ + src/auth.c | 5 ++++- + src/util.c | 1 + + 3 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/CHANGELOG b/CHANGELOG +index 23fc6d0530cf..bbd7e6619689 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -49,6 +49,10 @@ version 2.73 + sometimes reasons to do it. (Step forward, GFW). + To avoid misuse, there's a hard limit on the TTL + floor of one hour. Thansk to RinSatsuki for the patch. ++ ++ Cope with multiple interfaces with the same link-local ++ address. (IPv6 addresses are scoped, so this is allowed.) ++ Thanks to Cory Benfield for help with this. + + + version 2.72 +diff --git a/src/auth.c b/src/auth.c +index a327f16d8c0b..59e05d3da38e 100644 +--- a/src/auth.c ++++ b/src/auth.c +@@ -413,7 +413,10 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n + peer_addr->in.sin_port = 0; + #ifdef HAVE_IPV6 + else +- peer_addr->in6.sin6_port = 0; ++ { ++ peer_addr->in6.sin6_port = 0; ++ peer_addr->in6.sin6_scope_id = 0; ++ } + #endif + + for (peers = daemon->auth_peers; peers; peers = peers->next) +diff --git a/src/util.c b/src/util.c +index a729f339e219..d532444da207 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -274,6 +274,7 @@ int sockaddr_isequal(union mysockaddr *s1, union mysockaddr *s2) + #ifdef HAVE_IPV6 + if (s1->sa.sa_family == AF_INET6 && + s1->in6.sin6_port == s2->in6.sin6_port && ++ s1->in6.sin6_scope_id == s2->in6.sin6_scope_id && + IN6_ARE_ADDR_EQUAL(&s1->in6.sin6_addr, &s2->in6.sin6_addr)) + return 1; + #endif +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch b/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch new file mode 100644 index 0000000..e88a94b --- /dev/null +++ b/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch @@ -0,0 +1,25 @@ +From 2ae195f5a71f7c5a75717845de1bd72fc7dd67f3 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sun, 18 Jan 2015 22:20:48 +0000 +Subject: [PATCH 33/55] Don't treat SERVFAIL as a recoverable error..... + +--- + src/forward.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/forward.c b/src/forward.c +index 713a64c0fa58..b17bc34f865f 100644 +--- a/src/forward.c ++++ b/src/forward.c +@@ -737,7 +737,7 @@ void reply_query(int fd, int family, time_t now) + check_for_ignored_address(header, n, daemon->ignore_addr)) + return; + +- if ((RCODE(header) == SERVFAIL || RCODE(header) == REFUSED) && ++ if (RCODE(header) == REFUSED && + !option_bool(OPT_ORDER) && + forward->forwardall == 0) + /* for broken servers, attempt to send to another one. */ +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch b/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch new file mode 100644 index 0000000..c6b6703 --- /dev/null +++ b/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch @@ -0,0 +1,419 @@ +From 5f4dc5c6ca50655ab14f572c7e30815ed74cd51a Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Tue, 20 Jan 2015 20:51:02 +0000 +Subject: [PATCH 34/55] Add --dhcp-hostsdir config option. + +--- + CHANGELOG | 5 +++ + man/dnsmasq.8 | 9 +++++ + src/dnsmasq.c | 28 ++++++++++---- + src/dnsmasq.h | 15 ++++++-- + src/inotify.c | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- + src/option.c | 22 +++++++++-- + 6 files changed, 177 insertions(+), 21 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index bbd7e6619689..0076b557e95e 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -53,6 +53,11 @@ version 2.73 + Cope with multiple interfaces with the same link-local + address. (IPv6 addresses are scoped, so this is allowed.) + Thanks to Cory Benfield for help with this. ++ ++ Add --dhcp-hostsdir. This allows addition of new host ++ configurations to a running dnsmasq instance much more ++ cheaply than having dnsmasq re-read all its existing ++ configuration each time. + + + version 2.72 +diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 +index 5cfa355dea4a..005b5cca8d1f 100644 +--- a/man/dnsmasq.8 ++++ b/man/dnsmasq.8 +@@ -977,6 +977,15 @@ is given, then read all the files contained in that directory. The advantage of + using this option is the same as for --dhcp-hostsfile: the + dhcp-optsfile will be re-read when dnsmasq receives SIGHUP. Note that + it is possible to encode the information in a ++.TP ++.B --dhcp-hostsdir=<path> ++This is exactly equivalent to dhcp-hostfile, except for the following. The path MUST be a ++directory, and not an individual file. Changed or new files within ++the directory are read automatically, without the need to send SIGHUP. ++If a file is deleted for changed after it has been read by dnsmasq, then the ++host record it contained will remain until dnsmasq recieves a SIGHUP, or ++is restarted; ie host records are only added dynamically. ++.TP + .B --dhcp-boot + flag as DHCP options, using the options names bootfile-name, + server-ip-address and tftp-server. This allows these to be included +diff --git a/src/dnsmasq.c b/src/dnsmasq.c +index c0c0589d4ce1..04cc98278f62 100644 +--- a/src/dnsmasq.c ++++ b/src/dnsmasq.c +@@ -142,6 +142,9 @@ int main (int argc, char **argv) + set_option_bool(OPT_NOWILD); + reset_option_bool(OPT_CLEVERBIND); + } ++ ++ if (daemon->inotify_hosts) ++ die(_("dhcp-hostsdir not supported on this platform"), NULL, EC_BADCONF); + #endif + + if (option_bool(OPT_DNSSEC_VALID)) +@@ -316,13 +319,16 @@ int main (int argc, char **argv) + #ifdef HAVE_DNSSEC + blockdata_init(); + #endif ++ } + + #ifdef HAVE_LINUX_NETWORK +- if (!option_bool(OPT_NO_POLL)) +- inotify_dnsmasq_init(); ++ if ((!option_bool(OPT_NO_POLL) && daemon->port != 0) || ++ daemon->dhcp || daemon->doing_dhcp6) ++ inotify_dnsmasq_init(); ++ else ++ daemon->inotifyfd = -1; + #endif +- } +- ++ + if (option_bool(OPT_DBUS)) + #ifdef HAVE_DBUS + { +@@ -745,7 +751,7 @@ int main (int argc, char **argv) + #endif + + #ifdef HAVE_TFTP +- if (option_bool(OPT_TFTP)) ++ if (option_bool(OPT_TFTP)) + { + #ifdef FD_SETSIZE + if (FD_SETSIZE < (unsigned)max_fd) +@@ -870,7 +876,7 @@ int main (int argc, char **argv) + #if defined(HAVE_LINUX_NETWORK) + FD_SET(daemon->netlinkfd, &rset); + bump_maxfd(daemon->netlinkfd, &maxfd); +- if (daemon->port != 0 && !option_bool(OPT_NO_POLL)) ++ if (daemon->inotifyfd != -1) + { + FD_SET(daemon->inotifyfd, &rset); + bump_maxfd(daemon->inotifyfd, &maxfd); +@@ -943,8 +949,11 @@ int main (int argc, char **argv) + #endif + + #ifdef HAVE_LINUX_NETWORK +- if (daemon->port != 0 && !option_bool(OPT_NO_POLL) && FD_ISSET(daemon->inotifyfd, &rset) && inotify_check()) +- poll_resolv(1, 1, now); ++ if (daemon->inotifyfd != -1 && FD_ISSET(daemon->inotifyfd, &rset) && inotify_check(now)) ++ { ++ if (daemon->port != 0 && !option_bool(OPT_NO_POLL)) ++ poll_resolv(1, 1, now); ++ } + #else + /* Check for changes to resolv files once per second max. */ + /* Don't go silent for long periods if the clock goes backwards. */ +@@ -1385,6 +1394,9 @@ void clear_cache_and_reload(time_t now) + if (option_bool(OPT_ETHERS)) + dhcp_read_ethers(); + reread_dhcp(); ++#ifdef HAVE_LINUX_NETWORK ++ set_dhcp_inotify(); ++#endif + dhcp_update_configs(daemon->dhcp_conf); + lease_update_from_configs(); + lease_update_file(now); +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index f8275e3ac479..d841fdc064ad 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -550,13 +550,17 @@ struct resolvc { + #endif + }; + +-/* adn-hosts parms from command-line (also dhcp-hostsfile and dhcp-optsfile */ ++/* adn-hosts parms from command-line (also dhcp-hostsfile and dhcp-optsfile and dhcp-hostsdir*/ + #define AH_DIR 1 + #define AH_INACTIVE 2 ++#define AH_WD_DONE 4 + struct hostsfile { + struct hostsfile *next; + int flags; + char *fname; ++#ifdef HAVE_LINUX_NETWORK ++ int wd; /* inotify watch descriptor */ ++#endif + unsigned int index; /* matches to cache entries for logging */ + }; + +@@ -961,7 +965,7 @@ extern struct daemon { + int doing_ra, doing_dhcp6; + struct dhcp_netid_list *dhcp_ignore, *dhcp_ignore_names, *dhcp_gen_names; + struct dhcp_netid_list *force_broadcast, *bootp_dynamic; +- struct hostsfile *dhcp_hosts_file, *dhcp_opts_file; ++ struct hostsfile *dhcp_hosts_file, *dhcp_opts_file, *inotify_hosts; + int dhcp_max, tftp_max; + int dhcp_server_port, dhcp_client_port; + int start_tftp_port, end_tftp_port; +@@ -1197,7 +1201,7 @@ void reset_option_bool(unsigned int opt); + struct hostsfile *expand_filelist(struct hostsfile *list); + char *parse_server(char *arg, union mysockaddr *addr, + union mysockaddr *source_addr, char *interface, int *flags); +- ++int option_read_hostsfile(char *file); + /* forward.c */ + void reply_query(int fd, int family, time_t now); + void receive_query(struct listener *listen, time_t now); +@@ -1486,5 +1490,8 @@ int detect_loop(char *query, int type); + /* inotify.c */ + #ifdef HAVE_LINUX_NETWORK + void inotify_dnsmasq_init(); +-int inotify_check(void); ++int inotify_check(time_t now); ++# ifdef HAVE_DHCP ++void set_dhcp_inotify(void); ++# endif + #endif +diff --git a/src/inotify.c b/src/inotify.c +index 83730008c11b..52a30d7f44db 100644 +--- a/src/inotify.c ++++ b/src/inotify.c +@@ -19,6 +19,11 @@ + + #include <sys/inotify.h> + ++#ifdef HAVE_DHCP ++static void check_for_dhcp_inotify(struct inotify_event *in, time_t now); ++#endif ++ ++ + /* the strategy is to set a inotify on the directories containing + resolv files, for any files in the directory which are close-write + or moved into the directory. +@@ -40,8 +45,6 @@ void inotify_dnsmasq_init() + struct resolvc *res; + + inotify_buffer = safe_malloc(INOTIFY_SZ); +- +- + daemon->inotifyfd = inotify_init1(IN_NONBLOCK | IN_CLOEXEC); + + if (daemon->inotifyfd == -1) +@@ -66,6 +69,7 @@ void inotify_dnsmasq_init() + { + *d = 0; /* make path just directory */ + res->wd = inotify_add_watch(daemon->inotifyfd, path, IN_CLOSE_WRITE | IN_MOVED_TO); ++ + res->file = d+1; /* pointer to filename */ + *d = '/'; + +@@ -78,7 +82,7 @@ void inotify_dnsmasq_init() + } + } + +-int inotify_check(void) ++int inotify_check(time_t now) + { + int hit = 0; + +@@ -101,13 +105,116 @@ int inotify_check(void) + for (res = daemon->resolv_files; res; res = res->next) + if (res->wd == in->wd && in->len != 0 && strcmp(res->file, in->name) == 0) + hit = 1; ++ ++#ifdef HAVE_DHCP ++ if (daemon->dhcp || daemon->doing_dhcp6) ++ check_for_dhcp_inotify(in, now); ++#endif + } + } +- + return hit; + } + +-#endif ++#ifdef HAVE_DHCP ++/* initialisation for dhcp-hostdir. Set inotify watch for each directory, and read pre-existing files */ ++void set_dhcp_inotify(void) ++{ ++ struct hostsfile *ah; + +- ++ for (ah = daemon->inotify_hosts; ah; ah = ah->next) ++ { ++ DIR *dir_stream = NULL; ++ struct dirent *ent; ++ struct stat buf; ++ ++ if (stat(ah->fname, &buf) == -1 || !(S_ISDIR(buf.st_mode))) ++ { ++ my_syslog(LOG_ERR, _("bad directory in dhcp-hostsdir %s"), ah->fname); ++ continue; ++ } ++ ++ if (!(ah->flags & AH_WD_DONE)) ++ { ++ ah->wd = inotify_add_watch(daemon->inotifyfd, ah->fname, IN_CLOSE_WRITE | IN_MOVED_TO); ++ ah->flags |= AH_WD_DONE; ++ } ++ /* Read contents of dir _after_ calling add_watch, in the ho[e of avoiding ++ a race which misses files being added as we start */ ++ if (ah->wd == -1 || !(dir_stream = opendir(ah->fname))) ++ { ++ my_syslog(LOG_ERR, _("failed to create inotify for %s"), ah->fname); ++ continue; ++ } ++ ++ while ((ent = readdir(dir_stream))) ++ { ++ size_t lendir = strlen(ah->fname); ++ size_t lenfile = strlen(ent->d_name); ++ char *path; ++ ++ /* ignore emacs backups and dotfiles */ ++ if (lenfile == 0 || ++ ent->d_name[lenfile - 1] == '~' || ++ (ent->d_name[0] == '#' && ent->d_name[lenfile - 1] == '#') || ++ ent->d_name[0] == '.') ++ continue; ++ ++ if ((path = whine_malloc(lendir + lenfile + 2))) ++ { ++ strcpy(path, ah->fname); ++ strcat(path, "/"); ++ strcat(path, ent->d_name); ++ ++ /* ignore non-regular files */ ++ if (stat(path, &buf) != -1 && S_ISREG(buf.st_mode)) ++ option_read_hostsfile(path); ++ ++ free(path); ++ } ++ } ++ } ++} ++ ++static void check_for_dhcp_inotify(struct inotify_event *in, time_t now) ++{ ++ struct hostsfile *ah; ++ ++ /* ignore emacs backups and dotfiles */ ++ if (in->len == 0 || ++ in->name[in->len - 1] == '~' || ++ (in->name[0] == '#' && in->name[in->len - 1] == '#') || ++ in->name[0] == '.') ++ return; ++ ++ for (ah = daemon->inotify_hosts; ah; ah = ah->next) ++ if (ah->wd == in->wd) ++ { ++ size_t lendir = strlen(ah->fname); ++ char *path; ++ ++ if ((path = whine_malloc(lendir + in->len + 2))) ++ { ++ strcpy(path, ah->fname); ++ strcat(path, "/"); ++ strcat(path, in->name); ++ ++ if (option_read_hostsfile(path)) ++ { ++ /* Propogate the consequences of loading a new dhcp-host */ ++ dhcp_update_configs(daemon->dhcp_conf); ++ lease_update_from_configs(); ++ lease_update_file(now); ++ lease_update_dns(1); ++ } ++ ++ free(path); ++ } ++ ++ return; ++ } ++} ++ ++#endif /* DHCP */ ++ ++#endif /* LINUX_NETWORK */ + +diff --git a/src/option.c b/src/option.c +index 8b994098cc9f..22e11c37d374 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -149,7 +149,7 @@ struct myoption { + #define LOPT_LOOP_DETECT 337 + #define LOPT_IGNORE_ADDR 338 + #define LOPT_MINCTTL 339 +- ++#define LOPT_DHCP_INOTIFY 340 + + #ifdef HAVE_GETOPT_LONG + static const struct option opts[] = +@@ -248,6 +248,7 @@ static const struct myoption opts[] = + { "interface-name", 1, 0, LOPT_INTNAME }, + { "dhcp-hostsfile", 1, 0, LOPT_DHCP_HOST }, + { "dhcp-optsfile", 1, 0, LOPT_DHCP_OPTS }, ++ { "dhcp-hostsdir", 1, 0, LOPT_DHCP_INOTIFY }, + { "dhcp-no-override", 0, 0, LOPT_OVERRIDE }, + { "tftp-port-range", 1, 0, LOPT_TFTPPORTS }, + { "stop-dns-rebind", 0, 0, LOPT_REBIND }, +@@ -336,6 +337,7 @@ static struct { + { 'G', ARG_DUP, "<hostspec>", gettext_noop("Set address or hostname for a specified machine."), NULL }, + { LOPT_DHCP_HOST, ARG_DUP, "<path>", gettext_noop("Read DHCP host specs from file."), NULL }, + { LOPT_DHCP_OPTS, ARG_DUP, "<path>", gettext_noop("Read DHCP option specs from file."), NULL }, ++ { LOPT_DHCP_INOTIFY, ARG_DUP, "<path>", gettext_noop("Read DHCP host specs from a directory."), NULL }, + { LOPT_TAG_IF, ARG_DUP, "tag-expression", gettext_noop("Evaluate conditional tag expression."), NULL }, + { 'h', OPT_NO_HOSTS, NULL, gettext_noop("Do NOT load %s file."), HOSTSFILE }, + { 'H', ARG_DUP, "<path>", gettext_noop("Specify a hosts file to be read in addition to %s."), HOSTSFILE }, +@@ -1710,8 +1712,9 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + break; + #endif /* HAVE_DHCP */ + +- case LOPT_DHCP_HOST: /* --dhcp-hostfile */ ++ case LOPT_DHCP_HOST: /* --dhcp-hostsfile */ + case LOPT_DHCP_OPTS: /* --dhcp-optsfile */ ++ case LOPT_DHCP_INOTIFY: /* dhcp-hostsdir */ + case 'H': /* --addn-hosts */ + { + struct hostsfile *new = opt_malloc(sizeof(struct hostsfile)); +@@ -1734,6 +1737,12 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + new->next = daemon->dhcp_opts_file; + daemon->dhcp_opts_file = new; + } ++ else if (option == LOPT_DHCP_INOTIFY) ++ { ++ new->next = daemon->inotify_hosts; ++ daemon->inotify_hosts = new; ++ } ++ + break; + } + +@@ -4042,6 +4051,13 @@ static void read_file(char *file, FILE *f, int hard_opt) + fclose(f); + } + ++#ifdef HAVE_DHCP ++int option_read_hostsfile(char *file) ++{ ++ return one_file(file, LOPT_BANK); ++} ++#endif ++ + static int one_file(char *file, int hard_opt) + { + FILE *f; +@@ -4139,7 +4155,7 @@ struct hostsfile *expand_filelist(struct hostsfile *list) + + /* don't read this as a file */ + ah->flags |= AH_INACTIVE; +- ++ + if (!(dir_stream = opendir(ah->fname))) + my_syslog(LOG_ERR, _("cannot access directory %s: %s"), + ah->fname, strerror(errno)); +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0035-Update-German-translation.patch b/src/patches/dnsmasq/0035-Update-German-translation.patch new file mode 100644 index 0000000..af45a1c --- /dev/null +++ b/src/patches/dnsmasq/0035-Update-German-translation.patch @@ -0,0 +1,327 @@ +From fbf01f7046e75f9aa73fd4aab2a94e43386d9052 Mon Sep 17 00:00:00 2001 +From: Conrad Kostecki ck@conrad-kostecki.de +Date: Tue, 20 Jan 2015 21:07:56 +0000 +Subject: [PATCH 35/55] Update German translation. + +--- + po/de.po | 101 +++++++++++++++++++++++++++++---------------------------------- + 1 file changed, 47 insertions(+), 54 deletions(-) + +diff --git a/po/de.po b/po/de.po +index e2317376d8a9..4c93c5b28ef2 100644 +--- a/po/de.po ++++ b/po/de.po +@@ -9,10 +9,10 @@ + # Simon Kelley simon@thekelleys.org.uk, 2005. + msgid "" + msgstr "" +-"Project-Id-Version: dnsmasq 2.70\n" ++"Project-Id-Version: dnsmasq 2.73\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2009-06-18 12:24+0100\n" +-"PO-Revision-Date: 2014-05-01 22:51+0100\n" ++"PO-Revision-Date: 2015-01-19 15:43+0100\n" + "Last-Translator: Conrad Kostecki ck@conrad-kostecki.de\n" + "Language-Team: German de@li.org\n" + "Language: de\n" +@@ -20,12 +20,12 @@ msgstr "" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" +-"X-Generator: Poedit 1.6.5\n" ++"X-Generator: Poedit 1.7.3\n" + "X-Poedit-SourceCharset: UTF-8\n" + + #: cache.c:505 + msgid "Internal error in cache." +-msgstr "" ++msgstr "Interner Fehler im Cache." + + #: cache.c:908 + #, c-format +@@ -126,7 +126,7 @@ msgstr "Lokale abzuhörende Adresse(n) angeben." + + #: option.c:319 + msgid "Return ipaddr for all hosts in specified domains." +-msgstr "IP-Adresse für alle Hosts in angebenen Domänen festlegen." ++msgstr "IP-Adresse für alle Hosts in angegebenen Domänen festlegen." + + # FIXME: the English test is not to the point. Just use a shortened description + # from the manpage instead. -- MA +@@ -310,18 +310,16 @@ msgid "Specify path to resolv.conf (defaults to %s)." + msgstr "Pfad zu resolv.conf festlegen (%s voreingestellt)." + + #: option.c:362 +-#, fuzzy + msgid "Specify path to file with server= options" +-msgstr "Dateipfad für Prozesskennung (PID) festlegen (Voreinstellung: %s)." ++msgstr " Dateipfad mit der Option server= angeben" + + #: option.c:363 + msgid "Specify address(es) of upstream servers with optional domains." + msgstr "Adresse(n) vorgelagerter Server festlegen, optional mit Domänen." + + #: option.c:364 +-#, fuzzy + msgid "Specify address of upstream servers for reverse address queries" +-msgstr "Adresse(n) vorgelagerter Server festlegen, optional mit Domänen." ++msgstr "Adresse(n) vorgelagerter Server festlegen, für reverse Adressanfragen" + + #: option.c:365 + msgid "Never forward queries to specified domains." +@@ -657,23 +655,23 @@ msgstr "Spezifiziere eine Domain und Adressbereich für synthetisierte Namen" + + #: option.c:446 + msgid "Activate DNSSEC validation" +-msgstr "" ++msgstr "Aktiviere DNSSEC-Validierung" + + #: option.c:447 + msgid "Specify trust anchor key digest." +-msgstr "" ++msgstr "Spezifiziere Vertrauensursprung (Trust Anchor) der Schlüssel-Prüfdaten (Key Digest)." + + #: option.c:448 + msgid "Disable upstream checking for DNSSEC debugging." +-msgstr "" ++msgstr "Deaktiviere die Überprüfung vorgelagerter Server für DNSSEC-Debugging" + + #: option.c:449 + msgid "Ensure answers without DNSSEC are in unsigned zones." +-msgstr "" ++msgstr "Stellt sicher, dass Antworten ohne DNSSEC sich in einer unsignierten Zone befinden." + + #: option.c:450 + msgid "Don't check DNSSEC signature timestamps until first cache-reload" +-msgstr "" ++msgstr "DNSSEC Signatur-Zeitstempel nicht prüfen, bis erstmalig der Cache neugeladen wird" + + #: option.c:452 + msgid "Specify DHCPv6 prefix class" +@@ -697,11 +695,11 @@ msgstr "RA nicht protokollieren." + + #: option.c:458 + msgid "Accept queries only from directly-connected networks" +-msgstr "" ++msgstr "Akzeptiere nur Anfragen von direkt verbundenen Netzwerken" + + #: option.c:459 + msgid "Detect and remove DNS forwarding loops" +-msgstr "" ++msgstr "Erkennen und Entfernen von DNS-Weiterleitungsschleifen" + + #: option.c:661 + #, c-format +@@ -958,18 +956,16 @@ msgid "Bad name in host-record" + msgstr "Unzulässiger Name in host-record" + + #: option.c:3826 +-#, fuzzy + msgid "bad trust anchor" +-msgstr "unzulässiger Portbereich" ++msgstr "unzulässiger Vertrauensursprung (Trust Anchor)" + + #: option.c:3840 + msgid "bad HEX in trust anchor" +-msgstr "" ++msgstr "unzulässiger Hexwert in Vertrauensursprung (Trust Anchor)" + + #: option.c:3850 +-#, fuzzy + msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)" +-msgstr "unzulässige Option (prüfen Sie, ob dnsmasq mit DHCP/TFTP/DBus-Unterstützt übersetzt wurde)" ++msgstr "Nicht unterstützte Option (prüfen Sie, ob DNSMasq mit DHCP/TFTP/DNSSEC/DBus-Unterstützung übersetzt wurde)" + + #: option.c:3909 + msgid "missing "" +@@ -988,7 +984,6 @@ msgid "missing parameter" + msgstr "fehler Parameter" + + #: option.c:3972 +-#, fuzzy + msgid "illegal option" + msgstr "unzulässige Option" + +@@ -1110,7 +1105,7 @@ msgstr "möglichen DNS-Rebind-Angriff entdeckt: %s" + + #: forward.c:1132 forward.c:1663 + msgid "Ignoring query from non-local network" +-msgstr "" ++msgstr "Ignoriere Anfragen vom nicht lokalen Netzwerk" + + #: forward.c:2101 + #, c-format +@@ -1189,9 +1184,9 @@ msgid "using nameserver %s#%d for %s %s" + msgstr "Benutze Namensserver %s#%d für %s %s" + + #: network.c:1483 +-#, fuzzy, c-format ++#, c-format + msgid "NOT using nameserver %s#%d - query loop detected" +-msgstr "Benutze Namensserver %s#%d für %s %s" ++msgstr "Benutze Namensserver %s#%d NICHT - Anfragenschleife festgetellt" + + #: network.c:1486 + #, c-format +@@ -1205,16 +1200,15 @@ msgstr "Benutze Namensserver %s#%d" + + #: dnsmasq.c:154 + msgid "No trust anchors provided for DNSSEC" +-msgstr "" ++msgstr "Keine Vertrauensursprünge (Trust Anchor) für DNSSEC verfügbar" + + #: dnsmasq.c:157 + msgid "Cannot reduce cache size from default when DNSSEC enabled" +-msgstr "" ++msgstr "Kann die Standard Cachegröße nicht verkleinern, wenn DNSSEC aktiviert ist" + + #: dnsmasq.c:159 +-#, fuzzy + msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h" +-msgstr "DBus nicht verfügbar: setzen Sie HAVE_DBUS in src/config.h" ++msgstr "DNSSEC nicht verfügbar: setzen Sie HAVE_DNSSEC in src/config.h" + + #: dnsmasq.c:165 + msgid "TFTP server not available: set HAVE_TFTP in src/config.h" +@@ -1241,9 +1235,8 @@ msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h" + msgstr "Authoritatives DNS nicht verfügbar: Es muss HAVE_AUTH in src/config.h gesetzt sein" + + #: dnsmasq.c:193 +-#, fuzzy + msgid "Loop detection not available: set HAVE_LOOP in src/config.h" +-msgstr "TFTP-Server nicht verfügbar, setzen Sie HAVE_TFTP in src/config.h" ++msgstr "Loop-Erkennung nicht verfügbar, setzen Sie HAVE_LOOP in src/config.h" + + #: dnsmasq.c:201 + msgid "zone serial must be configured in --auth-soa" +@@ -1317,15 +1310,15 @@ msgstr "DBus-Unterstützung eingeschaltet: warte auf Systembus-Verbindung" + + #: dnsmasq.c:672 + msgid "DNS service limited to local subnets" +-msgstr "" ++msgstr "DNS-Dienst auf lokale Subnetze eingeschränkt" + + #: dnsmasq.c:677 + msgid "DNSSEC validation enabled" +-msgstr "" ++msgstr "DNSSEC-Validierung aktiviert" + + #: dnsmasq.c:679 + msgid "DNSSEC signature timestamps not checked until first cache reload" +-msgstr "" ++msgstr "DNSSEC Signatur-Zeitstempel werden erst ab dem ersten Neuladen des Caches überprüft" + + #: dnsmasq.c:684 + #, c-format +@@ -1366,7 +1359,7 @@ msgstr "DHCP, Sockets exklusiv an das Interface %s gebunden" + # FIXME: this and the next few must be full strings to be translatable - do not assemble in code" + #: dnsmasq.c:753 + msgid "root is " +-msgstr "Wurzel ist" ++msgstr "Wurzel ist " + + #: dnsmasq.c:753 + msgid "enabled" +@@ -1432,7 +1425,7 @@ msgstr "Das TFTP-Verzeichnis %s ist nicht zugreifbar: %s" + + #: dnsmasq.c:1151 + msgid "now checking DNSSEC signature timestamps" +-msgstr "" ++msgstr "Prüfe jetzt DNSSEC Signatur-Zeitstempel" + + #: dnsmasq.c:1218 + #, c-format +@@ -1506,7 +1499,7 @@ msgstr "DHCP-Paket ohne Adresse an Schnittstelle %s empfangen" + #: dhcp.c:408 + #, c-format + msgid "ARP-cache injection failed: %s" +-msgstr "" ++msgstr "APR-Cache Injektion fehlgeschlagen: %s" + + #: dhcp.c:506 + #, c-format +@@ -1763,13 +1756,13 @@ msgid "DHCP request for unsupported hardware type (%d) received on %s" + msgstr "DHCP-Anfrage für nicht unterstützen Hardwaretyp (%d) auf %s empfangen" + + #: bpf.c:376 +-#, fuzzy, c-format ++#, c-format + msgid "cannot create PF_ROUTE socket: %s" +-msgstr "kann DHCP-Socket nicht erzeugen: %s" ++msgstr "Kann PF_ROUTE socket nicht erzeugen: %s" + + #: bpf.c:397 + msgid "Unknown protocol version from route socket" +-msgstr "" ++msgstr "Unbekannte Protokollversion vom Route Socket" + + #: helper.c:153 + msgid "lease() function missing in Lua script" +@@ -2020,50 +2013,50 @@ msgstr "konnte IPset-Kontroll-Socket nicht erzeugen: %s" + #: blockdata.c:58 + #, c-format + msgid "DNSSEC memory in use %u, max %u, allocated %u" +-msgstr "" ++msgstr "DNSSEC Speicher in Benutzung %u, Max %u, zugewiesen %u" + + #: tables.c:76 + msgid "error: fill_addr missused" +-msgstr "" ++msgstr "Fehler: fill_addr falsch verwendet" + + #: tables.c:105 +-#, fuzzy, c-format ++#, c-format + msgid "failed to access pf devices: %s" +-msgstr "konnte auf %s nicht zugreifen: %s" ++msgstr "konnte auf pf Geräte nicht zugreifen: %s" + + #: tables.c:119 +-#, fuzzy, c-format ++#, c-format + msgid "warning: no opened pf devices %s" +-msgstr "Warnung: Keine Adresse für die Schnittstelle %s gefunden" ++msgstr "Warnung: Keine geöffneten pf Geräte %s" + + #: tables.c:127 +-#, fuzzy, c-format ++#, c-format + msgid "error: cannot use table name %s" +-msgstr "kann Hostnamen nicht ermitteln: %s" ++msgstr "Fehler: Kann Tabellenname %s nicht benutzen" + + #: tables.c:135 + #, c-format + msgid "error: cannot strlcpy table name %s" +-msgstr "" ++msgstr "Fehler: Kann den Tabellennamen %s nicht strlcpy" + + #: tables.c:141 + #, c-format + msgid "warning: pfr_add_tables: %s(%d)" +-msgstr "" ++msgstr "Warnung: pfr_add_tables: %s(%d)" + + #: tables.c:147 + msgid "info: table created" +-msgstr "" ++msgstr "Info: Tabelle erstellt" + + #: tables.c:158 + #, c-format + msgid "warning: DIOCR%sADDRS: %s" +-msgstr "" ++msgstr "Warnung: DIOCR%sADDRS: %s" + + #: tables.c:162 +-#, fuzzy, c-format ++#, c-format + msgid "%d addresses %s" +-msgstr "Fehlerhafte Adresse" ++msgstr "%d Adressen %s" + + #~ msgid "no interface with address %s" + #~ msgstr "keine Schnittstelle mit Adresse %s" +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch b/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch new file mode 100644 index 0000000..25007de --- /dev/null +++ b/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch @@ -0,0 +1,53 @@ +From 61b838dd574c51d96fef100285a0d225824534f9 Mon Sep 17 00:00:00 2001 +From: Win King Wan pinwing+dnsmasq@gmail.com +Date: Wed, 21 Jan 2015 20:41:48 +0000 +Subject: [PATCH 36/55] Don't reply to DHCPv6 SOLICIT messages when not + configured for statefull DHCPv6. + +--- + CHANGELOG | 4 ++++ + src/rfc3315.c | 13 +++++++++++++ + 2 files changed, 17 insertions(+) + +diff --git a/CHANGELOG b/CHANGELOG +index 0076b557e95e..a4cb901e83ae 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -59,6 +59,10 @@ version 2.73 + cheaply than having dnsmasq re-read all its existing + configuration each time. + ++ Don't reply to DHCPv6 SOLICIT messages if we're not ++ configured to do stateful DHCPv6. Thanks to Win King Wan ++ for the patch. ++ + + version 2.72 + Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. +diff --git a/src/rfc3315.c b/src/rfc3315.c +index ddb390bf1136..e593ec9c362c 100644 +--- a/src/rfc3315.c ++++ b/src/rfc3315.c +@@ -824,6 +824,19 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ + } + else + { ++ /* Windows 8 always requests an address even if the Managed bit ++ in RA is 0 and it keeps retrying if it receives a reply ++ stating that no addresses are available. We solve this ++ by not replying at all if we're not configured to give any ++ addresses by DHCPv6. RFC 3315 17.2.1. appears to allow this. */ ++ ++ for (c = state->context; c; c = c->current) ++ if (!(c->flags & CONTEXT_RA_STATELESS)) ++ break; ++ ++ if (!c) ++ return 0; ++ + /* no address, return error */ + o1 = new_opt6(OPTION6_STATUS_CODE); + put_opt6_short(DHCP6NOADDRS); +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch b/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch new file mode 100644 index 0000000..7318688 --- /dev/null +++ b/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch @@ -0,0 +1,213 @@ +From 0491805d2ff6e7727f0272c94fd97d9897d1e22c Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Mon, 26 Jan 2015 11:23:43 +0000 +Subject: [PATCH 37/55] Allow inotify to be disabled at compile time on Linux. + +--- + CHANGELOG | 4 +++- + src/config.h | 13 ++++++++++++- + src/dnsmasq.c | 21 +++++++++++++-------- + src/dnsmasq.h | 11 +++++++---- + src/inotify.c | 4 ++-- + 5 files changed, 37 insertions(+), 16 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index a4cb901e83ae..c05dec63c587 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -9,7 +9,9 @@ version 2.73 + + Use inotify for checking on updates to /etc/resolv.conf and + friends under Linux. This fixes race conditions when the files are +- updated rapidly and saves CPU by noy polling. ++ updated rapidly and saves CPU by noy polling. To build ++ a binary that runs on old Linux kernels without inotify, ++ use make COPTS=-DNO_INOTIFY + + Fix breakage of --domain=<domain>,<subnet>,local - only reverse + queries were intercepted. THis appears to have been broken +diff --git a/src/config.h b/src/config.h +index cdca231b4079..5e5009271eba 100644 +--- a/src/config.h ++++ b/src/config.h +@@ -115,6 +115,8 @@ HAVE_DNSSEC + HAVE_LOOP + include functionality to probe for and remove DNS forwarding loops. + ++HAVE_INOTIFY ++ use the Linux inotify facility to efficiently re-read configuration files. + + NO_IPV6 + NO_TFTP +@@ -123,6 +125,7 @@ NO_DHCP6 + NO_SCRIPT + NO_LARGEFILE + NO_AUTH ++NO_INOTIFY + these are avilable to explictly disable compile time options which would + otherwise be enabled automatically (HAVE_IPV6, >2Gb file sizes) or + which are enabled by default in the distributed source tree. Building dnsmasq +@@ -355,6 +358,10 @@ HAVE_SOCKADDR_SA_LEN + #undef HAVE_LOOP + #endif + ++#if defined (HAVE_LINUX_NETWORK) && !defined(NO_INOTIFY) ++#define HAVE_INOTIFY ++#endif ++ + /* Define a string indicating which options are in use. + DNSMASQP_COMPILE_OPTS is only defined in dnsmasq.c */ + +@@ -428,7 +435,11 @@ static char *compile_opts = + #ifndef HAVE_LOOP + "no-" + #endif +-"loop-detect"; ++"loop-detect " ++#ifndef HAVE_INOTIFY ++"no-" ++#endif ++"inotify"; + + + #endif +diff --git a/src/dnsmasq.c b/src/dnsmasq.c +index 04cc98278f62..bc4f47170705 100644 +--- a/src/dnsmasq.c ++++ b/src/dnsmasq.c +@@ -142,7 +142,9 @@ int main (int argc, char **argv) + set_option_bool(OPT_NOWILD); + reset_option_bool(OPT_CLEVERBIND); + } ++#endif + ++#ifndef HAVE_INOTIFY + if (daemon->inotify_hosts) + die(_("dhcp-hostsdir not supported on this platform"), NULL, EC_BADCONF); + #endif +@@ -321,7 +323,7 @@ int main (int argc, char **argv) + #endif + } + +-#ifdef HAVE_LINUX_NETWORK ++#ifdef HAVE_INOTIFY + if ((!option_bool(OPT_NO_POLL) && daemon->port != 0) || + daemon->dhcp || daemon->doing_dhcp6) + inotify_dnsmasq_init(); +@@ -802,7 +804,7 @@ int main (int argc, char **argv) + + pid = getpid(); + +-#ifdef HAVE_LINUX_NETWORK ++#ifdef HAVE_INOTIFY + /* Using inotify, have to select a resolv file at startup */ + poll_resolv(1, 0, now); + #endif +@@ -872,15 +874,18 @@ int main (int argc, char **argv) + bump_maxfd(daemon->icmp6fd, &maxfd); + } + #endif +- +-#if defined(HAVE_LINUX_NETWORK) +- FD_SET(daemon->netlinkfd, &rset); +- bump_maxfd(daemon->netlinkfd, &maxfd); ++ ++#ifdef HAVE_INOTIFY + if (daemon->inotifyfd != -1) + { + FD_SET(daemon->inotifyfd, &rset); + bump_maxfd(daemon->inotifyfd, &maxfd); + } ++#endif ++ ++#if defined(HAVE_LINUX_NETWORK) ++ FD_SET(daemon->netlinkfd, &rset); ++ bump_maxfd(daemon->netlinkfd, &maxfd); + #elif defined(HAVE_BSD_NETWORK) + FD_SET(daemon->routefd, &rset); + bump_maxfd(daemon->routefd, &maxfd); +@@ -948,7 +953,7 @@ int main (int argc, char **argv) + route_sock(); + #endif + +-#ifdef HAVE_LINUX_NETWORK ++#ifdef HAVE_INOTIFY + if (daemon->inotifyfd != -1 && FD_ISSET(daemon->inotifyfd, &rset) && inotify_check(now)) + { + if (daemon->port != 0 && !option_bool(OPT_NO_POLL)) +@@ -1394,7 +1399,7 @@ void clear_cache_and_reload(time_t now) + if (option_bool(OPT_ETHERS)) + dhcp_read_ethers(); + reread_dhcp(); +-#ifdef HAVE_LINUX_NETWORK ++#ifdef HAVE_INOTIFY + set_dhcp_inotify(); + #endif + dhcp_update_configs(daemon->dhcp_conf); +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index d841fdc064ad..8091634f69db 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -544,7 +544,7 @@ struct resolvc { + int is_default, logged; + time_t mtime; + char *name; +-#ifdef HAVE_LINUX_NETWORK ++#ifdef HAVE_INOTIFY + int wd; /* inotify watch descriptor */ + char *file; /* pointer to file part if path */ + #endif +@@ -558,7 +558,7 @@ struct hostsfile { + struct hostsfile *next; + int flags; + char *fname; +-#ifdef HAVE_LINUX_NETWORK ++#ifdef HAVE_INOTIFY + int wd; /* inotify watch descriptor */ + #endif + unsigned int index; /* matches to cache entries for logging */ +@@ -1013,8 +1013,11 @@ extern struct daemon { + + /* DHCP state */ + int dhcpfd, helperfd, pxefd; ++#ifdef HAVE_INOTIFY ++ int inotifyfd; ++#endif + #if defined(HAVE_LINUX_NETWORK) +- int netlinkfd, inotifyfd; ++ int netlinkfd; + #elif defined(HAVE_BSD_NETWORK) + int dhcp_raw_fd, dhcp_icmp_fd, routefd; + #endif +@@ -1488,7 +1491,7 @@ int detect_loop(char *query, int type); + #endif + + /* inotify.c */ +-#ifdef HAVE_LINUX_NETWORK ++#ifdef HAVE_INOTIFY + void inotify_dnsmasq_init(); + int inotify_check(time_t now); + # ifdef HAVE_DHCP +diff --git a/src/inotify.c b/src/inotify.c +index 52a30d7f44db..818fe8eddda4 100644 +--- a/src/inotify.c ++++ b/src/inotify.c +@@ -15,7 +15,7 @@ + */ + + #include "dnsmasq.h" +-#ifdef HAVE_LINUX_NETWORK ++#ifdef HAVE_INOTIFY + + #include <sys/inotify.h> + +@@ -216,5 +216,5 @@ static void check_for_dhcp_inotify(struct inotify_event *in, time_t now) + + #endif /* DHCP */ + +-#endif /* LINUX_NETWORK */ ++#endif /* INOTIFY */ + +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch b/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch new file mode 100644 index 0000000..7514034 --- /dev/null +++ b/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch @@ -0,0 +1,562 @@ +From 70d1873dd9e70041ed4bb88c69d5b886b7cc634c Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sat, 31 Jan 2015 19:59:29 +0000 +Subject: [PATCH 38/55] Expand inotify code to dhcp-hostsdir, dhcp-optsdir and + hostsdir. + +--- + src/cache.c | 81 +++++++++++++++++--------- + src/dnsmasq.c | 9 ++- + src/dnsmasq.h | 14 +++-- + src/inotify.c | 179 +++++++++++++++++++++++++++++----------------------------- + src/option.c | 37 +++++++++--- + 5 files changed, 187 insertions(+), 133 deletions(-) + +diff --git a/src/cache.c b/src/cache.c +index 09b6dbf8087a..abaf25ec0f18 100644 +--- a/src/cache.c ++++ b/src/cache.c +@@ -835,27 +835,42 @@ static void add_hosts_entry(struct crec *cache, struct all_addr *addr, int addrl + Only insert each unique address once into this hashing structure. + + This complexity avoids O(n^2) divergent CPU use whilst reading +- large (10000 entry) hosts files. */ +- +- /* hash address */ +- for (j = 0, i = 0; i < addrlen; i++) +- j = (j*2 +((unsigned char *)addr)[i]) % hashsz; +- +- for (lookup = rhash[j]; lookup; lookup = lookup->next) +- if ((lookup->flags & cache->flags & (F_IPV4 | F_IPV6)) && +- memcmp(&lookup->addr.addr, addr, addrlen) == 0) +- { +- cache->flags &= ~F_REVERSE; +- break; +- } ++ large (10000 entry) hosts files. ++ ++ Note that we only do this process when bulk-reading hosts files, ++ for incremental reads, rhash is NULL, and we use cache lookups ++ instead. ++ */ + +- /* maintain address hash chain, insert new unique address */ +- if (!lookup) ++ if (rhash) + { +- cache->next = rhash[j]; +- rhash[j] = cache; ++ /* hash address */ ++ for (j = 0, i = 0; i < addrlen; i++) ++ j = (j*2 +((unsigned char *)addr)[i]) % hashsz; ++ ++ for (lookup = rhash[j]; lookup; lookup = lookup->next) ++ if ((lookup->flags & cache->flags & (F_IPV4 | F_IPV6)) && ++ memcmp(&lookup->addr.addr, addr, addrlen) == 0) ++ { ++ cache->flags &= ~F_REVERSE; ++ break; ++ } ++ ++ /* maintain address hash chain, insert new unique address */ ++ if (!lookup) ++ { ++ cache->next = rhash[j]; ++ rhash[j] = cache; ++ } + } +- ++ else ++ { ++ /* incremental read, lookup in cache */ ++ lookup = cache_find_by_addr(NULL, addr, 0, cache->flags & (F_IPV4 | F_IPV6)); ++ if (lookup && lookup->flags & F_HOSTS) ++ cache->flags &= ~F_REVERSE; ++ } ++ + cache->uid = index; + memcpy(&cache->addr.addr, addr, addrlen); + cache_hash(cache); +@@ -912,7 +927,7 @@ static int gettok(FILE *f, char *token) + } + } + +-static int read_hostsfile(char *filename, unsigned int index, int cache_size, struct crec **rhash, int hashsz) ++int read_hostsfile(char *filename, unsigned int index, int cache_size, struct crec **rhash, int hashsz) + { + FILE *f = fopen(filename, "r"); + char *token = daemon->namebuff, *domain_suffix = NULL; +@@ -958,7 +973,7 @@ static int read_hostsfile(char *filename, unsigned int index, int cache_size, st + addr_count++; + + /* rehash every 1000 names. */ +- if ((name_count - cache_size) > 1000) ++ if (rhash && ((name_count - cache_size) > 1000)) + { + rehash(name_count); + cache_size = name_count; +@@ -1005,10 +1020,13 @@ static int read_hostsfile(char *filename, unsigned int index, int cache_size, st + } + + fclose(f); +- rehash(name_count); +- +- my_syslog(LOG_INFO, _("read %s - %d addresses"), filename, addr_count); + ++ if (rhash) ++ { ++ rehash(name_count); ++ my_syslog(LOG_INFO, _("read %s - %d addresses"), filename, addr_count); ++ } ++ + return name_count; + } + +@@ -1118,14 +1136,19 @@ void cache_reload(void) + my_syslog(LOG_INFO, _("cleared cache")); + return; + } +- ++ + if (!option_bool(OPT_NO_HOSTS)) + total_size = read_hostsfile(HOSTSFILE, SRC_HOSTS, total_size, (struct crec **)daemon->packet, revhashsz); +- ++ + daemon->addn_hosts = expand_filelist(daemon->addn_hosts); + for (ah = daemon->addn_hosts; ah; ah = ah->next) + if (!(ah->flags & AH_INACTIVE)) + total_size = read_hostsfile(ah->fname, ah->index, total_size, (struct crec **)daemon->packet, revhashsz); ++ ++#ifdef HAVE_INOTIFY ++ set_dynamic_inotify(AH_HOSTS, total_size, (struct crec **)daemon->packet, revhashsz); ++#endif ++ + } + + #ifdef HAVE_DHCP +@@ -1505,7 +1528,13 @@ char *record_source(unsigned int index) + for (ah = daemon->addn_hosts; ah; ah = ah->next) + if (ah->index == index) + return ah->fname; +- ++ ++#ifdef HAVE_INOTIFY ++ for (ah = daemon->dynamic_dirs; ah; ah = ah->next) ++ if (ah->index == index) ++ return ah->fname; ++#endif ++ + return "<unknown>"; + } + +diff --git a/src/dnsmasq.c b/src/dnsmasq.c +index bc4f47170705..2c629fe422aa 100644 +--- a/src/dnsmasq.c ++++ b/src/dnsmasq.c +@@ -145,8 +145,8 @@ int main (int argc, char **argv) + #endif + + #ifndef HAVE_INOTIFY +- if (daemon->inotify_hosts) +- die(_("dhcp-hostsdir not supported on this platform"), NULL, EC_BADCONF); ++ if (daemon->dynamic_dirs) ++ die(_("dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"), NULL, EC_BADCONF); + #endif + + if (option_bool(OPT_DNSSEC_VALID)) +@@ -324,8 +324,7 @@ int main (int argc, char **argv) + } + + #ifdef HAVE_INOTIFY +- if ((!option_bool(OPT_NO_POLL) && daemon->port != 0) || +- daemon->dhcp || daemon->doing_dhcp6) ++ if (daemon->port != 0 || daemon->dhcp || daemon->doing_dhcp6) + inotify_dnsmasq_init(); + else + daemon->inotifyfd = -1; +@@ -1400,7 +1399,7 @@ void clear_cache_and_reload(time_t now) + dhcp_read_ethers(); + reread_dhcp(); + #ifdef HAVE_INOTIFY +- set_dhcp_inotify(); ++ set_dynamic_inotify(AH_DHCP_HST | AH_DHCP_OPT, 0, NULL, 0); + #endif + dhcp_update_configs(daemon->dhcp_conf); + lease_update_from_configs(); +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index 8091634f69db..0c322a93993e 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -554,6 +554,9 @@ struct resolvc { + #define AH_DIR 1 + #define AH_INACTIVE 2 + #define AH_WD_DONE 4 ++#define AH_HOSTS 8 ++#define AH_DHCP_HST 16 ++#define AH_DHCP_OPT 32 + struct hostsfile { + struct hostsfile *next; + int flags; +@@ -965,7 +968,7 @@ extern struct daemon { + int doing_ra, doing_dhcp6; + struct dhcp_netid_list *dhcp_ignore, *dhcp_ignore_names, *dhcp_gen_names; + struct dhcp_netid_list *force_broadcast, *bootp_dynamic; +- struct hostsfile *dhcp_hosts_file, *dhcp_opts_file, *inotify_hosts; ++ struct hostsfile *dhcp_hosts_file, *dhcp_opts_file, *dynamic_dirs; + int dhcp_max, tftp_max; + int dhcp_server_port, dhcp_client_port; + int start_tftp_port, end_tftp_port; +@@ -1071,6 +1074,8 @@ int cache_make_stat(struct txt_record *t); + char *cache_get_name(struct crec *crecp); + char *cache_get_cname_target(struct crec *crecp); + struct crec *cache_enumerate(int init); ++int read_hostsfile(char *filename, unsigned int index, int cache_size, ++ struct crec **rhash, int hashsz); + + /* blockdata.c */ + #ifdef HAVE_DNSSEC +@@ -1204,7 +1209,8 @@ void reset_option_bool(unsigned int opt); + struct hostsfile *expand_filelist(struct hostsfile *list); + char *parse_server(char *arg, union mysockaddr *addr, + union mysockaddr *source_addr, char *interface, int *flags); +-int option_read_hostsfile(char *file); ++int option_read_dynfile(char *file, int flags); ++ + /* forward.c */ + void reply_query(int fd, int family, time_t now); + void receive_query(struct listener *listen, time_t now); +@@ -1494,7 +1500,5 @@ int detect_loop(char *query, int type); + #ifdef HAVE_INOTIFY + void inotify_dnsmasq_init(); + int inotify_check(time_t now); +-# ifdef HAVE_DHCP +-void set_dhcp_inotify(void); +-# endif ++void set_dynamic_inotify(int flag, int total_size, struct crec **rhash, int revhashsz); + #endif +diff --git a/src/inotify.c b/src/inotify.c +index 818fe8eddda4..c537f4c1562a 100644 +--- a/src/inotify.c ++++ b/src/inotify.c +@@ -19,11 +19,6 @@ + + #include <sys/inotify.h> + +-#ifdef HAVE_DHCP +-static void check_for_dhcp_inotify(struct inotify_event *in, time_t now); +-#endif +- +- + /* the strategy is to set a inotify on the directories containing + resolv files, for any files in the directory which are close-write + or moved into the directory. +@@ -82,57 +77,28 @@ void inotify_dnsmasq_init() + } + } + +-int inotify_check(time_t now) ++ ++/* initialisation for dynamic-dir. Set inotify watch for each directory, and read pre-existing files */ ++void set_dynamic_inotify(int flag, int total_size, struct crec **rhash, int revhashsz) + { +- int hit = 0; ++ struct hostsfile *ah; + +- while (1) ++ for (ah = daemon->dynamic_dirs; ah; ah = ah->next) + { +- int rc; +- char *p; +- struct resolvc *res; +- struct inotify_event *in; +- +- while ((rc = read(daemon->inotifyfd, inotify_buffer, INOTIFY_SZ)) == -1 && errno == EINTR); +- +- if (rc <= 0) +- break; +- +- for (p = inotify_buffer; rc - (p - inotify_buffer) >= (int)sizeof(struct inotify_event); p += sizeof(struct inotify_event) + in->len) ++ DIR *dir_stream = NULL; ++ struct dirent *ent; ++ struct stat buf; ++ ++ if (!(ah->flags & flag)) ++ continue; ++ ++ if (stat(ah->fname, &buf) == -1 || !(S_ISDIR(buf.st_mode))) + { +- in = (struct inotify_event*)p; +- +- for (res = daemon->resolv_files; res; res = res->next) +- if (res->wd == in->wd && in->len != 0 && strcmp(res->file, in->name) == 0) +- hit = 1; +- +-#ifdef HAVE_DHCP +- if (daemon->dhcp || daemon->doing_dhcp6) +- check_for_dhcp_inotify(in, now); +-#endif ++ my_syslog(LOG_ERR, _("bad dynamic directory %s: %s"), ++ ah->fname, strerror(errno)); ++ continue; + } +- } +- return hit; +-} +- +-#ifdef HAVE_DHCP +-/* initialisation for dhcp-hostdir. Set inotify watch for each directory, and read pre-existing files */ +-void set_dhcp_inotify(void) +-{ +- struct hostsfile *ah; +- +- for (ah = daemon->inotify_hosts; ah; ah = ah->next) +- { +- DIR *dir_stream = NULL; +- struct dirent *ent; +- struct stat buf; +- +- if (stat(ah->fname, &buf) == -1 || !(S_ISDIR(buf.st_mode))) +- { +- my_syslog(LOG_ERR, _("bad directory in dhcp-hostsdir %s"), ah->fname); +- continue; +- } +- ++ + if (!(ah->flags & AH_WD_DONE)) + { + ah->wd = inotify_add_watch(daemon->inotifyfd, ah->fname, IN_CLOSE_WRITE | IN_MOVED_TO); +@@ -142,7 +108,8 @@ void set_dhcp_inotify(void) + a race which misses files being added as we start */ + if (ah->wd == -1 || !(dir_stream = opendir(ah->fname))) + { +- my_syslog(LOG_ERR, _("failed to create inotify for %s"), ah->fname); ++ my_syslog(LOG_ERR, _("failed to create inotify for %s: %s"), ++ ah->fname, strerror(errno)); + continue; + } + +@@ -167,54 +134,90 @@ void set_dhcp_inotify(void) + + /* ignore non-regular files */ + if (stat(path, &buf) != -1 && S_ISREG(buf.st_mode)) +- option_read_hostsfile(path); +- ++ { ++ if (ah->flags & AH_HOSTS) ++ total_size = read_hostsfile(path, ah->index, total_size, rhash, revhashsz); ++#ifdef HAVE_DHCP ++ else if (ah->flags & (AH_DHCP_HST | AH_DHCP_OPT)) ++ option_read_dynfile(path, ah->flags); ++#endif ++ } ++ + free(path); + } + } + } + } + +-static void check_for_dhcp_inotify(struct inotify_event *in, time_t now) ++int inotify_check(time_t now) + { ++ int hit = 0; + struct hostsfile *ah; + +- /* ignore emacs backups and dotfiles */ +- if (in->len == 0 || +- in->name[in->len - 1] == '~' || +- (in->name[0] == '#' && in->name[in->len - 1] == '#') || +- in->name[0] == '.') +- return; +- +- for (ah = daemon->inotify_hosts; ah; ah = ah->next) +- if (ah->wd == in->wd) +- { +- size_t lendir = strlen(ah->fname); +- char *path; +- +- if ((path = whine_malloc(lendir + in->len + 2))) +- { +- strcpy(path, ah->fname); +- strcat(path, "/"); +- strcat(path, in->name); +- +- if (option_read_hostsfile(path)) ++ while (1) ++ { ++ int rc; ++ char *p; ++ struct resolvc *res; ++ struct inotify_event *in; ++ ++ while ((rc = read(daemon->inotifyfd, inotify_buffer, INOTIFY_SZ)) == -1 && errno == EINTR); ++ ++ if (rc <= 0) ++ break; ++ ++ for (p = inotify_buffer; rc - (p - inotify_buffer) >= (int)sizeof(struct inotify_event); p += sizeof(struct inotify_event) + in->len) ++ { ++ in = (struct inotify_event*)p; ++ ++ for (res = daemon->resolv_files; res; res = res->next) ++ if (res->wd == in->wd && in->len != 0 && strcmp(res->file, in->name) == 0) ++ hit = 1; ++ ++ /* ignore emacs backups and dotfiles */ ++ if (in->len == 0 || ++ in->name[in->len - 1] == '~' || ++ (in->name[0] == '#' && in->name[in->len - 1] == '#') || ++ in->name[0] == '.') ++ continue; ++ ++ for (ah = daemon->dynamic_dirs; ah; ah = ah->next) ++ if (ah->wd == in->wd) + { +- /* Propogate the consequences of loading a new dhcp-host */ +- dhcp_update_configs(daemon->dhcp_conf); +- lease_update_from_configs(); +- lease_update_file(now); +- lease_update_dns(1); ++ size_t lendir = strlen(ah->fname); ++ char *path; ++ ++ if ((path = whine_malloc(lendir + in->len + 2))) ++ { ++ strcpy(path, ah->fname); ++ strcat(path, "/"); ++ strcat(path, in->name); ++ ++ if (ah->flags & AH_HOSTS) ++ read_hostsfile(path, ah->index, 0, NULL, 0); ++#ifdef HAVE_DHCP ++ else if (ah->flags & AH_DHCP_HST) ++ { ++ if (option_read_dynfile(path, AH_DHCP_HST)) ++ { ++ /* Propogate the consequences of loading a new dhcp-host */ ++ dhcp_update_configs(daemon->dhcp_conf); ++ lease_update_from_configs(); ++ lease_update_file(now); ++ lease_update_dns(1); ++ } ++ } ++ else if (ah->flags & AH_DHCP_OPT) ++ option_read_dynfile(path, AH_DHCP_OPT); ++#endif ++ ++ free(path); ++ } + } +- +- free(path); +- } +- +- return; +- } ++ } ++ } ++ return hit; + } + +-#endif /* DHCP */ +- + #endif /* INOTIFY */ + +diff --git a/src/option.c b/src/option.c +index 22e11c37d374..6ef80117cc8c 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -150,6 +150,8 @@ struct myoption { + #define LOPT_IGNORE_ADDR 338 + #define LOPT_MINCTTL 339 + #define LOPT_DHCP_INOTIFY 340 ++#define LOPT_DHOPT_INOTIFY 341 ++#define LOPT_HOST_INOTIFY 342 + + #ifdef HAVE_GETOPT_LONG + static const struct option opts[] = +@@ -200,6 +202,7 @@ static const struct myoption opts[] = + { "local-ttl", 1, 0, 'T' }, + { "no-negcache", 0, 0, 'N' }, + { "addn-hosts", 1, 0, 'H' }, ++ { "hostsdir", 1, 0, LOPT_HOST_INOTIFY }, + { "query-port", 1, 0, 'Q' }, + { "except-interface", 1, 0, 'I' }, + { "no-dhcp-interface", 1, 0, '2' }, +@@ -249,6 +252,7 @@ static const struct myoption opts[] = + { "dhcp-hostsfile", 1, 0, LOPT_DHCP_HOST }, + { "dhcp-optsfile", 1, 0, LOPT_DHCP_OPTS }, + { "dhcp-hostsdir", 1, 0, LOPT_DHCP_INOTIFY }, ++ { "dhcp-optsdir", 1, 0, LOPT_DHOPT_INOTIFY }, + { "dhcp-no-override", 0, 0, LOPT_OVERRIDE }, + { "tftp-port-range", 1, 0, LOPT_TFTPPORTS }, + { "stop-dns-rebind", 0, 0, LOPT_REBIND }, +@@ -338,9 +342,11 @@ static struct { + { LOPT_DHCP_HOST, ARG_DUP, "<path>", gettext_noop("Read DHCP host specs from file."), NULL }, + { LOPT_DHCP_OPTS, ARG_DUP, "<path>", gettext_noop("Read DHCP option specs from file."), NULL }, + { LOPT_DHCP_INOTIFY, ARG_DUP, "<path>", gettext_noop("Read DHCP host specs from a directory."), NULL }, ++ { LOPT_DHOPT_INOTIFY, ARG_DUP, "<path>", gettext_noop("Read DHCP options from a directory."), NULL }, + { LOPT_TAG_IF, ARG_DUP, "tag-expression", gettext_noop("Evaluate conditional tag expression."), NULL }, + { 'h', OPT_NO_HOSTS, NULL, gettext_noop("Do NOT load %s file."), HOSTSFILE }, + { 'H', ARG_DUP, "<path>", gettext_noop("Specify a hosts file to be read in addition to %s."), HOSTSFILE }, ++ { LOPT_HOST_INOTIFY, ARG_DUP, "<path>", gettext_noop("Read hosts files from a directory."), NULL }, + { 'i', ARG_DUP, "<interface>", gettext_noop("Specify interface(s) to listen on."), NULL }, + { 'I', ARG_DUP, "<interface>", gettext_noop("Specify interface(s) NOT to listen on.") , NULL }, + { 'j', ARG_DUP, "set:<tag>,<class>", gettext_noop("Map DHCP user class to tag."), NULL }, +@@ -1712,10 +1718,12 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + break; + #endif /* HAVE_DHCP */ + +- case LOPT_DHCP_HOST: /* --dhcp-hostsfile */ +- case LOPT_DHCP_OPTS: /* --dhcp-optsfile */ +- case LOPT_DHCP_INOTIFY: /* dhcp-hostsdir */ +- case 'H': /* --addn-hosts */ ++ case LOPT_DHCP_HOST: /* --dhcp-hostsfile */ ++ case LOPT_DHCP_OPTS: /* --dhcp-optsfile */ ++ case LOPT_DHCP_INOTIFY: /* --dhcp-hostsdir */ ++ case LOPT_DHOPT_INOTIFY: /* --dhcp-optsdir */ ++ case LOPT_HOST_INOTIFY: /* --hostsdir */ ++ case 'H': /* --addn-hosts */ + { + struct hostsfile *new = opt_malloc(sizeof(struct hostsfile)); + static unsigned int hosts_index = SRC_AH; +@@ -1737,10 +1745,16 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + new->next = daemon->dhcp_opts_file; + daemon->dhcp_opts_file = new; + } +- else if (option == LOPT_DHCP_INOTIFY) ++ else + { +- new->next = daemon->inotify_hosts; +- daemon->inotify_hosts = new; ++ new->next = daemon->dynamic_dirs; ++ daemon->dynamic_dirs = new; ++ if (option == LOPT_DHCP_INOTIFY) ++ new->flags |= AH_DHCP_HST; ++ else if (option == LOPT_DHOPT_INOTIFY) ++ new->flags |= AH_DHCP_OPT; ++ else if (option == LOPT_HOST_INOTIFY) ++ new->flags |= AH_HOSTS; + } + + break; +@@ -4052,9 +4066,14 @@ static void read_file(char *file, FILE *f, int hard_opt) + } + + #ifdef HAVE_DHCP +-int option_read_hostsfile(char *file) ++int option_read_dynfile(char *file, int flags) + { +- return one_file(file, LOPT_BANK); ++ if (flags & AH_DHCP_HST) ++ return one_file(file, LOPT_BANK); ++ else if (flags & AH_DHCP_OPT) ++ return one_file(file, LOPT_OPTS); ++ ++ return 0; + } + #endif + +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch b/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch new file mode 100644 index 0000000..11bde00 --- /dev/null +++ b/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch @@ -0,0 +1,428 @@ +From aff3396280e944833f0e23d834aa6acd5fe2605a Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sat, 31 Jan 2015 20:13:40 +0000 +Subject: [PATCH 39/55] Update copyrights for dawn of 2015. + +--- + Makefile | 2 +- + src/auth.c | 2 +- + src/blockdata.c | 2 +- + src/bpf.c | 2 +- + src/cache.c | 2 +- + src/config.h | 2 +- + src/conntrack.c | 2 +- + src/dbus.c | 2 +- + src/dhcp-common.c | 2 +- + src/dhcp-protocol.h | 2 +- + src/dhcp.c | 2 +- + src/dhcp6-protocol.h | 2 +- + src/dhcp6.c | 2 +- + src/dns-protocol.h | 2 +- + src/dnsmasq.c | 2 +- + src/dnsmasq.h | 4 ++-- + src/dnssec.c | 2 +- + src/domain.c | 2 +- + src/forward.c | 2 +- + src/helper.c | 2 +- + src/inotify.c | 2 +- + src/ip6addr.h | 2 +- + src/lease.c | 2 +- + src/log.c | 2 +- + src/loop.c | 2 +- + src/netlink.c | 2 +- + src/network.c | 2 +- + src/option.c | 2 +- + src/outpacket.c | 2 +- + src/radv-protocol.h | 2 +- + src/radv.c | 2 +- + src/rfc1035.c | 2 +- + src/rfc2131.c | 2 +- + src/rfc3315.c | 2 +- + src/slaac.c | 2 +- + src/tftp.c | 2 +- + src/util.c | 2 +- + 37 files changed, 38 insertions(+), 38 deletions(-) + +diff --git a/Makefile b/Makefile +index bcbd5571671d..21e4a5c4101c 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,4 +1,4 @@ +-# dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++# dnsmasq is Copyright (c) 2000-2015 Simon Kelley + # + # 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 +diff --git a/src/auth.c b/src/auth.c +index 59e05d3da38e..15721e52793f 100644 +--- a/src/auth.c ++++ b/src/auth.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/blockdata.c b/src/blockdata.c +index 5a70a7967fa3..c8f5eae811eb 100644 +--- a/src/blockdata.c ++++ b/src/blockdata.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/bpf.c b/src/bpf.c +index 4416b1c07287..997d87421bed 100644 +--- a/src/bpf.c ++++ b/src/bpf.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/cache.c b/src/cache.c +index abaf25ec0f18..117ae279fd4e 100644 +--- a/src/cache.c ++++ b/src/cache.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/config.h b/src/config.h +index 5e5009271eba..8def6f200461 100644 +--- a/src/config.h ++++ b/src/config.h +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/conntrack.c b/src/conntrack.c +index 6a5133ab93af..0fa2da903b03 100644 +--- a/src/conntrack.c ++++ b/src/conntrack.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/dbus.c b/src/dbus.c +index a2a94dc85dac..5b69de518beb 100644 +--- a/src/dbus.c ++++ b/src/dbus.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/dhcp-common.c b/src/dhcp-common.c +index 9d13ac8df6f1..ce115202a646 100644 +--- a/src/dhcp-common.c ++++ b/src/dhcp-common.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/dhcp-protocol.h b/src/dhcp-protocol.h +index 4c0961472482..701b6cb3346e 100644 +--- a/src/dhcp-protocol.h ++++ b/src/dhcp-protocol.h +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/dhcp.c b/src/dhcp.c +index 7acf2c4311a9..f29be9b489a7 100644 +--- a/src/dhcp.c ++++ b/src/dhcp.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/dhcp6-protocol.h b/src/dhcp6-protocol.h +index 5927dc32f6af..928a2fa162ed 100644 +--- a/src/dhcp6-protocol.h ++++ b/src/dhcp6-protocol.h +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/dhcp6.c b/src/dhcp6.c +index bc48fdddd3de..3c56e77c6085 100644 +--- a/src/dhcp6.c ++++ b/src/dhcp6.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/dns-protocol.h b/src/dns-protocol.h +index 0aced3ce6952..16fade33d98c 100644 +--- a/src/dns-protocol.h ++++ b/src/dns-protocol.h +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/dnsmasq.c b/src/dnsmasq.c +index 2c629fe422aa..e903a24c8105 100644 +--- a/src/dnsmasq.c ++++ b/src/dnsmasq.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index 0c322a93993e..89e758b56a0a 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +@@ -14,7 +14,7 @@ + along with this program. If not, see http://www.gnu.org/licenses/. + */ + +-#define COPYRIGHT "Copyright (c) 2000-2014 Simon Kelley" ++#define COPYRIGHT "Copyright (c) 2000-2015 Simon Kelley" + + #ifndef NO_LARGEFILE + /* Ensure we can use files >2GB (log files may grow this big) */ +diff --git a/src/dnssec.c b/src/dnssec.c +index d39ab85ed966..a8dfe3871c85 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -1,5 +1,5 @@ + /* dnssec.c is Copyright (c) 2012 Giovanni Bajo rasky@develer.com +- and Copyright (c) 2012-2014 Simon Kelley ++ and Copyright (c) 2012-2015 Simon Kelley + + 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 +diff --git a/src/domain.c b/src/domain.c +index fdd5e4f0838f..278698ca04b3 100644 +--- a/src/domain.c ++++ b/src/domain.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/forward.c b/src/forward.c +index b17bc34f865f..438e9fa490b8 100644 +--- a/src/forward.c ++++ b/src/forward.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/helper.c b/src/helper.c +index 4be53c361ee1..1fee72dead8c 100644 +--- a/src/helper.c ++++ b/src/helper.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/inotify.c b/src/inotify.c +index c537f4c1562a..470d6ed99213 100644 +--- a/src/inotify.c ++++ b/src/inotify.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/ip6addr.h b/src/ip6addr.h +index c7dcb39c33fa..f0b7e820e227 100644 +--- a/src/ip6addr.h ++++ b/src/ip6addr.h +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/lease.c b/src/lease.c +index 5d56b1b9147e..545bbb7fd09c 100644 +--- a/src/lease.c ++++ b/src/lease.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/log.c b/src/log.c +index 8083a8697323..a5ac605c7c5d 100644 +--- a/src/log.c ++++ b/src/log.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/loop.c b/src/loop.c +index bb377ad12644..565f7d8e58e0 100644 +--- a/src/loop.c ++++ b/src/loop.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/netlink.c b/src/netlink.c +index b39328376389..10f94db25a14 100644 +--- a/src/netlink.c ++++ b/src/netlink.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/network.c b/src/network.c +index 14d2af2ce313..7045253d467b 100644 +--- a/src/network.c ++++ b/src/network.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/option.c b/src/option.c +index 6ef80117cc8c..cb4e76ba0aa2 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/outpacket.c b/src/outpacket.c +index dce68f7cb09f..5b1ff9318bbd 100644 +--- a/src/outpacket.c ++++ b/src/outpacket.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/radv-protocol.h b/src/radv-protocol.h +index 72ccda49d7fe..4cc1ea426e69 100644 +--- a/src/radv-protocol.h ++++ b/src/radv-protocol.h +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/radv.c b/src/radv.c +index 3c8b162dbd8e..6da125b864ae 100644 +--- a/src/radv.c ++++ b/src/radv.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/rfc1035.c b/src/rfc1035.c +index 262274fc5b80..5ef5ddb7485e 100644 +--- a/src/rfc1035.c ++++ b/src/rfc1035.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/rfc2131.c b/src/rfc2131.c +index 5c9040892f1d..55526443dc84 100644 +--- a/src/rfc2131.c ++++ b/src/rfc2131.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/rfc3315.c b/src/rfc3315.c +index e593ec9c362c..c1ddc805988d 100644 +--- a/src/rfc3315.c ++++ b/src/rfc3315.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/slaac.c b/src/slaac.c +index 351d6802f85e..abaad537e25a 100644 +--- a/src/slaac.c ++++ b/src/slaac.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/tftp.c b/src/tftp.c +index a527911fc0df..a57a31514f44 100644 +--- a/src/tftp.c ++++ b/src/tftp.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +diff --git a/src/util.c b/src/util.c +index d532444da207..91d02410b13f 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -1,4 +1,4 @@ +-/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley ++/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley + + 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 +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0040-inotify-documentation-updates.patch b/src/patches/dnsmasq/0040-inotify-documentation-updates.patch new file mode 100644 index 0000000..981e553 --- /dev/null +++ b/src/patches/dnsmasq/0040-inotify-documentation-updates.patch @@ -0,0 +1,53 @@ +From 3d04f46334d0e345f589eda1372e638b946fe637 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sat, 31 Jan 2015 21:59:13 +0000 +Subject: [PATCH 40/55] inotify documentation updates. + +--- + man/dnsmasq.8 | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 +index 005b5cca8d1f..c858323d78bd 100644 +--- a/man/dnsmasq.8 ++++ b/man/dnsmasq.8 +@@ -50,6 +50,10 @@ Additional hosts file. Read the specified file as well as /etc/hosts. If -h is g + only the specified file. This option may be repeated for more than one + additional hosts file. If a directory is given, then read all the files contained in that directory. + .TP ++.B --hostsdir=<path> ++Read all the hosts files contained in the directory. New or changed files ++are read automatically. See --dhcp-hostsdir for details. ++.TP + .B -E, --expand-hosts + Add the domain to simple names (without a period) in /etc/hosts + in the same way as for DHCP-derived names. Note that this does not +@@ -979,12 +983,14 @@ dhcp-optsfile will be re-read when dnsmasq receives SIGHUP. Note that + it is possible to encode the information in a + .TP + .B --dhcp-hostsdir=<path> +-This is exactly equivalent to dhcp-hostfile, except for the following. The path MUST be a ++This is equivalent to dhcp-hostsfile, except for the following. The path MUST be a + directory, and not an individual file. Changed or new files within + the directory are read automatically, without the need to send SIGHUP. + If a file is deleted for changed after it has been read by dnsmasq, then the + host record it contained will remain until dnsmasq recieves a SIGHUP, or + is restarted; ie host records are only added dynamically. ++.B --dhcp-optsdir=<path> ++This is equivalent to dhcp-optsfile, with the differences noted for --dhcp-hostsdir. + .TP + .B --dhcp-boot + flag as DHCP options, using the options names bootfile-name, +@@ -1791,7 +1797,8 @@ clears its cache and then re-loads + .I /etc/hosts + and + .I /etc/ethers +-and any file given by --dhcp-hostsfile, --dhcp-optsfile or --addn-hosts. ++and any file given by --dhcp-hostsfile, --dhcp-hostsdir, --dhcp-optsfile, ++--dhcp-optsdir, --addn-hosts or --hostsdir. + The dhcp lease change script is called for all + existing DHCP leases. If + .B +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch b/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch new file mode 100644 index 0000000..0c8aa9b --- /dev/null +++ b/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch @@ -0,0 +1,39 @@ +From 6ef15b34ca83c62a939f69356d5c3f7a6bfef3d0 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sat, 31 Jan 2015 22:44:26 +0000 +Subject: [PATCH 41/55] Fix broken ECDSA DNSSEC signatures. + +--- + CHANGELOG | 2 ++ + src/dnssec.c | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/CHANGELOG b/CHANGELOG +index c05dec63c587..c80dc0fdbe9e 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -65,6 +65,8 @@ version 2.73 + configured to do stateful DHCPv6. Thanks to Win King Wan + for the patch. + ++ Fix broken DNSSEC validation of ECDSA signatures. ++ + + version 2.72 + Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. +diff --git a/src/dnssec.c b/src/dnssec.c +index a8dfe3871c85..26932373cd3e 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -275,7 +275,7 @@ static int dnsmasq_ecdsa_verify(struct blockdata *key_data, unsigned int key_len + } + + if (sig_len != 2*t || key_len != 2*t || +- (p = blockdata_retrieve(key_data, key_len, NULL))) ++ !(p = blockdata_retrieve(key_data, key_len, NULL))) + return 0; + + mpz_import(x, t , 1, 1, 0, 0, p); +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0042-BSD-make-support.patch b/src/patches/dnsmasq/0042-BSD-make-support.patch new file mode 100644 index 0000000..76f76ef --- /dev/null +++ b/src/patches/dnsmasq/0042-BSD-make-support.patch @@ -0,0 +1,29 @@ +From 106266761828a0acb006346ae47bf031dee46a5d Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sun, 1 Feb 2015 00:15:16 +0000 +Subject: [PATCH 42/55] BSD make support + +--- + Makefile | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 21e4a5c4101c..2910320b6452 100644 +--- a/Makefile ++++ b/Makefile +@@ -64,8 +64,10 @@ nettle_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG + gmp_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC NO_GMP --copy -lgmp` + sunos_libs = `if uname | grep SunOS >/dev/null 2>&1; then echo -lsocket -lnsl -lposix4; fi` + version = -DVERSION='"`$(top)/bld/get-version $(top)`"' +-copts_conf = .copts_$(shell $(CC) -DDNSMASQ_COMPILE_OPTS $(COPTS) -E $(top)/$(SRC)/dnsmasq.h | \ +- ( md5sum 2>/dev/null || md5 ) | cut -f 1 -d ' ') ++ ++sum?=$(shell $(CC) -DDNSMASQ_COMPILE_OPTS $(COPTS) -E $(top)/$(SRC)/dnsmasq.h | ( md5sum 2>/dev/null || md5 ) | cut -f 1 -d ' ') ++sum!=$(CC) -DDNSMASQ_COMPILE_OPTS $(COPTS) -E $(top)/$(SRC)/dnsmasq.h | ( md5sum 2>/dev/null || md5 ) | cut -f 1 -d ' ' ++copts_conf = .copts_$(sum) + + objs = cache.o rfc1035.o util.o option.o forward.o network.o \ + dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \ +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch b/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch new file mode 100644 index 0000000..a3df61b --- /dev/null +++ b/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch @@ -0,0 +1,25 @@ +From 8d8a54ec79d9f96979fabbd97b1dd2ddebc7d78f Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sun, 1 Feb 2015 21:48:46 +0000 +Subject: [PATCH 43/55] Fix build failure on openBSD. + +--- + src/tables.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/tables.c b/src/tables.c +index dcdef794c4d2..aae1252708db 100644 +--- a/src/tables.c ++++ b/src/tables.c +@@ -21,7 +21,7 @@ + #if defined(HAVE_IPSET) && defined(HAVE_BSD_NETWORK) + + #ifndef __FreeBSD__ +-#include <bsd/string.h> ++#include <string.h> + #endif + + #include <sys/types.h> +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0044-Manpage-typo-fix.patch b/src/patches/dnsmasq/0044-Manpage-typo-fix.patch new file mode 100644 index 0000000..e0e384f --- /dev/null +++ b/src/patches/dnsmasq/0044-Manpage-typo-fix.patch @@ -0,0 +1,25 @@ +From d36b732c4cfa91ea09af64b5dc0f3a85a075e5bc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thi=C3=A9baud=20Weksteen?= thiebaud@weksteen.fr +Date: Mon, 2 Feb 2015 21:37:27 +0000 +Subject: [PATCH 44/55] Manpage typo fix. + +--- + man/dnsmasq.8 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 +index c858323d78bd..27f85d40fbbb 100644 +--- a/man/dnsmasq.8 ++++ b/man/dnsmasq.8 +@@ -516,7 +516,7 @@ zone files: the port, weight and priority numbers are in a different + order. More than one SRV record for a given service/domain is allowed, + all that match are returned. + .TP +-.B --host-record=<name>[,<name>....][<IPv4-address>],[<IPv6-address>] ++.B --host-record=<name>[,<name>....],[<IPv4-address>],[<IPv6-address>] + Add A, AAAA and PTR records to the DNS. This adds one or more names to + the DNS with associated IPv4 (A) and IPv6 (AAAA) records. A name may + appear in more than one +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch b/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch new file mode 100644 index 0000000..fc1b98a --- /dev/null +++ b/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch @@ -0,0 +1,38 @@ +From 2941d3ac898cf84b544e47c9735c5e4111711db1 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Mon, 2 Feb 2015 22:36:42 +0000 +Subject: [PATCH 45/55] Fixup dhcp-configs after reading extra hostfiles with + inotify. + +--- + src/inotify.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/src/inotify.c b/src/inotify.c +index 470d6ed99213..6f4cd79e0030 100644 +--- a/src/inotify.c ++++ b/src/inotify.c +@@ -194,7 +194,19 @@ int inotify_check(time_t now) + strcat(path, in->name); + + if (ah->flags & AH_HOSTS) +- read_hostsfile(path, ah->index, 0, NULL, 0); ++ { ++ read_hostsfile(path, ah->index, 0, NULL, 0); ++#ifdef HAVE_DHCP ++ if (daemon->dhcp || daemon->doing_dhcp6) ++ { ++ /* Propogate the consequences of loading a new dhcp-host */ ++ dhcp_update_configs(daemon->dhcp_conf); ++ lease_update_from_configs(); ++ lease_update_file(now); ++ lease_update_dns(1); ++ } ++#endif ++ } + #ifdef HAVE_DHCP + else if (ah->flags & AH_DHCP_HST) + { +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch b/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch new file mode 100644 index 0000000..803174a --- /dev/null +++ b/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch @@ -0,0 +1,68 @@ +From f9c863708c6b0aea31ff7a466647685dc739de50 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Tue, 3 Feb 2015 21:52:48 +0000 +Subject: [PATCH 46/55] Extra logging for inotify code. + +--- + src/cache.c | 9 ++++----- + src/inotify.c | 4 +++- + src/option.c | 4 +++- + 3 files changed, 10 insertions(+), 7 deletions(-) + +diff --git a/src/cache.c b/src/cache.c +index 117ae279fd4e..43245b771b53 100644 +--- a/src/cache.c ++++ b/src/cache.c +@@ -1022,11 +1022,10 @@ int read_hostsfile(char *filename, unsigned int index, int cache_size, struct cr + fclose(f); + + if (rhash) +- { +- rehash(name_count); +- my_syslog(LOG_INFO, _("read %s - %d addresses"), filename, addr_count); +- } +- ++ rehash(name_count); ++ ++ my_syslog(LOG_INFO, _("read %s - %d addresses"), filename, addr_count); ++ + return name_count; + } + +diff --git a/src/inotify.c b/src/inotify.c +index 6f4cd79e0030..44ce0c9af051 100644 +--- a/src/inotify.c ++++ b/src/inotify.c +@@ -192,7 +192,9 @@ int inotify_check(time_t now) + strcpy(path, ah->fname); + strcat(path, "/"); + strcat(path, in->name); +- ++ ++ my_syslog(LOG_INFO, _("inotify, new or changed file %s"), path); ++ + if (ah->flags & AH_HOSTS) + { + read_hostsfile(path, ah->index, 0, NULL, 0); +diff --git a/src/option.c b/src/option.c +index cb4e76ba0aa2..e4b4865d07a5 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -4068,11 +4068,13 @@ static void read_file(char *file, FILE *f, int hard_opt) + #ifdef HAVE_DHCP + int option_read_dynfile(char *file, int flags) + { ++ my_syslog(MS_DHCP | LOG_INFO, _("read %s"), file); ++ + if (flags & AH_DHCP_HST) + return one_file(file, LOPT_BANK); + else if (flags & AH_DHCP_OPT) + return one_file(file, LOPT_OPTS); +- ++ + return 0; + } + #endif +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0047-man-page-typo.patch b/src/patches/dnsmasq/0047-man-page-typo.patch new file mode 100644 index 0000000..6606a7a --- /dev/null +++ b/src/patches/dnsmasq/0047-man-page-typo.patch @@ -0,0 +1,24 @@ +From efb8b5566aafc1f3ce18514a2df93af5a2e4998c Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sat, 7 Feb 2015 22:36:34 +0000 +Subject: [PATCH 47/55] man page typo. + +--- + man/dnsmasq.8 | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 +index 27f85d40fbbb..5cdd186afaa0 100644 +--- a/man/dnsmasq.8 ++++ b/man/dnsmasq.8 +@@ -989,6 +989,7 @@ the directory are read automatically, without the need to send SIGHUP. + If a file is deleted for changed after it has been read by dnsmasq, then the + host record it contained will remain until dnsmasq recieves a SIGHUP, or + is restarted; ie host records are only added dynamically. ++.TP + .B --dhcp-optsdir=<path> + This is equivalent to dhcp-optsfile, with the differences noted for --dhcp-hostsdir. + .TP +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch b/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch new file mode 100644 index 0000000..5633d9d --- /dev/null +++ b/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch @@ -0,0 +1,26 @@ +From f4f400776b3c1aa303d1a0fcd500f0ab5bc970f2 Mon Sep 17 00:00:00 2001 +From: Shantanu Gadgil shantanugadgil@yahoo.com +Date: Wed, 11 Feb 2015 20:16:59 +0000 +Subject: [PATCH 48/55] Fix get-version script which returned wrong tag in some + situations. + +--- + bld/get-version | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bld/get-version b/bld/get-version +index c246a3cc6a47..7ab75db729ac 100755 +--- a/bld/get-version ++++ b/bld/get-version +@@ -20,7 +20,7 @@ else + vers=`cat $1/VERSION | sed 's/[(), ]/,/ g' | tr ',' '\n' | grep ^v[0-9]` + + if [ $? -eq 0 ]; then +- echo "${vers}" | sort | head -n 1 | sed 's/^v//' ++ echo "${vers}" | sort -r | head -n 1 | sed 's/^v//' + else + cat $1/VERSION + fi +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0049-Typos.patch b/src/patches/dnsmasq/0049-Typos.patch new file mode 100644 index 0000000..8f64b39 --- /dev/null +++ b/src/patches/dnsmasq/0049-Typos.patch @@ -0,0 +1,26 @@ +From 8ff70de618eb7de9147dbfbd4deca4a2dd62f0cb Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sat, 14 Feb 2015 20:02:37 +0000 +Subject: [PATCH 49/55] Typos. + +--- + src/inotify.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/inotify.c b/src/inotify.c +index 44ce0c9af051..9422066257f5 100644 +--- a/src/inotify.c ++++ b/src/inotify.c +@@ -104,7 +104,8 @@ void set_dynamic_inotify(int flag, int total_size, struct crec **rhash, int revh + ah->wd = inotify_add_watch(daemon->inotifyfd, ah->fname, IN_CLOSE_WRITE | IN_MOVED_TO); + ah->flags |= AH_WD_DONE; + } +- /* Read contents of dir _after_ calling add_watch, in the ho[e of avoiding ++ ++ /* Read contents of dir _after_ calling add_watch, in the hope of avoiding + a race which misses files being added as we start */ + if (ah->wd == -1 || !(dir_stream = opendir(ah->fname))) + { +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch b/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch new file mode 100644 index 0000000..af79802 --- /dev/null +++ b/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch @@ -0,0 +1,45 @@ +From caeea190f12efd20139f694aac4942d1ac00019f Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sat, 14 Feb 2015 20:08:56 +0000 +Subject: [PATCH 50/55] Make dynamic hosts files work when --no-hosts set. + +--- + src/cache.c | 21 +++++++++++---------- + 1 file changed, 11 insertions(+), 10 deletions(-) + +diff --git a/src/cache.c b/src/cache.c +index 43245b771b53..c95624c42b1c 100644 +--- a/src/cache.c ++++ b/src/cache.c +@@ -1133,17 +1133,18 @@ void cache_reload(void) + { + if (daemon->cachesize > 0) + my_syslog(LOG_INFO, _("cleared cache")); +- return; + } +- +- if (!option_bool(OPT_NO_HOSTS)) +- total_size = read_hostsfile(HOSTSFILE, SRC_HOSTS, total_size, (struct crec **)daemon->packet, revhashsz); +- +- daemon->addn_hosts = expand_filelist(daemon->addn_hosts); +- for (ah = daemon->addn_hosts; ah; ah = ah->next) +- if (!(ah->flags & AH_INACTIVE)) +- total_size = read_hostsfile(ah->fname, ah->index, total_size, (struct crec **)daemon->packet, revhashsz); +- ++ else ++ { ++ if (!option_bool(OPT_NO_HOSTS)) ++ total_size = read_hostsfile(HOSTSFILE, SRC_HOSTS, total_size, (struct crec **)daemon->packet, revhashsz); ++ ++ daemon->addn_hosts = expand_filelist(daemon->addn_hosts); ++ for (ah = daemon->addn_hosts; ah; ah = ah->next) ++ if (!(ah->flags & AH_INACTIVE)) ++ total_size = read_hostsfile(ah->fname, ah->index, total_size, (struct crec **)daemon->packet, revhashsz); ++ } ++ + #ifdef HAVE_INOTIFY + set_dynamic_inotify(AH_HOSTS, total_size, (struct crec **)daemon->packet, revhashsz); + #endif +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch b/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch new file mode 100644 index 0000000..2c38cfc --- /dev/null +++ b/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch @@ -0,0 +1,55 @@ +From 28b879ac47b872af6e8c5e86d76806c69338434d Mon Sep 17 00:00:00 2001 +From: Chen Wei weichen302@icloud.com +Date: Tue, 17 Feb 2015 22:07:35 +0000 +Subject: [PATCH 51/55] Fix trivial memory leaks to quieten valgrind. + +--- + src/dnsmasq.c | 2 ++ + src/option.c | 11 +++++++++-- + 2 files changed, 11 insertions(+), 2 deletions(-) + +diff --git a/src/dnsmasq.c b/src/dnsmasq.c +index e903a24c8105..e6dabbf556f7 100644 +--- a/src/dnsmasq.c ++++ b/src/dnsmasq.c +@@ -627,6 +627,8 @@ int main (int argc, char **argv) + } + + #ifdef HAVE_LINUX_NETWORK ++ free(hdr); ++ free(data); + if (option_bool(OPT_DEBUG)) + prctl(PR_SET_DUMPABLE, 1, 0, 0, 0); + #endif +diff --git a/src/option.c b/src/option.c +index e4b4865d07a5..ae0ad002d8b8 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -4361,7 +4361,7 @@ void read_opts(int argc, char **argv, char *compile_opts) + { + char *buff = opt_malloc(MAXDNAME); + int option, conffile_opt = '7', testmode = 0; +- char *arg, *conffile = CONFFILE; ++ char *arg, *conffile = NULL; + + opterr = 0; + +@@ -4476,7 +4476,14 @@ void read_opts(int argc, char **argv, char *compile_opts) + } + + if (conffile) +- one_file(conffile, conffile_opt); ++ { ++ one_file(conffile, conffile_opt); ++ free(conffile); ++ } ++ else ++ { ++ one_file(CONFFILE, conffile_opt); ++ } + + /* port might not be known when the address is parsed - fill in here */ + if (daemon->servers) +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch b/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch new file mode 100644 index 0000000..46277fb --- /dev/null +++ b/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch @@ -0,0 +1,27 @@ +From 0705a7e2d57654b27c7e14f35ca77241c1821f4d Mon Sep 17 00:00:00 2001 +From: Tomas Hozza thozza@redhat.com +Date: Mon, 23 Feb 2015 21:26:26 +0000 +Subject: [PATCH 52/55] Fix uninitialized value used in get_client_mac() + +--- + src/dhcp6.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/dhcp6.c b/src/dhcp6.c +index 3c56e77c6085..c7144f5fee7c 100644 +--- a/src/dhcp6.c ++++ b/src/dhcp6.c +@@ -246,7 +246,9 @@ void get_client_mac(struct in6_addr *client, int iface, unsigned char *mac, unsi + neigh.code = 0; + neigh.reserved = 0; + neigh.target = *client; +- ++ /* RFC4443 section-2.3: checksum has to be zero to be calculated */ ++ neigh.checksum = 0; ++ + memset(&addr, 0, sizeof(addr)); + #ifdef HAVE_SOCKADDR_SA_LEN + addr.sin6_len = sizeof(struct sockaddr_in6); +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch b/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch new file mode 100644 index 0000000..9527030 --- /dev/null +++ b/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch @@ -0,0 +1,110 @@ +From 47b9ac59c715827252ae6e6732903c3dabb697fb Mon Sep 17 00:00:00 2001 +From: Joachim Zobel jz-2014@heute-morgen.de +Date: Mon, 23 Feb 2015 21:38:11 +0000 +Subject: [PATCH 53/55] Log parsing utils in contrib/reverse-dns + +--- + contrib/reverse-dns/README | 18 ++++++++++++++++++ + contrib/reverse-dns/reverse_dns.sh | 29 +++++++++++++++++++++++++++++ + contrib/reverse-dns/reverse_replace.sh | 28 ++++++++++++++++++++++++++++ + 3 files changed, 75 insertions(+) + create mode 100644 contrib/reverse-dns/README + create mode 100644 contrib/reverse-dns/reverse_dns.sh + create mode 100644 contrib/reverse-dns/reverse_replace.sh + +diff --git a/contrib/reverse-dns/README b/contrib/reverse-dns/README +new file mode 100644 +index 000000000000..f87eb77c4c22 +--- /dev/null ++++ b/contrib/reverse-dns/README +@@ -0,0 +1,18 @@ ++Hi. ++ ++To translate my routers netstat-nat output into names that actually talk ++to me I have started writing to simple shell scripts. They require ++ ++log-queries ++log-facility=/var/log/dnsmasq.log ++ ++to be set. With ++ ++netstat-nat -n -4 | reverse_replace.sh ++ ++I get retranslated output. ++ ++Sincerely, ++Joachim ++ ++ +diff --git a/contrib/reverse-dns/reverse_dns.sh b/contrib/reverse-dns/reverse_dns.sh +new file mode 100644 +index 000000000000..c0fff300a947 +--- /dev/null ++++ b/contrib/reverse-dns/reverse_dns.sh +@@ -0,0 +1,29 @@ ++#!/bin/bash ++# $Id: reverse_dns.sh 4 2015-02-17 20:14:59Z jo $ ++# ++# Usage: reverse_dns.sh IP ++# Uses the dnsmasq query log to lookup the name ++# that was last queried to return the given IP. ++# ++ ++IP=$1 ++qmIP=`echo $IP | sed 's#.#\.#g'` ++LOG=/var/log/dnsmasq.log ++ ++IP_regex='^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$' ++ ++if ! [[ $IP =~ $IP_regex ]]; then ++ echo -n $IP ++ exit ++fi ++ ++NAME=`tac $LOG | \ ++ grep " is $IP" | head -1 | \ ++ sed "s#.* ([^ ]*) is $qmIP.*#\1#" ` ++ ++if [ -z "$NAME" ]; then ++ echo -n $IP ++else ++ echo -n $NAME ++fi ++ +diff --git a/contrib/reverse-dns/reverse_replace.sh b/contrib/reverse-dns/reverse_replace.sh +new file mode 100644 +index 000000000000..a11c164b7f19 +--- /dev/null ++++ b/contrib/reverse-dns/reverse_replace.sh +@@ -0,0 +1,28 @@ ++#!/bin/bash ++# $Id: reverse_replace.sh 4 2015-02-17 20:14:59Z jo $ ++# ++# Usage e.g.: netstat -n -4 | reverse_replace.sh ++# Parses stdin for IP4 addresses and replaces them ++# with names retrieved by reverse_dns.sh ++# ++ ++DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) ++DNS=$DIR/reverse_dns.sh ++ ++# sed regex ++IP_regex='[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' ++ ++while read LINE; do ++ if grep --quiet $IP_regex <<< "$LINE"; then ++ IPs=`sed "s#.*\b($IP_regex)\b.*#\1 #g" <<< "$LINE"` ++ IPs=($IPs) ++ for IP in "${IPs[@]}" ++ do ++ NAME=`$DNS $IP` ++ # echo "$NAME is $IP"; ++ LINE="${LINE/$IP/$NAME}" ++ done ++ fi ++ echo $LINE ++done < /dev/stdin ++ +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch b/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch new file mode 100644 index 0000000..2ff79d5 --- /dev/null +++ b/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch @@ -0,0 +1,252 @@ +From f6e62e2af96f5fa0d1e3d93167a93a8f09bf6e61 Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Sun, 1 Mar 2015 18:17:54 +0000 +Subject: [PATCH 54/55] Add --dnssec-timestamp option and facility. + +--- + CHANGELOG | 6 +++++ + man/dnsmasq.8 | 6 +++++ + src/dnsmasq.c | 11 +++++++- + src/dnsmasq.h | 2 ++ + src/dnssec.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- + src/option.c | 7 +++++ + 6 files changed, 108 insertions(+), 6 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index c80dc0fdbe9e..4f4fa305deaa 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -66,6 +66,12 @@ version 2.73 + for the patch. + + Fix broken DNSSEC validation of ECDSA signatures. ++ ++ Add --dnssec-timestamp option, which provides an automatic ++ way to detect when the system time becomes valid after boot ++ on systems without an RTC, whilst allowing DNS queries before the ++ clock is valid so that NTP can run. Thanks to ++ Kevin Darbyshire-Bryant for developing this idea. + + + version 2.72 +diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 +index 5cdd186afaa0..097e7d75145c 100644 +--- a/man/dnsmasq.8 ++++ b/man/dnsmasq.8 +@@ -674,6 +674,12 @@ that dnsmasq should be started with this flag when the platform determines that + reliable time is established, a SIGHUP should be sent to dnsmasq, which enables time checking, and purges the cache of DNS records + which have not been throughly checked. + .TP ++.B --dnssec-timestamp=<path> ++Enables an alternative way of checking the validity of the system time for DNSSEC (see --dnssec-no-timecheck). In this case, the ++system time is considered to be valid once it becomes later than the timestamp on the specified file. The file is created and ++its timestamp set automatically by dnsmasq. The file must be stored on a persistent filesystem, so that it and its mtime are carried ++over system restarts. ++.TP + .B --proxy-dnssec + Copy the DNSSEC Authenticated Data bit from upstream servers to downstream clients and cache it. This is an + alternative to having dnsmasq validate DNSSEC, but it depends on the security of the network between +diff --git a/src/dnsmasq.c b/src/dnsmasq.c +index e6dabbf556f7..769a19afe6c5 100644 +--- a/src/dnsmasq.c ++++ b/src/dnsmasq.c +@@ -58,6 +58,9 @@ int main (int argc, char **argv) + struct dhcp_context *context; + struct dhcp_relay *relay; + #endif ++#ifdef HAVE_DNSSEC ++ int badtime; ++#endif + + #ifdef LOCALEDIR + setlocale(LC_ALL, ""); +@@ -369,7 +372,11 @@ int main (int argc, char **argv) + + if (baduser) + die(_("unknown user or group: %s"), baduser, EC_BADCONF); +- ++ ++#ifdef HAVE_DNSSEC ++ badtime = setup_timestamp(ent_pw->pw_uid); ++#endif ++ + /* implement group defaults, "dip" if available, or group associated with uid */ + if (!daemon->group_set && !gp) + { +@@ -689,6 +696,8 @@ int main (int argc, char **argv) + my_syslog(LOG_INFO, _("DNSSEC validation enabled")); + if (option_bool(OPT_DNSSEC_TIME)) + my_syslog(LOG_INFO, _("DNSSEC signature timestamps not checked until first cache reload")); ++ if (badtime) ++ my_syslog(LOG_INFO, _("DNSSEC signature timestamps not checked until system time valid")); + } + #endif + +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index 89e758b56a0a..b2f02dda63f0 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -986,6 +986,7 @@ extern struct daemon { + #endif + #ifdef HAVE_DNSSEC + struct ds_config *ds; ++ char *timestamp_file; + #endif + + /* globally used stuff for DNS */ +@@ -1151,6 +1152,7 @@ int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char + int dnskey_keytag(int alg, int flags, unsigned char *rdata, int rdlen); + size_t filter_rrsigs(struct dns_header *header, size_t plen); + unsigned char* hash_questions(struct dns_header *header, size_t plen, char *name); ++int setup_timestamp(uid_t uid); + + /* util.c */ + void rand_init(void); +diff --git a/src/dnssec.c b/src/dnssec.c +index 26932373cd3e..bf4406469de0 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -34,6 +34,7 @@ + #include <nettle/dsa-compat.h> + #endif + ++#include <utime.h> + + #define SERIAL_UNDEF -100 + #define SERIAL_EQ 0 +@@ -394,17 +395,88 @@ static int serial_compare_32(unsigned long s1, unsigned long s2) + return SERIAL_UNDEF; + } + ++/* Called at startup. If the timestamp file is configured and exists, put its mtime on ++ timestamp_time. If it doesn't exist, create it, and set the mtime to 1-1-2015. ++ Change the ownership to the user we'll be running as, so that we can update the mtime. ++*/ ++static time_t timestamp_time; ++static int back_to_the_future; ++ ++int setup_timestamp(uid_t uid) ++{ ++ struct stat statbuf; ++ ++ back_to_the_future = 0; ++ ++ if (!option_bool(OPT_DNSSEC_VALID) || !daemon->timestamp_file) ++ return 0; ++ ++ if (stat(daemon->timestamp_file, &statbuf) != -1) ++ { ++ timestamp_time = statbuf.st_mtime; ++ check_and_exit: ++ if (difftime(timestamp_time, time(0)) <= 0) ++ { ++ /* time already OK, update timestamp, and do key checking from the start. */ ++ if (utime(daemon->timestamp_file, NULL) == -1) ++ my_syslog(LOG_ERR, _("failed to update mtime on %s: %s"), daemon->timestamp_file, strerror(errno)); ++ back_to_the_future = 1; ++ return 0; ++ } ++ return 1; ++ } ++ ++ if (errno == ENOENT) ++ { ++ int fd = open(daemon->timestamp_file, O_WRONLY | O_CREAT | O_NONBLOCK, 0666); ++ if (fd != -1) ++ { ++ struct utimbuf timbuf; ++ ++ close(fd); ++ ++ timestamp_time = timbuf.actime = timbuf.modtime = 1420070400; /* 1-1-2015 */ ++ if (utime(daemon->timestamp_file, &timbuf) == 0 && ++ (getuid() != 0 || chown(daemon->timestamp_file, uid, -1) == 0)) ++ goto check_and_exit; ++ } ++ } ++ ++ die(_("Cannot create timestamp file %s: %s" ), daemon->timestamp_file, EC_BADCONF); ++ return 0; ++} ++ + /* Check whether today/now is between date_start and date_end */ + static int check_date_range(unsigned long date_start, unsigned long date_end) + { +- unsigned long curtime; +- ++ unsigned long curtime = time(0); ++ + /* Checking timestamps may be temporarily disabled */ +- if (option_bool(OPT_DNSSEC_TIME)) ++ ++ /* If the current time if _before_ the timestamp ++ on our persistent timestamp file, then assume the ++ time if not yet correct, and don't check the ++ key timestamps. As soon as the current time is ++ later then the timestamp, update the timestamp ++ and start checking keys */ ++ if (daemon->timestamp_file) ++ { ++ if (back_to_the_future == 0 && difftime(timestamp_time, curtime) <= 0) ++ { ++ if (utime(daemon->timestamp_file, NULL) != 0) ++ my_syslog(LOG_ERR, _("failed to update mtime on %s: %s"), daemon->timestamp_file, strerror(errno)); ++ ++ back_to_the_future = 1; ++ set_option_bool(OPT_DNSSEC_TIME); ++ queue_event(EVENT_RELOAD); /* purge cache */ ++ } ++ ++ if (back_to_the_future == 0) ++ return 1; ++ } ++ else if (option_bool(OPT_DNSSEC_TIME)) + return 1; + +- curtime = time(0); +- + /* We must explicitly check against wanted values, because of SERIAL_UNDEF */ + return serial_compare_32(curtime, date_start) == SERIAL_GT + && serial_compare_32(curtime, date_end) == SERIAL_LT; +diff --git a/src/option.c b/src/option.c +index ae0ad002d8b8..eace40bb566c 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -152,6 +152,7 @@ struct myoption { + #define LOPT_DHCP_INOTIFY 340 + #define LOPT_DHOPT_INOTIFY 341 + #define LOPT_HOST_INOTIFY 342 ++#define LOPT_DNSSEC_STAMP 343 + + #ifdef HAVE_GETOPT_LONG + static const struct option opts[] = +@@ -300,6 +301,7 @@ static const struct myoption opts[] = + { "dnssec-debug", 0, 0, LOPT_DNSSEC_DEBUG }, + { "dnssec-check-unsigned", 0, 0, LOPT_DNSSEC_CHECK }, + { "dnssec-no-timecheck", 0, 0, LOPT_DNSSEC_TIME }, ++ { "dnssec-timestamp", 1, 0, LOPT_DNSSEC_STAMP }, + #ifdef OPTION6_PREFIX_CLASS + { "dhcp-prefix-class", 1, 0, LOPT_PREF_CLSS }, + #endif +@@ -463,6 +465,7 @@ static struct { + { LOPT_DNSSEC_DEBUG, OPT_DNSSEC_DEBUG, NULL, gettext_noop("Disable upstream checking for DNSSEC debugging."), NULL }, + { LOPT_DNSSEC_CHECK, OPT_DNSSEC_NO_SIGN, NULL, gettext_noop("Ensure answers without DNSSEC are in unsigned zones."), NULL }, + { LOPT_DNSSEC_TIME, OPT_DNSSEC_TIME, NULL, gettext_noop("Don't check DNSSEC signature timestamps until first cache-reload"), NULL }, ++ { LOPT_DNSSEC_STAMP, ARG_ONE, "<path>", gettext_noop("Timestamp file to verify system clock for DNSSEC"), NULL }, + #ifdef OPTION6_PREFIX_CLASS + { LOPT_PREF_CLSS, ARG_DUP, "set:tag,<class>", gettext_noop("Specify DHCPv6 prefix class"), NULL }, + #endif +@@ -3867,6 +3870,10 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + } + + #ifdef HAVE_DNSSEC ++ case LOPT_DNSSEC_STAMP: ++ daemon->timestamp_file = opt_string_alloc(arg); ++ break; ++ + case LOPT_TRUST_ANCHOR: + { + struct ds_config *new = opt_malloc(sizeof(struct ds_config)); +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch b/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch new file mode 100644 index 0000000..54bb5d5 --- /dev/null +++ b/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch @@ -0,0 +1,63 @@ +From 9003b50b13da624ca45f3e0cf99abb623b8d026b Mon Sep 17 00:00:00 2001 +From: Simon Kelley simon@thekelleys.org.uk +Date: Mon, 2 Mar 2015 22:47:23 +0000 +Subject: [PATCH 55/55] Fix last commit to not crash if uid changing not + configured. + +--- + src/dnsmasq.c | 2 +- + src/dnsmasq.h | 2 +- + src/dnssec.c | 4 ++-- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/dnsmasq.c b/src/dnsmasq.c +index 769a19afe6c5..9e05c0e31569 100644 +--- a/src/dnsmasq.c ++++ b/src/dnsmasq.c +@@ -374,7 +374,7 @@ int main (int argc, char **argv) + die(_("unknown user or group: %s"), baduser, EC_BADCONF); + + #ifdef HAVE_DNSSEC +- badtime = setup_timestamp(ent_pw->pw_uid); ++ badtime = setup_timestamp(ent_pw); + #endif + + /* implement group defaults, "dip" if available, or group associated with uid */ +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index b2f02dda63f0..a451cb4dd03c 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -1152,7 +1152,7 @@ int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char + int dnskey_keytag(int alg, int flags, unsigned char *rdata, int rdlen); + size_t filter_rrsigs(struct dns_header *header, size_t plen); + unsigned char* hash_questions(struct dns_header *header, size_t plen, char *name); +-int setup_timestamp(uid_t uid); ++int setup_timestamp(struct passwd *ent_pw); + + /* util.c */ + void rand_init(void); +diff --git a/src/dnssec.c b/src/dnssec.c +index bf4406469de0..c60eacf73c6b 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -402,7 +402,7 @@ static int serial_compare_32(unsigned long s1, unsigned long s2) + static time_t timestamp_time; + static int back_to_the_future; + +-int setup_timestamp(uid_t uid) ++int setup_timestamp(struct passwd *ent_pw) + { + struct stat statbuf; + +@@ -437,7 +437,7 @@ int setup_timestamp(uid_t uid) + + timestamp_time = timbuf.actime = timbuf.modtime = 1420070400; /* 1-1-2015 */ + if (utime(daemon->timestamp_file, &timbuf) == 0 && +- (getuid() != 0 || chown(daemon->timestamp_file, uid, -1) == 0)) ++ (!ent_pw || getuid() != 0 || chown(daemon->timestamp_file, ent_pw->pw_uid, -1) == 0)) + goto check_and_exit; + } + } +-- +2.1.0 + diff --git a/src/patches/screen-4.0.3-stropts.patch b/src/patches/screen-4.0.3-stropts.patch deleted file mode 100644 index d6cbed7..0000000 --- a/src/patches/screen-4.0.3-stropts.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -up screen-4.0.3/tty.sh.stropts screen-4.0.3/tty.sh ---- screen-4.0.3/tty.sh.stropts 2003-09-08 16:24:25.000000000 +0200 -+++ screen-4.0.3/tty.sh 2008-04-07 11:28:34.000000000 +0200 -@@ -76,7 +76,7 @@ exit 0 - #endif - - #include "config.h" --#ifdef SVR4 -+#if 0 - #include <sys/stropts.h> /* for I_POP */ - #endif - -diff -up screen-4.0.3/screen.c.stropts screen-4.0.3/screen.c ---- screen-4.0.3/screen.c.stropts 2008-04-07 11:25:21.000000000 +0200 -+++ screen-4.0.3/screen.c 2008-04-07 11:29:14.000000000 +0200 -@@ -50,7 +50,7 @@ - - #include "config.h" - --#ifdef SVR4 -+#if 0 - # include <sys/stropts.h> - #endif - -diff -up screen-4.0.3/process.c.stropts screen-4.0.3/process.c ---- screen-4.0.3/process.c.stropts 2003-09-18 14:53:54.000000000 +0200 -+++ screen-4.0.3/process.c 2008-04-07 11:29:47.000000000 +0200 -@@ -37,7 +37,7 @@ - #include "config.h" - - /* for solaris 2.1, Unixware (SVR4.2) and possibly others: */ --#ifdef SVR4 -+#if 0 - # include <sys/stropts.h> - #endif - -diff -up screen-4.0.3/pty.c.stropts screen-4.0.3/pty.c ---- screen-4.0.3/pty.c.stropts 2003-09-08 16:26:18.000000000 +0200 -+++ screen-4.0.3/pty.c 2008-04-07 11:30:07.000000000 +0200 -@@ -34,7 +34,7 @@ - #endif - - /* for solaris 2.1, Unixware (SVR4.2) and possibly others */ --#ifdef HAVE_SVR4_PTYS -+#if 0 - # include <sys/stropts.h> - #endif - diff --git a/src/patches/screen-4.2.1-altscreen.patch b/src/patches/screen-4.2.1-altscreen.patch new file mode 100644 index 0000000..0a35166 --- /dev/null +++ b/src/patches/screen-4.2.1-altscreen.patch @@ -0,0 +1,16 @@ +diff --git a/src/ansi.c b/src/ansi.c +index e76eef4..bbdc119 100644 +--- a/ansi.c ++++ b/ansi.c +@@ -1444,8 +1444,8 @@ int c, intermediate; + else + { + if (curr->w_alt.on) { +- LeaveAltScreen(curr); +- RestoreCursor(&curr->w_alt.cursor); ++ RestoreCursor(&curr->w_alt.cursor); ++ LeaveAltScreen(curr); + } + } + if (a1 == 47 && !i) + diff --git a/src/patches/screen-4.2.1-cpation-hardstatus.patch b/src/patches/screen-4.2.1-cpation-hardstatus.patch new file mode 100644 index 0000000..c6809af --- /dev/null +++ b/src/patches/screen-4.2.1-cpation-hardstatus.patch @@ -0,0 +1,16 @@ +diff --git a/src/screen.c b/src/screen.c +index 473e4fa..8b36bea 100644 +--- a/screen.c ++++ b/screen.c +@@ -2271,8 +2271,8 @@ int padlen; + while (i-- > 0) + *pn-- = ' '; + numpad--; +- if (r && p - buf == winmsg_rendpos[r - 1]) +- winmsg_rendpos[--r] = pn - buf; ++ if (r && p - buf + 1== winmsg_rendpos[r - 1]) ++ winmsg_rendpos[--r] = pn - buf + 1; + } + } + return pn2; + diff --git a/src/patches/strongswan-5.1.2-5.2.1_modp_custom.patch b/src/patches/strongswan-5.1.2-5.2.1_modp_custom.patch deleted file mode 100644 index df2cb09..0000000 --- a/src/patches/strongswan-5.1.2-5.2.1_modp_custom.patch +++ /dev/null @@ -1,164 +0,0 @@ -From a78ecdd47509626711a13481f53696e01d4b8c62 Mon Sep 17 00:00:00 2001 -From: Tobias Brunner tobias@strongswan.org -Date: Mon, 1 Dec 2014 17:21:59 +0100 -Subject: [PATCH] crypto: Define MODP_CUSTOM outside of IKE DH range - -Before this fix it was possible to crash charon with an IKE_SA_INIT -message containing a KE payload with DH group MODP_CUSTOM(1025). -Defining MODP_CUSTOM outside of the two byte IKE DH identifier range -prevents it from getting negotiated. - -Fixes CVE-2014-9221 in version 5.1.2 and newer. ---- - src/charon-tkm/src/tkm/tkm_diffie_hellman.c | 2 +- - src/libstrongswan/crypto/diffie_hellman.c | 11 ++++++----- - src/libstrongswan/crypto/diffie_hellman.h | 6 ++++-- - src/libstrongswan/plugins/gcrypt/gcrypt_dh.c | 2 +- - src/libstrongswan/plugins/gmp/gmp_diffie_hellman.c | 2 +- - src/libstrongswan/plugins/ntru/ntru_ke.c | 2 +- - src/libstrongswan/plugins/openssl/openssl_diffie_hellman.c | 2 +- - src/libstrongswan/plugins/openssl/openssl_ec_diffie_hellman.c | 2 +- - src/libstrongswan/plugins/pkcs11/pkcs11_dh.c | 2 +- - 9 files changed, 17 insertions(+), 14 deletions(-) - -diff --git a/src/charon-tkm/src/tkm/tkm_diffie_hellman.c b/src/charon-tkm/src/tkm/tkm_diffie_hellman.c -index 67db5e6d87d6..836e0b7f088d 100644 ---- a/src/charon-tkm/src/tkm/tkm_diffie_hellman.c -+++ b/src/charon-tkm/src/tkm/tkm_diffie_hellman.c -@@ -41,7 +41,7 @@ struct private_tkm_diffie_hellman_t { - /** - * Diffie Hellman group number. - */ -- u_int16_t group; -+ diffie_hellman_group_t group; - - /** - * Diffie Hellman public value. -diff --git a/src/libstrongswan/crypto/diffie_hellman.c b/src/libstrongswan/crypto/diffie_hellman.c -index bada1c529951..ac106e9c4d45 100644 ---- a/src/libstrongswan/crypto/diffie_hellman.c -+++ b/src/libstrongswan/crypto/diffie_hellman.c -@@ -42,15 +42,16 @@ ENUM_NEXT(diffie_hellman_group_names, MODP_1024_160, ECP_512_BP, ECP_521_BIT, - "ECP_256_BP", - "ECP_384_BP", - "ECP_512_BP"); --ENUM_NEXT(diffie_hellman_group_names, MODP_NULL, MODP_CUSTOM, ECP_512_BP, -- "MODP_NULL", -- "MODP_CUSTOM"); --ENUM_NEXT(diffie_hellman_group_names, NTRU_112_BIT, NTRU_256_BIT, MODP_CUSTOM, -+ENUM_NEXT(diffie_hellman_group_names, MODP_NULL, MODP_NULL, ECP_512_BP, -+ "MODP_NULL"); -+ENUM_NEXT(diffie_hellman_group_names, NTRU_112_BIT, NTRU_256_BIT, MODP_NULL, - "NTRU_112", - "NTRU_128", - "NTRU_192", - "NTRU_256"); --ENUM_END(diffie_hellman_group_names, NTRU_256_BIT); -+ENUM_NEXT(diffie_hellman_group_names, MODP_CUSTOM, MODP_CUSTOM, NTRU_256_BIT, -+ "MODP_CUSTOM"); -+ENUM_END(diffie_hellman_group_names, MODP_CUSTOM); - - - /** -diff --git a/src/libstrongswan/crypto/diffie_hellman.h b/src/libstrongswan/crypto/diffie_hellman.h -index 105db22f14d4..d5161d077bb2 100644 ---- a/src/libstrongswan/crypto/diffie_hellman.h -+++ b/src/libstrongswan/crypto/diffie_hellman.h -@@ -63,12 +63,14 @@ enum diffie_hellman_group_t { - /** insecure NULL diffie hellman group for testing, in PRIVATE USE */ - MODP_NULL = 1024, - /** MODP group with custom generator/prime */ -- MODP_CUSTOM = 1025, - /** Parameters defined by IEEE 1363.1, in PRIVATE USE */ - NTRU_112_BIT = 1030, - NTRU_128_BIT = 1031, - NTRU_192_BIT = 1032, -- NTRU_256_BIT = 1033 -+ NTRU_256_BIT = 1033, -+ /** internally used DH group with additional parameters g and p, outside -+ * of PRIVATE USE (i.e. IKEv2 DH group range) so it can't be negotiated */ -+ MODP_CUSTOM = 65536, - }; - - /** -diff --git a/src/libstrongswan/plugins/gcrypt/gcrypt_dh.c b/src/libstrongswan/plugins/gcrypt/gcrypt_dh.c -index f418b941db86..299865da2e09 100644 ---- a/src/libstrongswan/plugins/gcrypt/gcrypt_dh.c -+++ b/src/libstrongswan/plugins/gcrypt/gcrypt_dh.c -@@ -35,7 +35,7 @@ struct private_gcrypt_dh_t { - /** - * Diffie Hellman group number - */ -- u_int16_t group; -+ diffie_hellman_group_t group; - - /* - * Generator value -diff --git a/src/libstrongswan/plugins/gmp/gmp_diffie_hellman.c b/src/libstrongswan/plugins/gmp/gmp_diffie_hellman.c -index b74d35169f44..9936f7e4518f 100644 ---- a/src/libstrongswan/plugins/gmp/gmp_diffie_hellman.c -+++ b/src/libstrongswan/plugins/gmp/gmp_diffie_hellman.c -@@ -42,7 +42,7 @@ struct private_gmp_diffie_hellman_t { - /** - * Diffie Hellman group number. - */ -- u_int16_t group; -+ diffie_hellman_group_t group; - - /* - * Generator value. -diff --git a/src/libstrongswan/plugins/ntru/ntru_ke.c b/src/libstrongswan/plugins/ntru/ntru_ke.c -index abaa22336221..e64f32b91d0e 100644 ---- a/src/libstrongswan/plugins/ntru/ntru_ke.c -+++ b/src/libstrongswan/plugins/ntru/ntru_ke.c -@@ -56,7 +56,7 @@ struct private_ntru_ke_t { - /** - * Diffie Hellman group number. - */ -- u_int16_t group; -+ diffie_hellman_group_t group; - - /** - * NTRU Parameter Set -diff --git a/src/libstrongswan/plugins/openssl/openssl_diffie_hellman.c b/src/libstrongswan/plugins/openssl/openssl_diffie_hellman.c -index ff3382473666..1e68ac59b838 100644 ---- a/src/libstrongswan/plugins/openssl/openssl_diffie_hellman.c -+++ b/src/libstrongswan/plugins/openssl/openssl_diffie_hellman.c -@@ -38,7 +38,7 @@ struct private_openssl_diffie_hellman_t { - /** - * Diffie Hellman group number. - */ -- u_int16_t group; -+ diffie_hellman_group_t group; - - /** - * Diffie Hellman object -diff --git a/src/libstrongswan/plugins/openssl/openssl_ec_diffie_hellman.c b/src/libstrongswan/plugins/openssl/openssl_ec_diffie_hellman.c -index b487d59a59a3..50853d6f0bde 100644 ---- a/src/libstrongswan/plugins/openssl/openssl_ec_diffie_hellman.c -+++ b/src/libstrongswan/plugins/openssl/openssl_ec_diffie_hellman.c -@@ -40,7 +40,7 @@ struct private_openssl_ec_diffie_hellman_t { - /** - * Diffie Hellman group number. - */ -- u_int16_t group; -+ diffie_hellman_group_t group; - - /** - * EC private (public) key -diff --git a/src/libstrongswan/plugins/pkcs11/pkcs11_dh.c b/src/libstrongswan/plugins/pkcs11/pkcs11_dh.c -index 36cc284bf2b5..23b63d2386af 100644 ---- a/src/libstrongswan/plugins/pkcs11/pkcs11_dh.c -+++ b/src/libstrongswan/plugins/pkcs11/pkcs11_dh.c -@@ -47,7 +47,7 @@ struct private_pkcs11_dh_t { - /** - * Diffie Hellman group number. - */ -- u_int16_t group; -+ diffie_hellman_group_t group; - - /** - * Handle for own private value --- -1.9.1 - diff --git a/src/patches/strongswan-5.2.2-issue-816-650a3ad.patch b/src/patches/strongswan-5.2.2-issue-816-650a3ad.patch new file mode 100644 index 0000000..44b247e --- /dev/null +++ b/src/patches/strongswan-5.2.2-issue-816-650a3ad.patch @@ -0,0 +1,35 @@ +commit 650a3ad5151958b99a95836fb8b84b8aa18da1be +Author: Tobias Brunner tobias@strongswan.org +Date: Wed Feb 25 08:09:11 2015 +0100 + + ike-sa-manager: Make sure the message ID of initial messages is 0 + + It is mandated by the RFCs and it is expected by the task managers. + + Initial messages with invalid MID will be treated like regular messages, + so no IKE_SA will be created for them. Instead, if the responder SPI is 0 + no SA will be found and the message is rejected with ALERT_INVALID_IKE_SPI. + If an SPI is set and we do find an SA, then we either ignore the message + because the MID is unexpected, or because we don't allow initial messages + on established connections. + + There is one exception, though, if an attacker can slip in an IKE_SA_INIT + with both SPIs set before the client's IKE_AUTH is handled by the server, + it does get processed (see next commit). + + References #816. + +diff --git a/src/libcharon/sa/ike_sa_manager.c b/src/libcharon/sa/ike_sa_manager.c +index d0cbd47..5e2b925 100644 +--- a/src/libcharon/sa/ike_sa_manager.c ++++ b/src/libcharon/sa/ike_sa_manager.c +@@ -1184,7 +1184,8 @@ METHOD(ike_sa_manager_t, checkout_by_message, ike_sa_t*, + + DBG2(DBG_MGR, "checkout IKE_SA by message"); + +- if (id->get_responder_spi(id) == 0) ++ if (id->get_responder_spi(id) == 0 && ++ message->get_message_id(message) == 0) + { + if (message->get_major_version(message) == IKEV2_MAJOR_VERSION) + { diff --git a/src/patches/strongswan-5.2.2-issue-816-dd0ebb.patch b/src/patches/strongswan-5.2.2-issue-816-dd0ebb.patch new file mode 100644 index 0000000..4d76e7c --- /dev/null +++ b/src/patches/strongswan-5.2.2-issue-816-dd0ebb.patch @@ -0,0 +1,42 @@ +commit dd0ebb54837298c869389d36a0b42eefdb893dd6 +Author: Tobias Brunner tobias@strongswan.org +Date: Wed Feb 25 08:30:33 2015 +0100 + + ikev2: Only accept initial messages in specific states + + The previous code allowed an attacker to slip in an IKE_SA_INIT with + both SPIs and MID 1 set when an IKE_AUTH would be expected instead. + + References #816. + +diff --git a/src/libcharon/sa/ikev2/task_manager_v2.c b/src/libcharon/sa/ikev2/task_manager_v2.c +index be84e71..540d4dc 100644 +--- a/src/libcharon/sa/ikev2/task_manager_v2.c ++++ b/src/libcharon/sa/ikev2/task_manager_v2.c +@@ -1304,17 +1304,16 @@ METHOD(task_manager_t, process_message, status_t, + { + if (mid == this->responding.mid) + { +- /* reject initial messages once established */ +- if (msg->get_exchange_type(msg) == IKE_SA_INIT || +- msg->get_exchange_type(msg) == IKE_AUTH) ++ /* reject initial messages if not received in specific states */ ++ if ((msg->get_exchange_type(msg) == IKE_SA_INIT && ++ this->ike_sa->get_state(this->ike_sa) != IKE_CREATED) || ++ (msg->get_exchange_type(msg) == IKE_AUTH && ++ this->ike_sa->get_state(this->ike_sa) != IKE_CONNECTING)) + { +- if (this->ike_sa->get_state(this->ike_sa) != IKE_CREATED && +- this->ike_sa->get_state(this->ike_sa) != IKE_CONNECTING) +- { +- DBG1(DBG_IKE, "ignoring %N in established IKE_SA state", +- exchange_type_names, msg->get_exchange_type(msg)); +- return FAILED; +- } ++ DBG1(DBG_IKE, "ignoring %N in IKE_SA state %N", ++ exchange_type_names, msg->get_exchange_type(msg), ++ ike_sa_state_names, this->ike_sa->get_state(this->ike_sa)); ++ return FAILED; + } + if (!this->ike_sa->supports_extension(this->ike_sa, EXT_MOBIKE)) + { /* with MOBIKE, we do no implicit updates */ diff --git a/src/patches/strongswan-5.2.2-issue-816-eb25190.patch b/src/patches/strongswan-5.2.2-issue-816-eb25190.patch new file mode 100644 index 0000000..8dcb32b --- /dev/null +++ b/src/patches/strongswan-5.2.2-issue-816-eb25190.patch @@ -0,0 +1,31 @@ +commit eb251906298b529fa53b8a99746a9a7a9f318dd5 +Author: Tobias Brunner tobias@strongswan.org +Date: Wed Feb 25 08:18:58 2015 +0100 + + ikev2: Don't destroy the SA if an IKE_SA_INIT with unexpected MID is received + + This reverts 8f727d800751 ("Clean up IKE_SA state if IKE_SA_INIT request + does not have message ID 0") because it allowed to close any IKE_SA by + sending an IKE_SA_INIT with an unexpected MID and both SPIs set to those + of that SA. + + The next commit will prevent SAs from getting created for IKE_SA_INIT messages + with invalid MID. + + Fixes #816. + +diff --git a/src/libcharon/sa/ikev2/task_manager_v2.c b/src/libcharon/sa/ikev2/task_manager_v2.c +index 48266aa..be84e71 100644 +--- a/src/libcharon/sa/ikev2/task_manager_v2.c ++++ b/src/libcharon/sa/ikev2/task_manager_v2.c +@@ -1355,10 +1355,6 @@ METHOD(task_manager_t, process_message, status_t, + { + DBG1(DBG_IKE, "received message ID %d, expected %d. Ignored", + mid, this->responding.mid); +- if (msg->get_exchange_type(msg) == IKE_SA_INIT) +- { /* clean up IKE_SA state if IKE_SA_INIT has invalid msg ID */ +- return DESTROY_ME; +- } + } + } + else diff --git a/src/patches/strongswan-5.2.2-issue-819-cd2c30a.patch b/src/patches/strongswan-5.2.2-issue-819-cd2c30a.patch new file mode 100644 index 0000000..0c54812 --- /dev/null +++ b/src/patches/strongswan-5.2.2-issue-819-cd2c30a.patch @@ -0,0 +1,50 @@ +From cd2c30a56ec9bdab8b3923851509f27a4fd6f537 Mon Sep 17 00:00:00 2001 +From: Tobias Brunner tobias@strongswan.org +Date: Tue, 10 Feb 2015 19:03:44 +0100 +Subject: [PATCH] ikev1: Set protocol ID and SPIs in INITIAL-CONTACT + notification payloads + +The payload we sent before is not compliant with RFC 2407 and thus some +peers might abort negotiation (e.g. with an INVALID-PROTOCOL-ID error). + + #819 +--- + src/libcharon/sa/ikev1/tasks/main_mode.c | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/src/libcharon/sa/ikev1/tasks/main_mode.c b/src/libcharon/sa/ikev1/tasks/main_mode.c +index 5065e70..3ea4a2a 100644 +--- a/src/libcharon/sa/ikev1/tasks/main_mode.c ++++ b/src/libcharon/sa/ikev1/tasks/main_mode.c +@@ -213,6 +213,10 @@ static void add_initial_contact(private_main_mode_t *this, message_t *message, + { + identification_t *idr; + host_t *host; ++ notify_payload_t *notify; ++ ike_sa_id_t *ike_sa_id; ++ u_int64_t spi_i, spi_r; ++ chunk_t spi; + + idr = this->ph1->get_id(this->ph1, this->peer_cfg, FALSE); + if (idr && !idr->contains_wildcards(idr)) +@@ -224,8 +228,15 @@ static void add_initial_contact(private_main_mode_t *this, message_t *message, + if (!charon->ike_sa_manager->has_contact(charon->ike_sa_manager, + idi, idr, host->get_family(host))) + { +- message->add_notify(message, FALSE, INITIAL_CONTACT_IKEV1, +- chunk_empty); ++ notify = notify_payload_create_from_protocol_and_type( ++ PLV1_NOTIFY, PROTO_IKE, INITIAL_CONTACT_IKEV1); ++ ike_sa_id = this->ike_sa->get_id(this->ike_sa); ++ spi_i = ike_sa_id->get_initiator_spi(ike_sa_id); ++ spi_r = ike_sa_id->get_responder_spi(ike_sa_id); ++ spi = chunk_cata("cc", chunk_from_thing(spi_i), ++ chunk_from_thing(spi_r)); ++ notify->set_spi_data(notify, spi); ++ message->add_payload(message, (payload_t*)notify); + } + } + } +-- +1.7.9.5 + diff --git a/src/patches/wget-1.14-texi2pod-1.patch b/src/patches/wget-1.14-texi2pod-1.patch deleted file mode 100644 index 700242b..0000000 --- a/src/patches/wget-1.14-texi2pod-1.patch +++ /dev/null @@ -1,32 +0,0 @@ -Submitted By: Ken Moffat <ken at linuxfromscratch dot org> -Date: 2013-06-18 -Initial Package Version: 1.14 -Upstream Status: Submitted -Origin: Arch -Description: Build with perl-5.18. - -http://lists.gnu.org/archive/html/bug-wget/2013-06/msg00046.html - -From 2ed1707b5d8be66feb80cccfe8e11e719b52b99a Mon Sep 17 00:00:00 2001 -From: Dave Reisner dreisner@archlinux.org -Date: Mon, 17 Jun 2013 23:31:46 +0530 -Subject: [PATCH] Fix error in texi2pod intriduced with Perl 5.18 - ---- - -diff --git a/doc/texi2pod.pl b/doc/texi2pod.pl -index 86c4b18..9db6de1 100755 ---- a/doc/texi2pod.pl -+++ b/doc/texi2pod.pl -@@ -291,7 +291,7 @@ while(<$inf>) { - if (defined $1) { - my $thing = $1; - if ($ic =~ /@asis/) { -- $_ = "\n=item $thing\n"; -+ $_ = "\n=item C<$thing>\n"; - } else { - # Entity escapes prevent munging by the <> processing below. - $_ = "\n=item $ic<$thing>\n"; --- -1.8.3.1 - diff --git a/src/setup/po/LINGUAS b/src/setup/po/LINGUAS index 6fbf14c..8678850 100644 --- a/src/setup/po/LINGUAS +++ b/src/setup/po/LINGUAS @@ -12,7 +12,6 @@ hu id it ja -ja_JP jv km_KH nl @@ -21,7 +20,6 @@ pt_BR pt_PT ro_RO ru -ru_RU rw sk sq diff --git a/src/setup/po/fr.po b/src/setup/po/fr.po index eb04ad4..c649710 100644 --- a/src/setup/po/fr.po +++ b/src/setup/po/fr.po @@ -4,13 +4,15 @@ # # Translators: # irenee Munyaneza muirenee@yahoo.fr, 2014 +# nonux nonux@free.fr, 2015 +# 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: 2014-10-06 16:32+0000\n" -"Last-Translator: irenee Munyaneza muirenee@yahoo.fr\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" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,31 +22,31 @@ msgstr ""
#: dhcp.c:50 msgid "Start address:" -msgstr "" +msgstr "Adresse du début :"
#: dhcp.c:51 msgid "End address:" -msgstr "" +msgstr "Adresse de fin : "
#: dhcp.c:52 networking.c:717 msgid "Primary DNS:" -msgstr "" +msgstr "DNS primaire:"
#: dhcp.c:53 networking.c:723 msgid "Secondary DNS:" -msgstr "" +msgstr "DNS secondaire:"
#: dhcp.c:54 msgid "Default lease (mins):" -msgstr "" +msgstr "Bail par défaut (mins) :"
#: dhcp.c:55 msgid "Max lease (mins):" -msgstr "" +msgstr "Bail maximum (mins) :"
#: dhcp.c:56 msgid "Domain name suffix:" -msgstr "" +msgstr "Suffixe du nom de domaine : "
#: 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,11 +54,11 @@ 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 "Impossible d'ouvrir le fichier de paramètres"
#: dhcp.c:111 msgid "DHCP server configuration" -msgstr "" +msgstr "Configuration du serveur DHCP"
#: dhcp.c:116 msgid "Configure the DHCP server by entering the settings information." @@ -64,7 +66,7 @@ msgstr ""
#: dhcp.c:125 msgid "Enabled" -msgstr "" +msgstr "Activé"
#: 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 @@ -85,31 +87,31 @@ msgstr "Annuler" msgid "" "The following fields are invalid:\n" "\n" -msgstr "" +msgstr "Les champs suivants sont invalides:\n\n"
#: dhcp.c:159 msgid "Start address" -msgstr "" +msgstr "Adresse du début :"
#: dhcp.c:165 msgid "End address" -msgstr "" +msgstr "Adresse de fin : "
#: dhcp.c:173 networking.c:755 msgid "Primary DNS" -msgstr "" +msgstr "DNS primaire"
#: dhcp.c:182 networking.c:764 msgid "Secondary DNS" -msgstr "" +msgstr "DNS secondaire"
#: dhcp.c:189 msgid "Default lease time" -msgstr "" +msgstr "Bail par défaut"
#: dhcp.c:195 msgid "Max. lease time" -msgstr "" +msgstr "Bail maximum"
#: domainname.c:42 main.c:70 msgid "Domain name" @@ -117,35 +119,35 @@ msgstr "Nom de domaine"
#: domainname.c:42 msgid "Enter Domain name" -msgstr "" +msgstr "Entrez le nom de domaine"
#: domainname.c:48 msgid "Domain name cannot be empty." -msgstr "" +msgstr "Le nom de domaine ne peut pas être vide."
#: domainname.c:50 msgid "Domain name cannot contain spaces." -msgstr "" +msgstr "Le nom de domaine ne peut pas contenir d'espace."
#: domainname.c:53 msgid "Domain name may only contain letters, numbers, hyphens and periods." -msgstr "" +msgstr "Le nom de domaine ne peut contenir que des lettres, nombres, traits d'union ou point."
#: hostname.c:46 main.c:69 msgid "Hostname" -msgstr "" +msgstr "Nom d'hôte"
#: hostname.c:46 msgid "Enter the machine's hostname." -msgstr "" +msgstr "Entrez le nom d'hôte de la machine."
#: hostname.c:53 msgid "Hostname cannot be empty." -msgstr "" +msgstr "Le nom de domaine ne peut pas être vide."
#: hostname.c:55 msgid "Hostname cannot contain spaces." -msgstr "" +msgstr "Le nom de domaine ne doit pas contenir d'espaces."
#: hostname.c:58 msgid "Hostname may only contain letters, numbers and hyphens." @@ -161,11 +163,11 @@ msgstr ""
#: main.c:68 timezone.c:77 msgid "Timezone" -msgstr "" +msgstr "Fuseau horaire"
#: main.c:71 networking.c:110 networking.c:115 networking.c:447 msgid "Networking" -msgstr "" +msgstr "Réseau"
#: main.c:72 misc.c:147 msgid "ISDN" @@ -173,11 +175,11 @@ msgstr ""
#: main.c:73 msgid "'root' password" -msgstr "" +msgstr "Mot de passe "root""
#: main.c:74 msgid "'admin' password" -msgstr "" +msgstr "Most de passe "admin""
#: main.c:90 msgid " <Tab>/<Alt-Tab> between elements | <Space> selects" @@ -185,7 +187,7 @@ msgstr ""
#: main.c:97 msgid "Section menu" -msgstr "" +msgstr "Menu de sélection"
#: main.c:98 msgid "Select the item you wish to configure." @@ -193,7 +195,7 @@ msgstr ""
#: main.c:99 msgid "Quit" -msgstr "" +msgstr "Quitter"
#: main.c:172 msgid "Setup is complete." @@ -220,19 +222,19 @@ msgstr ""
#: misc.c:76 msgid "Unable to write /etc/hosts." -msgstr "" +msgstr "Impossible d'écrire /etc/hosts."
#: misc.c:117 msgid "Unable to write /etc/hosts.deny." -msgstr "" +msgstr "Impossible d'écrire /etc/hosts.deny."
#: misc.c:125 msgid "Unable to write /etc/hosts.allow." -msgstr "" +msgstr "Impossible d'écrire /etc/hosts.allow."
#: misc.c:136 msgid "Unable to set hostname." -msgstr "" +msgstr "Impossible de définir le nom d'hôte"
#: misc.c:147 msgid "Scanning and configuring ISDN devices." @@ -245,7 +247,7 @@ msgstr "" #: netstuff.c:86 #, c-format msgid "Interface - %s" -msgstr "" +msgstr "Interface - %s"
#: netstuff.c:91 #, c-format @@ -254,11 +256,11 @@ msgstr ""
#: netstuff.c:103 msgid "Static" -msgstr "" +msgstr "Statique"
#: netstuff.c:104 msgid "DHCP" -msgstr "" +msgstr "DHCP"
#: netstuff.c:105 msgid "PPP DIALUP (PPPoE, modem, ATM ...)" @@ -266,7 +268,7 @@ msgstr ""
#: netstuff.c:113 msgid "DHCP Hostname:" -msgstr "" +msgstr "Nom d'hôte DHCP:"
#: netstuff.c:115 msgid "Force DHCP MTU:" @@ -278,11 +280,11 @@ msgstr "Adresse IP"
#: netstuff.c:146 msgid "Network mask:" -msgstr "" +msgstr "Masque de sous-réseau : "
#: netstuff.c:173 networking.c:749 msgid "The following fields are invalid:" -msgstr "" +msgstr "Les champs suivants sont invalides : "
#: netstuff.c:183 msgid "IP address" @@ -290,11 +292,11 @@ msgstr "Adresse IP"
#: netstuff.c:189 msgid "Network mask" -msgstr "" +msgstr "Masque de réseau"
#: netstuff.c:198 msgid "DHCP hostname" -msgstr "" +msgstr "Nom d'hôte DHCP"
#: netstuff.c:396 netstuff.c:709 msgid "Unset" @@ -311,7 +313,7 @@ msgstr ""
#: netstuff.c:673 networking.c:520 msgid "Select" -msgstr "" +msgstr "Sélectionner"
#: netstuff.c:673 msgid "Identify" @@ -319,7 +321,7 @@ msgstr ""
#: netstuff.c:678 msgid "Device Identification" -msgstr "" +msgstr "Identification du périphérique"
#: netstuff.c:678 msgid "The lights on the selected port should flash now for 10 seconds..." @@ -348,7 +350,7 @@ msgstr ""
#: netstuff.c:762 msgid "Loading module..." -msgstr "" +msgstr "Chargement du module..."
#: netstuff.c:777 msgid "Unable to load driver module." @@ -360,15 +362,15 @@ msgstr "Le nom du module ne doit pas être vide"
#: networking.c:110 msgid "Stopping network..." -msgstr "" +msgstr "Arrêt du réseau..."
#: networking.c:115 msgid "Restarting network..." -msgstr "" +msgstr "Re-démarrage du réseau..."
#: networking.c:146 msgid "No GREEN interface assigned." -msgstr "" +msgstr "Pas d'interface VERTE assignée."
#: networking.c:152 msgid "Missing an IP address on GREEN." @@ -384,7 +386,7 @@ msgstr ""
#: networking.c:164 msgid "No RED interface assigned." -msgstr "" +msgstr "Pas d'interface ROUGE assignée."
#: networking.c:173 msgid "Missing an IP address on RED." @@ -392,7 +394,7 @@ msgstr ""
#: networking.c:183 msgid "No ORANGE interface assigned." -msgstr "" +msgstr "Pas d'interface ORANGE assignée."
#: networking.c:189 msgid "Missing an IP address on ORANGE." @@ -400,7 +402,7 @@ msgstr ""
#: networking.c:199 msgid "No BLUE interface assigned." -msgstr "" +msgstr "Pas d'interface BLEUE assignée."
#: networking.c:205 msgid "Missing an IP address on BLUE." @@ -448,7 +450,7 @@ msgstr "Menu de configuration Reseau"
#: networking.c:269 networking.c:520 networking.c:642 msgid "Done" -msgstr "" +msgstr "Terminé"
#: networking.c:300 #, c-format diff --git a/src/setup/po/ja_JP.po b/src/setup/po/ja_JP.po deleted file mode 100644 index 0d2d2b6..0000000 --- a/src/setup/po/ja_JP.po +++ /dev/null @@ -1,584 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR The IPFire Project (www.ipfire.org) -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -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-12 10:08+0000\n" -"Last-Translator: FULL NAME EMAIL@ADDRESS\n" -"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/ipfire/language/ja_JP/)%5Cn" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: dhcp.c:50 -msgid "Start address:" -msgstr "" - -#: dhcp.c:51 -msgid "End address:" -msgstr "" - -#: dhcp.c:52 networking.c:717 -msgid "Primary DNS:" -msgstr "" - -#: dhcp.c:53 networking.c:723 -msgid "Secondary DNS:" -msgstr "" - -#: dhcp.c:54 -msgid "Default lease (mins):" -msgstr "" - -#: dhcp.c:55 -msgid "Max lease (mins):" -msgstr "" - -#: dhcp.c:56 -msgid "Domain name suffix:" -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 -#: networking.c:134 networking.c:255 networking.c:291 networking.c:346 -#: 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 "" - -#: dhcp.c:111 -msgid "DHCP server configuration" -msgstr "" - -#: dhcp.c:116 -msgid "Configure the DHCP server by entering the settings information." -msgstr "" - -#: dhcp.c:125 -msgid "Enabled" -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 -#: networking.c:269 networking.c:305 networking.c:409 networking.c:560 -#: networking.c:642 networking.c:653 networking.c:746 passwords.c:89 -#: timezone.c:78 -msgid "OK" -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 "" - -#: dhcp.c:156 -msgid "" -"The following fields are invalid:\n" -"\n" -msgstr "" - -#: dhcp.c:159 -msgid "Start address" -msgstr "" - -#: dhcp.c:165 -msgid "End address" -msgstr "" - -#: dhcp.c:173 networking.c:755 -msgid "Primary DNS" -msgstr "" - -#: dhcp.c:182 networking.c:764 -msgid "Secondary DNS" -msgstr "" - -#: dhcp.c:189 -msgid "Default lease time" -msgstr "" - -#: dhcp.c:195 -msgid "Max. lease time" -msgstr "" - -#: domainname.c:42 main.c:70 -msgid "Domain name" -msgstr "" - -#: domainname.c:42 -msgid "Enter Domain name" -msgstr "" - -#: domainname.c:48 -msgid "Domain name cannot be empty." -msgstr "" - -#: domainname.c:50 -msgid "Domain name cannot contain spaces." -msgstr "" - -#: domainname.c:53 -msgid "Domain name may only contain letters, numbers, hyphens and periods." -msgstr "" - -#: hostname.c:46 main.c:69 -msgid "Hostname" -msgstr "" - -#: hostname.c:46 -msgid "Enter the machine's hostname." -msgstr "" - -#: hostname.c:53 -msgid "Hostname cannot be empty." -msgstr "" - -#: hostname.c:55 -msgid "Hostname cannot contain spaces." -msgstr "" - -#: hostname.c:58 -msgid "Hostname may only contain letters, numbers and hyphens." -msgstr "" - -#: keymap.c:84 main.c:67 -msgid "Keyboard mapping" -msgstr "" - -#: keymap.c:85 -msgid "Choose the type of keyboard you are using from the list below." -msgstr "" - -#: main.c:68 timezone.c:77 -msgid "Timezone" -msgstr "" - -#: main.c:71 networking.c:110 networking.c:115 networking.c:447 -msgid "Networking" -msgstr "" - -#: main.c:72 misc.c:147 -msgid "ISDN" -msgstr "" - -#: main.c:73 -msgid "'root' password" -msgstr "" - -#: main.c:74 -msgid "'admin' password" -msgstr "" - -#: main.c:90 -msgid " <Tab>/<Alt-Tab> between elements | <Space> selects" -msgstr "" - -#: main.c:97 -msgid "Section menu" -msgstr "" - -#: main.c:98 -msgid "Select the item you wish to configure." -msgstr "" - -#: main.c:99 -msgid "Quit" -msgstr "" - -#: main.c:172 -msgid "Setup is complete." -msgstr "" - -#: main.c:174 netstuff.c:733 networking.c:560 networking.c:653 -msgid "Warning" -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 "" - -#: misc.c:62 -#, c-format -msgid "Unable to write %s/main/hostname.conf" -msgstr "" - -#: misc.c:71 -msgid "Unable to open main hosts file." -msgstr "" - -#: misc.c:76 -msgid "Unable to write /etc/hosts." -msgstr "" - -#: misc.c:117 -msgid "Unable to write /etc/hosts.deny." -msgstr "" - -#: misc.c:125 -msgid "Unable to write /etc/hosts.allow." -msgstr "" - -#: misc.c:136 -msgid "Unable to set hostname." -msgstr "" - -#: misc.c:147 -msgid "Scanning and configuring ISDN devices." -msgstr "" - -#: misc.c:148 -msgid "Unable to scan for ISDN devices." -msgstr "" - -#: netstuff.c:86 -#, c-format -msgid "Interface - %s" -msgstr "" - -#: netstuff.c:91 -#, c-format -msgid "Enter the IP address information for the %s interface." -msgstr "" - -#: netstuff.c:103 -msgid "Static" -msgstr "" - -#: netstuff.c:104 -msgid "DHCP" -msgstr "" - -#: netstuff.c:105 -msgid "PPP DIALUP (PPPoE, modem, ATM ...)" -msgstr "" - -#: netstuff.c:113 -msgid "DHCP Hostname:" -msgstr "" - -#: netstuff.c:115 -msgid "Force DHCP MTU:" -msgstr "" - -#: netstuff.c:134 -msgid "IP address:" -msgstr "" - -#: netstuff.c:146 -msgid "Network mask:" -msgstr "" - -#: netstuff.c:173 networking.c:749 -msgid "The following fields are invalid:" -msgstr "" - -#: netstuff.c:183 -msgid "IP address" -msgstr "" - -#: netstuff.c:189 -msgid "Network mask" -msgstr "" - -#: netstuff.c:198 -msgid "DHCP hostname" -msgstr "" - -#: netstuff.c:396 netstuff.c:709 -msgid "Unset" -msgstr "" - -#: netstuff.c:669 -#, c-format -msgid "Please choose a networkcard for the following interface - %s." -msgstr "" - -#: netstuff.c:672 -msgid "Extended Network Menu" -msgstr "" - -#: netstuff.c:673 networking.c:520 -msgid "Select" -msgstr "" - -#: netstuff.c:673 -msgid "Identify" -msgstr "" - -#: netstuff.c:678 -msgid "Device Identification" -msgstr "" - -#: netstuff.c:678 -msgid "The lights on the selected port should flash now for 10 seconds..." -msgstr "" - -#: netstuff.c:679 -msgid "Identification is not supported by this interface." -msgstr "" - -#: netstuff.c:691 -msgid "There are no unassigned interfaces on your system." -msgstr "" - -#: netstuff.c:732 -#, c-format -msgid "Do you really want to remove the assigned %s interface?" -msgstr "" - -#: netstuff.c:755 -msgid "Select network driver" -msgstr "" - -#: netstuff.c:755 -msgid "Set additional module parameters" -msgstr "" - -#: netstuff.c:762 -msgid "Loading module..." -msgstr "" - -#: netstuff.c:777 -msgid "Unable to load driver module." -msgstr "" - -#: netstuff.c:780 -msgid "Module name cannot be blank." -msgstr "" - -#: networking.c:110 -msgid "Stopping network..." -msgstr "" - -#: networking.c:115 -msgid "Restarting network..." -msgstr "" - -#: networking.c:146 -msgid "No GREEN interface assigned." -msgstr "" - -#: networking.c:152 -msgid "Missing an IP address on GREEN." -msgstr "" - -#: networking.c:163 -msgid "Error" -msgstr "" - -#: networking.c:163 -msgid "Ignore" -msgstr "" - -#: networking.c:164 -msgid "No RED interface assigned." -msgstr "" - -#: networking.c:173 -msgid "Missing an IP address on RED." -msgstr "" - -#: networking.c:183 -msgid "No ORANGE interface assigned." -msgstr "" - -#: networking.c:189 -msgid "Missing an IP address on ORANGE." -msgstr "" - -#: networking.c:199 -msgid "No BLUE interface assigned." -msgstr "" - -#: networking.c:205 -msgid "Missing an IP address on BLUE." -msgstr "" - -#: networking.c:217 -msgid "Misssing DNS." -msgstr "" - -#: networking.c:224 -msgid "Missing Default Gateway." -msgstr "" - -#: networking.c:237 networking.c:304 -msgid "Network configuration type" -msgstr "" - -#: networking.c:238 networking.c:409 -msgid "Drivers and card assignments" -msgstr "" - -#: networking.c:239 networking.c:640 -msgid "Address settings" -msgstr "" - -#: networking.c:240 networking.c:743 -msgid "DNS and Gateway settings" -msgstr "" - -#: networking.c:260 -msgid "When configuration is complete, a network restart will be required." -msgstr "" - -#: networking.c:267 -#, c-format -msgid "" -"Current config: %s\n" -"\n" -"%s" -msgstr "" - -#: networking.c:268 -msgid "Network configuration menu" -msgstr "" - -#: networking.c:269 networking.c:520 networking.c:642 -msgid "Done" -msgstr "" - -#: networking.c:300 -#, c-format -msgid "" -"Select the network configuration for %s. The following configuration types " -"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 "" - -#: networking.c:307 -#, c-format -msgid "" -"Not enough netcards for your choice.\n" -"\n" -"Needed: %d - Available: %d\n" -msgstr "" - -#: networking.c:359 -msgid "" -"Configure network drivers, and which interface each card is assigned to. The current configuration is as follows:\n" -"\n" -msgstr "" - -#: networking.c:408 -msgid "Do you wish to change these settings?" -msgstr "" - -#: networking.c:447 -msgid "Restarting non-local network..." -msgstr "" - -#: networking.c:464 -msgid "" -"Please choose the interface you wish to change.\n" -"\n" -msgstr "" - -#: networking.c:519 -msgid "Assigned Cards" -msgstr "" - -#: networking.c:520 -msgid "Remove" -msgstr "" - -#: networking.c:556 networking.c:649 -#, c-format -msgid "" -"If you change this IP address, and you are logged in remotely, your " -"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 "" - -#: networking.c:641 -msgid "Select the interface you wish to reconfigure." -msgstr "" - -#: networking.c:729 -msgid "Default gateway:" -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 "" - -#: networking.c:773 -msgid "Default gateway" -msgstr "" - -#: networking.c:780 -msgid "Secondary DNS specified without a Primary DNS" -msgstr "" - -#: passwords.c:33 -msgid "" -"Enter the 'root' user password. Login as this user for commandline access." -msgstr "" - -#: passwords.c:38 passwords.c:61 -msgid "Setting password" -msgstr "" - -#: passwords.c:38 -msgid "Setting 'root' password...." -msgstr "" - -#: passwords.c:39 -msgid "Problem setting 'root' password." -msgstr "" - -#: 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 "" - -#: passwords.c:60 -#, c-format -msgid "Setting %s 'admin' user password..." -msgstr "" - -#: passwords.c:62 -#, c-format -msgid "Problem setting %s 'admin' user password." -msgstr "" - -#: passwords.c:76 -msgid "Password:" -msgstr "" - -#: passwords.c:77 -msgid "Again:" -msgstr "" - -#: passwords.c:95 -msgid "Password cannot be blank." -msgstr "" - -#: passwords.c:102 -msgid "Passwords do not match." -msgstr "" - -#: passwords.c:109 -msgid "Password cannot contain spaces." -msgstr "" - -#: timezone.c:77 -msgid "Choose the timezone you are in from the list below." -msgstr "" diff --git a/src/setup/po/nl.po b/src/setup/po/nl.po index 1ee9093..439f50c 100644 --- a/src/setup/po/nl.po +++ b/src/setup/po/nl.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-01-26 08:29+0000\n" +"PO-Revision-Date: 2015-02-03 07:00+0000\n" "Last-Translator: Jacques Hylkema j.hylkema@intronics.nl\n" "Language-Team: Dutch (http://www.transifex.com/projects/p/ipfire/language/nl/)%5Cn" "MIME-Version: 1.0\n" @@ -298,7 +298,7 @@ msgstr "DHCP hostnaam"
#: netstuff.c:396 netstuff.c:709 msgid "Unset" -msgstr "" +msgstr "Niet ingesteld"
#: netstuff.c:669 #, c-format @@ -352,87 +352,87 @@ msgstr "Bezig met laden van module..."
#: netstuff.c:777 msgid "Unable to load driver module." -msgstr "" +msgstr "Kan driver module niet laden."
#: netstuff.c:780 msgid "Module name cannot be blank." -msgstr "" +msgstr "Module naam mag niet leeg zijn."
#: networking.c:110 msgid "Stopping network..." -msgstr "" +msgstr "Bezig met stoppen van netwerk..."
#: networking.c:115 msgid "Restarting network..." -msgstr "" +msgstr "Bezig met herstarten van netwerk..."
#: networking.c:146 msgid "No GREEN interface assigned." -msgstr "" +msgstr "Geen GROENE interface toegewezen."
#: networking.c:152 msgid "Missing an IP address on GREEN." -msgstr "" +msgstr "Geen IP adres toegewezen aan GROEN."
#: networking.c:163 msgid "Error" -msgstr "" +msgstr "Fout"
#: networking.c:163 msgid "Ignore" -msgstr "" +msgstr "Negeer"
#: networking.c:164 msgid "No RED interface assigned." -msgstr "" +msgstr "Geen RODE interface toegewezen."
#: networking.c:173 msgid "Missing an IP address on RED." -msgstr "" +msgstr "Geen IP adres toegewezen aan ROOD."
#: networking.c:183 msgid "No ORANGE interface assigned." -msgstr "" +msgstr "Geen ORANJE interface toegewezen."
#: networking.c:189 msgid "Missing an IP address on ORANGE." -msgstr "" +msgstr "Geen IP adres toegewezen aan ORANJE"
#: networking.c:199 msgid "No BLUE interface assigned." -msgstr "" +msgstr "Geen BLAUWE interface toegewezen."
#: networking.c:205 msgid "Missing an IP address on BLUE." -msgstr "" +msgstr "Geen IP adres toegewezen aan BLAUW."
#: networking.c:217 msgid "Misssing DNS." -msgstr "" +msgstr "DNS gegevens ontbreken."
#: networking.c:224 msgid "Missing Default Gateway." -msgstr "" +msgstr "Standaard gateway ontbreekt."
#: networking.c:237 networking.c:304 msgid "Network configuration type" -msgstr "" +msgstr "Netwerk configuratie type"
#: networking.c:238 networking.c:409 msgid "Drivers and card assignments" -msgstr "" +msgstr "Drivers en kaart toewijzingen"
#: networking.c:239 networking.c:640 msgid "Address settings" -msgstr "" +msgstr "Adres instellingen"
#: networking.c:240 networking.c:743 msgid "DNS and Gateway settings" -msgstr "" +msgstr "DNS en Gateway instellingen"
#: networking.c:260 msgid "When configuration is complete, a network restart will be required." -msgstr "" +msgstr "Nadat de configuratie is voltooid, moet het netwerk worden herstart."
#: networking.c:267 #, c-format @@ -440,15 +440,15 @@ msgid "" "Current config: %s\n" "\n" "%s" -msgstr "" +msgstr "Huidige configuratie: %s\n\n%s"
#: networking.c:268 msgid "Network configuration menu" -msgstr "" +msgstr "Netwerk configuratie menu"
#: networking.c:269 networking.c:520 networking.c:642 msgid "Done" -msgstr "" +msgstr "Gereed"
#: networking.c:300 #, c-format @@ -457,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 "Selecteer de netwerk configuratie voor %s. De volgende configuratie types laten alleen de netwerkkaarten zien die op ethernet zijn aangesloten. Als je dit wijzigt, moet het netwerk worden herstart en moet je de netwerk driver toewijzingen opnieuw configureren."
#: networking.c:307 #, c-format @@ -465,35 +465,35 @@ msgid "" "Not enough netcards for your choice.\n" "\n" "Needed: %d - Available: %d\n" -msgstr "" +msgstr "Er zijn onvoldoende netwerkkaarten aanwezig voor je keuze.\n\nBenodigd: %d - Beschikbaar: %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 "Configureer netwerk drivers, en welke netwerkkaart aan welke interface is toegewezen. De huidige configuratie is het volgende:\n\n"
#: networking.c:408 msgid "Do you wish to change these settings?" -msgstr "" +msgstr "Wil je deze instellingen wijzigen?"
#: networking.c:447 msgid "Restarting non-local network..." -msgstr "" +msgstr "Bezig met herstarten van het niet-lokale netwerk..."
#: networking.c:464 msgid "" "Please choose the interface you wish to change.\n" "\n" -msgstr "" +msgstr "Kies de interface die je wil wijzigen.\n\n"
#: networking.c:519 msgid "Assigned Cards" -msgstr "" +msgstr "Toegewezen kaarten"
#: networking.c:520 msgid "Remove" -msgstr "" +msgstr "Verwijder"
#: networking.c:556 networking.c:649 #, c-format @@ -502,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 "Als je dit IP adres wijzigt en je bent op afstand ingelogd, dan zal je connectie naar de %s machine worden onderbroken en moet je opnieuw inloggen op het nieuwe IP adres. Dit is een risicovolle operatie die alleen zou moeten worden uitgevoerd als je fysieke toegang tot de machine hebt, mocht er iets misgaan."
#: networking.c:641 msgid "Select the interface you wish to reconfigure." -msgstr "" +msgstr "Selecteer de interface die je wil herconfigureren."
#: networking.c:729 msgid "Default gateway:" -msgstr "" +msgstr "Standaard 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 "Voer de DNS en gatway informatie in. Deze instellingen worden alleen gebruikt indien een statisch IP adres (en DHCP indien DNS is ingesteld) voor de RODE interface is ingesteld."
#: networking.c:773 msgid "Default gateway" -msgstr "" +msgstr "Standaard gateway"
#: networking.c:780 msgid "Secondary DNS specified without a Primary DNS" -msgstr "" +msgstr "Er is een secundaire DNS ingesteld zonder dat een primaire DNS is ingesteld"
#: passwords.c:33 msgid "" "Enter the 'root' user password. Login as this user for commandline access." -msgstr "" +msgstr "Voer het 'root' wachtwoord in. Log als deze gebruiker in voor commando regel toegang."
#: passwords.c:38 passwords.c:61 msgid "Setting password" -msgstr "" +msgstr "Instellen wachtwoord"
#: passwords.c:38 msgid "Setting 'root' password...." -msgstr "" +msgstr "Instellen 'root' wachtwoord..."
#: passwords.c:39 msgid "Problem setting 'root' password." -msgstr "" +msgstr "Probleem bij instellen van 'root' wachtwoord."
#: 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 "Voer het %s 'admin' gebruiker wachtwoord in. Dit is de gebruiker om mee in te loggen op de %s web administratie interface."
#: passwords.c:60 #, c-format msgid "Setting %s 'admin' user password..." -msgstr "" +msgstr "Instellen %s 'admin' wachtwoord..."
#: passwords.c:62 #, c-format msgid "Problem setting %s 'admin' user password." -msgstr "" +msgstr "Probleem bij instellen van %s 'admin' wachtwoord."
#: passwords.c:76 msgid "Password:" -msgstr "" +msgstr "Wachtwoord:"
#: passwords.c:77 msgid "Again:" -msgstr "" +msgstr "Nogmaals:"
#: passwords.c:95 msgid "Password cannot be blank." -msgstr "" +msgstr "Wachtwoord mag niet leeg zijn."
#: passwords.c:102 msgid "Passwords do not match." -msgstr "" +msgstr "Wachtwoorden komen niet overeen,"
#: passwords.c:109 msgid "Password cannot contain spaces." -msgstr "" +msgstr "Wachtwoord mag geen spaties bevatten."
#: timezone.c:77 msgid "Choose the timezone you are in from the list below." -msgstr "" +msgstr "Kies de tijdzone waar je bent uit onderstaande lijst." diff --git a/src/setup/po/pt_BR.po b/src/setup/po/pt_BR.po index 1cb5bc6..b1ea09c 100644 --- a/src/setup/po/pt_BR.po +++ b/src/setup/po/pt_BR.po @@ -3,14 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# douglasdiasn douglasdiasn@gmail.com, 2015 +# Evertton de Lima e.everttonlima@gmail.com, 2015 # Rafael Tavares rafael@ibinetwork.com.br, 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-01-22 20:19+0000\n" -"Last-Translator: Rafael Tavares rafael@ibinetwork.com.br\n" +"PO-Revision-Date: 2015-02-16 23:15+0000\n" +"Last-Translator: Evertton de Lima e.everttonlima@gmail.com\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/ipfire/language/pt_BR/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -85,7 +87,7 @@ msgstr "Cancelar" msgid "" "The following fields are invalid:\n" "\n" -msgstr "" +msgstr "Os campos a seguir são inválidos: \n"
#: dhcp.c:159 msgid "Start address" @@ -117,19 +119,19 @@ msgstr "Domínio "
#: domainname.c:42 msgid "Enter Domain name" -msgstr "" +msgstr "Entre com o nome do Domínio"
#: domainname.c:48 msgid "Domain name cannot be empty." -msgstr "" +msgstr "O nome de Domínio não pode ser vazio."
#: domainname.c:50 msgid "Domain name cannot contain spaces." -msgstr "" +msgstr "O nome de Domínio não pode conter "espaços"."
#: domainname.c:53 msgid "Domain name may only contain letters, numbers, hyphens and periods." -msgstr "" +msgstr "O nome de Domínio pode conter somente letras, números, hífens e pontos."
#: hostname.c:46 main.c:69 msgid "Hostname" @@ -137,19 +139,19 @@ msgstr "Hostname"
#: hostname.c:46 msgid "Enter the machine's hostname." -msgstr "" +msgstr "Entre com o nome do host."
#: hostname.c:53 msgid "Hostname cannot be empty." -msgstr "" +msgstr "O nome de Host não pode ser vazio."
#: hostname.c:55 msgid "Hostname cannot contain spaces." -msgstr "" +msgstr "O nome de Host não pode conter "espaços"."
#: hostname.c:58 msgid "Hostname may only contain letters, numbers and hyphens." -msgstr "" +msgstr "O nome de Host pode conter somente Letras, números e hífens."
#: keymap.c:84 main.c:67 msgid "Keyboard mapping" @@ -157,7 +159,7 @@ msgstr "Selecione seu teclado"
#: keymap.c:85 msgid "Choose the type of keyboard you are using from the list below." -msgstr "" +msgstr "Escolha o tipo do teclado que você esta usando a partir da lista abaixo:"
#: main.c:68 timezone.c:77 msgid "Timezone" @@ -165,7 +167,7 @@ msgstr "Fuso horário "
#: main.c:71 networking.c:110 networking.c:115 networking.c:447 msgid "Networking" -msgstr "" +msgstr "Rede"
#: main.c:72 misc.c:147 msgid "ISDN" @@ -173,19 +175,19 @@ msgstr "ISDN"
#: main.c:73 msgid "'root' password" -msgstr "senha ´'root'" +msgstr "senha 'ROOT'"
#: main.c:74 msgid "'admin' password" -msgstr "senha 'admin'" +msgstr "senha 'ADMIN'"
#: main.c:90 msgid " <Tab>/<Alt-Tab> between elements | <Space> selects" -msgstr "" +msgstr "<Tab>/<Alt-Tab> entre elementos | <Space> seleciona"
#: main.c:97 msgid "Section menu" -msgstr "" +msgstr "Menu de seleção"
#: main.c:98 msgid "Select the item you wish to configure." @@ -207,7 +209,7 @@ msgstr "Atenção" msgid "" "Initial setup was not entirely complete. You must ensure that Setup is " "properly finished by running setup again at the shell." -msgstr "" +msgstr "O setup inicial não foi inteiramente completo. Você deve se certificar que o Setup foi finalizado corretamente rodando o setup novamente no shell."
#: misc.c:62 #, c-format @@ -216,7 +218,7 @@ msgstr "Não foi possível salvar %s/main/hostname.conf"
#: misc.c:71 msgid "Unable to open main hosts file." -msgstr "" +msgstr "Não foi possível abrir o arquivo de Hosts Principal"
#: misc.c:76 msgid "Unable to write /etc/hosts." @@ -232,15 +234,15 @@ msgstr "Não foi possível salvar /etc/hosts.allow."
#: misc.c:136 msgid "Unable to set hostname." -msgstr "" +msgstr "Não foi possível aplicar o Hostname"
#: misc.c:147 msgid "Scanning and configuring ISDN devices." -msgstr "" +msgstr "Escaneando e configurando dispositivos ISDN."
#: misc.c:148 msgid "Unable to scan for ISDN devices." -msgstr "" +msgstr "Não foi possível escanear por dispositivos ISDN."
#: netstuff.c:86 #, c-format @@ -250,7 +252,7 @@ msgstr "Interface - %s" #: netstuff.c:91 #, c-format msgid "Enter the IP address information for the %s interface." -msgstr "" +msgstr "Entre com a informação do endereço IP para a interface %s."
#: netstuff.c:103 msgid "Static" @@ -266,11 +268,11 @@ msgstr "Discador PPP (PPPoE, modem, ATM ...)"
#: netstuff.c:113 msgid "DHCP Hostname:" -msgstr "" +msgstr "Nome do Host DHCP:"
#: netstuff.c:115 msgid "Force DHCP MTU:" -msgstr "" +msgstr "Forçar DHCP MTU:"
#: netstuff.c:134 msgid "IP address:" @@ -282,7 +284,7 @@ msgstr "Mascara de rede:"
#: netstuff.c:173 networking.c:749 msgid "The following fields are invalid:" -msgstr "" +msgstr "Os campos a seguir são inválidos:"
#: netstuff.c:183 msgid "IP address" @@ -294,7 +296,7 @@ msgstr "Marcara de rede"
#: netstuff.c:198 msgid "DHCP hostname" -msgstr "" +msgstr "Nome do Host DHCP:"
#: netstuff.c:396 netstuff.c:709 msgid "Unset" @@ -303,11 +305,11 @@ msgstr "" #: netstuff.c:669 #, c-format msgid "Please choose a networkcard for the following interface - %s." -msgstr "" +msgstr "Favor selecionar a Placa de Rede para a interface - %s."
#: netstuff.c:672 msgid "Extended Network Menu" -msgstr "" +msgstr "Abrir o menu de redes"
#: netstuff.c:673 networking.c:520 msgid "Select" @@ -319,28 +321,28 @@ msgstr "Identifique"
#: netstuff.c:678 msgid "Device Identification" -msgstr "" +msgstr "Identificação do dispositivo"
#: netstuff.c:678 msgid "The lights on the selected port should flash now for 10 seconds..." -msgstr "" +msgstr "As luzes da porta selecionada deverão piscar por 10 segundos a partir de agora..."
#: netstuff.c:679 msgid "Identification is not supported by this interface." -msgstr "" +msgstr "Identificação não é suportada por esta interface."
#: netstuff.c:691 msgid "There are no unassigned interfaces on your system." -msgstr "" +msgstr "Não existem interfaces não associadas em seu sistema."
#: netstuff.c:732 #, c-format msgid "Do you really want to remove the assigned %s interface?" -msgstr "" +msgstr "Você realmente quer remover a interface %s associada?"
#: netstuff.c:755 msgid "Select network driver" -msgstr "" +msgstr "Selecionar driver de rede"
#: netstuff.c:755 msgid "Set additional module parameters" @@ -432,7 +434,7 @@ msgstr "Configurar Gateway e DNS"
#: networking.c:260 msgid "When configuration is complete, a network restart will be required." -msgstr "" +msgstr "Quando a configuração estiver completa, um reinício da rede será necessário."
#: networking.c:267 #, c-format @@ -444,7 +446,7 @@ msgstr "Configuração atual: %s\n\n%s"
#: networking.c:268 msgid "Network configuration menu" -msgstr "" +msgstr "Menu de configuração de rede"
#: networking.c:269 networking.c:520 networking.c:642 msgid "Done" @@ -475,11 +477,11 @@ msgstr ""
#: networking.c:408 msgid "Do you wish to change these settings?" -msgstr "" +msgstr "Você gostaria de alterar essas configurações?"
#: networking.c:447 msgid "Restarting non-local network..." -msgstr "" +msgstr "Reiniciando rede non-local..."
#: networking.c:464 msgid "" @@ -524,7 +526,7 @@ msgstr "Gateway padrão"
#: networking.c:780 msgid "Secondary DNS specified without a Primary DNS" -msgstr "" +msgstr "DNS secundário especificado sem um DNS primário"
#: passwords.c:33 msgid "" diff --git a/src/setup/po/ru.po b/src/setup/po/ru.po index 1a03f0b..4869ecf 100644 --- a/src/setup/po/ru.po +++ b/src/setup/po/ru.po @@ -4,14 +4,15 @@ # # Translators: # Andrei Skipin skian2007@yandex.ru, 2014 +# ellviss kpe1501@gmail.com, 2015 # bubnov_pi ipfire@bubnov.su, 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-12-10 10:22+0000\n" -"Last-Translator: Andrei Skipin skian2007@yandex.ru\n" +"PO-Revision-Date: 2015-02-17 19:30+0000\n" +"Last-Translator: ellviss kpe1501@gmail.com\n" "Language-Team: Russian (http://www.transifex.com/projects/p/ipfire/language/ru/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -259,7 +260,7 @@ msgstr "Статический"
#: netstuff.c:104 msgid "DHCP" -msgstr "" +msgstr "DHCP-сервер"
#: netstuff.c:105 msgid "PPP DIALUP (PPPoE, modem, ATM ...)" @@ -377,11 +378,11 @@ msgstr ""
#: networking.c:163 msgid "Error" -msgstr "" +msgstr "Ошибка"
#: networking.c:163 msgid "Ignore" -msgstr "" +msgstr "Игнорировать"
#: networking.c:164 msgid "No RED interface assigned." @@ -425,11 +426,11 @@ 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." @@ -476,7 +477,7 @@ msgstr ""
#: networking.c:408 msgid "Do you wish to change these settings?" -msgstr "" +msgstr "Вы уверены что хотите изменить эти настройки?"
#: networking.c:447 msgid "Restarting non-local network..." @@ -507,7 +508,7 @@ msgstr ""
#: networking.c:641 msgid "Select the interface you wish to reconfigure." -msgstr "" +msgstr "Выберете интерфейс для реконфигурации"
#: networking.c:729 msgid "Default gateway:" @@ -583,4 +584,4 @@ msgstr "Пароль не может содержать пробелы"
#: timezone.c:77 msgid "Choose the timezone you are in from the list below." -msgstr "" +msgstr "Выберете временную зону в которой вы находитесь из списка ниже" diff --git a/src/setup/po/ru_RU.po b/src/setup/po/ru_RU.po deleted file mode 100644 index 0a803e0..0000000 --- a/src/setup/po/ru_RU.po +++ /dev/null @@ -1,584 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR The IPFire Project (www.ipfire.org) -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -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-12 10:08+0000\n" -"Last-Translator: FULL NAME EMAIL@ADDRESS\n" -"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/ipfire/language/ru_RU/)%5Cn" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru_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" - -#: dhcp.c:50 -msgid "Start address:" -msgstr "" - -#: dhcp.c:51 -msgid "End address:" -msgstr "" - -#: dhcp.c:52 networking.c:717 -msgid "Primary DNS:" -msgstr "" - -#: dhcp.c:53 networking.c:723 -msgid "Secondary DNS:" -msgstr "" - -#: dhcp.c:54 -msgid "Default lease (mins):" -msgstr "" - -#: dhcp.c:55 -msgid "Max lease (mins):" -msgstr "" - -#: dhcp.c:56 -msgid "Domain name suffix:" -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 -#: networking.c:134 networking.c:255 networking.c:291 networking.c:346 -#: 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 "" - -#: dhcp.c:111 -msgid "DHCP server configuration" -msgstr "" - -#: dhcp.c:116 -msgid "Configure the DHCP server by entering the settings information." -msgstr "" - -#: dhcp.c:125 -msgid "Enabled" -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 -#: networking.c:269 networking.c:305 networking.c:409 networking.c:560 -#: networking.c:642 networking.c:653 networking.c:746 passwords.c:89 -#: timezone.c:78 -msgid "OK" -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 "" - -#: dhcp.c:156 -msgid "" -"The following fields are invalid:\n" -"\n" -msgstr "" - -#: dhcp.c:159 -msgid "Start address" -msgstr "" - -#: dhcp.c:165 -msgid "End address" -msgstr "" - -#: dhcp.c:173 networking.c:755 -msgid "Primary DNS" -msgstr "" - -#: dhcp.c:182 networking.c:764 -msgid "Secondary DNS" -msgstr "" - -#: dhcp.c:189 -msgid "Default lease time" -msgstr "" - -#: dhcp.c:195 -msgid "Max. lease time" -msgstr "" - -#: domainname.c:42 main.c:70 -msgid "Domain name" -msgstr "" - -#: domainname.c:42 -msgid "Enter Domain name" -msgstr "" - -#: domainname.c:48 -msgid "Domain name cannot be empty." -msgstr "" - -#: domainname.c:50 -msgid "Domain name cannot contain spaces." -msgstr "" - -#: domainname.c:53 -msgid "Domain name may only contain letters, numbers, hyphens and periods." -msgstr "" - -#: hostname.c:46 main.c:69 -msgid "Hostname" -msgstr "" - -#: hostname.c:46 -msgid "Enter the machine's hostname." -msgstr "" - -#: hostname.c:53 -msgid "Hostname cannot be empty." -msgstr "" - -#: hostname.c:55 -msgid "Hostname cannot contain spaces." -msgstr "" - -#: hostname.c:58 -msgid "Hostname may only contain letters, numbers and hyphens." -msgstr "" - -#: keymap.c:84 main.c:67 -msgid "Keyboard mapping" -msgstr "" - -#: keymap.c:85 -msgid "Choose the type of keyboard you are using from the list below." -msgstr "" - -#: main.c:68 timezone.c:77 -msgid "Timezone" -msgstr "" - -#: main.c:71 networking.c:110 networking.c:115 networking.c:447 -msgid "Networking" -msgstr "" - -#: main.c:72 misc.c:147 -msgid "ISDN" -msgstr "" - -#: main.c:73 -msgid "'root' password" -msgstr "" - -#: main.c:74 -msgid "'admin' password" -msgstr "" - -#: main.c:90 -msgid " <Tab>/<Alt-Tab> between elements | <Space> selects" -msgstr "" - -#: main.c:97 -msgid "Section menu" -msgstr "" - -#: main.c:98 -msgid "Select the item you wish to configure." -msgstr "" - -#: main.c:99 -msgid "Quit" -msgstr "" - -#: main.c:172 -msgid "Setup is complete." -msgstr "" - -#: main.c:174 netstuff.c:733 networking.c:560 networking.c:653 -msgid "Warning" -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 "" - -#: misc.c:62 -#, c-format -msgid "Unable to write %s/main/hostname.conf" -msgstr "" - -#: misc.c:71 -msgid "Unable to open main hosts file." -msgstr "" - -#: misc.c:76 -msgid "Unable to write /etc/hosts." -msgstr "" - -#: misc.c:117 -msgid "Unable to write /etc/hosts.deny." -msgstr "" - -#: misc.c:125 -msgid "Unable to write /etc/hosts.allow." -msgstr "" - -#: misc.c:136 -msgid "Unable to set hostname." -msgstr "" - -#: misc.c:147 -msgid "Scanning and configuring ISDN devices." -msgstr "" - -#: misc.c:148 -msgid "Unable to scan for ISDN devices." -msgstr "" - -#: netstuff.c:86 -#, c-format -msgid "Interface - %s" -msgstr "" - -#: netstuff.c:91 -#, c-format -msgid "Enter the IP address information for the %s interface." -msgstr "" - -#: netstuff.c:103 -msgid "Static" -msgstr "" - -#: netstuff.c:104 -msgid "DHCP" -msgstr "" - -#: netstuff.c:105 -msgid "PPP DIALUP (PPPoE, modem, ATM ...)" -msgstr "" - -#: netstuff.c:113 -msgid "DHCP Hostname:" -msgstr "" - -#: netstuff.c:115 -msgid "Force DHCP MTU:" -msgstr "" - -#: netstuff.c:134 -msgid "IP address:" -msgstr "" - -#: netstuff.c:146 -msgid "Network mask:" -msgstr "" - -#: netstuff.c:173 networking.c:749 -msgid "The following fields are invalid:" -msgstr "" - -#: netstuff.c:183 -msgid "IP address" -msgstr "" - -#: netstuff.c:189 -msgid "Network mask" -msgstr "" - -#: netstuff.c:198 -msgid "DHCP hostname" -msgstr "" - -#: netstuff.c:396 netstuff.c:709 -msgid "Unset" -msgstr "" - -#: netstuff.c:669 -#, c-format -msgid "Please choose a networkcard for the following interface - %s." -msgstr "" - -#: netstuff.c:672 -msgid "Extended Network Menu" -msgstr "" - -#: netstuff.c:673 networking.c:520 -msgid "Select" -msgstr "" - -#: netstuff.c:673 -msgid "Identify" -msgstr "" - -#: netstuff.c:678 -msgid "Device Identification" -msgstr "" - -#: netstuff.c:678 -msgid "The lights on the selected port should flash now for 10 seconds..." -msgstr "" - -#: netstuff.c:679 -msgid "Identification is not supported by this interface." -msgstr "" - -#: netstuff.c:691 -msgid "There are no unassigned interfaces on your system." -msgstr "" - -#: netstuff.c:732 -#, c-format -msgid "Do you really want to remove the assigned %s interface?" -msgstr "" - -#: netstuff.c:755 -msgid "Select network driver" -msgstr "" - -#: netstuff.c:755 -msgid "Set additional module parameters" -msgstr "" - -#: netstuff.c:762 -msgid "Loading module..." -msgstr "" - -#: netstuff.c:777 -msgid "Unable to load driver module." -msgstr "" - -#: netstuff.c:780 -msgid "Module name cannot be blank." -msgstr "" - -#: networking.c:110 -msgid "Stopping network..." -msgstr "" - -#: networking.c:115 -msgid "Restarting network..." -msgstr "" - -#: networking.c:146 -msgid "No GREEN interface assigned." -msgstr "" - -#: networking.c:152 -msgid "Missing an IP address on GREEN." -msgstr "" - -#: networking.c:163 -msgid "Error" -msgstr "" - -#: networking.c:163 -msgid "Ignore" -msgstr "" - -#: networking.c:164 -msgid "No RED interface assigned." -msgstr "" - -#: networking.c:173 -msgid "Missing an IP address on RED." -msgstr "" - -#: networking.c:183 -msgid "No ORANGE interface assigned." -msgstr "" - -#: networking.c:189 -msgid "Missing an IP address on ORANGE." -msgstr "" - -#: networking.c:199 -msgid "No BLUE interface assigned." -msgstr "" - -#: networking.c:205 -msgid "Missing an IP address on BLUE." -msgstr "" - -#: networking.c:217 -msgid "Misssing DNS." -msgstr "" - -#: networking.c:224 -msgid "Missing Default Gateway." -msgstr "" - -#: networking.c:237 networking.c:304 -msgid "Network configuration type" -msgstr "" - -#: networking.c:238 networking.c:409 -msgid "Drivers and card assignments" -msgstr "" - -#: networking.c:239 networking.c:640 -msgid "Address settings" -msgstr "" - -#: networking.c:240 networking.c:743 -msgid "DNS and Gateway settings" -msgstr "" - -#: networking.c:260 -msgid "When configuration is complete, a network restart will be required." -msgstr "" - -#: networking.c:267 -#, c-format -msgid "" -"Current config: %s\n" -"\n" -"%s" -msgstr "" - -#: networking.c:268 -msgid "Network configuration menu" -msgstr "" - -#: networking.c:269 networking.c:520 networking.c:642 -msgid "Done" -msgstr "" - -#: networking.c:300 -#, c-format -msgid "" -"Select the network configuration for %s. The following configuration types " -"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 "" - -#: networking.c:307 -#, c-format -msgid "" -"Not enough netcards for your choice.\n" -"\n" -"Needed: %d - Available: %d\n" -msgstr "" - -#: networking.c:359 -msgid "" -"Configure network drivers, and which interface each card is assigned to. The current configuration is as follows:\n" -"\n" -msgstr "" - -#: networking.c:408 -msgid "Do you wish to change these settings?" -msgstr "" - -#: networking.c:447 -msgid "Restarting non-local network..." -msgstr "" - -#: networking.c:464 -msgid "" -"Please choose the interface you wish to change.\n" -"\n" -msgstr "" - -#: networking.c:519 -msgid "Assigned Cards" -msgstr "" - -#: networking.c:520 -msgid "Remove" -msgstr "" - -#: networking.c:556 networking.c:649 -#, c-format -msgid "" -"If you change this IP address, and you are logged in remotely, your " -"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 "" - -#: networking.c:641 -msgid "Select the interface you wish to reconfigure." -msgstr "" - -#: networking.c:729 -msgid "Default gateway:" -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 "" - -#: networking.c:773 -msgid "Default gateway" -msgstr "" - -#: networking.c:780 -msgid "Secondary DNS specified without a Primary DNS" -msgstr "" - -#: passwords.c:33 -msgid "" -"Enter the 'root' user password. Login as this user for commandline access." -msgstr "" - -#: passwords.c:38 passwords.c:61 -msgid "Setting password" -msgstr "" - -#: passwords.c:38 -msgid "Setting 'root' password...." -msgstr "" - -#: passwords.c:39 -msgid "Problem setting 'root' password." -msgstr "" - -#: 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 "" - -#: passwords.c:60 -#, c-format -msgid "Setting %s 'admin' user password..." -msgstr "" - -#: passwords.c:62 -#, c-format -msgid "Problem setting %s 'admin' user password." -msgstr "" - -#: passwords.c:76 -msgid "Password:" -msgstr "" - -#: passwords.c:77 -msgid "Again:" -msgstr "" - -#: passwords.c:95 -msgid "Password cannot be blank." -msgstr "" - -#: passwords.c:102 -msgid "Passwords do not match." -msgstr "" - -#: passwords.c:109 -msgid "Password cannot contain spaces." -msgstr "" - -#: timezone.c:77 -msgid "Choose the timezone you are in from the list below." -msgstr "" diff --git a/src/setup/po/sq.po b/src/setup/po/sq.po index 4378e9d..339dea1 100644 --- a/src/setup/po/sq.po +++ b/src/setup/po/sq.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Ardit Dani ardit.dani@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: 2014-08-21 15:13+0000\n" -"Last-Translator: Michael Tremer michael.tremer@ipfire.org\n" +"PO-Revision-Date: 2015-02-02 22:35+0000\n" +"Last-Translator: Ardit Dani ardit.dani@gmail.com\n" "Language-Team: Albanian (http://www.transifex.com/projects/p/ipfire/language/sq/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -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 "Anulo"
#: dhcp.c:156 msgid "" @@ -253,7 +254,7 @@ msgstr ""
#: netstuff.c:103 msgid "Static" -msgstr "" +msgstr "Statik"
#: netstuff.c:104 msgid "DHCP" @@ -310,11 +311,11 @@ msgstr ""
#: netstuff.c:673 networking.c:520 msgid "Select" -msgstr "" +msgstr "Përzgjedhje"
#: netstuff.c:673 msgid "Identify" -msgstr "" +msgstr "Identifikuesi"
#: netstuff.c:678 msgid "Device Identification" diff --git a/src/setup/po/tr.po b/src/setup/po/tr.po index dcb417d..4e68418 100644 --- a/src/setup/po/tr.po +++ b/src/setup/po/tr.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Ersan YILDIRIM ersan73@gmail.com, 2015 # Kudret Emre 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: 2014-09-30 20:41+0000\n" -"Last-Translator: Kudret Emre kudretemre@hotmail.com.tr\n" +"PO-Revision-Date: 2015-02-28 22:59+0000\n" +"Last-Translator: Ersan YILDIRIM ersan73@gmail.com\n" "Language-Team: Turkish (http://www.transifex.com/projects/p/ipfire/language/tr/)%5Cn" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -56,11 +57,11 @@ msgstr "Ayar dosyası açılamıyor"
#: dhcp.c:111 msgid "DHCP server configuration" -msgstr "DHCP sunucu yapılandırması" +msgstr "DHCP Sunucu Yapılandırması"
#: dhcp.c:116 msgid "Configure the DHCP server by entering the settings information." -msgstr "Ayarlar bilgisini girerek DHCP sunucusunu yapılandırın." +msgstr "DHCP ayar bilgilerini girerek DHCP sunucusunu yapılandırın."
#: dhcp.c:125 msgid "Enabled" @@ -157,7 +158,7 @@ msgstr "Klavye eşlemesi"
#: keymap.c:85 msgid "Choose the type of keyboard you are using from the list below." -msgstr "Aşağıdaki listeden kullandığınız klavye tipini seçin." +msgstr "Aşağıdaki listeden kullandığınız klavye türünü seçin."
#: main.c:68 timezone.c:77 msgid "Timezone" @@ -173,11 +174,11 @@ msgstr "ISDN"
#: main.c:73 msgid "'root' password" -msgstr "'root' şifresi" +msgstr "'root' parolası"
#: main.c:74 msgid "'admin' password" -msgstr "'admin' şifresi" +msgstr "'admin' parolası"
#: main.c:90 msgid " <Tab>/<Alt-Tab> between elements | <Space> selects" @@ -185,7 +186,7 @@ msgstr " <Tab>/<Alt-Tab> elementler arası geçiş | <Space> se
#: main.c:97 msgid "Section menu" -msgstr "Bölüm menüsü" +msgstr "Bölüm listesi"
#: main.c:98 msgid "Select the item you wish to configure." @@ -207,7 +208,7 @@ msgstr "Uyarı" msgid "" "Initial setup was not entirely complete. You must ensure that Setup is " "properly finished by running setup again at the shell." -msgstr "İlk kurulum tamamen yapılamadı. Kurulumun kabuktan yeniden başlatılıp düzgünce bitirildiğinden emin olmalısınız." +msgstr "İlk kurulum tamamen yapılamadı. Kurulumun terminalden yeniden başlatılıp düzgünce bitirildiğinden emin olmalısınız."
#: misc.c:62 #, c-format @@ -245,12 +246,12 @@ msgstr "ISDN cihazları için tarama yapılamıyor." #: netstuff.c:86 #, c-format msgid "Interface - %s" -msgstr "Arayüz - %s" +msgstr "Ara Birim - %s"
#: netstuff.c:91 #, c-format msgid "Enter the IP address information for the %s interface." -msgstr "%s arayüzü için IP adresi bilgisini girin." +msgstr "%s ara birimi için IP adres bilgisini girin."
#: netstuff.c:103 msgid "Static" @@ -270,7 +271,7 @@ msgstr "DHCP Ana bilgisayar adı:"
#: netstuff.c:115 msgid "Force DHCP MTU:" -msgstr "Force DHCP MTU:" +msgstr "DHCP MTU zorla:"
#: netstuff.c:134 msgid "IP address:" @@ -298,16 +299,16 @@ msgstr "DHCP Ana bilgisayar adı"
#: netstuff.c:396 netstuff.c:709 msgid "Unset" -msgstr "Unset" +msgstr "Kurulmamış"
#: netstuff.c:669 #, c-format msgid "Please choose a networkcard for the following interface - %s." -msgstr "Lütfen %s arayüzü için bit ağ kartı seçin." +msgstr "Lütfen %s ara birimi için bir ağ kartı seçin."
#: netstuff.c:672 msgid "Extended Network Menu" -msgstr "Genişletilmiş Ağ Menüsü" +msgstr "Genişletilmiş Ağ Listesi"
#: netstuff.c:673 networking.c:520 msgid "Select" @@ -327,16 +328,16 @@ msgstr "Seçilen porttaki ışıklar şimdi 10 saniye boyunca yanıp sönmeli...
#: netstuff.c:679 msgid "Identification is not supported by this interface." -msgstr "Bu arayüz kimdik doğrulamayı desteklemiyor." +msgstr "Bu ara birim kimdik doğrulamayı desteklemiyor."
#: netstuff.c:691 msgid "There are no unassigned interfaces on your system." -msgstr "Sisteminizde atanmamış arayüz yok." +msgstr "Sisteminizde atanmamış ara birim yok."
#: netstuff.c:732 #, c-format msgid "Do you really want to remove the assigned %s interface?" -msgstr "Atanmış %s arayüzü gerçekten kaldırmak istiyor musunuz?" +msgstr "Atanmış %s ara birimini gerçekten kaldırmak istiyor musunuz?"
#: netstuff.c:755 msgid "Select network driver" @@ -368,7 +369,7 @@ msgstr "Ağ yeniden başlatılıyor..."
#: networking.c:146 msgid "No GREEN interface assigned." -msgstr "Atanmış YEŞİL arayüz yok." +msgstr "Atanmış YEŞİL ara birim yok."
#: networking.c:152 msgid "Missing an IP address on GREEN." @@ -384,7 +385,7 @@ msgstr "Yoksay"
#: networking.c:164 msgid "No RED interface assigned." -msgstr "Atanmış KIRMIZI arayüz yok." +msgstr "Atanmış KIRMIZI ara birim yok."
#: networking.c:173 msgid "Missing an IP address on RED." @@ -392,7 +393,7 @@ msgstr "KIRMIZI üzerinde kayıp IP adresi."
#: networking.c:183 msgid "No ORANGE interface assigned." -msgstr "Atanmış TURUNCU arayüz yok." +msgstr "Atanmış TURUNCU ara birim yok."
#: networking.c:189 msgid "Missing an IP address on ORANGE." @@ -400,7 +401,7 @@ msgstr "TURUNCU üzerinde kayıp IP adresi."
#: networking.c:199 msgid "No BLUE interface assigned." -msgstr "Atanmış MAVİ arayüz yok." +msgstr "Atanmış MAVİ ara birim yok."
#: networking.c:205 msgid "Missing an IP address on BLUE." @@ -416,7 +417,7 @@ msgstr "Kayıp Varsayılan Ağ Geçidi"
#: networking.c:237 networking.c:304 msgid "Network configuration type" -msgstr "Ağ yapılandırma tipi" +msgstr "Ağ yapılandırma türü"
#: networking.c:238 networking.c:409 msgid "Drivers and card assignments" @@ -424,15 +425,15 @@ msgstr "Sürücüler ve kart atamaları"
#: networking.c:239 networking.c:640 msgid "Address settings" -msgstr "Adres ayarları" +msgstr "Adres Ayarları"
#: networking.c:240 networking.c:743 msgid "DNS and Gateway settings" -msgstr "DNS ve Ağ Geçidi ayarları" +msgstr "DNS ve Ağ Geçidi Ayarları"
#: networking.c:260 msgid "When configuration is complete, a network restart will be required." -msgstr "Yapılandırma tamamlandığında yeniden başlatma gerekecek." +msgstr "Yapılandırma tamamlandığında ağı yeniden başlatmanız gerekir."
#: networking.c:267 #, c-format @@ -444,11 +445,11 @@ msgstr "Geçerli yapılandırma: %s\n\n%s"
#: networking.c:268 msgid "Network configuration menu" -msgstr "Ağ yapılandırma menüsü" +msgstr "Ağ Yapılandırma Listesi"
#: networking.c:269 networking.c:520 networking.c:642 msgid "Done" -msgstr "Tamam" +msgstr "Bitti"
#: networking.c:300 #, c-format @@ -457,7 +458,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 "%s için ağ yapılandırmasını seçin. Aşağıdaki yapılandırma tipi listesi ethernet ayarı yapılmış olan arayüzleri gösterir. Eğer bu ayarları değiştirirseniz, ağın yeniden başlatılması ve ağ sürücüleri atamalarını tekrar yapılandırmanız gerekecektir." +msgstr "%s için ağ yapılandırmasını seçin. Aşağıdaki yapılandırma türleri ethernet kartlarına atanmış arabirimleri listeler. Eğer bu ayarları değiştirirseniz, ağın yeniden başlatılması ve ağ sürücüleri atamalarını tekrar yapılandırmanız gerekecektir."
#: networking.c:307 #, c-format @@ -471,7 +472,7 @@ msgstr "Seçiminiz için yeterli kart yok.\n\nGereken: %d - Kullanılabilir: %d\ msgid "" "Configure network drivers, and which interface each card is assigned to. The current configuration is as follows:\n" "\n" -msgstr "Ağ sürücülerini ve her bir kart için atanmış arayüzleri yapılandırın. Geçerli yapılandırma aşağıdaki gibidir:\n\n" +msgstr "Ağ sürücülerini ve her bir kart için atanmış ara birimleri yapılandırın. Geçerli yapılandırma aşağıdaki gibidir:\n\n"
#: networking.c:408 msgid "Do you wish to change these settings?" @@ -485,7 +486,7 @@ msgstr "Yerel olmayan ağ yeniden başlatılıyor..." msgid "" "Please choose the interface you wish to change.\n" "\n" -msgstr "Lütfen değiştirmek istediğiniz arayüzü seçin.\n\n" +msgstr "Lütfen değiştirmek istediğiniz ara birimi seçin.\n\n"
#: networking.c:519 msgid "Assigned Cards" @@ -506,7 +507,7 @@ msgstr "Eğer bu IP adresini değiştirirseniz, ve uzaktan oturum açmışsanız
#: networking.c:641 msgid "Select the interface you wish to reconfigure." -msgstr "Yeniden yapılandırmak istediğiniz arayüzü seçin." +msgstr "Yeniden yapılandırmak istediğiniz ara birimi seçin."
#: networking.c:729 msgid "Default gateway:" @@ -516,7 +517,7 @@ msgstr "Varsayılan ağ geçidi:" 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 "DNS ve ağ geçidi bilgisini girin. Bu ayarlar sadece KIRMIZI arayüzde Statik IP (ve eğer DNS ayarlanmışsa DHCP) ile kullanılacaktır." +msgstr "DNS ve ağ geçidi bilgilerini girin. Bu ayarlar sadece KIRMIZI ara birim adres ayarlarında Statik seçeneği seçilmişse kullanılır. Eğer KIRMIZI ara birim adres ayarlarında DHCP seçeneğini seçtiyseniz bu alanı boş bırakabilirsiniz."
#: networking.c:773 msgid "Default gateway" @@ -529,40 +530,40 @@ msgstr "Birincil DNS olmadan İkincil DNS belirtildi." #: passwords.c:33 msgid "" "Enter the 'root' user password. Login as this user for commandline access." -msgstr "'root' kullanıcı şifresini girin. Komut satırına erişmek için bu kullanıcıyla oturum açın." +msgstr "%s '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" -msgstr "Şifre ayarlanıyor" +msgstr "Parola ayarlanıyor"
#: passwords.c:38 msgid "Setting 'root' password...." -msgstr "'root' şifresi ayarlanıyor..." +msgstr "'root' parolası ayarlanıyor..."
#: passwords.c:39 msgid "Problem setting 'root' password." -msgstr "'root' şifresi ayarlama sorunu." +msgstr "'root' parolası ayarlama sorunu."
#: 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 "%s 'admin' kullanıcısı için şifre girin. Bu kullanıcı, %s web yönetim sayfalarını kullanmak için oturum açılacak kullanıcıdır." +msgstr "%s 'admin' kullanıcı parolasını girin. Bu kullanıcı, %s web yönetimi sayfalarının kayıtlarına erişebilen kullanıcıdır."
#: passwords.c:60 #, c-format msgid "Setting %s 'admin' user password..." -msgstr "%s 'admin' kullanıcısının şifresi ayarlanıyor..." +msgstr "%s 'admin' kullanıcısının parolası ayarlanıyor..."
#: passwords.c:62 #, c-format msgid "Problem setting %s 'admin' user password." -msgstr "%s 'admin' kullanıcı şifresi ayarlama sorunu." +msgstr "%s 'admin' kullanıcı parolası ayarlama sorunu."
#: passwords.c:76 msgid "Password:" -msgstr "Şifre:" +msgstr "Parola:"
#: passwords.c:77 msgid "Again:" @@ -570,16 +571,16 @@ msgstr "Tekrar:"
#: passwords.c:95 msgid "Password cannot be blank." -msgstr "Şifre boş olamaz." +msgstr "Parola boş olamaz."
#: passwords.c:102 msgid "Passwords do not match." -msgstr "Şifreler eşleşmiyor." +msgstr "Parolalar eşleşmiyor."
#: passwords.c:109 msgid "Password cannot contain spaces." -msgstr "Şifre boşluk içeremez." +msgstr "Parola boşluk içeremez."
#: timezone.c:77 msgid "Choose the timezone you are in from the list below." -msgstr "Aşağıdaki listeden içinde bulunduğunuz zaman dilimini seçin." +msgstr "Aşağıdaki listeden bulunduğunuz zaman dilimini seçin." diff --git a/src/squid-accounting/acct-lib.pl b/src/squid-accounting/acct-lib.pl index bac1e36..7969a50 100644 --- a/src/squid-accounting/acct-lib.pl +++ b/src/squid-accounting/acct-lib.pl @@ -337,7 +337,12 @@ sub getmonth{ my $monat=$_[0]-1 if($_[0]); my $tag=1; my $time1=timelocal(0,0,0,$tag,$monat,$jahr); - my $time2=timelocal(0,0,0,$tag,($monat+1),$jahr); + my $time2=0; + if (($monat+1) == 12){ + $time2=timelocal(0,0,0,$tag,0,$jahr+1); + }else{ + $time2=timelocal(0,0,0,$tag,$monat+1,$jahr); + } --$time2; return ($time1,$time2); }
hooks/post-receive -- IPFire 2.x development tree