# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= nginx VERSION= 1.26.0 KEYWORDS= www VARIANTS= standard loaded SDESC[standard]= HTTP and reverse proxy server (basic options) SDESC[loaded]= HTTP and reverse proxy server (all options) HOMEPAGE= https://nginx.org/ CONTACT= nobody DOWNLOAD_GROUPS= main acclang ajp arrayvar authdig aws certrans cpurge cslowfs davext develkit drizzle dynups echo eval fairload fancyindex footer forminput geoip2 iconv letmath lua memc morehead naxsi njs notice pam pgsql push pushstrm rdscsv rdsjson redis2 rtmp sesscrypt setmisc srcache stubjson subsfilter upcheck upload upprogress vod xss zip SITES[main]= http://nginx.org/download/ SITES[acclang]= GITHUB/giom:nginx_accept_language_module:5683967 SITES[ajp]= GITHUB/yaoweibin:nginx_ajp_module:fcbb2cc SITES[arrayvar]= GITHUB/openresty:array-var-nginx-module:v0.05 SITES[authdig]= GITHUB/atomx:nginx-http-auth-digest:274490c SITES[aws]= GITHUB/anomalizer:ngx_aws_auth:21931b2 SITES[certrans]= GITHUB/grahamedgecombe:nginx-ct:93e9884 SITES[cpurge]= GITHUB/torden:ngx_cache_purge:a84b0f3 SITES[cslowfs]= GITHUB/baysao:ngx_slowfs_cache:d011a18 SITES[davext]= GITHUB/arut:nginx-dav-ext-module:v3.0.0 SITES[develkit]= GITHUB/simpl:ngx_devel_kit:v0.3.2 SITES[drizzle]= GITHUB/openresty:drizzle-nginx-module:v0.1.12 SITES[dynups]= GITHUB/ZigzagAK:ngx_dynamic_upstream:2.3.3 SITES[echo]= GITHUB/openresty:echo-nginx-module:v0.63 SITES[eval]= GITHUB/openresty:nginx-eval-module:2016.06.10 SITES[fairload]= GITHUB/cryptofuture:nginx-upstream-fair:10ecdcf SITES[fancyindex]= GITHUB/aperezdc:ngx-fancyindex:v0.5.2 SITES[footer]= GITHUB/alibaba:nginx-http-footer-filter:1.2.2 SITES[forminput]= GITHUB/calio:form-input-nginx-module:v0.12 SITES[geoip2]= GITHUB/leev:ngx_http_geoip2_module:3.4 SITES[iconv]= GITHUB/calio:iconv-nginx-module:v0.14 SITES[letmath]= GITHUB/arut:nginx-let-module:v0.0.4 SITES[lua]= GITHUB/openresty:lua-nginx-module:v0.10.26 SITES[memc]= GITHUB/openresty:memc-nginx-module:v0.19 SITES[morehead]= GITHUB/openresty:headers-more-nginx-module:v0.37 SITES[naxsi]= GITHUB/nbs-system:naxsi:d714f16 SITES[njs]= GITHUB/nginx:njs:0.8.0 SITES[notice]= GITHUB/kr:nginx-notice:3c95966 SITES[pam]= GITHUB/sto:ngx_http_auth_pam_module:v1.5.3 SITES[pgsql]= GITHUB/konstruxi:ngx_postgres:8aa7359 SITES[push]= GITHUB/slact:nchan:v1.3.1 SITES[pushstrm]= GITHUB/wandenberg:nginx-push-stream-module:8c02220 SITES[rdscsv]= GITHUB/openresty:rds-csv-nginx-module:v0.09 SITES[rdsjson]= GITHUB/openresty:rds-json-nginx-module:v0.15 SITES[redis2]= GITHUB/openresty:redis2-nginx-module:v0.15 SITES[rtmp]= GITHUB/arut:nginx-rtmp-module:v1.2.2 SITES[sesscrypt]= GITHUB/openresty:encrypted-session-nginx-module:v0.09 SITES[setmisc]= GITHUB/openresty:set-misc-nginx-module:v0.33 SITES[srcache]= GITHUB/openresty:srcache-nginx-module:be22ac0 SITES[stubjson]= GITHUB/nginx-modules:ngx_http_json_status_module:0.1 SITES[subsfilter]= GITHUB/yaoweibin:ngx_http_substitutions_filter_module:c6f825f SITES[upcheck]= GITHUB/yaoweibin:nginx_upstream_check_module:9aecf15 SITES[upload]= GITHUB/Austinb:nginx-upload-module:643b4c1 SITES[upprogress]= GITHUB/masterzen:nginx-upload-progress-module:68b3ab3 SITES[vod]= GITHUB/kaltura:nginx-vod-module:1.31 SITES[xss]= GITHUB/openresty:xss-nginx-module:v0.06 SITES[zip]= GITHUB/evanmiller:mod_zip:39dc908 DISTFILE[1]= nginx-1.26.0.tar.gz:main DISTFILE[2]= generated:geoip2 DISTFILE[3]= generated:notice DISTFILE[4]= generated:push DISTFILE[5]= generated:pushstrm DISTFILE[6]= generated:subsfilter DISTFILE[7]= generated:ajp DISTFILE[8]= generated:upcheck DISTFILE[9]= generated:acclang DISTFILE[10]= generated:authdig DISTFILE[11]= generated:pam DISTFILE[12]= generated:aws DISTFILE[13]= generated:certrans DISTFILE[14]= generated:echo DISTFILE[15]= generated:morehead DISTFILE[16]= generated:eval DISTFILE[17]= generated:drizzle DISTFILE[18]= generated:sesscrypt DISTFILE[19]= generated:lua DISTFILE[20]= generated:memc DISTFILE[21]= generated:rdscsv DISTFILE[22]= generated:rdsjson DISTFILE[23]= generated:redis2 DISTFILE[24]= generated:setmisc DISTFILE[25]= generated:srcache DISTFILE[26]= generated:xss DISTFILE[27]= generated:arrayvar DISTFILE[28]= generated:develkit DISTFILE[29]= generated:njs DISTFILE[30]= generated:davext DISTFILE[31]= generated:footer DISTFILE[32]= generated:stubjson DISTFILE[33]= generated:upload DISTFILE[34]= generated:upprogress DISTFILE[35]= generated:fairload DISTFILE[36]= generated:zip DISTFILE[37]= generated:dynups DISTFILE[38]= generated:letmath DISTFILE[39]= generated:rtmp DISTFILE[40]= generated:vod DISTFILE[41]= generated:iconv DISTFILE[42]= generated:forminput DISTFILE[43]= generated:cpurge DISTFILE[44]= generated:pgsql DISTFILE[45]= generated:cslowfs DISTFILE[46]= generated:fancyindex DISTFILE[47]= generated:naxsi DF_INDEX= 1 SPKGS[standard]= single SPKGS[loaded]= single OPTIONS_AVAILABLE= LOADED OPTIONS_STANDARD= none VOPTS[loaded]= LOADED=ON USERS= {{WWWOWN}} GROUPS= {{WWWGRP}} USERGROUP_SPKG= single USES= cpe ssl zlib pcre iconv:build LICENSE= BSD2CLAUSE:single LICENSE_FILE= BSD2CLAUSE:{{WRKSRC}}/LICENSE LICENSE_SCHEME= solo CPE_PRODUCT= nginx CPE_VENDOR= nginx FPC_EQUIVALENT= www/nginx MUST_CONFIGURE= yes CONFIGURE_ARGS= --prefix={{PREFIX}}/etc/nginx --with-cc-opt="-I{{LOCALBASE}}/include -I{{OPENSSLINC}}" --with-ld-opt="-L{{LOCALBASE}}/lib -L{{OPENSSLLIB}} -Wl,-rpath,{{LOCALBASE}}/lib:{{OPENSSLRPATH}}" --conf-path={{PREFIX}}/etc/nginx/nginx.conf --sbin-path={{PREFIX}}/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx/error.log --user={{WWWOWN}} --group={{WWWGRP}} --with-pcre --modules-path={{PREFIX}}/libexec/nginx --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx/access.log --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_gunzip_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail=dynamic --with-mail_ssl_module --with-stream=dynamic --with-stream_ssl_module --with-threads PLIST_SUB= WWWOWN={{WWWOWN}} WWWGRP={{WWWGRP}} NGINX_TMPDIR=/var/tmp/nginx NGINX_LOGDIR=/var/log/nginx RC_SUBR= nginx:single SUB_FILES= pkg-message-single SUB_LIST= WWWOWN={{WWWOWN}} WWWGRP={{WWWGRP}} NGINX_TMPDIR=/var/tmp/nginx NGINX_LOGDIR=/var/log/nginx NGINX_RUNDIR=/var/run VAR_OPSYS[freebsd]= CONFIGURE_ARGS=--with-file-aio VAR_OPSYS[linux]= CONFIGURE_ARGS=--with-file-aio VAR_OPSYS[dragonfly]= CONFIGURE_ARGS=--with-file-aio [LOADED].DESCRIPTION= All options enabled (heavy dependencies) [LOADED].BUILDRUN_DEPENDS_ON= libmaxminddb:single:standard libGD:single:standard [LOADED].CONFIGURE_ARGS_OFF= --without-mail_imap_module --without-mail_pop3_module --without-mail_smtp_module [LOADED].CONFIGURE_ARGS_ON= --with-http_perl_module=dynamic --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --add-module={{WRKDIR}}/nginx-notice-3c95966 --add-module={{WRKDIR}}/nchan-1.3.1 --add-module={{WRKDIR}}/nginx-push-stream-module-8c02220 --add-module={{WRKDIR}}/ngx_http_substitutions_filter_module-c6f825f --add-module={{WRKDIR}}/nginx_upstream_check_module-9aecf15 --add-module={{WRKDIR}}/nginx_accept_language_module-5683967 --add-module={{WRKDIR}}/ngx_aws_auth-21931b2 --add-module={{WRKDIR}}/rds-csv-nginx-module-0.09 --add-module={{WRKDIR}}/rds-json-nginx-module-0.15 --add-module={{WRKDIR}}/redis2-nginx-module-0.15 --add-module={{WRKDIR}}/srcache-nginx-module-be22ac0 --add-module={{WRKDIR}}/ngx_devel_kit-0.3.2 --add-module={{WRKDIR}}/encrypted-session-nginx-module-0.09 --add-module={{WRKDIR}}/array-var-nginx-module-0.05 --add-module={{WRKDIR}}/xss-nginx-module-0.06 --add-module={{WRKDIR}}/nginx-dav-ext-module-3.0.0 --add-module={{WRKDIR}}/nginx-http-footer-filter-1.2.2 --add-module={{WRKDIR}}/ngx_http_json_status_module-0.1 --add-module={{WRKDIR}}/nginx-upload-module-643b4c1 --add-module={{WRKDIR}}/nginx-upload-progress-module-68b3ab3 --add-module={{WRKDIR}}/nginx-let-module-0.0.4 --add-module={{WRKDIR}}/ngx_slowfs_cache-d011a18 --add-module={{WRKDIR}}/ngx_cache_purge-a84b0f3 --add-module={{WRKDIR}}/ngx_postgres-8aa7359 --add-dynamic-module={{WRKDIR}}/ngx_http_geoip2_module-3.4 --add-dynamic-module={{WRKDIR}}/nginx-http-auth-digest-274490c --add-dynamic-module={{WRKDIR}}/echo-nginx-module-0.63 --add-dynamic-module={{WRKDIR}}/headers-more-nginx-module-0.37 --add-dynamic-module={{WRKDIR}}/nginx-eval-module-2016.06.10 --add-dynamic-module={{WRKDIR}}/memc-nginx-module-0.19 --add-dynamic-module={{WRKDIR}}/set-misc-nginx-module-0.33 --add-dynamic-module={{WRKDIR}}/njs-0.8.0/nginx --add-dynamic-module={{WRKDIR}}/nginx-upstream-fair-10ecdcf --add-dynamic-module={{WRKDIR}}/mod_zip-39dc908 --add-dynamic-module={{WRKDIR}}/ngx_dynamic_upstream-2.3.3 --add-dynamic-module={{WRKDIR}}/nginx-rtmp-module-1.2.2 --add-dynamic-module={{WRKDIR}}/nginx-vod-module-1.31 --add-dynamic-module={{WRKDIR}}/iconv-nginx-module-0.14 --add-dynamic-module={{WRKDIR}}/form-input-nginx-module-0.12 --add-dynamic-module={{WRKDIR}}/ngx-fancyindex-0.5.2 --add-dynamic-module={{WRKDIR}}/naxsi-d714f16/naxsi_src [LOADED].DF_INDEX_ON= 2 3 4 5 6 7 8 9 10 12 14 15 16 18 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 [LOADED].EXTRA_PATCHES_ON= extra-patch-ngx_http_notice_module.c extra-patch-iconv extra-patch-postgresql extra-patch-naxsi extra-patch-naxsi_runtime.c extra-patch-ngx_http_uploadprogress_module.c extra-patch-src_http_modules_ngx__http__upstream__hash__module.c extra-patch-src_http_modules_ngx__http__upstream__ip__hash__module.c extra-patch-src_http_modules_ngx__http__upstream__least__conn__module.c extra-patch-src_http_ngx__http__upstream__round__robin.c extra-patch-src_http_ngx__http__upstream__round__robin.h [LOADED].GNOME_COMPONENTS_ON= libxml2 libxslt [LOADED].KEYWORDS_ON= perl [LOADED].USES_ON= perl pgsql expat post-patch: ${REINPLACE_CMD} 's!%%HTTP_PORT%%!80!; \ s!%%PREFIX%%!${PREFIX}!; \ s!%%NGINX_ERRORLOG%%!/var/log/nginx/error.log!' \ ${WRKSRC}/conf/nginx.conf post-patch-LOADED-ON: ${REINPLACE_CMD} -e "/ngx_feature_path/ \ s|/usr/include/libxml2|${LOCALBASE}/include/libxml2 ${LOCALBASE}/include|" \ ${WRKSRC}/auto/lib/libxslt/conf ${REINPLACE_CMD} 's!%%PREFIX%%!${LOCALBASE}!g' \ ${WRKDIR}/iconv-nginx-module-0.14/config ${REINPLACE_CMD} 's!%%PREFIX%%!${LOCALBASE}!g' \ ${WRKDIR}/ngx_postgres-8aa7359/config do-build: (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD}) post-install: ${CAT} ${WRKSRC}/conf/nginx.conf \ >>${STAGEDIR}${PREFIX}/etc/nginx/nginx.conf-dist ${INSTALL_MAN} ${WRKSRC}/objs/nginx.8 \ ${STAGEDIR}${MAN8PREFIX}/man/man8 do-install-LOADED-ON: @${MKDIR} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/nginx ${INSTALL_PROGRAM} ${WRKSRC}/objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.so \ ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/nginx ${INSTALL_DATA} ${WRKSRC}/objs/src/http/modules/perl/blib/lib/nginx.pm \ ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/ do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/etc/nginx \ ${STAGEDIR}${PREFIX}/libexec/nginx \ ${STAGEDIR}/var/tmp/nginx \ ${STAGEDIR}/var/log/nginx \ ${STAGEDIR}${PREFIX}/www/nginx-dist ${INSTALL_PROGRAM} ${WRKSRC}/objs/nginx ${STAGEDIR}${PREFIX}/sbin .for i in koi-utf koi-win win-utf ${INSTALL_DATA} ${WRKSRC}/conf/${i} ${STAGEDIR}${PREFIX}/etc/nginx .endfor .for i in fastcgi_params mime.types scgi_params uwsgi_params ${INSTALL_DATA} ${WRKSRC}/conf/${i} ${STAGEDIR}${PREFIX}/etc/nginx/${i}-dist .endfor .for i in index.html 50x.html ${INSTALL_DATA} ${WRKSRC}/html/${i} ${STAGEDIR}${PREFIX}/www/nginx-dist .endfor ${ECHO_CMD} >> ${STAGEDIR}${PREFIX}/www/nginx-dist/EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING (cd ${WRKSRC}/objs/ && ${FIND} . -depth -maxdepth 1 -name '*.so' -type f \ -exec ${INSTALL_PROGRAM} {} ${STAGEDIR}${PREFIX}/libexec/nginx \;) [FILE:351:descriptions/desc.single.standard] NGINX is a high performance edge web server with the lowest memory footprint and the key features to build modern and efficient web infrastructure. NGINX functionality includes HTTP server, HTTP and mail reverse proxy, caching, load balancing, compression, request throttling, connection multiplexing and reuse, SSL offload and HTTP media streaming. [FILE:3222:descriptions/desc.single.loaded] NGINX is a high performance edge web server with the lowest memory footprint and the key features to build modern and efficient web infrastructure. NGINX functionality includes HTTP server, HTTP and mail reverse proxy, caching, load balancing, compression, request throttling, connection multiplexing and reuse, SSL offload and HTTP media streaming. This package contains additional modules over the standard nginx: geoip2 : handles maxmind geoip2 databases notice : Ancient module for displaying downtime notices nchan : pub/sub server using http push or websockets push stream : Stream pushing using eventsource, websockets, polling substitutions : Regex and fixed string substitutions filter AJP : Direct connection to AJP port health : Supports upstream health checks accept language : Parse Accept-Language header to determine locale AWS : Proxy to authenticated AWS services RDB-CSV : Resty-DBD Streams to Comma-Separated Values converter RDB-JSON : Resty-DBD Streams to JSON format converter REDIS2 : Allows non-blocking connection to Redis 2.0 server SR cache : Transparent subrequest-based caching layout XSS : Cross-site scripting support session-crypt : Encrypts and decrypts nginx variable values array variables : Support for array types in nginx config files DAV extension : Rest of WebDAV support (PROPFIND and OPTIONS) Digest : RFC 2617 Digest authentication support Echo goodies : Add support for echo, sleep, time, exec, etc. more headers : Set, add and clear arbitrary headers eval : Experimental! Capture subrequest responses into vars memc : Extend memcached module with additional commands set misc : Add various set_xxx directives to rewrite module njs : NginScript enables http and stream variable handlers xslt : Transforms xml responses using xslt stylesheets footer : Body filter that adds string to page footer stub status : Version of stub status with json-formatted output upload : file uploads - multipart/form-data encoding (RFC 1867) upload progress : Monitors RFC 1867 uploads during transmission fair balancer : Enhancement of round-robin load balancer zip : Low memory dynamic ZIP archive assembler dyn upstream : Operates upstreams dynamically with HTTP APIs let (math) : support for arithmetic operation rtmp : Media Streaming Server VOD repackager : On-the-fly repackaging of MP4 files to DASH, HDS, HLS, MSS iconv : character encoding set converter forminput : HTTP POST and PUT parser to populate nginx variables cache purge : Enables content purging from fastcgi, proxy, scgi, uwsgi slowfs cache : Enables fast caching of static files from slow FS postgresql : Enabled direct communication with PostgreSQL database fancy index : Enables autoindex with style (footers, headers, css) image filter : Transforms images in JPEG, GIF, PNG, and WebP formats naxsi : Web App Firewall, "Nginx Anti XSS & SQL Injection" [FILE:5607:distinfo] d2e6c8439d6c6db5015d8eaab2470ab52aef85a7bf363182879977e084370497 1244118 nginx-1.26.0.tar.gz ad72fc23348d715a330994984531fab9b3606e160483236737f9a4a6957d9452 8877 leev-ngx_http_geoip2_module-3.4.tar.gz e829fc94178cc8c91fef15a1fc44ee7ac162c13eddc0bba4c9427aaa23386885 3343 kr-nginx-notice-3c95966.tar.gz 9acb307436b4cae0fe24e7fe6128c965148c848b13bfdb310d6388e8e1badcac 749440 slact-nchan-1.3.1.tar.gz ab4fbe236e8bc500f0c5e13403d6a0e2e4e4ec17b81e0fcedaf669b4339626a6 196720 wandenberg-nginx-push-stream-module-8c02220.tar.gz 4ab034f2e056148469b440394e1664c46405712ef27bc4f3197e42bf7df8460e 94062 yaoweibin-ngx_http_substitutions_filter_module-c6f825f.tar.gz 522e94c59f5783f281d868ede2adf325bf2f8ffb9e62cf8451d4b9ac0516916c 110807 yaoweibin-nginx_ajp_module-fcbb2cc.tar.gz 4404c64e845e19feeb07a37976347987892a8e8680a961f793ff0d3ef96c07f4 130039 yaoweibin-nginx_upstream_check_module-9aecf15.tar.gz a58feb576f2231498b8a3863d3c6fba45c7d48bc48735fa714e07a7bfbedb6e3 3425 giom-nginx_accept_language_module-5683967.tar.gz 0839c33c2f8d519f92daae274f62cf87eb68415d562c6500ee3e3721ce80557c 17815 atomx-nginx-http-auth-digest-274490c.tar.gz 882018fea8d6955ab3fe294aafa8ebb1fdff4eac313c29583fef02c6de76fae7 7084 sto-ngx_http_auth_pam_module-1.5.3.tar.gz d8a2422da96a638e9a911e4edb592954d9c0fe1576456fec9809ef4e2a0a863d 15580 anomalizer-ngx_aws_auth-21931b2.tar.gz 72fdd125b9207cdda135f368095f85b943a78a4ff004d1cd217972e12b1571b2 7224 grahamedgecombe-nginx-ct-93e9884.tar.gz 8af374d29592ef95baee53c91959c7b04927f11304c318a94f0ee140760515a4 53421 openresty-echo-nginx-module-0.63.tar.gz cf6e169d6b350c06d0c730b0eaf4973394026ad40094cddd3b3a5b346577019d 29433 openresty-headers-more-nginx-module-0.37.tar.gz 6b91d3c2c2f254ebb37eb3dd6dd41048dfb18320bb98a3afdd1ad38b47f6d609 14188 openresty-nginx-eval-module-2016.06.10.tar.gz a1b2f9feea33cb708a6b3999815e57c3d444016ca41498009b3243d19abbebf0 51611 openresty-drizzle-nginx-module-0.1.12.tar.gz fe9b95acf9726aefd71bf0aca6c11bee007f1da67e64be9b21a7131f0ed75ba6 11847 openresty-encrypted-session-nginx-module-0.09.tar.gz a75983287a2bdc5e964ace56a51b215dc2ec996639d4916cd393d6ebba94b565 745785 openresty-lua-nginx-module-0.10.26.tar.gz 8c2bdbe875e4f5225d0778bfb09a2668f9281d7de6218c7b462a7ba2cee06fe8 34654 openresty-memc-nginx-module-0.19.tar.gz 896be99c0cad50218417800a159e43ec088d6b58c099472ed3b3d7f179d6c0ea 20531 openresty-rds-csv-nginx-module-0.09.tar.gz eaf18f60e981ea2442a7902689a26eba6cf6f36ebee712feeb1f4429eb654bdc 34744 openresty-rds-json-nginx-module-0.15.tar.gz d255571bcfb9939b78099df39cb4d42f174d789aec8c8e5e47b93942b0299438 25471 openresty-redis2-nginx-module-0.15.tar.gz cd5e2cc834bcfa30149e7511f2b5a2183baf0b70dc091af717a89a64e44a2985 30084 openresty-set-misc-nginx-module-0.33.tar.gz 5753d1ffe87b5d6f5b7a0696667bb5ff1388738136fdee26ba55bc33f5796061 51029 openresty-srcache-nginx-module-be22ac0.tar.gz 0b12bbc53a41f3e3d6df419c173b8c87434be3e6cd255a8193aa91345a2de6cf 12448 openresty-xss-nginx-module-0.06.tar.gz c949d4be6f3442c8e2937046448dc8d8def25c0e0fa6f4e805144cea45eabe80 11280 openresty-array-var-nginx-module-0.05.tar.gz aa961eafb8317e0eb8da37eb6e2c9ff42267edd18b56947384e719b85188f58b 66551 simpl-ngx_devel_kit-0.3.2.tar.gz b98033fff6aadcbb8e108b96e80c0d94c6e2103bcbe75846b5ae0b560696084b 715391 nginx-njs-0.8.0.tar.gz d2499d94d82d4e4eac8425d799e52883131ae86a956524040ff2fd230ef9f859 14558 arut-nginx-dav-ext-module-3.0.0.tar.gz 3493b54460c59370f9f60c6e662862752f1920fc6e684f7a66bb2b3260692813 3934 alibaba-nginx-http-footer-filter-1.2.2.tar.gz a993a0f25b58d3b69aea709a7605de5f7f08e6a1e27f83c8ce5282e5a44e3a90 6738 nginx-modules-ngx_http_json_status_module-0.1.tar.gz a5bb48589b5c242683da33a9f1acc7847acc3ce4f2c4213ea524858aa789a6e9 42571 Austinb-nginx-upload-module-643b4c1.tar.gz 35b506e57e19e780e01ecc7c3c31a64473c35e4a022f5a3f98092a60cd1c1602 17322 masterzen-nginx-upload-progress-module-68b3ab3.tar.gz 93f71b7cf0db9c6dbf97e3ee11cf8efbc149946c0949d7abd19c74c7620eea50 10433 cryptofuture-nginx-upstream-fair-10ecdcf.tar.gz bc5c3d725268abbe1c5c38de5b18a4ad9dbe5821c4afeaccabd3eec38b272be4 30275 evanmiller-mod_zip-39dc908.tar.gz c6eed11b8e0a772f4d01aa027dff8877a53e02194ce8ca5d94d6ea95d85c3ed0 22995 ZigzagAK-ngx_dynamic_upstream-2.3.3.tar.gz cbf6fcddc00a7e30289134bdeace12565e000cc7d4efee2d2ebb8799d0b88270 20534 arut-nginx-let-module-0.0.4.tar.gz 07f19b7bffec5e357bb8820c63e5281debd45f5a2e6d46b1636d9202c3e09d78 519934 arut-nginx-rtmp-module-1.2.2.tar.gz ace04201cf2d2b1a3e5e732a22b92225b8ce61a494df9cc7f79d97efface8952 470904 kaltura-nginx-vod-module-1.31.tar.gz b8b9f355c05c0790226512f6732348a2404d48531688a1fc04ce6768163bf462 13133 calio-iconv-nginx-module-0.14.tar.gz 5c1869d55897075adb3fdf840b21060dc54669a1f840a36d1539acc7e59dd106 11090 calio-form-input-nginx-module-0.12.tar.gz ddfd4fdd99075d906b7b75c49f56ec96b76df7951dfa54502e0f83890447031f 17162 torden-ngx_cache_purge-a84b0f3.tar.gz c69ad4495de7c7883ebc23e1e6c4cc83a4ac6a7fddd4d5c12e49d33b65f7c50b 48544 konstruxi-ngx_postgres-8aa7359.tar.gz 6ae8abb01a2aff788e75ec68621cb0159148a6f73730a84b30b0bdbc6cdc1758 11186 baysao-ngx_slowfs_cache-d011a18.tar.gz c3dd84d8ba0b8daeace3041ef5987e3fb96e9c7c17df30c9ffe2fe3aa2a0ca31 29052 aperezdc-ngx-fancyindex-0.5.2.tar.gz 68d95628bdb3e0da12e94ea05f7e088129d35b2fc43ecc74e5de380226833457 236940 nbs-system-naxsi-d714f16.tar.gz [FILE:765:manifests/plist.single.standard] @sample etc/nginx/fastcgi_params-dist etc/nginx/fastcgi_params @sample etc/nginx/mime.types-dist etc/nginx/mime.types @sample etc/nginx/nginx.conf-dist etc/nginx/nginx.conf @sample etc/nginx/scgi_params-dist etc/nginx/scgi_params @sample etc/nginx/uwsgi_params-dist etc/nginx/uwsgi_params etc/nginx/ koi-utf koi-win win-utf libexec/nginx/ ngx_mail_module.so ngx_stream_module.so sbin/nginx share/man/man8/nginx.8.gz www/nginx-dist/ 50x.html EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING index.html @dir %%NGINX_LOGDIR%% @dir %%NGINX_TMPDIR%% @postunexec if [ -L %D/www/nginx ]; then rm -f %D/www/nginx; fi @preexec mkdir -p -m 755 %D/www/nginx-dist && if [ ! -d %D/www/nginx/ ] ; then ln -fs %D/www/nginx-dist %D/www/nginx; fi && chmod a-w %D/www/nginx-dist [FILE:1445:manifests/plist.single.loaded] @sample etc/nginx/fastcgi_params-dist etc/nginx/fastcgi_params @sample etc/nginx/mime.types-dist etc/nginx/mime.types @sample etc/nginx/nginx.conf-dist etc/nginx/nginx.conf @sample etc/nginx/scgi_params-dist etc/nginx/scgi_params @sample etc/nginx/uwsgi_params-dist etc/nginx/uwsgi_params %%SITE_ARCH%%/nginx.pm %%SITE_ARCH%%/auto/nginx/nginx.so etc/nginx/ koi-utf koi-win win-utf libexec/nginx/ ngx_http_auth_digest_module.so ngx_http_dynamic_upstream_module.so ngx_http_echo_module.so ngx_http_eval_module.so ngx_http_fancyindex_module.so ngx_http_form_input_module.so ngx_http_geoip2_module.so ngx_http_headers_more_filter_module.so ngx_http_iconv_module.so ngx_http_image_filter_module.so ngx_http_js_module.so ngx_http_memc_module.so ngx_http_naxsi_module.so ngx_http_perl_module.so ngx_http_set_misc_module.so ngx_http_upstream_fair_module.so ngx_http_vod_module.so ngx_http_xslt_filter_module.so ngx_http_zip_module.so ngx_mail_module.so ngx_rtmp_module.so ngx_stream_geoip2_module.so ngx_stream_js_module.so ngx_stream_module.so sbin/nginx share/man/man8/nginx.8.gz www/nginx-dist/ 50x.html EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING index.html @dir %%NGINX_LOGDIR%% @dir %%NGINX_TMPDIR%% @postunexec if [ -L %D/www/nginx ]; then rm -f %D/www/nginx; fi @preexec mkdir -p -m 755 %D/www/nginx-dist && if [ ! -d %D/www/nginx/ ] ; then ln -fs %D/www/nginx-dist %D/www/nginx; fi && chmod a-w %D/www/nginx-dist [FILE:721:files/extra-patch-iconv] --- ../iconv-nginx-module-0.14/config.orig 2016-05-15 23:34:17 UTC +++ ../iconv-nginx-module-0.14/config @@ -48,12 +48,12 @@ else fi if [ $ngx_found = no ]; then - ngx_feature="libiconv in /usr/local/" - ngx_feature_path="/usr/local/include" + ngx_feature="libiconv in %%PREFIX%%/" + ngx_feature_path="%%PREFIX%%/include" if [ $NGX_RPATH = YES ]; then - ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -liconv" + ngx_feature_libs="-R%%PREFIX%%/lib -L%%PREFIX%%/lib -liconv" else - ngx_feature_libs="-L/usr/local/lib -liconv" + ngx_feature_libs="-L%%PREFIX%%/lib -liconv" fi . auto/feature fi [FILE:372:files/extra-patch-naxsi] --- ../naxsi-d714f16/naxsi_src/naxsi_net.h.orig 2020-11-17 13:46:31 UTC +++ ../naxsi-d714f16/naxsi_src/naxsi_net.h @@ -13,6 +13,13 @@ #include #endif +#if defined(__DragonFly__) +#include +#include +#include +#include +#endif + #include #include #include [FILE:594:files/extra-patch-naxsi_runtime.c] --- ../naxsi-d714f16/naxsi_src/naxsi_runtime.c.orig 2022-07-10 18:11:39.685243000 -0400 +++ ../naxsi-d714f16/naxsi_src/naxsi_runtime.c @@ -9,6 +9,11 @@ #include "naxsi_macros.h" #include "naxsi_net.h" +#if (NGX_PCRE2) +#include +#else +#include +#endif /* used to store locations during the configuration time. then, accessed by the hashtable building feature during "init" time. */ @@ -181,7 +186,7 @@ unsigned char* ngx_utf8_check(ngx_str_t* str); -#if defined nginx_version && (nginx_version >= 1021005) +#if (NGX_PCRE2) /* * variables to use pcre2 */ [FILE:842:files/extra-patch-nginx-ct] --- ../nginx-ct-93e9884/ngx_ssl_ct_module.c.orig 2017-07-23 12:03:35 UTC +++ ../nginx-ct-93e9884/ngx_ssl_ct_module.c @@ -160,7 +160,7 @@ next: #ifndef OPENSSL_IS_BORINGSSL /* add OpenSSL TLS extension */ -# if OPENSSL_VERSION_NUMBER >= 0x10101000L +# if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER) int context = SSL_EXT_CLIENT_HELLO | SSL_EXT_TLS1_2_SERVER_HELLO | SSL_EXT_TLS1_3_CERTIFICATE; @@ -184,7 +184,7 @@ next: } #ifndef OPENSSL_IS_BORINGSSL -# if OPENSSL_VERSION_NUMBER >= 0x10101000L +# if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER) int ngx_ssl_ct_ext_cb(SSL *s, unsigned int ext_type, unsigned int context, const unsigned char **out, size_t *outlen, X509 *x, size_t chainidx, int *al, void *add_arg) { [FILE:360:files/extra-patch-ngx_http_notice_module.c] --- ../nginx-notice-3c95966/ngx_http_notice_module.c.orig 2009-07-16 18:37:57.000000000 +0200 +++ ../nginx-notice-3c95966/ngx_http_notice_module.c @@ -153,7 +153,7 @@ return NGX_HTTP_NOT_ALLOWED; } - rc = ngx_http_discard_body(r); + rc = ngx_http_discard_request_body(r); if (rc != NGX_OK && rc != NGX_AGAIN) { return rc; [FILE:2474:files/extra-patch-ngx_http_uploadprogress_module.c] --- ../nginx-upload-progress-module-68b3ab3/ngx_http_uploadprogress_module.c.orig 2021-12-24 10:53:38.000000000 -0500 +++ ../nginx-upload-progress-module-68b3ab3/ngx_http_uploadprogress_module.c 2022-07-10 22:24:32.435330000 -0400 @@ -559,12 +559,12 @@ ngx_chain_t out; ngx_int_t rc, found=0, done=0, err_status=0; off_t rest=0, length=0; - ngx_uint_t len, i; + ngx_uint_t len; ngx_slab_pool_t *shpool; ngx_http_uploadprogress_conf_t *upcf; ngx_http_uploadprogress_ctx_t *ctx; ngx_http_uploadprogress_node_t *up; - ngx_table_elt_t *expires, *cc, **ccp; + ngx_table_elt_t *expires, *cc; ngx_http_uploadprogress_state_t state; ngx_http_uploadprogress_template_t *t; @@ -637,6 +637,7 @@ } r->headers_out.expires = expires; + expires->next = NULL; expires->hash = 1; expires->key.len = sizeof("Expires") - 1; @@ -646,37 +647,30 @@ len = sizeof("Mon, 28 Sep 1970 06:00:00 GMT"); expires->value.len = len - 1; - ccp = r->headers_out.cache_control.elts; - if (ccp == NULL) { + cc = r->headers_out.cache_control; - if (ngx_array_init(&r->headers_out.cache_control, r->pool, - 1, sizeof(ngx_table_elt_t *)) - != NGX_OK) { - return NGX_HTTP_INTERNAL_SERVER_ERROR; - } + if (cc == NULL) { - ccp = ngx_array_push(&r->headers_out.cache_control); - if (ccp == NULL) { - return NGX_HTTP_INTERNAL_SERVER_ERROR; - } - cc = ngx_list_push(&r->headers_out.headers); if (cc == NULL) { + expires->hash = 0; return NGX_HTTP_INTERNAL_SERVER_ERROR; } + r->headers_out.cache_control = cc; + cc->next = NULL; + cc->hash = 1; cc->key.len = sizeof("Cache-Control") - 1; cc->key.data = (u_char *) "Cache-Control"; - *ccp = cc; - } else { - for (i = 1; i < r->headers_out.cache_control.nelts; i++) { - ccp[i]->hash = 0; + for (cc = cc->next; cc; cc = cc->next) { + cc->hash = 0; } - cc = ccp[0]; + cc = r->headers_out.cache_control; + cc->next = NULL; } expires->value.data = (u_char *) "Thu, 01 Jan 1970 00:00:01 GMT"; [FILE:731:files/extra-patch-postgresql] --- ../ngx_postgres-8aa7359/config.orig 2015-05-26 20:52:25.649166000 +0300 +++ ../ngx_postgres-8aa7359/config @@ -48,12 +48,12 @@ if [ $ngx_found = no ]; then # FreeBSD - ngx_feature="libpq library in /usr/local/" - ngx_feature_path="/usr/local/include" + ngx_feature="libpq library in %%PREFIX%%/" + ngx_feature_path="%%PREFIX%%/include" if [ $NGX_RPATH = YES ]; then - ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lpq" + ngx_feature_libs="-R%%PREFIX%%/lib -L%%PREFIX%%/lib -lpq" else - ngx_feature_libs="-L/usr/local/lib -lpq" + ngx_feature_libs="-L%%PREFIX%%/lib -lpq" fi . auto/feature fi [FILE:1443:files/extra-patch-src_http_modules_ngx__http__upstream__hash__module.c] --- src/http/modules/ngx_http_upstream_hash_module.c.orig 2024-04-23 14:04:32 UTC +++ src/http/modules/ngx_http_upstream_hash_module.c @@ -9,6 +9,9 @@ #include #include +#if (NGX_HTTP_UPSTREAM_CHECK) +#include "ngx_http_upstream_check_module.h" +#endif typedef struct { uint32_t hash; @@ -238,6 +241,15 @@ ngx_http_upstream_get_hash_peer(ngx_peer goto next; } +#if (NGX_HTTP_UPSTREAM_CHECK) + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0, + "get hash peer, check_index: %ui", + peer->check_index); + if (ngx_http_upstream_check_peer_down(peer->check_index)) { + goto next; + } +#endif + if (peer->max_fails && peer->fails >= peer->max_fails && now - peer->checked <= peer->fail_timeout) @@ -560,6 +572,15 @@ ngx_http_upstream_get_chash_peer(ngx_pee continue; } +#if (NGX_HTTP_UPSTREAM_CHECK) + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0, + "get consistent_hash peer, check_index: %ui", + peer->check_index); + if (ngx_http_upstream_check_peer_down(peer->check_index)) { + continue; + } +#endif + if (peer->server.len != server->len || ngx_strncmp(peer->server.data, server->data, server->len) != 0) [FILE:875:files/extra-patch-src_http_modules_ngx__http__upstream__ip__hash__module.c] --- src/http/modules/ngx_http_upstream_ip_hash_module.c.orig 2024-04-23 14:04:32 UTC +++ src/http/modules/ngx_http_upstream_ip_hash_module.c @@ -9,6 +9,9 @@ #include #include +#if (NGX_HTTP_UPSTREAM_CHECK) +#include "ngx_http_upstream_check_module.h" +#endif typedef struct { /* the round robin data must be first */ @@ -208,6 +211,15 @@ ngx_http_upstream_get_ip_hash_peer(ngx_p goto next; } +#if (NGX_HTTP_UPSTREAM_CHECK) + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0, + "get ip_hash peer, check_index: %ui", + peer->check_index); + if (ngx_http_upstream_check_peer_down(peer->check_index)) { + goto next; + } +#endif + if (peer->max_fails && peer->fails >= peer->max_fails && now - peer->checked <= peer->fail_timeout) [FILE:1493:files/extra-patch-src_http_modules_ngx__http__upstream__least__conn__module.c] --- src/http/modules/ngx_http_upstream_least_conn_module.c.orig 2024-04-23 14:04:32 UTC +++ src/http/modules/ngx_http_upstream_least_conn_module.c @@ -9,6 +9,9 @@ #include #include +#if (NGX_HTTP_UPSTREAM_CHECK) +#include "ngx_http_upstream_check_module.h" +#endif static ngx_int_t ngx_http_upstream_init_least_conn_peer(ngx_http_request_t *r, ngx_http_upstream_srv_conf_t *us); @@ -147,6 +150,16 @@ ngx_http_upstream_get_least_conn_peer(ng continue; } +#if (NGX_HTTP_UPSTREAM_CHECK) + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0, + "get least_conn peer, check_index: %ui", + peer->check_index); + + if (ngx_http_upstream_check_peer_down(peer->check_index)) { + continue; + } +#endif + if (peer->max_fails && peer->fails >= peer->max_fails && now - peer->checked <= peer->fail_timeout) @@ -202,6 +215,16 @@ ngx_http_upstream_get_least_conn_peer(ng continue; } +#if (NGX_HTTP_UPSTREAM_CHECK) + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0, + "get least_conn peer, check_index: %ui", + peer->check_index); + + if (ngx_http_upstream_check_peer_down(peer->check_index)) { + continue; + } +#endif + if (peer->conns * best->weight != best->conns * peer->weight) { continue; } [FILE:3377:files/extra-patch-src_http_ngx__http__upstream__round__robin.c] --- src/http/ngx_http_upstream_round_robin.c.orig 2024-04-23 14:04:32 UTC +++ src/http/ngx_http_upstream_round_robin.c @@ -9,6 +9,9 @@ #include #include +#if (NGX_HTTP_UPSTREAM_CHECK) +#include "ngx_http_upstream_check_module.h" +#endif #define ngx_http_upstream_tries(p) ((p)->tries \ + ((p)->next ? (p)->next->tries : 0)) @@ -103,7 +106,14 @@ ngx_http_upstream_init_round_robin(ngx_c peer[n].fail_timeout = server[i].fail_timeout; peer[n].down = server[i].down; peer[n].server = server[i].name; - +#if (NGX_HTTP_UPSTREAM_CHECK) + if (!server[i].down) { + peer[n].check_index = + ngx_http_upstream_check_add_peer(cf, us, &server[i].addrs[j]); + } else { + peer[n].check_index = (ngx_uint_t) NGX_ERROR; + } +#endif *peerp = &peer[n]; peerp = &peer[n].next; n++; @@ -173,7 +183,15 @@ ngx_http_upstream_init_round_robin(ngx_c peer[n].fail_timeout = server[i].fail_timeout; peer[n].down = server[i].down; peer[n].server = server[i].name; - +#if (NGX_HTTP_UPSTREAM_CHECK) + if (!server[i].down) { + peer[n].check_index = + ngx_http_upstream_check_add_peer(cf, us, &server[i].addrs[j]); + } + else { + peer[n].check_index = (ngx_uint_t) NGX_ERROR; + } +#endif *peerp = &peer[n]; peerp = &peer[n].next; n++; @@ -241,6 +259,9 @@ ngx_http_upstream_init_round_robin(ngx_c peer[i].max_conns = 0; peer[i].max_fails = 1; peer[i].fail_timeout = 10; +#if (NGX_HTTP_UPSTREAM_CHECK) + peer[i].check_index = (ngx_uint_t) NGX_ERROR; +#endif *peerp = &peer[i]; peerp = &peer[i].next; } @@ -358,6 +379,9 @@ ngx_http_upstream_create_round_robin_pee peer[0].max_conns = 0; peer[0].max_fails = 1; peer[0].fail_timeout = 10; +#if (NGX_HTTP_UPSTREAM_CHECK) + peer[0].check_index = (ngx_uint_t) NGX_ERROR; +#endif peers->peer = peer; } else { @@ -392,6 +416,9 @@ ngx_http_upstream_create_round_robin_pee peer[i].max_conns = 0; peer[i].max_fails = 1; peer[i].fail_timeout = 10; +#if (NGX_HTTP_UPSTREAM_CHECK) + peer[i].check_index = (ngx_uint_t) NGX_ERROR; +#endif *peerp = &peer[i]; peerp = &peer[i].next; } @@ -457,6 +484,12 @@ ngx_http_upstream_get_round_robin_peer(n goto failed; } +#if (NGX_HTTP_UPSTREAM_CHECK) + if (ngx_http_upstream_check_peer_down(peer->check_index)) { + goto failed; + } +#endif + rrp->current = peer; } else { @@ -551,6 +584,12 @@ ngx_http_upstream_get_peer(ngx_http_upst continue; } +#if (NGX_HTTP_UPSTREAM_CHECK) + if (ngx_http_upstream_check_peer_down(peer->check_index)) { + continue; + } +#endif + if (peer->max_fails && peer->fails >= peer->max_fails && now - peer->checked <= peer->fail_timeout) [FILE:390:files/extra-patch-src_http_ngx__http__upstream__round__robin.h] --- src/http/ngx_http_upstream_round_robin.h.orig 2024-04-23 14:04:32 UTC +++ src/http/ngx_http_upstream_round_robin.h @@ -49,6 +49,10 @@ struct ngx_http_upstream_rr_peer_s { ngx_atomic_t lock; #endif +#if (NGX_HTTP_UPSTREAM_CHECK) + ngx_uint_t check_index; +#endif + ngx_http_upstream_rr_peer_t *next; NGX_COMPAT_BEGIN(32) [FILE:3521:files/nginx.in] #!/bin/sh # # PROVIDE: nginx # REQUIRE: LOGIN cleanvar # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable nginx: # nginx_enable (bool): Set to "NO" by default. # Set it to "YES" to enable nginx # nginx_profiles (str): Set to "" by default. # Define your profiles here. # nginx_pid_prefix (str): Set to "" by default. # When using profiles manually assign value to "nginx_" # for prevent collision with other PIDs names. # nginxlimits_enable (bool): Set to "NO" by default. # Set it to yes to run `limits $limits_args` # just before nginx starts. # nginx_flags (str): Set to "" by default. # Extra flags passed to start command. # nginxlimits_args (str): Default to "-e -U %%WWWOWN%%" # Arguments of pre-start limits run. . /etc/rc.subr name="nginx" rcvar=nginx_enable start_precmd="nginx_precmd" restart_precmd="nginx_checkconfig" reload_precmd="nginx_checkconfig" configtest_cmd="nginx_checkconfig" gracefulstop_cmd="nginx_gracefulstop" upgrade_precmd="nginx_checkconfig" upgrade_cmd="nginx_upgrade" command="%%PREFIX%%/sbin/nginx" _pidprefix="%%NGINX_RUNDIR%%" pidfile="${_pidprefix}/${name}.pid" _tmpprefix="%%NGINX_TMPDIR%%" required_files=%%PREFIX%%/etc/nginx/nginx.conf extra_commands="reload configtest upgrade gracefulstop" [ -z "$nginx_enable" ] && nginx_enable="NO" [ -z "$nginxlimits_enable" ] && nginxlimits_enable="NO" [ -z "$nginxlimits_args" ] && nginxlimits_args="-e -U %%WWWOWN%%" load_rc_config $name if [ -n "$2" ]; then profile="$2" if [ "x${nginx_profiles}" != "x" ]; then pidfile="${_pidprefix}/${nginx_pid_prefix}${profile}.pid" eval nginx_configfile="\${nginx_${profile}_configfile:-}" if [ "x${nginx_configfile}" = "x" ]; then echo "You must define a configuration file (nginx_${profile}_configfile)" exit 1 fi required_files="${nginx_configfile}" eval nginx_enable="\${nginx_${profile}_enable:-${nginx_enable}}" eval nginx_flags="\${nginx_${profile}_flags:-${nginx_flags}}" eval nginxlimits_enable="\${nginxlimits_${profile}_enable:-${nginxlimits_enable}}" eval nginxlimits_args="\${nginxlimits_${profile}_args:-${nginxlimits_args}}" nginx_flags="-c ${nginx_configfile} -g \"pid ${pidfile};\" ${nginx_flags}" else echo "$0: extra argument ignored" fi else if [ "x${nginx_profiles}" != "x" -a "x$1" != "x" ]; then for profile in ${nginx_profiles}; do echo "===> nginx profile: ${profile}" %%PREFIX%%/etc/rc.d/nginx $1 ${profile} retcode="$?" if [ "0${retcode}" -ne 0 ]; then failed="${profile} (${retcode}) ${failed:-}" else success="${profile} ${success:-}" fi done exit 0 fi fi # tmpfs(5) nginx_checktmpdir() { if [ ! -d ${_tmpprefix} ] ; then install -d -o %%WWWOWN%% -g %%WWWGRP%% -m 755 ${_tmpprefix} fi } nginx_checkconfig() { nginx_checktmpdir echo "Performing sanity check on nginx configuration:" eval ${command} ${nginx_flags} -t } nginx_gracefulstop() { echo "Performing a graceful stop:" sig_stop="QUIT" run_rc_command ${rc_prefix}stop $rc_extra_args || return 1 } nginx_upgrade() { echo "Upgrading nginx binary:" reload_precmd="" sig_reload="USR2" run_rc_command ${rc_prefix}reload $rc_extra_args || return 1 sleep 1 echo "Stopping old binary:" sig_reload="QUIT" pidfile="$pidfile.oldbin" run_rc_command ${rc_prefix}reload $rc_extra_args || return 1 } nginx_precmd() { nginx_checkconfig if checkyesno nginxlimits_enable then eval `/usr/bin/limits ${nginxlimits_args}` 2>/dev/null else return 0 fi } run_rc_command "$1" [FILE:763:files/pkg-message-single.in] =================================================================== A recent version of the NGINX introduced dynamic modules support. To load a module at runtime, include the new `load_module' directive in the main context, specifying the path to the shared object file for the module, enclosed in quotation marks. When you reload the configuration or restart NGINX, the module is loaded in. It is possible to specify a path relative to the source directory, or a full path, please see https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/ and http://nginx.org/en/docs/ngx_core_module.html#load_module for details. Default path for the NGINX dynamic modules is %%PREFIX%%/libexec/nginx. =================================================================== [FILE:314:dragonfly/patch-src_core_ngx__config.h] --- src/core/ngx_config.h.orig 2024-04-16 14:29:59 UTC +++ src/core/ngx_config.h @@ -12,8 +12,8 @@ #include -#if defined __DragonFly__ && !defined __FreeBSD__ -#define __FreeBSD__ 4 +#if defined __DragonFly__ +#undef __FreeBSD_version #define __FreeBSD_version 480101 #endif [FILE:470:dragonfly/patch-src_event_modules_ngx__eventport__module.c] --- src/event/modules/ngx_eventport_module.c.orig 2024-04-16 14:29:59 UTC +++ src/event/modules/ngx_eventport_module.c @@ -51,7 +51,7 @@ typedef struct port_notify { void *portnfy_user; /* user defined */ } port_notify_t; -#if (__FreeBSD__ && __FreeBSD_version < 700005) || (NGX_DARWIN) +#if (__FreeBSD_version < 700005) || (NGX_DARWIN) typedef struct itimerspec { /* definition per POSIX.4 */ struct timespec it_interval;/* timer period */ [FILE:532:dragonfly/patch-src_event_modules_ngx__kqueue__module.c] --- src/event/modules/ngx_kqueue_module.c.orig 2024-04-16 14:29:59 UTC +++ src/event/modules/ngx_kqueue_module.c @@ -429,8 +429,7 @@ ngx_kqueue_set_event(ngx_event_t *ev, ng if (filter == EVFILT_VNODE) { kev->fflags = NOTE_DELETE|NOTE_WRITE|NOTE_EXTEND |NOTE_ATTRIB|NOTE_RENAME -#if (__FreeBSD__ == 4 && __FreeBSD_version >= 430000) \ - || __FreeBSD_version >= 500018 +#if __FreeBSD_version >= 430000 |NOTE_REVOKE #endif ; [FILE:447:dragonfly/patch-src_os_unix_ngx__freebsd__init.c] --- src/os/unix/ngx_freebsd_init.c.orig 2024-04-16 14:29:59 UTC +++ src/os/unix/ngx_freebsd_init.c @@ -162,8 +162,7 @@ ngx_os_specific_init(ngx_log_t *log) * to allow an old binary to run correctly on an updated FreeBSD system. */ -#if (__FreeBSD__ == 4 && __FreeBSD_version >= 460102) \ - || __FreeBSD_version == 460002 || __FreeBSD_version >= 500039 +#if __FreeBSD_version >= 460102 /* a new syscall without the bug */