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