summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@whissi.de>2016-06-13 20:30:54 +0200
committerKristian Fiskerstrand <k_f@gentoo.org>2016-06-13 20:36:32 +0200
commitfa58d5378eee1fc28ceff889a80e26beffa23d38 (patch)
treeb263b5ce82a7e454acf3602b4bbf83152d819cf2 /www-servers
parentsys-libs/libunwind: clean up debug configure bug (diff)
downloadgentoo-fa58d5378eee1fc28ceff889a80e26beffa23d38.tar.gz
gentoo-fa58d5378eee1fc28ceff889a80e26beffa23d38.tar.bz2
gentoo-fa58d5378eee1fc28ceff889a80e26beffa23d38.zip
www-servers/nginx: Security cleanup
Dropping nginx-1.8.1 which is vulnerable to CVE-2016-4450 and was replaced by nginx-1.10.1 via commit 9d8b4adb72f5912b8c121bdda6ffee72e08926d7. Gentoo-Bug: 584744 Package-Manager: portage-2.3.0_rc1
Diffstat (limited to 'www-servers')
-rw-r--r--www-servers/nginx/Manifest12
-rw-r--r--www-servers/nginx/files/AJP-nginx-1.7.9+.patch184
-rw-r--r--www-servers/nginx/files/check-1.9.2.patch242
-rw-r--r--www-servers/nginx/files/lua-nginx-1.7.6.patch39
-rw-r--r--www-servers/nginx/files/rtmp-nginx-1.7.6.patch89
-rw-r--r--www-servers/nginx/nginx-1.8.1.ebuild667
6 files changed, 0 insertions, 1233 deletions
diff --git a/www-servers/nginx/Manifest b/www-servers/nginx/Manifest
index f9608ef63815..2932c5a28dff 100644
--- a/www-servers/nginx/Manifest
+++ b/www-servers/nginx/Manifest
@@ -1,33 +1,21 @@
-DIST modsecurity-2.9.0.tar.gz 4246467 SHA256 e2bbf789966c1f80094d88d9085a81bde082b2054f8e38e0db571ca49208f434 SHA512 1af04f29bf23c51d03cdd3795c530f88b523a645aa02d776a6b23dcbc31decec7cd574919e5c7c7cf82684df2774062de5e465bddbbaf4c01a442c6d49401d3d WHIRLPOOL 1167ba6048a3ca05dcdabf03c67ae12720cca0cec74547fc223ee92ff76b6d5131785fa77b5f16da180e56590c851c192eaf02817b798e4d6f41fa6bfb2735a6
DIST modsecurity-2.9.1.tar.gz 4261212 SHA256 958cc5a7a7430f93fac0fd6f8b9aa92fc1801efce0cda797d6029d44080a9b24 SHA512 374733cbfc26e53d95b78c8f268a4e465d838163e9893fc24e33a9d272b114f1b287147bab6d0289575074cbbd94f48983e23fa59832cbcb32950046cea59269 WHIRLPOOL 5f41bebf032f8a269412d104b7632a06af4d4c495658c9cd1ebf69b82c10ce1bbcb34b9dd159a7b00e57348714a5e93ad3db19701dda51479accd3a9dc79a9cb
DIST nginx-1.10.1.tar.gz 909077 SHA256 1fd35846566485e03c0e318989561c135c598323ff349c503a6c14826487a801 SHA512 fa1329d40e83340380332dd5e2ed66f08dd59cc7f7582dd0e0193c493353ba550e80dc80e5165c225d70532d4197abc49cc8c760e8ab72e48f630cb57c2803e1 WHIRLPOOL 6942f70c3279a28bd8d664d085dee68bf0d0526c8dcb636f3258c9de598268efc984af72e527efd86889bd13911b38b0bdb2de1e92eef69cabd02f7080f64eb6
DIST nginx-1.11.1.tar.gz 913417 SHA256 5d8dd0197e3ffeb427729c045382182fb28db8e045c635221b2e0e6722821ad0 SHA512 01330a5200b9b5ac5788cd95b2857d2ff87bf0a073a93e3e441b89d19f12137b496e6de67145c04cc74ba88d599a7be96d622f29785e30df23fc8a657adf8b2a WHIRLPOOL e902d408f45eb9168db5a5220275896a072419660505eb45816280f1a2d2150593262d601583d2c34b521fae560fdd237e6609e85bf03a30b7721c10299a207e
-DIST nginx-1.8.1.tar.gz 833473 SHA256 8f4b3c630966c044ec72715754334d1fdf741caa1d5795fb4646c27d09f797b7 SHA512 546eba1749af0034cb8b924d2432be2f0e82a75c545aa929391ef7234103c3f29376235a2ef1363b120e1825cda15aeb085a05f9ce3596c88466e112e82aa882 WHIRLPOOL cd399083fb14bdb3498f1cd91a1cb59a73d37f323ce7c2a32500c9443f654cb5449137708cf149a0126aedb77abec9d1eb3dce3121f0b378d7d70e8eb18062af
DIST nginx-auth-ldap-dbcef31bebb2d54b6120422d0b178bbf78bc48f7.tar.gz 16998 SHA256 35c8f29581823be0f8bdbcf237d7fa5518c45eabe0ab9a695b131d32c8f1c264 SHA512 f47a9a6c5f93daa9260825261d2069bca5fc528221f94fc8ec98462f61774a36bce0238d931f8d0690544fd0144a83f942b6673c8376fe03f7834f8da9666671 WHIRLPOOL 26a2f67e715d13f785932f00e642c0864b5b7059d120f7fe7458017dbe02203f4873d1cfc4f0dd262834465438ad2b00ef4b49295e18a8e246abda6f7694ac70
-DIST nginx_http_sticky_module_ng-1.2.5.tar.bz2 124072 SHA256 f975c033eb3c342f7247f6524774bbb727aaf630ed984576dbafe5de7a790c58 SHA512 d6ae723f739efb2f0548461931b1c395801684759962beda08067111426b1c9787ceaede91b0e984c023108fd17864c53c53925506f7e8e25ec8d2fc065585f6 WHIRLPOOL 1013c6a51f5989c8131392b3d9704d42c99f9727a673f6205878d0b7dfd265bb6042c1d30089603c9b38e339d48302e6873e77fe380b7e8edba25b71e9e84ba6
DIST nginx_http_sticky_module_ng-1.2.6.tar.bz2 124089 SHA256 e47b9fd435d7a5a3200f945a9745aaa7b9446495bda76df48f211129f88d6b26 SHA512 2632b04c94f523aa7c9726db182cba11d83e642c2db5798274e67fbef30de95d02e4e95cbfb98bc429d4244d630b5d9617405b43f728ae0117a5c134940c0ded WHIRLPOOL 1b754c02f834c6b4d4930e9c46b8c5accb6c9663718fb9296c92d79bc33206e66e49e4234ca4db9a5afcd42fa23273bdf0e675aa7b38927c4e46a85318c189eb
-DIST ngx_devel_kit-0.2.19-r1.tar.gz 65029 SHA256 501f299abdb81b992a980bda182e5de5a4b2b3e275fbf72ee34dd7ae84c4b679 SHA512 915954acf16a27fbd3c93c154012d38e864f1d8dfd51cde401bba26e46eb3e3c778ec4c92f4f8ed83ac001e96cee72765554d0e4da06acf6a4be5184b23b3657 WHIRLPOOL 0ce6bffc0fe2cef28ee74f5862ca6d914ed18fdee18d900608ff2a9983594c707aab3e335957b79dd7e77ae1beed054d8f71965ca0f57fc5f1d41ac06106c5a4
DIST ngx_devel_kit-0.3.0-r1.tar.gz 66455 SHA256 88e05a99a8a7419066f5ae75966fb1efc409bad4522d14986da074554ae61619 SHA512 558764c9be913a4f61d0e277d07bf3c272e1ce086b3fadb85b693a7e92805cd9fca4da7a8d29c96e53fc0d23b331327d3b2561ff61f19d2330e7d5d35ac7d614 WHIRLPOOL 5f6ed4e6850d2ce7e8c65e0570a7e2c74a1fe360e167644ed405fff682ab178b09c722c99c1df9af552fb816219b9fc04dcdf638b3e4af68c688434cdb33aa59
-DIST ngx_http_auth_pam-1.4.tar.gz 6502 SHA256 095742c5bcb86f2431e215db785bdeb238d594f085a0ac00d16125876a157409 SHA512 8d60347c666736ef39161b287ad32820ad6be4695f1c0f27a000d46bfc7e26c95233247d39cf37296518a6329ba73f06756d0b0b68157b0e5f67796f73264db3 WHIRLPOOL 2f0e60366cf43727c9b3aa07d2cb803a997cb9a4f48ba28e575f470bbb7c28115f41d390e306219ad130501a62e204d403bbca5ee784628fbca35b407f51702c
DIST ngx_http_auth_pam-1.5.1.tar.gz 6863 SHA256 77676842919134af88a7b4bfca4470223e3a00d287d17c0dbdc9a114a685b6e7 SHA512 973b94874d8a58c0df0ac2d31571eafc1e80b11179cba33ec88421a826207fbf7e99b0387e135a1ca48d82daacb78f19a4c21d3a27b49b16dc86b4748bb72261 WHIRLPOOL 4fcaadee859f325c734aa16763702ee40284d1debcfbf5df1cb9aadf2bfc72c1e8d0e5b9d1495f34fc719f4d7fa3e653797fa7917f8fd0437fa2023a1930f667
DIST ngx_http_cache_purge-2.3.tar.gz 12248 SHA256 279e0d8a46d3b1521fd43b3f78bc1c08b263899142a7cc5058c1c0361a92c89c SHA512 50a31dbf2216a6fae74a186af56dec4600cf55777e76a10ac0075f609e7737135aab063a64f2590dddcd0369ebebd4a523027f3d9ebcca74f7b4355be1c5dcc0 WHIRLPOOL 5451ef3e33044210453995ea916acec679599c0ded5471d464db5003a07e7a06e9690812091148c2af7b50384e52b32e49136eac02e0330724ba2408d893f96c
DIST ngx_http_dav_ext-0.0.3.tar.gz 6260 SHA256 d428a0236c933779cb40ac8c91afb19d5c25a376dc3caab825bfd543e1ee530d SHA512 4763b1c5e417248d80acfacf20bfc5ba3e06675ff08e37703867daef99a400980b536941e4955c259432905bd11ab998bc2e2489a50350413c7bf37e18eafb74 WHIRLPOOL 5adbcea768fbb179249a03fe69304505ec09a1dafac848dd5e3cde96693c6fbcf6cf6c128ca116d02b36c1be0008807d9e86fee5b411e137b18b15a60291f29b
-DIST ngx_http_echo-0.57.tar.gz 65073 SHA256 8467237ca0fae74ca7a32fbd34fc6044df307098415d48068214c9c235695a07 SHA512 c89780eca9267c9984a022a4dbd9ebf603dbd5c323bfea5ea7898ca9fc0a744388ce7520e7a9799aeabd6573f8e71ee595fe9998fa54e5d5c412b21031edd31d WHIRLPOOL e481b6f57a6ff48706fa7e281f31f15a5522c29b98620559cebe8412207d5595497cdce9156e7762cceff6369e9f678d5a81bf3c83fb2e8c5d8786622f1c27b8
DIST ngx_http_echo-0.59.tar.gz 52703 SHA256 9b319ad7836202883128d2b9c24ed818082541df57ef7f2065b7557085c603cd SHA512 803c431da00160f62ee98e126d244fb97b2d9dca08137daabf55504f012598f8e2c689841c2e8bfced5f07ce24c46933c49b3feffc09ca0b5f07dc10e34546ee WHIRLPOOL a709ded0dd1af2b6c1c5da6f065834ab7715eb736f36018acf06c2c10389bf896dc4459acbbb479340b9da6f287143cd25fca7df503acea457cf0933ba67e9a1
-DIST ngx_http_fancyindex-0.3.5.tar.gz 14837 SHA256 e0998e83be58bc5787fa9243a76a9d21de3cd01088d3cf63177ba88a562634a1 SHA512 ddb4ab3e8e47e1c49680db3e9f648f7cd582c07f963204105118e61432fa1e80c3f1bce69ed689db383011a9c155184bcc7e931eeae20bbd7cbdb5d4eb35a0a8 WHIRLPOOL a45db854d75f05a59c6f5e67c652850b5410162e7852abda20bb6720d29cc716f25ce7ea93ef52f9ff3f11d6d3a744c1fa4c7a6270fc1bd6d42f6743accb8e73
DIST ngx_http_fancyindex-0.4.0.tar.gz 18419 SHA256 152cc2cf082c23cbc7b0fc76f14af4015d3988783016dc9145edebec17c7e230 SHA512 47fd9f405475f96958eb255f9051a9bde1ad8b515356bbaff8f8034ee34ecc17e3574c1d104496c5069c8986e047ca0de386f1b7d2f7317f15be98d69e74b624 WHIRLPOOL 4972eea9f6b8373b4bbcf73c66fe3dc635bc6326f264febc9a5a0fc620d44f1a3d1f98c91c1d2acb6779729a1e188c1f4a8750972266d1e463658529d37fa596
-DIST ngx_http_headers_more-0.26.tar.gz 28028 SHA256 d6bdc51f9e778a3b23e41a51cae542c1467a1e5e55c1329a7ffc454be084fb6f SHA512 842927de67d28f3cff596607f209d1004b6d49f1d45b861758405ed6fe6f7aab76ad63530ccdfff1c1947db1190dd65dee0a29f50026bfa7a39a9a051561cf88 WHIRLPOOL 0dc37c36717be40a07112388d913d20bc99d76f90604da618d5547f24d93c636c14c2cca18191ff5916b40ec0113da648cfc07e1c00b1853f2b15ce056d5f3d7
DIST ngx_http_headers_more-0.30.tar.gz 27793 SHA256 2aad309a9313c21c7c06ee4e71a39c99d4d829e31c8b3e7d76f8c964ea8047f5 SHA512 378f2c4b4fbf580e59c8ad3ef5fcb617e4669b7b506a0ae87e4e0bc920d34e16fe55565e48dd57e7b6c37ae8b407646ca64f5d84a2fbbe2d41d719c7643c1a82 WHIRLPOOL f50bb5c2e23fb63d98904163a873edf947f65e57dc0f73489024243c1d5b04e0677015a075d315585e535e226b8dad659bada563778b8ddf4d060e918fc37ace
DIST ngx_http_lua-0.10.5.tar.gz 579793 SHA256 4f0292c37ab3d7cb980c994825040be1bda2c769cbd800e79c43eb37458347d4 SHA512 a02b8614fdcd063b1087a3114f05402c707343ff3bceabaca1fb98531ba30edea1a525fc45e2f5a49ff155de8d6f9e1155e8870e463476da5703acfd5f8fc3fc WHIRLPOOL 9c72353bc58a98fd3bae68bd9b13228d202167422a429aa4b455f7e280cb617b5c083131e4f372708e602342b24b150437ed8ebae9647a397bae8a88a13b385c
-DIST ngx_http_lua-0.9.15.tar.gz 520190 SHA256 659fe4c201f4a4ae1007fa029cef472aaa837bf0904babb6158f83b86536c5b7 SHA512 1d809f873ced8e50422298bb4b730b8e7aaf442c11570cbe892fd73a414ff4f6d6eca7be8b2d2dbf57a136136b17d80596ee2f2f195dcb59776e78df5a94ae92 WHIRLPOOL caf128254f99d674eb370779c6e41c0b459be1c5a2baac7df1ff3498a38349bd2c140594eea3eb29c468a366e265421f90363886be73db0b3484cc6f386cb563
-DIST ngx_http_naxsi-0.53-2.tar.gz 165690 SHA256 3eadff1d91995beae41b92733ade28091c2075a24ae37058f4d6aa90b0f4b660 SHA512 ada592f5e7f80a6d549cc435ee8720df01a788dc88cf27a7d55521bb7e4c66fa11b9ec28216aff7e13c70a5faf12cb745bd398b8a782ed4dea1eecd04b07e24c WHIRLPOOL c5b736dbe9bd66daf7e023f176a08f78225b61990781d7ad5a55d0f35391df7e05bf1b2623a6227e0355cf0204ef9eac1b9fa03aa62b3c0d6eac515f1213f270
DIST ngx_http_naxsi-0.54.tar.gz 163809 SHA256 9cc2c09405bc71f78ef26a8b6d70afcea3fccbe8125df70cb0cfc480133daba5 SHA512 91934bfd41495715269cc6e549d17f6da66f2bdd0c9a6821fa9096b694dd3927109c4aad2f8b327620ae7c34f76a0839ac16669cd8c65081bc01fa7f829c1d43 WHIRLPOOL ef68cfecc9849086527c3590744d3c0d73cec830c6cf1ebca63566a7444438757a85d0c79fa552c4763e0416a615f4cf8d99622e2f36d3713b7072138a82f5a8
-DIST ngx_http_push_stream-0.4.1.tar.gz 166928 SHA256 553584f557a3faec73702550e7e1417cbc0021f4f98468cc83e61e9d94def5cc SHA512 3b2289cc3abe6df0ee39360816675a39de1669a284e23770aa04b29e1e5dc73f5d99f3db6c7e8e4895a4abad0602aa64024ec19a2e741e138a70191501f038be WHIRLPOOL 9d203d4a78a3bd189527ebeaf1ff98613ee6a3150ae433efa17ed45dd9f6cb263b2a4c329a6fc2d04c6583ac2beaf24e87e3263d71a910f720b80038c9bc09c2
DIST ngx_http_push_stream-0.5.2.tar.gz 182008 SHA256 1d07f38acdb8194bd49344b0ba21de101070de9b8731d27a8d22e928850bc199 SHA512 ee8bf9ece652da6aa5a39879298bba70d1842696545259f3f5e302cc61397b35f016364805805f9ab1914fc39ed2f07c015e042155789073e3d1fdc02a0783de WHIRLPOOL d309cecbb1bb5b6c4f64712d44889e3ecca59140d845a31a3f605dc3cc2aa01622b0deadb8f6852baea3c211bebbe6ed7d7868399447ac1249c1b1b740fa3c27
DIST ngx_http_slowfs_cache-1.10.tar.gz 11809 SHA256 1e81453942e5b0877de1f1f06c56ae82918ea9818255cb935bcb673c95a758a1 SHA512 fbc9609a8d6913aeefe535f206b9e53477503f131934ead2ae5a6169e395af2f5fb54778704824d5eeb22a4ef40a11ebbcde580db62a631f70edcc2cfc06b15d WHIRLPOOL a02ed77422c47d9e476f8746186d19d632ddb953635d8d9dd51ff076225a78044286ee7e114478bc02e4b2a422e4fdc207154fc287629dd2cd7c3f9a634dad18
DIST ngx_http_upload_progress-0.9.1-r1.tar.gz 17166 SHA256 99ec072cca35cd7791e77c40a8ded41a7a8c1111e057be26e55fba2fdf105f43 SHA512 6c1e3776402b6e2cda50d9c48c4b578a85feffe15891c075443f6d9c7b9e2414e0614b50a8f417ddda9faf5f719957c77ade519c88b48caec970fc51fe12f0d1 WHIRLPOOL 12970d0f75ee3f0d8a97c4948b97fca2bd707a93e4e578c0e2ac0d18991986e620dd6b15c2ab5680ff726c0490671e3bc5e1ee6109baf81877d8baa6a5357825
DIST ngx_http_upstream_check-0.3.0-10-g10782ea.tar.gz 128297 SHA256 a5003e86908086f8607e76cfc01a56d56654982ab02cec918278c261ff1e8363 SHA512 2407d4375d8b94a808eb9e423615af700537b28fc88d37e790fb2a5ecdb02da94e7d1e271a6a81e8a55f8ce11e7db80fdd6de7feca08469dfaa26d717a1075a3 WHIRLPOOL 6b428940a07a7c18ba19cba07f43f1661484905a025f80fcb44908aeaeab9c8e854d3e104fe0339087a2e9029ad4722366c7d0a0fca7c73d92ece6ff2e494206
-DIST ngx_http_upstream_check-0.3.0.tar.gz 136542 SHA256 c543bf427b38643c10dcd1a0c701392bc666708313e7b63f9272396a6cc9a461 SHA512 ca19e8bcae218c639ff59e8f743bd2fb78de2c1f33dfb0de7b7b5ce82ae7ef04488255715e3e0311ebbc8c9741726573ac532cb269052925b0935f349414e959 WHIRLPOOL acee2ea955f87844a724815fc78d0296f23e9d6726551febd6bbff563625e8eadd04213394b6029c45b6036138c4f8957b2621f1b033a6177410fa7778176749
DIST ngx_memc_module-0.17.tar.gz 36369 SHA256 25cbe3ff4931283a681260607bc91ae4a922075345d5770b293c6cd7f1e3bdcc SHA512 e6fdecb4bb629f0882868b78f4b3a2549fce4471efcc4f2c6fdc414435799be6ce41cf056a3170952f8a1f401ee1ca372c97f2d7f79fba79239599755ade8949 WHIRLPOOL 766d84e7a2dfb2a6f069fd846e19d635f4dbd36f78014e97bbd159312d0b38d671b4db989584ca2b5b449046483b5b90d09edbe1c4531b266d8592ad7bad3c3a
DIST ngx_metrics-0.1.1.tar.gz 2964 SHA256 1c62ebb31e3caafad91720962770b0e7a4287f195520cf12471c262ac19b154e SHA512 d36a8fb0104c83b6b564e03b351aa750cab08650264c74d6f786af357bfb7006b531a93270dd961896ea8dafe27e5db8548ede714c5f52c4742876bc73af4b5e WHIRLPOOL 2796f5a97e76dfcc91133240e8e90ba493f0356f781a173d8cacdd09eba64b75ef531db398c0566fda395124700de8c991b771433e376ca0d5898c2ea6f82868
DIST ngx_mogilefs_module-1.0.4.tar.gz 11208 SHA256 7ac230d30907f013dff8d435a118619ea6168aa3714dba62c6962d350c6295ae SHA512 b8cb7eaf6274f4e2247dbcb39db05072d2b2d4361256a325fafab5533d7ce0c4ae9e2905b954dfcfa4789c9cab5cccf2ac1c3a1f02f6a327ed95b562d7773ed1 WHIRLPOOL 64c9b11ad938e6dbe5ba31298f1cd46f6e6bb4ba039c96b1e43bd85919d1606326f74b677f789ecabe0b0f4e0f08ac5aaf8148bf820de65aaa1e9966a28b9f61
diff --git a/www-servers/nginx/files/AJP-nginx-1.7.9+.patch b/www-servers/nginx/files/AJP-nginx-1.7.9+.patch
deleted file mode 100644
index 35460fc5ad80..000000000000
--- a/www-servers/nginx/files/AJP-nginx-1.7.9+.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-From bf6cd93f2098b59260de8d494f0f4b1f11a84627 Mon Sep 17 00:00:00 2001
-From: Weibin Yao <yaoweibin@gmail.com>
-Date: Fri, 27 Feb 2015 23:13:30 +0800
-Subject: [PATCH] fixed the compatible problem with nginx-1.7.9+
-
----
- ngx_http_ajp.h | 1 +
- ngx_http_ajp_module.c | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 86 insertions(+)
-
-diff --git a/ngx_http_ajp.h b/ngx_http_ajp.h
-index 72502ad..b3c7051 100644
---- a/ngx_http_ajp.h
-+++ b/ngx_http_ajp.h
-@@ -5,6 +5,7 @@
- #include <ngx_config.h>
- #include <ngx_core.h>
- #include <ngx_http.h>
-+#include <nginx.h>
- #include "ngx_http_ajp_module.h"
-
- #define AJP13_DEF_HOST "127.0.0.1"
-diff --git a/ngx_http_ajp_module.c b/ngx_http_ajp_module.c
-index e4d5b00..be32459 100644
---- a/ngx_http_ajp_module.c
-+++ b/ngx_http_ajp_module.c
-@@ -464,8 +464,12 @@ ngx_http_ajp_store(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
-
- #if (NGX_HTTP_CACHE)
-
-+#if (nginx_version >= 1007009)
-+ if (alcf->upstream.cache > 0)
-+#else
- if (alcf->upstream.cache != NGX_CONF_UNSET_PTR
- && alcf->upstream.cache != NULL)
-+#endif
- {
- return "is incompatible with \"ajp_cache\"";
- }
-@@ -534,15 +538,27 @@ ngx_http_ajp_cache(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
- ngx_http_ajp_loc_conf_t *alcf = conf;
-
- ngx_str_t *value;
-+#if (nginx_version >= 1007009)
-+ ngx_http_complex_value_t cv;
-+ ngx_http_compile_complex_value_t ccv;
-+#endif
-
- value = cf->args->elts;
-
-+#if (nginx_version >= 1007009)
-+ if (alcf->upstream.cache != NGX_CONF_UNSET) {
-+#else
- if (alcf->upstream.cache != NGX_CONF_UNSET_PTR) {
-+#endif
- return "is duplicate";
- }
-
- if (ngx_strcmp(value[1].data, "off") == 0) {
-+#if (nginx_version >= 1007009)
-+ alcf->upstream.cache = 0;
-+#else
- alcf->upstream.cache = NULL;
-+#endif
- return NGX_CONF_OK;
- }
-
-@@ -550,11 +566,44 @@ ngx_http_ajp_cache(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
- return "is incompatible with \"ajp_store\"";
- }
-
-+#if (nginx_version >= 1007009)
-+ alcf->upstream.cache = 1;
-+
-+ ngx_memzero(&ccv, sizeof(ngx_http_compile_complex_value_t));
-+
-+ ccv.cf = cf;
-+ ccv.value = &value[1];
-+ ccv.complex_value = &cv;
-+
-+ if (ngx_http_compile_complex_value(&ccv) != NGX_OK) {
-+ return NGX_CONF_ERROR;
-+ }
-+
-+ if (cv.lengths != NULL) {
-+
-+ alcf->upstream.cache_value = ngx_palloc(cf->pool,
-+ sizeof(ngx_http_complex_value_t));
-+ if (alcf->upstream.cache_value == NULL) {
-+ return NGX_CONF_ERROR;
-+ }
-+
-+ *alcf->upstream.cache_value = cv;
-+
-+ return NGX_CONF_OK;
-+ }
-+
-+ alcf->upstream.cache_zone = ngx_shared_memory_add(cf, &value[1], 0,
-+ &ngx_http_ajp_module);
-+ if (alcf->upstream.cache_zone == NULL) {
-+ return NGX_CONF_ERROR;
-+ }
-+#else
- alcf->upstream.cache = ngx_shared_memory_add(cf, &value[1], 0,
- &ngx_http_ajp_module);
- if (alcf->upstream.cache == NULL) {
- return NGX_CONF_ERROR;
- }
-+#endif
-
- return NGX_CONF_OK;
- }
-@@ -666,7 +715,11 @@ ngx_http_ajp_create_loc_conf(ngx_conf_t *cf)
- conf->upstream.pass_request_body = NGX_CONF_UNSET;
-
- #if (NGX_HTTP_CACHE)
-+#if (nginx_version >= 1007009)
-+ conf->upstream.cache = NGX_CONF_UNSET;
-+#else
- conf->upstream.cache = NGX_CONF_UNSET_PTR;
-+#endif
- conf->upstream.cache_min_uses = NGX_CONF_UNSET_UINT;
- conf->upstream.cache_valid = NGX_CONF_UNSET_PTR;
- conf->upstream.cache_lock = NGX_CONF_UNSET;
-@@ -699,6 +752,18 @@ ngx_http_ajp_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
- ngx_str_t *h;
- ngx_hash_init_t hash;
-
-+#if (NGX_HTTP_CACHE) && (nginx_version >= 1007009)
-+
-+ if (conf->upstream.store > 0) {
-+ conf->upstream.cache = 0;
-+ }
-+
-+ if (conf->upstream.cache > 0) {
-+ conf->upstream.store = 0;
-+ }
-+
-+#endif
-+
- if (conf->upstream.store != 0) {
- ngx_conf_merge_value(conf->upstream.store,
- prev->upstream.store, 0);
-@@ -864,6 +929,20 @@ ngx_http_ajp_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
-
- #if (NGX_HTTP_CACHE)
-
-+#if (nginx_version >= 1007009)
-+ if (conf->upstream.cache == NGX_CONF_UNSET) {
-+ ngx_conf_merge_value(conf->upstream.cache,
-+ prev->upstream.cache, 0);
-+
-+ conf->upstream.cache_zone = prev->upstream.cache_zone;
-+ conf->upstream.cache_value = prev->upstream.cache_value;
-+ }
-+
-+ if (conf->upstream.cache_zone && conf->upstream.cache_zone->data == NULL) {
-+ ngx_shm_zone_t *shm_zone;
-+
-+ shm_zone = conf->upstream.cache_zone;
-+#else
- ngx_conf_merge_ptr_value(conf->upstream.cache,
- prev->upstream.cache, NULL);
-
-@@ -871,6 +950,7 @@ ngx_http_ajp_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
- ngx_shm_zone_t *shm_zone;
-
- shm_zone = conf->upstream.cache;
-+#endif
-
- ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
- "\"ajp_cache\" zone \"%V\" is unknown, "
-@@ -910,6 +990,11 @@ ngx_http_ajp_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
- conf->cache_key = prev->cache_key;
- }
-
-+ if (conf->upstream.cache && conf->cache_key.value.data == NULL) {
-+ ngx_conf_log_error(NGX_LOG_WARN, cf, 0,
-+ "no \"fastcgi_cache_key\" for \"fastcgi_cache\"");
-+ }
-+
- ngx_conf_merge_value(conf->upstream.cache_lock,
- prev->upstream.cache_lock, 0);
-
diff --git a/www-servers/nginx/files/check-1.9.2.patch b/www-servers/nginx/files/check-1.9.2.patch
deleted file mode 100644
index 35cb8a753af4..000000000000
--- a/www-servers/nginx/files/check-1.9.2.patch
+++ /dev/null
@@ -1,242 +0,0 @@
-diff --git src/http/modules/ngx_http_upstream_hash_module.c src/http/modules/ngx_http_upstream_hash_module.c
-index 1e2e05c..44a72e2 100644
---- src/http/modules/ngx_http_upstream_hash_module.c
-+++ src/http/modules/ngx_http_upstream_hash_module.c
-@@ -9,6 +9,9 @@
- #include <ngx_core.h>
- #include <ngx_http.h>
-
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+#include "ngx_http_upstream_check_module.h"
-+#endif
-
- typedef struct {
- uint32_t hash;
-@@ -235,6 +238,15 @@ ngx_http_upstream_get_hash_peer(ngx_peer_connection_t *pc, void *data)
- goto next;
- }
-
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
-+ "get hash peer, check_index: %ui",
-+ peer->check_index);
-+ if (ngx_http_upstream_check_peer_down(peer->check_index)) {
-+ goto next;
-+ }
-+#endif
-+
- if (peer->max_fails
- && peer->fails >= peer->max_fails
- && now - peer->checked <= peer->fail_timeout)
-@@ -535,6 +547,15 @@ ngx_http_upstream_get_chash_peer(ngx_peer_connection_t *pc, void *data)
- continue;
- }
-
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
-+ "get consistent_hash peer, check_index: %ui",
-+ peer->check_index);
-+ if (ngx_http_upstream_check_peer_down(peer->check_index)) {
-+ continue;
-+ }
-+#endif
-+
- if (peer->server.len != server->len
- || ngx_strncmp(peer->server.data, server->data, server->len)
- != 0)
-diff --git src/http/modules/ngx_http_upstream_ip_hash_module.c src/http/modules/ngx_http_upstream_ip_hash_module.c
-index 401b58e..ba656bd 100644
---- src/http/modules/ngx_http_upstream_ip_hash_module.c
-+++ src/http/modules/ngx_http_upstream_ip_hash_module.c
-@@ -9,6 +9,9 @@
- #include <ngx_core.h>
- #include <ngx_http.h>
-
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+#include "ngx_http_upstream_check_module.h"
-+#endif
-
- typedef struct {
- /* the round robin data must be first */
-@@ -205,6 +208,15 @@ ngx_http_upstream_get_ip_hash_peer(ngx_peer_connection_t *pc, void *data)
- goto next;
- }
-
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
-+ "get ip_hash peer, check_index: %ui",
-+ peer->check_index);
-+ if (ngx_http_upstream_check_peer_down(peer->check_index)) {
-+ goto next;
-+ }
-+#endif
-+
- if (peer->max_fails
- && peer->fails >= peer->max_fails
- && now - peer->checked <= peer->fail_timeout)
-diff --git src/http/modules/ngx_http_upstream_least_conn_module.c src/http/modules/ngx_http_upstream_least_conn_module.c
-index 92951bd..48aca2c 100644
---- src/http/modules/ngx_http_upstream_least_conn_module.c
-+++ src/http/modules/ngx_http_upstream_least_conn_module.c
-@@ -9,6 +9,9 @@
- #include <ngx_core.h>
- #include <ngx_http.h>
-
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+#include "ngx_http_upstream_check_module.h"
-+#endif
-
- static ngx_int_t ngx_http_upstream_init_least_conn_peer(ngx_http_request_t *r,
- ngx_http_upstream_srv_conf_t *us);
-@@ -148,6 +151,16 @@ ngx_http_upstream_get_least_conn_peer(ngx_peer_connection_t *pc, void *data)
- continue;
- }
-
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
-+ "get least_conn peer, check_index: %ui",
-+ peer->check_index);
-+
-+ if (ngx_http_upstream_check_peer_down(peer->check_index)) {
-+ continue;
-+ }
-+#endif
-+
- if (peer->max_fails
- && peer->fails >= peer->max_fails
- && now - peer->checked <= peer->fail_timeout)
-@@ -199,6 +212,16 @@ ngx_http_upstream_get_least_conn_peer(ngx_peer_connection_t *pc, void *data)
- continue;
- }
-
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
-+ "get least_conn peer, check_index: %ui",
-+ peer->check_index);
-+
-+ if (ngx_http_upstream_check_peer_down(peer->check_index)) {
-+ continue;
-+ }
-+#endif
-+
- if (peer->conns * best->weight != best->conns * peer->weight) {
- continue;
- }
-diff --git src/http/ngx_http_upstream_round_robin.c src/http/ngx_http_upstream_round_robin.c
-index d6ae33b..416572a 100644
---- src/http/ngx_http_upstream_round_robin.c
-+++ src/http/ngx_http_upstream_round_robin.c
-@@ -9,6 +9,9 @@
- #include <ngx_core.h>
- #include <ngx_http.h>
-
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+#include "ngx_http_upstream_check_module.h"
-+#endif
-
- #define ngx_http_upstream_tries(p) ((p)->number \
- + ((p)->next ? (p)->next->number : 0))
-@@ -96,7 +99,14 @@ ngx_http_upstream_init_round_robin(ngx_conf_t *cf,
- peer[n].fail_timeout = server[i].fail_timeout;
- peer[n].down = server[i].down;
- peer[n].server = server[i].name;
--
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ if (!server[i].down) {
-+ peer[n].check_index =
-+ ngx_http_upstream_check_add_peer(cf, us, &server[i].addrs[j]);
-+ } else {
-+ peer[n].check_index = (ngx_uint_t) NGX_ERROR;
-+ }
-+#endif
- *peerp = &peer[n];
- peerp = &peer[n].next;
- n++;
-@@ -159,7 +169,15 @@ ngx_http_upstream_init_round_robin(ngx_conf_t *cf,
- peer[n].fail_timeout = server[i].fail_timeout;
- peer[n].down = server[i].down;
- peer[n].server = server[i].name;
--
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ if (!server[i].down) {
-+ peer[n].check_index =
-+ ngx_http_upstream_check_add_peer(cf, us, &server[i].addrs[j]);
-+ }
-+ else {
-+ peer[n].check_index = (ngx_uint_t) NGX_ERROR;
-+ }
-+#endif
- *peerp = &peer[n];
- peerp = &peer[n].next;
- n++;
-@@ -225,6 +243,9 @@ ngx_http_upstream_init_round_robin(ngx_conf_t *cf,
- peer[i].current_weight = 0;
- peer[i].max_fails = 1;
- peer[i].fail_timeout = 10;
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ peer[i].check_index = (ngx_uint_t) NGX_ERROR;
-+#endif
- *peerp = &peer[i];
- peerp = &peer[i].next;
- }
-@@ -339,6 +360,9 @@ ngx_http_upstream_create_round_robin_peer(ngx_http_request_t *r,
- peer[0].current_weight = 0;
- peer[0].max_fails = 1;
- peer[0].fail_timeout = 10;
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ peer[0].check_index = (ngx_uint_t) NGX_ERROR;
-+#endif
- peers->peer = peer;
-
- } else {
-@@ -381,6 +405,9 @@ ngx_http_upstream_create_round_robin_peer(ngx_http_request_t *r,
- peer[i].current_weight = 0;
- peer[i].max_fails = 1;
- peer[i].fail_timeout = 10;
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ peer[i].check_index = (ngx_uint_t) NGX_ERROR;
-+#endif
- *peerp = &peer[i];
- peerp = &peer[i].next;
- }
-@@ -441,6 +468,12 @@ ngx_http_upstream_get_round_robin_peer(ngx_peer_connection_t *pc, void *data)
- goto failed;
- }
-
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ if (ngx_http_upstream_check_peer_down(peer->check_index)) {
-+ goto failed;
-+ }
-+#endif
-+
- rrp->current = peer;
-
- } else {
-@@ -542,6 +575,12 @@ ngx_http_upstream_get_peer(ngx_http_upstream_rr_peer_data_t *rrp)
- continue;
- }
-
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ if (ngx_http_upstream_check_peer_down(peer->check_index)) {
-+ continue;
-+ }
-+#endif
-+
- if (peer->max_fails
- && peer->fails >= peer->max_fails
- && now - peer->checked <= peer->fail_timeout)
-diff --git src/http/ngx_http_upstream_round_robin.h src/http/ngx_http_upstream_round_robin.h
-index f2c573f..75e0ed6 100644
---- src/http/ngx_http_upstream_round_robin.h
-+++ src/http/ngx_http_upstream_round_robin.h
-@@ -35,6 +35,10 @@ struct ngx_http_upstream_rr_peer_s {
- ngx_uint_t max_fails;
- time_t fail_timeout;
-
-+#if (NGX_HTTP_UPSTREAM_CHECK)
-+ ngx_uint_t check_index;
-+#endif
-+
- ngx_uint_t down; /* unsigned down:1; */
-
- #if (NGX_HTTP_SSL)
diff --git a/www-servers/nginx/files/lua-nginx-1.7.6.patch b/www-servers/nginx/files/lua-nginx-1.7.6.patch
deleted file mode 100644
index 3cce343186f3..000000000000
--- a/www-servers/nginx/files/lua-nginx-1.7.6.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 0c4528e50dc45de322a6ae86b1fff544d777e722 Mon Sep 17 00:00:00 2001
-From: "Yichun Zhang (agentzh)" <agentzh@gmail.com>
-Date: Wed, 17 Sep 2014 13:18:42 -0700
-Subject: [PATCH] bugfix: fixed compilation error with nginx 1.7.5+ because
- nginx 1.7.5+ changes the API in the events subsystem. thanks Charles R.
- Portwood II and Mathieu Le Marec for the report in #422.
-
----
- src/ngx_http_lua_socket_tcp.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/src/ngx_http_lua_socket_tcp.c b/src/ngx_http_lua_socket_tcp.c
-index 52cc89d..3743548 100644
---- a/src/ngx_http_lua_socket_tcp.c
-+++ b/src/ngx_http_lua_socket_tcp.c
-@@ -3212,7 +3212,11 @@ ngx_http_lua_socket_tcp_finalize_read_part(ngx_http_request_t *r,
- ngx_del_event(c->read, NGX_READ_EVENT, NGX_CLOSE_EVENT);
- }
-
-+#if defined(nginx_version) && nginx_version >= 1007005
-+ if (c->read->posted) {
-+#else
- if (c->read->prev) {
-+#endif
- ngx_delete_posted_event(c->read);
- }
-
-@@ -3261,7 +3265,11 @@ ngx_http_lua_socket_tcp_finalize_write_part(ngx_http_request_t *r,
- ngx_del_event(c->write, NGX_WRITE_EVENT, NGX_CLOSE_EVENT);
- }
-
-+#if defined(nginx_version) && nginx_version >= 1007005
-+ if (c->write->posted) {
-+#else
- if (c->write->prev) {
-+#endif
- ngx_delete_posted_event(c->write);
- }
-
diff --git a/www-servers/nginx/files/rtmp-nginx-1.7.6.patch b/www-servers/nginx/files/rtmp-nginx-1.7.6.patch
deleted file mode 100644
index ae8ccce8cb39..000000000000
--- a/www-servers/nginx/files/rtmp-nginx-1.7.6.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From dd5f2aa117c617e1f0fde26f8fd58903be2d85e8 Mon Sep 17 00:00:00 2001
-From: Roman Arutyunyan <arut@qip.ru>
-Date: Wed, 17 Sep 2014 07:10:38 +0400
-Subject: [PATCH] fixed compilation
-
----
- ngx_rtmp.c | 4 ++++
- ngx_rtmp.h | 9 +++++++++
- ngx_rtmp_play_module.c | 8 +++++++-
- 3 files changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/ngx_rtmp.c b/ngx_rtmp.c
-index c079c90..e525a93 100644
---- a/ngx_rtmp.c
-+++ b/ngx_rtmp.c
-@@ -31,7 +31,11 @@ static char * ngx_rtmp_merge_applications(ngx_conf_t *cf,
- ngx_uint_t ctx_index);
-
-
-+#if (nginx_version >= 1007005)
-+ngx_thread_volatile ngx_queue_t ngx_rtmp_init_queue;
-+#else
- ngx_thread_volatile ngx_event_t *ngx_rtmp_init_queue;
-+#endif
-
-
- ngx_uint_t ngx_rtmp_max_module;
-diff --git a/ngx_rtmp.h b/ngx_rtmp.h
-index d3648f7..b87e99e 100644
---- a/ngx_rtmp.h
-+++ b/ngx_rtmp.h
-@@ -12,6 +12,7 @@
- #include <ngx_core.h>
- #include <ngx_event.h>
- #include <ngx_event_connect.h>
-+#include <nginx.h>
-
- #include "ngx_rtmp_amf.h"
- #include "ngx_rtmp_bandwidth.h"
-@@ -198,7 +199,11 @@ typedef struct {
- ngx_str_t *addr_text;
- int connected;
-
-+#if (nginx_version >= 1007005)
-+ ngx_queue_t posted_dry_events;
-+#else
- ngx_event_t *posted_dry_events;
-+#endif
-
- /* client buffer time in msec */
- uint32_t buflen;
-@@ -602,7 +607,11 @@ extern ngx_rtmp_bandwidth_t ngx_rtmp_bw_in;
-
-
- extern ngx_uint_t ngx_rtmp_naccepted;
-+#if (nginx_version >= 1007005)
-+extern ngx_thread_volatile ngx_queue_t ngx_rtmp_init_queue;
-+#else
- extern ngx_thread_volatile ngx_event_t *ngx_rtmp_init_queue;
-+#endif
-
- extern ngx_uint_t ngx_rtmp_max_module;
- extern ngx_module_t ngx_rtmp_core_module;
-diff --git a/ngx_rtmp_play_module.c b/ngx_rtmp_play_module.c
-index acaa46c..f6ea6c3 100644
---- a/ngx_rtmp_play_module.c
-+++ b/ngx_rtmp_play_module.c
-@@ -6,6 +6,7 @@
-
- #include <ngx_config.h>
- #include <ngx_core.h>
-+#include <nginx.h>
- #include "ngx_rtmp_play_module.h"
- #include "ngx_rtmp_cmd_module.h"
- #include "ngx_rtmp_netcall_module.h"
-@@ -430,7 +431,12 @@ ngx_rtmp_play_do_stop(ngx_rtmp_session_t *s)
- ngx_del_timer(&ctx->send_evt);
- }
-
-- if (ctx->send_evt.prev) {
-+#if (nginx_version >= 1007005)
-+ if (ctx->send_evt.posted)
-+#else
-+ if (ctx->send_evt.prev)
-+#endif
-+ {
- ngx_delete_posted_event((&ctx->send_evt));
- }
-
diff --git a/www-servers/nginx/nginx-1.8.1.ebuild b/www-servers/nginx/nginx-1.8.1.ebuild
deleted file mode 100644
index 5bb49783eddf..000000000000
--- a/www-servers/nginx/nginx-1.8.1.ebuild
+++ /dev/null
@@ -1,667 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-# Maintainer notes:
-# - http_rewrite-independent pcre-support makes sense for matching locations without an actual rewrite
-# - any http-module activates the main http-functionality and overrides USE=-http
-# - keep the following requirements in mind before adding external modules:
-# * alive upstream
-# * sane packaging
-# * builds cleanly
-# * does not need a patch for nginx core
-# - TODO: test the google-perftools module (included in vanilla tarball)
-
-# prevent perl-module from adding automagic perl DEPENDs
-GENTOO_DEPEND_ON_PERL="no"
-
-# devel_kit (https://github.com/simpl/ngx_devel_kit, BSD license)
-DEVEL_KIT_MODULE_PV="0.2.19"
-DEVEL_KIT_MODULE_P="ngx_devel_kit-${DEVEL_KIT_MODULE_PV}-r1"
-DEVEL_KIT_MODULE_URI="https://github.com/simpl/ngx_devel_kit/archive/v${DEVEL_KIT_MODULE_PV}.tar.gz"
-DEVEL_KIT_MODULE_WD="${WORKDIR}/ngx_devel_kit-${DEVEL_KIT_MODULE_PV}"
-
-# http_uploadprogress (https://github.com/masterzen/nginx-upload-progress-module, BSD-2 license)
-HTTP_UPLOAD_PROGRESS_MODULE_PV="0.9.1"
-HTTP_UPLOAD_PROGRESS_MODULE_P="ngx_http_upload_progress-${HTTP_UPLOAD_PROGRESS_MODULE_PV}-r1"
-HTTP_UPLOAD_PROGRESS_MODULE_URI="https://github.com/masterzen/nginx-upload-progress-module/archive/v${HTTP_UPLOAD_PROGRESS_MODULE_PV}.tar.gz"
-HTTP_UPLOAD_PROGRESS_MODULE_WD="${WORKDIR}/nginx-upload-progress-module-${HTTP_UPLOAD_PROGRESS_MODULE_PV}"
-
-# http_headers_more (https://github.com/agentzh/headers-more-nginx-module, BSD license)
-HTTP_HEADERS_MORE_MODULE_PV="0.26"
-HTTP_HEADERS_MORE_MODULE_P="ngx_http_headers_more-${HTTP_HEADERS_MORE_MODULE_PV}"
-HTTP_HEADERS_MORE_MODULE_URI="https://github.com/agentzh/headers-more-nginx-module/archive/v${HTTP_HEADERS_MORE_MODULE_PV}.tar.gz"
-HTTP_HEADERS_MORE_MODULE_WD="${WORKDIR}/headers-more-nginx-module-${HTTP_HEADERS_MORE_MODULE_PV}"
-
-# http_cache_purge (http://labs.frickle.com/nginx_ngx_cache_purge/, BSD-2 license)
-HTTP_CACHE_PURGE_MODULE_PV="2.3"
-HTTP_CACHE_PURGE_MODULE_P="ngx_http_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}"
-HTTP_CACHE_PURGE_MODULE_URI="http://labs.frickle.com/files/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}.tar.gz"
-HTTP_CACHE_PURGE_MODULE_WD="${WORKDIR}/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}"
-
-# http_slowfs_cache (http://labs.frickle.com/nginx_ngx_slowfs_cache/, BSD-2 license)
-HTTP_SLOWFS_CACHE_MODULE_PV="1.10"
-HTTP_SLOWFS_CACHE_MODULE_P="ngx_http_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}"
-HTTP_SLOWFS_CACHE_MODULE_URI="http://labs.frickle.com/files/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}.tar.gz"
-HTTP_SLOWFS_CACHE_MODULE_WD="${WORKDIR}/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}"
-
-# http_fancyindex (https://github.com/aperezdc/ngx-fancyindex, BSD license)
-HTTP_FANCYINDEX_MODULE_PV="0.3.5"
-HTTP_FANCYINDEX_MODULE_P="ngx_http_fancyindex-${HTTP_FANCYINDEX_MODULE_PV}"
-HTTP_FANCYINDEX_MODULE_URI="https://github.com/aperezdc/ngx-fancyindex/archive/v${HTTP_FANCYINDEX_MODULE_PV}.tar.gz"
-HTTP_FANCYINDEX_MODULE_WD="${WORKDIR}/ngx-fancyindex-${HTTP_FANCYINDEX_MODULE_PV}"
-
-# http_lua (https://github.com/openresty/lua-nginx-module, BSD license)
-HTTP_LUA_MODULE_PV="0.9.15"
-HTTP_LUA_MODULE_P="ngx_http_lua-${HTTP_LUA_MODULE_PV}"
-HTTP_LUA_MODULE_URI="https://github.com/openresty/lua-nginx-module/archive/v${HTTP_LUA_MODULE_PV}.tar.gz"
-HTTP_LUA_MODULE_WD="${WORKDIR}/lua-nginx-module-${HTTP_LUA_MODULE_PV}"
-
-# http_auth_pam (http://web.iti.upv.es/~sto/nginx/, BSD-2 license)
-HTTP_AUTH_PAM_MODULE_PV="1.4"
-HTTP_AUTH_PAM_MODULE_P="ngx_http_auth_pam-${HTTP_AUTH_PAM_MODULE_PV}"
-HTTP_AUTH_PAM_MODULE_URI="https://github.com/stogh/ngx_http_auth_pam_module/archive/v${HTTP_AUTH_PAM_MODULE_PV}.tar.gz"
-HTTP_AUTH_PAM_MODULE_WD="${WORKDIR}/ngx_http_auth_pam_module-${HTTP_AUTH_PAM_MODULE_PV}"
-
-# http_upstream_check (https://github.com/yaoweibin/nginx_upstream_check_module, BSD license)
-HTTP_UPSTREAM_CHECK_MODULE_PV="0.3.0"
-HTTP_UPSTREAM_CHECK_MODULE_P="ngx_http_upstream_check-${HTTP_UPSTREAM_CHECK_MODULE_PV}"
-HTTP_UPSTREAM_CHECK_MODULE_URI="https://github.com/yaoweibin/nginx_upstream_check_module/archive/v${HTTP_UPSTREAM_CHECK_MODULE_PV}.tar.gz"
-HTTP_UPSTREAM_CHECK_MODULE_WD="${WORKDIR}/nginx_upstream_check_module-${HTTP_UPSTREAM_CHECK_MODULE_PV}"
-
-# http_metrics (https://github.com/zenops/ngx_metrics, BSD license)
-HTTP_METRICS_MODULE_PV="0.1.1"
-HTTP_METRICS_MODULE_P="ngx_metrics-${HTTP_METRICS_MODULE_PV}"
-HTTP_METRICS_MODULE_URI="https://github.com/madvertise/ngx_metrics/archive/v${HTTP_METRICS_MODULE_PV}.tar.gz"
-HTTP_METRICS_MODULE_WD="${WORKDIR}/ngx_metrics-${HTTP_METRICS_MODULE_PV}"
-
-# naxsi-core (https://github.com/nbs-system/naxsi, GPLv2+)
-HTTP_NAXSI_MODULE_PV="0.53-2"
-HTTP_NAXSI_MODULE_P="ngx_http_naxsi-${HTTP_NAXSI_MODULE_PV}"
-HTTP_NAXSI_MODULE_URI="https://github.com/nbs-system/naxsi/archive/${HTTP_NAXSI_MODULE_PV}.tar.gz"
-HTTP_NAXSI_MODULE_WD="${WORKDIR}/naxsi-${HTTP_NAXSI_MODULE_PV}/naxsi_src"
-
-# nginx-rtmp-module (https://github.com/arut/nginx-rtmp-module, BSD license)
-RTMP_MODULE_PV="1.1.7"
-RTMP_MODULE_P="ngx_rtmp-${RTMP_MODULE_PV}"
-RTMP_MODULE_URI="https://github.com/arut/nginx-rtmp-module/archive/v${RTMP_MODULE_PV}.tar.gz"
-RTMP_MODULE_WD="${WORKDIR}/nginx-rtmp-module-${RTMP_MODULE_PV}"
-
-# nginx-dav-ext-module (https://github.com/arut/nginx-dav-ext-module, BSD license)
-HTTP_DAV_EXT_MODULE_PV="0.0.3"
-HTTP_DAV_EXT_MODULE_P="ngx_http_dav_ext-${HTTP_DAV_EXT_MODULE_PV}"
-HTTP_DAV_EXT_MODULE_URI="https://github.com/arut/nginx-dav-ext-module/archive/v${HTTP_DAV_EXT_MODULE_PV}.tar.gz"
-HTTP_DAV_EXT_MODULE_WD="${WORKDIR}/nginx-dav-ext-module-${HTTP_DAV_EXT_MODULE_PV}"
-
-# echo-nginx-module (https://github.com/agentzh/echo-nginx-module, BSD license)
-HTTP_ECHO_MODULE_PV="0.57"
-HTTP_ECHO_MODULE_P="ngx_http_echo-${HTTP_ECHO_MODULE_PV}"
-HTTP_ECHO_MODULE_URI="https://github.com/agentzh/echo-nginx-module/archive/v${HTTP_ECHO_MODULE_PV}.tar.gz"
-HTTP_ECHO_MODULE_WD="${WORKDIR}/echo-nginx-module-${HTTP_ECHO_MODULE_PV}"
-
-# mod_security for nginx (https://modsecurity.org/, Apache-2.0)
-# keep the MODULE_P here consistent with upstream to avoid tarball duplication
-HTTP_SECURITY_MODULE_PV="2.9.0"
-HTTP_SECURITY_MODULE_P="modsecurity-${HTTP_SECURITY_MODULE_PV}"
-HTTP_SECURITY_MODULE_URI="https://www.modsecurity.org/tarball/${HTTP_SECURITY_MODULE_PV}/${HTTP_SECURITY_MODULE_P}.tar.gz"
-HTTP_SECURITY_MODULE_WD="${WORKDIR}/${HTTP_SECURITY_MODULE_P}"
-
-# push-stream-module (http://www.nginxpushstream.com, https://github.com/wandenberg/nginx-push-stream-module, GPL-3)
-HTTP_PUSH_STREAM_MODULE_PV="0.4.1"
-HTTP_PUSH_STREAM_MODULE_P="ngx_http_push_stream-${HTTP_PUSH_STREAM_MODULE_PV}"
-HTTP_PUSH_STREAM_MODULE_URI="https://github.com/wandenberg/nginx-push-stream-module/archive/${HTTP_PUSH_STREAM_MODULE_PV}.tar.gz"
-HTTP_PUSH_STREAM_MODULE_WD="${WORKDIR}/nginx-push-stream-module-${HTTP_PUSH_STREAM_MODULE_PV}"
-
-# sticky-module (https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng, BSD-2)
-HTTP_STICKY_MODULE_PV="1.2.5"
-HTTP_STICKY_MODULE_P="nginx_http_sticky_module_ng-${HTTP_STICKY_MODULE_PV}"
-HTTP_STICKY_MODULE_URI="https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/${HTTP_STICKY_MODULE_PV}.tar.bz2"
-HTTP_STICKY_MODULE_WD="${WORKDIR}/nginx-goodies-nginx-sticky-module-ng-bd312d586752"
-
-# mogilefs-module (http://www.grid.net.ru/nginx/mogilefs.en.html, BSD-2)
-HTTP_MOGILEFS_MODULE_PV="1.0.4"
-HTTP_MOGILEFS_MODULE_P="ngx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}"
-HTTP_MOGILEFS_MODULE_URI="http://www.grid.net.ru/nginx/download/nginx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}.tar.gz"
-HTTP_MOGILEFS_MODULE_WD="${WORKDIR}/nginx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}"
-
-inherit eutils ssl-cert toolchain-funcs perl-module flag-o-matic user systemd versionator multilib
-
-DESCRIPTION="Robust, small and high performance http and reverse proxy server"
-HOMEPAGE="http://nginx.org"
-SRC_URI="http://nginx.org/download/${P}.tar.gz
- ${DEVEL_KIT_MODULE_URI} -> ${DEVEL_KIT_MODULE_P}.tar.gz
- nginx_modules_http_upload_progress? ( ${HTTP_UPLOAD_PROGRESS_MODULE_URI} -> ${HTTP_UPLOAD_PROGRESS_MODULE_P}.tar.gz )
- nginx_modules_http_headers_more? ( ${HTTP_HEADERS_MORE_MODULE_URI} -> ${HTTP_HEADERS_MORE_MODULE_P}.tar.gz )
- nginx_modules_http_cache_purge? ( ${HTTP_CACHE_PURGE_MODULE_URI} -> ${HTTP_CACHE_PURGE_MODULE_P}.tar.gz )
- nginx_modules_http_slowfs_cache? ( ${HTTP_SLOWFS_CACHE_MODULE_URI} -> ${HTTP_SLOWFS_CACHE_MODULE_P}.tar.gz )
- nginx_modules_http_fancyindex? ( ${HTTP_FANCYINDEX_MODULE_URI} -> ${HTTP_FANCYINDEX_MODULE_P}.tar.gz )
- nginx_modules_http_lua? ( ${HTTP_LUA_MODULE_URI} -> ${HTTP_LUA_MODULE_P}.tar.gz )
- nginx_modules_http_auth_pam? ( ${HTTP_AUTH_PAM_MODULE_URI} -> ${HTTP_AUTH_PAM_MODULE_P}.tar.gz )
- nginx_modules_http_upstream_check? ( ${HTTP_UPSTREAM_CHECK_MODULE_URI} -> ${HTTP_UPSTREAM_CHECK_MODULE_P}.tar.gz )
- nginx_modules_http_metrics? ( ${HTTP_METRICS_MODULE_URI} -> ${HTTP_METRICS_MODULE_P}.tar.gz )
- nginx_modules_http_naxsi? ( ${HTTP_NAXSI_MODULE_URI} -> ${HTTP_NAXSI_MODULE_P}.tar.gz )
- rtmp? ( ${RTMP_MODULE_URI} -> ${RTMP_MODULE_P}.tar.gz )
- nginx_modules_http_dav_ext? ( ${HTTP_DAV_EXT_MODULE_URI} -> ${HTTP_DAV_EXT_MODULE_P}.tar.gz )
- nginx_modules_http_echo? ( ${HTTP_ECHO_MODULE_URI} -> ${HTTP_ECHO_MODULE_P}.tar.gz )
- nginx_modules_http_security? ( ${HTTP_SECURITY_MODULE_URI} -> ${HTTP_SECURITY_MODULE_P}.tar.gz )
- nginx_modules_http_push_stream? ( ${HTTP_PUSH_STREAM_MODULE_URI} -> ${HTTP_PUSH_STREAM_MODULE_P}.tar.gz )
- nginx_modules_http_sticky? ( ${HTTP_STICKY_MODULE_URI} -> ${HTTP_STICKY_MODULE_P}.tar.bz2 )
- nginx_modules_http_mogilefs? ( ${HTTP_MOGILEFS_MODULE_URI} -> ${HTTP_MOGILEFS_MODULE_P}.tar.gz )"
-
-LICENSE="BSD-2 BSD SSLeay MIT GPL-2 GPL-2+
- nginx_modules_http_security? ( Apache-2.0 )
- nginx_modules_http_push_stream? ( GPL-3 )"
-
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
-
-NGINX_MODULES_STD="access auth_basic autoindex browser charset empty_gif fastcgi
-geo gzip limit_req limit_conn map memcached proxy referer rewrite scgi ssi
-split_clients upstream_ip_hash userid uwsgi"
-NGINX_MODULES_OPT="addition auth_request dav degradation flv geoip gunzip gzip_static
-image_filter mp4 perl random_index realip secure_link spdy stub_status sub xslt"
-NGINX_MODULES_MAIL="imap pop3 smtp"
-NGINX_MODULES_3RD="
- http_upload_progress
- http_headers_more
- http_cache_purge
- http_slowfs_cache
- http_fancyindex
- http_lua
- http_auth_pam
- http_upstream_check
- http_metrics
- http_naxsi
- http_dav_ext
- http_echo
- http_security
- http_push_stream
- http_sticky
- http_ajp
- http_mogilefs"
-
-IUSE="aio debug +http +http-cache ipv6 libatomic luajit +pcre pcre-jit rtmp
-selinux ssl userland_GNU vim-syntax"
-
-for mod in $NGINX_MODULES_STD; do
- IUSE="${IUSE} +nginx_modules_http_${mod}"
-done
-
-for mod in $NGINX_MODULES_OPT; do
- IUSE="${IUSE} nginx_modules_http_${mod}"
-done
-
-for mod in $NGINX_MODULES_MAIL; do
- IUSE="${IUSE} nginx_modules_mail_${mod}"
-done
-
-for mod in $NGINX_MODULES_3RD; do
- IUSE="${IUSE} nginx_modules_${mod}"
-done
-
-CDEPEND="
- pcre? ( >=dev-libs/libpcre-4.2 )
- pcre-jit? ( >=dev-libs/libpcre-8.20[jit] )
- ssl? ( dev-libs/openssl:0= )
- http-cache? ( userland_GNU? ( dev-libs/openssl:0= ) )
- nginx_modules_http_geoip? ( dev-libs/geoip )
- nginx_modules_http_gunzip? ( sys-libs/zlib )
- nginx_modules_http_gzip? ( sys-libs/zlib )
- nginx_modules_http_gzip_static? ( sys-libs/zlib )
- nginx_modules_http_image_filter? ( media-libs/gd[jpeg,png] )
- nginx_modules_http_perl? ( >=dev-lang/perl-5.8 )
- nginx_modules_http_rewrite? ( >=dev-libs/libpcre-4.2 )
- nginx_modules_http_secure_link? ( userland_GNU? ( dev-libs/openssl:0= ) )
- nginx_modules_http_spdy? ( >=dev-libs/openssl-1.0.1c:0= )
- nginx_modules_http_xslt? ( dev-libs/libxml2 dev-libs/libxslt )
- nginx_modules_http_lua? ( !luajit? ( dev-lang/lua:0= ) luajit? ( dev-lang/luajit:2= ) )
- nginx_modules_http_auth_pam? ( virtual/pam )
- nginx_modules_http_metrics? ( dev-libs/yajl )
- nginx_modules_http_dav_ext? ( dev-libs/expat )
- nginx_modules_http_security? ( >=dev-libs/libxml2-2.7.8 dev-libs/apr-util www-servers/apache )"
-RDEPEND="${CDEPEND}
- selinux? ( sec-policy/selinux-nginx )
-"
-DEPEND="${CDEPEND}
- arm? ( dev-libs/libatomic_ops )
- libatomic? ( dev-libs/libatomic_ops )"
-PDEPEND="vim-syntax? ( app-vim/nginx-syntax )"
-
-REQUIRED_USE="pcre-jit? ( pcre )
- nginx_modules_http_lua? ( nginx_modules_http_rewrite )
- nginx_modules_http_naxsi? ( pcre )
- nginx_modules_http_dav_ext? ( nginx_modules_http_dav )
- nginx_modules_http_metrics? ( nginx_modules_http_stub_status )
- nginx_modules_http_security? ( pcre )
- nginx_modules_http_push_stream? ( ssl )"
-
-pkg_setup() {
- NGINX_HOME="/var/lib/nginx"
- NGINX_HOME_TMP="${NGINX_HOME}/tmp"
-
- ebegin "Creating nginx user and group"
- enewgroup ${PN}
- enewuser ${PN} -1 -1 "${NGINX_HOME}" ${PN}
- eend $?
-
- if use libatomic; then
- ewarn "GCC 4.1+ features built-in atomic operations."
- ewarn "Using libatomic_ops is only needed if using"
- ewarn "a different compiler or a GCC prior to 4.1"
- fi
-
- if [[ -n $NGINX_ADD_MODULES ]]; then
- ewarn "You are building custom modules via \$NGINX_ADD_MODULES!"
- ewarn "This nginx installation is not supported!"
- ewarn "Make sure you can reproduce the bug without those modules"
- ewarn "_before_ reporting bugs."
- fi
-
- if use !http; then
- ewarn "To actually disable all http-functionality you also have to disable"
- ewarn "all nginx http modules."
- fi
-
- if use nginx_modules_http_ajp; then
- eerror "The AJP module currently doesn't build for nginx >1.8."
- eerror "It will be reintroduced with the 1.9 series when proven stable."
- eerror "Either disable it or stick with nginx 1.7.x."
- die "AJP module not supported"
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-1.4.1-fix-perl-install-path.patch"
-
- if use nginx_modules_http_upstream_check; then
- epatch "${HTTP_UPSTREAM_CHECK_MODULE_WD}"/check_1.7.2+.patch
- fi
-
- if use nginx_modules_http_lua; then
- sed -i -e 's/-llua5.1/-llua/' "${HTTP_LUA_MODULE_WD}/config" || die
- fi
-
- find auto/ -type f -print0 | xargs -0 sed -i 's:\&\& make:\&\& \\$(MAKE):' || die
- # We have config protection, don't rename etc files
- sed -i 's:.default::' auto/install || die
- # remove useless files
- sed -i -e '/koi-/d' -e '/win-/d' auto/install || die
-
- # don't install to /etc/nginx/ if not in use
- local module
- for module in fastcgi scgi uwsgi ; do
- if ! use nginx_modules_http_${module}; then
- sed -i -e "/${module}/d" auto/install || die
- fi
- done
-
- epatch_user
-}
-
-src_configure() {
- # mod_security needs to generate nginx/modsecurity/config before including it
- if use nginx_modules_http_security; then
- cd "${HTTP_SECURITY_MODULE_WD}"
- if use luajit ; then
- sed -i \
- -e 's|^\(LUA_PKGNAMES\)=.*|\1="luajit"|' \
- configure || die
- fi
- ./configure \
- --enable-standalone-module \
- $(use_enable pcre-jit) \
- $(use_with nginx_modules_http_lua lua) || die "configure failed for mod_security"
- fi
-
- cd "${S}"
-
- local myconf= http_enabled= mail_enabled=
-
- use aio && myconf+=" --with-file-aio --with-aio_module"
- use debug && myconf+=" --with-debug"
- use ipv6 && myconf+=" --with-ipv6"
- use libatomic && myconf+=" --with-libatomic"
- use pcre && myconf+=" --with-pcre"
- use pcre-jit && myconf+=" --with-pcre-jit"
-
- # HTTP modules
- for mod in $NGINX_MODULES_STD; do
- if use nginx_modules_http_${mod}; then
- http_enabled=1
- else
- myconf+=" --without-http_${mod}_module"
- fi
- done
-
- for mod in $NGINX_MODULES_OPT; do
- if use nginx_modules_http_${mod}; then
- http_enabled=1
- myconf+=" --with-http_${mod}_module"
- fi
- done
-
- if use nginx_modules_http_fastcgi; then
- myconf+=" --with-http_realip_module"
- fi
-
- # third-party modules
- if use nginx_modules_http_upload_progress; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_UPLOAD_PROGRESS_MODULE_WD}"
- fi
-
- if use nginx_modules_http_headers_more; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_HEADERS_MORE_MODULE_WD}"
- fi
-
- if use nginx_modules_http_cache_purge; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_CACHE_PURGE_MODULE_WD}"
- fi
-
- if use nginx_modules_http_slowfs_cache; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_SLOWFS_CACHE_MODULE_WD}"
- fi
-
- if use nginx_modules_http_fancyindex; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_FANCYINDEX_MODULE_WD}"
- fi
-
- if use nginx_modules_http_lua; then
- http_enabled=1
- if use luajit; then
- export LUAJIT_LIB=$(pkg-config --variable libdir luajit)
- export LUAJIT_INC=$(pkg-config --variable includedir luajit)
- else
- export LUA_LIB=$(pkg-config --variable libdir lua)
- export LUA_INC=$(pkg-config --variable includedir lua)
- fi
- myconf+=" --add-module=${DEVEL_KIT_MODULE_WD}"
- myconf+=" --add-module=${HTTP_LUA_MODULE_WD}"
- fi
-
- if use nginx_modules_http_auth_pam; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_AUTH_PAM_MODULE_WD}"
- fi
-
- if use nginx_modules_http_upstream_check; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_UPSTREAM_CHECK_MODULE_WD}"
- fi
-
- if use nginx_modules_http_metrics; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_METRICS_MODULE_WD}"
- fi
-
- if use nginx_modules_http_naxsi ; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_NAXSI_MODULE_WD}"
- fi
-
- if use rtmp ; then
- http_enabled=1
- myconf+=" --add-module=${RTMP_MODULE_WD}"
- fi
-
- if use nginx_modules_http_dav_ext ; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_DAV_EXT_MODULE_WD}"
- fi
-
- if use nginx_modules_http_echo ; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_ECHO_MODULE_WD}"
- fi
-
- if use nginx_modules_http_security ; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_SECURITY_MODULE_WD}/nginx/modsecurity"
- fi
-
- if use nginx_modules_http_push_stream ; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_PUSH_STREAM_MODULE_WD}"
- fi
-
- if use nginx_modules_http_sticky ; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_STICKY_MODULE_WD}"
- fi
-
- if use nginx_modules_http_mogilefs ; then
- http_enabled=1
- myconf+=" --add-module=${HTTP_MOGILEFS_MODULE_WD}"
- fi
-
- if use http || use http-cache; then
- http_enabled=1
- fi
-
- if [ $http_enabled ]; then
- use http-cache || myconf+=" --without-http-cache"
- use ssl && myconf+=" --with-http_ssl_module"
- else
- myconf+=" --without-http --without-http-cache"
- fi
-
- # MAIL modules
- for mod in $NGINX_MODULES_MAIL; do
- if use nginx_modules_mail_${mod}; then
- mail_enabled=1
- else
- myconf+=" --without-mail_${mod}_module"
- fi
- done
-
- if [ $mail_enabled ]; then
- myconf+=" --with-mail"
- use ssl && myconf+=" --with-mail_ssl_module"
- fi
-
- # custom modules
- for mod in $NGINX_ADD_MODULES; do
- myconf+=" --add-module=${mod}"
- done
-
- # https://bugs.gentoo.org/286772
- export LANG=C LC_ALL=C
- tc-export CC
-
- if ! use prefix; then
- myconf+=" --user=${PN} --group=${PN}"
- fi
-
- ./configure \
- --prefix="${EPREFIX}"/usr \
- --conf-path="${EPREFIX}"/etc/${PN}/${PN}.conf \
- --error-log-path="${EPREFIX}"/var/log/${PN}/error_log \
- --pid-path="${EPREFIX}"/run/${PN}.pid \
- --lock-path="${EPREFIX}"/run/lock/${PN}.lock \
- --with-cc-opt="-I${EROOT}usr/include" \
- --with-ld-opt="-L${EROOT}usr/$(get_libdir)" \
- --http-log-path="${EPREFIX}"/var/log/${PN}/access_log \
- --http-client-body-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/client \
- --http-proxy-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/proxy \
- --http-fastcgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/fastcgi \
- --http-scgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/scgi \
- --http-uwsgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/uwsgi \
- ${myconf} || die "configure failed"
-
- # A purely cosmetic change that makes nginx -V more readable. This can be
- # good if people outside the gentoo community would troubleshoot and
- # question the users setup.
- sed -i -e "s|${WORKDIR}|external_module|g" objs/ngx_auto_config.h || die
-}
-
-src_compile() {
- use nginx_modules_http_security && emake -C "${HTTP_SECURITY_MODULE_WD}"
-
- # https://bugs.gentoo.org/286772
- export LANG=C LC_ALL=C
- emake LINK="${CC} ${LDFLAGS}" OTHERLDFLAGS="${LDFLAGS}"
-}
-
-src_install() {
- emake DESTDIR="${D%/}" install
-
- cp "${FILESDIR}"/nginx.conf "${ED}"etc/nginx/nginx.conf || die
-
- newinitd "${FILESDIR}"/nginx.initd-r2 nginx
-
- systemd_newunit "${FILESDIR}"/nginx.service-r1 nginx.service
-
- doman man/nginx.8
- dodoc CHANGES* README
-
- # just keepdir. do not copy the default htdocs files (bug #449136)
- keepdir /var/www/localhost
- rm -rf "${D}"usr/html || die
-
- # set up a list of directories to keep
- local keepdir_list="${NGINX_HOME_TMP}"/client
- local module
- for module in proxy fastcgi scgi uwsgi; do
- use nginx_modules_http_${module} && keepdir_list+=" ${NGINX_HOME_TMP}/${module}"
- done
-
- keepdir /var/log/nginx ${keepdir_list}
-
- # this solves a problem with SELinux where nginx doesn't see the directories
- # as root and tries to create them as nginx
- fperms 0750 "${NGINX_HOME_TMP}"
- fowners ${PN}:0 "${NGINX_HOME_TMP}"
-
- fperms 0700 /var/log/nginx ${keepdir_list}
- fowners ${PN}:${PN} /var/log/nginx ${keepdir_list}
-
- # logrotate
- insinto /etc/logrotate.d
- newins "${FILESDIR}"/nginx.logrotate-r1 nginx
-
- if use nginx_modules_http_perl; then
- cd "${S}"/objs/src/http/modules/perl/
- emake DESTDIR="${D}" INSTALLDIRS=vendor
- perl_delete_localpod
- fi
-
- if use nginx_modules_http_cache_purge; then
- docinto ${HTTP_CACHE_PURGE_MODULE_P}
- dodoc "${HTTP_CACHE_PURGE_MODULE_WD}"/{CHANGES,README.md,TODO.md}
- fi
-
- if use nginx_modules_http_slowfs_cache; then
- docinto ${HTTP_SLOWFS_CACHE_MODULE_P}
- dodoc "${HTTP_SLOWFS_CACHE_MODULE_WD}"/{CHANGES,README.md}
- fi
-
- if use nginx_modules_http_fancyindex; then
- docinto ${HTTP_FANCYINDEX_MODULE_P}
- dodoc "${HTTP_FANCYINDEX_MODULE_WD}"/README.rst
- fi
-
- if use nginx_modules_http_lua; then
- docinto ${HTTP_LUA_MODULE_P}
- dodoc "${HTTP_LUA_MODULE_WD}"/{Changes,README.markdown}
- fi
-
- if use nginx_modules_http_auth_pam; then
- docinto ${HTTP_AUTH_PAM_MODULE_P}
- dodoc "${HTTP_AUTH_PAM_MODULE_WD}"/{README.md,ChangeLog}
- fi
-
- if use nginx_modules_http_upstream_check; then
- docinto ${HTTP_UPSTREAM_CHECK_MODULE_P}
- dodoc "${HTTP_UPSTREAM_CHECK_MODULE_WD}"/{README,CHANGES}
- fi
-
-# README.md is still empty
-# if use nginx_modules_http_metrics; then
-# docinto ${HTTP_METRICS_MODULE_P}
-# dodoc "${HTTP_METRICS_MODULE_WD}"/README.md
-# fi
-
- if use nginx_modules_http_naxsi; then
- insinto /etc/nginx
- doins "${HTTP_NAXSI_MODULE_WD}"/../naxsi_config/naxsi_core.rules
- fi
-
- if use rtmp; then
- docinto ${RTMP_MODULE_P}
- dodoc "${RTMP_MODULE_WD}"/{AUTHORS,README.md,stat.xsl}
- fi
-
- if use nginx_modules_http_dav_ext; then
- docinto ${HTTP_DAV_EXT_MODULE_P}
- dodoc "${HTTP_DAV_EXT_MODULE_WD}"/README
- fi
-
- if use nginx_modules_http_echo; then
- docinto ${HTTP_ECHO_MODULE_P}
- dodoc "${HTTP_ECHO_MODULE_WD}"/{README.markdown,doc/HttpEchoModule.wiki}
- fi
-
- if use nginx_modules_http_security; then
- docinto ${HTTP_SECURITY_MODULE_P}
- dodoc "${HTTP_SECURITY_MODULE_WD}"/{CHANGES,README.TXT,authors.txt}
- fi
-
- if use nginx_modules_http_push_stream; then
- docinto ${HTTP_PUSH_STREAM_MODULE_P}
- dodoc "${HTTP_PUSH_STREAM_MODULE_WD}"/{AUTHORS,CHANGELOG.textile,README.textile}
- fi
-
- if use nginx_modules_http_sticky; then
- docinto ${HTTP_STICKY_MODULE_P}
- dodoc "${HTTP_STICKY_MODULE_WD}"/{README.md,Changelog.txt,docs/sticky.pdf}
- fi
-}
-
-pkg_postinst() {
- if use ssl; then
- if [ ! -f "${EROOT}"etc/ssl/${PN}/${PN}.key ]; then
- install_cert /etc/ssl/${PN}/${PN}
- use prefix || chown ${PN}:${PN} "${EROOT}"etc/ssl/${PN}/${PN}.{crt,csr,key,pem}
- fi
- fi
-
- if use nginx_modules_http_lua && use nginx_modules_http_spdy; then
- ewarn "Lua 3rd party module author warns against using ${P} with"
- ewarn "NGINX_MODULES_HTTP=\"lua spdy\". For more info, see http://git.io/OldLsg"
- fi
-
- # This is the proper fix for bug #458726/#469094, resp. CVE-2013-0337 for
- # existing installations
- local fix_perms=0
-
- for rv in ${REPLACING_VERSIONS} ; do
- version_compare ${rv} 1.4.1-r2
- [[ $? -eq 1 ]] && fix_perms=1
- done
-
- if [[ $fix_perms -eq 1 ]] ; then
- ewarn "To fix a security bug (CVE-2013-0337, bug #458726) had the following"
- ewarn "directories the world-readable bit removed (if set):"
- ewarn " ${EPREFIX}/var/log/nginx"
- ewarn " ${EPREFIX}${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi}"
- ewarn "Check if this is correct for your setup before restarting nginx!"
- ewarn "This is a one-time change and will not happen on subsequent updates."
- ewarn "Furthermore nginx' temp directories got moved to ${NGINX_HOME_TMP}"
- chmod -f o-rwx "${EPREFIX}"/var/log/nginx "${EPREFIX}${NGINX_HOME_TMP}"/{,client,proxy,fastcgi,scgi,uwsgi}
- fi
-
- # If the nginx user can't change into or read the dir, display a warning.
- # If su is not available we display the warning nevertheless since we can't check properly
- su -s /bin/sh -c 'cd /var/log/nginx/ && ls' nginx >&/dev/null
- if [ $? -ne 0 ] ; then
- ewarn "Please make sure that the nginx user or group has at least"
- ewarn "'rx' permissions on /var/log/nginx (default on a fresh install)"
- ewarn "Otherwise you end up with empty log files after a logrotate."
- fi
-}