# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= nginx VERSION= 1.25.4 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:a964a0b 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:2b977cf 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.1 SITES[drizzle]= GITHUB/openresty:drizzle-nginx-module:v0.1.11 SITES[dynups]= GITHUB/cubicdaiya:ngx_dynamic_upstream:v0.1.6 SITES[echo]= GITHUB/openresty:echo-nginx-module:v0.62 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.22 SITES[memc]= GITHUB/openresty:memc-nginx-module:v0.19 SITES[morehead]= GITHUB/openresty:headers-more-nginx-module:v0.34 SITES[naxsi]= GITHUB/nbs-system:naxsi:d714f16 SITES[njs]= GITHUB/nginx:njs:0.7.7 SITES[notice]= GITHUB/kr:nginx-notice:3c95966 SITES[pam]= GITHUB/sto:ngx_http_auth_pam_module:v1.5.1 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:e12e965 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.30 SITES[xss]= GITHUB/openresty:xss-nginx-module:v0.06 SITES[zip]= GITHUB/evanmiller:mod_zip:5b2604b DISTFILE[1]= nginx-1.25.4.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-e12e965 --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.1 --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-2b977cf --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.62 --add-dynamic-module={{WRKDIR}}/headers-more-nginx-module-0.34 --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.7.7/nginx --add-dynamic-module={{WRKDIR}}/nginx-upstream-fair-10ecdcf --add-dynamic-module={{WRKDIR}}/mod_zip-5b2604b --add-dynamic-module={{WRKDIR}}/ngx_dynamic_upstream-0.1.6 --add-dynamic-module={{WRKDIR}}/nginx-rtmp-module-1.2.2 --add-dynamic-module={{WRKDIR}}/nginx-vod-module-1.30 --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-upstream-check-module extra-patch-iconv extra-patch-postgresql extra-patch-naxsi extra-patch-naxsi_runtime.c extra-patch-njs-fsmodule extra-patch-ngx_http_uploadprogress_module.c [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:5609:distinfo] 760729901acbaa517996e681ee6ea259032985e37c2768beef80df3a877deed9 1236273 nginx-1.25.4.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 40f9d43fdb39f4a8c60697e366469a42e229b12f1993376f33431e700bd9a50f 94055 yaoweibin-ngx_http_substitutions_filter_module-e12e965.tar.gz 0c786660ce2e5c6d23cf02e957786ad581a04cc6315145eb144ec271f7f81326 109940 yaoweibin-nginx_ajp_module-a964a0b.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 77676842919134af88a7b4bfca4470223e3a00d287d17c0dbdc9a114a685b6e7 6863 sto-ngx_http_auth_pam_module-1.5.1.tar.gz d8a2422da96a638e9a911e4edb592954d9c0fe1576456fec9809ef4e2a0a863d 15580 anomalizer-ngx_aws_auth-21931b2.tar.gz 72fdd125b9207cdda135f368095f85b943a78a4ff004d1cd217972e12b1571b2 7224 grahamedgecombe-nginx-ct-93e9884.tar.gz 86f6866baf7297d85feb42ff6d9c212d1de696f3314a53d3a41a4b533a67ab01 53329 openresty-echo-nginx-module-0.62.tar.gz 0c0d2ced2ce895b3f45eb2b230cd90508ab2a773299f153de14a43e44c1209b3 28827 openresty-headers-more-nginx-module-0.34.tar.gz 6b91d3c2c2f254ebb37eb3dd6dd41048dfb18320bb98a3afdd1ad38b47f6d609 14188 openresty-nginx-eval-module-2016.06.10.tar.gz a2f62c418078fe1271fcf68bbdf28164ae06885f17a2b4941fbf766f3ccf4a4f 50864 openresty-drizzle-nginx-module-0.1.11.tar.gz fe9b95acf9726aefd71bf0aca6c11bee007f1da67e64be9b21a7131f0ed75ba6 11847 openresty-encrypted-session-nginx-module-0.09.tar.gz 294d3d4b2d14fda1b8c539ff86f90047d203df861eb9a1ac44ec5c679ef55408 690975 openresty-lua-nginx-module-0.10.22.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 0e971105e210d272a497567fa2e2c256f4e39b845a5ba80d373e26ba1abfbd85 66542 simpl-ngx_devel_kit-0.3.1.tar.gz f9e5b6ee79711ef2fcea6482144c0c901b99ba6bd52d72c1c0ae7415a42f4f45 609779 nginx-njs-0.7.7.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 4fe63be3b842882494152e586f0b87e73f51bfbfd801b78f033c71a011cba789 29559 evanmiller-mod_zip-5b2604b.tar.gz 056fcd63cab39c2f0144d6a8c3ce16e8ae2cfb6e02ad66e5972ffeeca6c6a4d3 11015 cubicdaiya-ngx_dynamic_upstream-0.1.6.tar.gz cbf6fcddc00a7e30289134bdeace12565e000cc7d4efee2d2ebb8799d0b88270 20534 arut-nginx-let-module-0.0.4.tar.gz 07f19b7bffec5e357bb8820c63e5281debd45f5a2e6d46b1636d9202c3e09d78 519934 arut-nginx-rtmp-module-1.2.2.tar.gz db1a7b31b4109eff32519f6624eaa54815db79f8e8b671bd24e5906ea5b3b905 470262 kaltura-nginx-vod-module-1.30.tar.gz b8b9f355c05c0790226512f6732348a2404d48531688a1fc04ce6768163bf462 13133 calio-iconv-nginx-module-0.14.tar.gz 5c1869d55897075adb3fdf840b21060dc54669a1f840a36d1539acc7e59dd106 11090 calio-form-input-nginx-module-0.12.tar.gz 9de7dad5827edf37e803435ee764f6815562053daa0821aedaf539580307ff93 16739 torden-ngx_cache_purge-2b977cf.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:1440: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_dynamic_upstream_module.so ngx_http_auth_digest_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:764:files/extra-patch-iconv] --- ../iconv-nginx-module-0.14/config.orig 2013-04-16 17:57:17.000000000 -0700 +++ ../iconv-nginx-module-0.14/config 2013-05-01 17:16:28.134624745 -0700 @@ -39,12 +39,12 @@ 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:640:files/extra-patch-njs-fsmodule] --- ../njs-0.7.7/external/njs_fs_module.c.orig 2022-08-30 04:18:20 UTC +++ ../njs-0.7.7/external/njs_fs_module.c @@ -3311,8 +3311,13 @@ njs_fs_to_stat(njs_stat_t *dst, struct s dst->st_mtim.tv_nsec = st->st_mtimespec.tv_nsec; dst->st_ctim.tv_sec = st->st_ctimespec.tv_sec; dst->st_ctim.tv_nsec = st->st_ctimespec.tv_nsec; +#if (NJS_HAVE_STAT_BIRTHTIM) dst->st_birthtim.tv_sec = st->st_birthtimespec.tv_sec; dst->st_birthtim.tv_nsec = st->st_birthtimespec.tv_nsec; +#else + dst->st_birthtim.tv_sec = st->st_ctim.tv_sec; + dst->st_birthtim.tv_nsec = st->st_ctim.tv_nsec; +#endif #elif (NJS_HAVE_STAT_ATIM) [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:7578:files/extra-patch-upstream-check-module] --- src/http/modules/ngx_http_upstream_hash_module.c.orig 2017-08-08 15:00:13 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; @@ -235,6 +238,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) @@ -538,6 +550,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) --- src/http/modules/ngx_http_upstream_ip_hash_module.c.orig 2017-08-08 15:00:13 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 */ @@ -205,6 +208,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) --- src/http/modules/ngx_http_upstream_least_conn_module.c.orig 2017-08-08 15:00:13 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; } --- src/http/ngx_http_upstream_round_robin.c.orig 2017-08-08 15:00:13 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)->number \ + ((p)->next ? (p)->next->number : 0)) @@ -97,7 +100,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++; @@ -161,7 +171,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++; @@ -228,6 +246,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; } @@ -344,6 +365,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 { @@ -378,6 +402,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; } @@ -443,6 +470,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 { @@ -537,6 +570,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) --- src/http/ngx_http_upstream_round_robin.h.orig 2017-08-08 15:00:13 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 2023-10-24 13:46:47 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 2023-10-24 13:46:47 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 2023-10-24 13:46:47 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 2023-10-24 13:46:47 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 */