Ravenports generated: 18 Apr 2018 08:31
[ravenports.git] / bucket_58 / nginx
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               nginx
4 VERSION=                1.14.0
5 KEYWORDS=               www
6 VARIANTS=               standard loaded
7 SDESC[standard]=        HTTP and reverse proxy server (basic options)
8 SDESC[loaded]=          HTTP and reverse proxy server (all options)
9 HOMEPAGE=               https://nginx.org/
10 CONTACT=                nobody
11
12 DOWNLOAD_GROUPS=        main pgsql certrans ajp cpurge redis2 rdsjson geoip2 dynups fancyindex forminput fairload naxsi sesscrypt pam srcache iconv upprogress upcheck aws rdscsv echo subsfilter footer cslowfs morehead upload setmisc lua pushstrm zip letmath drizzle acclang push authdig davext arrayvar rtmp vod notice stubjson develkit xss eval njs memc
13 SITES[pgsql]=           GITHUB/FRiCKLE:ngx_postgres:1.0rc7
14 SITES[certrans]=        GITHUB/grahamedgecombe:nginx-ct:93e9884
15 SITES[ajp]=             GITHUB/yaoweibin:nginx_ajp_module:bf6cd93
16 SITES[cpurge]=          GITHUB/FRiCKLE:ngx_cache_purge:2.3
17 SITES[redis2]=          GITHUB/openresty:redis2-nginx-module:v0.14
18 SITES[rdsjson]=         GITHUB/openresty:rds-json-nginx-module:v0.14
19 SITES[geoip2]=          GITHUB/leev:ngx_http_geoip2_module:2.0
20 SITES[dynups]=          GITHUB/cubicdaiya:ngx_dynamic_upstream:v0.1.6
21 SITES[fancyindex]=      GITHUB/aperezdc:ngx-fancyindex:v0.4.2
22 SITES[forminput]=       GITHUB/calio:form-input-nginx-module:v0.12
23 SITES[fairload]=        GITHUB/cryptofuture:nginx-upstream-fair:b5be36f
24 SITES[naxsi]=           GITHUB/nbs-system:naxsi:0.55.3
25 SITES[main]=            http://nginx.org/download/
26 SITES[sesscrypt]=       GITHUB/openresty:encrypted-session-nginx-module:v0.06
27 SITES[pam]=             GITHUB/sto:ngx_http_auth_pam_module:v1.5.1
28 SITES[srcache]=         GITHUB/openresty:srcache-nginx-module:v0.31
29 SITES[iconv]=           GITHUB/calio:iconv-nginx-module:v0.14
30 SITES[upprogress]=      GITHUB/masterzen:nginx-upload-progress-module:afb2d31
31 SITES[upcheck]=         GITHUB/yaoweibin:nginx_upstream_check_module:31b1b42
32 SITES[aws]=             GITHUB/anomalizer:ngx_aws_auth:2.1.1
33 SITES[rdscsv]=          GITHUB/openresty:rds-csv-nginx-module:v0.07
34 SITES[echo]=            GITHUB/openresty:echo-nginx-module:v0.61
35 SITES[subsfilter]=      GITHUB/yaoweibin:ngx_http_substitutions_filter_module:v0.6.4
36 SITES[footer]=          GITHUB/alibaba:nginx-http-footer-filter:1.2.2
37 SITES[cslowfs]=         GITHUB/FRiCKLE:ngx_slowfs_cache:1.10
38 SITES[morehead]=        GITHUB/openresty:headers-more-nginx-module:v0.32
39 SITES[upload]=          GITHUB/Austinb:nginx-upload-module:72ec037
40 SITES[setmisc]=         GITHUB/openresty:set-misc-nginx-module:v0.31
41 SITES[lua]=             GITHUB/openresty:lua-nginx-module:v0.10.10
42 SITES[pushstrm]=        GITHUB/wandenberg:nginx-push-stream-module:0.5.2
43 SITES[zip]=             GITHUB/evanmiller:mod_zip:adf75e9
44 SITES[letmath]=         GITHUB/arut:nginx-let-module:v0.0.4
45 SITES[drizzle]=         GITHUB/openresty:drizzle-nginx-module:v0.1.10
46 SITES[acclang]=         GITHUB/giom:nginx_accept_language_module:2f69842
47 SITES[push]=            GITHUB/slact:nchan:v1.1.7
48 SITES[authdig]=         GITHUB/atomx:nginx-http-auth-digest:519dc2a
49 SITES[davext]=          GITHUB/arut:nginx-dav-ext-module:v0.1.0
50 SITES[arrayvar]=        GITHUB/openresty:array-var-nginx-module:v0.05
51 SITES[rtmp]=            GITHUB/arut:nginx-rtmp-module:v1.2.0
52 SITES[vod]=             GITHUB/kaltura:nginx-vod-module:1.19
53 SITES[notice]=          GITHUB/kr:nginx-notice:3c95966
54 SITES[stubjson]=        GITHUB/nginx-modules:ngx_http_json_status_module:0.1
55 SITES[develkit]=        GITHUB/simpl:ngx_devel_kit:v0.3.0
56 SITES[xss]=             GITHUB/openresty:xss-nginx-module:v0.05
57 SITES[eval]=            GITHUB/openresty:nginx-eval-module:2016.06.10
58 SITES[njs]=             GITHUB/nginx:njs:0.1.13
59 SITES[memc]=            GITHUB/openresty:memc-nginx-module:v0.18
60 DISTFILE[1]=            nginx-1.14.0.tar.gz:main
61 DISTFILE[2]=            generated:geoip2
62 DISTFILE[3]=            generated:notice
63 DISTFILE[4]=            generated:push
64 DISTFILE[5]=            generated:pushstrm
65 DISTFILE[6]=            generated:subsfilter
66 DISTFILE[7]=            generated:ajp
67 DISTFILE[8]=            generated:upcheck
68 DISTFILE[9]=            generated:acclang
69 DISTFILE[10]=           generated:authdig
70 DISTFILE[11]=           generated:pam
71 DISTFILE[12]=           generated:aws
72 DISTFILE[13]=           generated:certrans
73 DISTFILE[14]=           generated:echo
74 DISTFILE[15]=           generated:morehead
75 DISTFILE[16]=           generated:eval
76 DISTFILE[17]=           generated:drizzle
77 DISTFILE[18]=           generated:sesscrypt
78 DISTFILE[19]=           generated:lua
79 DISTFILE[20]=           generated:memc
80 DISTFILE[21]=           generated:rdscsv
81 DISTFILE[22]=           generated:rdsjson
82 DISTFILE[23]=           generated:redis2
83 DISTFILE[24]=           generated:setmisc
84 DISTFILE[25]=           generated:srcache
85 DISTFILE[26]=           generated:xss
86 DISTFILE[27]=           generated:arrayvar
87 DISTFILE[28]=           generated:develkit
88 DISTFILE[29]=           generated:njs
89 DISTFILE[30]=           generated:davext
90 DISTFILE[31]=           generated:footer
91 DISTFILE[32]=           generated:stubjson
92 DISTFILE[33]=           generated:upload
93 DISTFILE[34]=           generated:upprogress
94 DISTFILE[35]=           generated:fairload
95 DISTFILE[36]=           generated:zip
96 DISTFILE[37]=           generated:dynups
97 DISTFILE[38]=           generated:letmath
98 DISTFILE[39]=           generated:rtmp
99 DISTFILE[40]=           generated:vod
100 DISTFILE[41]=           generated:iconv
101 DISTFILE[42]=           generated:forminput
102 DISTFILE[43]=           generated:cpurge
103 DISTFILE[44]=           generated:pgsql
104 DISTFILE[45]=           generated:cslowfs
105 DISTFILE[46]=           generated:fancyindex
106 DISTFILE[47]=           generated:naxsi
107 DF_INDEX=               1
108 SPKGS[standard]=        single
109 SPKGS[loaded]=          single
110
111 OPTIONS_AVAILABLE=      LOADED
112 OPTIONS_STANDARD=       none
113 VOPTS[loaded]=          LOADED=ON
114
115 BUILD_DEPENDS=          pcre:static:standard
116 BUILDRUN_DEPENDS=       pcre:shared:standard
117
118 USERS=                  {{WWWOWN}}
119 GROUPS=                 {{WWWGRP}}
120 USERGROUP_SPKG=         single
121
122 USES=                   cpe ssl zlib
123
124 CPE_PRODUCT=            nginx
125 CPE_VENDOR=             nginx
126 FPC_EQUIVALENT=         www/nginx
127
128 MUST_CONFIGURE=         yes
129 CONFIGURE_ARGS=         --prefix={{PREFIX}}/etc/nginx
130                         --with-cc-opt="-I{{LOCALBASE}}/include"
131                         --with-ld-opt="-L{{LOCALBASE}}/lib -Wl,-rpath,{{LOCALBASE}}/lib"
132                         --conf-path={{PREFIX}}/etc/nginx/nginx.conf
133                         --sbin-path={{PREFIX}}/sbin/nginx
134                         --pid-path=/var/run/nginx.pid
135                         --error-log-path=/var/log/nginx/error.log
136                         --user={{WWWOWN}}
137                         --group={{WWWGRP}}
138                         --with-pcre
139                         --modules-path={{PREFIX}}/libexec/nginx
140                         --with-file-aio
141                         --http-client-body-temp-path=/var/tmp/nginx/client_body_temp
142                         --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp
143                         --http-proxy-temp-path=/var/tmp/nginx/proxy_temp
144                         --http-scgi-temp-path=/var/tmp/nginx/scgi_temp
145                         --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp
146                         --http-log-path=/var/log/nginx/access.log
147                         --with-http_addition_module
148                         --with-http_auth_request_module
149                         --with-http_dav_module
150                         --with-http_flv_module
151                         --with-http_gzip_static_module
152                         --with-http_gunzip_module
153                         --with-http_mp4_module
154                         --with-http_random_index_module
155                         --with-http_realip_module
156                         --with-http_secure_link_module
157                         --with-http_slice_module
158                         --with-http_ssl_module
159                         --with-http_stub_status_module
160                         --with-http_sub_module
161                         --with-http_v2_module
162                         --with-mail=dynamic
163                         --with-mail_ssl_module
164                         --with-stream=dynamic
165                         --with-stream_ssl_module
166                         --with-stream_ssl_preread_module
167                         --with-threads
168
169 PLIST_SUB=              WWWOWN={{WWWOWN}}
170                         WWWGRP={{WWWGRP}}
171                         NGINX_TMPDIR=/var/tmp/nginx
172                         NGINX_LOGDIR=/var/log/nginx
173 RC_SUBR=                nginx:single
174 SUB_FILES=              pkg-message-single
175 SUB_LIST=               WWWOWN={{WWWOWN}}
176                         WWWGRP={{WWWGRP}}
177                         NGINX_TMPDIR=/var/tmp/nginx
178                         NGINX_LOGDIR=/var/log/nginx
179
180 [LOADED].DESCRIPTION=                   All options enabled (heavy dependencies)
181 [LOADED].BUILDRUN_DEPENDS_ON=           libmaxminddb:single:standard
182                                         libGD:single:standard
183                                         expat:shared:standard
184 [LOADED].BUILD_DEPENDS_ON=              expat:static:standard
185 [LOADED].CONFIGURE_ARGS_OFF=            --without-mail_imap_module
186                                         --without-mail_pop3_module
187                                         --without-mail_smtp_module
188 [LOADED].CONFIGURE_ARGS_ON=             --with-http_perl_module=dynamic
189                                         --with-http_xslt_module=dynamic
190                                         --with-http_image_filter_module=dynamic
191                                         --add-module={{WRKDIR}}/nginx-notice-3c95966
192                                         --add-module={{WRKDIR}}/nchan-1.1.7
193                                         --add-module={{WRKDIR}}/nginx-push-stream-module-0.5.2
194                                         --add-module={{WRKDIR}}/ngx_http_substitutions_filter_module-0.6.4
195                                         --add-module={{WRKDIR}}/nginx_ajp_module-bf6cd93
196                                         --add-module={{WRKDIR}}/nginx_upstream_check_module-31b1b42
197                                         --add-module={{WRKDIR}}/nginx_accept_language_module-2f69842
198                                         --add-module={{WRKDIR}}/ngx_aws_auth-2.1.1
199                                         --add-module={{WRKDIR}}/rds-csv-nginx-module-0.07
200                                         --add-module={{WRKDIR}}/rds-json-nginx-module-0.14
201                                         --add-module={{WRKDIR}}/redis2-nginx-module-0.14
202                                         --add-module={{WRKDIR}}/srcache-nginx-module-0.31
203                                         --add-module={{WRKDIR}}/ngx_devel_kit-0.3.0
204                                         --add-module={{WRKDIR}}/encrypted-session-nginx-module-0.06
205                                         --add-module={{WRKDIR}}/array-var-nginx-module-0.05
206                                         --add-module={{WRKDIR}}/xss-nginx-module-0.05
207                                         --add-module={{WRKDIR}}/nginx-dav-ext-module-0.1.0
208                                         --add-module={{WRKDIR}}/nginx-http-footer-filter-1.2.2
209                                         --add-module={{WRKDIR}}/ngx_http_json_status_module-0.1
210                                         --add-module={{WRKDIR}}/nginx-upload-module-72ec037
211                                         --add-module={{WRKDIR}}/nginx-upload-progress-module-afb2d31
212                                         --add-module={{WRKDIR}}/nginx-let-module-0.0.4
213                                         --add-module={{WRKDIR}}/ngx_slowfs_cache-1.10
214                                         --add-module={{WRKDIR}}/ngx_cache_purge-2.3
215                                         --add-module={{WRKDIR}}/ngx_postgres-1.0rc7
216                                         --add-dynamic-module={{WRKDIR}}/ngx_http_geoip2_module-2.0
217                                         --add-dynamic-module={{WRKDIR}}/nginx-http-auth-digest-519dc2a
218                                         --add-dynamic-module={{WRKDIR}}/echo-nginx-module-0.61
219                                         --add-dynamic-module={{WRKDIR}}/headers-more-nginx-module-0.32
220                                         --add-dynamic-module={{WRKDIR}}/nginx-eval-module-2016.06.10
221                                         --add-dynamic-module={{WRKDIR}}/memc-nginx-module-0.18
222                                         --add-dynamic-module={{WRKDIR}}/set-misc-nginx-module-0.31
223                                         --add-dynamic-module={{WRKDIR}}/njs-0.1.13/nginx
224                                         --add-dynamic-module={{WRKDIR}}/nginx-upstream-fair-b5be36f
225                                         --add-dynamic-module={{WRKDIR}}/mod_zip-adf75e9
226                                         --add-dynamic-module={{WRKDIR}}/ngx_dynamic_upstream-0.1.6
227                                         --add-dynamic-module={{WRKDIR}}/nginx-rtmp-module-1.2.0
228                                         --add-dynamic-module={{WRKDIR}}/nginx-vod-module-1.19
229                                         --add-dynamic-module={{WRKDIR}}/iconv-nginx-module-0.14
230                                         --add-dynamic-module={{WRKDIR}}/form-input-nginx-module-0.12
231                                         --add-dynamic-module={{WRKDIR}}/ngx-fancyindex-0.4.2
232                                         --add-dynamic-module={{WRKDIR}}/naxsi-0.55.3/naxsi_src
233 [LOADED].DF_INDEX_ON=                   2
234                                         3
235                                         4
236                                         5
237                                         6
238                                         7
239                                         8
240                                         9
241                                         10
242                                         12
243                                         14
244                                         15
245                                         16
246                                         18
247                                         20
248                                         21
249                                         22
250                                         23
251                                         24
252                                         25
253                                         26
254                                         27
255                                         28
256                                         29
257                                         30
258                                         31
259                                         32
260                                         33
261                                         34
262                                         35
263                                         36
264                                         37
265                                         38
266                                         39
267                                         40
268                                         41
269                                         42
270                                         43
271                                         44
272                                         45
273                                         46
274                                         47
275 [LOADED].EXTRA_PATCHES_ON=              extra-patch-ngx_http_notice_module.c
276                                         extra-patch-upstream-check-module
277                                         extra-patch-iconv
278                                         extra-patch-postgresql
279 [LOADED].GNOME_COMPONENTS_ON=           libxml2
280                                         libxslt
281 [LOADED].KEYWORDS_ON=                   perl
282 [LOADED].USES_ON=                       perl
283                                         pgsql
284
285 post-patch:
286         ${REINPLACE_CMD} 's!%%HTTP_PORT%%!80!; \
287                 s!%%PREFIX%%!${PREFIX}!; \
288                 s!%%NGINX_ERRORLOG%%!/var/log/nginx/error.log!' \
289                 ${WRKSRC}/conf/nginx.conf
290
291 post-patch-LOADED-ON:
292         ${REINPLACE_CMD} -e "/ngx_feature_path/ \
293         s|/usr/include/libxml2|${LOCALBASE}/include/libxml2 ${LOCALBASE}/include|" \
294         ${WRKSRC}/auto/lib/libxslt/conf
295         ${REINPLACE_CMD} 's!%%PREFIX%%!${LOCALBASE}!g' \
296                 ${WRKDIR}/iconv-nginx-module-0.14/config
297         ${REINPLACE_CMD} 's!%%PREFIX%%!${LOCALBASE}!g' \
298                 ${WRKDIR}/ngx_postgres-1.0rc7/config
299
300 do-build:
301         (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD})
302
303 post-install:
304         ${CAT} ${WRKSRC}/conf/nginx.conf \
305                 >>${STAGEDIR}${PREFIX}/etc/nginx/nginx.conf-dist
306         ${INSTALL_MAN} ${WRKSRC}/objs/nginx.8 \
307                 ${STAGEDIR}${MAN8PREFIX}/man/man8
308
309 do-install-LOADED-ON:
310         @${MKDIR} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/nginx
311         ${INSTALL_PROGRAM} ${WRKSRC}/objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.so \
312                 ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/nginx
313         ${INSTALL_DATA} ${WRKSRC}/objs/src/http/modules/perl/blib/lib/nginx.pm \
314                 ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/
315
316 do-install:
317         ${MKDIR} ${STAGEDIR}${PREFIX}/etc/nginx \
318                 ${STAGEDIR}${PREFIX}/libexec/nginx \
319                 ${STAGEDIR}/var/tmp/nginx \
320                 ${STAGEDIR}/var/log/nginx \
321                 ${STAGEDIR}${PREFIX}/www/nginx-dist
322         ${INSTALL_PROGRAM} ${WRKSRC}/objs/nginx ${STAGEDIR}${PREFIX}/sbin
323 .for i in koi-utf koi-win win-utf
324         ${INSTALL_DATA} ${WRKSRC}/conf/${i} ${STAGEDIR}${PREFIX}/etc/nginx
325 .endfor
326 .for i in fastcgi_params mime.types scgi_params uwsgi_params
327         ${INSTALL_DATA} ${WRKSRC}/conf/${i} ${STAGEDIR}${PREFIX}/etc/nginx/${i}-dist
328 .endfor
329 .for i in index.html 50x.html
330         ${INSTALL_DATA} ${WRKSRC}/html/${i} ${STAGEDIR}${PREFIX}/www/nginx-dist
331 .endfor
332         ${ECHO_CMD} >> ${STAGEDIR}${PREFIX}/www/nginx-dist/EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING
333         (cd ${WRKSRC}/objs/ && ${FIND} . -depth -maxdepth 1 -name '*.so' -type f \
334                 -exec ${INSTALL_PROGRAM} {} ${STAGEDIR}${PREFIX}/libexec/nginx \;)
335
336 [FILE:351:descriptions/desc.single.standard]
337 NGINX is a high performance edge web server with the lowest memory
338 footprint and the key features to build modern and efficient web
339 infrastructure.
340
341 NGINX functionality includes HTTP server, HTTP and mail reverse proxy,
342 caching, load balancing, compression, request throttling, connection
343 multiplexing and reuse, SSL offload and HTTP media streaming.
344
345
346 [FILE:3222:descriptions/desc.single.loaded]
347 NGINX is a high performance edge web server with the lowest memory
348 footprint and the key features to build modern and efficient web
349 infrastructure.
350
351 NGINX functionality includes HTTP server, HTTP and mail reverse proxy,
352 caching, load balancing, compression, request throttling, connection
353 multiplexing and reuse, SSL offload and HTTP media streaming.
354
355 This package contains additional modules over the standard nginx:
356   geoip2          : handles maxmind geoip2 databases
357   notice          : Ancient module for displaying downtime notices
358   nchan           : pub/sub server using http push or websockets
359   push stream     : Stream pushing using eventsource, websockets, polling
360   substitutions   : Regex and fixed string substitutions filter
361   AJP             : Direct connection to AJP port
362   health          : Supports upstream health checks
363   accept language : Parse Accept-Language header to determine locale
364   AWS             : Proxy to authenticated AWS services
365   RDB-CSV         : Resty-DBD Streams to Comma-Separated Values converter
366   RDB-JSON        : Resty-DBD Streams to JSON format converter
367   REDIS2          : Allows non-blocking connection to Redis 2.0 server
368   SR cache        : Transparent subrequest-based caching layout
369   XSS             : Cross-site scripting support
370   session-crypt   : Encrypts and decrypts nginx variable values
371   array variables : Support for array types in nginx config files
372   DAV extension   : Rest of WebDAV support (PROPFIND and OPTIONS)
373   Digest          : RFC 2617 Digest authentication support
374   Echo goodies    : Add support for echo, sleep, time, exec, etc.
375   more headers    : Set, add and clear arbitrary headers
376   eval            : Experimental! Capture subrequest responses into vars
377   memc            : Extend memcached module with additional commands
378   set misc        : Add various set_xxx directives to rewrite module
379   njs             : NginScript enables http and stream variable handlers
380   xslt            : Transforms xml responses using xslt stylesheets
381   footer          : Body filter that adds string to page footer
382   stub status     : Version of stub status with json-formatted output
383   upload          : file uploads - multipart/form-data encoding (RFC 1867)
384   upload progress : Monitors RFC 1867 uploads during transmission
385   fair balancer   : Enhancement of round-robin load balancer
386   zip             : Low memory dynamic ZIP archive assembler
387   dyn upstream    : Operates upstreams dynamically with HTTP APIs
388   let (math)      : support for arithmetic operation
389   rtmp            : Media Streaming Server
390   VOD repackager  : On-the-fly repackaging of MP4 files to DASH, HDS, HLS, MSS
391   iconv           : character encoding set converter
392   forminput       : HTTP POST and PUT parser to populate nginx variables
393   cache purge     : Enables content purging from fastcgi, proxy, scgi, uwsgi
394   slowfs cache    : Enables fast caching of static files from slow FS
395   postgresql      : Enabled direct communication with PostgreSQL database
396   fancy index     : Enables autoindex with style (footers, headers, css)
397   image filter    : Transforms images in JPEG, GIF, PNG, and WebP formats
398   naxsi           : Web App Firewall, "Nginx Anti XSS & SQL Injection"
399
400
401 [FILE:5592:distinfo]
402 5d15becbf69aba1fe33f8d416d97edd95ea8919ea9ac519eff9bafebb6022cb5      1016272 nginx-1.14.0.tar.gz
403 ebb4652c4f9a2e1ee31fddefc4c93ff78e651a4b2727d3453d026bccbd708d99         6766 leev-ngx_http_geoip2_module-2.0.tar.gz
404 e829fc94178cc8c91fef15a1fc44ee7ac162c13eddc0bba4c9427aaa23386885         3343 kr-nginx-notice-3c95966.tar.gz
405 c8ae7791560ef19a0fec459f424366a09e3baf52ab0fc4938ffce8d962b6abd6       608690 slact-nchan-1.1.7.tar.gz
406 1d07f38acdb8194bd49344b0ba21de101070de9b8731d27a8d22e928850bc199       182008 wandenberg-nginx-push-stream-module-0.5.2.tar.gz
407 ed4ddbcf0c434f4a1e97b61251a63ace759792764bd5cb79ff20efe348db8db3        92230 yaoweibin-ngx_http_substitutions_filter_module-0.6.4.tar.gz
408 9e3f78ea73e2d606a95ee64fd3affa4c249f9b342e66b6b11b63061791f28316       109704 yaoweibin-nginx_ajp_module-bf6cd93.tar.gz
409 d7225b92feb359b86cefd62915c69317ac7b6a40fd697999e94b7ca4e3882fc7       130039 yaoweibin-nginx_upstream_check_module-31b1b42.tar.gz
410 5534ca63cdfc2a7dc4e1cbf9c2d54d3ed3f0e6c86b4a95be48ec0a3f41cc1eb0         3393 giom-nginx_accept_language_module-2f69842.tar.gz
411 6ef8c81267cbb2f912fa3add846fddaaab06d604155de322dad83912410adafc        17778 atomx-nginx-http-auth-digest-519dc2a.tar.gz
412 77676842919134af88a7b4bfca4470223e3a00d287d17c0dbdc9a114a685b6e7         6863 sto-ngx_http_auth_pam_module-1.5.1.tar.gz
413 5b9a4f14bc8b665524a1c4c2c38cdd3ca9bfe711621add943b10b75bc3ca63f9        15344 anomalizer-ngx_aws_auth-2.1.1.tar.gz
414 72fdd125b9207cdda135f368095f85b943a78a4ff004d1cd217972e12b1571b2         7224 grahamedgecombe-nginx-ct-93e9884.tar.gz
415 2e6a03032555f5da1bdff2ae96c96486f447da3da37c117e0f964ae0753d22aa        53155 openresty-echo-nginx-module-0.61.tar.gz
416 c6d9dab8ea1fc997031007e2e8f47cced01417e203cd88d53a9fe9f6ae138720        28033 openresty-headers-more-nginx-module-0.32.tar.gz
417 6b91d3c2c2f254ebb37eb3dd6dd41048dfb18320bb98a3afdd1ad38b47f6d609        14188 openresty-nginx-eval-module-2016.06.10.tar.gz
418 4033b9af73241a695ff07162969ea2212f5401dd484f204b8e3e50f488f84a94        50674 openresty-drizzle-nginx-module-0.1.10.tar.gz
419 fa6537c406cee1dc7acd6152d16dba4581d53587860a0642f1b0f7c817ee006d        11128 openresty-encrypted-session-nginx-module-0.06.tar.gz
420 b4acb84e2d631035a516d61830c910ef6e6485aba86096221ec745e0dbb3fbc9       611973 openresty-lua-nginx-module-0.10.10.tar.gz
421 4e280d1dcb8b312bc7875604c1e35b17879279126d3d5fbf482aa9cc7c11276d        37113 openresty-memc-nginx-module-0.18.tar.gz
422 b204909c6fb194fe8fed7627a3733bc9598f64251dc04a5b6a5bbd612e925324        19444 openresty-rds-csv-nginx-module-0.07.tar.gz
423 99aedf222a9664484918392988cce41b1a6238240d42f8bd44f5ff102c05c36c        33496 openresty-rds-json-nginx-module-0.14.tar.gz
424 d830e072fcb4acee8490ba3e38eee6034fd884a954d17ad4efeb397032c58a71        27924 openresty-redis2-nginx-module-0.14.tar.gz
425 97946a68937b50ab8637e1a90a13198fe376d801dc3e7447052e43c28e9ee7de        29359 openresty-set-misc-nginx-module-0.31.tar.gz
426 3f9729e73a8340926fa9d9fc15707c2f287cd27b6a9fe42e83f660ca48a5972d        48310 openresty-srcache-nginx-module-0.31.tar.gz
427 958bd8de773601d8d3138501cc4be0420f1c818a3987a70cc9c0023371e432cf        11477 openresty-xss-nginx-module-0.05.tar.gz
428 c949d4be6f3442c8e2937046448dc8d8def25c0e0fa6f4e805144cea45eabe80        11280 openresty-array-var-nginx-module-0.05.tar.gz
429 88e05a99a8a7419066f5ae75966fb1efc409bad4522d14986da074554ae61619        66455 simpl-ngx_devel_kit-0.3.0.tar.gz
430 225596159cb8cbea30f0a2418bf9cfb8f3b154c083755d0644ebd53e6a08d952       203782 nginx-njs-0.1.13.tar.gz
431 6b004eed8ea16ad8de4d304027bf0413cc323a95914e58625a7dc066481aae3a         6614 arut-nginx-dav-ext-module-0.1.0.tar.gz
432 3493b54460c59370f9f60c6e662862752f1920fc6e684f7a66bb2b3260692813         3934 alibaba-nginx-http-footer-filter-1.2.2.tar.gz
433 a993a0f25b58d3b69aea709a7605de5f7f08e6a1e27f83c8ce5282e5a44e3a90         6738 nginx-modules-ngx_http_json_status_module-0.1.tar.gz
434 c6d4e38ad0712c898cc53721f492f8f73acf2753cc0a0769fa34d4d6ba4e8efd        28303 Austinb-nginx-upload-module-72ec037.tar.gz
435 6318851cc3a624aaad3b1f4cd9f51f79c86575c53dfe0c28bbdcf9470b6a33e6        17269 masterzen-nginx-upload-progress-module-afb2d31.tar.gz
436 e765afcaab6cd1601e914039a8d00ab18eb6fe01180c58e0e4e098bc5b4d8233        10174 cryptofuture-nginx-upstream-fair-b5be36f.tar.gz
437 1a754c94bdf2c5d4feabe8d1c7e07780965dbd1f1382e0a965bb5f2f80d16821        26164 evanmiller-mod_zip-adf75e9.tar.gz
438 056fcd63cab39c2f0144d6a8c3ce16e8ae2cfb6e02ad66e5972ffeeca6c6a4d3        11015 cubicdaiya-ngx_dynamic_upstream-0.1.6.tar.gz
439 cbf6fcddc00a7e30289134bdeace12565e000cc7d4efee2d2ebb8799d0b88270        20534 arut-nginx-let-module-0.0.4.tar.gz
440 a8026f5ade30b178a06f12c46dff053cfe12256016ad465a46646183086b16b0       519895 arut-nginx-rtmp-module-1.2.0.tar.gz
441 ea71c02fc9257463a3cb579db7dc2c76fbc4dd1b2657551bf6d78ec722be99bf       407765 kaltura-nginx-vod-module-1.19.tar.gz
442 b8b9f355c05c0790226512f6732348a2404d48531688a1fc04ce6768163bf462        13133 calio-iconv-nginx-module-0.14.tar.gz
443 5c1869d55897075adb3fdf840b21060dc54669a1f840a36d1539acc7e59dd106        11090 calio-form-input-nginx-module-0.12.tar.gz
444 cb7d5f22919c613f1f03341a1aeb960965269302e9eb23425ccaabd2f5dcbbec        11717 FRiCKLE-ngx_cache_purge-2.3.tar.gz
445 c942e674a7273ab87caab4dcad626ab54852be192c29b1add50d2cb535e3cbb9        40742 FRiCKLE-ngx_postgres-1.0rc7.tar.gz
446 aef0065bfdfdb4d2740a95311654bd8af218b1002a02e06f8129afbf9e17e195        11122 FRiCKLE-ngx_slowfs_cache-1.10.tar.gz
447 8327150864ca267b735d550d3304030efbbd863fdddfe0a94e970f249a8827ee        22047 aperezdc-ngx-fancyindex-0.4.2.tar.gz
448 0b3c95d250772dc89ad8b49e47c1e024c5ae2c76c0cffa445e9fe05c4dd13495       187416 nbs-system-naxsi-0.55.3.tar.gz
449
450
451 [FILE:777:manifests/plist.single.standard]
452 @dir %%NGINX_LOGDIR%%
453 @dir %%NGINX_TMPDIR%%
454 @sample etc/nginx/fastcgi_params-dist etc/nginx/fastcgi_params
455 @sample etc/nginx/mime.types-dist etc/nginx/mime.types
456 @sample etc/nginx/nginx.conf-dist etc/nginx/nginx.conf
457 @sample etc/nginx/scgi_params-dist etc/nginx/scgi_params
458 @sample etc/nginx/uwsgi_params-dist etc/nginx/uwsgi_params
459 etc/nginx/
460  koi-utf
461  koi-win
462  win-utf
463 libexec/nginx/
464  ngx_mail_module.so
465  ngx_stream_module.so
466 sbin/nginx
467 share/man/man8/nginx.8.gz
468 www/nginx-dist/
469  50x.html
470  EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING
471  index.html
472 @preexec mkdir -p -m 755 %D/www/nginx-dist
473 @preexec if [ ! -d %D/www/nginx/ ] ; then ln -fs %D/www/nginx-dist %D/www/nginx; fi
474 @preexec chmod a-w %D/www/nginx-dist
475 @postunexec if [ -L %D/www/nginx ]; then rm -f %D/www/nginx; fi
476
477
478 [FILE:1484:manifests/plist.single.loaded]
479 @dir %%NGINX_LOGDIR%%
480 @dir %%NGINX_TMPDIR%%
481 @sample etc/nginx/fastcgi_params-dist etc/nginx/fastcgi_params
482 @sample etc/nginx/mime.types-dist etc/nginx/mime.types
483 @sample etc/nginx/nginx.conf-dist etc/nginx/nginx.conf
484 @sample etc/nginx/scgi_params-dist etc/nginx/scgi_params
485 @sample etc/nginx/uwsgi_params-dist etc/nginx/uwsgi_params
486 etc/nginx/
487  koi-utf
488  koi-win
489  win-utf
490 lib/perl5/site_perl/mach/5.26/auto/nginx/nginx.so
491 lib/perl5/site_perl/mach/5.26/nginx.pm
492 libexec/nginx/
493  ngx_dynamic_upstream_module.so
494  ngx_http_auth_digest_module.so
495  ngx_http_echo_module.so
496  ngx_http_eval_module.so
497  ngx_http_fancyindex_module.so
498  ngx_http_form_input_module.so
499  ngx_http_geoip2_module.so
500  ngx_http_headers_more_filter_module.so
501  ngx_http_iconv_module.so
502  ngx_http_image_filter_module.so
503  ngx_http_js_module.so
504  ngx_http_memc_module.so
505  ngx_http_naxsi_module.so
506  ngx_http_perl_module.so
507  ngx_http_set_misc_module.so
508  ngx_http_upstream_fair_module.so
509  ngx_http_vod_module.so
510  ngx_http_xslt_filter_module.so
511  ngx_http_zip_module.so
512  ngx_mail_module.so
513  ngx_rtmp_module.so
514  ngx_stream_js_module.so
515  ngx_stream_module.so
516  ngx_stream_geoip2_module.so
517 sbin/nginx
518 share/man/man8/nginx.8.gz
519 www/nginx-dist/
520  50x.html
521  EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING
522  index.html
523 @preexec mkdir -p -m 755 %D/www/nginx-dist
524 @preexec if [ ! -d %D/www/nginx/ ] ; then ln -fs %D/www/nginx-dist %D/www/nginx; fi
525 @preexec chmod a-w %D/www/nginx-dist
526 @postunexec if [ -L %D/www/nginx ]; then rm -f %D/www/nginx; fi
527
528
529 [FILE:764:files/extra-patch-iconv]
530 --- ../iconv-nginx-module-0.14/config.orig      2013-04-16 17:57:17.000000000 -0700
531 +++ ../iconv-nginx-module-0.14/config   2013-05-01 17:16:28.134624745 -0700
532 @@ -39,12 +39,12 @@
533      fi
534  
535      if [ $ngx_found = no ]; then
536 -        ngx_feature="libiconv in /usr/local/"
537 -        ngx_feature_path="/usr/local/include"
538 +        ngx_feature="libiconv in %%PREFIX%%/"
539 +        ngx_feature_path="%%PREFIX%%/include"
540          if [ $NGX_RPATH = YES ]; then
541 -            ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -liconv"
542 +            ngx_feature_libs="-R%%PREFIX%%/lib -L%%PREFIX%%/lib -liconv"
543          else
544 -            ngx_feature_libs="-L/usr/local/lib -liconv"
545 +            ngx_feature_libs="-L%%PREFIX%%/lib -liconv"
546          fi
547          . auto/feature
548      fi
549
550
551 [FILE:842:files/extra-patch-nginx-ct]
552 --- ../nginx-ct-93e9884/ngx_ssl_ct_module.c.orig        2017-07-23 12:03:35 UTC
553 +++ ../nginx-ct-93e9884/ngx_ssl_ct_module.c
554 @@ -160,7 +160,7 @@ next:
555  
556  #ifndef OPENSSL_IS_BORINGSSL
557      /* add OpenSSL TLS extension */
558 -#  if OPENSSL_VERSION_NUMBER >= 0x10101000L
559 +#  if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER)
560      int context = SSL_EXT_CLIENT_HELLO
561                  | SSL_EXT_TLS1_2_SERVER_HELLO
562                  | SSL_EXT_TLS1_3_CERTIFICATE;
563 @@ -184,7 +184,7 @@ next:
564  }
565  
566  #ifndef OPENSSL_IS_BORINGSSL
567 -#  if OPENSSL_VERSION_NUMBER >= 0x10101000L
568 +#  if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER)
569  int ngx_ssl_ct_ext_cb(SSL *s, unsigned int ext_type, unsigned int context,
570      const unsigned char **out, size_t *outlen, X509 *x, size_t chainidx,
571      int *al, void *add_arg) {
572
573
574 [FILE:360:files/extra-patch-ngx_http_notice_module.c]
575 --- ../nginx-notice-3c95966/ngx_http_notice_module.c.orig       2009-07-16 18:37:57.000000000 +0200
576 +++ ../nginx-notice-3c95966/ngx_http_notice_module.c
577 @@ -153,7 +153,7 @@
578          return NGX_HTTP_NOT_ALLOWED;
579      }
580  
581 -    rc = ngx_http_discard_body(r);
582 +    rc = ngx_http_discard_request_body(r);
583  
584      if (rc != NGX_OK && rc != NGX_AGAIN) {
585          return rc;
586
587
588 [FILE:1241:files/extra-patch-postgresql]
589 --- ../ngx_postgres-1.0rc7/config.orig  2015-05-26 20:52:25.649166000 +0300
590 +++ ../ngx_postgres-1.0rc7/config
591 @@ -48,12 +48,12 @@
592  
593      if [ $ngx_found = no ]; then
594          # FreeBSD
595 -        ngx_feature="libpq library in /usr/local/"
596 -        ngx_feature_path="/usr/local/include"
597 +        ngx_feature="libpq library in %%PREFIX%%/"
598 +        ngx_feature_path="%%PREFIX%%/include"
599          if [ $NGX_RPATH = YES ]; then
600 -            ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lpq"
601 +            ngx_feature_libs="-R%%PREFIX%%/lib -L%%PREFIX%%/lib -lpq"
602          else
603 -            ngx_feature_libs="-L/usr/local/lib -lpq"
604 +            ngx_feature_libs="-L%%PREFIX%%/lib -lpq"
605          fi
606          . auto/feature
607      fi
608 --- ../ngx_postgres-1.0rc7/src/ngx_postgres_module.c.orig       2016-11-20 15:34:25.763542000 -0500
609 +++ ../ngx_postgres-1.0rc7/src/ngx_postgres_module.c
610 @@ -1320,12 +1320,14 @@
611              continue;
612          }
613  
614 +#if (nginx_version < 1011006)
615          if (uscfp[i]->default_port && url->default_port
616              && (uscfp[i]->default_port != url->default_port))
617          {
618              dd("default_port doesn't match");
619              continue;
620          }
621 +#endif
622  
623          dd("returning");
624          return uscfp[i];
625
626
627 [FILE:7578:files/extra-patch-upstream-check-module]
628 --- src/http/modules/ngx_http_upstream_hash_module.c.orig       2017-08-08 15:00:13 UTC
629 +++ src/http/modules/ngx_http_upstream_hash_module.c
630 @@ -9,6 +9,9 @@
631  #include <ngx_core.h>
632  #include <ngx_http.h>
633  
634 +#if (NGX_HTTP_UPSTREAM_CHECK)
635 +#include "ngx_http_upstream_check_module.h"
636 +#endif
637  
638  typedef struct {
639      uint32_t                            hash;
640 @@ -235,6 +238,15 @@ ngx_http_upstream_get_hash_peer(ngx_peer
641              goto next;
642          }
643  
644 +#if (NGX_HTTP_UPSTREAM_CHECK)
645 +        ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
646 +            "get hash peer, check_index: %ui",
647 +             peer->check_index);
648 +        if (ngx_http_upstream_check_peer_down(peer->check_index)) {
649 +            goto next;
650 +        }
651 +#endif
652 +
653          if (peer->max_fails
654              && peer->fails >= peer->max_fails
655              && now - peer->checked <= peer->fail_timeout)
656 @@ -538,6 +550,15 @@ ngx_http_upstream_get_chash_peer(ngx_pee
657                  continue;
658              }
659  
660 +#if (NGX_HTTP_UPSTREAM_CHECK)
661 +            ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
662 +                "get consistent_hash peer, check_index: %ui",
663 +                 peer->check_index);
664 +            if (ngx_http_upstream_check_peer_down(peer->check_index)) {
665 +                continue;
666 +            }
667 +#endif
668 +
669              if (peer->server.len != server->len
670                  || ngx_strncmp(peer->server.data, server->data, server->len)
671                     != 0)
672 --- src/http/modules/ngx_http_upstream_ip_hash_module.c.orig    2017-08-08 15:00:13 UTC
673 +++ src/http/modules/ngx_http_upstream_ip_hash_module.c
674 @@ -9,6 +9,9 @@
675  #include <ngx_core.h>
676  #include <ngx_http.h>
677  
678 +#if (NGX_HTTP_UPSTREAM_CHECK)
679 +#include "ngx_http_upstream_check_module.h"
680 +#endif
681  
682  typedef struct {
683      /* the round robin data must be first */
684 @@ -205,6 +208,15 @@ ngx_http_upstream_get_ip_hash_peer(ngx_p
685              goto next;
686          }
687  
688 +#if (NGX_HTTP_UPSTREAM_CHECK)
689 +        ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
690 +            "get ip_hash peer, check_index: %ui",
691 +             peer->check_index);
692 +        if (ngx_http_upstream_check_peer_down(peer->check_index)) {
693 +            goto next;
694 +        }
695 +#endif
696 +
697          if (peer->max_fails
698              && peer->fails >= peer->max_fails
699              && now - peer->checked <= peer->fail_timeout)
700 --- src/http/modules/ngx_http_upstream_least_conn_module.c.orig 2017-08-08 15:00:13 UTC
701 +++ src/http/modules/ngx_http_upstream_least_conn_module.c
702 @@ -9,6 +9,9 @@
703  #include <ngx_core.h>
704  #include <ngx_http.h>
705  
706 +#if (NGX_HTTP_UPSTREAM_CHECK)
707 +#include "ngx_http_upstream_check_module.h"
708 +#endif
709  
710  static ngx_int_t ngx_http_upstream_init_least_conn_peer(ngx_http_request_t *r,
711      ngx_http_upstream_srv_conf_t *us);
712 @@ -147,6 +150,16 @@ ngx_http_upstream_get_least_conn_peer(ng
713              continue;
714          }
715  
716 +#if (NGX_HTTP_UPSTREAM_CHECK)
717 +        ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
718 +                "get least_conn peer, check_index: %ui",
719 +                peer->check_index);
720 +
721 +        if (ngx_http_upstream_check_peer_down(peer->check_index)) {
722 +            continue;
723 +        }
724 +#endif
725 +
726          if (peer->max_fails
727              && peer->fails >= peer->max_fails
728              && now - peer->checked <= peer->fail_timeout)
729 @@ -202,6 +215,16 @@ ngx_http_upstream_get_least_conn_peer(ng
730                  continue;
731              }
732  
733 +#if (NGX_HTTP_UPSTREAM_CHECK)
734 +            ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
735 +                    "get least_conn peer, check_index: %ui",
736 +                    peer->check_index);
737 +
738 +            if (ngx_http_upstream_check_peer_down(peer->check_index)) {
739 +                continue;
740 +            }
741 +#endif
742 +
743              if (peer->conns * best->weight != best->conns * peer->weight) {
744                  continue;
745              }
746 --- src/http/ngx_http_upstream_round_robin.c.orig       2017-08-08 15:00:13 UTC
747 +++ src/http/ngx_http_upstream_round_robin.c
748 @@ -9,6 +9,9 @@
749  #include <ngx_core.h>
750  #include <ngx_http.h>
751  
752 +#if (NGX_HTTP_UPSTREAM_CHECK)
753 +#include "ngx_http_upstream_check_module.h"
754 +#endif
755  
756  #define ngx_http_upstream_tries(p) ((p)->number                               \
757                                      + ((p)->next ? (p)->next->number : 0))
758 @@ -97,7 +100,14 @@ ngx_http_upstream_init_round_robin(ngx_c
759                  peer[n].fail_timeout = server[i].fail_timeout;
760                  peer[n].down = server[i].down;
761                  peer[n].server = server[i].name;
762 -
763 +#if (NGX_HTTP_UPSTREAM_CHECK)
764 +                if (!server[i].down) {
765 +                    peer[n].check_index =
766 +                        ngx_http_upstream_check_add_peer(cf, us, &server[i].addrs[j]);
767 +                } else {
768 +                    peer[n].check_index = (ngx_uint_t) NGX_ERROR;
769 +                }
770 +#endif
771                  *peerp = &peer[n];
772                  peerp = &peer[n].next;
773                  n++;
774 @@ -161,7 +171,15 @@ ngx_http_upstream_init_round_robin(ngx_c
775                  peer[n].fail_timeout = server[i].fail_timeout;
776                  peer[n].down = server[i].down;
777                  peer[n].server = server[i].name;
778 -
779 +#if (NGX_HTTP_UPSTREAM_CHECK)
780 +                if (!server[i].down) {
781 +                    peer[n].check_index =
782 +                        ngx_http_upstream_check_add_peer(cf, us, &server[i].addrs[j]);
783 +                }
784 +                else {
785 +                    peer[n].check_index = (ngx_uint_t) NGX_ERROR;
786 +                }
787 +#endif
788                  *peerp = &peer[n];
789                  peerp = &peer[n].next;
790                  n++;
791 @@ -228,6 +246,9 @@ ngx_http_upstream_init_round_robin(ngx_c
792          peer[i].max_conns = 0;
793          peer[i].max_fails = 1;
794          peer[i].fail_timeout = 10;
795 +#if (NGX_HTTP_UPSTREAM_CHECK)
796 +        peer[i].check_index = (ngx_uint_t) NGX_ERROR;
797 +#endif
798          *peerp = &peer[i];
799          peerp = &peer[i].next;
800      }
801 @@ -344,6 +365,9 @@ ngx_http_upstream_create_round_robin_pee
802          peer[0].max_conns = 0;
803          peer[0].max_fails = 1;
804          peer[0].fail_timeout = 10;
805 +#if (NGX_HTTP_UPSTREAM_CHECK)
806 +        peer[0].check_index = (ngx_uint_t) NGX_ERROR;
807 +#endif
808          peers->peer = peer;
809  
810      } else {
811 @@ -378,6 +402,9 @@ ngx_http_upstream_create_round_robin_pee
812              peer[i].max_conns = 0;
813              peer[i].max_fails = 1;
814              peer[i].fail_timeout = 10;
815 +#if (NGX_HTTP_UPSTREAM_CHECK)
816 +            peer[i].check_index = (ngx_uint_t) NGX_ERROR;
817 +#endif
818              *peerp = &peer[i];
819              peerp = &peer[i].next;
820          }
821 @@ -443,6 +470,12 @@ ngx_http_upstream_get_round_robin_peer(n
822              goto failed;
823          }
824  
825 +#if (NGX_HTTP_UPSTREAM_CHECK)
826 +        if (ngx_http_upstream_check_peer_down(peer->check_index)) {
827 +            goto failed;
828 +        }
829 +#endif
830 +
831          rrp->current = peer;
832  
833      } else {
834 @@ -537,6 +570,12 @@ ngx_http_upstream_get_peer(ngx_http_upst
835              continue;
836          }
837  
838 +#if (NGX_HTTP_UPSTREAM_CHECK)
839 +        if (ngx_http_upstream_check_peer_down(peer->check_index)) {
840 +            continue;
841 +        }
842 +#endif
843 +
844          if (peer->max_fails
845              && peer->fails >= peer->max_fails
846              && now - peer->checked <= peer->fail_timeout)
847 --- src/http/ngx_http_upstream_round_robin.h.orig       2017-08-08 15:00:13 UTC
848 +++ src/http/ngx_http_upstream_round_robin.h
849 @@ -49,6 +49,10 @@ struct ngx_http_upstream_rr_peer_s {
850      ngx_atomic_t                    lock;
851  #endif
852  
853 +#if (NGX_HTTP_UPSTREAM_CHECK)
854 +    ngx_uint_t                      check_index;
855 +#endif
856 +
857      ngx_http_upstream_rr_peer_t    *next;
858  
859      NGX_COMPAT_BEGIN(32)
860
861
862 [FILE:3521:files/nginx.in]
863 #!/bin/sh
864 #
865 # PROVIDE: nginx
866 # REQUIRE: LOGIN cleanvar
867 # KEYWORD: shutdown
868 #
869 # Add the following lines to /etc/rc.conf to enable nginx:
870 # nginx_enable (bool):          Set to "NO" by default.
871 #                               Set it to "YES" to enable nginx
872 # nginx_profiles (str):         Set to "" by default.
873 #                               Define your profiles here.
874 # nginx_pid_prefix (str):       Set to "" by default.
875 #                               When using profiles manually assign value to "nginx_"
876 #                               for prevent collision with other PIDs names.
877 # nginxlimits_enable (bool):    Set to "NO" by default.
878 #                               Set it to yes to run `limits $limits_args`
879 #                               just before nginx starts.
880 # nginx_flags (str):            Set to "" by default.
881 #                               Extra flags passed to start command.
882 # nginxlimits_args (str):       Default to "-e -U %%WWWOWN%%"
883 #                               Arguments of pre-start limits run.
884
885 . /etc/rc.subr
886
887 name="nginx"
888 rcvar=nginx_enable
889
890 start_precmd="nginx_precmd"
891 restart_precmd="nginx_checkconfig"
892 reload_precmd="nginx_checkconfig"
893 configtest_cmd="nginx_checkconfig"
894 gracefulstop_cmd="nginx_gracefulstop"
895 upgrade_precmd="nginx_checkconfig"
896 upgrade_cmd="nginx_upgrade"
897 command="%%PREFIX%%/sbin/nginx"
898 _pidprefix="%%NGINX_RUNDIR%%"
899 pidfile="${_pidprefix}/${name}.pid"
900 _tmpprefix="%%NGINX_TMPDIR%%"
901 required_files=%%PREFIX%%/etc/nginx/nginx.conf
902 extra_commands="reload configtest upgrade gracefulstop"
903
904 [ -z "$nginx_enable" ]          && nginx_enable="NO"
905 [ -z "$nginxlimits_enable" ]    && nginxlimits_enable="NO"
906 [ -z "$nginxlimits_args" ]      && nginxlimits_args="-e -U %%WWWOWN%%"
907
908 load_rc_config $name
909
910 if [ -n "$2" ]; then
911         profile="$2"
912         if [ "x${nginx_profiles}" != "x" ]; then
913                 pidfile="${_pidprefix}/${nginx_pid_prefix}${profile}.pid"
914                 eval nginx_configfile="\${nginx_${profile}_configfile:-}"
915                 if [ "x${nginx_configfile}" = "x" ]; then
916                         echo "You must define a configuration file (nginx_${profile}_configfile)"
917                         exit 1
918                 fi
919                 required_files="${nginx_configfile}"
920                 eval nginx_enable="\${nginx_${profile}_enable:-${nginx_enable}}"
921                 eval nginx_flags="\${nginx_${profile}_flags:-${nginx_flags}}"
922                 eval nginxlimits_enable="\${nginxlimits_${profile}_enable:-${nginxlimits_enable}}"
923                 eval nginxlimits_args="\${nginxlimits_${profile}_args:-${nginxlimits_args}}"
924                 nginx_flags="-c ${nginx_configfile} -g \"pid ${pidfile};\" ${nginx_flags}"
925         else
926                 echo "$0: extra argument ignored"
927         fi
928 else
929         if [ "x${nginx_profiles}" != "x" -a "x$1" != "x" ]; then
930                 for profile in ${nginx_profiles}; do
931                         echo "===> nginx profile: ${profile}"
932                         %%PREFIX%%/etc/rc.d/nginx $1 ${profile}
933                         retcode="$?"
934                         if [ "0${retcode}" -ne 0 ]; then
935                                 failed="${profile} (${retcode}) ${failed:-}"
936                         else
937                                 success="${profile} ${success:-}"
938                         fi
939                 done
940                 exit 0
941         fi
942 fi
943
944 # tmpfs(5)
945 nginx_checktmpdir()
946 {
947         if [ ! -d ${_tmpprefix} ] ; then
948                 install -d -o %%WWWOWN%% -g %%WWWGRP%% -m 755 ${_tmpprefix}
949         fi
950 }
951
952 nginx_checkconfig()
953 {
954         nginx_checktmpdir
955
956         echo "Performing sanity check on nginx configuration:"
957         eval ${command} ${nginx_flags} -t
958 }
959
960 nginx_gracefulstop()
961 {
962         echo "Performing a graceful stop:"
963         sig_stop="QUIT"
964         run_rc_command ${rc_prefix}stop $rc_extra_args || return 1
965 }
966
967 nginx_upgrade()
968 {
969         echo "Upgrading nginx binary:"
970
971         reload_precmd=""
972         sig_reload="USR2"
973         run_rc_command ${rc_prefix}reload $rc_extra_args || return 1
974
975         sleep 1
976
977         echo "Stopping old binary:"
978
979         sig_reload="QUIT"
980         pidfile="$pidfile.oldbin"
981         run_rc_command ${rc_prefix}reload $rc_extra_args || return 1
982 }
983
984 nginx_precmd() 
985 {
986         nginx_checkconfig
987
988         if checkyesno nginxlimits_enable
989         then
990                 eval `/usr/bin/limits ${nginxlimits_args}` 2>/dev/null
991         else
992                 return 0
993         fi
994 }
995
996 run_rc_command "$1"
997
998
999 [FILE:763:files/pkg-message-single.in]
1000
1001 ===================================================================
1002 A recent version of the NGINX introduced dynamic modules support.
1003 To load a module at runtime, include the new `load_module'
1004 directive in the main context, specifying the path to the shared
1005 object file for the module, enclosed in quotation marks.  When you
1006 reload the configuration or restart NGINX, the module is loaded in.
1007 It is possible to specify a path relative to the source directory,
1008 or a full path, please see
1009 https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/ and
1010 http://nginx.org/en/docs/ngx_core_module.html#load_module for
1011 details.
1012
1013 Default path for the NGINX dynamic modules is
1014
1015 %%PREFIX%%/libexec/nginx.
1016 ===================================================================
1017
1018
1019
1020 [FILE:314:dragonfly/patch-src_core_ngx__config.h]
1021 --- src/core/ngx_config.h.orig  2017-08-08 15:00:12 UTC
1022 +++ src/core/ngx_config.h
1023 @@ -12,8 +12,8 @@
1024  #include <ngx_auto_headers.h>
1025  
1026  
1027 -#if defined __DragonFly__ && !defined __FreeBSD__
1028 -#define __FreeBSD__        4
1029 +#if defined __DragonFly__
1030 +#undef  __FreeBSD_version
1031  #define __FreeBSD_version  480101
1032  #endif
1033  
1034
1035
1036 [FILE:470:dragonfly/patch-src_event_modules_ngx__eventport__module.c]
1037 --- src/event/modules/ngx_eventport_module.c.orig       2017-08-08 15:00:13 UTC
1038 +++ src/event/modules/ngx_eventport_module.c
1039 @@ -49,7 +49,7 @@ typedef struct  port_notify {
1040      void       *portnfy_user;   /* user defined */
1041  } port_notify_t;
1042  
1043 -#if (__FreeBSD__ && __FreeBSD_version < 700005) || (NGX_DARWIN)
1044 +#if (__FreeBSD_version < 700005) || (NGX_DARWIN)
1045  
1046  typedef struct itimerspec {     /* definition per POSIX.4 */
1047      struct timespec it_interval;/* timer period */
1048
1049
1050 [FILE:532:dragonfly/patch-src_event_modules_ngx__kqueue__module.c]
1051 --- src/event/modules/ngx_kqueue_module.c.orig  2017-08-08 15:00:13 UTC
1052 +++ src/event/modules/ngx_kqueue_module.c
1053 @@ -429,8 +429,7 @@ ngx_kqueue_set_event(ngx_event_t *ev, ng
1054      if (filter == EVFILT_VNODE) {
1055          kev->fflags = NOTE_DELETE|NOTE_WRITE|NOTE_EXTEND
1056                                   |NOTE_ATTRIB|NOTE_RENAME
1057 -#if (__FreeBSD__ == 4 && __FreeBSD_version >= 430000) \
1058 -    || __FreeBSD_version >= 500018
1059 +#if __FreeBSD_version >= 500018
1060                                   |NOTE_REVOKE
1061  #endif
1062                        ;
1063
1064
1065 [FILE:447:dragonfly/patch-src_os_unix_ngx__freebsd__init.c]
1066 --- src/os/unix/ngx_freebsd_init.c.orig 2017-08-08 15:00:13 UTC
1067 +++ src/os/unix/ngx_freebsd_init.c
1068 @@ -162,8 +162,7 @@ ngx_os_specific_init(ngx_log_t *log)
1069       * to allow an old binary to run correctly on an updated FreeBSD system.
1070       */
1071  
1072 -#if (__FreeBSD__ == 4 && __FreeBSD_version >= 460102) \
1073 -    || __FreeBSD_version == 460002 || __FreeBSD_version >= 500039
1074 +#if __FreeBSD_version >= 500039
1075  
1076      /* a new syscall without the bug */
1077  
1078