From f57efc5206db398a493ef45748906eefb71c8779 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lal?= Date: Sun, 27 Nov 2022 12:53:46 +0100 Subject: [PATCH 001/163] Add buildsystem nginx_mod to dh-sequence nginx --- debian/debhelper/nginx.pm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/debhelper/nginx.pm b/debian/debhelper/nginx.pm index 0473815..0e41120 100644 --- a/debian/debhelper/nginx.pm +++ b/debian/debhelper/nginx.pm @@ -3,6 +3,12 @@ use warnings; use strict; use Debian::Debhelper::Dh_Lib; +add_command_options( "dh_auto_test", "--buildsystem=nginx_mod" ); +add_command_options( "dh_auto_configure", "--buildsystem=nginx_mod" ); +add_command_options( "dh_auto_build", "--buildsystem=nginx_mod" ); +add_command_options( "dh_auto_install", "--buildsystem=nginx_mod" ); +add_command_options( "dh_auto_clean", "--buildsystem=nginx_mod" ); + insert_after("dh_install", "dh_nginx"); 1; From e06af596025cea1568171b4bed2413209c2b13ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lal?= Date: Sun, 27 Nov 2022 12:55:48 +0100 Subject: [PATCH 002/163] nginx-dev provides dh-sequence-nginx --- debian/control | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/control b/debian/control index 769452a..f464dd8 100644 --- a/debian/control +++ b/debian/control @@ -81,6 +81,7 @@ Depends: ${misc:Depends}, zlib1g-dev, nginx-core (<< ${source:Version}.1~) | nginx-light (<< ${source:Version}.1~) | nginx-extras (<< ${source:Version}.1~), nginx-core (>= ${source:Version}) | nginx-light (>= ${source:Version}) | nginx-extras (>= ${source:Version}) +Provides: dh-sequence-nginx Description: nginx web/proxy server - development headers Nginx ("engine X") is a high-performance web and reverse proxy server created by Igor Sysoev. It can be used both as a standalone web server From 8e0e251d546ca69d0662880a773e0d6329c49445 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lal?= Date: Sun, 27 Nov 2022 12:57:51 +0100 Subject: [PATCH 003/163] Update changelog --- debian/changelog | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 4735a81..8e47d67 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ nginx (1.22.1-2) UNRELEASED; urgency=medium + [ Jan Mojžíš ] * d/control: fixed spelling-error-in-description * d/nginx-*.postinst: fixed postinst script, used invoke-rc.d instead of pidof and ad-hoc tests, tnx Gioele Barabucci @@ -11,7 +12,11 @@ nginx (1.22.1-2) UNRELEASED; urgency=medium * d/control: updated implicit dependencies of third-party modules for easier transition to third-party modules in separate packages. - -- Jan Mojžíš Fri, 11 Nov 2022 06:15:39 +0100 + [ Jérémy Lal ] + * d/debhelper: set nginx_mod buildsystem by default + * d/control: nginx-dev provides dh-sequence-nginx (Closes: #1024879) + + -- Jérémy Lal Sun, 27 Nov 2022 12:56:29 +0100 nginx (1.22.1-1) unstable; urgency=medium From 6d3c163fd32148bf41fbc7455426a1d2ef90ee69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lal?= Date: Sun, 27 Nov 2022 12:53:46 +0100 Subject: [PATCH 004/163] Add buildsystem nginx_mod to dh-sequence nginx --- debian/debhelper/nginx.pm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/debhelper/nginx.pm b/debian/debhelper/nginx.pm index 0473815..0e41120 100644 --- a/debian/debhelper/nginx.pm +++ b/debian/debhelper/nginx.pm @@ -3,6 +3,12 @@ use warnings; use strict; use Debian::Debhelper::Dh_Lib; +add_command_options( "dh_auto_test", "--buildsystem=nginx_mod" ); +add_command_options( "dh_auto_configure", "--buildsystem=nginx_mod" ); +add_command_options( "dh_auto_build", "--buildsystem=nginx_mod" ); +add_command_options( "dh_auto_install", "--buildsystem=nginx_mod" ); +add_command_options( "dh_auto_clean", "--buildsystem=nginx_mod" ); + insert_after("dh_install", "dh_nginx"); 1; From cb417c7e2ca0e9404a8a1e6f0555ad291ea9a3ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lal?= Date: Sun, 27 Nov 2022 12:55:48 +0100 Subject: [PATCH 005/163] nginx-dev provides dh-sequence-nginx --- debian/control | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/control b/debian/control index 769452a..f464dd8 100644 --- a/debian/control +++ b/debian/control @@ -81,6 +81,7 @@ Depends: ${misc:Depends}, zlib1g-dev, nginx-core (<< ${source:Version}.1~) | nginx-light (<< ${source:Version}.1~) | nginx-extras (<< ${source:Version}.1~), nginx-core (>= ${source:Version}) | nginx-light (>= ${source:Version}) | nginx-extras (>= ${source:Version}) +Provides: dh-sequence-nginx Description: nginx web/proxy server - development headers Nginx ("engine X") is a high-performance web and reverse proxy server created by Igor Sysoev. It can be used both as a standalone web server From 393320b207fe65a088a9663be2e9cffce2fb9095 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lal?= Date: Sun, 27 Nov 2022 12:57:51 +0100 Subject: [PATCH 006/163] Update changelog --- debian/changelog | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 4735a81..c1bfa31 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ nginx (1.22.1-2) UNRELEASED; urgency=medium + [ Jan Mojžíš ] * d/control: fixed spelling-error-in-description * d/nginx-*.postinst: fixed postinst script, used invoke-rc.d instead of pidof and ad-hoc tests, tnx Gioele Barabucci @@ -11,7 +12,11 @@ nginx (1.22.1-2) UNRELEASED; urgency=medium * d/control: updated implicit dependencies of third-party modules for easier transition to third-party modules in separate packages. - -- Jan Mojžíš Fri, 11 Nov 2022 06:15:39 +0100 + [ Jérémy Lal ] + * d/debhelper: set nginx_mod buildsystem by default + * d/control: nginx-dev provides dh-sequence-nginx (Closes: #1024879) + + -- Jan Mojžíš Sat, 26 Nov 2022 22:27:46 +0100 nginx (1.22.1-1) unstable; urgency=medium From b99e3ad524d7d209b35cf76ba2b92d70337a75db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Moj=C5=BE=C3=AD=C5=A1?= Date: Tue, 29 Nov 2022 13:17:04 +0100 Subject: [PATCH 007/163] Remove constraints unnecessary since buster (oldstable) * nginx-dev: Drop versioned constraint on dpkg-dev in Depends. Changes-By: deb-scrub-obsolete --- debian/changelog | 4 ++++ debian/control | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index c1bfa31..445f818 100644 --- a/debian/changelog +++ b/debian/changelog @@ -16,6 +16,10 @@ nginx (1.22.1-2) UNRELEASED; urgency=medium * d/debhelper: set nginx_mod buildsystem by default * d/control: nginx-dev provides dh-sequence-nginx (Closes: #1024879) + [ Debian Janitor ] + * Remove constraints unnecessary since buster (oldstable): + + nginx-dev: Drop versioned constraint on dpkg-dev in Depends. + -- Jan Mojžíš Sat, 26 Nov 2022 22:27:46 +0100 nginx (1.22.1-1) unstable; urgency=medium diff --git a/debian/control b/debian/control index f464dd8..1167137 100644 --- a/debian/control +++ b/debian/control @@ -69,7 +69,7 @@ Package: nginx-dev Architecture: all Depends: ${misc:Depends}, debhelper-compat (= 13), - dpkg-dev (>= 1.15.5), + dpkg-dev, libgd-dev, libgeoip-dev, libpcre3-dev, From ad7d6fcf98b0b7d000e54d0da2ef3595c5c42f21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lal?= Date: Tue, 29 Nov 2022 20:27:42 +0100 Subject: [PATCH 008/163] Uploaders for a team needs only one name --- debian/control | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/debian/control b/debian/control index 1167137..adfe43e 100644 --- a/debian/control +++ b/debian/control @@ -2,10 +2,7 @@ Source: nginx Section: httpd Priority: optional Maintainer: Debian Nginx Maintainers -Uploaders: Christos Trochalakis , - Ondřej Nový , - Thomas Ward , - Jan Mojžíš , +Uploaders: Jan Mojžíš Build-Depends: debhelper-compat (= 13), libexpat-dev, libgd-dev, From 65aa43c3d5d2b03772102603edc222d69a6906a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lal?= Date: Wed, 30 Nov 2022 17:36:47 +0100 Subject: [PATCH 009/163] Update changelog --- debian/changelog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debian/changelog b/debian/changelog index 445f818..83742cc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,6 +15,8 @@ nginx (1.22.1-2) UNRELEASED; urgency=medium [ Jérémy Lal ] * d/debhelper: set nginx_mod buildsystem by default * d/control: nginx-dev provides dh-sequence-nginx (Closes: #1024879) + * d/control: remove Uploaders that are part of nginx-team, + keep only the most recent active one, per policy 5.6.3. [ Debian Janitor ] * Remove constraints unnecessary since buster (oldstable): From 6b407926344c24fa2191b283addd4a67018113a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Moj=C5=BE=C3=AD=C5=A1?= Date: Wed, 30 Nov 2022 17:40:35 +0100 Subject: [PATCH 010/163] release nginx 1.22.1-2, upload to unstable --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 83742cc..5db16cc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -nginx (1.22.1-2) UNRELEASED; urgency=medium +nginx (1.22.1-2) unstable; urgency=medium [ Jan Mojžíš ] * d/control: fixed spelling-error-in-description @@ -22,7 +22,7 @@ nginx (1.22.1-2) UNRELEASED; urgency=medium * Remove constraints unnecessary since buster (oldstable): + nginx-dev: Drop versioned constraint on dpkg-dev in Depends. - -- Jan Mojžíš Sat, 26 Nov 2022 22:27:46 +0100 + -- Jan Mojžíš Wed, 30 Nov 2022 17:39:42 +0100 nginx (1.22.1-1) unstable; urgency=medium From f868709a45e3f30bf095a4ba2295fbfb5a5f9100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Moj=C5=BE=C3=AD=C5=A1?= Date: Fri, 2 Dec 2022 00:31:15 +0100 Subject: [PATCH 011/163] d/control: added Multi-Arch: foreign for package nginx-dev --- debian/changelog | 6 ++++++ debian/control | 1 + 2 files changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index 5db16cc..2126ef7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +nginx (1.22.1-3) UNRELEASED; urgency=medium + + * d/control: added Multi-Arch: foreign for package nginx-dev + + -- Jan Mojžíš Fri, 02 Dec 2022 00:30:39 +0100 + nginx (1.22.1-2) unstable; urgency=medium [ Jan Mojžíš ] diff --git a/debian/control b/debian/control index adfe43e..a8f0c8d 100644 --- a/debian/control +++ b/debian/control @@ -64,6 +64,7 @@ Description: small, powerful, scalable web/proxy server - common files Package: nginx-dev Architecture: all +Multi-Arch: foreign Depends: ${misc:Depends}, debhelper-compat (= 13), dpkg-dev, From 6c68d264f3e2303bfd2a587858ff07dc69081324 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Moj=C5=BE=C3=AD=C5=A1?= Date: Sat, 3 Dec 2022 08:28:23 +0100 Subject: [PATCH 012/163] d/rules: enable NDK upstream list module NDK_UPSTREAM_LIST --- debian/changelog | 1 + debian/rules | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 2126ef7..c8ce4bb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ nginx (1.22.1-3) UNRELEASED; urgency=medium * d/control: added Multi-Arch: foreign for package nginx-dev + * d/rules: enabled NDK upstream list module NDK_UPSTREAM_LIST -- Jan Mojžíš Fri, 02 Dec 2022 00:30:39 +0100 diff --git a/debian/rules b/debian/rules index 8a7354b..f2fd124 100755 --- a/debian/rules +++ b/debian/rules @@ -201,8 +201,14 @@ config.arch.%: cp -Pa $(CURDIR)/man $(BUILDDIR_$*)/ cd $(BUILDDIR_$*) && ./configure $($*_configure_flags) if [ "$(BUILDDIR_$*)" = "$(BUILDDIR_extras)" ]; then \ - have="NDK_SET_VAR"; \ - /bin/echo -e "#ifndef $$have\n#define $$have 1\n#endif" >> $(BUILDDIR_$*)/objs/ngx_auto_config.h; \ + for have in NDK_SET_VAR NDK_UPSTREAM_LIST; do \ + ( \ + echo "#ifndef $$have"; \ + echo "#define $$have 1"; \ + echo "#endif"; \ + echo; \ + ) >> $(BUILDDIR_$*)/objs/ngx_auto_config.h; \ + done \ fi config.src: From 58657d6178cc1bf4edd76b9ff6042333aad5d959 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Moj=C5=BE=C3=AD=C5=A1?= Date: Sun, 4 Dec 2022 18:37:45 +0100 Subject: [PATCH 013/163] d/p/bug-1024605.patch Forwarded: not-needed --- debian/changelog | 1 + debian/patches/bug-1024605.patch | 1 + 2 files changed, 2 insertions(+) diff --git a/debian/changelog b/debian/changelog index c8ce4bb..40e5f81 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ nginx (1.22.1-3) UNRELEASED; urgency=medium * d/control: added Multi-Arch: foreign for package nginx-dev * d/rules: enabled NDK upstream list module NDK_UPSTREAM_LIST + * d/p/bug-1024605.patch: added header Forwarded: not-needed -- Jan Mojžíš Fri, 02 Dec 2022 00:30:39 +0100 diff --git a/debian/patches/bug-1024605.patch b/debian/patches/bug-1024605.patch index 0598bb5..28b7d18 100644 --- a/debian/patches/bug-1024605.patch +++ b/debian/patches/bug-1024605.patch @@ -3,6 +3,7 @@ Author: User Ciel Zhao Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1024605 Last-Update: 2022-11-21 Origin: https://hg.nginx.org/nginx/raw-rev/49e7db44b57c +Forwarded: not-needed --- # HG changeset patch # User Ciel Zhao From 616ee027250cc6d7707a04b53f50d8a8958f9902 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Moj=C5=BE=C3=AD=C5=A1?= Date: Mon, 5 Dec 2022 18:25:29 +0100 Subject: [PATCH 014/163] release nginx 1.22.1-3, upload to unstable --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 40e5f81..4f5067d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,10 @@ -nginx (1.22.1-3) UNRELEASED; urgency=medium +nginx (1.22.1-3) unstable; urgency=medium * d/control: added Multi-Arch: foreign for package nginx-dev * d/rules: enabled NDK upstream list module NDK_UPSTREAM_LIST * d/p/bug-1024605.patch: added header Forwarded: not-needed - -- Jan Mojžíš Fri, 02 Dec 2022 00:30:39 +0100 + -- Jan Mojžíš Mon, 05 Dec 2022 18:25:16 +0100 nginx (1.22.1-2) unstable; urgency=medium From 2e0b1943b00e4cea1c84f780230dc5a802190067 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Moj=C5=BE=C3=AD=C5=A1?= Date: Thu, 8 Dec 2022 09:58:23 +0100 Subject: [PATCH 015/163] d/t/*-module-deps: add curl timeout 300 seconds + nginx restart --- debian/changelog | 7 +++++++ debian/tests/control | 8 ++++---- debian/tests/core-module-deps | 8 ++++++-- debian/tests/extras-module-deps | 4 +--- debian/tests/full-module-deps | 4 +--- debian/tests/light-module-deps | 4 +--- 6 files changed, 20 insertions(+), 15 deletions(-) mode change 100644 => 120000 debian/tests/extras-module-deps mode change 100644 => 120000 debian/tests/full-module-deps mode change 100644 => 120000 debian/tests/light-module-deps diff --git a/debian/changelog b/debian/changelog index 4f5067d..a4af5c7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +nginx (1.22.1-4) UNRELEASED; urgency=medium + + * d/t/*-module-deps: updated, added curl timeout 300 seconds and + added nginx restart before calling curl + + -- Jan Mojžíš Thu, 08 Dec 2022 09:47:06 +0100 + nginx (1.22.1-3) unstable; urgency=medium * d/control: added Multi-Arch: foreign for package nginx-dev diff --git a/debian/tests/control b/debian/tests/control index 537bfca..f2f9328 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -19,7 +19,7 @@ Restrictions: allow-stderr isolation-container Depends: nginx-extras, curl Tests: core-module-deps -Restrictions: allow-stderr isolation-container +Restrictions: allow-stderr isolation-container needs-root Depends: nginx-core, curl, libnginx-mod-http-auth-pam, @@ -45,7 +45,7 @@ Depends: nginx-core, libnginx-mod-stream, Tests: full-module-deps -Restrictions: allow-stderr isolation-container +Restrictions: allow-stderr isolation-container needs-root Depends: nginx-full, curl, libnginx-mod-http-auth-pam, @@ -71,7 +71,7 @@ Depends: nginx-full, libnginx-mod-stream, Tests: light-module-deps -Restrictions: allow-stderr isolation-container +Restrictions: allow-stderr isolation-container needs-root Depends: nginx-light, curl, libnginx-mod-http-auth-pam, @@ -97,7 +97,7 @@ Depends: nginx-light, libnginx-mod-stream, Tests: extras-module-deps -Restrictions: allow-stderr isolation-container +Restrictions: allow-stderr isolation-container needs-root Depends: nginx-extras, curl, libnginx-mod-http-auth-pam, diff --git a/debian/tests/core-module-deps b/debian/tests/core-module-deps index cefed50..8978b2a 100644 --- a/debian/tests/core-module-deps +++ b/debian/tests/core-module-deps @@ -1,3 +1,7 @@ -#!/bin/bash +#!/bin/sh -curl --silent --fail -o /dev/null -w "response_code: %{http_code}\n" http://127.0.0.1/ +# restart nginx before the test +invoke-rc.d nginx restart || : +sleep 30 + +curl --max-time 300 --silent --fail -o /dev/null -w "response_code: %{http_code}\n" http://127.0.0.1/ diff --git a/debian/tests/extras-module-deps b/debian/tests/extras-module-deps deleted file mode 100644 index cefed50..0000000 --- a/debian/tests/extras-module-deps +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -curl --silent --fail -o /dev/null -w "response_code: %{http_code}\n" http://127.0.0.1/ diff --git a/debian/tests/extras-module-deps b/debian/tests/extras-module-deps new file mode 120000 index 0000000..ef5f1bc --- /dev/null +++ b/debian/tests/extras-module-deps @@ -0,0 +1 @@ +core-module-deps \ No newline at end of file diff --git a/debian/tests/full-module-deps b/debian/tests/full-module-deps deleted file mode 100644 index cefed50..0000000 --- a/debian/tests/full-module-deps +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -curl --silent --fail -o /dev/null -w "response_code: %{http_code}\n" http://127.0.0.1/ diff --git a/debian/tests/full-module-deps b/debian/tests/full-module-deps new file mode 120000 index 0000000..ef5f1bc --- /dev/null +++ b/debian/tests/full-module-deps @@ -0,0 +1 @@ +core-module-deps \ No newline at end of file diff --git a/debian/tests/light-module-deps b/debian/tests/light-module-deps deleted file mode 100644 index cefed50..0000000 --- a/debian/tests/light-module-deps +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -curl --silent --fail -o /dev/null -w "response_code: %{http_code}\n" http://127.0.0.1/ diff --git a/debian/tests/light-module-deps b/debian/tests/light-module-deps new file mode 120000 index 0000000..ef5f1bc --- /dev/null +++ b/debian/tests/light-module-deps @@ -0,0 +1 @@ +core-module-deps \ No newline at end of file From ccd8b068906a0bd09a3a586f69a5bca3b472d634 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Moj=C5=BE=C3=AD=C5=A1?= Date: Thu, 8 Dec 2022 12:21:44 +0100 Subject: [PATCH 016/163] d/t/*-module-deps: update: - add tests for new ext. module libnginx-mod-http-set-misc - add tests for new ext. module libnginx-mod-http-brotli-filter - add tests for new ext. module libnginx-mod-http-brotli-static - add tests for new ext. module libnginx-mod-http-memc - add tests for new ext. module libnginx-mod-http-srcache-filter --- debian/changelog | 6 ++++++ debian/tests/control | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/debian/changelog b/debian/changelog index a4af5c7..dd4da4f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,12 @@ nginx (1.22.1-4) UNRELEASED; urgency=medium * d/t/*-module-deps: updated, added curl timeout 300 seconds and added nginx restart before calling curl + * d/t/*-module-deps: update: + - added tests for new ext. module libnginx-mod-http-set-misc + - added tests for new ext. module libnginx-mod-http-brotli-filter + - added tests for new ext. module libnginx-mod-http-brotli-static + - added tests for new ext. module libnginx-mod-http-memc + - added tests for new ext. module libnginx-mod-http-srcache-filter -- Jan Mojžíš Thu, 08 Dec 2022 09:47:06 +0100 diff --git a/debian/tests/control b/debian/tests/control index f2f9328..1de8b0c 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -43,6 +43,11 @@ Depends: nginx-core, libnginx-mod-stream-geoip, libnginx-mod-stream-geoip2, libnginx-mod-stream, + libnginx-mod-http-set-misc, + libnginx-mod-http-brotli-filter, + libnginx-mod-http-brotli-static, + libnginx-mod-http-memc, + libnginx-mod-http-srcache-filter, Tests: full-module-deps Restrictions: allow-stderr isolation-container needs-root @@ -69,6 +74,11 @@ Depends: nginx-full, libnginx-mod-stream-geoip, libnginx-mod-stream-geoip2, libnginx-mod-stream, + libnginx-mod-http-set-misc, + libnginx-mod-http-brotli-filter, + libnginx-mod-http-brotli-static, + libnginx-mod-http-memc, + libnginx-mod-http-srcache-filter, Tests: light-module-deps Restrictions: allow-stderr isolation-container needs-root @@ -95,6 +105,11 @@ Depends: nginx-light, libnginx-mod-stream-geoip, libnginx-mod-stream-geoip2, libnginx-mod-stream, + libnginx-mod-http-set-misc, + libnginx-mod-http-brotli-filter, + libnginx-mod-http-brotli-static, + libnginx-mod-http-memc, + libnginx-mod-http-srcache-filter, Tests: extras-module-deps Restrictions: allow-stderr isolation-container needs-root @@ -121,6 +136,11 @@ Depends: nginx-extras, libnginx-mod-stream-geoip, libnginx-mod-stream-geoip2, libnginx-mod-stream, + libnginx-mod-http-set-misc, + libnginx-mod-http-brotli-filter, + libnginx-mod-http-brotli-static, + libnginx-mod-http-memc, + libnginx-mod-http-srcache-filter, Tests: reboot Restrictions: isolation-container, needs-root, needs-reboot From 11ca3f56935f8df84ffa9ca2618d16daed378f63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Moj=C5=BE=C3=AD=C5=A1?= Date: Thu, 8 Dec 2022 11:12:34 +0100 Subject: [PATCH 017/163] remove modules ndk,nchan,rtmp --- debian/changelog | 4 ++ debian/control | 60 +-------------------- debian/copyright | 62 ---------------------- debian/libnginx-mod-http-ndk-dev.install | 5 -- debian/libnginx-mod-http-ndk.nginx | 2 - debian/libnginx-mod-nchan.nginx | 13 ----- debian/libnginx-mod-rtmp.docs | 1 - debian/libnginx-mod-rtmp.examples | 1 - debian/libnginx-mod-rtmp.nginx | 13 ----- debian/libnginx-mod.conf/mod-http-lua.conf | 1 - debian/libnginx-mod.conf/mod-http-ndk.conf | 1 - debian/libnginx-mod.conf/mod-nchan.conf | 1 - debian/libnginx-mod.conf/mod-rtmp.conf | 1 - debian/rules | 38 ++----------- 14 files changed, 9 insertions(+), 194 deletions(-) delete mode 100644 debian/libnginx-mod-http-ndk-dev.install delete mode 100644 debian/libnginx-mod-http-ndk.nginx delete mode 100755 debian/libnginx-mod-nchan.nginx delete mode 100644 debian/libnginx-mod-rtmp.docs delete mode 100644 debian/libnginx-mod-rtmp.examples delete mode 100755 debian/libnginx-mod-rtmp.nginx delete mode 100644 debian/libnginx-mod.conf/mod-http-lua.conf delete mode 100644 debian/libnginx-mod.conf/mod-http-ndk.conf delete mode 100644 debian/libnginx-mod.conf/mod-nchan.conf delete mode 100644 debian/libnginx-mod.conf/mod-rtmp.conf diff --git a/debian/changelog b/debian/changelog index dd4da4f..d2cc473 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,10 @@ nginx (1.22.1-4) UNRELEASED; urgency=medium - added tests for new ext. module libnginx-mod-http-brotli-static - added tests for new ext. module libnginx-mod-http-memc - added tests for new ext. module libnginx-mod-http-srcache-filter + * removed 3th party modules and moved to separate packages: + - libnginx-mod-nchan module + - libnginx-mod-rtmp module + - libnginx-mod-http-ndk module -- Jan Mojžíš Thu, 08 Dec 2022 09:47:06 +0100 diff --git a/debian/control b/debian/control index a8f0c8d..8229516 100644 --- a/debian/control +++ b/debian/control @@ -213,7 +213,7 @@ Depends: libnginx-mod-http-auth-pam (>= ${binary:Version}), libnginx-mod-http-upstream-fair (>= ${binary:Version}), libnginx-mod-http-xslt-filter (= ${binary:Version}), libnginx-mod-mail (= ${binary:Version}), - libnginx-mod-nchan (>= ${binary:Version}), + libnginx-mod-nchan (>= 1:1.3.5+dfsg-2~), libnginx-mod-stream (= ${binary:Version}), libnginx-mod-stream-geoip (= ${binary:Version}), libnginx-mod-stream-geoip2 (>= ${binary:Version}), @@ -361,50 +361,6 @@ Description: PAM authentication module for Nginx The module uses PAM as a backend for simple http authentication. It also allows setting the pam service name to allow more fine grained control. -Package: libnginx-mod-http-ndk -Architecture: any -Depends: ${misc:Depends}, ${shlibs:Depends}, -Recommends: nginx, -Description: Nginx Development Kit module - The NDK is an Nginx module that is designed to extend the core functionality of - the excellent Nginx webserver in a way that can be used as a basis of other - Nginx modules. - . - It has functions and macros to deal with generic tasks that don't currently - have generic code as part of the core distribution. The NDK itself adds few - features that are seen from a user's point of view - it's just designed to help - reduce the code that Nginx module developers need to write. - -Package: libnginx-mod-http-ndk-dev -Architecture: all -Depends: libnginx-mod-http-ndk (<< ${source:Version}.1~), libnginx-mod-http-ndk (>= ${source:Version}), - nginx-dev (>= ${source:Version}), nginx-dev (<< ${source:Version}.1~), ${misc:Depends} -Description: Nginx Development Kit module - development files - The NDK is an Nginx module that is designed to extend the core functionality of - the excellent Nginx webserver in a way that can be used as a basis of other - Nginx modules. - . - This package provides development headers and necessary config scripts - for the Nginx development kit module, useful to develop and link third party - additions to the Debian nginx web/proxy server packages using Nginx - development kit module. - . - Development files. - -Package: libnginx-mod-nchan -Architecture: any -Depends: ${misc:Depends}, ${shlibs:Depends}, -Recommends: nginx, -Description: Fast, flexible pub/sub server for Nginx - Nchan is a scalable, flexible pub/sub server for the modern web, It can be - configured as a standalone server, or as a shim between your application and - tens, thousands, or millions of live subscribers. It can buffer messages in - memory, on-disk, or via Redis. All connections are handled asynchronously and - distributed among any number of worker processes. It can also scale to many - nginx server instances with Redis. - . - Full documentation available at https://nchan.slact.net - Package: libnginx-mod-http-echo Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends}, @@ -498,17 +454,3 @@ Description: WebDAV missing commands support for Nginx . WebDAV Ext provides the missing PROPFIND & OPTIONS methods. -Package: libnginx-mod-rtmp -Architecture: any -Depends: ${misc:Depends}, ${shlibs:Depends}, -Recommends: nginx, -Description: RTMP support for Nginx - The nginx RTMP module is a fully-featured streaming solution implemented in - nginx. - . - It provides the following features: - - Live streaming with RTMP, HLS and MPEG-DASH; - - RTMP Video on Demand from local or HTTP sources; - - Stream relay support via a push or pull model; - - Integrated stream recording; - - and more. diff --git a/debian/copyright b/debian/copyright index 2aabc8d..713892f 100644 --- a/debian/copyright +++ b/debian/copyright @@ -61,21 +61,6 @@ Files: debian/modules/http-geoip2/* Copyright: 2014, Lee Valentine License: BSD-2-clause -Files: debian/modules/http-ndk/* -Copyright: 2010-2018, Marcus Clyne -License: BSD-3-clause - -Files: debian/modules/http-ndk/src/hash/md5.h - debian/modules/http-ndk/src/hash/sha.h -Copyright: 1995-1998, Eric Young -License: BSD-4-clause - -Files: debian/modules/http-ndk/src/hash/murmurhash2.c -Copyright: Austin Appleby -License: public-domain - All MurmurHash versions are public domain software, and the author - disclaims all copyright to their code. - Files: debian/modules/http-auth-pam/* Copyright: 2008-2020, Sergio Talens Oliag License: BSD-2-clause @@ -89,24 +74,6 @@ Copyright: 2007, Grzegorz Nosek Igor Sysoev License: BSD-2-clause -Files: debian/modules/nchan/* -Copyright: 2009-2016, Leo Ponomarev (slact) - 2014, Wandenberg Peixoto - Alexander Lyalin - Rogério Carvalho Schneider -License: Expat - -Files: debian/modules/nchan/src/store/redis/hiredis/* -Copyright: 2006-2014, Salvatore Sanfilippo - 2010-2011, Pieter Noordhuis - 2015, Matt Stancliff - Jan-Erik Rediger -License: BSD-3-clause - -Files: debian/modules/nchan/src/store/redis/cmp.* -Copyright: 2017, Charles Gunyon -License: Expat - Files: debian/modules/http-uploadprogress/* Copyright: 2007, Brice Figureau 2002-2007, Igor Sysoev @@ -135,10 +102,6 @@ Copyright: 2009-2011, Taobao Inc., Alibaba Group agentzh (章亦春) "" License: BSD-3-clause -Files: debian/modules/rtmp/* -Copyright: 2012-2014, Roman Arutyunyan -License: BSD-2-clause - License: BSD-2-clause All rights reserved. . @@ -191,31 +154,6 @@ License: BSD-3-clause OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -License: BSD-4-clause - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 4. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - . - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - License: Expat Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to diff --git a/debian/libnginx-mod-http-ndk-dev.install b/debian/libnginx-mod-http-ndk-dev.install deleted file mode 100644 index 980066f..0000000 --- a/debian/libnginx-mod-http-ndk-dev.install +++ /dev/null @@ -1,5 +0,0 @@ -debian/build-ndksrc/auto usr/share/nginx-ndk/src/ -debian/build-ndksrc/src usr/share/nginx-ndk/src/ -debian/build-ndksrc/objs usr/share/nginx-ndk/src/ -debian/build-ndksrc/config usr/share/nginx-ndk/src/ -debian/build-ndksrc/ngx_auto_lib_core usr/share/nginx-ndk/src/ \ No newline at end of file diff --git a/debian/libnginx-mod-http-ndk.nginx b/debian/libnginx-mod-http-ndk.nginx deleted file mode 100644 index 562723b..0000000 --- a/debian/libnginx-mod-http-ndk.nginx +++ /dev/null @@ -1,2 +0,0 @@ -mod debian/build-extras/objs/ndk_http_module.so -mod debian/libnginx-mod.conf/mod-http-ndk.conf 10 diff --git a/debian/libnginx-mod-nchan.nginx b/debian/libnginx-mod-nchan.nginx deleted file mode 100755 index 78c206f..0000000 --- a/debian/libnginx-mod-nchan.nginx +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/perl -w - -use File::Basename; - -# Guess module name -$module = basename($0, '.nginx'); -$module =~ s/^libnginx-mod-//; - -$modulepath = $module; -$modulepath =~ s/-/_/g; - -print "mod debian/build-extras/objs/ngx_${modulepath}_module.so\n"; -print "mod debian/libnginx-mod.conf/mod-${module}.conf\n"; diff --git a/debian/libnginx-mod-rtmp.docs b/debian/libnginx-mod-rtmp.docs deleted file mode 100644 index e5c5c00..0000000 --- a/debian/libnginx-mod-rtmp.docs +++ /dev/null @@ -1 +0,0 @@ -debian/modules/rtmp/README.md diff --git a/debian/libnginx-mod-rtmp.examples b/debian/libnginx-mod-rtmp.examples deleted file mode 100644 index 563f038..0000000 --- a/debian/libnginx-mod-rtmp.examples +++ /dev/null @@ -1 +0,0 @@ -debian/modules/rtmp/stat.xsl diff --git a/debian/libnginx-mod-rtmp.nginx b/debian/libnginx-mod-rtmp.nginx deleted file mode 100755 index 78c206f..0000000 --- a/debian/libnginx-mod-rtmp.nginx +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/perl -w - -use File::Basename; - -# Guess module name -$module = basename($0, '.nginx'); -$module =~ s/^libnginx-mod-//; - -$modulepath = $module; -$modulepath =~ s/-/_/g; - -print "mod debian/build-extras/objs/ngx_${modulepath}_module.so\n"; -print "mod debian/libnginx-mod.conf/mod-${module}.conf\n"; diff --git a/debian/libnginx-mod.conf/mod-http-lua.conf b/debian/libnginx-mod.conf/mod-http-lua.conf deleted file mode 100644 index f6311f4..0000000 --- a/debian/libnginx-mod.conf/mod-http-lua.conf +++ /dev/null @@ -1 +0,0 @@ -load_module modules/ngx_http_lua_module.so; diff --git a/debian/libnginx-mod.conf/mod-http-ndk.conf b/debian/libnginx-mod.conf/mod-http-ndk.conf deleted file mode 100644 index 3908af6..0000000 --- a/debian/libnginx-mod.conf/mod-http-ndk.conf +++ /dev/null @@ -1 +0,0 @@ -load_module modules/ndk_http_module.so; diff --git a/debian/libnginx-mod.conf/mod-nchan.conf b/debian/libnginx-mod.conf/mod-nchan.conf deleted file mode 100644 index 0a524e5..0000000 --- a/debian/libnginx-mod.conf/mod-nchan.conf +++ /dev/null @@ -1 +0,0 @@ -load_module modules/ngx_nchan_module.so; diff --git a/debian/libnginx-mod.conf/mod-rtmp.conf b/debian/libnginx-mod.conf/mod-rtmp.conf deleted file mode 100644 index 4e87e6e..0000000 --- a/debian/libnginx-mod.conf/mod-rtmp.conf +++ /dev/null @@ -1 +0,0 @@ -load_module modules/ngx_rtmp_module.so; diff --git a/debian/rules b/debian/rules index f2fd124..5369e83 100755 --- a/debian/rules +++ b/debian/rules @@ -16,22 +16,19 @@ DYN_MODS := \ http-geoip2 \ http-headers-more-filter \ http-image-filter \ - http-ndk \ http-perl \ http-subs-filter \ http-uploadprogress \ http-upstream-fair \ http-xslt-filter \ mail \ - nchan \ - rtmp \ stream \ stream-geoip \ stream-geoip2 MODULESDIR = $(CURDIR)/debian/modules BASEDIR = $(CURDIR) -$(foreach flavour,$(FLAVOURS) src ndksrc,$(eval BUILDDIR_$(flavour) = $(CURDIR)/debian/build-$(flavour))) +$(foreach flavour,$(FLAVOURS) src ,$(eval BUILDDIR_$(flavour) = $(CURDIR)/debian/build-$(flavour))) DEB_BUILD_ARCH ?=$(shell dpkg-architecture -qDEB_BUILD_ARCH) ifeq ($(DEB_BUILD_ARCH),sparc) @@ -120,12 +117,9 @@ extras_configure_flags := \ --add-dynamic-module=$(MODULESDIR)/http-auth-pam \ --add-dynamic-module=$(MODULESDIR)/http-cache-purge \ --add-dynamic-module=$(MODULESDIR)/http-dav-ext \ - --add-dynamic-module=$(MODULESDIR)/http-ndk \ --add-dynamic-module=$(MODULESDIR)/http-echo \ --add-dynamic-module=$(MODULESDIR)/http-fancyindex \ --add-dynamic-module=$(MODULESDIR)/http-geoip2 \ - --add-dynamic-module=$(MODULESDIR)/nchan \ - --add-dynamic-module=$(MODULESDIR)/rtmp \ --add-dynamic-module=$(MODULESDIR)/http-uploadprogress \ --add-dynamic-module=$(MODULESDIR)/http-upstream-fair \ --add-dynamic-module=$(MODULESDIR)/http-subs-filter @@ -133,10 +127,10 @@ extras_configure_flags := \ %: dh $@ --without autoreconf -override_dh_auto_configure: config_patch_modules $(foreach flavour,$(FLAVOURS),config.arch.$(flavour)) config.src config.ndksrc -override_dh_auto_build: $(foreach flavour,$(FLAVOURS),build.arch.$(flavour)) build.src build.ndksrc +override_dh_auto_configure: config_patch_modules $(foreach flavour,$(FLAVOURS),config.arch.$(flavour)) config.src +override_dh_auto_build: $(foreach flavour,$(FLAVOURS),build.arch.$(flavour)) build.src override_dh_strip: $(foreach flavour,$(FLAVOURS),strip.arch.$(flavour)) $(foreach mod,$(DYN_MODS),strip.mods.$(mod)) -override_dh_clean: clean_patch_modules $(foreach flavour,$(FLAVOURS),clean.$(flavour)) clean.src clean.ndksrc +override_dh_clean: clean_patch_modules $(foreach flavour,$(FLAVOURS),clean.$(flavour)) clean.src dh_clean override_dh_install: @@ -163,16 +157,6 @@ build.src: echo "NGX_CONF_FLAGS=(" $(basic_configure_flags) ")" > $(BUILDDIR_src)/conf_flags pod2man debian/debhelper/dh_nginx > $(BUILDDIR_src)/dh_nginx.1 -build.ndksrc: - cp -Pa $(CURDIR)/debian/modules/http-ndk/auto \ - $(CURDIR)/debian/modules/http-ndk/config \ - $(CURDIR)/debian/modules/http-ndk/ngx_auto_lib_core $(BUILDDIR_ndksrc)/ - for i in src objs; do \ - find $(CURDIR)/debian/modules/http-ndk/$$i -type f -name '*.h' -printf "$$i/%P\0" | \ - tar -C $(CURDIR)/debian/modules/http-ndk --null --files-from - -c | tar -C $(BUILDDIR_ndksrc)/ -x; \ - done - chmod +x $(CURDIR)/debian/build-ndksrc/auto/build - strip.arch.%: dh_strip --package=nginx-$(*) -O--dbgsym-migration='nginx-$(*)-dbg (<< 1.10.1-3~)' @@ -200,25 +184,11 @@ config.arch.%: cp -Pa $(CURDIR)/src $(BUILDDIR_$*)/ cp -Pa $(CURDIR)/man $(BUILDDIR_$*)/ cd $(BUILDDIR_$*) && ./configure $($*_configure_flags) - if [ "$(BUILDDIR_$*)" = "$(BUILDDIR_extras)" ]; then \ - for have in NDK_SET_VAR NDK_UPSTREAM_LIST; do \ - ( \ - echo "#ifndef $$have"; \ - echo "#define $$have 1"; \ - echo "#endif"; \ - echo; \ - ) >> $(BUILDDIR_$*)/objs/ngx_auto_config.h; \ - done \ - fi config.src: dh_testdir mkdir -p $(BUILDDIR_src) -config.ndksrc: - dh_testdir - mkdir -p $(BUILDDIR_ndksrc) - clean.%: rm -rf $(BUILDDIR_$*) From 075c5d85db87e83a024ab6fba5bfd0c6566c6252 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Moj=C5=BE=C3=AD=C5=A1?= Date: Thu, 8 Dec 2022 13:03:18 +0100 Subject: [PATCH 018/163] d/control fix whitespace --- debian/control | 1 - 1 file changed, 1 deletion(-) diff --git a/debian/control b/debian/control index 8229516..7415b24 100644 --- a/debian/control +++ b/debian/control @@ -453,4 +453,3 @@ Description: WebDAV missing commands support for Nginx WebDAV support. . WebDAV Ext provides the missing PROPFIND & OPTIONS methods. - From 4fa26185022dc12c9db3478c76e2846759eb4f9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Moj=C5=BE=C3=AD=C5=A1?= Date: Thu, 8 Dec 2022 13:39:15 +0100 Subject: [PATCH 019/163] remove modules ndk,nchan,rtmp --- debian/modules/control | 22 - debian/modules/http-ndk/LICENSE | 13 - debian/modules/http-ndk/README.md | 254 - debian/modules/http-ndk/README_AUTO_LIB.md | 394 -- debian/modules/http-ndk/auto/actions/array | 10 - debian/modules/http-ndk/auto/actions/palloc | 8 - debian/modules/http-ndk/auto/build | 597 -- .../http-ndk/auto/data/action_replacements | 5 - .../modules/http-ndk/auto/data/action_types | 12 - debian/modules/http-ndk/auto/data/conf_args | 22 - debian/modules/http-ndk/auto/data/conf_locs | 25 - debian/modules/http-ndk/auto/data/conf_macros | 35 - debian/modules/http-ndk/auto/data/contexts | 22 - .../modules/http-ndk/auto/data/header_files | 3 - debian/modules/http-ndk/auto/data/headers | 4 - .../http-ndk/auto/data/module_dependencies | 5 - .../http-ndk/auto/data/modules_optional | 15 - debian/modules/http-ndk/auto/data/prefixes | 2 - debian/modules/http-ndk/auto/src/array.h | 7 - .../http-ndk/auto/src/conf_cmd_basic.h | 43 - debian/modules/http-ndk/auto/src/conf_merge.h | 78 - debian/modules/http-ndk/auto/src/palloc.h | 6 - debian/modules/http-ndk/auto/text/autogen | 12 - debian/modules/http-ndk/config | 65 - .../modules/http-ndk/docs/core/action_macros | 63 - debian/modules/http-ndk/docs/core/conf_cmds | 62 - debian/modules/http-ndk/docs/modules/set_var | 124 - .../http-ndk/docs/patches/more_logging_info | 48 - debian/modules/http-ndk/docs/upstream/list | 45 - debian/modules/http-ndk/examples/README | 12 - .../http-ndk/examples/http/set_var/config | 4 - .../ngx_http_set_var_examples_module.c | 136 - debian/modules/http-ndk/ngx_auto_lib_core | 797 --- debian/modules/http-ndk/notes/CHANGES | 17 - debian/modules/http-ndk/notes/LICENSE | 24 - debian/modules/http-ndk/objs/ndk_array.h | 113 - .../http-ndk/objs/ndk_conf_cmd_basic.h | 2203 ------- .../http-ndk/objs/ndk_conf_cmd_extra.h | 5423 ----------------- debian/modules/http-ndk/objs/ndk_conf_merge.h | 227 - debian/modules/http-ndk/objs/ndk_config.c | 72 - debian/modules/http-ndk/objs/ndk_config.h | 98 - debian/modules/http-ndk/objs/ndk_includes.h | 66 - debian/modules/http-ndk/objs/ndk_palloc.h | 112 - debian/modules/http-ndk/patches/auto_config | 16 - .../http-ndk/patches/expose_rewrite_functions | 291 - .../http-ndk/patches/rewrite_phase_handler | 19 - debian/modules/http-ndk/src/hash/md5.h | 117 - .../modules/http-ndk/src/hash/murmurhash2.c | 77 - debian/modules/http-ndk/src/hash/sha.h | 200 - debian/modules/http-ndk/src/ndk.c | 155 - debian/modules/http-ndk/src/ndk.h | 58 - debian/modules/http-ndk/src/ndk_buf.c | 43 - debian/modules/http-ndk/src/ndk_buf.h | 5 - .../modules/http-ndk/src/ndk_complex_path.c | 129 - .../modules/http-ndk/src/ndk_complex_path.h | 30 - .../modules/http-ndk/src/ndk_complex_value.c | 192 - .../modules/http-ndk/src/ndk_complex_value.h | 21 - debian/modules/http-ndk/src/ndk_conf_file.c | 396 -- debian/modules/http-ndk/src/ndk_conf_file.h | 44 - debian/modules/http-ndk/src/ndk_debug.c | 72 - debian/modules/http-ndk/src/ndk_debug.h | 171 - debian/modules/http-ndk/src/ndk_encoding.c | 57 - debian/modules/http-ndk/src/ndk_encoding.h | 12 - debian/modules/http-ndk/src/ndk_hash.c | 82 - debian/modules/http-ndk/src/ndk_hash.h | 45 - debian/modules/http-ndk/src/ndk_http.c | 138 - debian/modules/http-ndk/src/ndk_http.h | 3 - .../modules/http-ndk/src/ndk_http_headers.h | 35 - debian/modules/http-ndk/src/ndk_log.c | 3 - debian/modules/http-ndk/src/ndk_log.h | 165 - debian/modules/http-ndk/src/ndk_parse.h | 67 - debian/modules/http-ndk/src/ndk_path.c | 583 -- debian/modules/http-ndk/src/ndk_path.h | 22 - debian/modules/http-ndk/src/ndk_process.c | 20 - debian/modules/http-ndk/src/ndk_process.h | 12 - debian/modules/http-ndk/src/ndk_regex.c | 215 - debian/modules/http-ndk/src/ndk_regex.h | 7 - debian/modules/http-ndk/src/ndk_rewrite.c | 103 - debian/modules/http-ndk/src/ndk_rewrite.h | 26 - debian/modules/http-ndk/src/ndk_set_var.c | 602 -- debian/modules/http-ndk/src/ndk_set_var.h | 44 - debian/modules/http-ndk/src/ndk_string.c | 434 -- debian/modules/http-ndk/src/ndk_string.h | 37 - debian/modules/http-ndk/src/ndk_string_util.h | 14 - .../modules/http-ndk/src/ndk_upstream_list.c | 205 - .../modules/http-ndk/src/ndk_upstream_list.h | 27 - debian/modules/http-ndk/src/ndk_uri.c | 45 - debian/modules/http-ndk/src/ndk_uri.h | 6 - debian/modules/nchan/LICENCE | 24 - debian/modules/nchan/README.md | 1552 ----- debian/modules/nchan/changelog.txt | 541 -- debian/modules/nchan/cloc-exclude.txt | 16 - debian/modules/nchan/config | 166 - debian/modules/nchan/src/nchan_commands.rb | 933 --- .../modules/nchan/src/nchan_config_commands.c | 1302 ---- debian/modules/nchan/src/nchan_defs.c | 98 - debian/modules/nchan/src/nchan_defs.h | 117 - debian/modules/nchan/src/nchan_module.c | 1265 ---- debian/modules/nchan/src/nchan_module.h | 70 - debian/modules/nchan/src/nchan_setup.c | 1615 ----- debian/modules/nchan/src/nchan_types.h | 532 -- debian/modules/nchan/src/nchan_variables.c | 281 - debian/modules/nchan/src/nchan_variables.h | 1 - debian/modules/nchan/src/nchan_version.h | 1 - .../nchan/src/nchan_websocket_publisher.c | 81 - .../nchan/src/nchan_websocket_publisher.h | 2 - .../modules/nchan/src/store/memory/groups.c | 570 -- .../modules/nchan/src/store/memory/groups.h | 55 - .../nchan/src/store/memory/ipc-handlers.c | 1158 ---- .../nchan/src/store/memory/ipc-handlers.h | 26 - debian/modules/nchan/src/store/memory/ipc.c | 553 -- debian/modules/nchan/src/store/memory/ipc.h | 64 - .../modules/nchan/src/store/memory/memstore.c | 3544 ----------- .../modules/nchan/src/store/memory/recycloc.c | 47 - .../nchan/src/store/memory/store-private.h | 179 - debian/modules/nchan/src/store/memory/store.h | 13 - debian/modules/nchan/src/store/ngx_rwlock.c | 178 - debian/modules/nchan/src/store/ngx_rwlock.h | 5 - debian/modules/nchan/src/store/redis/cmp.c | 3352 ---------- debian/modules/nchan/src/store/redis/cmp.h | 526 -- .../nchan/src/store/redis/hiredis/.travis.yml | 131 - .../src/store/redis/hiredis/CHANGELOG.md | 364 -- .../nchan/src/store/redis/hiredis/COPYING | 29 - .../nchan/src/store/redis/hiredis/Makefile | 308 - .../nchan/src/store/redis/hiredis/README.md | 664 -- .../nchan/src/store/redis/hiredis/alloc.c | 86 - .../nchan/src/store/redis/hiredis/alloc.h | 91 - .../nchan/src/store/redis/hiredis/async.c | 887 --- .../nchan/src/store/redis/hiredis/async.h | 147 - .../src/store/redis/hiredis/async_private.h | 75 - .../nchan/src/store/redis/hiredis/dict.c | 357 -- .../nchan/src/store/redis/hiredis/dict.h | 126 - .../nchan/src/store/redis/hiredis/fmacros.h | 12 - .../nchan/src/store/redis/hiredis/hiredis.c | 1174 ---- .../nchan/src/store/redis/hiredis/hiredis.h | 339 -- .../src/store/redis/hiredis/hiredis_ssl.h | 127 - .../nchan/src/store/redis/hiredis/net.c | 615 -- .../nchan/src/store/redis/hiredis/net.h | 56 - .../nchan/src/store/redis/hiredis/read.c | 739 --- .../nchan/src/store/redis/hiredis/read.h | 129 - .../nchan/src/store/redis/hiredis/sds.c | 1294 ---- .../nchan/src/store/redis/hiredis/sds.h | 278 - .../nchan/src/store/redis/hiredis/sdsalloc.h | 44 - .../src/store/redis/hiredis/sockcompat.c | 248 - .../src/store/redis/hiredis/sockcompat.h | 92 - .../nchan/src/store/redis/hiredis/ssl.c | 526 -- .../nchan/src/store/redis/hiredis/test.c | 1387 ----- .../nchan/src/store/redis/hiredis/win32.h | 56 - .../modules/nchan/src/store/redis/rdsstore.c | 2648 -------- .../src/store/redis/redis-lua-scripts/Gemfile | 11 - .../redis/redis-lua-scripts/add_fakesub.lua | 34 - .../redis-lua-scripts/channel_keepalive.lua | 35 - .../store/redis/redis-lua-scripts/delete.lua | 68 - .../redis/redis-lua-scripts/find_channel.lua | 70 - .../redis/redis-lua-scripts/get_message.lua | 155 - .../get_message_from_key.lua | 8 - .../get_subscriber_info_id.lua | 18 - .../store/redis/redis-lua-scripts/publish.lua | 287 - .../redis-lua-scripts/publish_status.lua | 26 - .../request_subscriber_info.lua | 15 - .../store/redis/redis-lua-scripts/rsck.lua | 216 - .../redis-lua-scripts/subscriber_register.lua | 62 - .../subscriber_unregister.lua | 49 - .../redis/redis-lua-scripts/testscripts.rb | 269 - .../src/store/redis/redis_lua_commands.c | 1073 ---- .../src/store/redis/redis_lua_commands.h | 80 - .../src/store/redis/redis_nginx_adapter.c | 165 - .../src/store/redis/redis_nginx_adapter.h | 22 - .../nchan/src/store/redis/redis_nodeset.c | 2678 -------- .../nchan/src/store/redis/redis_nodeset.h | 305 - .../src/store/redis/redis_nodeset_parser.c | 241 - .../src/store/redis/redis_nodeset_parser.h | 40 - .../redis/scripts/get_unique_request_id.lua | 1 - .../nchan/src/store/redis/store-private.h | 111 - debian/modules/nchan/src/store/redis/store.h | 22 - debian/modules/nchan/src/store/spool.c | 1302 ---- debian/modules/nchan/src/store/spool.h | 117 - debian/modules/nchan/src/store/store_common.c | 7 - debian/modules/nchan/src/store/store_common.h | 12 - .../modules/nchan/src/subscribers/benchmark.c | 72 - .../modules/nchan/src/subscribers/benchmark.h | 3 - debian/modules/nchan/src/subscribers/common.c | 456 -- debian/modules/nchan/src/subscribers/common.h | 27 - .../nchan/src/subscribers/eventsource.c | 413 -- .../nchan/src/subscribers/eventsource.h | 4 - .../nchan/src/subscribers/getmsg_proxy.c | 106 - .../nchan/src/subscribers/getmsg_proxy.h | 1 - .../nchan/src/subscribers/http-chunked.c | 258 - .../nchan/src/subscribers/http-chunked.h | 4 - .../src/subscribers/http-multipart-mixed.c | 290 - .../src/subscribers/http-multipart-mixed.h | 3 - .../nchan/src/subscribers/http-raw-stream.c | 156 - .../nchan/src/subscribers/http-raw-stream.h | 1 - .../modules/nchan/src/subscribers/internal.c | 298 - .../modules/nchan/src/subscribers/internal.h | 32 - .../nchan/src/subscribers/intervalpoll.c | 32 - .../nchan/src/subscribers/intervalpoll.h | 1 - .../nchan/src/subscribers/longpoll-private.h | 38 - .../modules/nchan/src/subscribers/longpoll.c | 550 -- .../modules/nchan/src/subscribers/longpoll.h | 2 - .../nchan/src/subscribers/memstore_ipc.c | 197 - .../nchan/src/subscribers/memstore_ipc.h | 5 - .../nchan/src/subscribers/memstore_multi.c | 175 - .../nchan/src/subscribers/memstore_multi.h | 2 - .../nchan/src/subscribers/memstore_redis.c | 261 - .../nchan/src/subscribers/memstore_redis.h | 3 - .../modules/nchan/src/subscribers/websocket.c | 2066 ------- .../modules/nchan/src/subscribers/websocket.h | 5 - debian/modules/nchan/src/uthash.h | 1208 ---- debian/modules/nchan/src/util/hdr_histogram.c | 1015 --- debian/modules/nchan/src/util/hdr_histogram.h | 427 -- .../modules/nchan/src/util/nchan_benchmark.c | 804 --- .../modules/nchan/src/util/nchan_benchmark.h | 91 - .../nchan/src/util/nchan_bufchainpool.c | 237 - .../nchan/src/util/nchan_bufchainpool.h | 56 - .../modules/nchan/src/util/nchan_channel_id.c | 316 - .../modules/nchan/src/util/nchan_channel_id.h | 6 - debian/modules/nchan/src/util/nchan_debug.c | 81 - debian/modules/nchan/src/util/nchan_debug.h | 13 - .../nchan/src/util/nchan_fake_request.c | 524 -- .../nchan/src/util/nchan_fake_request.h | 58 - debian/modules/nchan/src/util/nchan_list.c | 172 - debian/modules/nchan/src/util/nchan_list.h | 52 - debian/modules/nchan/src/util/nchan_msg.c | 773 --- debian/modules/nchan/src/util/nchan_msg.h | 35 - debian/modules/nchan/src/util/nchan_output.c | 670 -- debian/modules/nchan/src/util/nchan_output.h | 30 - .../nchan/src/util/nchan_output_info.c | 284 - .../nchan/src/util/nchan_output_info.h | 6 - debian/modules/nchan/src/util/nchan_rbtree.c | 379 -- debian/modules/nchan/src/util/nchan_rbtree.h | 64 - debian/modules/nchan/src/util/nchan_reaper.c | 320 - debian/modules/nchan/src/util/nchan_reaper.h | 33 - .../nchan/src/util/nchan_reuse_queue.c | 151 - .../nchan/src/util/nchan_reuse_queue.h | 24 - debian/modules/nchan/src/util/nchan_slist.c | 164 - debian/modules/nchan/src/util/nchan_slist.h | 41 - .../modules/nchan/src/util/nchan_subrequest.c | 324 - .../modules/nchan/src/util/nchan_subrequest.h | 6 - .../modules/nchan/src/util/nchan_thingcache.c | 208 - .../modules/nchan/src/util/nchan_thingcache.h | 4 - debian/modules/nchan/src/util/nchan_util.c | 1273 ---- debian/modules/nchan/src/util/nchan_util.h | 80 - .../nchan/src/util/ngx_nchan_hacked_slab.c | 770 --- .../nchan/src/util/ngx_nchan_hacked_slab.h | 26 - debian/modules/nchan/src/util/shmem.c | 223 - debian/modules/nchan/src/util/shmem.h | 33 - debian/modules/rtmp/AUTHORS | 8 - debian/modules/rtmp/LICENSE | 22 - debian/modules/rtmp/README.md | 332 - debian/modules/rtmp/config | 133 - .../modules/rtmp/dash/ngx_rtmp_dash_module.c | 1531 ----- debian/modules/rtmp/dash/ngx_rtmp_mp4.c | 1167 ---- debian/modules/rtmp/dash/ngx_rtmp_mp4.h | 52 - debian/modules/rtmp/doc/README.md | 2 - debian/modules/rtmp/hls/ngx_rtmp_hls_module.c | 2459 -------- debian/modules/rtmp/hls/ngx_rtmp_mpegts.c | 399 -- debian/modules/rtmp/hls/ngx_rtmp_mpegts.h | 46 - debian/modules/rtmp/ngx_rtmp.c | 861 --- debian/modules/rtmp/ngx_rtmp.h | 624 -- debian/modules/rtmp/ngx_rtmp_access_module.c | 471 -- debian/modules/rtmp/ngx_rtmp_amf.c | 648 -- debian/modules/rtmp/ngx_rtmp_amf.h | 71 - .../modules/rtmp/ngx_rtmp_auto_push_module.c | 578 -- debian/modules/rtmp/ngx_rtmp_bandwidth.c | 26 - debian/modules/rtmp/ngx_rtmp_bandwidth.h | 31 - debian/modules/rtmp/ngx_rtmp_bitop.c | 63 - debian/modules/rtmp/ngx_rtmp_bitop.h | 46 - debian/modules/rtmp/ngx_rtmp_cmd_module.c | 856 --- debian/modules/rtmp/ngx_rtmp_cmd_module.h | 151 - debian/modules/rtmp/ngx_rtmp_codec_module.c | 956 --- debian/modules/rtmp/ngx_rtmp_codec_module.h | 87 - debian/modules/rtmp/ngx_rtmp_control_module.c | 732 --- debian/modules/rtmp/ngx_rtmp_core_module.c | 755 --- debian/modules/rtmp/ngx_rtmp_eval.c | 285 - debian/modules/rtmp/ngx_rtmp_eval.h | 44 - debian/modules/rtmp/ngx_rtmp_exec_module.c | 1604 ----- debian/modules/rtmp/ngx_rtmp_flv_module.c | 675 -- debian/modules/rtmp/ngx_rtmp_handler.c | 903 --- debian/modules/rtmp/ngx_rtmp_handshake.c | 631 -- debian/modules/rtmp/ngx_rtmp_init.c | 331 - debian/modules/rtmp/ngx_rtmp_limit_module.c | 205 - debian/modules/rtmp/ngx_rtmp_live_module.c | 1153 ---- debian/modules/rtmp/ngx_rtmp_live_module.h | 83 - debian/modules/rtmp/ngx_rtmp_log_module.c | 1016 --- debian/modules/rtmp/ngx_rtmp_mp4_module.c | 2591 -------- debian/modules/rtmp/ngx_rtmp_netcall_module.c | 725 --- debian/modules/rtmp/ngx_rtmp_netcall_module.h | 67 - debian/modules/rtmp/ngx_rtmp_notify_module.c | 1730 ------ debian/modules/rtmp/ngx_rtmp_play_module.c | 1278 ---- debian/modules/rtmp/ngx_rtmp_play_module.h | 93 - debian/modules/rtmp/ngx_rtmp_proxy_protocol.c | 197 - debian/modules/rtmp/ngx_rtmp_proxy_protocol.h | 19 - debian/modules/rtmp/ngx_rtmp_receive.c | 464 -- debian/modules/rtmp/ngx_rtmp_record_module.c | 1307 ---- debian/modules/rtmp/ngx_rtmp_record_module.h | 96 - debian/modules/rtmp/ngx_rtmp_relay_module.c | 1690 ----- debian/modules/rtmp/ngx_rtmp_relay_module.h | 72 - debian/modules/rtmp/ngx_rtmp_send.c | 635 -- debian/modules/rtmp/ngx_rtmp_shared.c | 126 - debian/modules/rtmp/ngx_rtmp_stat_module.c | 863 --- debian/modules/rtmp/ngx_rtmp_streams.h | 19 - debian/modules/rtmp/ngx_rtmp_version.h | 15 - debian/modules/rtmp/stat.xsl | 355 -- debian/modules/watch/http-ndk | 4 - debian/modules/watch/nchan | 4 - debian/modules/watch/rtmp | 4 - 307 files changed, 104578 deletions(-) delete mode 100644 debian/modules/http-ndk/LICENSE delete mode 100644 debian/modules/http-ndk/README.md delete mode 100644 debian/modules/http-ndk/README_AUTO_LIB.md delete mode 100644 debian/modules/http-ndk/auto/actions/array delete mode 100644 debian/modules/http-ndk/auto/actions/palloc delete mode 100644 debian/modules/http-ndk/auto/build delete mode 100644 debian/modules/http-ndk/auto/data/action_replacements delete mode 100644 debian/modules/http-ndk/auto/data/action_types delete mode 100644 debian/modules/http-ndk/auto/data/conf_args delete mode 100644 debian/modules/http-ndk/auto/data/conf_locs delete mode 100644 debian/modules/http-ndk/auto/data/conf_macros delete mode 100644 debian/modules/http-ndk/auto/data/contexts delete mode 100644 debian/modules/http-ndk/auto/data/header_files delete mode 100644 debian/modules/http-ndk/auto/data/headers delete mode 100644 debian/modules/http-ndk/auto/data/module_dependencies delete mode 100644 debian/modules/http-ndk/auto/data/modules_optional delete mode 100644 debian/modules/http-ndk/auto/data/prefixes delete mode 100644 debian/modules/http-ndk/auto/src/array.h delete mode 100644 debian/modules/http-ndk/auto/src/conf_cmd_basic.h delete mode 100644 debian/modules/http-ndk/auto/src/conf_merge.h delete mode 100644 debian/modules/http-ndk/auto/src/palloc.h delete mode 100644 debian/modules/http-ndk/auto/text/autogen delete mode 100644 debian/modules/http-ndk/config delete mode 100644 debian/modules/http-ndk/docs/core/action_macros delete mode 100644 debian/modules/http-ndk/docs/core/conf_cmds delete mode 100644 debian/modules/http-ndk/docs/modules/set_var delete mode 100644 debian/modules/http-ndk/docs/patches/more_logging_info delete mode 100644 debian/modules/http-ndk/docs/upstream/list delete mode 100644 debian/modules/http-ndk/examples/README delete mode 100644 debian/modules/http-ndk/examples/http/set_var/config delete mode 100644 debian/modules/http-ndk/examples/http/set_var/ngx_http_set_var_examples_module.c delete mode 100644 debian/modules/http-ndk/ngx_auto_lib_core delete mode 100644 debian/modules/http-ndk/notes/CHANGES delete mode 100644 debian/modules/http-ndk/notes/LICENSE delete mode 100644 debian/modules/http-ndk/objs/ndk_array.h delete mode 100644 debian/modules/http-ndk/objs/ndk_conf_cmd_basic.h delete mode 100644 debian/modules/http-ndk/objs/ndk_conf_cmd_extra.h delete mode 100644 debian/modules/http-ndk/objs/ndk_conf_merge.h delete mode 100644 debian/modules/http-ndk/objs/ndk_config.c delete mode 100644 debian/modules/http-ndk/objs/ndk_config.h delete mode 100644 debian/modules/http-ndk/objs/ndk_includes.h delete mode 100644 debian/modules/http-ndk/objs/ndk_palloc.h delete mode 100644 debian/modules/http-ndk/patches/auto_config delete mode 100644 debian/modules/http-ndk/patches/expose_rewrite_functions delete mode 100644 debian/modules/http-ndk/patches/rewrite_phase_handler delete mode 100644 debian/modules/http-ndk/src/hash/md5.h delete mode 100644 debian/modules/http-ndk/src/hash/murmurhash2.c delete mode 100644 debian/modules/http-ndk/src/hash/sha.h delete mode 100644 debian/modules/http-ndk/src/ndk.c delete mode 100644 debian/modules/http-ndk/src/ndk.h delete mode 100644 debian/modules/http-ndk/src/ndk_buf.c delete mode 100644 debian/modules/http-ndk/src/ndk_buf.h delete mode 100644 debian/modules/http-ndk/src/ndk_complex_path.c delete mode 100644 debian/modules/http-ndk/src/ndk_complex_path.h delete mode 100644 debian/modules/http-ndk/src/ndk_complex_value.c delete mode 100644 debian/modules/http-ndk/src/ndk_complex_value.h delete mode 100644 debian/modules/http-ndk/src/ndk_conf_file.c delete mode 100644 debian/modules/http-ndk/src/ndk_conf_file.h delete mode 100644 debian/modules/http-ndk/src/ndk_debug.c delete mode 100644 debian/modules/http-ndk/src/ndk_debug.h delete mode 100644 debian/modules/http-ndk/src/ndk_encoding.c delete mode 100644 debian/modules/http-ndk/src/ndk_encoding.h delete mode 100644 debian/modules/http-ndk/src/ndk_hash.c delete mode 100644 debian/modules/http-ndk/src/ndk_hash.h delete mode 100644 debian/modules/http-ndk/src/ndk_http.c delete mode 100644 debian/modules/http-ndk/src/ndk_http.h delete mode 100644 debian/modules/http-ndk/src/ndk_http_headers.h delete mode 100644 debian/modules/http-ndk/src/ndk_log.c delete mode 100644 debian/modules/http-ndk/src/ndk_log.h delete mode 100644 debian/modules/http-ndk/src/ndk_parse.h delete mode 100644 debian/modules/http-ndk/src/ndk_path.c delete mode 100644 debian/modules/http-ndk/src/ndk_path.h delete mode 100644 debian/modules/http-ndk/src/ndk_process.c delete mode 100644 debian/modules/http-ndk/src/ndk_process.h delete mode 100644 debian/modules/http-ndk/src/ndk_regex.c delete mode 100644 debian/modules/http-ndk/src/ndk_regex.h delete mode 100644 debian/modules/http-ndk/src/ndk_rewrite.c delete mode 100644 debian/modules/http-ndk/src/ndk_rewrite.h delete mode 100644 debian/modules/http-ndk/src/ndk_set_var.c delete mode 100644 debian/modules/http-ndk/src/ndk_set_var.h delete mode 100644 debian/modules/http-ndk/src/ndk_string.c delete mode 100644 debian/modules/http-ndk/src/ndk_string.h delete mode 100644 debian/modules/http-ndk/src/ndk_string_util.h delete mode 100644 debian/modules/http-ndk/src/ndk_upstream_list.c delete mode 100644 debian/modules/http-ndk/src/ndk_upstream_list.h delete mode 100644 debian/modules/http-ndk/src/ndk_uri.c delete mode 100644 debian/modules/http-ndk/src/ndk_uri.h delete mode 100644 debian/modules/nchan/LICENCE delete mode 100644 debian/modules/nchan/README.md delete mode 100644 debian/modules/nchan/changelog.txt delete mode 100644 debian/modules/nchan/cloc-exclude.txt delete mode 100644 debian/modules/nchan/config delete mode 100644 debian/modules/nchan/src/nchan_commands.rb delete mode 100644 debian/modules/nchan/src/nchan_config_commands.c delete mode 100644 debian/modules/nchan/src/nchan_defs.c delete mode 100644 debian/modules/nchan/src/nchan_defs.h delete mode 100644 debian/modules/nchan/src/nchan_module.c delete mode 100644 debian/modules/nchan/src/nchan_module.h delete mode 100644 debian/modules/nchan/src/nchan_setup.c delete mode 100644 debian/modules/nchan/src/nchan_types.h delete mode 100644 debian/modules/nchan/src/nchan_variables.c delete mode 100644 debian/modules/nchan/src/nchan_variables.h delete mode 100644 debian/modules/nchan/src/nchan_version.h delete mode 100644 debian/modules/nchan/src/nchan_websocket_publisher.c delete mode 100644 debian/modules/nchan/src/nchan_websocket_publisher.h delete mode 100644 debian/modules/nchan/src/store/memory/groups.c delete mode 100644 debian/modules/nchan/src/store/memory/groups.h delete mode 100644 debian/modules/nchan/src/store/memory/ipc-handlers.c delete mode 100644 debian/modules/nchan/src/store/memory/ipc-handlers.h delete mode 100755 debian/modules/nchan/src/store/memory/ipc.c delete mode 100755 debian/modules/nchan/src/store/memory/ipc.h delete mode 100755 debian/modules/nchan/src/store/memory/memstore.c delete mode 100644 debian/modules/nchan/src/store/memory/recycloc.c delete mode 100644 debian/modules/nchan/src/store/memory/store-private.h delete mode 100644 debian/modules/nchan/src/store/memory/store.h delete mode 100644 debian/modules/nchan/src/store/ngx_rwlock.c delete mode 100644 debian/modules/nchan/src/store/ngx_rwlock.h delete mode 100644 debian/modules/nchan/src/store/redis/cmp.c delete mode 100644 debian/modules/nchan/src/store/redis/cmp.h delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/.travis.yml delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/CHANGELOG.md delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/COPYING delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/Makefile delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/README.md delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/alloc.c delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/alloc.h delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/async.c delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/async.h delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/async_private.h delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/dict.c delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/dict.h delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/fmacros.h delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/hiredis.c delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/hiredis.h delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/hiredis_ssl.h delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/net.c delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/net.h delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/read.c delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/read.h delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/sds.c delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/sds.h delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/sdsalloc.h delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/sockcompat.c delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/sockcompat.h delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/ssl.c delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/test.c delete mode 100644 debian/modules/nchan/src/store/redis/hiredis/win32.h delete mode 100755 debian/modules/nchan/src/store/redis/rdsstore.c delete mode 100644 debian/modules/nchan/src/store/redis/redis-lua-scripts/Gemfile delete mode 100644 debian/modules/nchan/src/store/redis/redis-lua-scripts/add_fakesub.lua delete mode 100644 debian/modules/nchan/src/store/redis/redis-lua-scripts/channel_keepalive.lua delete mode 100644 debian/modules/nchan/src/store/redis/redis-lua-scripts/delete.lua delete mode 100644 debian/modules/nchan/src/store/redis/redis-lua-scripts/find_channel.lua delete mode 100644 debian/modules/nchan/src/store/redis/redis-lua-scripts/get_message.lua delete mode 100644 debian/modules/nchan/src/store/redis/redis-lua-scripts/get_message_from_key.lua delete mode 100644 debian/modules/nchan/src/store/redis/redis-lua-scripts/get_subscriber_info_id.lua delete mode 100644 debian/modules/nchan/src/store/redis/redis-lua-scripts/publish.lua delete mode 100644 debian/modules/nchan/src/store/redis/redis-lua-scripts/publish_status.lua delete mode 100644 debian/modules/nchan/src/store/redis/redis-lua-scripts/request_subscriber_info.lua delete mode 100644 debian/modules/nchan/src/store/redis/redis-lua-scripts/rsck.lua delete mode 100644 debian/modules/nchan/src/store/redis/redis-lua-scripts/subscriber_register.lua delete mode 100644 debian/modules/nchan/src/store/redis/redis-lua-scripts/subscriber_unregister.lua delete mode 100755 debian/modules/nchan/src/store/redis/redis-lua-scripts/testscripts.rb delete mode 100644 debian/modules/nchan/src/store/redis/redis_lua_commands.c delete mode 100644 debian/modules/nchan/src/store/redis/redis_lua_commands.h delete mode 100644 debian/modules/nchan/src/store/redis/redis_nginx_adapter.c delete mode 100644 debian/modules/nchan/src/store/redis/redis_nginx_adapter.h delete mode 100644 debian/modules/nchan/src/store/redis/redis_nodeset.c delete mode 100644 debian/modules/nchan/src/store/redis/redis_nodeset.h delete mode 100644 debian/modules/nchan/src/store/redis/redis_nodeset_parser.c delete mode 100644 debian/modules/nchan/src/store/redis/redis_nodeset_parser.h delete mode 100644 debian/modules/nchan/src/store/redis/scripts/get_unique_request_id.lua delete mode 100644 debian/modules/nchan/src/store/redis/store-private.h delete mode 100755 debian/modules/nchan/src/store/redis/store.h delete mode 100755 debian/modules/nchan/src/store/spool.c delete mode 100644 debian/modules/nchan/src/store/spool.h delete mode 100644 debian/modules/nchan/src/store/store_common.c delete mode 100644 debian/modules/nchan/src/store/store_common.h delete mode 100644 debian/modules/nchan/src/subscribers/benchmark.c delete mode 100644 debian/modules/nchan/src/subscribers/benchmark.h delete mode 100644 debian/modules/nchan/src/subscribers/common.c delete mode 100644 debian/modules/nchan/src/subscribers/common.h delete mode 100644 debian/modules/nchan/src/subscribers/eventsource.c delete mode 100644 debian/modules/nchan/src/subscribers/eventsource.h delete mode 100644 debian/modules/nchan/src/subscribers/getmsg_proxy.c delete mode 100644 debian/modules/nchan/src/subscribers/getmsg_proxy.h delete mode 100644 debian/modules/nchan/src/subscribers/http-chunked.c delete mode 100644 debian/modules/nchan/src/subscribers/http-chunked.h delete mode 100644 debian/modules/nchan/src/subscribers/http-multipart-mixed.c delete mode 100644 debian/modules/nchan/src/subscribers/http-multipart-mixed.h delete mode 100644 debian/modules/nchan/src/subscribers/http-raw-stream.c delete mode 100644 debian/modules/nchan/src/subscribers/http-raw-stream.h delete mode 100644 debian/modules/nchan/src/subscribers/internal.c delete mode 100644 debian/modules/nchan/src/subscribers/internal.h delete mode 100644 debian/modules/nchan/src/subscribers/intervalpoll.c delete mode 100644 debian/modules/nchan/src/subscribers/intervalpoll.h delete mode 100644 debian/modules/nchan/src/subscribers/longpoll-private.h delete mode 100644 debian/modules/nchan/src/subscribers/longpoll.c delete mode 100644 debian/modules/nchan/src/subscribers/longpoll.h delete mode 100644 debian/modules/nchan/src/subscribers/memstore_ipc.c delete mode 100644 debian/modules/nchan/src/subscribers/memstore_ipc.h delete mode 100644 debian/modules/nchan/src/subscribers/memstore_multi.c delete mode 100644 debian/modules/nchan/src/subscribers/memstore_multi.h delete mode 100644 debian/modules/nchan/src/subscribers/memstore_redis.c delete mode 100644 debian/modules/nchan/src/subscribers/memstore_redis.h delete mode 100644 debian/modules/nchan/src/subscribers/websocket.c delete mode 100644 debian/modules/nchan/src/subscribers/websocket.h delete mode 100644 debian/modules/nchan/src/uthash.h delete mode 100644 debian/modules/nchan/src/util/hdr_histogram.c delete mode 100644 debian/modules/nchan/src/util/hdr_histogram.h delete mode 100644 debian/modules/nchan/src/util/nchan_benchmark.c delete mode 100644 debian/modules/nchan/src/util/nchan_benchmark.h delete mode 100644 debian/modules/nchan/src/util/nchan_bufchainpool.c delete mode 100644 debian/modules/nchan/src/util/nchan_bufchainpool.h delete mode 100644 debian/modules/nchan/src/util/nchan_channel_id.c delete mode 100644 debian/modules/nchan/src/util/nchan_channel_id.h delete mode 100644 debian/modules/nchan/src/util/nchan_debug.c delete mode 100644 debian/modules/nchan/src/util/nchan_debug.h delete mode 100644 debian/modules/nchan/src/util/nchan_fake_request.c delete mode 100644 debian/modules/nchan/src/util/nchan_fake_request.h delete mode 100644 debian/modules/nchan/src/util/nchan_list.c delete mode 100644 debian/modules/nchan/src/util/nchan_list.h delete mode 100644 debian/modules/nchan/src/util/nchan_msg.c delete mode 100644 debian/modules/nchan/src/util/nchan_msg.h delete mode 100644 debian/modules/nchan/src/util/nchan_output.c delete mode 100644 debian/modules/nchan/src/util/nchan_output.h delete mode 100644 debian/modules/nchan/src/util/nchan_output_info.c delete mode 100644 debian/modules/nchan/src/util/nchan_output_info.h delete mode 100644 debian/modules/nchan/src/util/nchan_rbtree.c delete mode 100644 debian/modules/nchan/src/util/nchan_rbtree.h delete mode 100644 debian/modules/nchan/src/util/nchan_reaper.c delete mode 100644 debian/modules/nchan/src/util/nchan_reaper.h delete mode 100644 debian/modules/nchan/src/util/nchan_reuse_queue.c delete mode 100644 debian/modules/nchan/src/util/nchan_reuse_queue.h delete mode 100644 debian/modules/nchan/src/util/nchan_slist.c delete mode 100644 debian/modules/nchan/src/util/nchan_slist.h delete mode 100644 debian/modules/nchan/src/util/nchan_subrequest.c delete mode 100644 debian/modules/nchan/src/util/nchan_subrequest.h delete mode 100644 debian/modules/nchan/src/util/nchan_thingcache.c delete mode 100644 debian/modules/nchan/src/util/nchan_thingcache.h delete mode 100644 debian/modules/nchan/src/util/nchan_util.c delete mode 100644 debian/modules/nchan/src/util/nchan_util.h delete mode 100644 debian/modules/nchan/src/util/ngx_nchan_hacked_slab.c delete mode 100644 debian/modules/nchan/src/util/ngx_nchan_hacked_slab.h delete mode 100644 debian/modules/nchan/src/util/shmem.c delete mode 100644 debian/modules/nchan/src/util/shmem.h delete mode 100644 debian/modules/rtmp/AUTHORS delete mode 100644 debian/modules/rtmp/LICENSE delete mode 100644 debian/modules/rtmp/README.md delete mode 100644 debian/modules/rtmp/config delete mode 100644 debian/modules/rtmp/dash/ngx_rtmp_dash_module.c delete mode 100644 debian/modules/rtmp/dash/ngx_rtmp_mp4.c delete mode 100644 debian/modules/rtmp/dash/ngx_rtmp_mp4.h delete mode 100644 debian/modules/rtmp/doc/README.md delete mode 100644 debian/modules/rtmp/hls/ngx_rtmp_hls_module.c delete mode 100644 debian/modules/rtmp/hls/ngx_rtmp_mpegts.c delete mode 100644 debian/modules/rtmp/hls/ngx_rtmp_mpegts.h delete mode 100644 debian/modules/rtmp/ngx_rtmp.c delete mode 100644 debian/modules/rtmp/ngx_rtmp.h delete mode 100644 debian/modules/rtmp/ngx_rtmp_access_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_amf.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_amf.h delete mode 100644 debian/modules/rtmp/ngx_rtmp_auto_push_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_bandwidth.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_bandwidth.h delete mode 100644 debian/modules/rtmp/ngx_rtmp_bitop.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_bitop.h delete mode 100644 debian/modules/rtmp/ngx_rtmp_cmd_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_cmd_module.h delete mode 100644 debian/modules/rtmp/ngx_rtmp_codec_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_codec_module.h delete mode 100644 debian/modules/rtmp/ngx_rtmp_control_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_core_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_eval.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_eval.h delete mode 100644 debian/modules/rtmp/ngx_rtmp_exec_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_flv_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_handler.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_handshake.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_init.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_limit_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_live_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_live_module.h delete mode 100644 debian/modules/rtmp/ngx_rtmp_log_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_mp4_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_netcall_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_netcall_module.h delete mode 100644 debian/modules/rtmp/ngx_rtmp_notify_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_play_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_play_module.h delete mode 100644 debian/modules/rtmp/ngx_rtmp_proxy_protocol.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_proxy_protocol.h delete mode 100644 debian/modules/rtmp/ngx_rtmp_receive.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_record_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_record_module.h delete mode 100644 debian/modules/rtmp/ngx_rtmp_relay_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_relay_module.h delete mode 100644 debian/modules/rtmp/ngx_rtmp_send.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_shared.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_stat_module.c delete mode 100644 debian/modules/rtmp/ngx_rtmp_streams.h delete mode 100644 debian/modules/rtmp/ngx_rtmp_version.h delete mode 100644 debian/modules/rtmp/stat.xsl delete mode 100644 debian/modules/watch/http-ndk delete mode 100644 debian/modules/watch/nchan delete mode 100644 debian/modules/watch/rtmp diff --git a/debian/modules/control b/debian/modules/control index b3e517e..7ff9851 100644 --- a/debian/modules/control +++ b/debian/modules/control @@ -3,10 +3,6 @@ Homepage: https://github.com/agentzh/headers-more-nginx-module Version: 0.33 Files-Excluded: .gitignore .gitattributes .travis.yml -Module: http-ndk -Homepage: https://github.com/simpl/ngx_devel_kit/ -Version: 0.3.1 - Module: http-auth-pam Homepage: https://github.com/sto/ngx_http_auth_pam_module Version: 1.5.3 @@ -20,14 +16,6 @@ Module: http-geoip2 Homepage: https://github.com/leev/ngx_http_geoip2_module Version: 3.3 -Module: http-lua -Homepage: https://github.com/openresty/lua-nginx-module -Version: v0.10.13 -Patch: - openssl-1.1.0.patch - discover-luajit-2.1.patch -Files-Excluded: .gitignore .gitattributes .travis.yml .github - Module: http-upstream-fair Homepage: https://github.com/gnosek/nginx-upstream-fair Version: a18b409 @@ -36,11 +24,6 @@ Patch: openssl-1.1.0.patch drop-default-port.patch -Module: nchan -Homepage: https://github.com/slact/nchan -Version: 1.2.15 -Files-Excluded: dev nchan_logo.png NchanSubscriber.js src/hiredis nchan - Module: http-uploadprogress Homepage: https://github.com/masterzen/nginx-upload-progress-module Files-Excluded: test @@ -67,8 +50,3 @@ Homepage: https://github.com/yaoweibin/ngx_http_substitutions_filter_module Version: 0.6.4 Patch: dynamic-module.patch -Module: rtmp -Homepage: https://github.com/arut/nginx-rtmp-module -Files-Excluded: test -Version: 1.2.2 - diff --git a/debian/modules/http-ndk/LICENSE b/debian/modules/http-ndk/LICENSE deleted file mode 100644 index e1a5221..0000000 --- a/debian/modules/http-ndk/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright (c) 2010-2018, Marcus Clyne - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/debian/modules/http-ndk/README.md b/debian/modules/http-ndk/README.md deleted file mode 100644 index d9d3972..0000000 --- a/debian/modules/http-ndk/README.md +++ /dev/null @@ -1,254 +0,0 @@ -Name -==== - -Nginx Development Kit (NDK) - -Table of Contents -================= - -* [Name](#name) -* [Synopsis](#synopsis) -* [Status](#status) -* [Features](#features) -* [Design](#design) - * [modular](#modular) - * [auto-generated & easily extensible](#auto-generated--easily-extensible) -* [Usage for users](#usage-for-users) - * [Building as a dynamic module](#building-as-a-dynamic-module) -* [Usage for developers](#usage-for-developers) - * [Warning: using NDK_ALL](#warning-using-ndk_all) -* [Modules using NDK](#modules-using-ndk) -* [TODO](#todo) -* [License](#license) -* [Contributing / Feedback](#contributing--feedback) -* [Authors](#authors) -* [Special Thanks](#special-thanks) - -Synopsis -======== - -The NDK is an Nginx module that is designed to extend the core functionality of the -excellent Nginx webserver in a way that can be used as a basis of other Nginx modules. - -It has functions and macros to deal with generic tasks that don't currently have -generic code as part of the core distribution. The NDK itself adds few features -that are seen from a user's point of view - it's just designed to help reduce the -code that Nginx module developers need to write. - -Nginx module developers wishing to use any of the features in the NDK should specify -that the NDK is a dependency of their module, and that users will need to compile -it as well when they compile their own modules. They will also need to declare in -their own modules which features of the NDK they wish to use (explained below). - -If you are not an Nginx module developer, then the only useful part of this project -will be the 'usage for users' section below. - -[Back to TOC](#table-of-contents) - -Status -====== - -The NDK is now considered to be stable. It is already being used in quite a few third -party modules (see list below). - -[Back to TOC](#table-of-contents) - -Features -======== - -* additional conf_set functions for regexes, complex/script values, paths... -* macros to simplify tasks like checking for NULL values when doing ngx_array_push -* patches to the main source code -* ngx_auto_lib_core generic external library handler is included (see separate readme) - -[Back to TOC](#table-of-contents) - -Design -====== - -modular -------- - -The kit itself is designed in a modular way, so that only the required code is compiled. -It's possible to add just a single NDK module, a few or all of them. - -[Back to TOC](#table-of-contents) - -auto-generated & easily extensible ----------------------------------- - -Many of the macros available in the NDK are auto-generated from simple configuration -files. This makes creating similar macros for your own code very simple - it's usually -just the case of adding an extra line to a config file and re-running the build script. - -[Back to TOC](#table-of-contents) - -Usage for users -=============== - -If another Nginx module you wish to use specifies that the NDK is a dependency, you -will need to do the following : - -1. download the source (https://github.com/simpl/ngx_devel_kit) -2. unpack the source (tar -xzf $name) -3. compile Nginx with the following extra option `--add-module=/path/to/ngx_devel_kit`. - -e.g. - -```bash -./configure --add-module=/path/to/ngx_devel_kit \ - --add-module=/path/to/another/module -``` - -[Back to TOC](#table-of-contents) - -Building as a dynamic module ----------------------------- - -Starting from NGINX 1.9.11, you can also compile this module as a dynamic module, by using the `--add-dynamic-module=PATH` option instead of `--add-module=PATH` on the -`./configure` command line above. And then you can explicitly load the module in your `nginx.conf` via the [load_module](http://nginx.org/en/docs/ngx_core_module.html#load_module) -directive, for example, - -```nginx -load_module /path/to/modules/ndk_http_module.so; -load_module /path/to/another/module.so; -``` - -[Back to TOC](#table-of-contents) - -Usage for developers -==================== - -To use the NDK in your own module, you need to add the following: - -1. add this line to your module - -```C -#include -``` - -Note: since the NDK includes the following lines - -```C -#include -#include -#include -``` - -you can replace these with the single include above. -2. add the following line in the config file for your module: - -```bash -have=NDK_[module_name] . auto/have -``` - -for each NDK module that you wish to use (you need to include auto/have multiple -times if you wish to use multiple NDK modules. - -Note: the old method of setting - -```config -CFLAGS="$CFLAGS -DNDK_[module_name]" -``` - -is now deprecated. It will still work, but results in unnecessary lines being -displayed when compiling Nginx. - -[Back to TOC](#table-of-contents) - -Warning: Using NDK_ALL ----------------------- - -You can also set `NDK_ALL` to include all the NDK modules. This is primarily as -a convenience in the early stages of development of another module. However, - -DO NOT LEAVE `NDK_ALL` IN YOUR CONFIG FILE WHEN PUBLISHING - -Although the NDK is fairly small now, it could in time become a large repository -of code that would, if using NDK_ALL, result in considerably more code being compiled -than is necessary. - -[Back to TOC](#table-of-contents) - -Modules using NDK -================= - -The following 3rd-party modules make use of NDK. - -* [ngx_http_lua_module](https://github.com/openresty/lua-nginx-module#readme) -* [ngx_http_set_misc_module](https://github.com/openresty/set-misc-nginx-module#readme) -* [ngx_http_encrypted_session_module](https://github.com/openresty/encrypted-session-nginx-module#readme) -* [ngx_http_form_input_module](https://github.com/calio/form-input-nginx-module#readme) -* [ngx_http_iconv_module](https://github.com/calio/iconv-nginx-module#readme) -* [ngx_http_array_var_module](https://github.com/openresty/array-var-nginx-module#readme) - -If you would like to add your module to this list, please let us know. - -[Back to TOC](#table-of-contents) - -TODO -==== - -* documentation for modules that don't already have it -* additional phase-handler functions -* generically testing for needing to add a handler -* remove dependency of set_var on OpenSSL being compiled in -* for backward compatability, add the ndk_macros - -[Back to TOC](#table-of-contents) - -License -======= - -Copyright (c) 2010-2018, Marcus Clyne - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are -permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, this list of -conditions and the following disclaimer in the documentation and/or other materials -provided with the distribution. -3. Neither the name of the copyright holder nor the names of its contributors may be used -to endorse or promote products derived from this software without specific prior -written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -[Back to TOC](#table-of-contents) - -Contributing / Feedback -======================= - -If you are an Nginx module developer, and have developed some functions that are -generic in nature (or would be easily adapted to be so), then please send them to -me at the address below, and I'll addmclyne to the kit. - -[Back to TOC](#table-of-contents) - -Author -====== - -[Marcus Clyne](https://github.com/mclyne) - -[Back to TOC](#table-of-contents) - - -Special Thanks -============== - -A special thanks goes to [Yichun Zhang](https://github.com/agentzh) for helping to maintain -this module. - -[Back to TOC](#table-of-contents) diff --git a/debian/modules/http-ndk/README_AUTO_LIB.md b/debian/modules/http-ndk/README_AUTO_LIB.md deleted file mode 100644 index f2c3371..0000000 --- a/debian/modules/http-ndk/README_AUTO_LIB.md +++ /dev/null @@ -1,394 +0,0 @@ -Nginx Auto Lib Core -=================== - -Nginx Auto Lib Core is a generic external library-handler that has been designed to -facilitate the inclusion of external libraries in modules for the Nginx web server. -It has been written both for the benefit of Nginx module developers and for the end -users of those Nginx modules, and can provide a consistent, intelligent, flexible -cross-platform way to include external libraries. - -Any developers of Nginx modules are encouraged to use Auto Lib Core to handle library -dependencies for their modules rather than writing their own custom handler from scratch. - -Note : The latest version can be found [here](https://github.com/simplresty/ngx_auto_lib). - - -Information for end users -========================= - -To include external libraries using Auto Lib to you may need or wish to export some -variables before you run configure. e.g. - -$ export MOZJS=/path/to/mozjs -$ export MOZJS_SHARED=NO -$ ./configure ... - -In all cases below [PFX] should be replaced with the name of the library (e.g. MOZJS). The -specific value for [PFX] should be mentioned in the README file for the module that -uses Auto Lib Core. - - -Search order for paths ----------------------- - -(1) [PFX]_INC and [PFX]_LIB -(2) [PFX] (source or install dir) -(3) any dirs under [PFX]_BASE (see below) -(4) any dirs under the parent directory of the Nginx source dir beginning with '[pfx]-' -(5) standard system paths (including /usr/local, /usr, /opt/local, /opt, /usr/pkg) - -If any of 1-3 are specified, then any set values will be searched, and the the Nginx -source's parent directory and system paths are not searched unless [PFX]_SEARCH_[PLACE] -variable is set to YES, where PLACE ::= PARENT | SYSTEM. e.g. - -$ export OPENSSL_LIB=/path/to/openssl/lib -$ export OPENSSL_INC=/path/to/openssl/inc -$ ./configure - -will search only in the lib and include paths specified, and - -$ export OPENSSL_LIB=/path/to/openssl/lib -$ export OPENSSL_INC=/path/to/openssl/inc -$ export OPENSSL_BASE=/path/to/openssl/base -$ export OPENSSL_SEARCH_PARENT=YES -$ ./configure --with-openssl=/path/to/openssl - -will search first in the lib & inc dirs specified, then in /path/to/openssl, then will -look for directories in /path/to/openssl/base and then in the Nginx source parent -directory, but will skip checking the system paths. - -Note : apart from system paths, all dirs are checked as both source and install directories, -so static versions of installed OpenSSL, PCRE, Zlib etc libraries can be used with Nginx -if desired. - - -Specifying a path to find a library ------------------------------------ - -If the version of a library you wish to include is in any of the standard paths (e.g. -/usr/local, /usr ...), you will not need to specify a path to include the library. - -If you do wish to specify a specific path, in most cases just specifying -[PFX]=/path/to/library will be sufficient. e.g. - -$ export MOZJS=/path/to/mozjs -$ ./configure ... - -The path can be either a source directory or an install directory. Auto Lib will search - - -Searching under base paths --------------------------- - -Rather than specifying a specific path to find new libraries in non-standard locations, -you may wish to specify a base path (or just let Auto Lib search the directory that the -Nginx source is located in). This will then automatically find the most recent versions -of libraries and check them before older versions. - -e.g. - -You have installations - -/openssl/version/0.9.8m -/openssl/version/1.0.0a -... - -$ export OPENSSL_BASE=/openssl/version -$ ./configure ... - -Any directories under /openssl/version will be searched IN REVERSE ORDER, i.e. most recent -version first. Here /openssl/version/1.0.0a would be searched before /openssl/version/0.9.8m. - -If [PFX]_BASE_SEARCH_PREFIX=YES, then only directories beginning with '[pfx]-' are searched. -If [PFX]_BASE_SEARCH_PREFIX=something, then only directories beginning with 'something' are -searched. - -When searching under [PFX]_BASE no prefix is added to the search, but when searching under -the directory that the Nginx source is located in, the prefix [pfx]- is automatically added. - -Note : there is currently a minor bug (due to the implementation of the 'sort' command) -means versions that include hyphens (e.g. 1.0.0-beta5) are checked before versions like -1.0.0a. This will be fixed soon, and searching of -build folders before normal source ones -will be added too. - - - -Shared or static? ------------------ - -The default for most libraries is to look for shared libraries, though this can be overridden -by the user by setting [PFX]_SHARED=NO. - -In the near future the default action will be to look for shared libraries then to look -for static libraries in each directory searched unless one of [PFX]_SHARED and/or -[PFX]_STATIC = NO. If both are set to NO, then Auto Lib will not be used at all. - - - -Variables that users can set to help find libraries ---------------------------------------------------- - -[PFX] Location of dir where the library can be found (PATH, see below) -[PFX]_INC Include dir for library headers (PATH) -[PFX]_LIB Lib dir for library archive/shared objects (PATH) -[PFX]_BASE Base dir under which to search for other dirs (PATH) -[PFX]_SEARCH_LIB_INC Search in [PFX]_INC and [PFX]_LIB if set (YES|NO, def=YES) -[PFX]_SEARCH_DIR Search [PFX] if set (YES|NO, def=YES) -[PFX]_SEARCH_BASE Search under [PFX]_BASE if set (YES|NO, def=YES) -[PFX]_SEARCH_PARENT Search under the dir that the Nginx source is in (YES|NO, see above) -[PFX]_SEARCH_SYSTEM Search in standard system paths (YES|NO, see above) -[PFX]_SHARED Use shared library rather than static (YES|NO, def=YES) -[PFX]_SYSTEM_DIRS System dirs to search in (PATHS, space-separated, overrides the defaults) -USE_[PFX] Whether or not to install the library (YES|NO, def=YES) - - -Note : for libraries that have configure options (e.g. --with-openssl=/path), the [PFX] -variable is set automatically by configure, so will not be used if exported. - - - -Information for module developers -================================= - -How Auto Lib Core works ------------------------ - -Auto Lib Core works as an interface layer between the module and the auto/feature part of -the Nginx source. This is the file that results in the 'checking for ...' lines that you -see when you call ./configure. - -auto/feature works by using a few key variables (see below) to generate some C code, trying -to compile it to see if it works and optionally running the code. This output file is called -autotest.c (located under the objs/ directory whilst configure is running, but is deleted -after each call to auto/feature). - -Normally, whenever an external library is required, a module developer will write a number -of calls to auto/feature manually in their config files - e.g. to check under a range of -different possible locations to find a library. Apart from being tedious, this is obviously -potentially error-prone. - -Auto Lib Core will automatically generate all the calls to auto/feature for you, and will -take into account different operating systems etc in a consistent way, 'intelligent' way. - - -Including Nginx Auto Lib Core with custom modules -------------------------------------------------- - -Option 1 : - -- include ngx_auto_lib_core in the same directory that your module config file is - located -- add the following line to your config file - - . $ngx_addon_dir/ngx_auto_lib_core - -NOTE : if you want to include the file in a different directory to your config -file, you will need to change both the include line in your config file AND -the line in the ngx_auto_lib_core file that points to the file (it's the line that -has $ngx_addon_dir/ngx_auto_lib_core in it) - -Option 2 : - -- make the Nginx Development Kit (github.com/simpl-it/ngx_devel_kit) a dependency - for your module (Auto Lib Core is included automatically with it) - - -Recommended way of including Auto Lib Core ------------------------------------------- - -If the Nginx Development Kit (NDK) is already a dependency for your module, then you do -not need to do anything - just follow the 'using Auto Lib Core' instructions below. - -If the NDK is not a dependency for your module, then it is recommended to include a -copy of ngx_auto_lib_core with your module, but to recommend to users of your module -to include the NDK when compiling. If the module is not required for anything else, this -will not make any difference to the Nginx binary that they compile, but will mean they -will get the latest version of Auto Lib Core (which probably won't change much anyway, -but you never know). - -You will also probably want to include a copy of this readme file for Auto Lib Core -(at least the user section), and mention what the relevant [PFX] you use for your module -is in your module's readme file so that users will know what to write for any variables -that they might use to control the search paths for libraries (see above user section). - - -Using Auto Lib Core -------------------- - -To use Auto Lib Core, you should do the following in your config file for each -external library that you want to include : - -1 - Call ngx_auto_lib_init -2 - Define any variables used for testing -3 - Define any hooks (custom functions) -4 - Call ngx_auto_lib_run - - -Calling ngx_auto_lib_init() and ngx_auto_lib_run() --------------------------------------------------- - -You can pass either one or two variables to ngx_auto_lib_init(). The first is the name of -the library as it will appear when running ./configure, the second is the prefix that is -used for internal variables and looking for directory prefixes. If the second is not -specified, it defaults to the first. - -The init function resets all key variables and functions, so it must be called before -setting any other variables or functions that are to be used as hooks (see the notes below). - -ngx_auto_lib_run() should be called in the config files after all the variables and hooks -have been defined. This will then run through all the tests to try to find the external -library. - - -Variables you can set in your config files ------------------------------------------- - -All the variables that you set in Auto Lib Core are similar to the ones you set for -including libraries in the normal way. - - name description ----------------------------------------------------------------------------------------- - -core variables (i.e. the ones in the core Nginx source) - -ngx_feature_inc_path CFLAGS and include path info (including -I) -ngx_feature_incs Include/define code inserted before main() in autotest.c -ngx_feature_libs External libraries to add (see below) -ngx_feature_path Space-separated include path -ngx_feature_run Whether to run the autotest binary (default = no) -ngx_feature_test C-code inserted inside main() in autotest.c - -extended variables (only work in NALC) : - -ngx_feature_add_libs Add libraries (but do not add include files) -ngx_feature_add_path Add extra directories to include path -ngx_feature_build_dirs Sub dirs that builds might be found -ngx_feature_build_inc_dirs Sub dirs that include files might be found -ngx_feature_build_lib_dirs Sub dirs that lib files might be found -ngx_feature_check_macros_defined Lib required only if one of these macros is defined -ngx_feature_check_macros_non_zero Lib required only if one of these macros is non-zero -ngx_feature_defines Define these macros if the library is found -ngx_feature_deps Deps to add (e.g. to CORE_DEPS) if the library is found -ngx_feature_exit_if_not_found Quit configure if the library is not found -ngx_feature_haves Set these macros to 1 if the library is found -ngx_feature_inc_names Names for include files (not including the .h) -ngx_feature_lib_files Add these files under the lib dir for static inclusions -ngx_feature_lib_names Names for lib files (not including -l or .a) -ngx_feature_modules Modules to add if the library is found -ngx_feature_srcs Sources to add (e.g. to ADDON_SRCS) if the lib is found -ngx_feature_shared If set to 'no', then only use static lib versions -ngx_feature_test_libs Add these libs when testing, but not to the final binary -ngx_feature_variables Set these variables if the library is found - -standard variables that are completely over-written (i.e. they won't work with NALC) : - -ngx_feature_name Message that is displayed after 'checking for' in configure - - -Using these variables ---------------------- - -You do not need to set most of these variables, since 'intelligent' guesses are made that -will work for most cases. With the exception of ngx_feature_test, you should generally use -the extended variables rather than the core ones, since sensible core variables will be -automatically generated from them, and will work for both static and shared libraries. - - -Variable defaults ------------------ - -ngx_feature_incs for i in $ngx_feature_inc_names { #include <$i.h> } -ngx_feature_libs for l in $ngx_feature_lib_names { -l$l or $LIB/lib$l.a } - + $ngx_feature_add_libs -ngx_feature_inc_names $ngx_feature_lib_names -ngx_feature_lib_names $pfx -pfx str_to_lower (if two variables are passed to ngx_auto_lib_init, then - then $2, otherwise, $1) - -The easiest way to understand how all the defaults work is probably to look at the source code -of ngx_auto_lib_test_setup() and to look at the examples in the standard Nginx Auto Lib module -which has code for OpenSSL, PCRE, Zlib, MD5 and SHA1. - - -Hooks ------ - -To facilitate using Auto Lib Core in a flexible way, a number of 'hooks' have been -placed in the testing cycle. These hooks are implemented as functions that you define -in your config file which are called if required by the core library. In the core -library they are left as empty functions that return either 0 or 1. Any functions -you write will - -Note : ngx_auto_lib_init() resets the variables and functions each time it is called, so -you must DEFINE HOOKS AFTER YOU CALL ngx_auto_lib_init. - -Note : an update on what hooks are available will be added later. To see what hooks are -available, just look in the source code of ngx_auto_lib_core for any functions that just -return 0 or 1. - -See the MD5 and SHA1 libraries of Nginx Auto Lib module for examples. - - - -Checking that a library is required ------------------------------------ - -Although in most cases Auto Lib Core will be used where external libraries are -definitely required (for a module to work), this may not always be the case. In the -standard Nginx Auto Lib module (github.com/simpl-it/ngx_auto_lib) - which is designed -to improve the inclusion of OpenSSL, PCRE and Zlib libraries and increase compilation -speed where possible - the libraries are not always required, so checks are made to -see if it is necessary. - - - -How Auto Lib Core checks if a library is required - ngx_auto_lib_check_require() ------------------------------------------------------------------------------------- - -- search for USE_[PFX]=YES (it is set to YES by default for most modules) -- search for any external libraries that have been included in the CORE_LIBS or ADDON_LIBS - variables that use the same lib name as any set in ngx_feature_lib_names -- search for any macros that have been defined either in the CFLAGS variable or using - auto/have or auto/define as set in the ngx_feature_check_macros_defined and - ngx_feature_ngx_macros_non_zero variables -- any custom checks implemented by creating an ngx_auto_lib_check hook function (which - should return 0 if the library is required and return 1 at the end if the module is - not required) - - - -Guaranteeing that the correct version of a shared library is linked at run time -------------------------------------------------------------------------------- - -Sometimes users will want to use shared libraries that are in non-standard locations -that the linker may have a problem in locating at run time - even if the correct -linker path (-L/path/to/lib) is supplied when checking. To make sure that the linker -can find the library at run time, and to make sure that the linker will use the correct -version of a library if the library is also located in a standard directory, a run path -is added to the linker flags (using -Wl,--rpath -Wl,/path/to/lib/dir). In most cases this -will guarantee that the correct library is used when linking - though care should be taken -by any users specifying specific paths for libraries that the correct version of the -library has been linked at run time (e.g. using ldd etc). - -As an additional check when running auto/feature, as well as the compilation of the -autotest.c file, a check is made by ldd to see that the path of the shared library -that the linker links to is the same as the one specified. This is done because - - -To do ------ - -- Change how library paths are searched to include both shared and static libraries -- Touch up documentation - - -License -------- - - BSD - - -Copyright ---------- - - [Marcus Clyne](https://github.com/mclyne) (c) 2010 diff --git a/debian/modules/http-ndk/auto/actions/array b/debian/modules/http-ndk/auto/actions/array deleted file mode 100644 index 04cd889..0000000 --- a/debian/modules/http-ndk/auto/actions/array +++ /dev/null @@ -1,10 +0,0 @@ - -array_create (a,pl,n,sz) a = %1%_array_create (pl,n,sz); if (a == NULL) %A% -array_init (a,pl,n,sz) if (%1%_array_init (a,pl,n,sz) == %E%) %A% -array_push (p,a) p = %1%_array_push (a); if (p == NULL) %A% -array_push_clean (p,a) p = %1%_array_push (a); if (p == NULL) %A%; %2%_zerop (p) -array_push_n (p,a,n) p = %1%_array_push_n (a,n); if (p == NULL) %A% -array_push_n_clean (p,a,n) p = %1%_array_push_n (a,n); if (p == NULL) %A%; %2%_zeropn (p,n) - - - diff --git a/debian/modules/http-ndk/auto/actions/palloc b/debian/modules/http-ndk/auto/actions/palloc deleted file mode 100644 index 6d430bd..0000000 --- a/debian/modules/http-ndk/auto/actions/palloc +++ /dev/null @@ -1,8 +0,0 @@ - -palloc (p,pl,sz) p = %1%_palloc (pl,sz); if (p == NULL) %A% -pallocp (p,pl) %2%_pallocp (p,pl); if (p == NULL) %A% -pallocpn (p,pl,n) %2%_pallocpn (p,pl,n); if (p == NULL) %A% -pcalloc (p,pl,sz) p = %1%_pcalloc (pl,sz); if (p == NULL) %A% -pcallocp (p,pl) %2%_pcallocp (p,pl); if (p == NULL) %A% -pcallocpn (p,pl,n) %2%_pcallocpn (p,pl,n); if (p == NULL) %A% - diff --git a/debian/modules/http-ndk/auto/build b/debian/modules/http-ndk/auto/build deleted file mode 100644 index feb84b3..0000000 --- a/debian/modules/http-ndk/auto/build +++ /dev/null @@ -1,597 +0,0 @@ -#! /bin/bash - -cd `dirname $0` - -if [ $# -eq 2 ]; -then - if [ `expr $2 : /` -eq 1 ]; - then - output_dir=$2 - else - output_dir=$1/$2 - fi -else - output_dir=../objs -fi - -list_file=data/action_list -types_file=data/action_types -reps_file=data/action_replacements -prefix_file=data/prefixes -header_file=data/header_files -optional_modules_file=data/modules_optional -headers_file=data/headers -module_dependencies_file=data/module_dependencies -conf_macros_file=data/conf_macros -conf_locs_file=data/conf_locs -conf_args_file=data/conf_args - -autogen_notice=text/autogen - -actions_dir=actions -srcs_dir=src -include_prefix= -file_prefix=ndk_ -auto_file_name=config -auto_includes_name=includes - -conf_merge_filename=conf_merge.h -conf_cmd_basic_filename=conf_cmd_basic.h -conf_cmd_extra_filename=conf_cmd_extra.h - - -spacer=¬ - -sed_delete_empty_lines='t_NEL;d;:_NEL' - - -function trim_lines { - sed -e '/./,$!d' -e :a -e '/^\n*$/{$d;N;ba' -e '}' -} - - -function strtoupper { - [ $# -eq 1 ] || return 1 - local _str _cu _cl _x - _cu=(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) - _cl=(a b c d e f g h i j k l m n o p q r s t u v w x y z) - _str=$1 - for ((_x=0;_x<${#_cl[*]};_x++)); do - _str=${_str//${_cl[$_x]}/${_cu[$_x]}} - done - echo $_str -} - - -function sed_pad_right { - len=$1 - spacer=$2 - prefix=_PR$3 - - # returns a SED script that pads out (spaces) to the right to alignment $len - # this script should be used inside a call to sed - # NOTE : a spacer character $spacer should have already been written into the parsed string - - echo "t${prefix}a;:${prefix}a;s/^[^$spacer]{$len}/&/;\ -t${prefix}b;s/^[^$spacer]*/& /;t${prefix}a;:${prefix}b;s/$spacer/ /" -} - - -function sed_pad_left { - - len=$1 - spacer=$2 - prefix=_PL$3 - - # echo "t${prefix}a;:${prefix}a;s/^[^$spacer]{$len}/& /;t${prefix}a" # NOT CORRECT? -} - - -function add_notice { - - echo > $1 - cat $autogen_notice | trim_lines >> $1 - echo >> $1 - echo >> $1 -} - -function add_non_generated_content { - - file=src/$1.h - [ ! -f $file ] && return - - echo "/* Non-generated macros */" >> $2 - echo >> $2 - - cat $file | trim_lines >> $2 - - echo >> $2 - echo >> $2 -} - - -function add_action_macros { - - list_file=$actions_dir/$1 - - [ ! -f $list_file ] && return - - out=$2 - - - # alignment settings - - align1=20 - align2=35 - align3=62 - base_shrink=12 - define="#define " - - - - # base macros - - echo "/* base action macro macros */" >> $out - echo >> $out - - cat $list_file | trim_lines | sed -r \ - -e "s/^[ ]*([a-zA-Z0-9_]+)([ ]*)\(([a-zA-Z0-9_,]+)\)([ ]*)(.*)/$define%2%_\1_ac(\3,ac)\2\4 {\5;}/" \ - -e "s/[ ]{$base_shrink}\{/\{/" \ - -e 's/%A%/ac/g' \ - >> $out - - echo >> $out - echo >> $out - - - - # generated macros - - echo "/* generated action macros */" >> $out - echo >> $out - - cat -s $list_file | while read list_line; do - - [ "x`echo $list_line`" = 'x' ] && continue - - cat $types_file | while read type_line; do - - [ "x`echo $type_line`" = 'x' ] && continue - - #ext=`echo $type_line | grep -E '^[a-zA-Z0-9_]+' | cut -d " " -f1` - ext=`echo $type_line | sed -r 's/^([a-zA-Z0-9_]+).*/\1/'` - params=`echo $type_line | sed -r 's/^[a-zA-Z0-9_]+[ ]*\((.*)\).*/\1/;ta;d;:a'` - act=`echo $type_line | sed -r 's/^[a-zA-Z0-9_]+[ ]*(\(.*\))?(.*)/\2/'` - [ "x$params" != "x" ] && params=",$params" - - echo $list_line | sed -r \ - -e "s/^([a-zA-Z0-9_]+)[ ]*\(([a-zA-Z0-9_,]+)\).*/%2%_\1_$ext(\2$params)$spacer%2%_\1_ac$spacer(\2,$act)/" \ - -e 's/[ ]*,[ ]*/,/g' \ - -e "`sed_pad_right $align2 $spacer 1`" \ - -e "`sed_pad_right $align3 $spacer 2`" \ - -e "s/.*/$define&/" \ - >> $out - done - echo >> $out - done -} - - -function replace_prefixes { - - temp=.temp - - file=`cat $prefix_file` - - prefix1= - prefix2= - - for prefix in $file ; do - [ "x$prefix2" != "x" ] && echo "Too many prefixes in prefix file $prefix_file" && exit 1 - [ "x$prefix1" != "x" ] && prefix2=$prefix && continue - prefix1=$prefix - done - - sed -r "s/%1%/$prefix1/g;s/%2%/$prefix2/g" < $1 > $temp - - mv -f $temp $1 -} - - -function replace_other_strings { - - temp=.temp - - cat $reps_file | while read line; do - - rep1= - rep2= - - for rep in $line ; do - [ "x$rep2" != "x" ] && echo "Too many replacments in replacements file $reps_file" && exit 1 - [ "x$rep1" != "x" ] && rep2=$rep && continue - rep1=$rep - done - - sed -r "s/%$rep1%/$rep2/g" < $1 > $temp - mv -f $temp $1 - done -} - - -function generate_header_file { - - name=$1 - out=$output_dir/$file_prefix$name.h - - add_notice $out - add_non_generated_content $name $out - add_action_macros $name $out - replace_prefixes $out - replace_other_strings $out -} - - -function add_auto_include { - echo "#include <${file_prefix}$2>" >> $1 -} - - -function add_include { - echo "#include <${include_prefix}${file_prefix}$2>" >> $1 -} - - -function generate_non_optional_h_includes { - - # TODO : split into auto-generated and non-auto-generated ones - - echo "/* non-optional includes */" >> $1 - echo >> $1 - - for mod in `cat $headers_file | sort`; do - - add_auto_include $1 $mod.h - done - - echo >> $1 - echo >> $1 -} - - -function generate_include_all_includes { - - echo "/* include all optional modules */" >> $1 - echo >> $1 - echo "#ifdef NDK_ALL" >> $1 - echo >> $1 - - modules=`cat $optional_modules_file | sed 's/*//g' | sort` - - for mod in $modules; do - def="NDK_`strtoupper $mod`" - echo "#ifndef $def" >> $1 - echo "#define $def 1" >> $1 - echo "#endif" >> $1 - done - - echo >> $1 - echo "#endif" >> $1 - echo >> $1 - echo >> $1 -} - - -function generate_dependent_includes { - - echo "/* module dependencies */" >> $1 - echo >> $1 - - cat $module_dependencies_file | while read line; do - - first=1 - - for mod in $line; do - - def="NDK_`strtoupper $mod`" - - if [ $first = 1 ] ; then - - echo "#ifdef $def" >> $1 - first=0 - else - echo "#ifndef $def" >> $1 - echo "#define $def 1" >> $1 - echo "#endif" >> $1 - fi - done - - [ $first = 0 ] && echo "#endif" >> $1 - done - - echo >> $1 - echo >> $1 -} - - - -function generate_optional_h_includes { - - echo "/* optional includes */" >> $1 - echo >> $1 - - for mod in $modules; do - def="NDK_`strtoupper $mod`" - echo "#if ($def)" >> $1 - add_include $1 $mod.h - echo "#endif" >> $1 - done - - echo >> $1 - echo >> $1 -} - - - - - -function generate_conf_merge_macros_file { - - file=$conf_merge_filename - out_file=${file_prefix}$file - out=$output_dir/$out_file - - add_notice $out - - echo "/* conf-merge-value macros */" >> $out - echo >> $out - - cat $srcs_dir/$file | trim_lines >> $out - echo >> $out - echo >> $out - - echo "/* conf-merge-prop macros */" >> $out - echo >> $out - - echo "#define ndk_conf_merge_prop(prop,default)\\" >> $out - echo " ndk_conf_merge_value\\" >> $out - echo " (conf->prop, prev->prop, default)" >> $out - echo >> $out - - # loads macros, removes empty elements, sorts and translates to merge-prop macros - - cat $conf_macros_file | sed -r 's/^[A-Z0-9_]+[ ]*[A-Z0-9_]+[ ]*([a-z0-9_]+).*$/\1/;ta;d;:a' \ - | sort | sed -r \ - 's/(.*)/#define ndk_conf_merge_\1_prop(prop,default,...)\\\ - ndk_conf_merge_\1_value\\\ - (conf->prop, prev->prop, default,##__VA_ARGS__)\ - /' \ - >> $out - - add_auto_include $1 $file -} - - - - -function generate_conf_cmd_basic_file { - - temp=.rep - file=$conf_cmd_basic_filename - out_file=${file_prefix}$file - out=$output_dir/$out_file - - align1=35 - - # initial text - - add_notice $out - - - # add ndk bitmasks - - echo "/* conf cmd core values/bitmasks */" >> $out - echo >> $out - - - cat $conf_args_file | sort | trim_lines | sed -r \ - -e "s/^([A-Z0-9_]+)/${define}NDK_\1${spacer}NGX_\1/" \ - -e $sed_delete_empty_lines \ - -e "`sed_pad_right $align1 $spacer`" \ - >> $out - - echo >> $out - echo >> $out - - - # add additional bitmasks stored in file - - echo "/* conf cmd bitmasks */" >> $out - echo >> $out - - cat $srcs_dir/$conf_cmd_basic_filename | trim_lines >> $out - - echo >> $out - echo >> $out - - echo "/* conf cmd basic macros */" >> $out - echo >> $out - - - # build replacement string - - echo -n "s/^([A-Z0-9_]+)$/" > $temp - - cat $conf_locs_file | sed \ - -r -e 's/^([A-Z0-9_]+) *([A-Z0-9_]+).*/#define NDK_\1_CONF_\\1\(name,func,off1,off2,post)\\\\\\\ - {ngx_string (name),\\\\\\\ - NGX_CONF_\\1|NDK_\1_CONF,\\\\\\\ - func, off1, off2, post},\\\ -\\/' -e $sed_delete_empty_lines \ - >> $temp - - echo -n "/;$sed_delete_empty_lines" >> $temp - - - # apply the replacement string to the - - cat $conf_args_file | sort | trim_lines | sed -rf $temp >> $out - rm -f $temp - - add_auto_include $1 $file -} - - - -function generate_conf_cmd_extra_file { - - temp=.rep - file=$conf_cmd_extra_filename - out=$output_dir/${file_prefix}$file - - align1=35 - - # initial text - - add_notice $out - - echo "/* conf command macros */" >> $out - echo >> $out - - - # build replacement string - - echo -n 's/^([A-Z0-9_]+)[ ]*([A-Z0-9_]+)[ ]*([a-z0-9_]+).*$/' > $temp - - cat $conf_locs_file | sed \ - -r -e 's/^([A-Z0-9_]+)[ ]*([A-Z0-9_]+)[ ]*([a-zA-Z0-9_]+)/#define NDK_\1_CONF_\\1(name,p,post\)\\\\\\\ - NDK_\1_CONF_\\2\\\\\\\ - (name,\\\\\\\ - ndk_conf_set_\\3_slot,\\\\\\\ - NGX_\2_CONF_OFFSET,\\\\\\\ - offsetof (ndk_module_\3_conf_t, p),\\\\\\\ - post)\\\ -\\/' -e $sed_delete_empty_lines \ - >> $temp - - echo -n "/;$sed_delete_empty_lines" >> $temp - #echo -n ";`sed_pad_right 60 $spacer`" >> $temp - - - # apply the replacement string to the - - cat $conf_macros_file | sort | trim_lines | sed -rf $temp -e "`sed_pad_right 60 $spacer`" >> $out - rm -f $temp - - add_auto_include $1 $file -} - - - -function generate_auto_generated_h_includes { - - echo "/* auto-generated headers */" >> $1 - echo >> $1 - - for name in `cat $header_file | sort` ; do - - generate_header_file $name - add_auto_include $1 $name.h - done - - generate_conf_merge_macros_file $1 - generate_conf_cmd_basic_file $1 - generate_conf_cmd_extra_file $1 - - echo >> $1 - echo >> $1 -} - - - -function generate_optional_c_includes { - - echo "/* optional includes */" >> $1 - echo >> $1 - - modules=`cat $optional_modules_file | sed 's/*//g' | sort` - - for mod in $modules; do - def="NDK_`strtoupper "$mod"`" - echo "#if ($def)" >> $1 - add_include $1 $mod.c - echo "#endif" >> $1 - done - - echo >> $1 - echo >> $1 -} - - -function generate_commands { - - echo "/* module commands */" >> $1 - echo >> $1 - echo "static ngx_command_t ndk_http_commands[] = {" >> $1 - - cat $optional_modules_file | sort | while read line; do - - cmds=`echo "$line" | grep -E '\*'` - - [ "x$cmds" = "x" ] && continue - - mod=`echo "$line" | grep -E '^[a-zA-Z0-9_]+' | cut -d " " -f1` - up=`strtoupper $mod` - def="NDK_$up" - defcmd="NDK_${up}_CMDS" - - echo "#if ($def)" >> $1 - echo "#define $defcmd 1" >> $1 - add_include $1 $mod.h - echo "#undef $defcmd" >> $1 - echo "#endif" >> $1 - - done - - echo -e " ngx_null_command\n};" >> $1 -} - - -function generate_all_h_files { - - out=$output_dir/${file_prefix}$auto_file_name.h - - add_notice $out - - generate_include_all_includes $out - generate_dependent_includes $out - - out=$output_dir/${file_prefix}$auto_includes_name.h - - generate_optional_h_includes $out - generate_non_optional_h_includes $out - generate_auto_generated_h_includes $out $list -} - - -function generate_all_c_files { - - out=$output_dir/${file_prefix}$auto_file_name.c - - add_notice $out - generate_optional_c_includes $out - generate_commands $out -} - - - -function generate_all_files { - - mkdir -p $output_dir - rm -f $output_dir/* - - generate_all_h_files - generate_all_c_files -} - -generate_all_files diff --git a/debian/modules/http-ndk/auto/data/action_replacements b/debian/modules/http-ndk/auto/data/action_replacements deleted file mode 100644 index f419bc3..0000000 --- a/debian/modules/http-ndk/auto/data/action_replacements +++ /dev/null @@ -1,5 +0,0 @@ - -OK NGX_OK -E NGX_ERROR -CE NGX_CONF_ERROR -COK NGX_CONF_OK diff --git a/debian/modules/http-ndk/auto/data/action_types b/debian/modules/http-ndk/auto/data/action_types deleted file mode 100644 index 284a5cb..0000000 --- a/debian/modules/http-ndk/auto/data/action_types +++ /dev/null @@ -1,12 +0,0 @@ -r0 return 0 -r1 return 1 -r_1 return -1 -rok return %OK% -rce return %CE% -rcok return %COK% -re return %E% -rn return NULL -rse {ngx_script_error (e); return;} -sce {ngx_script_configure_error (c); return;} -g(_lb) goto _lb -ge goto error diff --git a/debian/modules/http-ndk/auto/data/conf_args b/debian/modules/http-ndk/auto/data/conf_args deleted file mode 100644 index 752b533..0000000 --- a/debian/modules/http-ndk/auto/data/conf_args +++ /dev/null @@ -1,22 +0,0 @@ - -TAKE1 -TAKE2 -TAKE3 -TAKE4 -TAKE5 -TAKE6 -TAKE7 -TAKE8 -TAKE12 -TAKE13 -TAKE23 -TAKE123 -TAKE1234 -1MORE -2MORE -ANY -FLAG -BLOCK -MULTI -ARGS_NUMBER - diff --git a/debian/modules/http-ndk/auto/data/conf_locs b/debian/modules/http-ndk/auto/data/conf_locs deleted file mode 100644 index f5352c3..0000000 --- a/debian/modules/http-ndk/auto/data/conf_locs +++ /dev/null @@ -1,25 +0,0 @@ - -HTTP_MAIN HTTP_MAIN main -HTTP_SRV HTTP_SRV srv -HTTP_SIF HTTP_SRV srv -HTTP_LOC HTTP_LOC loc -HTTP_LIF HTTP_LOC loc - -HTTP_MAIN_SRV HTTP_SRV srv -HTTP_MAIN_SIF HTTP_SRV srv -HTTP_MAIN_LOC HTTP_LOC loc -HTTP_MAIN_LIF HTTP_LOC loc - -HTTP_SRV_LOC HTTP_LOC loc -HTTP_SRV_LIF HTTP_LOC loc -HTTP_SIF_LOC HTTP_LOC loc -HTTP_SIF_LIF HTTP_LOC loc - -HTTP_MAIN_SRV_LOC HTTP_LOC loc -HTTP_MAIN_SRV_LIF HTTP_LOC loc -HTTP_MAIN_SIF_LOC HTTP_LOC loc -HTTP_MAIN_SRV_SIF_LOC HTTP_LOC loc -HTTP HTTP_LOC loc -HTTP_UPS HTTP_LOC loc -HTTP_ANY HTTP_LOC loc -ANY HTTP_LOC loc diff --git a/debian/modules/http-ndk/auto/data/conf_macros b/debian/modules/http-ndk/auto/data/conf_macros deleted file mode 100644 index f42206a..0000000 --- a/debian/modules/http-ndk/auto/data/conf_macros +++ /dev/null @@ -1,35 +0,0 @@ - -BITMASK 1MORE bitmask -BUFS TAKE1 bufs -COMPLEX_KEYVAL TAKE2 http_complex_keyval -COMPLEX_PATH TAKE1 http_complex_path -COMPLEX_VALUE TAKE1 http_complex_value -COMPLEX_VALUE_ARRAY 1MORE http_complex_value_array -ENCODING TAKE1 encoding -ENUM TAKE1 enum -FALSE NOARGS false -FULL_PATH TAKE1 full_path -KEYVAL TAKE2 keyval -KEYVAL1 TAKE2 keyval1 -MSEC TAKE1 msec -NULL NOARGS null -NUM TAKE1 num -NUM64 TAKE1 num64 -NUM_FLAG TAKE1 num_flag -ONOFF FLAG flag -OFF TAKE1 off -PATH TAKE1 split_path -REXEX TAKE1 regex -REGEX_CL TAKE1 regex_caseless -REGEX_ARRAY 1MORE regex_array -REGEX_ARRAY_CL 1MORE regex_array_caseless -PTR NOARGS ptr -SEC TAKE1 sec -SEC_FLAG TAKE2 sec_flag -SIZE TAKE1 size -STR TAKE1 str -STR_ARRAY 1MORE str_array_multi -STR_ARRAY1 TAKE1 str_array -TRUE NOARGS true - - diff --git a/debian/modules/http-ndk/auto/data/contexts b/debian/modules/http-ndk/auto/data/contexts deleted file mode 100644 index e7e8ff0..0000000 --- a/debian/modules/http-ndk/auto/data/contexts +++ /dev/null @@ -1,22 +0,0 @@ - -MAIN -SRV -SIF -LOC -LIF - -MAIN_SRV -MAIN_SIF -MAIN_LOC -MAIN_LIF -SRV_LOC -SRV_LIF -SIF_LOC -SIF_LIF - -MAIN_SRV_LOC -MAIN_SRV_LIF -MAIN_SIF_LOC -MAIN_SIF_LIF -ANY_MAIN - diff --git a/debian/modules/http-ndk/auto/data/header_files b/debian/modules/http-ndk/auto/data/header_files deleted file mode 100644 index aa0f11c..0000000 --- a/debian/modules/http-ndk/auto/data/header_files +++ /dev/null @@ -1,3 +0,0 @@ -array -palloc - diff --git a/debian/modules/http-ndk/auto/data/headers b/debian/modules/http-ndk/auto/data/headers deleted file mode 100644 index 7583cb9..0000000 --- a/debian/modules/http-ndk/auto/data/headers +++ /dev/null @@ -1,4 +0,0 @@ -http_headers -log -parse -string_util diff --git a/debian/modules/http-ndk/auto/data/module_dependencies b/debian/modules/http-ndk/auto/data/module_dependencies deleted file mode 100644 index a179316..0000000 --- a/debian/modules/http-ndk/auto/data/module_dependencies +++ /dev/null @@ -1,5 +0,0 @@ -complex_path complex_value path -conf_file string -hash string -set_var rewrite -upstream_list http_create_main_conf diff --git a/debian/modules/http-ndk/auto/data/modules_optional b/debian/modules/http-ndk/auto/data/modules_optional deleted file mode 100644 index bbd6ec5..0000000 --- a/debian/modules/http-ndk/auto/data/modules_optional +++ /dev/null @@ -1,15 +0,0 @@ -buf -complex_path -complex_value -conf_file -encoding -hash -http -path -process -regex -rewrite -set_var -string -upstream_list * -uri diff --git a/debian/modules/http-ndk/auto/data/prefixes b/debian/modules/http-ndk/auto/data/prefixes deleted file mode 100644 index ee53474..0000000 --- a/debian/modules/http-ndk/auto/data/prefixes +++ /dev/null @@ -1,2 +0,0 @@ -ngx -ndk diff --git a/debian/modules/http-ndk/auto/src/array.h b/debian/modules/http-ndk/auto/src/array.h deleted file mode 100644 index a583759..0000000 --- a/debian/modules/http-ndk/auto/src/array.h +++ /dev/null @@ -1,7 +0,0 @@ - -#define %2%_array_count(a) ((a)->nelts) -#define %2%_array_get_first(a) ((a)->elts) -#define %2%_array_get_index(a,n) ((void*) ((char*) (a)->elts + (a)->size * n)) -#define %2%_array_get_last(a) ((void*) ((char*) (a)->elts + (a)->size * ((a)->nelts - 1))) -#define %2%_array_get_reverse_index(a,n) ((void*) ((char*) (a)->elts + (a)->size * ((a)->nelts - 1 - n))) -#define %2%_array_push_clean(p,a) {p = %1%_array_push (a); %2%_zerop (p);} diff --git a/debian/modules/http-ndk/auto/src/conf_cmd_basic.h b/debian/modules/http-ndk/auto/src/conf_cmd_basic.h deleted file mode 100644 index 38743a6..0000000 --- a/debian/modules/http-ndk/auto/src/conf_cmd_basic.h +++ /dev/null @@ -1,43 +0,0 @@ - -/* TODO : finish this */ - -#define NDK_HTTP_MAIN_CONF NGX_HTTP_MAIN_CONF -#define NDK_HTTP_SRV_CONF NGX_HTTP_SRV_CONF -#define NDK_HTTP_SIF_CONF NGX_HTTP_SIF_CONF -#define NDK_HTTP_LOC_CONF NGX_HTTP_LOC_CONF -#define NDK_HTTP_LIF_CONF NGX_HTTP_LIF_CONF -#define NDK_HTTP_UPS_CONF NGX_HTTP_UPS_CONF -#define NDK_MAIN_CONF NGX_MAIN_CONF -#define NDK_ANY_CONF NGX_ANY_CONF - - -/* compound locations */ - -#define NDK_HTTP_MAIN_SRV_CONF NDK_HTTP_MAIN_CONF|NDK_HTTP_SRV_CONF -#define NDK_HTTP_MAIN_SIF_CONF NDK_HTTP_MAIN_CONF|NDK_HTTP_SRV_SIF_CONF -#define NDK_HTTP_MAIN_LOC_CONF NDK_HTTP_MAIN_CONF|NDK_HTTP_LOC_CONF -#define NDK_HTTP_MAIN_LIF_CONF NDK_HTTP_MAIN_CONF|NDK_HTTP_LOC_LIF_CONF - -#define NDK_HTTP_SRV_SIF_CONF NDK_HTTP_SRV_CONF|NDK_HTTP_SIF_CONF -#define NDK_HTTP_SRV_LOC_CONF NDK_HTTP_SRV_CONF|NDK_HTTP_LOC_CONF -#define NDK_HTTP_SRV_LOC_LIF_CONF NDK_HTTP_SRV_CONF|NDK_HTTP_LOC_LIF_CONF -#define NDK_HTTP_SRV_SIF_LOC_CONF NDK_HTTP_SRV_SIF_CONF|NDK_HTTP_LOC_CONF -#define NDK_HTTP_SRV_SIF_LOC_LIF_CONF NDK_HTTP_SRV_SIF_CONF|NDK_HTTP_LOC_LIF_CONF - -#define NDK_HTTP_LOC_LIF_CONF NDK_HTTP_LOC_CONF|NDK_HTTP_LIF_CONF - -#define NDK_HTTP_MAIN_SRV_LOC_CONF NDK_HTTP_MAIN_CONF|NDK_HTTP_SRV_LOC_CONF -#define NDK_HTTP_MAIN_SRV_LIF_CONF NDK_HTTP_MAIN_CONF|NDK_HTTP_SRV_LIF_CONF -#define NDK_HTTP_MAIN_SIF_LOC_CONF NDK_HTTP_MAIN_CONF|NDK_HTTP_SIF_LOC_CONF -#define NDK_HTTP_MAIN_SRV_SIF_LOC_LIF_CONF NDK_HTTP_SRV_SIF_LOC_LIF_CONF|NDK_MAIN_CONF -#define NDK_HTTP_CONF NDK_HTTP_MAIN_SRV_SIF_LOC_LIF_CONF -#define NDK_HTTP_ANY_CONF NDK_HTTP_CONF|NDK_HTTP_UPS_CONF - - -/* property offsets NOTE : ngx_module_main_conf_t etc should be defined in the module's .c file before the commands */ - -#define NDK_HTTP_MAIN_CONF_PROP(p) NGX_HTTP_MAIN_CONF_OFFSET, offsetof (ndk_module_main_conf_t, p) -#define NDK_HTTP_SRV_CONF_PROP(p) NGX_HTTP_SRV_CONF_OFFSET, offsetof (ndk_module_srv_conf_t, p) -#define NDK_HTTP_LOC_CONF_PROP(p) NGX_HTTP_LOC_CONF_OFFSET, offsetof (ndk_module_loc_conf_t, p) - - diff --git a/debian/modules/http-ndk/auto/src/conf_merge.h b/debian/modules/http-ndk/auto/src/conf_merge.h deleted file mode 100644 index 1e3ba70..0000000 --- a/debian/modules/http-ndk/auto/src/conf_merge.h +++ /dev/null @@ -1,78 +0,0 @@ - -/* TODO : check that all the main types have a corresponding merge function */ - -#define ndk_conf_merge_value ngx_conf_merge_value -#define ndk_conf_merge_off_value ngx_conf_merge_off_value -#define ndk_conf_merge_ptr_value ngx_conf_merge_ptr_value -#define ndk_conf_merge_str_value ngx_conf_merge_str_value -#define ndk_conf_merge_size_value ngx_conf_merge_size_value - - -#define ndk_conf_merge_keyval_value(conf,prev,default) \ - \ - conf = prev ? prev : default; - -#define ndk_conf_merge_str_array_value(conf,prev,val1,...) \ - \ - if (conf == NGX_CONF_UNSET_PTR) { \ - if (prev == NGX_CONF_UNSET_PTR) { \ - if (val1 == NULL) { \ - conf = NULL; \ - } else { \ - char * elts[] = {val1,##__VA_ARGS__}; \ - int n = sizeof(elts)/sizeof(char*); \ - \ - conf = ndk_str_array_create (cf->pool, elts, n); \ - \ - if (conf == NULL) \ - return NGX_CONF_ERROR; \ - } \ - } else { \ - conf = prev; \ - } \ - } - -#define ndk_conf_merge_http_complex_value_value(conf,prev,default) \ - \ - if (!conf.str.len) { \ - if (prev.str.len) { \ - conf = prev; \ - } else { \ - conf.str.data = (u_char *) default; \ - conf.str.len = sizeof (default) - 1; \ - \ - if (ndk_http_complex_value_compile (cf, &conf)) \ - return NGX_CONF_ERROR; \ - } \ - } - -#define ndk_conf_merge_http_complex_value_array_value(conf,prev,val1,...) \ - \ - if (conf == NGX_CONF_UNSET_PTR) { \ - if (prev == NGX_CONF_UNSET_PTR) { \ - if (val1 == NULL) \ - conf = NULL; \ - else { \ - char * elts[] = {val1,##__VA_ARGS__}; \ - int n = sizeof(elts)/sizeof(char*); \ - \ - conf = ndk_http_complex_value_array_create (cf, elts, n); \ - \ - if (conf == NULL) \ - return NGX_CONF_ERROR; \ - } \ - } else { \ - conf = prev; \ - } \ - } - -#define ndk_conf_merge_http_complex_path_value(conf,prev,...) \ - ndk_conf_merge_http_complex_value_array_value (conf.a, prev.a, __VA_ARGS__) - -#define ndk_conf_merge_split_path_value(conf,prev,path) \ - \ - if (conf == NGX_CONF_UNSET_PTR) { \ - conf = (prev == NGX_CONF_UNSET_PTR ? \ - ndk_split_path_create_raw (cf, path) : prev); \ - } - diff --git a/debian/modules/http-ndk/auto/src/palloc.h b/debian/modules/http-ndk/auto/src/palloc.h deleted file mode 100644 index 798e360..0000000 --- a/debian/modules/http-ndk/auto/src/palloc.h +++ /dev/null @@ -1,6 +0,0 @@ - -#define %2%_pallocp(p,pl) p = %1%_palloc (pl,sizeof(*p)) -#define %2%_pallocpn(p,pl,n) p = %1%_palloc (pl,sizeof(*p)*(n)) - -#define %2%_pcallocp(p,pl) p = %1%_pcalloc (pl,sizeof(*p)) -#define %2%_pcallocpn(p,pl,n) p = %1%_pcalloc (pl,sizeof(*p)*(n)) diff --git a/debian/modules/http-ndk/auto/text/autogen b/debian/modules/http-ndk/auto/text/autogen deleted file mode 100644 index 6a244c2..0000000 --- a/debian/modules/http-ndk/auto/text/autogen +++ /dev/null @@ -1,12 +0,0 @@ - -/* - * 2010 (C) Marcus Clyne - * - * DO NOT EDIT THIS FILE MANUALLY - * ------------------------------ - * This file has been generated automatically from scripts in the $base/auto dir and - * data in the $base/auto/data dir. If you wish to edit the output of this file, then - * you should edit these files instead. - * -*/ - diff --git a/debian/modules/http-ndk/config b/debian/modules/http-ndk/config deleted file mode 100644 index 8cb7ad0..0000000 --- a/debian/modules/http-ndk/config +++ /dev/null @@ -1,65 +0,0 @@ - -############### -## FUNCTIONS ## -############### - -# TODO : provide information about checking versions of sed etc -# TODO : an optional patch function - -ndk_generate_files() { - echo "building Nginx Development Kit utility functions and macros ..." - - autobuild="$ngx_addon_dir/auto/build" - chmod +x $autobuild - $autobuild `pwd` $NGX_OBJS/addon/ndk || exit 1 -} - -ndk_get_nginx_version() { - # We get the Nginx version number from the string form rather than - # nginx_version because it is available in more (every?) version - - cat src/core/nginx.h | - grep '#define NGINX_VERSION' | - sed -r \ - -e 's/[^0-9.]*([0-9.]+).*/\1/' \ - -e 's/([0-9]+\.[0-9]+\.)([0-9]{1})$/\100\2/' \ - -e 's/([0-9]+\.[0-9]+\.)([0-9]{2})$/\10\2/' \ - -e 's/\.//g' \ - -e 's/^0+(.*)/\1/' -} - -##################### -## CONFIG SETTINGS ## -##################### - -ngx_addon_name=ngx_devel_kit -ngx_objs_dirs="$ngx_addon_dir/objs $NGX_OBJS/addon/ndk" - -NDK_SRCS="$ngx_addon_dir/src/ndk.c" -NDK_DEPS="$ngx_addon_dir/src/ndk.h" -NDK_INCS="$ngx_addon_dir/src $ngx_objs_dirs" - -CORE_INCS="$CORE_INCS $ngx_objs_dirs" -HTTP_INCS="$HTTP_INCS $ngx_addon_dir/src $ngx_objs_dir" - -if test -n "$ngx_module_link"; then - ngx_module_type=HTTP - ngx_module_name="ndk_http_module" - ngx_module_srcs="$NDK_SRCS" - ngx_module_deps="$NDK_DEPS" - ngx_module_incs="$NDK_INCS" - - . auto/module -else - HTTP_MODULES="$HTTP_MODULES ndk_http_module" - NGX_ADDON_SRCS="$NGX_ADDON_SRCS $NDK_SRCS" - NGX_ADDON_DEPS="$NGX_ADDON_SRCS $NDK_DEPS" -fi - -have=NDK . auto/have - -############## -## INCLUDES ## -############## - -. $ngx_addon_dir/ngx_auto_lib_core diff --git a/debian/modules/http-ndk/docs/core/action_macros b/debian/modules/http-ndk/docs/core/action_macros deleted file mode 100644 index 802eb1f..0000000 --- a/debian/modules/http-ndk/docs/core/action_macros +++ /dev/null @@ -1,63 +0,0 @@ - - GENERAL NOTES - ------------- - - These functions and macros have been provided as a tool for Nginx module developers. They have - been created with four main purposes: - - - to speed up code-writing - - to reduce the code you have to read on file - - to add additional generic functionality similar to exising Nginx functions - - to reduce code errors - - Most of the utility macros are just wrappers around commonly used code, especially checking for - NULL and returning a value, zeroing data etc. The functions add things like extra conf_set_X_slot - functions that don't exist in the standard Nginx distribution, but which might be useful in more - than one module. - - A consistent approach has been taken to creating the macros, so that in theory you should be able - to 'know' the macro name from using the few rules below and your knowledge of the existing Nginx - functions. As much as possible, the ordering of variables used within the underlying functions - remain the same, to reduce the learning time. Also, a constent naming pattern has been used to - make it easier to read the macros above. - - Obviously not all programmers will want to use all or any of these macros, but they are provided - as a tool for those who wish to use them. - - If you have any comments about them, including any additions or errors please let me know at - 'eugaia at gmail dot com'. I don't promise to include all additions people send, but if they seem - like they could be of use to multiple developers, I will. - - - UTILITY MACRO PARAMS - -------------------- - p pointer - used to set the result of a function to a pointer - a array - pl pool - n multiplication factor - for allocating multiple pointers & pushing 'n' elts in arrays etc - sz size - l log - rv return value - - - - UTILITY MACRO FUNCTION SUFFIXES - ------------------------------- - - - general - - p p = [FUNCTION] () - _r [ if result of function is NULL | NGX_ERROR (as appropriate) ] return rv - _rce rv = NGX_CONF_ERROR - _re rv = NGX_ERROR - _rn rv = NULL - - - (p)(c)alloc functions - - p p = [function] (pool, sizeof (*p)) - pn p = [function] (pool, sizeof (*p) * n) - - - UTILITY MACRO PARAMS ORDER - -------------------------- - p, pl|a, sz|n, l, rv diff --git a/debian/modules/http-ndk/docs/core/conf_cmds b/debian/modules/http-ndk/docs/core/conf_cmds deleted file mode 100644 index 70978b1..0000000 --- a/debian/modules/http-ndk/docs/core/conf_cmds +++ /dev/null @@ -1,62 +0,0 @@ - -Conf command macros -------------------- - -The build script generates a large number of macros for reducing the code required for command -definitions. - -There are basically three types of macros : - -- combination bitmasks - - e.g. NDK_HTTP_MAIN_SRV_CONF = (NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF) - -- base command structures - - e.g. NDK_HTTP_MAIN_CONF_TAKE1 - -- conf-set command structures - - e.g. NDK_HTTP_CONF_STR - - -Combination bitmasks --------------------- - -Basically combinations of existing bitmasks for locations, with general > specific order - -NDK_HTTP_CONF = (NGX_HTTP_MAIN_CONF | NGX_HTTP_SVR_CONF | NGX_HTTP_SIF_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF) - - -Base command structures ------------------------ - -These macros are basically there as wrappers for the conf-set command structures, and but incorporate -the bitmask element into the name of the macro. - - -Conf-set command structures ---------------------------- - -These macros simplify creating commands that use any of the build-in conf-set functions or any of those -added by the NDK. - -e.g. NGX_HTTP_MAIN_SRV_STR ("name", prop, NULL) - -where prop is the name of the property that is a ngx_str_t. Whether this is in the loc conf, main conf -or svr conf is generated automatically in by the macro. - -NOTE : you need to set the following if they will be used (using macro definitions) : - -ndk_module_main_conf_t -ndk_module_srv_conf_t -ndk_module_loc_conf_t - -e.g - -#define ndk_module_loc_conf_t ngx_http_my_module_loc_conf_t - - -TODO ----- -Much better documentation for this diff --git a/debian/modules/http-ndk/docs/modules/set_var b/debian/modules/http-ndk/docs/modules/set_var deleted file mode 100644 index 6be5c0f..0000000 --- a/debian/modules/http-ndk/docs/modules/set_var +++ /dev/null @@ -1,124 +0,0 @@ - -set var tools -============= - -OVERVIEW --------- -This collection of tools is designed to make it easier to set Nginx variables -using a common interface. It works by plugging into and extending the features -of the internal rewrite module, and operations performed by this module are -therefore done at the rewrite phase of handling. - - -ADVANTAGES OF USING THIS MODULE -------------------------------- - -- simple interface - you don't have to worry about lots of http script compiling -- it plugs into the rewrite module, so setting (and getting) vars will happen - in the order you expect based on how they appear in the configuration file -- you do not have to worry about overriding the v->get_handler (useful if - a variable of a specific name could be set in multiple different ways) - - -WHEN TO USE THIS AND WHEN TO USE v->get_handler = my_func ---------------------------------------------------------- - -- if you want a variable to always be generated using a specific function, - and should not be over-ridden by 'set' functions (e.g. $request_uri, - $document_root), then you should use v->get_handler - -- if you want to allow a variable to be set using many possible methods, - including using the 'set' directive, then this module provides an easy way - for you to do so (if you use the v->get_handler method in this case, you may - run into problems because the get_handler may over-ride previous uses of the - set directive) - - -USAGE ------ - -- decide on the type of function you'll need to write - - type use when there are these requirements - ---- ------------------------------------- - NDK_SET_VAR_BASIC 0 variable values, no extra data - NDK_SET_VAR_DATA 0 variable values, extra data - NDK_SET_VAR_VALUE 1 variable value, no extra data - NDK_SET_VAR_VALUE_DATA 1 variable value, extra data - NDK_SET_VAR_MULTI_VALUE 2+ variable values, no extra data - NDK_SET_VAR_MULTI_VALUE_DATA 2+ variable values, extra data - NDK_SET_VAR_HASH the space needed for the result string - value is known in advance (usually - used in a hash function) - - NOTE : if none of these generic calling types suit your needs, it is - easy to extend the list of types in the .c file (and you if you let me know - I'll add them to the list - - -- define the filter function with the respective prototype - - type prototype - ---- --------- - NDK_SET_VAR_BASIC ndk_set_var_pt - NDK_SET_VAR_DATA ndk_set_var_data_pt - NDK_SET_VAR_VALUE ndk_set_var_value_pt - NDK_SET_VAR_DATA_VALUE ndk_set_var_value_data_pt - NDK_SET_VAR_MULTI_VALUE ndk_set_var_value_pt - NDK_SET_VAR_MULTI_VALUE_DATA ndk_set_var_value_data_pt - NDK_SET_VAR_HASH ndk_set_var_hash_pt - - (See ngx_tools_module.h for the prototype definitions.) - - Note : For the multi_value functions, the variable value pointer is to the - first value (with the others being in an array following it) - - -to use one of the default setup functions ------------------------------------------ - -- define one or multiple ngx_http_var_filter_t's at the global scope, setting : - - type = (one of types above) - func = function to call - size = (for multi value) the number of variable values - (for hash) length of buffer to allocate - data = (for data functions) additional data (see note below) - -- define a configuration directive (see in the .c file for examples), where the - function is 'ngx_http_set_var' and the 'post' is a pointer your filter definition - - -to setup in a customized way ----------------------------- - -- define a configuration directive which has your own specific configuration function - -- inside your config function, define one or several ngx_http_var_filter_t's like - above, and call one of the ngx_http_set_var_..._core functions, passing the - variable name and value pointers as appropriate - see examples section - -Note : if you're passing extra data to the function, then you will probably want -to use this second method and store the data either in the loc conf, or just -allocate the space for it using one of the ngx_palloc functions. - -If the values that will be used for processing are in the same order as in the -config file and there aren't any additional values that are input, then you can -just use the (ngx_str_t *) (cf->args->elts) + 1 as your base for the values or -possibly not use the _core versions of the functions. - - -That's it! - - -FEEDBACK --------- - -If you have any comments (good/bad), or have found any bugs, please let me know at: -ngx.eugaia AT gmail DOT com - - -TODO ----- -- add more documentation/examples - diff --git a/debian/modules/http-ndk/docs/patches/more_logging_info b/debian/modules/http-ndk/docs/patches/more_logging_info deleted file mode 100644 index 3685916..0000000 --- a/debian/modules/http-ndk/docs/patches/more_logging_info +++ /dev/null @@ -1,48 +0,0 @@ -When tracking down some potential issues in the nginx constellation, -we've found it useful to understand where particular error messages -are coming from, since many of the same messages are repeated in -various places. This patch will write the source file from which the -message originated, the function name, and the line number if you're -using GCC to compile nginx. Here's an example: - -Old Output: -2010/01/12 14:43:10 [notice] 67772#0: nginx/0.7.64 -2010/01/12 14:43:10 [notice] 67772#0: built by gcc 4.0.1 (Apple Inc. build 5490) -2010/01/12 14:43:10 [notice] 67772#0: OS: Darwin 9.8.0 -2010/01/12 14:43:10 [notice] 67772#0: hw.ncpu: 2 -2010/01/12 14:43:10 [notice] 67772#0: net.inet.tcp.sendspace: 65536 -2010/01/12 14:43:10 [notice] 67772#0: kern.ipc.somaxconn: 128 -2010/01/12 14:43:10 [notice] 67772#0: getrlimit(RLIMIT_NOFILE): -256:9223372036854775807 -2010/01/12 14:43:10 [notice] 67772#0: start worker processes -2010/01/12 14:43:10 [notice] 67772#0: start worker process 67785 -2010/01/12 14:43:16 [notice] 67772#0: signal 20 (SIGCHLD) received - -New Output: -2010/01/14 16:35:09 [notice] 27241#0: src/os/unix/ngx_posix_init.c -ngx_os_status( 80) nginx/0.7.64 -2010/01/14 16:35:09 [notice] 27241#0: src/os/unix/ngx_posix_init.c -ngx_os_status( 83) built by gcc 4.0.1 (Apple Inc. build 5490) -2010/01/14 16:35:09 [notice] 27241#0: src/os/unix/ngx_darwin_init.c -ngx_os_specific_status( 153) OS: Darwin 9.8.0 -2010/01/14 16:35:09 [notice] 27241#0: src/os/unix/ngx_darwin_init.c -ngx_os_specific_status( 166) hw.ncpu: 2 -2010/01/14 16:35:09 [notice] 27241#0: src/os/unix/ngx_darwin_init.c -ngx_os_specific_status( 166) net.inet.tcp.sendspace: 65536 -2010/01/14 16:35:09 [notice] 27241#0: src/os/unix/ngx_darwin_init.c -ngx_os_specific_status( 166) kern.ipc.somaxconn: 128 -2010/01/14 16:35:09 [notice] 27241#0: src/os/unix/ngx_posix_init.c -ngx_os_status( 92) getrlimit(RLIMIT_NOFILE): -2560:9223372036854775807 -2010/01/14 16:35:09 [notice] 27241#0: src/os/unix/ngx_process_cycle.c -ngx_start_worker_processes( 337) start worker processes -2010/01/14 16:35:09 [notice] 27241#0: src/os/unix/ngx_process.c -ngx_spawn_process( 201) start worker process 27254 -2010/01/14 16:35:14 [notice] 27241#0: src/os/unix/ngx_process.c -ngx_signal_handler( 420) signal 20 (SIGCHLD) received - -Formatting the filename and function name fields into fixed-width -fields would be nicer, however that would require further changes in -src/core/ngx_string.c - -(C) Brian Moran - bmoran@onehub.com (posted to nginx-devel mailing list on 15/01/10) diff --git a/debian/modules/http-ndk/docs/upstream/list b/debian/modules/http-ndk/docs/upstream/list deleted file mode 100644 index 3ad485d..0000000 --- a/debian/modules/http-ndk/docs/upstream/list +++ /dev/null @@ -1,45 +0,0 @@ - -NDK_UPSTREAM_LIST ------------------ - -This submodule provides a directive that creates a list of upstreams, with -optional weighting. This list can then be used by other modules to hash over -the upstreams however they choose. - - -USAGE IN CONF FILE ------------------- - -e.g. upstream_list name backend1 4:backend2 3:backend3; - - - -USAGE WITH OTHER MODULES ------------------------- - -Add a line like - -CFLAGS="$CFLAGS -DNDK_UPSTREAM_LIST" - -to the config file of your module. - - - -INTEGRATING WITH YOUR MODULE ----------------------------- - -The upstream lists are stored in the array given in the lists.h file, which is -an array of ndk_upstream_list_t elts. The elts are currently all pointers to -strings which have been distributed according to the weight - so if there are -two backends, with weight 3 and 4 respectively, there will be 7 pointers in -total with the first 3 pointing to the first backend and the last 4 to the -second. - - - -TODO ----- -- replace strings with pointers to upstreams if they are available (and if - this is possible) -- add additional 'http://' to strings if necessary -- improve this documentation diff --git a/debian/modules/http-ndk/examples/README b/debian/modules/http-ndk/examples/README deleted file mode 100644 index 22e2417..0000000 --- a/debian/modules/http-ndk/examples/README +++ /dev/null @@ -1,12 +0,0 @@ - -2010 (C) Marcus Clyne - - -Examples --------- - -In this section there are a number of examples of the various features of the tools -module. These have been given in the form of dummy modules, to make it easier to -use as templates for your own module should you choose to do so. - - diff --git a/debian/modules/http-ndk/examples/http/set_var/config b/debian/modules/http-ndk/examples/http/set_var/config deleted file mode 100644 index aa58f77..0000000 --- a/debian/modules/http-ndk/examples/http/set_var/config +++ /dev/null @@ -1,4 +0,0 @@ -ngx_addon_name=ngx_http_set_var_examples_module -HTTP_MODULES="$HTTP_MODULES ngx_http_set_var_examples_module" -NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_set_var_examples_module.c" -have=NDK_SET_VAR . auto/have \ No newline at end of file diff --git a/debian/modules/http-ndk/examples/http/set_var/ngx_http_set_var_examples_module.c b/debian/modules/http-ndk/examples/http/set_var/ngx_http_set_var_examples_module.c deleted file mode 100644 index 7a4daae..0000000 --- a/debian/modules/http-ndk/examples/http/set_var/ngx_http_set_var_examples_module.c +++ /dev/null @@ -1,136 +0,0 @@ - -/* - * 2010 (C) Marcus Clyne - */ - - -#include - - -static ngx_int_t ngx_http_set_var_concat2 (ngx_http_request_t *r, ngx_str_t *val, ngx_http_variable_value_t *v); -static char * ngx_http_set_prepend_hello (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); - - -static ndk_set_var_t ngx_http_var_set_concat2 = { - NDK_SET_VAR_MULTI_VALUE, - ngx_http_set_var_concat2, - 2, - NULL -}; - - -static ngx_command_t ngx_http_set_var_examples_commands[] = { - { - ngx_string ("set_concat2"), - NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_SIF_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF|NGX_CONF_TAKE3, - ndk_set_var_multi_value, - 0, - 0, - &ngx_http_var_set_concat2 - }, - { - ngx_string ("set_prepend_hello"), - NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_SIF_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF|NGX_CONF_TAKE1, - ngx_http_set_prepend_hello, - 0, - 0, - NULL - }, - ngx_null_command -}; - - -ngx_http_module_t ngx_http_set_var_examples_module_ctx = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}; -ngx_module_t ngx_http_set_var_examples_module = { - - NGX_MODULE_V1, - &ngx_http_set_var_examples_module_ctx, // module context - ngx_http_set_var_examples_commands, // module directives - NGX_HTTP_MODULE, // module type - NULL, // init master - NULL, // init module - NULL, // init process - NULL, // init thread - NULL, // exit thread - NULL, // exit process - NULL, // exit master - NGX_MODULE_V1_PADDING -}; - - -/* - This function is called by both examples, takes two variable values and concatenates them - to give a third string. -*/ - -static ngx_int_t -ngx_http_set_var_concat2 (ngx_http_request_t *r, ngx_str_t *val, ngx_http_variable_value_t *v) -{ - size_t len; - ngx_http_variable_value_t *v2; - u_char *p; - - v2 = v + 1; - - len = v->len + v2->len; - - /* - * NDK provided abbreviation for the following code: - * - * p = ngx_palloc (r->pool, len); - * if (p == NULL) - * return NGX_ERROR; - * - * */ - ndk_palloc_re(p, r->pool, len); - - val->data = p; - val->len = len; - - ngx_memzero (p, len); - - p = ngx_cpymem (p, v->data, v->len); - ngx_memcpy (p, v2->data, v2->len); - - return NGX_OK; -} - - - -/* - This function demonstrates using the 'core' function in a function that appends the word - 'hello_' to the beginning of a variable. - - set $var world; - set_prepend_hello $var $var; - - If the arguments used in the variable value filter do not all come directly from the conf - file, or are not given in the order - - direcive $var_name val1 "val2 string $var" ... - - then the _core functions should be used inside the function that is called when the directive - is read. -*/ - -static char * -ngx_http_set_prepend_hello (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - ngx_str_t s[2], *var_name; - ndk_set_var_t filter; - - var_name = cf->args->elts; - var_name++; - - s[0].data = (u_char*) "hello_"; - s[0].len = 6; - - s[1] = *(var_name + 1); - - filter.type = NDK_SET_VAR_MULTI_VALUE; - filter.func = ngx_http_set_var_concat2; - filter.size = 2; - - return ndk_set_var_multi_value_core (cf, var_name, (ngx_str_t *) s, &filter); -} - diff --git a/debian/modules/http-ndk/ngx_auto_lib_core b/debian/modules/http-ndk/ngx_auto_lib_core deleted file mode 100644 index d5441fb..0000000 --- a/debian/modules/http-ndk/ngx_auto_lib_core +++ /dev/null @@ -1,797 +0,0 @@ - -## Directories to search for usable builds: -## -## - [$PFX]_INC and [$PFX]_LIB -## - the dir specified by --with-[$pfx]=* -## - each dir named [$pfx]-* under [$PFX]_BASE (descending order) -## - each dir named [$pfx]-* under $ngx_src_dir/.. (descending order) -## - system_paths (see below) -## -## Note : specifying [$PFX]_INC or [$PFX]_LIB prevents other dirs being tried -## specifying --with-[$pfx]= prevents autodiscovery of dirs -## -## Note : if this file is not in the same directory as the config file, the value -## for ngx_auto_lib_file should be changed to a relative path from that file -## e.g. : $ngx_addon_dir/libs/ngx_auto_lib -## -## TODO : explain hooks - -############# -## VERSION ## -############# - -ngx_auto_lib_version=1001 - -if [ ! $ngx_auto_lib_file_version ] || [ $ngx_auto_lib_file_version -lt $ngx_auto_lib_version ]; then - - if [ ! $ngx_addon_dir ]; then - ngx_addon_dir=`cd $(dirname $0); pwd` - fi - - ngx_auto_lib_file="$ngx_addon_dir/ngx_auto_lib_core" - ngx_auto_lib_file_version="$ngx_auto_lib_version" -fi - -############### -## VARIABLES ## -############### - -v= -v="$v inc_path" -v="$v incs" -v="$v libs" -v="$v name" -v="$v path" -v="$v run" -v="$v test" -ev= -ev="$ev add_libs" -ev="$ev add_path" -ev="$ev build_dirs" -ev="$ev build_inc_dirs" -ev="$ev build_lib_dirs" -ev="$ev check_macros_defined" -ev="$ev check_macros_non_zero" -ev="$ev defines" -ev="$ev deps" -ev="$ev exit_if_not_found" -ev="$ev haves" -ev="$ev inc_names" -ev="$ev lib_files" -ev="$ev lib_names" -ev="$ev libs_to_add" -ev="$ev modules" -ev="$ev srcs" -ev="$ev shared" -ev="$ev test_libs" -ev="$ev variables" - -ngx_feature_vars="$v" -ngx_feature_extra_vars="$ev" -ngx_feature_all_vars="$v $ev" - -NGX_AUTO_LIB_DEFAULT_SYSTEM_DIRS='/usr/local /usr /opt/local /opt /usr/pkg' - -#################### -## UTIL FUNCTIONS ## -#################### - -to_upper() { - echo "$@" | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' -} - -to_lower() { - echo "$@" | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' -} - -#################### -## INIT FUNCTIONS ## -#################### - -ngx_auto_lib_init() { - - . $ngx_auto_lib_file - - ngx_auto_lib_init_latest $@ -} - -ngx_auto_lib_init_latest() { - - # set name and prefixes - - if [ ! $1 ]; then - echo "ngx_auto_lib_init() requires that a name be passed" - exit 1 - fi - - ngx_auto_lib_name=$1 - ngx_auto_lib_module_name=$2 - - if [ $2 ]; then - NGX_AUTO_LIB_PFX=`to_upper $2` - else - NGX_AUTO_LIB_PFX=`to_upper $1` - fi - - ngx_auto_lib_pfx=`to_lower $NGX_AUTO_LIB_PFX` - - ngx_auto_lib_clean_feature_vars -} - -ngx_auto_lib_clean_feature_vars() { - for var in $ngx_feature_all_vars; do - eval ngx_feature_$var= - done -} - -ngx_auto_lib_get_variables() { - - local pfx=$ngx_auto_lib_pfx - local PFX=$NGX_AUTO_LIB_PFX - - eval NGX_AUTO_LIB_INC=\"\$${PFX}_INC\" - eval NGX_AUTO_LIB_LIB=\"\$${PFX}_LIB\" - eval NGX_AUTO_LIB_DIR=\"\$${PFX}\" - eval NGX_AUTO_LIB_BASE=\"\$${PFX}_BASE\" - eval NGX_AUTO_LIB_SEARCH_LIB_INC=\"\$${PFX}_SEARCH_LIB_INC\" - eval NGX_AUTO_LIB_SEARCH_DIR=\"\$${PFX}_SEARCH_DIR\" - eval NGX_AUTO_LIB_SEARCH_BASE=\"\$${PFX}_SEARCH_BASE\" - eval NGX_AUTO_LIB_SEARCH_BASE_PREFIX=\"\$${PFX}_SEARCH_BASE_PREFIX\" - eval NGX_AUTO_LIB_SEARCH_PARENT=\"\$${PFX}_SEARCH_PARENT\" - eval NGX_AUTO_LIB_SEARCH_SYSTEM=\"\$${PFX}_SEARCH_SYSTEM\" - eval NGX_AUTO_LIB_SHARED=\"\$${PFX}_SHARED\" - eval NGX_AUTO_LIB_SYSTEM_DIRS=\"\$${PFX}_SYSTEM_DIR\" - eval USE_NGX_AUTO_LIB=\"\$USE_${LIB}\" - - if [ ! "$NGX_AUTO_LIB_DIR" ]; then - NGX_AUTO_LIB_DIR=NONE - fi - - if [ ! "$USE_NGX_AUTO_LIB" ]; then - if [ $ngx_feature_check_macros_defined -o $ngx_feature_check_macros_non_zero ]; then - USE_NGX_AUTO_LIB=MAYBE - elif [ "$ngx_feature_required" = no ]; then - USE_NGX_AUTO_LIB=MAYBE - else - USE_NGX_AUTO_LIB=YES - fi - fi - - if [ ! "$NGX_AUTO_LIB_SYSTEM_DIRS" ]; then - NGX_AUTO_LIB_SYSTEM_DIRS=$NGX_AUTO_LIB_DEFAULT_SYSTEM_DIRS - fi - - # TODO : add _STATIC, and do searches for both static and shared libs - - if [ ! "$NGX_AUTO_LIB_SHARED" ]; then - if [ "$ngx_feature_shared" = no ]; then - NGX_AUTO_LIB_SHARED=NO - else - NGX_AUTO_LIB_SHARED=YES - fi - fi - - NGX_AUTO_LIB_SEARCH_DEP=NO - - # set default search methods - # Note : these can be over-ridden by setting NGX_AUTO_LIB_SEARCH_[type]=YES|NO - - local auto=y - - if [ "$NGX_AUTO_LIB_INC" ] || [ "$NGX_AUTO_LIB_LIB" ]; then - ngx_auto_lib_search LIB_INC YES - auto=n - fi - - if [ "$NGX_AUTO_LIB_DIR" != NONE ]; then - ngx_auto_lib_search DIR YES - auto=n - fi - - if [ "$NGX_AUTO_LIB_BASE" ]; then - ngx_auto_lib_search BASE YES - auto=n - fi - - if [ $auto = y ]; then - ngx_auto_lib_search PARENT YES - ngx_auto_lib_search SYSTEM YES - fi - - ngx_auto_lib_search LIB_INC NO - ngx_auto_lib_search DIR NO - ngx_auto_lib_search BASE NO - ngx_auto_lib_search PARENT NO - ngx_auto_lib_search SYSTEM NO - - if [ ! "$ngx_feature_lib_names" ]; then - ngx_feature_lib_names=$pfx - fi - - if [ ! "$ngx_feature_inc_names" ]; then - ngx_feature_inc_names=$ngx_feature_lib_names - fi - - if [ ! "$ngx_feature_exit_if_not_found" ]; then - ngx_feature_exit_if_not_found=yes - fi -} - -####################### -## DEFAULT FUNCTIONS ## -####################### - -ngx_auto_lib_set_default() { - - local suffix= - if [ $1 ]; then - suffix="_$1" - fi - - local def=$2 - local var="NGX_AUTO_LIB$suffix" - - val= - if [ ! `eval echo '$'$var` ]; then - eval $var=\"$def\" - fi - - #eval echo "$var = \$$var" -} - -ngx_auto_lib_search() { - ngx_auto_lib_set_default "SEARCH_$1" $2 -} - -#################### -## SAVE FUNCTIONS ## -#################### - -ngx_auto_lib_save_vars() { - OLD_CORE_DEPS=$CORE_DEPS - OLD_CORE_INCS=$CORE_INCS - OLD_CORE_LIBS=$CORE_LIBS - OLD_CORE_SRCS=$CORE_SRCS - OLD_LINK_DEPS=$LINK_DEPS - - CORE_DEPS= - CORE_INCS= - CORE_LIBS= - CORE_SRCS= - LINK_DEPS= -} - -ngx_auto_lib_reset_vars() { - CORE_DEPS=$OLD_CORE_DEPS - CORE_INCS=$OLD_CORE_INCS - CORE_LIBS=$OLD_CORE_LIBS - CORE_SRCS=$OLD_CORE_SRCS - LINK_DEPS=$OLD_LINK_DEPS -} - -ngx_auto_lib_save_feature_vars() { - for var in $ngx_feature_all_vars; do - eval main_ngx_feature_$var=\"\$ngx_feature_$var\" - done -} - -ngx_auto_lib_reset_feature_vars() { - for var in $ngx_feature_all_vars; do - eval ngx_feature_$var=\"\$main_ngx_feature_$var\" - done -} - -######################## -## CHECKING FUNCTIONS ## -######################## - -ngx_auto_lib_check_auto_config() { - - ngx_auto_lib_save_feature_vars - ngx_auto_lib_clean_feature_vars - - ngx_feature=$1 - ngx_feature_inc_path="`echo $CFLAGS | tr ' ' '\n' | grep -- -D | tr '\n' ' '`" - ngx_feature_incs="#include <$NGX_AUTO_CONFIG_H>" - ngx_feature_libs= - ngx_feature_path=`pwd` - ngx_feature_run=no - ngx_feature_test=$2 - - #ngx_auto_lib_print_feature_vars - - . auto/feature - - if [ $ngx_found = yes ]; then - rv=0 - else - rv=1 - fi - - ngx_auto_lib_reset_feature_vars - - return $rv -} - -ngx_auto_lib_check_macro_defined() { - - for m in $@; do - ngx_auto_lib_check_auto_config "$m" " - #ifndef $m - rubbish - #endif" && return 0 - done - - return 1 -} - -ngx_auto_lib_check_macro_non_zero() { - - for m in $@; do - ngx_auto_lib_check_auto_config "$m" " - #if !($m) - rubbish - #endif" && return 0 - done - - return 1 -} - -ngx_auto_lib_check_require() { - - if [ $USE_NGX_AUTO_LIB = YES ]; then - return 0 - elif [ $USE_NGX_AUTO_LIB = NO ]; then - return 1 - fi - - - # check if the libraries are required elsewhere - - for l in $ngx_feature_lib_names; do - [ ! "`echo $CORE_LIBS $ADDON_LIBS | grep -w -- -l$l`" ] && return 0 - done - - - - # check that any required macros are set - - local d=$ngx_feature_check_macros_defined - local nz=$ngx_feature_check_macros_non_zero - - if [ "$d" ] || [ "$nz" ]; then - - ngx_auto_lib_check_macro_defined $d && return 0 - ngx_auto_lib_check_macro_non_zero $nz && return 0 - fi - - - ngx_auto_lib_check -} - -ngx_auto_lib_check() { - return 1 -} - -################################## -## TEST PHASE HANDLER FUNCTIONS ## -################################## - -ngx_auto_lib_test() { - ngx_auto_lib_test_pre_setup "$@" - ngx_auto_lib_test_setup "$@" - ngx_auto_lib_test_post_setup "$@" - ngx_auto_lib_test_feature -} - -ngx_auto_lib_test_pre_setup() { - return 0 -} - -ngx_auto_lib_test_setup() { - - local INC=$1 - local LIB=$2 - - ngx_auto_lib_inc_dir=$INC - ngx_auto_lib_lib_dir=$LIB - - ngx_auto_lib_reset_feature_vars - - if [ ! "$ngx_feature_path" ]; then - ngx_feature_path="$INC" - fi - - ngx_feature_path="$ngx_feature_path $ngx_feature_add_path" - - for sfx in $ngx_feature_path_suffixes; do - ngx_feature_path="$ngx_feature_path $INC/$sfx" - done - - - local inc= - local lib= - local incs="$ngx_feature_inc_names" - local libs="$ngx_feature_lib_names" - local lib_files="$ngx_feature_lib_files" - - for inc in $incs; do - ngx_feature_incs="$ngx_feature_incs -#include <$inc.h>" - done - - - if [ ! "$ngx_feature_libs" ]; then - - if [ $NGX_AUTO_LIB_SHARED = YES ]; then - if [ $NGX_RPATH = YES ]; then - ngx_feature_libs="-R$LIB" - fi - ngx_feature_libs="$ngx_feature_libs -L$LIB" - - for lib in $libs; do - ngx_feature_libs="$ngx_feature_libs -l$lib" - done - - # TODO : only add --rpath when the path is not a standard system path - warn if /usr - - ngx_feature_libs="$ngx_feature_libs -Wl,--rpath -Wl,$LIB" - - else - - for lib in $lib_files; do - ngx_feature_libs="$ngx_feature_libs $LIB/$lib" - done - - for lib in $libs; do - ngx_feature_libs="$ngx_feature_libs $LIB/lib$lib.a" - done - fi - fi - - if [ ! $ngx_feature_run ]; then - ngx_feature_run=no - fi - - if [ $NGX_AUTO_LIB_SHARED = YES ]; then - - # Add a test to be called in auto/feature after compilation that will check - # whether any libraries that are linked are in fact using the path provided to - # link libraries rather than a standard path. Note : this test will work on - # all linked shared objects, even if supplied directly by setting - # $ngx_feature_libs instead of usign $ngx_feature_lib_names - - # TODO : allow for some libraries to not be checked here if desired - if part of system paths - - libs="`echo $ngx_feature_libs | tr ' ' '\n' | grep -- -l | sed 's|-l||g'`" - - local test=" - for l in $libs; do - o="'\`ldd '$NGX_AUTOTEST' | grep '$LIB'/lib\$l\\.so\`; - if [ ! \"\$o\" ]; then - chmod -x $NGX_AUTOTEST; - echo Linker does not link to correct version - else - chmod +x $NGX_AUTOTEST; - fi - done' - test="`echo "$test" | tr '\n' ' '`" - - ngx_feature_test_libs="$ngx_feature_test_libs; $test" - fi - - ngx_feature_libs="$ngx_feature_libs $ngx_feature_add_libs" - ngx_feature_libs_to_add="$ngx_feature_libs" - ngx_feature_libs="$ngx_feature_libs $ngx_feature_test_libs" - ngx_feature="$ngx_auto_lib_name library $ngx_feature" -} - -ngx_auto_lib_test_post_setup() { - return 0 -} - -ngx_auto_lib_test_feature() { - #ngx_auto_lib_print_feature_vars - . auto/feature - [ $ngx_found = yes ] && return 0 - return 1 -} - -######################## -## TEST DIR FUNCTIONS ## -######################## - -ngx_auto_lib_test_dir_pair() { - ngx_auto_lib_test_inc_dir=$1 - ngx_auto_lib_test_lib_dir=$2 - - if [ $1 = $2 ]; then - ngx_feature="in $1$3" - else - ngx_feature="in $1 and $2$3" - fi - ngx_auto_lib_test "$1" "$2" "$3" -} - -ngx_auto_lib_test_dir_pairs() { - ngx_auto_lib_test_dir_pair "$1/include" "$2/lib" "$3" && return 0 - ngx_auto_lib_test_dir_pair "$1" "$2" "$3" && return 0 - return 1 -} - -ngx_auto_lib_test_dirs() { - - local msg="$1" - local bdir idir ldir - - local bdirs=$ngx_feature_build_dirs - local idirs=$ngx_feature_build_inc_dirs - local ldirs=$ngx_feature_build_lib_dirs - - shift - - for dir in "$@"; do - ngx_auto_lib_test_dir=$dir - - for ldir in $ldirs; do - for idir in $idirs; do - ngx_auto_lib_test_dir_pair "$dir/$idir" "$dir/$ldir" "$msg" && return 0 - done - done - - for ldir in $ldirs; do - ngx_auto_lib_test_dir_pair "$dir" "$dir/$ldir" "$msg" && return 0 - done - - for idir in $idirs; do - ngx_auto_lib_test_dir_pair "$dir/$idir" "$dir" "$msg" && return 0 - done - - for bdir in $bdirs; do - ngx_auto_lib_test_dir_pairs "$dir/$bdir" "$dir/$bdir" "$msg" && return 0 - done - - ngx_auto_lib_test_dir_pairs "$dir" "$dir" "$msg" && return 0 - ngx_auto_lib_test_dir= - done - - return 1 -} - -ngx_auto_lib_test_install_dirs() { - - local msg="$1" - local dir= - - shift - - for dir in "$@"; do - ngx_auto_lib_test_dir=$dir - ngx_auto_lib_test_dir_pair "$dir/include" "$dir/lib" "$msg" && return 0 - ngx_auto_lib_test_dir= - done - - return 1 -} - -ngx_auto_lib_run_tests() { - - local name="$ngx_auto_lib_name" - local pfx="$ngx_auto_lib_pfx" - local PFX="$NGX_AUTO_LIB_PFX" - local INC="$NGX_AUTO_LIB_INC" - local LIB="$NGX_AUTO_LIB_LIB" - local DIR="$NGX_AUTO_LIB_DIR" - local BASE="$NGX_AUTO_LIB_BASE" - local MSG="$NGX_AUTO_LIB_MSG" - - - ngx_found=no - - - # dependency - - if [ $NGX_AUTO_LIB_SEARCH_DEP = YES ]; then - ngx_auto_lib_test_dir_pair "$INC" "$LIB" "$MSG" - return $? - fi - - - # lib and include dirs set explicitly (e.g. $OPENSSL_INC, $OPENSSL_LIB) - - if [ $NGX_AUTO_LIB_SEARCH_LIB_INC = YES ]; then - ngx_auto_lib_test_dir_pair "$INC" "$LIB" " (specified by \$${PFX}_INC and \$${PFX}_LIB)" && return 0 - fi - - - # path specified by ${PFX} (e.g. $OPENSSL, $PCRE) - # Note : these will be set automatically by configure for OpenSSL, PCRE, Zlib etc - # TODO : change to searching more than one path - - if [ $NGX_AUTO_LIB_SEARCH_DIR = YES ] && [ $DIR != NONE ]; then - ngx_auto_lib_test_dirs " (specified by \$${PFX})" $DIR && return 0 - fi - - - # directories beginning with '$pfx-' that are in $NGX_AUTO_LIB_BASE (e.g. $OPENSSL_BASE) - - if [ $NGX_AUTO_LIB_SEARCH_BASE = YES ] && [ $BASE ]; then - - p=$NGX_AUTO_LIB_SEARCH_BASE_PREFIX - - if [ "$p" = YES ]; then - p="!ame $pfx-*" - elif [ "$p" ]; then - p="!ame $p*" - fi - - ngx_auto_lib_test_dirs " (found under \$${PFX}_BASE)" \ - `find $BASE/* -maxdepth 0 -type d $p 2> /dev/null | sort -r` && return 0 - fi - - - # directories beginning with '$pfx-' that are in the same directory as the Nginx source - - if [ $NGX_AUTO_LIB_SEARCH_PARENT = YES ]; then - local src_dir=`cd ..; pwd` - ngx_auto_lib_test_dirs " (found under Nginx source parent dir)" \ - `find $src_dir/* -maxdepth 0 -type d !ame $pfx-* 2> /dev/null | sort -r` && return 0 - fi - - - # system folders - - if [ $NGX_AUTO_LIB_SEARCH_SYSTEM = YES ]; then - ngx_auto_lib_test_install_dirs "" $NGX_AUTO_LIB_SYSTEM_DIRS && return 0 - fi - - return 1 -} - -####################### -## HANDLER FUNCTIONS ## -####################### - -ngx_auto_lib_run() { - ngx_auto_lib_get_variables - eval AUTO_$NGX_AUTO_LIB_PFX=NO - - ngx_auto_lib_check_require || return - ngx_auto_lib_setup || return - ngx_auto_lib_save_feature_vars - ngx_auto_lib_run_tests - ngx_auto_lib_post_tests || return - ngx_auto_lib_finalize -} - -ngx_auto_lib_print_feature_vars() { - echo ---------------------------- - for var in $ngx_feature_vars; do - eval "echo ngx_feature_$var = \$ngx_feature_$var" - done - echo ---------------------------- -} - -ngx_auto_lib_setup() { - return 0 -} - -ngx_auto_lib_post_tests() { - return 0 -} - -############################# -## SET VARIABLES FUNCTIONS ## -############################# - -# TODO : add HTTP/ADDON settings too - -ngx_auto_lib_set_core_variables() { - # TODO : don't add includes / libs more than once - - eval CORE_DEPS=\"$CORE_DEPS $ngx_feature_deps\" - eval CORE_INCS=\"$CORE_INCS $ngx_feature_path\" - eval CORE_LIBS=\"$CORE_LIBS $ngx_feature_libs_to_add\" - eval CORE_SRCS=\"$CORE_SRCS $ngx_feature_srcs\" -} - -ngx_auto_lib_set_generic_variables() { - local INC=$ngx_auto_lib_test_inc_dir - local LIB=$ngx_auto_lib_test_lib_dir - - modules="$modules $ngx_feature_modules" - - for have in $ngx_feature_haves; do - . auto/have - done - - set - $ngx_feature_defines - - while [ $1 ]; do - have=$1 - value=$2 - . auto/define - done - - local PFX=$NGX_AUTO_LIB_PFX - - eval USE_$PFX=NO - - if [ $ngx_auto_lib_test_dir ]; then - eval $PFX=$ngx_auto_lib_test_dir - else - eval $PFX=$ngx_auto_lib_lib_dir - fi - - if [ $NGX_AUTO_LIB_SHARED != YES ]; then - for l in $ngx_feature_lib_names; do - CORE_LIBS=`echo $CORE_LIBS | sed 's|-\||g'` - ADDON_LIBS=`echo $ADDON_LIBS | sed 's|-\||g'` - done - fi - - eval ${PFX}_INC=$INC - eval ${PFX}_LIB=$LIB - eval ${PFX}_SHARED=$NGX_AUTO_LIB_SHARED - eval AUTO_$PFX=YES -} - -ngx_auto_lib_set_custom_variables() { - return 0 -} - -######################## -## FINALIZE FUNCTIONS ## -######################## - -ngx_auto_lib_finalize() { - ngx_auto_lib_finalize_core -} - -ngx_auto_lib_finalize_core() { - - if [ $ngx_found = yes ]; then - - ngx_auto_lib_set_core_variables - ngx_auto_lib_set_generic_variables - - if [ "$ngx_feature_variables" ]; then - eval $ngx_feature_variables - fi - - ngx_auto_lib_set_custom_variables - - elif [ $ngx_feature_exit_if_not_found = yes ]; then - - if [ $ngx_auto_lib_module_name ]; then - module_txt=" by the $ngx_auto_lib_module_name module" - else - module_text= - fi - - lib=$ngx_auto_lib_name - pfx=$ngx_auto_lib_pfx - PFX=$NGX_AUTO_LIB_PFX - -cat << END - -$0: error: the $lib library is required$module_txt, but cannot -be found using the current configuration. In order for the compilation to succeed, -you will need to install the library using your system's package installer or point -the configure script to the library using one of the following variables : - -to define a dir to find $pfx library (source or install dir) $PFX -to define $pfx lib and include dirs separately ${PFX}_LIB & ${PFX}_INC -to define a base dir to search for dirs beginning with $pfx- ${PFX}_BASE - -e.g. - -$ export ${PFX}_LIB=/path/to/library/lib -$ export ${PFX}_LIB=/path/to/library/include -$ $0 ... - -END - exit 1 - fi -} - diff --git a/debian/modules/http-ndk/notes/CHANGES b/debian/modules/http-ndk/notes/CHANGES deleted file mode 100644 index eaaef0b..0000000 --- a/debian/modules/http-ndk/notes/CHANGES +++ /dev/null @@ -1,17 +0,0 @@ -Changelog ---------- - -0.1 feature : set_var functions -0.1.1 feature : upstream_list directive and functions -0.2 feature : conf merge functions - feature : conf command macros - feature : 'action' macros -0.2.1 bugfix : ndk_map_uri_to_path_add_suffix -0.2.2 feature : regex conf functions -0.2.3 feature : version number -0.2.4 change : the auto/build script is now executed automatically on compilation -0.2.9 feature : ngx_auto_lib included with source -0.2.11 bugfix : hash functions did not display properly -0.2.12 feature : patches for rewrite functions and rewrite phase handler -0.2.13 change : revert to old behaviour rewrite functions - change : pre-generated config and macro files now provided \ No newline at end of file diff --git a/debian/modules/http-ndk/notes/LICENSE b/debian/modules/http-ndk/notes/LICENSE deleted file mode 100644 index 7074f57..0000000 --- a/debian/modules/http-ndk/notes/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -Copyright (c) 2010, Marcus Clyne, Simpl (simpl.it) -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the organization (Simpl) nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL MARCUS CLYNE OR SIMPL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/debian/modules/http-ndk/objs/ndk_array.h b/debian/modules/http-ndk/objs/ndk_array.h deleted file mode 100644 index 4e0d518..0000000 --- a/debian/modules/http-ndk/objs/ndk_array.h +++ /dev/null @@ -1,113 +0,0 @@ - -/* - * 2010 (C) Marcus Clyne - * - * DO NOT EDIT THIS FILE MANUALLY - * ------------------------------ - * This file has been generated automatically from scripts in the $base/auto dir and - * data in the $base/auto/data dir. If you wish to edit the output of this file, then - * you should edit these files instead. - * -*/ - - -/* Non-generated macros */ - -#define ndk_array_count(a) ((a)->nelts) -#define ndk_array_get_first(a) ((a)->elts) -#define ndk_array_get_index(a,n) ((void*) ((char*) (a)->elts + (a)->size * n)) -#define ndk_array_get_last(a) ((void*) ((char*) (a)->elts + (a)->size * ((a)->nelts - 1))) -#define ndk_array_get_reverse_index(a,n) ((void*) ((char*) (a)->elts + (a)->size * ((a)->nelts - 1 - n))) -#define ndk_array_push_clean(p,a) {p = ngx_array_push (a); ndk_zerop (p);} - - -/* base action macro macros */ - -#define ndk_array_create_ac(a,pl,n,sz,ac) {a = ngx_array_create (pl,n,sz); if (a == NULL) ac;} -#define ndk_array_init_ac(a,pl,n,sz,ac) {if (ngx_array_init (a,pl,n,sz) == NGX_ERROR) ac;} -#define ndk_array_push_ac(p,a,ac) {p = ngx_array_push (a); if (p == NULL) ac;} -#define ndk_array_push_clean_ac(p,a,ac) {p = ngx_array_push (a); if (p == NULL) ac; ndk_zerop (p);} -#define ndk_array_push_n_ac(p,a,n,ac) {p = ngx_array_push_n (a,n); if (p == NULL) ac;} -#define ndk_array_push_n_clean_ac(p,a,n,ac) {p = ngx_array_push_n (a,n); if (p == NULL) ac; ndk_zeropn (p,n);} - - -/* generated action macros */ - -#define ndk_array_create_r0(a,pl,n,sz) ndk_array_create_ac (a,pl,n,sz,return 0) -#define ndk_array_create_r1(a,pl,n,sz) ndk_array_create_ac (a,pl,n,sz,return 1) -#define ndk_array_create_r_1(a,pl,n,sz) ndk_array_create_ac (a,pl,n,sz,return -1) -#define ndk_array_create_rok(a,pl,n,sz) ndk_array_create_ac (a,pl,n,sz,return NGX_OK) -#define ndk_array_create_rce(a,pl,n,sz) ndk_array_create_ac (a,pl,n,sz,return NGX_CONF_ERROR) -#define ndk_array_create_rcok(a,pl,n,sz) ndk_array_create_ac (a,pl,n,sz,return NGX_CONF_OK) -#define ndk_array_create_re(a,pl,n,sz) ndk_array_create_ac (a,pl,n,sz,return NGX_ERROR) -#define ndk_array_create_rn(a,pl,n,sz) ndk_array_create_ac (a,pl,n,sz,return NULL) -#define ndk_array_create_rse(a,pl,n,sz) ndk_array_create_ac (a,pl,n,sz,{ngx_script_error (e); return;}) -#define ndk_array_create_sce(a,pl,n,sz) ndk_array_create_ac (a,pl,n,sz,{ngx_script_configure_error (c); return;}) -#define ndk_array_create_g(a,pl,n,sz,_lb) ndk_array_create_ac (a,pl,n,sz,goto _lb) -#define ndk_array_create_ge(a,pl,n,sz) ndk_array_create_ac (a,pl,n,sz,goto error) - -#define ndk_array_init_r0(a,pl,n,sz) ndk_array_init_ac (a,pl,n,sz,return 0) -#define ndk_array_init_r1(a,pl,n,sz) ndk_array_init_ac (a,pl,n,sz,return 1) -#define ndk_array_init_r_1(a,pl,n,sz) ndk_array_init_ac (a,pl,n,sz,return -1) -#define ndk_array_init_rok(a,pl,n,sz) ndk_array_init_ac (a,pl,n,sz,return NGX_OK) -#define ndk_array_init_rce(a,pl,n,sz) ndk_array_init_ac (a,pl,n,sz,return NGX_CONF_ERROR) -#define ndk_array_init_rcok(a,pl,n,sz) ndk_array_init_ac (a,pl,n,sz,return NGX_CONF_OK) -#define ndk_array_init_re(a,pl,n,sz) ndk_array_init_ac (a,pl,n,sz,return NGX_ERROR) -#define ndk_array_init_rn(a,pl,n,sz) ndk_array_init_ac (a,pl,n,sz,return NULL) -#define ndk_array_init_rse(a,pl,n,sz) ndk_array_init_ac (a,pl,n,sz,{ngx_script_error (e); return;}) -#define ndk_array_init_sce(a,pl,n,sz) ndk_array_init_ac (a,pl,n,sz,{ngx_script_configure_error (c); return;}) -#define ndk_array_init_g(a,pl,n,sz,_lb) ndk_array_init_ac (a,pl,n,sz,goto _lb) -#define ndk_array_init_ge(a,pl,n,sz) ndk_array_init_ac (a,pl,n,sz,goto error) - -#define ndk_array_push_r0(p,a) ndk_array_push_ac (p,a,return 0) -#define ndk_array_push_r1(p,a) ndk_array_push_ac (p,a,return 1) -#define ndk_array_push_r_1(p,a) ndk_array_push_ac (p,a,return -1) -#define ndk_array_push_rok(p,a) ndk_array_push_ac (p,a,return NGX_OK) -#define ndk_array_push_rce(p,a) ndk_array_push_ac (p,a,return NGX_CONF_ERROR) -#define ndk_array_push_rcok(p,a) ndk_array_push_ac (p,a,return NGX_CONF_OK) -#define ndk_array_push_re(p,a) ndk_array_push_ac (p,a,return NGX_ERROR) -#define ndk_array_push_rn(p,a) ndk_array_push_ac (p,a,return NULL) -#define ndk_array_push_rse(p,a) ndk_array_push_ac (p,a,{ngx_script_error (e); return;}) -#define ndk_array_push_sce(p,a) ndk_array_push_ac (p,a,{ngx_script_configure_error (c); return;}) -#define ndk_array_push_g(p,a,_lb) ndk_array_push_ac (p,a,goto _lb) -#define ndk_array_push_ge(p,a) ndk_array_push_ac (p,a,goto error) - -#define ndk_array_push_clean_r0(p,a) ndk_array_push_clean_ac (p,a,return 0) -#define ndk_array_push_clean_r1(p,a) ndk_array_push_clean_ac (p,a,return 1) -#define ndk_array_push_clean_r_1(p,a) ndk_array_push_clean_ac (p,a,return -1) -#define ndk_array_push_clean_rok(p,a) ndk_array_push_clean_ac (p,a,return NGX_OK) -#define ndk_array_push_clean_rce(p,a) ndk_array_push_clean_ac (p,a,return NGX_CONF_ERROR) -#define ndk_array_push_clean_rcok(p,a) ndk_array_push_clean_ac (p,a,return NGX_CONF_OK) -#define ndk_array_push_clean_re(p,a) ndk_array_push_clean_ac (p,a,return NGX_ERROR) -#define ndk_array_push_clean_rn(p,a) ndk_array_push_clean_ac (p,a,return NULL) -#define ndk_array_push_clean_rse(p,a) ndk_array_push_clean_ac (p,a,{ngx_script_error (e); return;}) -#define ndk_array_push_clean_sce(p,a) ndk_array_push_clean_ac (p,a,{ngx_script_configure_error (c); return;}) -#define ndk_array_push_clean_g(p,a,_lb) ndk_array_push_clean_ac (p,a,goto _lb) -#define ndk_array_push_clean_ge(p,a) ndk_array_push_clean_ac (p,a,goto error) - -#define ndk_array_push_n_r0(p,a,n) ndk_array_push_n_ac (p,a,n,return 0) -#define ndk_array_push_n_r1(p,a,n) ndk_array_push_n_ac (p,a,n,return 1) -#define ndk_array_push_n_r_1(p,a,n) ndk_array_push_n_ac (p,a,n,return -1) -#define ndk_array_push_n_rok(p,a,n) ndk_array_push_n_ac (p,a,n,return NGX_OK) -#define ndk_array_push_n_rce(p,a,n) ndk_array_push_n_ac (p,a,n,return NGX_CONF_ERROR) -#define ndk_array_push_n_rcok(p,a,n) ndk_array_push_n_ac (p,a,n,return NGX_CONF_OK) -#define ndk_array_push_n_re(p,a,n) ndk_array_push_n_ac (p,a,n,return NGX_ERROR) -#define ndk_array_push_n_rn(p,a,n) ndk_array_push_n_ac (p,a,n,return NULL) -#define ndk_array_push_n_rse(p,a,n) ndk_array_push_n_ac (p,a,n,{ngx_script_error (e); return;}) -#define ndk_array_push_n_sce(p,a,n) ndk_array_push_n_ac (p,a,n,{ngx_script_configure_error (c); return;}) -#define ndk_array_push_n_g(p,a,n,_lb) ndk_array_push_n_ac (p,a,n,goto _lb) -#define ndk_array_push_n_ge(p,a,n) ndk_array_push_n_ac (p,a,n,goto error) - -#define ndk_array_push_n_clean_r0(p,a,n) ndk_array_push_n_clean_ac (p,a,n,return 0) -#define ndk_array_push_n_clean_r1(p,a,n) ndk_array_push_n_clean_ac (p,a,n,return 1) -#define ndk_array_push_n_clean_r_1(p,a,n) ndk_array_push_n_clean_ac (p,a,n,return -1) -#define ndk_array_push_n_clean_rok(p,a,n) ndk_array_push_n_clean_ac (p,a,n,return NGX_OK) -#define ndk_array_push_n_clean_rce(p,a,n) ndk_array_push_n_clean_ac (p,a,n,return NGX_CONF_ERROR) -#define ndk_array_push_n_clean_rcok(p,a,n) ndk_array_push_n_clean_ac (p,a,n,return NGX_CONF_OK) -#define ndk_array_push_n_clean_re(p,a,n) ndk_array_push_n_clean_ac (p,a,n,return NGX_ERROR) -#define ndk_array_push_n_clean_rn(p,a,n) ndk_array_push_n_clean_ac (p,a,n,return NULL) -#define ndk_array_push_n_clean_rse(p,a,n) ndk_array_push_n_clean_ac (p,a,n,{ngx_script_error (e); return;}) -#define ndk_array_push_n_clean_sce(p,a,n) ndk_array_push_n_clean_ac (p,a,n,{ngx_script_configure_error (c); return;}) -#define ndk_array_push_n_clean_g(p,a,n,_lb) ndk_array_push_n_clean_ac (p,a,n,goto _lb) -#define ndk_array_push_n_clean_ge(p,a,n) ndk_array_push_n_clean_ac (p,a,n,goto error) - diff --git a/debian/modules/http-ndk/objs/ndk_conf_cmd_basic.h b/debian/modules/http-ndk/objs/ndk_conf_cmd_basic.h deleted file mode 100644 index c2db894..0000000 --- a/debian/modules/http-ndk/objs/ndk_conf_cmd_basic.h +++ /dev/null @@ -1,2203 +0,0 @@ - -/* - * 2010 (C) Marcus Clyne - * - * DO NOT EDIT THIS FILE MANUALLY - * ------------------------------ - * This file has been generated automatically from scripts in the $base/auto dir and - * data in the $base/auto/data dir. If you wish to edit the output of this file, then - * you should edit these files instead. - * -*/ - - -/* conf cmd core values/bitmasks */ - -#define NDK_1MORE NGX_1MORE -#define NDK_2MORE NGX_2MORE -#define NDK_ANY NGX_ANY -#define NDK_ARGS_NUMBER NGX_ARGS_NUMBER -#define NDK_BLOCK NGX_BLOCK -#define NDK_FLAG NGX_FLAG -#define NDK_MULTI NGX_MULTI -#define NDK_TAKE1 NGX_TAKE1 -#define NDK_TAKE12 NGX_TAKE12 -#define NDK_TAKE123 NGX_TAKE123 -#define NDK_TAKE1234 NGX_TAKE1234 -#define NDK_TAKE13 NGX_TAKE13 -#define NDK_TAKE2 NGX_TAKE2 -#define NDK_TAKE23 NGX_TAKE23 -#define NDK_TAKE3 NGX_TAKE3 -#define NDK_TAKE4 NGX_TAKE4 -#define NDK_TAKE5 NGX_TAKE5 -#define NDK_TAKE6 NGX_TAKE6 -#define NDK_TAKE7 NGX_TAKE7 -#define NDK_TAKE8 NGX_TAKE8 - - -/* conf cmd bitmasks */ - -/* TODO : finish this */ - -#define NDK_HTTP_MAIN_CONF NGX_HTTP_MAIN_CONF -#define NDK_HTTP_SRV_CONF NGX_HTTP_SRV_CONF -#define NDK_HTTP_SIF_CONF NGX_HTTP_SIF_CONF -#define NDK_HTTP_LOC_CONF NGX_HTTP_LOC_CONF -#define NDK_HTTP_LIF_CONF NGX_HTTP_LIF_CONF -#define NDK_HTTP_UPS_CONF NGX_HTTP_UPS_CONF -#define NDK_MAIN_CONF NGX_MAIN_CONF -#define NDK_ANY_CONF NGX_ANY_CONF - - -/* compound locations */ - -#define NDK_HTTP_MAIN_SRV_CONF NDK_HTTP_MAIN_CONF|NDK_HTTP_SRV_CONF -#define NDK_HTTP_MAIN_SIF_CONF NDK_HTTP_MAIN_CONF|NDK_HTTP_SRV_SIF_CONF -#define NDK_HTTP_MAIN_LOC_CONF NDK_HTTP_MAIN_CONF|NDK_HTTP_LOC_CONF -#define NDK_HTTP_MAIN_LIF_CONF NDK_HTTP_MAIN_CONF|NDK_HTTP_LOC_LIF_CONF - -#define NDK_HTTP_SRV_SIF_CONF NDK_HTTP_SRV_CONF|NDK_HTTP_SIF_CONF -#define NDK_HTTP_SRV_LOC_CONF NDK_HTTP_SRV_CONF|NDK_HTTP_LOC_CONF -#define NDK_HTTP_SRV_LOC_LIF_CONF NDK_HTTP_SRV_CONF|NDK_HTTP_LOC_LIF_CONF -#define NDK_HTTP_SRV_SIF_LOC_CONF NDK_HTTP_SRV_SIF_CONF|NDK_HTTP_LOC_CONF -#define NDK_HTTP_SRV_SIF_LOC_LIF_CONF NDK_HTTP_SRV_SIF_CONF|NDK_HTTP_LOC_LIF_CONF - -#define NDK_HTTP_LOC_LIF_CONF NDK_HTTP_LOC_CONF|NDK_HTTP_LIF_CONF - -#define NDK_HTTP_MAIN_SRV_LOC_CONF NDK_HTTP_MAIN_CONF|NDK_HTTP_SRV_LOC_CONF -#define NDK_HTTP_MAIN_SRV_LIF_CONF NDK_HTTP_MAIN_CONF|NDK_HTTP_SRV_LIF_CONF -#define NDK_HTTP_MAIN_SIF_LOC_CONF NDK_HTTP_MAIN_CONF|NDK_HTTP_SIF_LOC_CONF -#define NDK_HTTP_MAIN_SRV_SIF_LOC_LIF_CONF NDK_HTTP_SRV_SIF_LOC_LIF_CONF|NDK_MAIN_CONF -#define NDK_HTTP_CONF NDK_HTTP_MAIN_SRV_SIF_LOC_LIF_CONF -#define NDK_HTTP_ANY_CONF NDK_HTTP_CONF|NDK_HTTP_UPS_CONF - - -/* property offsets NOTE : ngx_module_main_conf_t etc should be defined in the module's .c file before the commands */ - -#define NDK_HTTP_MAIN_CONF_PROP(p) NGX_HTTP_MAIN_CONF_OFFSET, offsetof (ndk_module_main_conf_t, p) -#define NDK_HTTP_SRV_CONF_PROP(p) NGX_HTTP_SRV_CONF_OFFSET, offsetof (ndk_module_srv_conf_t, p) -#define NDK_HTTP_LOC_CONF_PROP(p) NGX_HTTP_LOC_CONF_OFFSET, offsetof (ndk_module_loc_conf_t, p) - - -/* conf cmd basic macros */ - -#define NDK_HTTP_MAIN_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_1MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_1MORE|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_2MORE(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_2MORE|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_ANY(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ANY|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_ARGS_NUMBER(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_ARGS_NUMBER|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_BLOCK(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_BLOCK|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_FLAG(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_FLAG|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_MULTI(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_MULTI|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_TAKE1(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_TAKE12(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE12|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_TAKE123(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE123|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_TAKE1234(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE1234|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_TAKE13(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE13|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_TAKE2(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE2|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_TAKE23(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE23|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_TAKE3(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE3|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_TAKE4(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE4|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_TAKE5(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE5|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_TAKE6(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE6|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_TAKE7(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE7|NDK_ANY_CONF,\ - func, off1, off2, post}, - - -#define NDK_HTTP_MAIN_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_MAIN_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LOC_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_LIF_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_MAIN_SRV_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_MAIN_SIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LOC_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_MAIN_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_LIF_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_MAIN_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LOC_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SRV_LIF_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LOC_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_SIF_LIF_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_SIF_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_MAIN_SRV_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_MAIN_SRV_LIF_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_MAIN_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_MAIN_SRV_SIF_LOC_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_UPS_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_UPS_CONF,\ - func, off1, off2, post}, - -#define NDK_HTTP_ANY_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_HTTP_ANY_CONF,\ - func, off1, off2, post}, - -#define NDK_ANY_CONF_TAKE8(name,func,off1,off2,post)\ - {ngx_string (name),\ - NGX_CONF_TAKE8|NDK_ANY_CONF,\ - func, off1, off2, post}, - - diff --git a/debian/modules/http-ndk/objs/ndk_conf_cmd_extra.h b/debian/modules/http-ndk/objs/ndk_conf_cmd_extra.h deleted file mode 100644 index 68e276f..0000000 --- a/debian/modules/http-ndk/objs/ndk_conf_cmd_extra.h +++ /dev/null @@ -1,5423 +0,0 @@ - -/* - * 2010 (C) Marcus Clyne - * - * DO NOT EDIT THIS FILE MANUALLY - * ------------------------------ - * This file has been generated automatically from scripts in the $base/auto dir and - * data in the $base/auto/data dir. If you wish to edit the output of this file, then - * you should edit these files instead. - * -*/ - - -/* conf command macros */ - -#define NDK_HTTP_MAIN_CONF_BITMASK(name,p,post)\ - NDK_HTTP_MAIN_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_BITMASK(name,p,post)\ - NDK_HTTP_SRV_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_BITMASK(name,p,post)\ - NDK_HTTP_SIF_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_BITMASK(name,p,post)\ - NDK_HTTP_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_BITMASK(name,p,post)\ - NDK_HTTP_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_BITMASK(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_BITMASK(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_BITMASK(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_BITMASK(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_BITMASK(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_BITMASK(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_BITMASK(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_BITMASK(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_BITMASK(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_BITMASK(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_BITMASK(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_BITMASK(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_BITMASK(name,p,post)\ - NDK_HTTP_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_BITMASK(name,p,post)\ - NDK_HTTP_UPS_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_BITMASK(name,p,post)\ - NDK_HTTP_ANY_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_BITMASK(name,p,post)\ - NDK_ANY_CONF_1MORE\ - (name,\ - ndk_conf_set_bitmask_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_BUFS(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_BUFS(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_BUFS(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_BUFS(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_BUFS(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_BUFS(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_BUFS(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_BUFS(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_BUFS(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_BUFS(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_BUFS(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_BUFS(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_BUFS(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_BUFS(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_BUFS(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_BUFS(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_BUFS(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_BUFS(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_BUFS(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_BUFS(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_BUFS(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_bufs_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_COMPLEX_KEYVAL(name,p,post)\ - NDK_ANY_CONF_TAKE2\ - (name,\ - ndk_conf_set_http_complex_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_COMPLEX_PATH(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_COMPLEX_PATH(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_SRV_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_SIF_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_UPS_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_HTTP_ANY_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_COMPLEX_VALUE_ARRAY(name,p,post)\ - NDK_ANY_CONF_1MORE\ - (name,\ - ndk_conf_set_http_complex_value_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_COMPLEX_VALUE(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_http_complex_value_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_ENCODING(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_ENCODING(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_ENCODING(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_ENCODING(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_ENCODING(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_ENCODING(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_ENCODING(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_ENCODING(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_ENCODING(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_ENCODING(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_ENCODING(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_ENCODING(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_ENCODING(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_ENCODING(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_ENCODING(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_ENCODING(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_ENCODING(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_ENCODING(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_ENCODING(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_ENCODING(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_ENCODING(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_encoding_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_ENUM(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_ENUM(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_ENUM(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_ENUM(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_ENUM(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_ENUM(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_ENUM(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_ENUM(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_ENUM(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_ENUM(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_ENUM(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_ENUM(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_ENUM(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_ENUM(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_ENUM(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_ENUM(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_ENUM(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_ENUM(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_ENUM(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_ENUM(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_ENUM(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_enum_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_FALSE(name,p,post)\ - NDK_HTTP_MAIN_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_FALSE(name,p,post)\ - NDK_HTTP_SRV_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_FALSE(name,p,post)\ - NDK_HTTP_SIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_FALSE(name,p,post)\ - NDK_HTTP_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_FALSE(name,p,post)\ - NDK_HTTP_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_FALSE(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_FALSE(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_FALSE(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_FALSE(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_FALSE(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_FALSE(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_FALSE(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_FALSE(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_FALSE(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_FALSE(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_FALSE(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_FALSE(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_FALSE(name,p,post)\ - NDK_HTTP_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_FALSE(name,p,post)\ - NDK_HTTP_UPS_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_FALSE(name,p,post)\ - NDK_HTTP_ANY_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_FALSE(name,p,post)\ - NDK_ANY_CONF_NOARGS\ - (name,\ - ndk_conf_set_false_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_FULL_PATH(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_FULL_PATH(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_full_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_KEYVAL1(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_KEYVAL1(name,p,post)\ - NDK_ANY_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval1_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_KEYVAL(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_KEYVAL(name,p,post)\ - NDK_ANY_CONF_TAKE2\ - (name,\ - ndk_conf_set_keyval_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_MSEC(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_MSEC(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_MSEC(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_MSEC(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_MSEC(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_MSEC(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_MSEC(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_MSEC(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_MSEC(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_MSEC(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_MSEC(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_MSEC(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_MSEC(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_MSEC(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_MSEC(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_MSEC(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_MSEC(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_MSEC(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_MSEC(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_MSEC(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_MSEC(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_msec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_NULL(name,p,post)\ - NDK_HTTP_MAIN_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_NULL(name,p,post)\ - NDK_HTTP_SRV_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_NULL(name,p,post)\ - NDK_HTTP_SIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_NULL(name,p,post)\ - NDK_HTTP_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_NULL(name,p,post)\ - NDK_HTTP_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_NULL(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_NULL(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_NULL(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_NULL(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_NULL(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_NULL(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_NULL(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_NULL(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_NULL(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_NULL(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_NULL(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_NULL(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_NULL(name,p,post)\ - NDK_HTTP_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_NULL(name,p,post)\ - NDK_HTTP_UPS_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_NULL(name,p,post)\ - NDK_HTTP_ANY_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_NULL(name,p,post)\ - NDK_ANY_CONF_NOARGS\ - (name,\ - ndk_conf_set_null_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_NUM64(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_NUM64(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_NUM64(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_NUM64(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_NUM64(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_NUM64(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_NUM64(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_NUM64(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_NUM64(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_NUM64(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_NUM64(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_NUM64(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_NUM64(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_NUM64(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_NUM64(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_NUM64(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_NUM64(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_NUM64(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_NUM64(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_NUM64(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_NUM64(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_num64_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_NUM_FLAG(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_NUM_FLAG(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_NUM(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_NUM(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_NUM(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_NUM(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_NUM(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_NUM(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_NUM(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_NUM(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_NUM(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_NUM(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_NUM(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_NUM(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_NUM(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_NUM(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_NUM(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_NUM(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_NUM(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_NUM(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_NUM(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_NUM(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_NUM(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_num_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_OFF(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_OFF(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_OFF(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_OFF(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_OFF(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_OFF(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_OFF(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_OFF(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_OFF(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_OFF(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_OFF(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_OFF(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_OFF(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_OFF(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_OFF(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_OFF(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_OFF(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_OFF(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_OFF(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_OFF(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_OFF(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_off_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_ONOFF(name,p,post)\ - NDK_HTTP_MAIN_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_ONOFF(name,p,post)\ - NDK_HTTP_SRV_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_ONOFF(name,p,post)\ - NDK_HTTP_SIF_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_ONOFF(name,p,post)\ - NDK_HTTP_LOC_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_ONOFF(name,p,post)\ - NDK_HTTP_LIF_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_ONOFF(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_ONOFF(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_ONOFF(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_ONOFF(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_ONOFF(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_ONOFF(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_ONOFF(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_ONOFF(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_ONOFF(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_ONOFF(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_ONOFF(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_ONOFF(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_ONOFF(name,p,post)\ - NDK_HTTP_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_ONOFF(name,p,post)\ - NDK_HTTP_UPS_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_ONOFF(name,p,post)\ - NDK_HTTP_ANY_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_ONOFF(name,p,post)\ - NDK_ANY_CONF_FLAG\ - (name,\ - ndk_conf_set_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_PATH(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_PATH(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_PATH(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_PATH(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_PATH(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_PATH(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_PATH(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_PATH(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_PATH(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_PATH(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_PATH(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_PATH(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_PATH(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_PATH(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_PATH(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_PATH(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_PATH(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_PATH(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_PATH(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_PATH(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_PATH(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_split_path_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_PTR(name,p,post)\ - NDK_HTTP_MAIN_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_PTR(name,p,post)\ - NDK_HTTP_SRV_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_PTR(name,p,post)\ - NDK_HTTP_SIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_PTR(name,p,post)\ - NDK_HTTP_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_PTR(name,p,post)\ - NDK_HTTP_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_PTR(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_PTR(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_PTR(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_PTR(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_PTR(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_PTR(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_PTR(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_PTR(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_PTR(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_PTR(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_PTR(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_PTR(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_PTR(name,p,post)\ - NDK_HTTP_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_PTR(name,p,post)\ - NDK_HTTP_UPS_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_PTR(name,p,post)\ - NDK_HTTP_ANY_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_PTR(name,p,post)\ - NDK_ANY_CONF_NOARGS\ - (name,\ - ndk_conf_set_ptr_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_SRV_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_SIF_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_UPS_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_REGEX_ARRAY(name,p,post)\ - NDK_HTTP_ANY_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_REGEX_ARRAY(name,p,post)\ - NDK_ANY_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_MAIN_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_SRV_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_SIF_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_UPS_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_HTTP_ANY_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_REGEX_ARRAY_CL(name,p,post)\ - NDK_ANY_CONF_1MORE\ - (name,\ - ndk_conf_set_regex_array_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_REGEX_CL(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_REGEX_CL(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_caseless_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_REXEX(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_REXEX(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_REXEX(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_REXEX(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_REXEX(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_REXEX(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_REXEX(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_REXEX(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_REXEX(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_REXEX(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_REXEX(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_REXEX(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_REXEX(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_REXEX(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_REXEX(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_REXEX(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_REXEX(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_REXEX(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_REXEX(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_REXEX(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_REXEX(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_regex_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_SEC_FLAG(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_SEC_FLAG(name,p,post)\ - NDK_ANY_CONF_TAKE2\ - (name,\ - ndk_conf_set_sec_flag_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_SEC(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_SEC(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_SEC(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_SEC(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_SEC(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_SEC(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_SEC(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_SEC(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_SEC(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_SEC(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_SEC(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_SEC(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_SEC(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_SEC(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_SEC(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_SEC(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_SEC(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_SEC(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_SEC(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_SEC(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_SEC(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_sec_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_SIZE(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_SIZE(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_SIZE(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_SIZE(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_SIZE(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_SIZE(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_SIZE(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_SIZE(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_SIZE(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_SIZE(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_SIZE(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_SIZE(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_SIZE(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_SIZE(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_SIZE(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_SIZE(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_SIZE(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_SIZE(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_SIZE(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_SIZE(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_SIZE(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_size_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_SRV_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_SIF_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_UPS_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_STR_ARRAY(name,p,post)\ - NDK_HTTP_ANY_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_STR_ARRAY(name,p,post)\ - NDK_ANY_CONF_1MORE\ - (name,\ - ndk_conf_set_str_array_multi_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_STR_ARRAY1(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_STR_ARRAY1(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_array_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_STR(name,p,post)\ - NDK_HTTP_MAIN_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_STR(name,p,post)\ - NDK_HTTP_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_STR(name,p,post)\ - NDK_HTTP_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_STR(name,p,post)\ - NDK_HTTP_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_STR(name,p,post)\ - NDK_HTTP_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_STR(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_STR(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_STR(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_STR(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_STR(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_STR(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_STR(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_STR(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_STR(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_STR(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_STR(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_STR(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_STR(name,p,post)\ - NDK_HTTP_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_STR(name,p,post)\ - NDK_HTTP_UPS_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_STR(name,p,post)\ - NDK_HTTP_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_STR(name,p,post)\ - NDK_ANY_CONF_TAKE1\ - (name,\ - ndk_conf_set_str_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - -#define NDK_HTTP_MAIN_CONF_TRUE(name,p,post)\ - NDK_HTTP_MAIN_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_MAIN_CONF_OFFSET,\ - offsetof (ndk_module_main_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_CONF_TRUE(name,p,post)\ - NDK_HTTP_SRV_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_CONF_TRUE(name,p,post)\ - NDK_HTTP_SIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_LOC_CONF_TRUE(name,p,post)\ - NDK_HTTP_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_LIF_CONF_TRUE(name,p,post)\ - NDK_HTTP_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_CONF_TRUE(name,p,post)\ - NDK_HTTP_MAIN_SRV_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_CONF_TRUE(name,p,post)\ - NDK_HTTP_MAIN_SIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_SRV_CONF_OFFSET,\ - offsetof (ndk_module_srv_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LOC_CONF_TRUE(name,p,post)\ - NDK_HTTP_MAIN_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_LIF_CONF_TRUE(name,p,post)\ - NDK_HTTP_MAIN_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LOC_CONF_TRUE(name,p,post)\ - NDK_HTTP_SRV_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SRV_LIF_CONF_TRUE(name,p,post)\ - NDK_HTTP_SRV_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LOC_CONF_TRUE(name,p,post)\ - NDK_HTTP_SIF_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_SIF_LIF_CONF_TRUE(name,p,post)\ - NDK_HTTP_SIF_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LOC_CONF_TRUE(name,p,post)\ - NDK_HTTP_MAIN_SRV_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_LIF_CONF_TRUE(name,p,post)\ - NDK_HTTP_MAIN_SRV_LIF_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SIF_LOC_CONF_TRUE(name,p,post)\ - NDK_HTTP_MAIN_SIF_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_TRUE(name,p,post)\ - NDK_HTTP_MAIN_SRV_SIF_LOC_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_CONF_TRUE(name,p,post)\ - NDK_HTTP_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_UPS_CONF_TRUE(name,p,post)\ - NDK_HTTP_UPS_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_HTTP_ANY_CONF_TRUE(name,p,post)\ - NDK_HTTP_ANY_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - -#define NDK_ANY_CONF_TRUE(name,p,post)\ - NDK_ANY_CONF_NOARGS\ - (name,\ - ndk_conf_set_true_slot,\ - NGX_HTTP_LOC_CONF_OFFSET,\ - offsetof (ndk_module_loc_conf_t, p),\ - post) - - diff --git a/debian/modules/http-ndk/objs/ndk_conf_merge.h b/debian/modules/http-ndk/objs/ndk_conf_merge.h deleted file mode 100644 index 4f7855f..0000000 --- a/debian/modules/http-ndk/objs/ndk_conf_merge.h +++ /dev/null @@ -1,227 +0,0 @@ - -/* - * 2010 (C) Marcus Clyne - * - * DO NOT EDIT THIS FILE MANUALLY - * ------------------------------ - * This file has been generated automatically from scripts in the $base/auto dir and - * data in the $base/auto/data dir. If you wish to edit the output of this file, then - * you should edit these files instead. - * -*/ - - -/* conf-merge-value macros */ - -/* TODO : check that all the main types have a corresponding merge function */ - -#define ndk_conf_merge_value ngx_conf_merge_value -#define ndk_conf_merge_off_value ngx_conf_merge_off_value -#define ndk_conf_merge_ptr_value ngx_conf_merge_ptr_value -#define ndk_conf_merge_str_value ngx_conf_merge_str_value -#define ndk_conf_merge_size_value ngx_conf_merge_size_value - - -#define ndk_conf_merge_keyval_value(conf,prev,default) \ - \ - conf = prev ? prev : default; - -#define ndk_conf_merge_str_array_value(conf,prev,val1,...) \ - \ - if (conf == NGX_CONF_UNSET_PTR) { \ - if (prev == NGX_CONF_UNSET_PTR) { \ - if (val1 == NULL) { \ - conf = NULL; \ - } else { \ - char * elts[] = {val1,##__VA_ARGS__}; \ - int n = sizeof(elts)/sizeof(char*); \ - \ - conf = ndk_str_array_create (cf->pool, elts, n); \ - \ - if (conf == NULL) \ - return NGX_CONF_ERROR; \ - } \ - } else { \ - conf = prev; \ - } \ - } - -#define ndk_conf_merge_http_complex_value_value(conf,prev,default) \ - \ - if (!conf.str.len) { \ - if (prev.str.len) { \ - conf = prev; \ - } else { \ - conf.str.data = (u_char *) default; \ - conf.str.len = sizeof (default) - 1; \ - \ - if (ndk_http_complex_value_compile (cf, &conf)) \ - return NGX_CONF_ERROR; \ - } \ - } - -#define ndk_conf_merge_http_complex_value_array_value(conf,prev,val1,...) \ - \ - if (conf == NGX_CONF_UNSET_PTR) { \ - if (prev == NGX_CONF_UNSET_PTR) { \ - if (val1 == NULL) \ - conf = NULL; \ - else { \ - char * elts[] = {val1,##__VA_ARGS__}; \ - int n = sizeof(elts)/sizeof(char*); \ - \ - conf = ndk_http_complex_value_array_create (cf, elts, n); \ - \ - if (conf == NULL) \ - return NGX_CONF_ERROR; \ - } \ - } else { \ - conf = prev; \ - } \ - } - -#define ndk_conf_merge_http_complex_path_value(conf,prev,...) \ - ndk_conf_merge_http_complex_value_array_value (conf.a, prev.a, __VA_ARGS__) - -#define ndk_conf_merge_split_path_value(conf,prev,path) \ - \ - if (conf == NGX_CONF_UNSET_PTR) { \ - conf = (prev == NGX_CONF_UNSET_PTR ? \ - ndk_split_path_create_raw (cf, path) : prev); \ - } - - -/* conf-merge-prop macros */ - -#define ndk_conf_merge_prop(prop,default)\ - ndk_conf_merge_value\ - (conf->prop, prev->prop, default) - -#define ndk_conf_merge_bitmask_prop(prop,default,...)\ - ndk_conf_merge_bitmask_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_bufs_prop(prop,default,...)\ - ndk_conf_merge_bufs_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_encoding_prop(prop,default,...)\ - ndk_conf_merge_encoding_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_enum_prop(prop,default,...)\ - ndk_conf_merge_enum_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_false_prop(prop,default,...)\ - ndk_conf_merge_false_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_flag_prop(prop,default,...)\ - ndk_conf_merge_flag_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_full_path_prop(prop,default,...)\ - ndk_conf_merge_full_path_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_http_complex_keyval_prop(prop,default,...)\ - ndk_conf_merge_http_complex_keyval_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_http_complex_path_prop(prop,default,...)\ - ndk_conf_merge_http_complex_path_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_http_complex_value_prop(prop,default,...)\ - ndk_conf_merge_http_complex_value_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_http_complex_value_array_prop(prop,default,...)\ - ndk_conf_merge_http_complex_value_array_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_keyval_prop(prop,default,...)\ - ndk_conf_merge_keyval_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_keyval1_prop(prop,default,...)\ - ndk_conf_merge_keyval1_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_msec_prop(prop,default,...)\ - ndk_conf_merge_msec_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_null_prop(prop,default,...)\ - ndk_conf_merge_null_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_num_prop(prop,default,...)\ - ndk_conf_merge_num_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_num64_prop(prop,default,...)\ - ndk_conf_merge_num64_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_num_flag_prop(prop,default,...)\ - ndk_conf_merge_num_flag_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_off_prop(prop,default,...)\ - ndk_conf_merge_off_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_ptr_prop(prop,default,...)\ - ndk_conf_merge_ptr_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_regex_prop(prop,default,...)\ - ndk_conf_merge_regex_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_regex_array_prop(prop,default,...)\ - ndk_conf_merge_regex_array_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_regex_array_caseless_prop(prop,default,...)\ - ndk_conf_merge_regex_array_caseless_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_regex_caseless_prop(prop,default,...)\ - ndk_conf_merge_regex_caseless_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_sec_prop(prop,default,...)\ - ndk_conf_merge_sec_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_sec_flag_prop(prop,default,...)\ - ndk_conf_merge_sec_flag_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_size_prop(prop,default,...)\ - ndk_conf_merge_size_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_split_path_prop(prop,default,...)\ - ndk_conf_merge_split_path_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_str_prop(prop,default,...)\ - ndk_conf_merge_str_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_str_array_prop(prop,default,...)\ - ndk_conf_merge_str_array_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_str_array_multi_prop(prop,default,...)\ - ndk_conf_merge_str_array_multi_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - -#define ndk_conf_merge_true_prop(prop,default,...)\ - ndk_conf_merge_true_value\ - (conf->prop, prev->prop, default,##__VA_ARGS__) - diff --git a/debian/modules/http-ndk/objs/ndk_config.c b/debian/modules/http-ndk/objs/ndk_config.c deleted file mode 100644 index d2e572f..0000000 --- a/debian/modules/http-ndk/objs/ndk_config.c +++ /dev/null @@ -1,72 +0,0 @@ - -/* - * 2010 (C) Marcus Clyne - * - * DO NOT EDIT THIS FILE MANUALLY - * ------------------------------ - * This file has been generated automatically from scripts in the $base/auto dir and - * data in the $base/auto/data dir. If you wish to edit the output of this file, then - * you should edit these files instead. - * -*/ - - -/* optional includes */ - -#if (NDK_BUF) -#include -#endif -#if (NDK_COMPLEX_PATH) -#include -#endif -#if (NDK_COMPLEX_VALUE) -#include -#endif -#if (NDK_CONF_FILE) -#include -#endif -#if (NDK_ENCODING) -#include -#endif -#if (NDK_HASH) -#include -#endif -#if (NDK_HTTP) -#include -#endif -#if (NDK_PATH) -#include -#endif -#if (NDK_PROCESS) -#include -#endif -#if (NDK_REGEX) -#include -#endif -#if (NDK_REWRITE) -#include -#endif -#if (NDK_SET_VAR) -#include -#endif -#if (NDK_STRING) -#include -#endif -#if (NDK_UPSTREAM_LIST) -#include -#endif -#if (NDK_URI) -#include -#endif - - -/* module commands */ - -static ngx_command_t ndk_http_commands[] = { -#if (NDK_UPSTREAM_LIST) -#define NDK_UPSTREAM_LIST_CMDS 1 -#include -#undef NDK_UPSTREAM_LIST_CMDS -#endif - ngx_null_command -}; diff --git a/debian/modules/http-ndk/objs/ndk_config.h b/debian/modules/http-ndk/objs/ndk_config.h deleted file mode 100644 index 7223950..0000000 --- a/debian/modules/http-ndk/objs/ndk_config.h +++ /dev/null @@ -1,98 +0,0 @@ - -/* - * 2010 (C) Marcus Clyne - * - * DO NOT EDIT THIS FILE MANUALLY - * ------------------------------ - * This file has been generated automatically from scripts in the $base/auto dir and - * data in the $base/auto/data dir. If you wish to edit the output of this file, then - * you should edit these files instead. - * -*/ - - -/* include all optional modules */ - -#ifdef NDK_ALL - -#ifndef NDK_BUF -#define NDK_BUF 1 -#endif -#ifndef NDK_COMPLEX_PATH -#define NDK_COMPLEX_PATH 1 -#endif -#ifndef NDK_COMPLEX_VALUE -#define NDK_COMPLEX_VALUE 1 -#endif -#ifndef NDK_CONF_FILE -#define NDK_CONF_FILE 1 -#endif -#ifndef NDK_ENCODING -#define NDK_ENCODING 1 -#endif -#ifndef NDK_HASH -#define NDK_HASH 1 -#endif -#ifndef NDK_HTTP -#define NDK_HTTP 1 -#endif -#ifndef NDK_PATH -#define NDK_PATH 1 -#endif -#ifndef NDK_PROCESS -#define NDK_PROCESS 1 -#endif -#ifndef NDK_REGEX -#define NDK_REGEX 1 -#endif -#ifndef NDK_REWRITE -#define NDK_REWRITE 1 -#endif -#ifndef NDK_SET_VAR -#define NDK_SET_VAR 1 -#endif -#ifndef NDK_STRING -#define NDK_STRING 1 -#endif -#ifndef NDK_UPSTREAM_LIST -#define NDK_UPSTREAM_LIST 1 -#endif -#ifndef NDK_URI -#define NDK_URI 1 -#endif - -#endif - - -/* module dependencies */ - -#ifdef NDK_COMPLEX_PATH -#ifndef NDK_COMPLEX_VALUE -#define NDK_COMPLEX_VALUE 1 -#endif -#ifndef NDK_PATH -#define NDK_PATH 1 -#endif -#endif -#ifdef NDK_CONF_FILE -#ifndef NDK_STRING -#define NDK_STRING 1 -#endif -#endif -#ifdef NDK_HASH -#ifndef NDK_STRING -#define NDK_STRING 1 -#endif -#endif -#ifdef NDK_SET_VAR -#ifndef NDK_REWRITE -#define NDK_REWRITE 1 -#endif -#endif -#ifdef NDK_UPSTREAM_LIST -#ifndef NDK_HTTP_CREATE_MAIN_CONF -#define NDK_HTTP_CREATE_MAIN_CONF 1 -#endif -#endif - - diff --git a/debian/modules/http-ndk/objs/ndk_includes.h b/debian/modules/http-ndk/objs/ndk_includes.h deleted file mode 100644 index cbbf60a..0000000 --- a/debian/modules/http-ndk/objs/ndk_includes.h +++ /dev/null @@ -1,66 +0,0 @@ -/* optional includes */ - -#if (NDK_BUF) -#include -#endif -#if (NDK_COMPLEX_PATH) -#include -#endif -#if (NDK_COMPLEX_VALUE) -#include -#endif -#if (NDK_CONF_FILE) -#include -#endif -#if (NDK_ENCODING) -#include -#endif -#if (NDK_HASH) -#include -#endif -#if (NDK_HTTP) -#include -#endif -#if (NDK_PATH) -#include -#endif -#if (NDK_PROCESS) -#include -#endif -#if (NDK_REGEX) -#include -#endif -#if (NDK_REWRITE) -#include -#endif -#if (NDK_SET_VAR) -#include -#endif -#if (NDK_STRING) -#include -#endif -#if (NDK_UPSTREAM_LIST) -#include -#endif -#if (NDK_URI) -#include -#endif - - -/* non-optional includes */ - -#include -#include -#include -#include - - -/* auto-generated headers */ - -#include -#include -#include -#include -#include - - diff --git a/debian/modules/http-ndk/objs/ndk_palloc.h b/debian/modules/http-ndk/objs/ndk_palloc.h deleted file mode 100644 index db8aaf1..0000000 --- a/debian/modules/http-ndk/objs/ndk_palloc.h +++ /dev/null @@ -1,112 +0,0 @@ - -/* - * 2010 (C) Marcus Clyne - * - * DO NOT EDIT THIS FILE MANUALLY - * ------------------------------ - * This file has been generated automatically from scripts in the $base/auto dir and - * data in the $base/auto/data dir. If you wish to edit the output of this file, then - * you should edit these files instead. - * -*/ - - -/* Non-generated macros */ - -#define ndk_pallocp(p,pl) p = ngx_palloc (pl,sizeof(*p)) -#define ndk_pallocpn(p,pl,n) p = ngx_palloc (pl,sizeof(*p)*(n)) - -#define ndk_pcallocp(p,pl) p = ngx_pcalloc (pl,sizeof(*p)) -#define ndk_pcallocpn(p,pl,n) p = ngx_pcalloc (pl,sizeof(*p)*(n)) - - -/* base action macro macros */ - -#define ndk_palloc_ac(p,pl,sz,ac) {p = ngx_palloc (pl,sz); if (p == NULL) ac;} -#define ndk_pallocp_ac(p,pl,ac) {ndk_pallocp (p,pl); if (p == NULL) ac;} -#define ndk_pallocpn_ac(p,pl,n,ac) {ndk_pallocpn (p,pl,n); if (p == NULL) ac;} -#define ndk_pcalloc_ac(p,pl,sz,ac) {p = ngx_pcalloc (pl,sz); if (p == NULL) ac;} -#define ndk_pcallocp_ac(p,pl,ac) {ndk_pcallocp (p,pl); if (p == NULL) ac;} -#define ndk_pcallocpn_ac(p,pl,n,ac) {ndk_pcallocpn (p,pl,n); if (p == NULL) ac;} - - -/* generated action macros */ - -#define ndk_palloc_r0(p,pl,sz) ndk_palloc_ac (p,pl,sz,return 0) -#define ndk_palloc_r1(p,pl,sz) ndk_palloc_ac (p,pl,sz,return 1) -#define ndk_palloc_r_1(p,pl,sz) ndk_palloc_ac (p,pl,sz,return -1) -#define ndk_palloc_rok(p,pl,sz) ndk_palloc_ac (p,pl,sz,return NGX_OK) -#define ndk_palloc_rce(p,pl,sz) ndk_palloc_ac (p,pl,sz,return NGX_CONF_ERROR) -#define ndk_palloc_rcok(p,pl,sz) ndk_palloc_ac (p,pl,sz,return NGX_CONF_OK) -#define ndk_palloc_re(p,pl,sz) ndk_palloc_ac (p,pl,sz,return NGX_ERROR) -#define ndk_palloc_rn(p,pl,sz) ndk_palloc_ac (p,pl,sz,return NULL) -#define ndk_palloc_rse(p,pl,sz) ndk_palloc_ac (p,pl,sz,{ngx_script_error (e); return;}) -#define ndk_palloc_sce(p,pl,sz) ndk_palloc_ac (p,pl,sz,{ngx_script_configure_error (c); return;}) -#define ndk_palloc_g(p,pl,sz,_lb) ndk_palloc_ac (p,pl,sz,goto _lb) -#define ndk_palloc_ge(p,pl,sz) ndk_palloc_ac (p,pl,sz,goto error) - -#define ndk_pallocp_r0(p,pl) ndk_pallocp_ac (p,pl,return 0) -#define ndk_pallocp_r1(p,pl) ndk_pallocp_ac (p,pl,return 1) -#define ndk_pallocp_r_1(p,pl) ndk_pallocp_ac (p,pl,return -1) -#define ndk_pallocp_rok(p,pl) ndk_pallocp_ac (p,pl,return NGX_OK) -#define ndk_pallocp_rce(p,pl) ndk_pallocp_ac (p,pl,return NGX_CONF_ERROR) -#define ndk_pallocp_rcok(p,pl) ndk_pallocp_ac (p,pl,return NGX_CONF_OK) -#define ndk_pallocp_re(p,pl) ndk_pallocp_ac (p,pl,return NGX_ERROR) -#define ndk_pallocp_rn(p,pl) ndk_pallocp_ac (p,pl,return NULL) -#define ndk_pallocp_rse(p,pl) ndk_pallocp_ac (p,pl,{ngx_script_error (e); return;}) -#define ndk_pallocp_sce(p,pl) ndk_pallocp_ac (p,pl,{ngx_script_configure_error (c); return;}) -#define ndk_pallocp_g(p,pl,_lb) ndk_pallocp_ac (p,pl,goto _lb) -#define ndk_pallocp_ge(p,pl) ndk_pallocp_ac (p,pl,goto error) - -#define ndk_pallocpn_r0(p,pl,n) ndk_pallocpn_ac (p,pl,n,return 0) -#define ndk_pallocpn_r1(p,pl,n) ndk_pallocpn_ac (p,pl,n,return 1) -#define ndk_pallocpn_r_1(p,pl,n) ndk_pallocpn_ac (p,pl,n,return -1) -#define ndk_pallocpn_rok(p,pl,n) ndk_pallocpn_ac (p,pl,n,return NGX_OK) -#define ndk_pallocpn_rce(p,pl,n) ndk_pallocpn_ac (p,pl,n,return NGX_CONF_ERROR) -#define ndk_pallocpn_rcok(p,pl,n) ndk_pallocpn_ac (p,pl,n,return NGX_CONF_OK) -#define ndk_pallocpn_re(p,pl,n) ndk_pallocpn_ac (p,pl,n,return NGX_ERROR) -#define ndk_pallocpn_rn(p,pl,n) ndk_pallocpn_ac (p,pl,n,return NULL) -#define ndk_pallocpn_rse(p,pl,n) ndk_pallocpn_ac (p,pl,n,{ngx_script_error (e); return;}) -#define ndk_pallocpn_sce(p,pl,n) ndk_pallocpn_ac (p,pl,n,{ngx_script_configure_error (c); return;}) -#define ndk_pallocpn_g(p,pl,n,_lb) ndk_pallocpn_ac (p,pl,n,goto _lb) -#define ndk_pallocpn_ge(p,pl,n) ndk_pallocpn_ac (p,pl,n,goto error) - -#define ndk_pcalloc_r0(p,pl,sz) ndk_pcalloc_ac (p,pl,sz,return 0) -#define ndk_pcalloc_r1(p,pl,sz) ndk_pcalloc_ac (p,pl,sz,return 1) -#define ndk_pcalloc_r_1(p,pl,sz) ndk_pcalloc_ac (p,pl,sz,return -1) -#define ndk_pcalloc_rok(p,pl,sz) ndk_pcalloc_ac (p,pl,sz,return NGX_OK) -#define ndk_pcalloc_rce(p,pl,sz) ndk_pcalloc_ac (p,pl,sz,return NGX_CONF_ERROR) -#define ndk_pcalloc_rcok(p,pl,sz) ndk_pcalloc_ac (p,pl,sz,return NGX_CONF_OK) -#define ndk_pcalloc_re(p,pl,sz) ndk_pcalloc_ac (p,pl,sz,return NGX_ERROR) -#define ndk_pcalloc_rn(p,pl,sz) ndk_pcalloc_ac (p,pl,sz,return NULL) -#define ndk_pcalloc_rse(p,pl,sz) ndk_pcalloc_ac (p,pl,sz,{ngx_script_error (e); return;}) -#define ndk_pcalloc_sce(p,pl,sz) ndk_pcalloc_ac (p,pl,sz,{ngx_script_configure_error (c); return;}) -#define ndk_pcalloc_g(p,pl,sz,_lb) ndk_pcalloc_ac (p,pl,sz,goto _lb) -#define ndk_pcalloc_ge(p,pl,sz) ndk_pcalloc_ac (p,pl,sz,goto error) - -#define ndk_pcallocp_r0(p,pl) ndk_pcallocp_ac (p,pl,return 0) -#define ndk_pcallocp_r1(p,pl) ndk_pcallocp_ac (p,pl,return 1) -#define ndk_pcallocp_r_1(p,pl) ndk_pcallocp_ac (p,pl,return -1) -#define ndk_pcallocp_rok(p,pl) ndk_pcallocp_ac (p,pl,return NGX_OK) -#define ndk_pcallocp_rce(p,pl) ndk_pcallocp_ac (p,pl,return NGX_CONF_ERROR) -#define ndk_pcallocp_rcok(p,pl) ndk_pcallocp_ac (p,pl,return NGX_CONF_OK) -#define ndk_pcallocp_re(p,pl) ndk_pcallocp_ac (p,pl,return NGX_ERROR) -#define ndk_pcallocp_rn(p,pl) ndk_pcallocp_ac (p,pl,return NULL) -#define ndk_pcallocp_rse(p,pl) ndk_pcallocp_ac (p,pl,{ngx_script_error (e); return;}) -#define ndk_pcallocp_sce(p,pl) ndk_pcallocp_ac (p,pl,{ngx_script_configure_error (c); return;}) -#define ndk_pcallocp_g(p,pl,_lb) ndk_pcallocp_ac (p,pl,goto _lb) -#define ndk_pcallocp_ge(p,pl) ndk_pcallocp_ac (p,pl,goto error) - -#define ndk_pcallocpn_r0(p,pl,n) ndk_pcallocpn_ac (p,pl,n,return 0) -#define ndk_pcallocpn_r1(p,pl,n) ndk_pcallocpn_ac (p,pl,n,return 1) -#define ndk_pcallocpn_r_1(p,pl,n) ndk_pcallocpn_ac (p,pl,n,return -1) -#define ndk_pcallocpn_rok(p,pl,n) ndk_pcallocpn_ac (p,pl,n,return NGX_OK) -#define ndk_pcallocpn_rce(p,pl,n) ndk_pcallocpn_ac (p,pl,n,return NGX_CONF_ERROR) -#define ndk_pcallocpn_rcok(p,pl,n) ndk_pcallocpn_ac (p,pl,n,return NGX_CONF_OK) -#define ndk_pcallocpn_re(p,pl,n) ndk_pcallocpn_ac (p,pl,n,return NGX_ERROR) -#define ndk_pcallocpn_rn(p,pl,n) ndk_pcallocpn_ac (p,pl,n,return NULL) -#define ndk_pcallocpn_rse(p,pl,n) ndk_pcallocpn_ac (p,pl,n,{ngx_script_error (e); return;}) -#define ndk_pcallocpn_sce(p,pl,n) ndk_pcallocpn_ac (p,pl,n,{ngx_script_configure_error (c); return;}) -#define ndk_pcallocpn_g(p,pl,n,_lb) ndk_pcallocpn_ac (p,pl,n,goto _lb) -#define ndk_pcallocpn_ge(p,pl,n) ndk_pcallocpn_ac (p,pl,n,goto error) - diff --git a/debian/modules/http-ndk/patches/auto_config b/debian/modules/http-ndk/patches/auto_config deleted file mode 100644 index ba4fdd4..0000000 --- a/debian/modules/http-ndk/patches/auto_config +++ /dev/null @@ -1,16 +0,0 @@ -diff -pNr a/src/core/ngx_config.h b/src/core/ngx_config.h -*** a/src/core/ngx_config.h 2008-09-19 13:47:13.000000000 +0100 ---- b/src/core/ngx_config.h 2010-10-09 17:14:13.000000000 +0100 -*************** typedef intptr_t ngx_flag_t; -*** 127,131 **** - #define NGX_MAX_UINT32_VALUE (uint32_t) 0xffffffff - #endif - -! - #endif /* _NGX_CONFIG_H_INCLUDED_ */ ---- 127,131 ---- - #define NGX_MAX_UINT32_VALUE (uint32_t) 0xffffffff - #endif - -! #include - #endif /* _NGX_CONFIG_H_INCLUDED_ */ diff --git a/debian/modules/http-ndk/patches/expose_rewrite_functions b/debian/modules/http-ndk/patches/expose_rewrite_functions deleted file mode 100644 index ec1d6d8..0000000 --- a/debian/modules/http-ndk/patches/expose_rewrite_functions +++ /dev/null @@ -1,291 +0,0 @@ -diff -rNp a/src/http/modules/ngx_http_rewrite_module.c b/src/http/modules/ngx_http_rewrite_module.c -*** a/src/http/modules/ngx_http_rewrite_module.c 2010-06-18 16:15:20.000000000 +0100 ---- b/src/http/modules/ngx_http_rewrite_module.c 2010-10-09 14:47:10.000000000 +0100 -*************** -*** 8,14 **** - #include - #include - -! - typedef struct { - ngx_array_t *codes; /* uintptr_t */ - ---- 8,14 ---- - #include - #include - -! #if !(NDK_EXPOSE_REWRITE_FUNCTIONS) - typedef struct { - ngx_array_t *codes; /* uintptr_t */ - -*************** typedef struct { -*** 17,23 **** - ngx_flag_t log; - ngx_flag_t uninitialized_variable_warn; - } ngx_http_rewrite_loc_conf_t; -! - - static void *ngx_http_rewrite_create_loc_conf(ngx_conf_t *cf); - static char *ngx_http_rewrite_merge_loc_conf(ngx_conf_t *cf, ---- 17,23 ---- - ngx_flag_t log; - ngx_flag_t uninitialized_variable_warn; - } ngx_http_rewrite_loc_conf_t; -! #endif - - static void *ngx_http_rewrite_create_loc_conf(ngx_conf_t *cf); - static char *ngx_http_rewrite_merge_loc_conf(ngx_conf_t *cf, -*************** static char *ngx_http_rewrite_return(ngx -*** 28,44 **** - void *conf); - static char *ngx_http_rewrite_break(ngx_conf_t *cf, ngx_command_t *cmd, - void *conf); - static char *ngx_http_rewrite_if(ngx_conf_t *cf, ngx_command_t *cmd, - void *conf); - static char * ngx_http_rewrite_if_condition(ngx_conf_t *cf, - ngx_http_rewrite_loc_conf_t *lcf); - static char *ngx_http_rewrite_variable(ngx_conf_t *cf, - ngx_http_rewrite_loc_conf_t *lcf, ngx_str_t *value); - static char *ngx_http_rewrite_set(ngx_conf_t *cf, ngx_command_t *cmd, - void *conf); - static char * ngx_http_rewrite_value(ngx_conf_t *cf, - ngx_http_rewrite_loc_conf_t *lcf, ngx_str_t *value); -! - - static ngx_command_t ngx_http_rewrite_commands[] = { - ---- 28,47 ---- - void *conf); - static char *ngx_http_rewrite_break(ngx_conf_t *cf, ngx_command_t *cmd, - void *conf); -+ #if !(NDK_EXPOSE_REWRITE_FUNCTIONS) - static char *ngx_http_rewrite_if(ngx_conf_t *cf, ngx_command_t *cmd, - void *conf); - static char * ngx_http_rewrite_if_condition(ngx_conf_t *cf, - ngx_http_rewrite_loc_conf_t *lcf); - static char *ngx_http_rewrite_variable(ngx_conf_t *cf, - ngx_http_rewrite_loc_conf_t *lcf, ngx_str_t *value); -+ #endif - static char *ngx_http_rewrite_set(ngx_conf_t *cf, ngx_command_t *cmd, - void *conf); -+ #if !(NDK_EXPOSE_REWRITE_FUNCTIONS) - static char * ngx_http_rewrite_value(ngx_conf_t *cf, - ngx_http_rewrite_loc_conf_t *lcf, ngx_str_t *value); -! #endif - - static ngx_command_t ngx_http_rewrite_commands[] = { - -*************** ngx_http_rewrite_handler(ngx_http_reques -*** 178,185 **** - return r->err_status; - } - -! -! static ngx_int_t - ngx_http_rewrite_var(ngx_http_request_t *r, ngx_http_variable_value_t *v, - uintptr_t data) - { ---- 181,190 ---- - return r->err_status; - } - -! #if !(NDK_EXPOSE_REWRITE_FUNCTIONS) -! static -! #endif -! ngx_int_t - ngx_http_rewrite_var(ngx_http_request_t *r, ngx_http_variable_value_t *v, - uintptr_t data) - { -*************** ngx_http_rewrite_break(ngx_conf_t *cf, n -*** 511,517 **** - } - - -! static char * - ngx_http_rewrite_if(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) - { - ngx_http_rewrite_loc_conf_t *lcf = conf; ---- 516,525 ---- - } - - -! #if !(NDK_EXPOSE_REWRITE_FUNCTIONS) -! static -! #endif -! char * - ngx_http_rewrite_if(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) - { - ngx_http_rewrite_loc_conf_t *lcf = conf; -*************** ngx_http_rewrite_if(ngx_conf_t *cf, ngx_ -*** 627,633 **** - } - - -! static char * - ngx_http_rewrite_if_condition(ngx_conf_t *cf, ngx_http_rewrite_loc_conf_t *lcf) - { - u_char *p; ---- 635,644 ---- - } - - -! #if !(NDK_EXPOSE_REWRITE_FUNCTIONS) -! static -! #endif -! char * - ngx_http_rewrite_if_condition(ngx_conf_t *cf, ngx_http_rewrite_loc_conf_t *lcf) - { - u_char *p; -*************** ngx_http_rewrite_if_condition(ngx_conf_t -*** 847,853 **** - } - - -! static char * - ngx_http_rewrite_variable(ngx_conf_t *cf, ngx_http_rewrite_loc_conf_t *lcf, - ngx_str_t *value) - { ---- 858,867 ---- - } - - -! #if !(NDK_EXPOSE_REWRITE_FUNCTIONS) -! static -! #endif -! char * - ngx_http_rewrite_variable(ngx_conf_t *cf, ngx_http_rewrite_loc_conf_t *lcf, - ngx_str_t *value) - { -*************** ngx_http_rewrite_set(ngx_conf_t *cf, ngx -*** 948,954 **** - } - - -! static char * - ngx_http_rewrite_value(ngx_conf_t *cf, ngx_http_rewrite_loc_conf_t *lcf, - ngx_str_t *value) - { ---- 962,971 ---- - } - - -! #if !(NDK_EXPOSE_REWRITE_FUNCTIONS) -! static -! #endif -! char * - ngx_http_rewrite_value(ngx_conf_t *cf, ngx_http_rewrite_loc_conf_t *lcf, - ngx_str_t *value) - { -diff -rNp a/src/http/modules/ngx_http_rewrite_module.h b/src/http/modules/ngx_http_rewrite_module.h -*** a/src/http/modules/ngx_http_rewrite_module.h 1970-01-01 01:00:00.000000000 +0100 ---- b/src/http/modules/ngx_http_rewrite_module.h 2010-10-09 14:38:04.000000000 +0100 -*************** -*** 0 **** ---- 1,47 ---- -+ -+ /* -+ * Copyright (C) Marcus Clyne -+ * -+ * Note : this file has been created by the Nginx Development Kit using -+ * some code from ngx_http_rewrite_module.c -+ */ -+ -+ #if (NDK_EXPOSE_REWRITE_FUNCTIONS) -+ -+ #ifndef _NGX_HTTP_REWRITE_H_INCLUDED_ -+ #define _NGX_HTTP_REWRITE_H_INCLUDED_ -+ -+ #include -+ #include -+ #include -+ -+ -+ extern ngx_module_t ngx_http_rewrite_module; -+ -+ -+ typedef struct { -+ ngx_array_t *codes; /* uintptr_t */ -+ -+ ngx_uint_t stack_size; -+ -+ ngx_flag_t log; -+ ngx_flag_t uninitialized_variable_warn; -+ } ngx_http_rewrite_loc_conf_t; -+ -+ -+ char * -+ ngx_http_rewrite_if(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -+ char * -+ ngx_http_rewrite_if_condition(ngx_conf_t *cf, ngx_http_rewrite_loc_conf_t *lcf); -+ char * -+ ngx_http_rewrite_variable(ngx_conf_t *cf, ngx_http_rewrite_loc_conf_t *lcf, -+ ngx_str_t *value); -+ char * -+ ngx_http_rewrite_value(ngx_conf_t *cf, ngx_http_rewrite_loc_conf_t *lcf, -+ ngx_str_t *value); -+ ngx_int_t -+ ngx_http_rewrite_var(ngx_http_request_t *r, ngx_http_variable_value_t *v, -+ uintptr_t data); -+ -+ #endif -+ #endif -diff -rNp a/src/http/ngx_http.h b/src/http/ngx_http.h -*** a/src/http/ngx_http.h 2010-06-15 16:13:34.000000000 +0100 ---- b/src/http/ngx_http.h 2010-10-09 14:25:56.000000000 +0100 -*************** typedef u_char *(*ngx_http_log_handler_p -*** 43,48 **** ---- 43,52 ---- - #include - #endif - -+ #if (NDK_EXPOSE_REWRITE_FUNCTIONS) -+ #include -+ #endif -+ - - struct ngx_http_log_ctx_s { - ngx_connection_t *connection; -diff -rNp a/src/http/ngx_http_script.c b/src/http/ngx_http_script.c -*** a/src/http/ngx_http_script.c 2010-09-13 13:44:43.000000000 +0100 ---- b/src/http/ngx_http_script.c 2010-10-09 14:36:10.000000000 +0100 -*************** static size_t ngx_http_script_full_name_ -*** 26,35 **** ---- 26,43 ---- - static void ngx_http_script_full_name_code(ngx_http_script_engine_t *e); - - -+ #if (NDK_EXPOSE_REWRITE_FUNCTIONS) -+ -+ uintptr_t ngx_http_script_exit_code = (uintptr_t) NULL; -+ -+ #else -+ - #define ngx_http_script_exit (u_char *) &ngx_http_script_exit_code - - static uintptr_t ngx_http_script_exit_code = (uintptr_t) NULL; - -+ #endif -+ - - void - ngx_http_script_flush_complex_value(ngx_http_request_t *r, -diff -rNp a/src/http/ngx_http_script.h b/src/http/ngx_http_script.h -*** a/src/http/ngx_http_script.h 2010-09-13 13:44:43.000000000 +0100 ---- b/src/http/ngx_http_script.h 2010-10-09 14:33:40.000000000 +0100 -*************** -*** 12,17 **** ---- 12,25 ---- - #include - #include - -+ #if (NDK_EXPOSE_REWRITE_FUNCTIONS) -+ -+ #define ngx_http_script_exit (u_char *) &ngx_http_script_exit_code -+ -+ extern uintptr_t ngx_http_script_exit_code; -+ -+ #endif -+ - - typedef struct { - u_char *ip; diff --git a/debian/modules/http-ndk/patches/rewrite_phase_handler b/debian/modules/http-ndk/patches/rewrite_phase_handler deleted file mode 100644 index bd5161f..0000000 --- a/debian/modules/http-ndk/patches/rewrite_phase_handler +++ /dev/null @@ -1,19 +0,0 @@ -diff -p -r a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c -*** a/src/http/ngx_http_core_module.c 2010-09-27 12:48:12.000000000 +0100 ---- b/src/http/ngx_http_core_module.c 2010-10-09 13:44:09.000000000 +0100 -*************** ngx_http_core_rewrite_phase(ngx_http_req -*** 910,915 **** ---- 910,922 ---- - return NGX_AGAIN; - } - -+ #if defined(nginx_version) && nginx_version >= 8042 && (NDK_REWRITE_PHASE) -+ -+ if (rc == NGX_AGAIN || rc == NGX_DONE) { -+ return NGX_OK; -+ } -+ -+ #endif - /* rc == NGX_OK || rc == NGX_ERROR || rc == NGX_HTTP_... */ - - ngx_http_finalize_request(r, rc); diff --git a/debian/modules/http-ndk/src/hash/md5.h b/debian/modules/http-ndk/src/hash/md5.h deleted file mode 100644 index 4cbf843..0000000 --- a/debian/modules/http-ndk/src/hash/md5.h +++ /dev/null @@ -1,117 +0,0 @@ -/* crypto/md5/md5.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_MD5_H -#define HEADER_MD5_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef OPENSSL_NO_MD5 -#error MD5 is disabled. -#endif - -/* - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! MD5_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! MD5_LONG_LOG2 has to be defined along. ! - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - */ - -#if defined(__LP32__) -#define MD5_LONG unsigned long -#elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -#define MD5_LONG unsigned long -#define MD5_LONG_LOG2 3 -/* - * _CRAY note. I could declare short, but I have no idea what impact - * does it have on performance on none-T3E machines. I could declare - * int, but at least on C90 sizeof(int) can be chosen at compile time. - * So I've chosen long... - * - */ -#else -#define MD5_LONG unsigned int -#endif - -#define MD5_CBLOCK 64 -#define MD5_LBLOCK (MD5_CBLOCK/4) -#define MD5_DIGEST_LENGTH 16 - -typedef struct MD5state_st - { - MD5_LONG A,B,C,D; - MD5_LONG Nl,Nh; - MD5_LONG data[MD5_LBLOCK]; - unsigned int num; - } MD5_CTX; - -int MD5_Init(MD5_CTX *c); -int MD5_Update(MD5_CTX *c, const void *data, size_t len); -int MD5_Final(unsigned char *md, MD5_CTX *c); -unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md); -void MD5_Transform(MD5_CTX *c, const unsigned char *b); -#ifdef __cplusplus -} -#endif - -#endif diff --git a/debian/modules/http-ndk/src/hash/murmurhash2.c b/debian/modules/http-ndk/src/hash/murmurhash2.c deleted file mode 100644 index ac899b4..0000000 --- a/debian/modules/http-ndk/src/hash/murmurhash2.c +++ /dev/null @@ -1,77 +0,0 @@ - - -#ifndef MURMURHASH2_C -#define MURMURHASH2_C - -#define MURMURHASH2_DIGEST_LENGTH 4 - -/* - * ----------------------------------------------------------------------------- - * MurmurHash2, by Austin Appleby - - * Note - This code makes a few assumptions about how your machine behaves - - - * 1. We can read a 4-byte value from any address without crashing - * 2. sizeof(int) == 4 - - * And it has a few limitations - - - * 1. It will not work incrementally. - * 2. It will not produce the same results on little-endian and big-endian - * machines. - */ - -unsigned int MurmurHash2 ( const void * key, int len, unsigned int seed ) -{ - /* - * 'm' and 'r' are mixing constants generated offline. - * They're not really 'magic', they just happen to work well. - */ - - const unsigned int m = 0x5bd1e995; - const int r = 24; - - /* Initialize the hash to a 'random' value */ - - unsigned int h = seed ^ len; - - /* Mix 4 bytes at a time into the hash */ - - const unsigned char * data = (const unsigned char *)key; - - while(len >= 4) - { - unsigned int k = *(unsigned int *)data; - - k *= m; - k ^= k >> r; - k *= m; - - h *= m; - h ^= k; - - data += 4; - len -= 4; - } - - /* Handle the last few bytes of the input array */ - - switch(len) - { - case 3: h ^= data[2] << 16; - case 2: h ^= data[1] << 8; - case 1: h ^= data[0]; - h *= m; - }; - - /* Do a few final mixes of the hash to ensure the last few - * bytes are well-incorporated. */ - - h ^= h >> 13; - h *= m; - h ^= h >> 15; - - return h; -} - -#endif diff --git a/debian/modules/http-ndk/src/hash/sha.h b/debian/modules/http-ndk/src/hash/sha.h deleted file mode 100644 index 16cacf9..0000000 --- a/debian/modules/http-ndk/src/hash/sha.h +++ /dev/null @@ -1,200 +0,0 @@ -/* crypto/sha/sha.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_SHA_H -#define HEADER_SHA_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined(OPENSSL_NO_SHA) || (defined(OPENSSL_NO_SHA0) && defined(OPENSSL_NO_SHA1)) -#error SHA is disabled. -#endif - -#if defined(OPENSSL_FIPS) -#define FIPS_SHA_SIZE_T size_t -#endif - -/* - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! SHA_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! SHA_LONG_LOG2 has to be defined along. ! - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - */ - -#if defined(__LP32__) -#define SHA_LONG unsigned long -#elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -#define SHA_LONG unsigned long -#define SHA_LONG_LOG2 3 -#else -#define SHA_LONG unsigned int -#endif - -#define SHA_LBLOCK 16 -#define SHA_CBLOCK (SHA_LBLOCK*4) /* SHA treats input data as a - * contiguous array of 32 bit - * wide big-endian values. */ -#define SHA_LAST_BLOCK (SHA_CBLOCK-8) -#define SHA_DIGEST_LENGTH 20 - -typedef struct SHAstate_st - { - SHA_LONG h0,h1,h2,h3,h4; - SHA_LONG Nl,Nh; - SHA_LONG data[SHA_LBLOCK]; - unsigned int num; - } SHA_CTX; - -#ifndef OPENSSL_NO_SHA0 -int SHA_Init(SHA_CTX *c); -int SHA_Update(SHA_CTX *c, const void *data, size_t len); -int SHA_Final(unsigned char *md, SHA_CTX *c); -unsigned char *SHA(const unsigned char *d, size_t n, unsigned char *md); -void SHA_Transform(SHA_CTX *c, const unsigned char *data); -#endif -#ifndef OPENSSL_NO_SHA1 -int SHA1_Init(SHA_CTX *c); -int SHA1_Update(SHA_CTX *c, const void *data, size_t len); -int SHA1_Final(unsigned char *md, SHA_CTX *c); -unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md); -void SHA1_Transform(SHA_CTX *c, const unsigned char *data); -#endif - -#define SHA256_CBLOCK (SHA_LBLOCK*4) /* SHA-256 treats input data as a - * contiguous array of 32 bit - * wide big-endian values. */ -#define SHA224_DIGEST_LENGTH 28 -#define SHA256_DIGEST_LENGTH 32 - -typedef struct SHA256state_st - { - SHA_LONG h[8]; - SHA_LONG Nl,Nh; - SHA_LONG data[SHA_LBLOCK]; - unsigned int num,md_len; - } SHA256_CTX; - -#ifndef OPENSSL_NO_SHA256 -int SHA224_Init(SHA256_CTX *c); -int SHA224_Update(SHA256_CTX *c, const void *data, size_t len); -int SHA224_Final(unsigned char *md, SHA256_CTX *c); -unsigned char *SHA224(const unsigned char *d, size_t n,unsigned char *md); -int SHA256_Init(SHA256_CTX *c); -int SHA256_Update(SHA256_CTX *c, const void *data, size_t len); -int SHA256_Final(unsigned char *md, SHA256_CTX *c); -unsigned char *SHA256(const unsigned char *d, size_t n,unsigned char *md); -void SHA256_Transform(SHA256_CTX *c, const unsigned char *data); -#endif - -#define SHA384_DIGEST_LENGTH 48 -#define SHA512_DIGEST_LENGTH 64 - -#ifndef OPENSSL_NO_SHA512 -/* - * Unlike 32-bit digest algorithms, SHA-512 *relies* on SHA_LONG64 - * being exactly 64-bit wide. See Implementation Notes in sha512.c - * for further details. - */ -#define SHA512_CBLOCK (SHA_LBLOCK*8) /* SHA-512 treats input data as a - * contiguous array of 64 bit - * wide big-endian values. */ -#if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__) -#define SHA_LONG64 unsigned __int64 -#define U64(C) C##UI64 -#elif defined(__arch64__) -#define SHA_LONG64 unsigned long -#define U64(C) C##UL -#else -#define SHA_LONG64 unsigned long long -#define U64(C) C##ULL -#endif - -typedef struct SHA512state_st - { - SHA_LONG64 h[8]; - SHA_LONG64 Nl,Nh; - union { - SHA_LONG64 d[SHA_LBLOCK]; - unsigned char p[SHA512_CBLOCK]; - } u; - unsigned int num,md_len; - } SHA512_CTX; -#endif - -#ifndef OPENSSL_NO_SHA512 -int SHA384_Init(SHA512_CTX *c); -int SHA384_Update(SHA512_CTX *c, const void *data, size_t len); -int SHA384_Final(unsigned char *md, SHA512_CTX *c); -unsigned char *SHA384(const unsigned char *d, size_t n,unsigned char *md); -int SHA512_Init(SHA512_CTX *c); -int SHA512_Update(SHA512_CTX *c, const void *data, size_t len); -int SHA512_Final(unsigned char *md, SHA512_CTX *c); -unsigned char *SHA512(const unsigned char *d, size_t n,unsigned char *md); -void SHA512_Transform(SHA512_CTX *c, const unsigned char *data); -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/debian/modules/http-ndk/src/ndk.c b/debian/modules/http-ndk/src/ndk.c deleted file mode 100644 index d57040a..0000000 --- a/debian/modules/http-ndk/src/ndk.c +++ /dev/null @@ -1,155 +0,0 @@ - -/* - * 2010 (C) Marcus Clyne - */ - -#include - -#include - - -#if (NDK_HTTP_PRE_CONFIG) -static ngx_int_t ndk_http_preconfiguration (ngx_conf_t *cf); -#endif -#if (NDK_HTTP_POST_CONFIG) -static ngx_int_t ndk_http_postconfiguration (ngx_conf_t *cf); -#endif -#if (NDK_HTTP_CREATE_MAIN_CONF) -static void * ndk_http_create_main_conf (ngx_conf_t *cf); -#endif -#if (NDK_HTTP_INIT_MAIN_CONF) -static char * ndk_http_init_main_conf (ngx_conf_t *cf, void *conf); -#endif -#if (NDK_HTTP_CREATE_SRV_CONF) -static void * ndk_http_create_srv_conf (ngx_conf_t *cf); -#endif -#if (NDK_HTTP_MERGE_SRV_CONF) -static char * ndk_http_merge_srv_conf (ngx_conf_t *cf, void *parent, void *child); -#endif -#if (NDK_HTTP_CREATE_LOC_CONF) -static void * ndk_http_create_loc_conf (ngx_conf_t *cf); -#endif -#if (NDK_HTTP_MERGE_LOC_CONF) -static char * ndk_http_merge_loc_conf (ngx_conf_t *cf, void *parent, void *child); -#endif - - -#if (NDK_HTTP_INIT_MASTER) -static ngx_int_t ndk_http_init_master (ngx_log_t *log); -#endif -#if (NDK_HTTP_INIT_MODULE) -static ngx_int_t ndk_http_init_module (ngx_cycle_t *cycle); -#endif -#if (NDK_HTTP_INIT_PROCESS) -static ngx_int_t ndk_http_init_process (ngx_cycle_t *cycle); -#endif -#if (NDK_HTTP_EXIT_PROCESS) -static void ndk_http_exit_process (ngx_cycle_t *cycle); -#endif -#if (NDK_HTTP_EXIT_MASTER) -static void ndk_http_exit_master (ngx_cycle_t *cycle); -#endif - - -ngx_http_module_t ndk_http_module_ctx = { - -#if (NDK_HTTP_PRE_CONFIG) - ndk_http_preconfiguration, -#else - NULL, -#endif -#if (NDK_HTTP_POST_CONFIG) - ndk_http_postconfiguration, -#else - NULL, -#endif - -#if (NDK_HTTP_CREATE_MAIN_CONF) - ndk_http_create_main_conf, -#else - NULL, -#endif -#if (NDK_HTTP_INIT_MAIN_CONF) - ndk_http_merge_main_conf, -#else - NULL, -#endif - -#if (NDK_HTTP_CREATE_SVR_CONF) - ndk_http_create_srv_conf, -#else - NULL, -#endif -#if (NDK_HTTP_MERGE_SVR_CONF) - ndk_http_merge_srv_conf, -#else - NULL, -#endif - -#if (NDK_HTTP_CREATE_LOC_CONF) - ndk_http_create_loc_conf, -#else - NULL, -#endif -#if (NDK_HTTP_MERGE_LOC_CONF) - ndk_http_merge_loc_conf, -#else - NULL, -#endif - -}; - -ngx_module_t ndk_http_module = { - - NGX_MODULE_V1, - &ndk_http_module_ctx, /* module context */ - ndk_http_commands, /* module directives */ - NGX_HTTP_MODULE, /* module type */ - -#if (NDK_HTTP_INIT_MASTER) - ndk_http_init_master, -#else - NULL, -#endif - -#if (NDK_HTTP_INIT_MODULE) - ndk_http_init_module, -#else - NULL, -#endif -#if (NDK_HTTP_INIT_PROCESS) - ndk_http_init_process, -#else - NULL, -#endif - - NULL, /* init thread */ - NULL, /* exit thread */ - -#if (NDK_HTTP_EXIT_PROCESS) - ndk_http_exit_process, -#else - NULL, -#endif -#if (NDK_HTTP_EXIT_MASTER) - ndk_http_exit_master, -#else - NULL, -#endif - NGX_MODULE_V1_PADDING -}; - - - -#if (NDK_HTTP_CREATE_MAIN_CONF) -static void * -ndk_http_create_main_conf (ngx_conf_t *cf) -{ - ndk_http_main_conf_t *mcf; - - ndk_pcallocp_rce (mcf, cf->pool); - - return mcf; -} -#endif - diff --git a/debian/modules/http-ndk/src/ndk.h b/debian/modules/http-ndk/src/ndk.h deleted file mode 100644 index febcc32..0000000 --- a/debian/modules/http-ndk/src/ndk.h +++ /dev/null @@ -1,58 +0,0 @@ - -/* - * 2010 (C) Marcus Clyne -*/ - - -#ifndef NDK_H -#define NDK_H - - -#include -#include -#include - - -#define ndk_version 2015 -#define NDK_VERSION "0.2.15" - - -#if (NGX_DEBUG) -#ifndef NDK_DEBUG -#define NDK_DEBUG 1 -#endif -#else -#ifndef NDK_DEBUG -#define NDK_DEBUG 0 -#endif -#endif - - -#if !(NDK) -#error At least one module requires the Nginx Development Kit to be compiled with \ -the source (add --with-module=/path/to/devel/kit/src to configure command) -#endif - -#include - - -#if (NDK_HTTP_CREATE_MAIN_CONF) - -#define ndk_http_conf_get_main_conf(cf) ngx_http_conf_get_module_main_conf (cf, ndk_http_module) -#define ndk_http_get_main_conf(r) ngx_http_get_module_main_conf (r, ndk_http_module) - -typedef struct { -#if (NDK_UPSTREAM_LIST) - ngx_array_t *upstreams; -#endif -} ndk_http_main_conf_t; - -#endif /* NDK_HTTP_CREATE_MAIN_CONF */ - -#include - - -extern ngx_module_t ndk_http_module; - - -#endif diff --git a/debian/modules/http-ndk/src/ndk_buf.c b/debian/modules/http-ndk/src/ndk_buf.c deleted file mode 100644 index c491f72..0000000 --- a/debian/modules/http-ndk/src/ndk_buf.c +++ /dev/null @@ -1,43 +0,0 @@ - -ngx_int_t -ndk_copy_chain_to_str (ngx_pool_t *pool, ngx_chain_t *in, ngx_str_t *str) -{ - ngx_chain_t *cl; - size_t len; - u_char *p; - ngx_buf_t *b; - - len = 0; - for (cl = in; cl; cl = cl->next) - len += ngx_buf_size (cl->buf); - - ndk_palloc_re (p, pool, len + 1); - - str->data = p; - str->len = len; - - for (cl = in; cl; cl = cl->next) { - - b = cl->buf; - - if (ngx_buf_in_memory (b)) { - p = ngx_cpymem (p, b->pos, b->last - b->pos); - } - } - - *p = '\0'; - - return NGX_OK; -} - - -char * -ndk_copy_chain_to_charp (ngx_pool_t *pool, ngx_chain_t *in) -{ - ngx_str_t str; - - if (ndk_copy_chain_to_str (pool, in, &str) != NGX_OK) - return NULL; - - return (char *) str.data; -} \ No newline at end of file diff --git a/debian/modules/http-ndk/src/ndk_buf.h b/debian/modules/http-ndk/src/ndk_buf.h deleted file mode 100644 index e6334ad..0000000 --- a/debian/modules/http-ndk/src/ndk_buf.h +++ /dev/null @@ -1,5 +0,0 @@ - - -ngx_int_t ndk_copy_chain_to_str (ngx_pool_t *pool, ngx_chain_t *in, ngx_str_t *str); -char * ndk_copy_chain_to_charp (ngx_pool_t *pool, ngx_chain_t *in); - diff --git a/debian/modules/http-ndk/src/ndk_complex_path.c b/debian/modules/http-ndk/src/ndk_complex_path.c deleted file mode 100644 index a66a808..0000000 --- a/debian/modules/http-ndk/src/ndk_complex_path.c +++ /dev/null @@ -1,129 +0,0 @@ - - -ndk_http_complex_path_value_t ndk_empty_http_complex_path_value = {{0,NULL},0}; - - -ngx_int_t -ndk_http_complex_path_value_compile (ngx_conf_t *cf, ngx_http_complex_value_t *cv, ngx_str_t *value, ngx_uint_t prefix) -{ - ngx_http_compile_complex_value_t ccv; - - ngx_memzero (&ccv, sizeof(ngx_http_compile_complex_value_t)); - - ccv.cf = cf; - ccv.value = value; - ccv.complex_value = cv; - - switch (prefix) { - - case 1 : - ccv.root_prefix = 1; - break; - - case 2 : - ccv.conf_prefix = 1; - break; - } - - ndk_path_to_dir_safe (value, 1, 0); - - if (!value->len) - return NGX_OK; - - return ngx_http_compile_complex_value (&ccv); -} - - - -ngx_array_t * -ndk_http_complex_path_create_compile (ngx_conf_t *cf, ngx_str_t *path, ngx_uint_t prefix) -{ - ndk_http_complex_path_elt_t *cpe; - ngx_array_t *a; - ngx_int_t n; - u_char *m, *s, *e; - ngx_str_t value; - - n = ndk_strcntc (path, ':') + 1; - - a = ngx_array_create (cf->pool, n, sizeof (ndk_http_complex_path_elt_t)); - if (a == NULL) { - return NULL; - } - - s = path->data; - e = s + path->len; - - - while (s < e) { - - m = s; - - while (m < e && *m != ':') m++; - - if (m == s) { - s = m+1; - continue; - } - - cpe = ngx_array_push (a); - if (cpe == NULL) { - return NULL; - } - - if (*s == '#') { - s++; - cpe->dynamic = 1; - } else { - cpe->dynamic = 0; - } - - value.data = s; - value.len = m - s; - - if (ndk_http_complex_path_value_compile (cf, &cpe->val, &value, prefix) == NGX_ERROR) - return NULL; - - s = m+1; - } - - return a; -} - - - - -char * -ndk_conf_set_http_complex_path_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ngx_str_t *path; - ngx_array_t *a; - ngx_conf_post_t *post; - ndk_http_complex_path_t *cp; - - cp = (ndk_http_complex_path_t *) (p + cmd->offset); - - if (cp->a != NGX_CONF_UNSET_PTR) { - return "is duplicate"; - } - - path = cf->args->elts; - path++; - - cp->a = ndk_http_complex_path_create_compile (cf, path, cp->prefix); - if (cp->a == NULL) - /* TODO : log */ - return NGX_CONF_ERROR; - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, a); - } - - return NGX_CONF_OK; -} - - - diff --git a/debian/modules/http-ndk/src/ndk_complex_path.h b/debian/modules/http-ndk/src/ndk_complex_path.h deleted file mode 100644 index eb93d1f..0000000 --- a/debian/modules/http-ndk/src/ndk_complex_path.h +++ /dev/null @@ -1,30 +0,0 @@ - - -typedef struct { - ngx_array_t *a; - ngx_uint_t prefix; -} ndk_http_complex_path_t; - -typedef struct { - ngx_http_complex_value_t val; - ngx_flag_t dynamic; -} ndk_http_complex_path_elt_t; - -typedef struct { - ngx_str_t val; - ngx_flag_t dynamic; -} ndk_http_complex_path_value_t; - -typedef struct { - ndk_http_complex_path_value_t *elts; - ngx_uint_t nelts; -} ndk_http_complex_path_values_t; - - -extern ndk_http_complex_path_value_t ndk_empty_http_complex_path_value; - - -ngx_array_t * ndk_http_complex_path_create_compile (ngx_conf_t *cf, ngx_str_t *path, ngx_uint_t prefix); -ngx_int_t ndk_http_complex_path_value_compile (ngx_conf_t *cf, ngx_http_complex_value_t *cv, - ngx_str_t *value, ngx_uint_t prefix); -char * ndk_conf_set_http_complex_path_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); diff --git a/debian/modules/http-ndk/src/ndk_complex_value.c b/debian/modules/http-ndk/src/ndk_complex_value.c deleted file mode 100644 index 97681ff..0000000 --- a/debian/modules/http-ndk/src/ndk_complex_value.c +++ /dev/null @@ -1,192 +0,0 @@ - - - -ngx_int_t -ndk_http_complex_value_compile (ngx_conf_t *cf, ngx_http_complex_value_t *cv, ngx_str_t *value) -{ - ngx_http_compile_complex_value_t ccv; - - ngx_memzero (&ccv, sizeof(ngx_http_compile_complex_value_t)); - - ccv.cf = cf; - ccv.value = value; - ccv.complex_value = cv; - - return ngx_http_compile_complex_value (&ccv); -} - - - - -ngx_array_t * -ndk_http_complex_value_array_create (ngx_conf_t *cf, char **s, ngx_int_t n) -{ - ngx_int_t i; - ngx_http_complex_value_t *cv; - ngx_array_t *a; - ngx_str_t value; - - a = ngx_array_create (cf->pool, n, sizeof (ngx_http_complex_value_t)); - if (a == NULL) - return NULL; - - - for (i=0; ielts; - - for (i=0; inelts; i++, cv++) { - - if (ndk_http_complex_value_compile (cf, cv, &cv->value)) - return NGX_ERROR; - } - - return NGX_OK; -} - - - -char * -ndk_conf_set_http_complex_value_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ngx_http_complex_value_t *cv; - ngx_str_t *value; - ngx_conf_post_t *post; - - cv = (ngx_http_complex_value_t *) (p + cmd->offset); - - if (cv->value.data) { - return "is duplicate"; - } - - value = cf->args->elts; - - if (ndk_http_complex_value_compile (cf, cv, value + 1)) - return NGX_CONF_ERROR; - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, cv); - } - - return NGX_CONF_OK; -} - - - -char * -ndk_conf_set_http_complex_value_array_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ngx_str_t *value; - ngx_http_complex_value_t *cv; - ngx_array_t **a; - ngx_conf_post_t *post; - ngx_uint_t i, alloc; - - a = (ngx_array_t **) (p + cmd->offset); - - if (*a == NULL || *a == NGX_CONF_UNSET_PTR) { - - alloc = cf->args->nelts > 4 ? cf->args->nelts : 4; - - *a = ngx_array_create (cf->pool, alloc, sizeof (ngx_http_complex_value_t)); - if (*a == NULL) { - return NGX_CONF_ERROR; - } - } - - value = cf->args->elts; - - for (i=1; iargs->nelts; i++) { - - cv = ngx_array_push (*a); - if (cv == NULL) { - return NGX_CONF_ERROR; - } - - if (ndk_http_complex_value_compile (cf, cv, &value[i]) == NGX_ERROR) - return NGX_CONF_ERROR; - } - - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, a); - } - - return NGX_CONF_OK; -} - - -char * -ndk_conf_set_http_complex_keyval_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ngx_str_t *value; - ndk_http_complex_keyval_t *ckv; - ngx_array_t **a; - ngx_conf_post_t *post; - ngx_int_t alloc; - - a = (ngx_array_t **) (p + cmd->offset); - - if (*a == NULL || *a == NGX_CONF_UNSET_PTR) { - - alloc = cf->args->nelts > 4 ? cf->args->nelts : 4; - - *a = ngx_array_create (cf->pool, alloc, sizeof (ndk_http_complex_keyval_t)); - if (*a == NULL) { - return NGX_CONF_ERROR; - } - } - - ckv = ngx_array_push (*a); - if (ckv == NULL) { - return NGX_CONF_ERROR; - } - - value = cf->args->elts; - - ckv->key = value[1]; - - if (ndk_http_complex_value_compile (cf, &ckv->value, &value[2]) == NGX_ERROR) - return NGX_CONF_ERROR; - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, a); - } - - return NGX_CONF_OK; -} - -/* TODO : complex keyval1 */ diff --git a/debian/modules/http-ndk/src/ndk_complex_value.h b/debian/modules/http-ndk/src/ndk_complex_value.h deleted file mode 100644 index 4178d62..0000000 --- a/debian/modules/http-ndk/src/ndk_complex_value.h +++ /dev/null @@ -1,21 +0,0 @@ - - -typedef struct { - ngx_str_t key; - ngx_http_complex_value_t value; -} ndk_http_complex_keyval_t; - - - -/* create/compile functions */ - -ngx_int_t ndk_http_complex_value_compile (ngx_conf_t *cf, ngx_http_complex_value_t *cv, ngx_str_t *value); -ngx_array_t * ndk_http_complex_value_array_create (ngx_conf_t *cf, char **s, ngx_int_t n); -ngx_int_t ndk_http_complex_value_array_compile (ngx_conf_t *cf, ngx_array_t *a); - - -/* conf set slot functions */ - -char * ndk_conf_set_http_complex_keyval_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_http_complex_value_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_http_complex_value_array_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); diff --git a/debian/modules/http-ndk/src/ndk_conf_file.c b/debian/modules/http-ndk/src/ndk_conf_file.c deleted file mode 100644 index 980641c..0000000 --- a/debian/modules/http-ndk/src/ndk_conf_file.c +++ /dev/null @@ -1,396 +0,0 @@ - - -/* NOTE : you will find other conf_set functions in the following files : - * - * complex_value.c - * encoding.c - * path.c - * - */ - - -char * -ndk_conf_set_true_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ngx_flag_t *fp; - ngx_conf_post_t *post; - - fp = (ngx_flag_t*) (p + cmd->offset); - - if (*fp != NGX_CONF_UNSET) { - return "is duplicate"; - } - - *fp = 1; - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, fp); - } - - return NGX_CONF_OK; -} - - - -char * -ndk_conf_set_false_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ngx_flag_t *fp; - ngx_conf_post_t *post; - - fp = (ngx_flag_t*) (p + cmd->offset); - - if (*fp != NGX_CONF_UNSET) { - return "is duplicate"; - } - - *fp = 0; - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, fp); - } - - return NGX_CONF_OK; -} - - - - -char * -ndk_conf_set_ptr_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - void **ptr; - - ptr = (void**) (p + cmd->offset); - - if (*ptr != NGX_CONF_UNSET_PTR) { - return "is duplicate"; - } - - *ptr = cmd->post; - - return NGX_CONF_OK; -} - - - -char * -ndk_conf_set_null_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - void **pp; - ngx_conf_post_t *post; - - pp = (void **) (p + cmd->offset); - - if (*pp != NGX_CONF_UNSET_PTR) { - return "is duplicate"; - } - - *pp = NULL; - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, pp); - } - - return NGX_CONF_OK; -} - - -char * -ndk_conf_set_num64_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - int64_t *np; - ngx_str_t *value; - ngx_conf_post_t *post; - - - np = (int64_t *) (p + cmd->offset); - - if (*np != NGX_CONF_UNSET) { - return "is duplicate"; - } - - value = cf->args->elts; - *np = ndk_atoi64 (value[1].data, value[1].len); - if (*np == NGX_ERROR) { - return "invalid number"; - } - - if (cmd->post) { - post = cmd->post; - return post->post_handler(cf, post, np); - } - - return NGX_CONF_OK; -} - - -char * -ndk_conf_set_str_array_multi_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ngx_str_t *value, *s; - ngx_array_t **a; - ngx_conf_post_t *post; - ngx_uint_t i; - - a = (ngx_array_t **) (p + cmd->offset); - - if (*a == NGX_CONF_UNSET_PTR) { - *a = ngx_array_create(cf->pool, 4, sizeof(ngx_str_t)); - if (*a == NULL) { - return NGX_CONF_ERROR; - } - } - - s = NULL; - - for (i=cf->args->nelts-1; i; i--) { - - s = ngx_array_push(*a); - if (s == NULL) { - return NGX_CONF_ERROR; - } - - value = cf->args->elts; - - *s = value[i]; - } - - if (cmd->post) { - post = cmd->post; - return post->post_handler(cf, post, s); - } - - return NGX_CONF_OK; -} - - - -char * -ndk_conf_set_keyval1_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ngx_str_t *value; - ngx_keyval_t *kv; - ngx_conf_post_t *post; - - kv = (ngx_keyval_t *) (p + cmd->offset); - - if (kv->key.data) - return "is duplicate"; - - value = cf->args->elts; - - kv->key = value[1]; - kv->value = value[2]; - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, kv); - } - - return NGX_CONF_OK; -} - - - -char * -ndk_conf_set_num_flag_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ngx_int_t *np; - ngx_str_t *value; - ngx_conf_post_t *post; - - np = (ngx_int_t *) (p + cmd->offset); - - if (*np != NGX_CONF_UNSET) { - return "is duplicate"; - } - - value = cf->args->elts; - - if (ngx_strcasecmp (value[1].data, (u_char *) "on") == 0) { - *np = NDK_CONF_SET_TRUE; - - } else if (ngx_strcasecmp (value[1].data, (u_char *) "off") == 0) { - *np = NDK_CONF_SET_FALSE; - - } else { - *np = ngx_atoi (value[1].data, value[1].len); - if (*np == NGX_ERROR) { - return "invalid number and not 'on'/'off'"; - } - } - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, np); - } - - return NGX_CONF_OK; -} - - - -char * -ndk_conf_set_sec_flag_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - time_t *tp; - ngx_str_t *value; - ngx_conf_post_t *post; - - tp = (time_t *) (p + cmd->offset); - - if (*tp != NGX_CONF_UNSET) { - return "is duplicate"; - } - - value = cf->args->elts; - - if (ngx_strcasecmp (value[1].data, (u_char *) "on") == 0) { - *tp = NDK_CONF_SET_TRUE; - - } else if (ngx_strcasecmp (value[1].data, (u_char *) "off") == 0) { - *tp = NDK_CONF_SET_FALSE; - - } else { - *tp = ngx_parse_time (&value[1], 1); - if (*tp == NGX_ERROR) { - return "has an invalid time and not 'on'/'off'"; - } - } - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, tp); - } - - return NGX_CONF_OK; -} - - - -ngx_http_conf_ctx_t * -ndk_conf_create_http_location (ngx_conf_t *cf) -{ - ngx_http_conf_ctx_t *ctx, *pctx; - void *mconf; - ngx_http_core_loc_conf_t *clcf, *pclcf; - ngx_uint_t i; - ngx_http_module_t *module; - - ndk_pcallocp_rce (ctx, cf->pool); - - pctx = cf->ctx; - ctx->main_conf = pctx->main_conf; - ctx->srv_conf = pctx->srv_conf; - - ndk_pcalloc_rce (ctx->loc_conf, cf->pool, sizeof(void *) * ngx_http_max_module); - - - for (i = 0; ngx_modules[i]; i++) { - if (ngx_modules[i]->type != NGX_HTTP_MODULE) { - continue; - } - - module = ngx_modules[i]->ctx; - - if (module->create_loc_conf) { - - mconf = module->create_loc_conf(cf); - if (mconf == NULL) { - return NGX_CONF_ERROR; - } - - ctx->loc_conf[ngx_modules[i]->ctx_index] = mconf; - } - } - - pclcf = pctx->loc_conf[ngx_http_core_module.ctx_index]; - - clcf = ctx->loc_conf[ngx_http_core_module.ctx_index]; - clcf->loc_conf = ctx->loc_conf; - clcf->name = pclcf->name; - clcf->noname = 1; - - if (ngx_http_add_location(cf, &pclcf->locations, clcf) != NGX_OK) { - return NGX_CONF_ERROR; - } - - return ctx; -} - - -ngx_http_conf_ctx_t * -ngx_conf_create_http_named_location (ngx_conf_t *cf, ngx_str_t *name) -{ - ngx_http_conf_ctx_t *ctx; - ngx_http_core_loc_conf_t *clcf; - - ctx = ndk_conf_create_http_location (cf); - if (ctx == NGX_CONF_ERROR) - return NGX_CONF_ERROR; - - clcf = ctx->loc_conf[ngx_http_core_module.ctx_index]; - - /* in case the developer forgets to add '@' at the beginning of the named location */ - - if (name->data[0] != '@' && ndk_catstrf (cf->pool, name, "sS", "@", name) == NULL) - return NGX_CONF_ERROR; - - clcf->name = *name; /* TODO : copy? */ - clcf->noname = 0; - clcf->named = 1; - - return ctx; -} - - -ngx_int_t -ndk_replace_command (ngx_command_t *new_cmd, ngx_uint_t module_type) -{ - ngx_uint_t i; - ngx_command_t *cmd; - - for (i = 0; ngx_modules[i]; i++) { - - if (ngx_modules[i]->type != module_type) - continue; - - cmd = ngx_modules[i]->commands; - if (cmd == NULL) { - continue; - } - - for ( /* void */ ; cmd->name.len; cmd++) { - - if (ndk_cmpstr (&new_cmd->name, &cmd->name) == 0) { - - ndk_memcpyp (cmd, new_cmd); - return NGX_OK; - } - } - } - - return NGX_DECLINED; -} diff --git a/debian/modules/http-ndk/src/ndk_conf_file.h b/debian/modules/http-ndk/src/ndk_conf_file.h deleted file mode 100644 index 6956b17..0000000 --- a/debian/modules/http-ndk/src/ndk_conf_file.h +++ /dev/null @@ -1,44 +0,0 @@ - - -/* conf set functions */ - -char * ndk_conf_set_true_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_false_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_full_path_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_ptr_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_null_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_str_array_multi_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_keyval1_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_num_flag (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_num64_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_sec_flag_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); - -ngx_http_conf_ctx_t * ndk_conf_create_http_location (ngx_conf_t *cf); -ngx_http_conf_ctx_t * ngx_conf_create_http_named_location (ngx_conf_t *cf, ngx_str_t *name); - -ngx_int_t ndk_replace_command (ngx_command_t *new_cmd, ngx_uint_t module_type); - - -/* values for conf_set_xxx_flag */ - -#define NDK_CONF_SET_TRUE -2 -#define NDK_CONF_SET_FALSE -3 - - -/* wrappers for utility macros */ - -#define ndk_conf_set_bitmask_slot ngx_conf_set_bitmask_slot -#define ndk_conf_set_bufs_slot ngx_conf_set_bufs_slot -#define ndk_conf_set_enum_slot ngx_conf_set_enum_slot -#define ndk_conf_set_flag_slot ngx_conf_set_flag_slot -#define ndk_conf_set_keyval_slot ngx_conf_set_keyval_slot -#define ndk_conf_set_msec_slot ngx_conf_set_msec_slot -#define ndk_conf_set_num_slot ngx_conf_set_num_slot -#define ndk_conf_set_off_slot ngx_conf_set_off_slot -#define ndk_conf_set_sec_slot ngx_conf_set_sec_slot -#define ndk_conf_set_size_slot ngx_conf_set_size_slot -#define ndk_conf_set_str_slot ngx_conf_set_str_slot - - - - diff --git a/debian/modules/http-ndk/src/ndk_debug.c b/debian/modules/http-ndk/src/ndk_debug.c deleted file mode 100644 index e0251cc..0000000 --- a/debian/modules/http-ndk/src/ndk_debug.c +++ /dev/null @@ -1,72 +0,0 @@ - -#if (NGX_DEBUG) - -void -ndk_debug_helper (const char *func, const char *fmt, ...) -{ - size_t len, flen, tlen; - char *s, *p, *e; - - /* check to see if the format is empty */ - - flen = strlen (fmt); - - /* build func name */ - - len = strlen (func); - - if (flen == 0) - tlen = len + 1; - else - - char func_name [len + flen + 1]; - - s = func_name; - e = s + len; - - memcpy (s, func, len); - - /* remove initial ngx_ */ - - if (strncmp (s, "ngx_", 4) == 0) - s += 4; - - /* replace '_' with ' ' */ - - for (p=s; pmethod_name.len, r->method_name.data, - (int) r->uri.len, r->uri.data, - (int) r->args.len, r->args.data, - 0/*(int) r->main->count*/, r->main, - r, r->connection->data, r->parent); - - if (r->posted_requests) { - fprintf(stderr, " posted:"); - - for (pr = r->posted_requests; pr; pr = pr->next) { - fprintf (stderr, "%p,", pr); - } - } - - fprintf (stderr, "\n"); -} - - -#endif diff --git a/debian/modules/http-ndk/src/ndk_debug.h b/debian/modules/http-ndk/src/ndk_debug.h deleted file mode 100644 index 883a6eb..0000000 --- a/debian/modules/http-ndk/src/ndk_debug.h +++ /dev/null @@ -1,171 +0,0 @@ -#ifndef NDK_DEBUG_H -#define NDK_DEBUG_H - - -/* TODO : use the Nginx printf function */ - - -#include -#include - -/* TODO -- andk_debug variety of debugging formats -- global include file for all debugging - can pass declaration to cflags for the option -*/ - - -#if (NDK_DEBUG) - - #if (NGX_HAVE_VARIADIC_MACROS) - - #define ndk_debug(...) ndk_debug_helper (__func__,__VA_ARGS__) - - #define ndk_debug_helper(func,...) \ - fprintf(stderr, "%-60s", func); \ - fprintf(stderr, (const char *)__VA_ARGS__); \ - fprintf(stderr,"\n"); - /*fprintf(stderr, " at %s line %d.\n", __FILE__, __LINE__)*/ - - #else - - /* NOTE : these includes might not be necessary since they're probably included with the core */ - - #include - #include - #include - - static void ndk_debug (const char * fmt, ...) { - } - - #endif - - #if NDK_DEBUG > 1 - - #define ndk_debug_request() ndk_debug_request_helper(r, __func__) - - static ngx_inline void - ndk_debug_request_helper (ngx_http_request_t *r, const char *func) - { - ngx_http_posted_request_t *pr; - - /* TODO : improve the format */ - - fprintf (stderr, "%s %.*s %.*s?%.*s c:%d m:%p r:%p ar:%p pr:%p", - func, - (int) r->method_name.len, r->method_name.data, - (int) r->uri.len, r->uri.data, - (int) r->args.len, r->args.data, - 0/*(int) r->main->count*/, r->main, - r, r->connection->data, r->parent); - - if (r->posted_requests) { - fprintf(stderr, " posted:"); - - for (pr = r->posted_requests; pr; pr = pr->next) { - fprintf (stderr, "%p,", pr); - } - } - - fprintf (stderr, "\n"); - } - - - #else - - #define ndk_debug_request() - - #endif - - - static ngx_inline void - ndk_debug_print_posted_requests (ngx_http_request_t *r) - { - ngx_http_posted_request_t *pr; - - ndk_request_log_debug_http (r, "ndk debug - http posted requests"); - - for (pr = r->main->posted_requests; pr; pr = pr->next) { - - if (!pr->request) - continue; - - ndk_request_log_debug_http (r, "ndk debug - http posted request:%V", &pr->request->uri); - } - } - - - #define ndk_debug_http_conf_location(cf) ndk_debug_http_conf_location_helper (cf, __func__) - - static ngx_inline void - ndk_debug_http_conf_location_helper (ngx_conf_t *cf, const char *func) - { - ngx_http_core_loc_conf_t *lcf; - - lcf = ngx_http_conf_get_module_loc_conf (cf, ngx_http_core_module); - - ndk_debug_helper (func, "[%s]", lcf->name.data); - } - - /* - static void - ndk_debug_log_chain (ngx_log_t *log, ngx_chain_t *cl) - { - - - } - */ - -#else - - #if (NGX_HAVE_VARIADIC_MACROS) - - #define ndk_debug(...) - #define ndk_debug_request() - - #else - - #include - - static void ndk_debug (const char * fmt, ...) { - } - - static void ndk_debug_request() { - } - - #endif - - #define ndk_debug_http_conf_location(cf) - -#endif - -#if (NDK_DEBUG) - - #define ndk_debug_check_read_event_handler(r) \ - \ - ndk_debug("r->read_event_handler = %s", \ - r->read_event_handler == ngx_http_block_reading ? \ - "ngx_http_block_reading" : \ - r->read_event_handler == ngx_http_test_reading ? \ - "ngx_http_test_reading" : \ - r->read_event_handler == ngx_http_request_empty_handler ? \ - "ngx_http_request_empty_handler" : "UNKNOWN") - - #define ndk_debug_check_write_event_handler(r) \ - \ - ndk_debug ("r->write_event_handler = %s", \ - r->write_event_handler == ngx_http_handler ? \ - "ngx_http_handler" : \ - r->write_event_handler == ngx_http_core_run_phases ? \ - "ngx_http_core_run_phases" : \ - r->write_event_handler == ngx_http_request_empty_handler ? \ - "ngx_http_request_empty_handler" : "UNKNOWN") - -#else - - #define ndk_debug_check_read_event_handler(r) - #define ndk_debug_check_write_event_handler(r) - -#endif - -#endif /* NDK_DEBUG_H */ - diff --git a/debian/modules/http-ndk/src/ndk_encoding.c b/debian/modules/http-ndk/src/ndk_encoding.c deleted file mode 100644 index 4a07872..0000000 --- a/debian/modules/http-ndk/src/ndk_encoding.c +++ /dev/null @@ -1,57 +0,0 @@ - - - -char * -ndk_conf_set_encoding_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ndk_encoding_t *ep; - ngx_str_t *value; - size_t len; - iconv_t ic; - - ep = (ndk_encoding_t *) (p + cmd->offset); - if (ep->from && ep->to) - return "is duplicate"; - - value = cf->args->elts; - - - if (ep->from) { - - ep->to = (char *) value[1].data; - len = strlen (ep->from); - - } else if (ep->to) { - - ep->from = (char *) value[1].data; - len = strlen (ep->to); - - } else { - return "has no base encoding"; - } - - - if (len == value[1].len && !strncasecmp (ep->to, ep->from, len)) { - - ngx_log_error (NGX_LOG_WARN, cf->log, 0, - "\"%V\" '%V' encoding is ignored (no conversion)", &value[0], &value[1]); - - return NGX_CONF_OK; - } - - - ic = iconv_open (ep->to, ep->from); - if (ic == (iconv_t)-1) - return "has an invalid encoding"; - - - if (iconv_close (ic)) { - ngx_log_error (NGX_LOG_EMERG, cf->log, errno, "iconv_close()"); - return NGX_CONF_ERROR; - } - - return NGX_CONF_OK; -} - diff --git a/debian/modules/http-ndk/src/ndk_encoding.h b/debian/modules/http-ndk/src/ndk_encoding.h deleted file mode 100644 index b295b18..0000000 --- a/debian/modules/http-ndk/src/ndk_encoding.h +++ /dev/null @@ -1,12 +0,0 @@ - - -#include - -typedef struct { - char *from; - char *to; -} ndk_encoding_t; - - -char * ndk_conf_set_encoding_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); - diff --git a/debian/modules/http-ndk/src/ndk_hash.c b/debian/modules/http-ndk/src/ndk_hash.c deleted file mode 100644 index dec3d41..0000000 --- a/debian/modules/http-ndk/src/ndk_hash.c +++ /dev/null @@ -1,82 +0,0 @@ - -#include - - - -/* openssl hashes */ - -#define NDK_OPENSSL_HASH(type,ctxt_type,upper) \ - u_char md [ctxt_type ## _DIGEST_LENGTH]; \ - ctxt_type ##_CTX c; \ - \ - type ## _Init (&c); \ - type ## _Update (&c, data, len); \ - type ## _Final (md, &c); \ - \ - ndk_hex_dump (p, (u_char *) md, ctxt_type ## _DIGEST_LENGTH); \ - if (upper) { \ - ndk_strtoupper (p, (ctxt_type ## _DIGEST_LENGTH) *2); \ - } - - -#ifdef NDK_MD5 - -void -ndk_md5_hash (u_char *p, char *data, size_t len) -{ - NDK_OPENSSL_HASH (MD5, MD5, 0); -} - -void -ndk_md5_hash_upper (u_char *p, char *data, size_t len) -{ - NDK_OPENSSL_HASH (MD5, MD5, 1); -} - -#endif -#ifdef NDK_SHA1 - -void -ndk_sha1_hash (u_char *p, char *data, size_t len) -{ - NDK_OPENSSL_HASH (SHA1, SHA, 0); -} - -void -ndk_sha1_hash_upper (u_char *p, char *data, size_t len) -{ - NDK_OPENSSL_HASH (SHA1, SHA, 1); -} - -#endif - - - -/* non-openssl hashes */ - -#ifdef NDK_MURMUR2 - -#include "hash/murmurhash2.c" - -void -ndk_murmur2_hash (u_char *p, char *data, size_t len) -{ - uint32_t hash; - - hash = MurmurHash2 (data, len, 47); - - ndk_hex_dump (p, (u_char*) &hash, 4); -} - -void -ndk_murmur2_hash_upper (u_char *p, char *data, size_t len) -{ - uint32_t hash; - - hash = MurmurHash2 (data, len, 47); - - ndk_hex_dump (p, (u_char*) &hash, 4); - ndk_strtoupper (p, 8); -} - -#endif diff --git a/debian/modules/http-ndk/src/ndk_hash.h b/debian/modules/http-ndk/src/ndk_hash.h deleted file mode 100644 index a15e923..0000000 --- a/debian/modules/http-ndk/src/ndk_hash.h +++ /dev/null @@ -1,45 +0,0 @@ - -#ifndef NDK_HASH_H -#define NDK_HASH_H - -#ifdef NDK_HASH_ALL - -#ifndef NDK_MD5 -#define NDK_MD5 -#endif - -#ifndef NDK_MURMUR2 -#define NDK_MURMUR2 -#endif - -#ifndef NDK_SHA1 -#define NDK_SHA1 -#endif - -#endif - -#include -#include -typedef void (*ndk_hash_pt) (u_char *p, char *data, size_t len); - - -#ifdef NDK_MD5 -#include -void ndk_md5_hash (u_char *p, char *data, size_t len); -void ndk_md5_hash_upper (u_char *p, char *data, size_t len); -#endif - -#ifdef NDK_MURMUR2 -#define MURMURHASH2_DIGEST_LENGTH 4 -void ndk_murmur2_hash (u_char *p, char *data, size_t len); -void ndk_murmur2_hash_upper (u_char *p, char *data, size_t len); -#endif - -#ifdef NDK_SHA1 -#include -void ndk_sha1_hash (u_char *p, char *data, size_t len); -void ndk_sha1_hash_upper (u_char *p, char *data, size_t len); -#endif - -#endif /* NDK_HASH_H */ - diff --git a/debian/modules/http-ndk/src/ndk_http.c b/debian/modules/http-ndk/src/ndk_http.c deleted file mode 100644 index 60728bb..0000000 --- a/debian/modules/http-ndk/src/ndk_http.c +++ /dev/null @@ -1,138 +0,0 @@ - -ngx_uint_t -ndk_http_count_phase_handlers (ngx_http_core_main_conf_t *cmcf) -{ - ngx_http_phase_handler_t *ph; - ngx_uint_t i; - - ph = cmcf->phase_engine.handlers; - - for (i=0; ph[i].checker; i++) /* void */; - - return i; -} - - -ngx_uint_t -ndk_http_parse_request_method (ngx_str_t *m) -{ - switch (m->len) { - - case 3: - -#if (NGX_HAVE_LITTLE_ENDIAN && NGX_HAVE_NONALIGNED) - { - u_char t[4]; - - ngx_memcpy (t, m->data, 3); - t[3] = ' '; - - if (ndk_str3_cmp (t, 'G', 'E', 'T', ' ')) { - return NGX_HTTP_GET; - } - - if (ndk_str3_cmp (t, 'P', 'U', 'T', ' ')) { - return NGX_HTTP_PUT; - } - } - -#else - - if (ndk_str3_cmp (m->data, 'G', 'E', 'T', ' ')) { - return NGX_HTTP_GET; - } - - if (ndk_str3_cmp (m->data, 'P', 'U', 'T', ' ')) { - return NGX_HTTP_PUT; - } - -#endif - break; - - case 4: - - if (m->data[1] == 'O') { - - if (ndk_str3Ocmp (m->data, 'P', 'O', 'S', 'T')) { - return NGX_HTTP_POST; - } - - if (ndk_str3Ocmp (m->data, 'C', 'O', 'P', 'Y')) { - return NGX_HTTP_COPY; - } - - if (ndk_str3Ocmp (m->data, 'M', 'O', 'V', 'E')) { - return NGX_HTTP_MOVE; - } - - if (ndk_str3Ocmp (m->data, 'L', 'O', 'C', 'K')) { - return NGX_HTTP_LOCK; - } - - } else { - - if (ndk_str4cmp (m->data, 'H', 'E', 'A', 'D')) { - return NGX_HTTP_HEAD; - } - } - - break; - - case 5: - - if (ndk_str5cmp (m->data, 'M', 'K', 'C', 'O', 'L')) { - return NGX_HTTP_MKCOL; - } - - if (ndk_str5cmp (m->data, 'P', 'A', 'T', 'C', 'H')) { - return NGX_HTTP_PATCH; - } - - if (ndk_str5cmp (m->data, 'T', 'R', 'A', 'C', 'E')) { - return NGX_HTTP_TRACE; - } - - break; - - case 6: - - if (ndk_str6cmp (m->data, 'D', 'E', 'L', 'E', 'T', 'E')) { - return NGX_HTTP_DELETE; - } - - if (ndk_str6cmp (m->data, 'U', 'N', 'L', 'O', 'C', 'K')) { - return NGX_HTTP_UNLOCK; - } - - break; - - case 7: - - if (ndk_str7_cmp (m->data, 'O', 'P', 'T', 'I', 'O', 'N', 'S', ' ')) - { - return NGX_HTTP_OPTIONS; - } - - break; - - case 8: - - if (ndk_str8cmp (m->data, 'P', 'R', 'O', 'P', 'F', 'I', 'N', 'D')) - { - return NGX_HTTP_PROPFIND; - } - - break; - - case 9: - - if (ndk_str9cmp (m->data, 'P', 'R', 'O', 'P', 'P', 'A', 'T', 'C', 'H')) - { - return NGX_HTTP_PROPPATCH; - } - - break; - } - - return 0; -} \ No newline at end of file diff --git a/debian/modules/http-ndk/src/ndk_http.h b/debian/modules/http-ndk/src/ndk_http.h deleted file mode 100644 index 6a9d1c5..0000000 --- a/debian/modules/http-ndk/src/ndk_http.h +++ /dev/null @@ -1,3 +0,0 @@ - -ngx_uint_t ndk_http_count_phase_handlers (ngx_http_core_main_conf_t *cmcf); -ngx_uint_t ndk_http_parse_request_method (ngx_str_t *m); diff --git a/debian/modules/http-ndk/src/ndk_http_headers.h b/debian/modules/http-ndk/src/ndk_http_headers.h deleted file mode 100644 index e71c70e..0000000 --- a/debian/modules/http-ndk/src/ndk_http_headers.h +++ /dev/null @@ -1,35 +0,0 @@ - - -/* TODO : organize and add */ -/* TODO : check - should it be r->main? */ - -#define ndk_http_uri(r) (r)->uri -#define ndk_http_request_uri(r) (r)->unparsed_uri - -#define ndk_http_header_in(r,name) ((r)->headers_in.name ? &(r)->headers_in.name->value : NULL) -#define ndk_http_header_out(r,name) ((r)->headers_out.name ? &(r)->headers_out.name->value : NULL) - -#define ndk_http_host_header(r) ndk_http_header_in (r, host) -#define ndk_http_connection_header(r) ndk_http_header_in (r, connection) -#define ndk_http_if_modified_since_header(r) ndk_http_header_in (r, if_modified_since) -#define ndk_http_user_agent_header(r) ndk_http_header_in (r, user_agent) -#define ndk_http_referer_header(r) ndk_http_header_in (r, referer) -#define ndk_http_content_length_header(r) ndk_http_header_in (r, content_length) -#define ndk_http_content_type_header(r) ndk_http_header_in (r, content_type) -#define ndk_http_range_header(r) ndk_http_header_in (r, range) -#define ndk_http_if_range_header(r) ndk_http_header_in (r, if_range) -#define ndk_http_transfer_encoding_header(r) ndk_http_header_in (r, transfer_encoding) -#define ndk_http_expect_header(r) ndk_http_header_in (r, expect) -#define ndk_http_accept_encoding_header(r) ndk_http_header_in (r, accept_encoding) -#define ndk_http_via_header(r) ndk_http_header_in (r, via) -#define ndk_http_authorization_header(r) ndk_http_header_in (r, authorization) -#define ndk_http_keep_alive_header(r) ndk_http_header_in (r, keep_alive) -#define ndk_http_x_forwarded_for_header(r) ndk_http_header_in (r, x_forwarded_for) -#define ndk_http_x_real_ip_header(r) ndk_http_header_in (r, x_real_ip) -#define ndk_http_accept_header(r) ndk_http_header_in (r, accept) -#define ndk_http_accept_language_header(r) ndk_http_header_in (r, accept_language) -#define ndk_http_depth_header(r) ndk_http_header_in (r, depth) -#define ndk_http_destination_header(r) ndk_http_header_in (r, destination) -#define ndk_http_overwrite_header(r) ndk_http_header_in (r, overwrite) -#define ndk_http_date_header(r) ndk_http_header_in (r, date) - diff --git a/debian/modules/http-ndk/src/ndk_log.c b/debian/modules/http-ndk/src/ndk_log.c deleted file mode 100644 index 36dca15..0000000 --- a/debian/modules/http-ndk/src/ndk_log.c +++ /dev/null @@ -1,3 +0,0 @@ - - -/* TODO : the required functions if the compiler does not have variadic macros */ diff --git a/debian/modules/http-ndk/src/ndk_log.h b/debian/modules/http-ndk/src/ndk_log.h deleted file mode 100644 index 1dd9c22..0000000 --- a/debian/modules/http-ndk/src/ndk_log.h +++ /dev/null @@ -1,165 +0,0 @@ - -/* TODO : fix the conf_log macros */ - -#define NGX_LOG_DEBUG_SCRIPT NGX_LOG_DEBUG_HTTP /* TODO : add new section to log/conf directives */ - -#define ndk_conf_to_log(cf) ((cf)->log) - -#ifndef ndk_request_to_log -#define ndk_request_to_log(r) ((r)->connection->log) -#endif - - -/*********************************/ - -#if (NGX_HAVE_C99_VARIADIC_MACROS) - -#define ndk_log_stderr(log,...) ngx_log_error (NGX_LOG_STDERR, log, 0, __VA_ARGS__) -#define ndk_log_emerg(log,...) ngx_log_error (NGX_LOG_EMERG, log, 0, __VA_ARGS__) -#define ndk_log_alert(log,...) ngx_log_error (NGX_LOG_ALERT, log, 0, __VA_ARGS__) -#define ndk_log_crit(log,...) ngx_log_error (NGX_LOG_CRIT, log, 0, __VA_ARGS__) -#define ndk_log_err(log,...) ngx_log_error (NGX_LOG_ERR, log, 0, __VA_ARGS__) -#define ndk_log_warning(log,...) ngx_log_error (NGX_LOG_WARN, log, 0, __VA_ARGS__) -#define ndk_log_notice(log,...) ngx_log_error (NGX_LOG_NOTICE, log, 0, __VA_ARGS__) -#define ndk_log_info(log,...) ngx_log_error (NGX_LOG_INFO, log, 0, __VA_ARGS__) - -#define ndk_conf_log_stderr(cf,...) ngx_conf_log_error (NGX_LOG_STDERR, cf, 0, __VA_ARGS__) -#define ndk_conf_log_emerg(cf,...) ngx_conf_log_error (NGX_LOG_EMERG, cf, 0, __VA_ARGS__) -#define ndk_conf_log_alert(cf,...) ngx_conf_log_error (NGX_LOG_ALERT, cf, 0, __VA_ARGS__) -#define ndk_conf_log_crit(cf,...) ngx_conf_log_error (NGX_LOG_CRIT, cf, 0, __VA_ARGS__) -#define ndk_conf_log_err(cf,...) ngx_conf_log_error (NGX_LOG_ERR, cf, 0, __VA_ARGS__) -#define ndk_conf_log_warning(cf,...) ngx_conf_log_error (NGX_LOG_WARN, cf, 0, __VA_ARGS__) -#define ndk_conf_log_notice(cf,...) ngx_conf_log_error (NGX_LOG_NOTICE, cf, 0, __VA_ARGS__) -#define ndk_conf_log_info(cf,...) ngx_conf_log_error (NGX_LOG_INFO, cf, 0, __VA_ARGS__) - -#define ndk_request_log_stderr(r,...) ndk_log_stderr (ndk_request_to_log(r), __VA_ARGS__) -#define ndk_request_log_emerg(r,...) ndk_log_emerg (ndk_request_to_log(r), __VA_ARGS__) -#define ndk_request_log_alert(r,...) ndk_log_alert (ndk_request_to_log(r), __VA_ARGS__) -#define ndk_request_log_crit(r,...) ndk_log_crit (ndk_request_to_log(r), __VA_ARGS__) -#define ndk_request_log_err(r,...) ndk_log_err (ndk_request_to_log(r), __VA_ARGS__) -#define ndk_request_log_warning(r,...) ndk_log_warning (ndk_request_to_log(r), __VA_ARGS__) -#define ndk_request_log_notice(r,...) ndk_log_notice (ndk_request_to_log(r), __VA_ARGS__) -#define ndk_request_log_info(r,...) ndk_log_info (ndk_request_to_log(r), __VA_ARGS__) - - -#if (NGX_DEBUG) - -#define ndk_log_debug_core(log,...) ngx_log_debug (NGX_LOG_DEBUG_CORE, log, 0, __VA_ARGS__) -#define ndk_log_debug_alloc(log,...) ngx_log_debug (NGX_LOG_DEBUG_ALLOC, log, 0, __VA_ARGS__) -#define ndk_log_debug_mutex(log,...) ngx_log_debug (NGX_LOG_DEBUG_MUTEX, log, 0, __VA_ARGS__) -#define ndk_log_debug_event(log,...) ngx_log_debug (NGX_LOG_DEBUG_EVENT, log, 0, __VA_ARGS__) -#define ndk_log_debug_http(log,...) ngx_log_debug (NGX_LOG_DEBUG_HTTP, log, 0, __VA_ARGS__) -#define ndk_log_debug_mail(log,...) ngx_log_debug (NGX_LOG_DEBUG_MAIL, log, 0, __VA_ARGS__) -#define ndk_log_debug_mysql(log,...) ngx_log_debug (NGX_LOG_DEBUG_MYSQL, log, 0, __VA_ARGS__) - -#define ndk_conf_log_debug_core(r,...) ndk_log_debug_core (ndk_conf_to_log(r), __VA_ARGS__) -#define ndk_conf_log_debug_alloc(r,...) ndk_log_debug_alloc (ndk_conf_to_log(r), __VA_ARGS__) -#define ndk_conf_log_debug_mutex(r,...) ndk_log_debug_mutex (ndk_conf_to_log(r), __VA_ARGS__) -#define ndk_conf_log_debug_event(r,...) ndk_log_debug_event (ndk_conf_to_log(r), __VA_ARGS__) -#define ndk_conf_log_debug_http(r,...) ndk_log_debug_http (ndk_conf_to_log(r), __VA_ARGS__) -#define ndk_conf_log_debug_mail(r,...) ndk_log_debug_mail (ndk_conf_to_log(r), __VA_ARGS__) -#define ndk_conf_log_debug_mysql(r,...) ndk_log_debug_mysql (ndk_conf_to_log(r), __VA_ARGS__) - -#define ndk_request_log_debug_core(r,...) ndk_log_debug_core (ndk_request_to_log(r), __VA_ARGS__) -#define ndk_request_log_debug_alloc(r,...) ndk_log_debug_alloc (ndk_request_to_log(r), __VA_ARGS__) -#define ndk_request_log_debug_mutex(r,...) ndk_log_debug_mutex (ndk_request_to_log(r), __VA_ARGS__) -#define ndk_request_log_debug_event(r,...) ndk_log_debug_event (ndk_request_to_log(r), __VA_ARGS__) -#define ndk_request_log_debug_http(r,...) ndk_log_debug_http (ndk_request_to_log(r), __VA_ARGS__) -#define ndk_request_log_debug_mail(r,...) ndk_log_debug_mail (ndk_request_to_log(r), __VA_ARGS__) -#define ndk_request_log_debug_mysql(r,...) ndk_log_debug_mysql (ndk_request_to_log(r), __VA_ARGS__) - -#else - -#define ndk_log_debug_core(log,...) -#define ndk_log_debug_alloc(log,...) -#define ndk_log_debug_mutex(log,...) -#define ndk_log_debug_event(log,...) -#define ndk_log_debug_http(log,...) -#define ndk_log_debug_mail(log,...) -#define ndk_log_debug_mysql(log,...) - -#define ndk_conf_log_debug_core(r,...) -#define ndk_conf_log_debug_alloc(r,...) -#define ndk_conf_log_debug_mutex(r,...) -#define ndk_conf_log_debug_event(r,...) -#define ndk_conf_log_debug_http(r,...) -#define ndk_conf_log_debug_mail(r,...) -#define ndk_conf_log_debug_mysql(r,...) - -#define ndk_request_log_debug_core(r,...) -#define ndk_request_log_debug_alloc(r,...) -#define ndk_request_log_debug_mutex(r,...) -#define ndk_request_log_debug_event(r,...) -#define ndk_request_log_debug_http(r,...) -#define ndk_request_log_debug_mail(r,...) -#define ndk_request_log_debug_mysql(r,...) - -#endif - - -/*********************************/ - -#elif (NGX_HAVE_GCC_VARIADIC_MACROS) - -#define ndk_log_stderr(log,args...) ngx_log_error (NGX_LOG_STDERR, log, 0, args) -#define ndk_log_emerg(log,args...) ngx_log_error (NGX_LOG_EMERG, log, 0, args) -#define ndk_log_alert(log,args...) ngx_log_error (NGX_LOG_ALERT, log, 0, args) -#define ndk_log_crit(log,args...) ngx_log_error (NGX_LOG_CRIT, log, 0, args) -#define ndk_log_err(log,args...) ngx_log_error (NGX_LOG_ERR, log, 0, args) -#define ndk_log_warning(log,args...) ngx_log_error (NGX_LOG_WARN, log, 0, args) -#define ndk_log_notice(log,args...) ngx_log_error (NGX_LOG_NOTICE, log, 0, args) -#define ndk_log_info(log,args...) ngx_log_error (NGX_LOG_INFO, log, 0, args) - -#define ndk_log_debug_core(log,args...) ngx_log_debug (NGX_LOG_DEBUG_CORE, log, 0, args) -#define ndk_log_debug_alloc(log,args...) ngx_log_debug (NGX_LOG_DEBUG_ALLOC, log, 0, args) -#define ndk_log_debug_mutex(log,args...) ngx_log_debug (NGX_LOG_DEBUG_MUTEX, log, 0, args) -#define ndk_log_debug_event(log,args...) ngx_log_debug (NGX_LOG_DEBUG_EVENT, log, 0, args) -#define ndk_log_debug_http(log,args...) ngx_log_debug (NGX_LOG_DEBUG_HTTP, log, 0, args) -#define ndk_log_debug_mail(log,args...) ngx_log_debug (NGX_LOG_DEBUG_MAIL, log, 0, args) -#define ndk_log_debug_mysql(log,args...) ngx_log_debug (NGX_LOG_DEBUG_MYSQL, log, 0, args) -#define ndk_log_debug_script(log,args...) ngx_log_debug (NGX_LOG_DEBUG_SCRIPT, log, 0, args) - -#define ndk_conf_log_stderr(cf,args...) ngx_conf_log_error (NGX_LOG_STDERR, cf, 0, args) -#define ndk_conf_log_emerg(cf,args...) ngx_conf_log_error (NGX_LOG_EMERG, cf, 0, args) -#define ndk_conf_log_alert(cf,args...) ngx_conf_log_error (NGX_LOG_ALERT, cf, 0, args) -#define ndk_conf_log_crit(cf,args...) ngx_conf_log_error (NGX_LOG_CRIT, cf, 0, args) -#define ndk_conf_log_err(cf,args...) ngx_conf_log_error (NGX_LOG_ERR, cf, 0, args) -#define ndk_conf_log_warning(cf,args...) ngx_conf_log_error (NGX_LOG_WARN, cf, 0, args) -#define ndk_conf_log_notice(cf,args...) ngx_conf_log_error (NGX_LOG_NOTICE, cf, 0, args) -#define ndk_conf_log_info(cf,args...) ngx_conf_log_error (NGX_LOG_INFO, cf, 0, args) - -#define ndk_conf_log_debug_core(r,args...) ndk_log_debug_core (ndk_conf_to_log(r), args) -#define ndk_conf_log_debug_alloc(r,args...) ndk_log_debug_alloc (ndk_conf_to_log(r), args) -#define ndk_conf_log_debug_mutex(r,args...) ndk_log_debug_mutex (ndk_conf_to_log(r), args) -#define ndk_conf_log_debug_event(r,args...) ndk_log_debug_event (ndk_conf_to_log(r), args) -#define ndk_conf_log_debug_http(r,args...) ndk_log_debug_http (ndk_conf_to_log(r), args) -#define ndk_conf_log_debug_mail(r,args...) ndk_log_debug_mail (ndk_conf_to_log(r), args) -#define ndk_conf_log_debug_mysql(r,args...) ndk_log_debug_mysql (ndk_conf_to_log(r), args) -#define ndk_conf_log_debug_script(r,args...) ndk_log_debug_script (ndk_conf_to_log(r), args) - -#define ndk_request_log_stderr(r,args...) ndk_log_stderr (ndk_request_to_log(r), args) -#define ndk_request_log_emerg(r,args...) ndk_log_emerg (ndk_request_to_log(r), args) -#define ndk_request_log_alert(r,args...) ndk_log_alert (ndk_request_to_log(r), args) -#define ndk_request_log_crit(r,args...) ndk_log_crit (ndk_request_to_log(r), args) -#define ndk_request_log_err(r,args...) ndk_log_err (ndk_request_to_log(r), args) -#define ndk_request_log_warning(r,args...) ndk_log_warning (ndk_request_to_log(r), args) -#define ndk_request_log_notice(r,args...) ndk_log_notice (ndk_request_to_log(r), args) -#define ndk_request_log_info(r,args...) ndk_log_info (ndk_request_to_log(r), args) - -#define ndk_request_log_debug_core(r,args...) ndk_log_debug_core (ndk_request_to_log(r), args) -#define ndk_request_log_debug_alloc(r,args...) ndk_log_debug_alloc (ndk_request_to_log(r), args) -#define ndk_request_log_debug_mutex(r,args...) ndk_log_debug_mutex (ndk_request_to_log(r), args) -#define ndk_request_log_debug_event(r,args...) ndk_log_debug_event (ndk_request_to_log(r), args) -#define ndk_request_log_debug_http(r,args...) ndk_log_debug_http (ndk_request_to_log(r), args) -#define ndk_request_log_debug_mail(r,args...) ndk_log_debug_mail (ndk_request_to_log(r), args) -#define ndk_request_log_debug_mysql(r,args...) ndk_log_debug_mysql (ndk_request_to_log(r), args) -#define ndk_request_log_debug_script(r,args...) ndk_log_debug_script (ndk_request_to_log(r), args) - -/*********************************/ - -#else /* NO VARIADIC MACROS */ - -/* #warning does not work on Windows */ -#pragma message("Nginx Devel Kit logging without variadic macros not yet implemented") - -#endif /* VARIADIC MACROS */ diff --git a/debian/modules/http-ndk/src/ndk_parse.h b/debian/modules/http-ndk/src/ndk_parse.h deleted file mode 100644 index 7c43e14..0000000 --- a/debian/modules/http-ndk/src/ndk_parse.h +++ /dev/null @@ -1,67 +0,0 @@ - - - -#if (NGX_HAVE_LITTLE_ENDIAN && NGX_HAVE_NONALIGNED) - -#define ndk_str3_cmp(m, c0, c1, c2, c3) \ - *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) - -#define ndk_str3Ocmp(m, c0, c1, c2, c3) \ - *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) - -#define ndk_str4cmp(m, c0, c1, c2, c3) \ - *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) - -#define ndk_str5cmp(m, c0, c1, c2, c3, c4) \ - *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) \ - && m[4] == c4 - -#define ndk_str6cmp(m, c0, c1, c2, c3, c4, c5) \ - *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) \ - && (((uint32_t *) m)[1] & 0xffff) == ((c5 << 8) | c4) - -#define ndk_str7_cmp(m, c0, c1, c2, c3, c4, c5, c6, c7) \ - *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) \ - && ((uint32_t *) m)[1] == ((c7 << 24) | (c6 << 16) | (c5 << 8) | c4) - -#define ndk_str8cmp(m, c0, c1, c2, c3, c4, c5, c6, c7) \ - *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) \ - && ((uint32_t *) m)[1] == ((c7 << 24) | (c6 << 16) | (c5 << 8) | c4) - -#define ndk_str9cmp(m, c0, c1, c2, c3, c4, c5, c6, c7, c8) \ - *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) \ - && ((uint32_t *) m)[1] == ((c7 << 24) | (c6 << 16) | (c5 << 8) | c4) \ - && m[8] == c8 - -#else /* !(NGX_HAVE_LITTLE_ENDIAN && NGX_HAVE_NONALIGNED) */ - -#define ndk_str3_cmp(m, c0, c1, c2, c3) \ - m[0] == c0 && m[1] == c1 && m[2] == c2 - -#define ndk_str3Ocmp(m, c0, c1, c2, c3) \ - m[0] == c0 && m[2] == c2 && m[3] == c3 - -#define ndk_str4cmp(m, c0, c1, c2, c3) \ - m[0] == c0 && m[1] == c1 && m[2] == c2 && m[3] == c3 - -#define ndk_str5cmp(m, c0, c1, c2, c3, c4) \ - m[0] == c0 && m[1] == c1 && m[2] == c2 && m[3] == c3 && m[4] == c4 - -#define ndk_str6cmp(m, c0, c1, c2, c3, c4, c5) \ - m[0] == c0 && m[1] == c1 && m[2] == c2 && m[3] == c3 \ - && m[4] == c4 && m[5] == c5 - -#define ndk_str7_cmp(m, c0, c1, c2, c3, c4, c5, c6, c7) \ - m[0] == c0 && m[1] == c1 && m[2] == c2 && m[3] == c3 \ - && m[4] == c4 && m[5] == c5 && m[6] == c6 - -#define ndk_str8cmp(m, c0, c1, c2, c3, c4, c5, c6, c7) \ - m[0] == c0 && m[1] == c1 && m[2] == c2 && m[3] == c3 \ - && m[4] == c4 && m[5] == c5 && m[6] == c6 && m[7] == c7 - -#define ndk_str9cmp(m, c0, c1, c2, c3, c4, c5, c6, c7, c8) \ - m[0] == c0 && m[1] == c1 && m[2] == c2 && m[3] == c3 \ - && m[4] == c4 && m[5] == c5 && m[6] == c6 && m[7] == c7 && m[8] == c8 - -#endif - diff --git a/debian/modules/http-ndk/src/ndk_path.c b/debian/modules/http-ndk/src/ndk_path.c deleted file mode 100644 index 0b7c266..0000000 --- a/debian/modules/http-ndk/src/ndk_path.c +++ /dev/null @@ -1,583 +0,0 @@ - - - -/* This function cleans a path to its most basic form, performing the following transformations : - * - * - ./ -> [empty] - * - // -> / - * - /base/parent/../ -> /base/ - * - * If possible, it leaves the original string in place and does not copy characters, otherwise - * characters are copied. -*/ - -void -ndk_clean_path (ngx_str_t *path, ngx_uint_t complex, size_t off) -{ - u_char *s, *p, *m, *e, c, *l; - ngx_uint_t root; - - if (path->len == 1) { - - if (path->data[0] == '.') { - path->len = 0; - } - - return; - } - - /* strip initial './' */ - - s = path->data; - e = s + path->len; - - if (off) { - p = s + off; - goto check_basic; - } - - if (*s == '/') - root = 1; - else - root = 0; - - while (s < e) { - - switch (*s) { - - case '/' : - - /* '//' => '/' */ - - s++; - continue; - - case '.' : - - if (s == e-1) { - - if (root) { - path->data[0] = '/'; - path->len = 1; - } else { - path->len = 0; - } - - return; - } - - /* './' => '' */ - - if (s[1] == '/') { - - s += 2; - - if (s == e) { - - path->len = 0; - return; - } - - continue; - } - } - - break; - } - - if (root && *s != '/') { - s--; - } - - p = s; - -check_basic : - - for ( ; p '/' */ - - m = p + 2; - goto copy; - - case '.' : - - if (e - p == 2) - break; - - switch (p[2]) { - - case '/' : - - /* './' => '' */ - - m = p + 2; - goto copy; - - case '.' : - - if (e - p == 3 || p[3] == '/') { - - if (p == s) { - - s += 3; - continue; - } - - if (p - s >= 2) { - - if (p[-1] == '.' && p[-2] == '.') { - - if (p - s == 2 || p[-3] == '/') { /* = '../../' */ - - p += 2; /* 3? */ - continue; - } - } - } - - m = p + 4; - - if (complex) { - - for (p--; p >= s; p--) { - - switch (*p) { - - case '/' : - goto copy; - - case '$' : - - p = m - 1; - - if (m == e) - goto end_basic; - - goto new_dir_first; - } - } - - } else { - - for (p--; p > s; p--) { - - /* '/path/folder/../' => '/path/' */ - - if (*p == '/') - break; - } - } - - goto copy; - } - } - } - } - } - -end_basic : - - path->data = s; - path->len = p - s; - - return; - -copy : - - p++; - - if (m < e) - goto new_dir; - - while (m < e) { - - c = *m; - *p = c; - p++; - - if (c == '/') { - - m++; - - new_dir : - - for ( ; m '' */ - - m += 2; - if (m == e) - break; - - goto new_dir; - - case '.' : - - if (e - m == 2 || m[2] == '/') { - - if (m - s >= 3) { /* NOTE : this is one higher than above because m has moved on 1 */ - - if (p[-2] == '.' && p[-3] == '.') { - - if (m - s == 3 || p[-4] == '/') { /* = '../../' */ - - p[0] = '.'; - p[1] = '.'; - p[2] = '/'; - p += 3; - m += 3; - goto new_dir; - } - } - } - - if (complex) { - - l = p; - - for (p -= 2; p >= s; p--) { - - switch (*p) { - - case '/' : - break; - - case '$' : - - l[0] = '.'; - l[1] = '.'; - l[2] = '/'; - p = l + 4; - break; - - default : - continue; - } - - break; - } - - m += 3; - if (m == e) - goto end; - - goto new_dir; - - } else { - - for (p -= 2; p > s; p--) { - - /* '/path/folder/../' => '/path/' */ - - if (*p == '/') - break; - } - - m += 3; - if (m == e) - goto end; - - goto new_dir; - } - } - } - } - - } else { - m++; - } - } - -end : - - path->data = s; - path->len = p - s; -} - - -/* This function converts a path to its directory version, and assumes that there is always space - * to allocatate an extra character on the end (which is only true if the provided strings always - * have NULL's at the end (hence the 'safe'). -*/ - -void -ndk_path_to_dir_safe (ngx_str_t *path, ngx_uint_t complex, size_t off) -{ - size_t len; - u_char *p, *m; - - ndk_clean_path (path, complex, off); - - len = path->len; - if (!len) - return; - - p = path->data; - m = p + len - 1; - - if (*m != '/') { - - p [len] = '/'; - path->len++; - } -} - - -/* Divides a path given by path/to/path1:path/to/path2 into separate strings and returns an - * array of these strings. -*/ - -ngx_array_t * -ndk_split_path_create (ngx_conf_t *cf, ngx_str_t *path) -{ - ngx_str_t *str; - int n; - u_char *m, *s, *e; - ngx_array_t *a; - - if (path == NULL) - return NULL; - - n = ndk_strcntc (path, ':'); - - a = ngx_array_create (cf->pool, n + 1, sizeof (ngx_str_t)); - if (a == NULL) { - return NULL; - } - - s = path->data; - e = s + path->len; - - while (s < e) { - - m = s; - - while (m < e && *m != ':') m++; - - if (m == s) { - s = m+1; - continue; - } - - str = ngx_array_push (a); - if (str == NULL) { - return NULL; - } - - str->data = s; - str->len = m - s; - - if (ngx_conf_full_name (cf->cycle, str, 0) == NGX_ERROR) - return NULL; - - s = m+1; - } - - return a; -} - - - -ngx_array_t * -ndk_split_path_create_raw (ngx_conf_t *cf, char *path) -{ - ngx_str_t *str; - int n; - char *m, *s; - ngx_array_t *a; - - if (path == NULL) - return NULL; - - n = ndk_strccnt (path, ':'); - - a = ngx_array_create (cf->pool, n + 1, sizeof (ngx_str_t)); - if (a == NULL) { - return NULL; - } - - s = path; - - - while (*s != '\0') { - - m = s; - - while (*m != '\0' && *m != ':') m++; - - if (m == s) { - s = m+1; - continue; - } - - str = ngx_array_push (a); - if (str == NULL) { - return NULL; - } - - str->data = (u_char *) s; - str->len = m - s; - - if (ngx_conf_full_name (cf->cycle, str, 0) == NGX_ERROR) - return NULL; - - if (*m == '\0') - break; - - s = m+1; - } - - return a; -} - - - -char * -ndk_conf_set_full_path_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ngx_str_t *path, *value; - ngx_conf_post_t *post; - - path = (ngx_str_t *) (p + cmd->offset); - - if (path->data) { - return "is duplicate"; - } - - value = cf->args->elts; - - *path = value[1]; - - if (ngx_conf_full_name (cf->cycle, path, 0) == NGX_ERROR) - return NGX_CONF_ERROR; - - if (cmd->post) { - post = cmd->post; - return post->post_handler(cf, post, path); - } - - return NGX_CONF_OK; -} - - - -char * -ndk_conf_set_split_path_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - /* TODO : change to use the path func above */ - - char *p = conf; - - ngx_str_t *value, *str; - ngx_array_t **a; - ngx_conf_post_t *post; - int n; - u_char *m, *s, *e; - - a = (ngx_array_t **) (p + cmd->offset); - - if (*a != NGX_CONF_UNSET_PTR) { - return "is duplicate"; - } - - value = cf->args->elts; - value++; - - n = ndk_strcntc (value, ':') + 1; - - *a = ngx_array_create (cf->pool, n, sizeof (ngx_str_t)); - if (*a == NULL) { - return NGX_CONF_ERROR; - } - - s = value->data; - e = s + value->len; - - while (s < e) { - - m = s; - - while (m < e && *m != ':') m++; - - if (m == s) { - s = m+1; - continue; - } - - str = ngx_array_push (*a); - if (str == NULL) { - return NGX_CONF_ERROR; - } - - str->data = s; - str->len = m - s; - - if (ngx_conf_full_name (cf->cycle, str, 0) == NGX_ERROR) - return NGX_CONF_ERROR; - - s = m+1; - } - - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, a); - } - - return NGX_CONF_OK; -} - - - -char * -ndk_conf_set_full_path (ngx_conf_t *cf, void *data, ngx_str_t *path) -{ - if (ngx_conf_full_name (cf->cycle, path, 0) == NGX_ERROR) - return NGX_CONF_ERROR; - - return NGX_CONF_OK; -} - - - -char * -ndk_conf_set_full_conf_path (ngx_conf_t *cf, void *data, ngx_str_t *path) -{ - if (ngx_conf_full_name (cf->cycle, path, 1) == NGX_ERROR) - return NGX_CONF_ERROR; - - return NGX_CONF_OK; -} - - diff --git a/debian/modules/http-ndk/src/ndk_path.h b/debian/modules/http-ndk/src/ndk_path.h deleted file mode 100644 index 22ba945..0000000 --- a/debian/modules/http-ndk/src/ndk_path.h +++ /dev/null @@ -1,22 +0,0 @@ - - -/* path conversion functions */ - -void ndk_clean_path (ngx_str_t *path, ngx_uint_t complex, size_t off); -void ndk_path_to_dir_safe (ngx_str_t *path, ngx_uint_t complex, size_t off); - -/* path create functions */ - -ngx_array_t * ndk_split_path_create (ngx_conf_t *cf, ngx_str_t *path); -ngx_array_t * ndk_split_path_create_raw (ngx_conf_t *cf, char *path); - -/* conf set functions */ - -char * ndk_conf_set_full_path_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_split_path_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); - -/* conf set post functions */ - -char * ndk_conf_set_full_path (ngx_conf_t *cf, void *data, ngx_str_t *path); -char * ndk_conf_set_full_conf_path (ngx_conf_t *cf, void *data, ngx_str_t *path); - diff --git a/debian/modules/http-ndk/src/ndk_process.c b/debian/modules/http-ndk/src/ndk_process.c deleted file mode 100644 index fbc789c..0000000 --- a/debian/modules/http-ndk/src/ndk_process.c +++ /dev/null @@ -1,20 +0,0 @@ - -ngx_int_t -ndk_init_signals (ngx_signal_t *sig, ngx_log_t *log) -{ - struct sigaction sa; - - for ( ; sig->signo != 0; sig++) { - ndk_zerov (sa); - sa.sa_handler = sig->handler; - sigemptyset (&sa.sa_mask); - - if (sigaction (sig->signo, &sa, NULL) == -1) { - ngx_log_error (NGX_LOG_EMERG, log, ngx_errno, - "sigaction(%s) failed", sig->signame); - return NGX_ERROR; - } - } - - return NGX_OK; -} diff --git a/debian/modules/http-ndk/src/ndk_process.h b/debian/modules/http-ndk/src/ndk_process.h deleted file mode 100644 index 7ac1d99..0000000 --- a/debian/modules/http-ndk/src/ndk_process.h +++ /dev/null @@ -1,12 +0,0 @@ - - -typedef struct { - int signo; - char *signame; - char *name; - void (*handler)(int signo); -} ngx_signal_t; - - -ngx_int_t ndk_init_signals (ngx_signal_t *sig, ngx_log_t *log); - diff --git a/debian/modules/http-ndk/src/ndk_regex.c b/debian/modules/http-ndk/src/ndk_regex.c deleted file mode 100644 index c1efd86..0000000 --- a/debian/modules/http-ndk/src/ndk_regex.c +++ /dev/null @@ -1,215 +0,0 @@ - - -char * -ndk_conf_set_regex_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ngx_str_t *value; - ngx_conf_post_t *post; - ngx_regex_elt_t *re; - ngx_regex_compile_t rc; - u_char errstr[NGX_MAX_CONF_ERRSTR]; - - re = (ngx_regex_elt_t *) (p + cmd->offset); - - if (re->name) { - return "is duplicate"; - } - - value = cf->args->elts; - value++; - - ndk_zerov (rc); - - rc.pool = cf->pool; - rc.err.len = NGX_MAX_CONF_ERRSTR; - rc.err.data = errstr; - rc.pattern = *value; - - if (ngx_regex_compile(&rc) != NGX_OK) { - ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "%V", &rc.err); - return NGX_CONF_ERROR; - } - - re->regex = rc.regex; - re->name = value->data; - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, re); - } - - return NGX_CONF_OK; -} - - -char * -ndk_conf_set_regex_caseless_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ngx_str_t *value; - ngx_conf_post_t *post; - ngx_regex_elt_t *re; - ngx_regex_compile_t rc; - u_char errstr[NGX_MAX_CONF_ERRSTR]; - - re = (ngx_regex_elt_t *) (p + cmd->offset); - - if (re->name) { - return "is duplicate"; - } - - value = cf->args->elts; - value++; - - ndk_zerov (rc); - - rc.pool = cf->pool; - rc.err.len = NGX_MAX_CONF_ERRSTR; - rc.err.data = errstr; - rc.pattern = *value; - rc.options = NGX_REGEX_CASELESS; - - if (ngx_regex_compile(&rc) != NGX_OK) { - ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "%V", &rc.err); - return NGX_CONF_ERROR; - } - - re->regex = rc.regex; - re->name = value->data; - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, re); - } - - return NGX_CONF_OK; -} - - - -char * -ndk_conf_set_regex_array_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ngx_str_t *value; - ngx_conf_post_t *post; - ngx_array_t **a; - ngx_regex_elt_t *re; - ngx_regex_compile_t rc; - ngx_uint_t i, n = 0; - u_char errstr[NGX_MAX_CONF_ERRSTR]; - - a = (ngx_array_t **) (p + cmd->offset); - - if (*a != NGX_CONF_UNSET_PTR) { - - n = cf->args->nelts > 4 ? cf->args->nelts : 4; - - *a = ngx_array_create (cf->pool, n, sizeof (ngx_regex_elt_t)); - if (*a == NULL) { - return NGX_CONF_ERROR; - } - } - - ndk_zerov (rc); - - rc.pool = cf->pool; - rc.err.len = NGX_MAX_CONF_ERRSTR; - rc.err.data = errstr; - - value = cf->args->elts; - value++; - - for (i=0; iregex = rc.regex; - re->name = value->data; - } - - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, a); - } - - return NGX_CONF_OK; -} - - - -char * -ndk_conf_set_regex_array_caseless_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - char *p = conf; - - ngx_str_t *value; - ngx_conf_post_t *post; - ngx_array_t **a; - ngx_regex_elt_t *re; - ngx_regex_compile_t rc; - ngx_uint_t i, n = 0; - u_char errstr[NGX_MAX_CONF_ERRSTR]; - - a = (ngx_array_t **) (p + cmd->offset); - - if (*a != NGX_CONF_UNSET_PTR) { - - n = cf->args->nelts > 4 ? cf->args->nelts : 4; - - *a = ngx_array_create (cf->pool, n, sizeof (ngx_regex_elt_t)); - if (*a == NULL) { - return NGX_CONF_ERROR; - } - } - - ndk_zerov (rc); - - rc.pool = cf->pool; - rc.err.len = NGX_MAX_CONF_ERRSTR; - rc.err.data = errstr; - - value = cf->args->elts; - value++; - - for (i=0; iregex = rc.regex; - re->name = value->data; - } - - - if (cmd->post) { - post = cmd->post; - return post->post_handler (cf, post, a); - } - - return NGX_CONF_OK; -} - diff --git a/debian/modules/http-ndk/src/ndk_regex.h b/debian/modules/http-ndk/src/ndk_regex.h deleted file mode 100644 index 4319b04..0000000 --- a/debian/modules/http-ndk/src/ndk_regex.h +++ /dev/null @@ -1,7 +0,0 @@ - - -char * ndk_conf_set_regex_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_regex_caseless_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_regex_array_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_conf_set_regex_array_caseless_slot (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); - diff --git a/debian/modules/http-ndk/src/ndk_rewrite.c b/debian/modules/http-ndk/src/ndk_rewrite.c deleted file mode 100644 index 77ce9f8..0000000 --- a/debian/modules/http-ndk/src/ndk_rewrite.c +++ /dev/null @@ -1,103 +0,0 @@ - - -/* these have been taken from the rewrite module and http_script file - * because those functions are defined as being static - a patch will - * be provided later to un-define them as being static - */ - - -uintptr_t ndk_http_script_exit_code = (uintptr_t) NULL; - - -char * -ndk_http_rewrite_value (ngx_conf_t *cf, ndk_http_rewrite_loc_conf_t *lcf, - ngx_str_t *value) -{ - ngx_int_t n; - ngx_http_script_compile_t sc; - ngx_http_script_value_code_t *val; - ngx_http_script_complex_value_code_t *complex; - - n = ngx_http_script_variables_count(value); - - if (n == 0) { - val = ngx_http_script_start_code(cf->pool, &lcf->codes, - sizeof(ngx_http_script_value_code_t)); - if (val == NULL) { - return NGX_CONF_ERROR; - } - - n = ngx_atoi(value->data, value->len); - - if (n == NGX_ERROR) { - n = 0; - } - - val->code = ngx_http_script_value_code; - val->value = (uintptr_t) n; - val->text_len = (uintptr_t) value->len; - val->text_data = (uintptr_t) value->data; - - return NGX_CONF_OK; - } - - complex = ngx_http_script_start_code(cf->pool, &lcf->codes, - sizeof(ngx_http_script_complex_value_code_t)); - if (complex == NULL) { - return NGX_CONF_ERROR; - } - - complex->code = ngx_http_script_complex_value_code; - complex->lengths = NULL; - - ngx_memzero(&sc, sizeof(ngx_http_script_compile_t)); - - sc.cf = cf; - sc.source = value; - sc.lengths = &complex->lengths; - sc.values = &lcf->codes; - sc.variables = n; - sc.complete_lengths = 1; - - if (ngx_http_script_compile(&sc) != NGX_OK) { - return NGX_CONF_ERROR; - } - - return NGX_CONF_OK; -} - - -ngx_int_t -ndk_http_rewrite_var (ngx_http_request_t *r, ngx_http_variable_value_t *v, - uintptr_t data) -{ - ngx_http_variable_t *var; - ngx_http_core_main_conf_t *cmcf; - ndk_http_rewrite_loc_conf_t *rlcf; - - rlcf = ngx_http_get_module_loc_conf(r, ngx_http_rewrite_module); - - if (rlcf->uninitialized_variable_warn == 0) { - *v = ngx_http_variable_null_value; - return NGX_OK; - } - - cmcf = ngx_http_get_module_main_conf(r, ngx_http_core_module); - - var = cmcf->variables.elts; - - /* - * the ngx_http_rewrite_module sets variables directly in r->variables, - * and they should be handled by ngx_http_get_indexed_variable(), - * so the handler is called only if the variable is not initialized - */ - - ngx_log_error(NGX_LOG_WARN, r->connection->log, 0, - "using uninitialized \"%V\" variable", &var[data].name); - - *v = ngx_http_variable_null_value; - - return NGX_OK; -} - - diff --git a/debian/modules/http-ndk/src/ndk_rewrite.h b/debian/modules/http-ndk/src/ndk_rewrite.h deleted file mode 100644 index 2479aa2..0000000 --- a/debian/modules/http-ndk/src/ndk_rewrite.h +++ /dev/null @@ -1,26 +0,0 @@ - - -/* TODO : should remove this when not needed */ - - - -/* used for plugging into the rewrite module (taken from the rewrite module) */ - -typedef struct { - ngx_array_t *codes; /* uintptr_t */ - ngx_uint_t stack_size; - ngx_flag_t log; - ngx_flag_t uninitialized_variable_warn; -} ndk_http_rewrite_loc_conf_t; - - -extern ngx_module_t ngx_http_rewrite_module; -extern uintptr_t ndk_http_script_exit_code; - -char * ndk_http_rewrite_value (ngx_conf_t *cf, ndk_http_rewrite_loc_conf_t *lcf, - ngx_str_t *value); -ngx_int_t ndk_http_rewrite_var (ngx_http_request_t *r, - ngx_http_variable_value_t *v, uintptr_t data); - -#define ndk_http_script_exit (u_char *) &ndk_http_script_exit_code - diff --git a/debian/modules/http-ndk/src/ndk_set_var.c b/debian/modules/http-ndk/src/ndk_set_var.c deleted file mode 100644 index 388f873..0000000 --- a/debian/modules/http-ndk/src/ndk_set_var.c +++ /dev/null @@ -1,602 +0,0 @@ -#include - - -typedef struct { - ngx_http_script_code_pt code; - void *func; -} ndk_set_var_code_t; - - -typedef struct { - ngx_http_script_code_pt code; - void *func; - size_t size; -} ndk_set_var_size_code_t; - - -typedef struct { - ngx_http_script_code_pt code; - void *func; - void *data; -} ndk_set_var_data_code_t; - - -typedef struct { - ngx_http_script_code_pt code; - void *func; - size_t size; - void *data; -} ndk_set_var_size_data_code_t; - - -typedef struct { - ngx_int_t index; - ngx_str_t *value; - ngx_http_variable_t *v; - ngx_conf_t *cf; - ndk_http_rewrite_loc_conf_t *rlcf; -} ndk_set_var_info_t; - - -static void ndk_set_var_code (ngx_http_script_engine_t *e); -static void ndk_set_var_hash_code (ngx_http_script_engine_t *e); -static void ndk_set_var_value_code (ngx_http_script_engine_t *e); - - -static ngx_inline void -ndk_set_var_code_finalize(ngx_http_script_engine_t *e, ngx_int_t rc, - ngx_http_variable_value_t *v, ngx_str_t *str) -{ - switch (rc) { - - case NGX_OK: - - v->data = str->data; - v->len = str->len; - v->valid = 1; - v->no_cacheable = 0; - v->not_found = 0; - - ngx_log_debug1(NGX_LOG_DEBUG_HTTP, e->request->connection->log, 0, - "http script value (post filter): \"%v\"", v); - break; - - case NGX_DECLINED: - - v->valid = 0; - v->not_found = 1; - v->no_cacheable = 1; - break; - - case NGX_ERROR: - - e->ip = ndk_http_script_exit; - e->status = NGX_HTTP_INTERNAL_SERVER_ERROR; - break; - } -} - - - -static void -ndk_set_var_code(ngx_http_script_engine_t *e) -{ - ngx_int_t rc; - ngx_str_t str; - ngx_http_variable_value_t *v; - ndk_set_var_code_t *sv; - ndk_set_var_pt func; - - sv = (ndk_set_var_code_t *) e->ip; - - e->ip += sizeof(ndk_set_var_code_t); - - v = e->sp++; - - func = (ndk_set_var_pt) sv->func; - - rc = func(e->request, &str); - - ndk_set_var_code_finalize(e, rc, v, &str); -} - - -static void -ndk_set_var_data_code(ngx_http_script_engine_t *e) -{ - ngx_int_t rc; - ngx_str_t str; - ngx_http_variable_value_t *v; - ndk_set_var_data_code_t *svd; - ndk_set_var_data_pt func; - - svd = (ndk_set_var_data_code_t *) e->ip; - - e->ip += sizeof(ndk_set_var_data_code_t); - - v = e->sp++; - - func = (ndk_set_var_data_pt) svd->func; - - rc = func(e->request, &str, svd->data); - - ndk_set_var_code_finalize(e, rc, v, &str); -} - - -static void -ndk_set_var_value_code(ngx_http_script_engine_t *e) -{ - ngx_int_t rc; - ngx_str_t str; - ngx_http_variable_value_t *v; - ndk_set_var_code_t *sv; - ndk_set_var_value_pt func; - - sv = (ndk_set_var_code_t *) e->ip; - - e->ip += sizeof(ndk_set_var_code_t); - - v = e->sp - 1; - - func = (ndk_set_var_value_pt) sv->func; - - rc = func(e->request, &str, v); - - ndk_set_var_code_finalize(e, rc, v, &str); -} - - -static void -ndk_set_var_value_data_code(ngx_http_script_engine_t *e) -{ - ngx_int_t rc; - ngx_str_t str; - ngx_http_variable_value_t *v; - ndk_set_var_data_code_t *svd; - ndk_set_var_value_data_pt func; - - svd = (ndk_set_var_data_code_t *) e->ip; - - e->ip += sizeof(ndk_set_var_data_code_t); - - v = e->sp - 1; - - func = (ndk_set_var_value_data_pt) svd->func; - - rc = func(e->request, &str, v, svd->data); - - ndk_set_var_code_finalize(e, rc, v, &str); -} - - -static void -ndk_set_var_multi_value_code(ngx_http_script_engine_t *e) -{ - ngx_int_t rc; - ngx_str_t str; - ngx_http_variable_value_t *v; - ndk_set_var_size_code_t *svs; - ndk_set_var_value_pt func; - - svs = (ndk_set_var_size_code_t *) e->ip; - - e->ip += sizeof(ndk_set_var_size_code_t); - - v = e->sp - svs->size; - e->sp = v + 1; - - func = (ndk_set_var_value_pt) svs->func; - - rc = func(e->request, &str, v); - - ndk_set_var_code_finalize(e, rc, v, &str); -} - - -static void -ndk_set_var_multi_value_data_code(ngx_http_script_engine_t *e) -{ - ngx_int_t rc; - ngx_str_t str; - ngx_http_variable_value_t *v; - ndk_set_var_size_data_code_t *svsd; - ndk_set_var_value_data_pt func; - - svsd = (ndk_set_var_size_data_code_t *) e->ip; - - e->ip += sizeof(ndk_set_var_size_data_code_t); - - v = e->sp - svsd->size; - e->sp = v + 1; - - func = (ndk_set_var_value_data_pt) svsd->func; - - rc = func(e->request, &str, v, svsd->data); - - ndk_set_var_code_finalize(e, rc, v, &str); -} - - -static void -ndk_set_var_hash_code(ngx_http_script_engine_t *e) -{ - u_char *p; - ngx_http_variable_value_t *v; - ndk_set_var_size_code_t *svs; - ndk_set_var_hash_pt func; - - svs = (ndk_set_var_size_code_t *) e->ip; - - e->ip += sizeof(ndk_set_var_size_code_t); - - p = ngx_palloc(e->request->pool, svs->size); - if (p == NULL) { - e->ip = ndk_http_script_exit; - e->status = NGX_HTTP_INTERNAL_SERVER_ERROR; - return; - } - - v = e->sp - 1; - - func = (ndk_set_var_hash_pt) svs->func; - - func(p, (char *) v->data, v->len); - - v->data = (u_char *) p; - v->len = svs->size; - - ngx_log_debug1(NGX_LOG_DEBUG_HTTP, e->request->connection->log, 0, - "http script hashed value: \"%v\"", v); -} - - - -static char * -ndk_set_var_name(ndk_set_var_info_t *info, ngx_str_t *varname) -{ - ngx_int_t index; - ngx_http_variable_t *v; - ngx_conf_t *cf; - ndk_http_rewrite_loc_conf_t *rlcf; - ngx_str_t name; - - name = *varname; - - cf = info->cf; - rlcf = ngx_http_conf_get_module_loc_conf(cf, ngx_http_rewrite_module); - - if (name.data[0] != '$') { - ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "invalid variable name \"%V\"", &name); - return NGX_CONF_ERROR; - } - - name.len--; - name.data++; - - v = ngx_http_add_variable(cf, &name, NGX_HTTP_VAR_CHANGEABLE); - if (v == NULL) { - return NGX_CONF_ERROR; - } - - index = ngx_http_get_variable_index(cf, &name); - if (index == NGX_ERROR) { - return NGX_CONF_ERROR; - } - - if (v->get_handler == NULL - && ngx_strncasecmp(name.data, (u_char *) "arg_", 4) != 0 - && ngx_strncasecmp(name.data, (u_char *) "cookie_", 7) != 0 - && ngx_strncasecmp(name.data, (u_char *) "http_", 5) != 0 - && ngx_strncasecmp(name.data, (u_char *) "sent_http_", 10) != 0 - && ngx_strncasecmp(name.data, (u_char *) "upstream_http_", 14) != 0) - { - v->get_handler = ndk_http_rewrite_var; - v->data = index; - } - - info->v = v; - info->index = index; - info->rlcf = rlcf; - - return NGX_CONF_OK; -} - - - -static void -ndk_set_variable_value_space(ndk_http_rewrite_loc_conf_t *rlcf, ngx_uint_t count) -{ - /* if the number of variable values that will be used is greater than 10, - * make sure there is enough space allocated on the rewrite value stack - */ - - if (count <= 10) - return; - - if (rlcf->stack_size == NGX_CONF_UNSET_UINT) { - rlcf->stack_size = count; - return; - } - - if (rlcf->stack_size < count) - rlcf->stack_size = count; -} - - - -static char * -ndk_set_var_filter(ngx_conf_t *cf, ndk_http_rewrite_loc_conf_t *rlcf, - ndk_set_var_t *filter) -{ - ndk_set_var_code_t *sv; - ndk_set_var_size_code_t *svs; - ndk_set_var_data_code_t *svd; - ndk_set_var_size_data_code_t *svsd; - - if (filter == NULL) { - return "no filter set"; - } - - switch (filter->type) { - case NDK_SET_VAR_BASIC: - - sv = ngx_http_script_start_code(cf->pool, &rlcf->codes, - sizeof(ndk_set_var_code_t)); - if (sv == NULL) { - return NGX_CONF_ERROR; - } - - sv->code = ndk_set_var_code; - sv->func = filter->func; - break; - - case NDK_SET_VAR_DATA: - - svd = ngx_http_script_start_code(cf->pool, &rlcf->codes, - sizeof(ndk_set_var_data_code_t)); - if (svd == NULL) { - return NGX_CONF_ERROR; - } - - svd->code = ndk_set_var_data_code; - svd->func = filter->func; - svd->data = filter->data; - break; - - case NDK_SET_VAR_VALUE: - - sv = ngx_http_script_start_code(cf->pool, &rlcf->codes, - sizeof(ndk_set_var_code_t)); - if (sv == NULL) { - return NGX_CONF_ERROR; - } - - sv->code = ndk_set_var_value_code; - sv->func = filter->func; - break; - - case NDK_SET_VAR_VALUE_DATA: - - svd = ngx_http_script_start_code(cf->pool, &rlcf->codes, - sizeof(ndk_set_var_data_code_t)); - if (svd == NULL) { - return NGX_CONF_ERROR; - } - - svd->code = ndk_set_var_value_data_code; - svd->func = filter->func; - svd->data = filter->data; - break; - - case NDK_SET_VAR_MULTI_VALUE: - - svs = ngx_http_script_start_code(cf->pool, &rlcf->codes, - sizeof(ndk_set_var_size_code_t)); - if (svs == NULL) { - return NGX_CONF_ERROR; - } - - svs->code = ndk_set_var_multi_value_code; - svs->func = filter->func; - svs->size = filter->size; - - ndk_set_variable_value_space(rlcf, svs->size); - break; - - case NDK_SET_VAR_MULTI_VALUE_DATA: - - svsd = ngx_http_script_start_code(cf->pool, &rlcf->codes, - sizeof(ndk_set_var_size_data_code_t)); - if (svsd == NULL) { - return NGX_CONF_ERROR; - } - - svsd->code = ndk_set_var_multi_value_data_code; - svsd->func = filter->func; - svsd->size = filter->size; - svsd->data = filter->data; - - ndk_set_variable_value_space(rlcf, svsd->size); - break; - - - case NDK_SET_VAR_HASH: - - svs = ngx_http_script_start_code(cf->pool, &rlcf->codes, - sizeof(ndk_set_var_size_code_t)); - if (svs == NULL) { - return NGX_CONF_ERROR; - } - - svs->code = ndk_set_var_hash_code; - svs->func = filter->func; - svs->size = filter->size; - break; - - default: - ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "invalid filter type \"%ul\"", filter->type); - return NGX_CONF_ERROR; - } - - return NGX_CONF_OK; -} - - -static char * -ndk_set_var_filter_value(ndk_set_var_info_t *info, ndk_set_var_t *filter) -{ - ngx_conf_t *cf; - ngx_http_variable_t *v; - ndk_http_rewrite_loc_conf_t *rlcf; - ngx_http_script_var_code_t *vcode; - ngx_http_script_var_handler_code_t *vhcode; - - v = info->v; - cf = info->cf; - rlcf = info->rlcf; - - if (ndk_set_var_filter(cf, rlcf, filter) != NGX_CONF_OK) { - return NGX_CONF_ERROR; - } - - if (v->set_handler) { - vhcode = ngx_http_script_start_code(cf->pool, &rlcf->codes, - sizeof(ngx_http_script_var_handler_code_t)); - if (vhcode == NULL) { - return NGX_CONF_ERROR; - } - - vhcode->code = ngx_http_script_var_set_handler_code; - vhcode->handler = v->set_handler; - vhcode->data = v->data; - - return NGX_CONF_OK; - } - - vcode = ngx_http_script_start_code(cf->pool, &rlcf->codes, - sizeof(ngx_http_script_var_code_t)); - if (vcode == NULL) { - return NGX_CONF_ERROR; - } - - vcode->code = ngx_http_script_set_var_code; - vcode->index = (uintptr_t) info->index; - - return NGX_CONF_OK; -} - - -char * -ndk_set_var_core(ngx_conf_t *cf, ngx_str_t *name, ndk_set_var_t *filter) -{ - char *p; - ndk_set_var_info_t info; - - info.cf = cf; - - p = ndk_set_var_name(&info, name); - if (p != NGX_CONF_OK) { - return p; - } - - return ndk_set_var_filter_value(&info, filter); -} - - -char * -ndk_set_var_value_core(ngx_conf_t *cf, ngx_str_t *name, ngx_str_t *value, ndk_set_var_t *filter) -{ - char *p; - ndk_set_var_info_t info; - - info.cf = cf; - - p = ndk_set_var_name(&info, name); - if (p != NGX_CONF_OK) { - return p; - } - - p = ndk_http_rewrite_value(cf, info.rlcf, value); - if (p != NGX_CONF_OK) { - return p; - } - - return ndk_set_var_filter_value(&info, filter); -} - - -char * -ndk_set_var_multi_value_core(ngx_conf_t *cf, ngx_str_t *name, - ngx_str_t *value, ndk_set_var_t *filter) -{ - char *p; - ndk_set_var_info_t info; - ngx_int_t i; - - info.cf = cf; - - p = ndk_set_var_name(&info, name); - if (p != NGX_CONF_OK) { - return p; - } - - for (i = filter->size; i; i--, value++) { - - p = ndk_http_rewrite_value(cf, info.rlcf, value); - if (p != NGX_CONF_OK) { - return p; - } - } - - return ndk_set_var_filter_value(&info, filter); -} - - -char * -ndk_set_var(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - ngx_str_t *value; - ndk_set_var_t *filter; - - value = cf->args->elts; - value++; - - filter = (ndk_set_var_t *) cmd->post; - - return ndk_set_var_core(cf, value, filter); -} - - -char * -ndk_set_var_value(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - ngx_str_t *value; - ndk_set_var_t *filter; - - value = cf->args->elts; - value++; - - filter = (ndk_set_var_t *) cmd->post; - - return ndk_set_var_value_core(cf, value, - cf->args->nelts == 1 + 1 ? value : value + 1, filter); -} - - -char * -ndk_set_var_multi_value(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - ngx_str_t *value; - ndk_set_var_t *filter; - - value = cf->args->elts; - value++; - - filter = (ndk_set_var_t *) cmd->post; - - return ndk_set_var_multi_value_core(cf, value, value + 1, filter); -} - diff --git a/debian/modules/http-ndk/src/ndk_set_var.h b/debian/modules/http-ndk/src/ndk_set_var.h deleted file mode 100644 index 5dcba97..0000000 --- a/debian/modules/http-ndk/src/ndk_set_var.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * 2010 (C) Marcus Clyne - */ - -#ifndef _NDK_SET_VAR_H_INCLUDED_ -#define _NDK_SET_VAR_H_INCLUDED_ - - -typedef ngx_int_t (*ndk_set_var_pt) (ngx_http_request_t *r, ngx_str_t *val); -typedef ngx_int_t (*ndk_set_var_data_pt) (ngx_http_request_t *r, ngx_str_t *val, void *data); -typedef ngx_int_t (*ndk_set_var_value_pt) (ngx_http_request_t *r, ngx_str_t *val, ngx_http_variable_value_t *v); -typedef ngx_int_t (*ndk_set_var_value_data_pt) (ngx_http_request_t *r, ngx_str_t *val, ngx_http_variable_value_t *v, void *data); -typedef void (*ndk_set_var_hash_pt) (u_char *p, char *data, size_t len); - - -typedef struct { - ngx_uint_t type; - void *func; - size_t size; - void *data; -} ndk_set_var_t; - - -enum { - NDK_SET_VAR_BASIC = 0, - NDK_SET_VAR_DATA, - NDK_SET_VAR_VALUE, - NDK_SET_VAR_VALUE_DATA, - NDK_SET_VAR_MULTI_VALUE, - NDK_SET_VAR_MULTI_VALUE_DATA, - NDK_SET_VAR_HASH -}; - - -char * ndk_set_var (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_set_var_value (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); -char * ndk_set_var_multi_value (ngx_conf_t *cf, ngx_command_t *cmd, void *conf); - - -char * ndk_set_var_core (ngx_conf_t *cf, ngx_str_t *name, ndk_set_var_t *filter); -char * ndk_set_var_value_core (ngx_conf_t *cf, ngx_str_t *name, ngx_str_t *value, ndk_set_var_t *filter); -char * ndk_set_var_multi_value_core (ngx_conf_t *cf, ngx_str_t *name, ngx_str_t *value, ndk_set_var_t *filter); - -#endif /* _NDK_SET_VAR_H_INCLUDED_ */ diff --git a/debian/modules/http-ndk/src/ndk_string.c b/debian/modules/http-ndk/src/ndk_string.c deleted file mode 100644 index 7c2a965..0000000 --- a/debian/modules/http-ndk/src/ndk_string.c +++ /dev/null @@ -1,434 +0,0 @@ - - -int64_t -ndk_atoi64 (u_char *line, size_t n) -{ - int64_t value; - - if (n == 0ll) { - return NGX_ERROR; - } - - for (value = 0ll; n--; line++) { - if (*line < '0' || *line > '9') { - return NGX_ERROR; - } - - value = value * 10ll + (*line - '0'); - } - - if (value < 0ll) { - return NGX_ERROR; - } - - return value; -} - - -ngx_int_t -ndk_strcntc (ngx_str_t *s, char c) -{ - ngx_int_t n; - size_t i; - u_char *p; - - i = s->len; - p = s->data; - - for (n=0; i; i--, p++) { - - if (*p == (u_char) c) - n++; - } - - return n; -} - - -ngx_int_t -ndk_strccnt (char *s, char c) -{ - ngx_int_t n; - - n = 0; - - while (*s != '\0') { - - if (*s == 'c') - n++; - - s++; - } - - return n; -} - - - -ngx_array_t * -ndk_str_array_create (ngx_pool_t *pool, char **s, ngx_int_t n) -{ - ngx_int_t i; - ngx_str_t *str; - ngx_array_t *a; - - a = ngx_array_create (pool, n, sizeof (ngx_str_t)); - if (a == NULL) - return NULL; - - - for (i=0; idata = (u_char *) *s; - str->len = strlen (*s); - } - - return a; -} - - - -u_char * -ndk_vcatstrf (ngx_pool_t *pool, ngx_str_t *dest, const char *fmt, va_list args) -{ - size_t len, l, el; - int argc; - u_char *p, *m, *e, c, c1, *cp; - - argc = strlen (fmt); - - ngx_str_t *s; - ndk_estr_t *sp, *sp2, ss [argc]; - u_char cs [argc]; - - sp = sp2 = ss; - cp = cs; - - len = 0; - - /* TODO : maybe have 'e' at the beginning? */ - - /* parse format to get strings */ - - while (*fmt) { - - switch (*fmt) { - - case 'S' : - - s = va_arg (args, ngx_str_t *); - - sp->data = s->data; - sp->len = s->len; - sp->escaped = 0; - - len += sp->len; - break; - - case 's' : - - sp->data = va_arg (args, u_char *); - sp->len = (size_t) ngx_strlen (sp->data); - sp->escaped = 0; - - len += sp->len; - break; - - case 'l' : - - sp->data = va_arg (args, u_char *); - sp->len = (size_t) va_arg (args, int); - sp->escaped = 0; - - len += sp->len; - break; - - case 'L' : - - sp->data = va_arg (args, u_char *); - sp->len = va_arg (args, size_t); - sp->escaped = 0; - - len += sp->len; - break; - - case 'e' : - - p = va_arg (args, u_char *); - - sp->data = p; - - l = 0; - el = 0; - c = *p; - - while (c != '\0') { - - if (c == '\\') { - l += 2; - p += 2; - } else { - l++; - p++; - } - - el++; - c = *p; - } - - sp->len = l; - sp->escaped = 1; - - len += el; - break; - - case 'E' : - - s = va_arg (args, ngx_str_t *); - - sp->data = s->data; - sp->len = s->len; - - p = sp->data; - - el = 0; - e = p + sp->len; - - while (p < e) { - - c = *p; - - if (c == '\\') { - p += 2; - } else { - p++; - } - - el++; - } - - sp->escaped = 1; - - len += el; - break; - - case 'n' : - - sp->data = va_arg (args, u_char *); - sp->len = (size_t) va_arg (args, int); - - p = sp->data; - - el = 0; - e = p + sp->len; - - while (p < e) { - - c = *p; - - if (c == '\\') { - p += 2; - } else { - p++; - } - - el++; - } - - sp->escaped = 1; - - len += el; - break; - - case 'c' : - - *cp = (u_char) va_arg (args, int); - - sp->data = cp; - sp->len = (size_t) 1; - - len++; - cp++; - - break; - - default : - - ndk_log_alert (pool->log, 0, "catstrf () : format [%s] incorrect", fmt); - - return NULL; - - } - - sp++; - fmt++; - } - - - - /* create space for string (assumes no NULL's in strings) */ - - ndk_palloc_rn (p, pool, len + 1); - - dest->data = p; - dest->len = len; - - /* copy other strings */ - - if (len) { - - while (sp2 < sp) { - - if (sp2->escaped) { - - m = sp2->data; - e = m + sp2->len; - - while (m < e) { - - c = *m; - - if (c == '\\') { - - if (m == e - 1) { - *p = '\\'; - p++; - break; - } - - c1 = m[1]; - - switch (c1) { - - case 'n' : - *p = '\n'; - break; - - case 't' : - *p = '\t'; - break; - - case '0' : - *p = '\0'; - break; - - case '\\' : - *p = '\\'; - break; - - case 's' : - *p = ' '; - break; - - case 'b' : - *p = '\b'; - break; - - case 'r' : - *p = '\r'; - break; - - default : - - *p = c1; - break; - } - - m += 2; - - } else { - - *p = c; - m++; - } - - p++; - } - - } else { - - p = ngx_cpymem (p, sp2->data, sp2->len); - } - - sp2++; - } - } - - *p = '\0'; - - return dest->data; -} - - -u_char * -ndk_catstrf (ngx_pool_t *pool, ngx_str_t *dest, const char *fmt, ...) -{ - u_char *p; - va_list args; - - va_start (args, fmt); - p = ndk_vcatstrf (pool, dest, fmt, args); - va_end (args); - - return p; -} - - -ngx_int_t -ndk_cmpstr (ngx_str_t *s1, ngx_str_t *s2) -{ - ngx_int_t rv; - size_t len1, len2; - - len1 = s1->len; - len2 = s2->len; - - if (len1 == len2) { - return ngx_strncmp (s1->data, s2->data, len1); - } - - if (len1 > len2) { - - rv = ngx_strncmp (s1->data, s2->data, len2); - if (rv == 0) - return 1; - - return rv; - } - - rv = ngx_strncmp (s1->data, s2->data, len1); - if (rv == 0) - return -1; - - return rv; -} - - -u_char * -ndk_dupstr (ngx_pool_t *pool, ngx_str_t *dest, ngx_str_t *src) -{ - u_char *d; - size_t n; - - n = src->len; - - ndk_palloc_rn (d, pool, n + 1); - ndk_strncpy (d, src->data, n); - - dest->data = d; - dest->len = n; - - return d; -} - -/* -ngx_keyval_t * -ndk_url_args_to_keyval_list (ngx_pool_t *pool, ngx_str_t *str) -{ - ngx_keyval_t *kv; - ngx_st - -} -*/ diff --git a/debian/modules/http-ndk/src/ndk_string.h b/debian/modules/http-ndk/src/ndk_string.h deleted file mode 100644 index ecd21c4..0000000 --- a/debian/modules/http-ndk/src/ndk_string.h +++ /dev/null @@ -1,37 +0,0 @@ - - -#if 1 -/* TODO : set ndk_hex_dump for older versions of Nginx */ -#define ndk_hex_dump ngx_hex_dump -#endif - -typedef struct { - size_t len; - u_char *data; - ngx_flag_t escaped; -} ndk_estr_t; - -int64_t ndk_atoi64 (u_char *line, size_t n); - -ngx_int_t ndk_strcntc (ngx_str_t *s, char c); -ngx_int_t ndk_strccnt (char *s, char c); -ngx_array_t * ndk_str_array_create (ngx_pool_t *pool, char **s, ngx_int_t n); -u_char * ndk_catstrf (ngx_pool_t *pool, ngx_str_t *dest, const char *fmt, ...); -ngx_int_t ndk_cmpstr (ngx_str_t *s1, ngx_str_t *s2); -u_char * ndk_dupstr (ngx_pool_t *pool, ngx_str_t *dest, ngx_str_t *src); - -static ngx_inline void -ndk_strtoupper (u_char *p, size_t len) -{ - u_char *e = p + len; - for ( ; pdata = (u_char*) s; (ns)->len = sizeof (s) - 1;} - -#define ndk_zero(p,sz) memset (p,'\0',sz) -#define ndk_zerop(p) ndk_zero (p,sizeof(*p)) -#define ndk_zeropn(p,n) ndk_zero (p,sizeof(*p)*(n)) -#define ndk_zerov(v) ndk_zero (&v,sizeof(v)) - -#define ngx_null_enum { ngx_null_string, 0 } - -#define ndk_memcpyp(d,s) ngx_memcpy(d,s,sizeof(s)) - diff --git a/debian/modules/http-ndk/src/ndk_upstream_list.c b/debian/modules/http-ndk/src/ndk_upstream_list.c deleted file mode 100644 index 7381777..0000000 --- a/debian/modules/http-ndk/src/ndk_upstream_list.c +++ /dev/null @@ -1,205 +0,0 @@ - - -/* TODO : generalize this into a generic list module, with weight */ - - -typedef struct { - ngx_uint_t weight; - ngx_str_t s; - ngx_conf_t *cf; -} ndk_upstream_list_parse_t; - - - -static ngx_int_t -ndk_upstream_list_parse_weight (ndk_upstream_list_parse_t *ulp) -{ - size_t i; - ngx_str_t *s; - - s = &ulp->s; - - for (i=0; ilen; i++) { - - if (s->data[i] < '0' || s->data[i] > '9') - break; - } - - if (!i) { - ulp->weight = 1; - return NGX_OK; - } - - if (i == s->len) { - ngx_conf_log_error (NGX_LOG_EMERG, ulp->cf, 0, - "upstream list just consists of number \"%V\"", s); - - return NGX_ERROR; - } - - if (s->data[i] != ':') { - ngx_conf_log_error (NGX_LOG_EMERG, ulp->cf, 0, - "upstream list not correct format \"%V\"", s); - - return NGX_ERROR; - } - - - ulp->weight = ngx_atoi (s->data, i); - - s->data += (i + 1); - s->len -= (i + 1); - - return NGX_OK; -} - - - -static char * -ndk_upstream_list (ngx_conf_t *cf, ngx_command_t *cmd, void *conf) -{ - /* TODO : change this for getting upstream pointer if available */ - - ngx_uint_t buckets, count, i, j; - ngx_str_t *value, **bucket, *us; - ngx_array_t *ula; - ndk_upstream_list_t *ul, *ule; - ndk_upstream_list_parse_t ulp; - - ndk_http_main_conf_t *mcf; - - mcf = ngx_http_conf_get_module_main_conf (cf, ndk_http_module); - - ula = mcf->upstreams; - - /* create array of upstream lists it doesn't already exist */ - - if (ula == NULL) { - - ula = ngx_array_create (cf->pool, 4, sizeof (ndk_upstream_list_t)); - if (ula == NULL) - return NGX_CONF_ERROR; - - mcf->upstreams = ula; - } - - - /* check to see if the list already exists */ - - value = cf->args->elts; - value++; - - ul = ula->elts; - ule = ul + ula->nelts; - - for ( ; ulname.len == value->len && - ngx_strncasecmp (ul->name.data, value->data, value->len) == 0) { - - ngx_conf_log_error (NGX_LOG_EMERG, cf, 0, - "duplicate upstream list name \"%V\"", value); - - return NGX_CONF_ERROR; - } - } - - - /* create a new list */ - - ul = ngx_array_push (ula); - if (ul == NULL) - return NGX_CONF_ERROR; - - ul->name = *value; - - - - /* copy all the upstream names */ - - count = cf->args->nelts - 2; - - us = ngx_palloc (cf->pool, count * sizeof (ngx_str_t)); - if (us == NULL) - return NGX_CONF_ERROR; - - ngx_memcpy (us, value + 1, count * sizeof (ngx_str_t)); - - - /* calculate the total number of buckets */ - - buckets = 0; - - ulp.cf = cf; - - for (i=0; ipool, buckets * sizeof (ngx_str_t **)); - if (bucket == NULL) - return NGX_CONF_ERROR; - - ul->elts = bucket; - ul->nelts = buckets; - - - /* set values for each bucket */ - - us -= count; - - for (i=0; idata = ulp.s.data; - us->len = ulp.s.len; - - /* TODO : check format of upstream */ - /* TODO : add automatic adding of http:// in upstreams? */ - - for (j=0; jupstreams; - - if (ua == NULL) { - return NULL; - } - - ul = ua->elts; - ule = ul + ua->nelts; - - for (; ul < ule; ul++) { - if (ul->name.len == len && ngx_strncasecmp(ul->name.data, data, len) == 0) - { - return ul; - } - } - - return NULL; -} - diff --git a/debian/modules/http-ndk/src/ndk_upstream_list.h b/debian/modules/http-ndk/src/ndk_upstream_list.h deleted file mode 100644 index 3786456..0000000 --- a/debian/modules/http-ndk/src/ndk_upstream_list.h +++ /dev/null @@ -1,27 +0,0 @@ - -#if (NDK_UPSTREAM_LIST_CMDS) - -/* TODO : use the generated commands */ - -{ - ngx_string ("upstream_list"), - NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_CONF_2MORE, - ndk_upstream_list, - 0, - 0, - NULL -}, - -#else - -typedef struct { - ngx_str_t **elts; - ngx_uint_t nelts; - ngx_str_t name; -} ndk_upstream_list_t; - - -ndk_upstream_list_t * -ndk_get_upstream_list (ndk_http_main_conf_t *mcf, u_char *data, size_t len); - -#endif diff --git a/debian/modules/http-ndk/src/ndk_uri.c b/debian/modules/http-ndk/src/ndk_uri.c deleted file mode 100644 index 19e90e8..0000000 --- a/debian/modules/http-ndk/src/ndk_uri.c +++ /dev/null @@ -1,45 +0,0 @@ - - -/* TODO : check that this is correct */ - -u_char * -ndk_map_uri_to_path_add_suffix (ngx_http_request_t *r, ngx_str_t *path, ngx_str_t *suffix, ngx_int_t dot) -{ - size_t root_size; - u_char *p; - - if (suffix->len) { - - if (dot) { - - p = ngx_http_map_uri_to_path (r, path, &root_size, suffix->len + 1); - - if (p == NULL) - return NULL; - - *p = '.'; - p++; - - } else { - - p = ngx_http_map_uri_to_path (r, path, &root_size, suffix->len); - - if (p == NULL) - return NULL; - } - - path->len--; - - p = ngx_cpymem (p, suffix->data, suffix->len); - *p = '\0'; - - return p; - } - - p = ngx_http_map_uri_to_path (r, path, &root_size, 0); - - path->len--; - - return p; -} - diff --git a/debian/modules/http-ndk/src/ndk_uri.h b/debian/modules/http-ndk/src/ndk_uri.h deleted file mode 100644 index dac3880..0000000 --- a/debian/modules/http-ndk/src/ndk_uri.h +++ /dev/null @@ -1,6 +0,0 @@ - - - -u_char * ndk_map_uri_to_path_add_suffix (ngx_http_request_t *r, ngx_str_t *path, ngx_str_t *suffix, ngx_int_t dot); - - diff --git a/debian/modules/nchan/LICENCE b/debian/modules/nchan/LICENCE deleted file mode 100644 index aed1f30..0000000 --- a/debian/modules/nchan/LICENCE +++ /dev/null @@ -1,24 +0,0 @@ -This work is distributed under the MIT Licence. - -Written by Leo Ponomarev (slact) 2009-2015. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above authorship notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/debian/modules/nchan/README.md b/debian/modules/nchan/README.md deleted file mode 100644 index f1c2a4d..0000000 --- a/debian/modules/nchan/README.md +++ /dev/null @@ -1,1552 +0,0 @@ - - -https://nchan.io - -Nchan is a scalable, flexible pub/sub server for the modern web, built as a module for the [Nginx](http://nginx.org) web server. It can be configured as a standalone server, or as a shim between your application and hundreds, thousands, or millions of live subscribers. It can buffer messages in memory, on-disk, or via [Redis](http://redis.io). All connections are handled asynchronously and distributed among any number of worker processes. It can also scale to many Nginx servers with [Redis](http://redis.io). - -Messages are [published](#publisher-endpoints) to channels with HTTP `POST` requests or Websocket, and [subscribed](#subscriber-endpoint) also through [Websocket](#websocket), [long-polling](#long-polling), [EventSource](#eventsource) (SSE), old-fashioned [interval polling](#interval-polling), [and](#http-chunked-transfer) [more](#http-multipart-mixed). - -In a web browser, you can use Websocket or EventSource natively, or the [NchanSubscriber.js](https://github.com/slact/nchan.js) wrapper library. It supports Long-Polling, EventSource, and resumable Websockets, and has a few other added convenience options. It's also available on [NPM](https://www.npmjs.com/package/nchan). - -## Features - - RESTful, HTTP-native [API](#publishing-messages). - - Supports [Websocket](#websocket), [EventSource (Server-Sent Events)](#eventsource), [Long-Polling](#long-polling) and other HTTP-based subscribers. - - Per-channel configurable message buffers with no-repeat, no-loss message delivery guarantees. - - Subscribe to [hundreds of channels](#channel-multiplexing) over a single subscriber connection. - - HTTP request [callbacks and hooks](#hooks-and-callbacks) for easy integration. - - Introspection with [channel events](#channel-events) and [url for monitoring performance statistics](#nchan_stub_status-stats). - - Channel [group](#channel-groups) usage [accounting and limits](#limits-and-accounting). - - Fast, nonblocking [shared-memory local message storage](#memory-storage) and optional, slower, persistent storage with [Redis](#redis). - - Horizontally scalable (using [Redis](#redis)). - - Auto-failover and [high availability](#high-availability) with no single point of failure using [Redis Cluster](#redis-cluster). - -## Status and History - -The latest Nchan release is 1.2.15 (December 27, 2021) ([changelog](https://nchan.io/changelog)). - -The first iteration of Nchan was written in 2009-2010 as the [Nginx HTTP Push Module](https://pushmodule.slact.net), and was vastly refactored into its present state in 2014-2016. - -#### Upgrade from Nginx HTTP Push Module - -Although Nchan is backwards-compatible with all Push Module configuration directives, some of the more unusual and rarely used settings have been disabled and will be ignored (with a warning). See the [upgrade page](https://nchan.io/upgrade) for a detailed list of changes and improvements, as well as a full list of incompatibilities. - - -## Does it scale? - -benchmarking internal subscriber response times - -Yes it does. Like Nginx, Nchan can easily handle as much traffic as you can throw at it. I've tried to benchmark it, but my benchmarking tools are much slower than Nchan. The data I've gathered is on how long Nchan itself takes to respond to every subscriber after publishing a message -- this excludes TCP handshake times and internal HTTP request parsing. Basically, it measures how Nchan scales assuming all other components are already tuned for scalability. The graphed data are averages of 5 runs with 50-byte messages. - -With a well-tuned OS and network stack on commodity server hardware, expect to handle upwards of 300K concurrent subscribers per second at minimal CPU load. Nchan can also be scaled out to multiple Nginx instances using the [Redis storage engine](#nchan_use_redis), and that too can be scaled up beyond a single-point-of-failure by using [Redis Cluster](#redis-cluster). - - -## Install - -#### Download Packages - - [Arch Linux](https://archlinux.org): [nginx-mod-nchan](https://aur.archlinux.org/packages/nginx-mod-nchan/) and [nginx-mainline-mod-nchan](https://aur.archlinux.org/packages/nginx-mainline-mod-nchan/) are available in the Arch User Repository. - - Mac OS X: a [homebrew](http://brew.sh) package is available. `brew tap denji/nginx; brew install nginx-full --with-nchan-module` - - [Debian](https://www.debian.org/): A dynamic module build is available in the Debian package repository: [libnginx-mod-nchan](https://packages.debian.org/sid/libnginx-mod-nchan). - Additionally, you can use the pre-built static module packages [nginx-common.deb](https://nchan.io/download/nginx-common.deb) and [nginx-extras.deb](https://nchan.io/download/nginx-extras.deb). Download both and install them with `dpkg -i`, followed by `sudo apt-get -f install`. - - [Ubuntu](http://www.ubuntu.com/): [nginx-common.ubuntu.deb](https://nchan.io/download/nginx-common.ubuntu.deb) and [nginx-extras.ubuntu.deb](https://nchan.io/download/nginx-extras.ubuntu.deb). Download both and install them with `dpkg -i`, followed by `sudo apt-get -f install`. Who knows when Ubuntu will add Nchan to their repository?... - - [Fedora](https://fedoraproject.org): Dynamic module builds for Nginx > 1.10.0 are available: [nginx-mod-nchan.x86_64.rpm](https://nchan.io/download/nginx-mod-nchan.x86-64.rpm), [nginx-mod-nchan.src.rpm](https://nchan.io/download/nginx-mod-nchan.src.rpm). - - [Heroku](https://heroku.com): A buildpack for compiling Nchan into Nginx is available: [nchan-buildpack](https://github.com/andjosh/nchan-buildpack). A one-click, readily-deployable app is also available: [nchan-heroku](https://github.com/andjosh/nchan-heroku). - - A statically compiled binary and associated linux nginx installation files are also [available as a tarball](https://nchan.io/download/nginx-nchan-latest.tar.gz). - - -#### Build From Source -Grab the latest copy of Nginx from [nginx.org](http://nginx.org). Grab the latest Nchan source from [github](https://github.com/slact/nchan/releases). Follow the instructions for [building Nginx](https://www.nginx.com/resources/wiki/start/topics/tutorials/install/#source-releases), except during the `configure` stage, add -``` -./configure --add-module=path/to/nchan ... -``` - -If you're using Nginx > 1.9.11, you can build Nchan as a [dynamic module](https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/) with `--add-dynamic-module=path/to/nchan` - -Run `make`, then `make install`. - -## Getting Started - -Once you've built and installed Nchan, it's very easy to start using. Add two locations to your nginx config: - -```nginx -#... -http { - server { - #... - - location = /sub { - nchan_subscriber; - nchan_channel_id $arg_id; - } - - location = /pub { - nchan_publisher; - nchan_channel_id $arg_id; - } - } -} -``` - -You can now publish messages to channels by `POST`ing data to `/pub?id=channel_id` , and subscribe by pointing Websocket, EventSource, or [NchanSubscriber.js](https://github.com/slact/nchan.js) to `sub/?id=channel_id`. It's that simple. - -But Nchan is very flexible and highly configurable. So, of course, it can get a lot more complicated... - -### Conceptual Overview - -The basic unit of most pub/sub solutions is the messaging *channel*. Nchan is no different. Publishers send messages to channels with a certain *channel id*, and subscribers subscribed to those channels receive them. Some number of messages may be buffered for a time in a channel's message buffer before they are deleted. Pretty simple, right? - -Well... the trouble is that nginx configuration does not deal with channels, publishers, and subscribers. Rather, it has several sections for incoming requests to match against *server* and *location* sections. **Nchan configuration directives map servers and locations onto channel publishing and subscribing endpoints**: - -```nginx -#very basic nchan config -worker_processes 5; - -http { - server { - listen 80; - - location = /sub { - nchan_subscriber; - nchan_channel_id foobar; - } - - location = /pub { - nchan_publisher; - nchan_channel_id foobar; - } - } -} -``` - -The above maps requests to the URI `/sub` onto the channel `foobar`'s *subscriber endpoint* , and similarly `/pub` onto channel `foobar`'s *publisher endpoint*. - - -## Publisher Endpoints - -Publisher endpoints are Nginx config *locations* with the [*`nchan_publisher`*](#nchan_publisher) directive. - -Messages can be published to a channel by sending HTTP **POST** requests with the message contents to the *publisher endpoint* locations. You can also publish messages through a **Websocket** connection to the same location. - -```nginx - location /pub { - #example publisher location - nchan_publisher; - nchan_channel_id foo; - nchan_channel_group test; - nchan_message_buffer_length 50; - nchan_message_timeout 5m; - } -``` - - - -### Publishing Messages - -Requests and websocket messages are responded to with information about the channel at time of message publication. Here's an example from publishing with `curl`: - -```console -> curl --request POST --data "test message" http://127.0.0.1:80/pub - - queued messages: 5 - last requested: 18 sec. ago - active subscribers: 0 - last message id: 1450755280:0 -``` - -The response can be in plaintext (as above), JSON, or XML, based on the request's *`Accept`* header: - -```console -> curl --request POST --data "test message" -H "Accept: text/json" http://127.0.0.2:80/pub - - {"messages": 5, "requested": 18, "subscribers": 0, "last_message_id": "1450755280:0" } -``` - -Websocket publishers also receive the same responses when publishing, with the encoding determined by the *`Accept`* header present during the handshake. - -The response code for an HTTP request is *`202` Accepted* if no subscribers are present at time of publication, or *`201` Created* if at least 1 subscriber was present. - -Metadata can be added to a message when using an HTTP POST request for publishing. A `Content-Type` header will be associated as the message's content type (and output to Long-Poll, Interval-Poll, and multipart/mixed subscribers). A `X-EventSource-Event` header can also be used to associate an EventSource `event:` line value with a message. - -### Other Publisher Endpoint Actions - -**HTTP `GET`** requests return channel information without publishing a message. The response code is `200` if the channel exists, and `404` otherwise: -```console -> curl --request POST --data "test message" http://127.0.0.2:80/pub - ... - -> curl -v --request GET -H "Accept: text/json" http://127.0.0.2:80/pub - - {"messages": 1, "requested": 7, "subscribers": 0, "last_message_id": "1450755421:0" } -``` - - -**HTTP `DELETE`** requests delete a channel and end all subscriber connections. Like the `GET` requests, this returns a `200` status response with channel info if the channel existed, and a `404` otherwise. - -### How Channel Settings Work - -*A channel's configuration is set to the that of its last-used publishing location.* -So, if you want a channel to behave consistently, and want to publish to it from multiple locations, *make sure those locations have the same configuration*. - -You can also can use differently-configured publisher locations to dynamically update a channel's message buffer settings. This can be used to erase messages or to scale an existing channel's message buffer as desired. - -## Subscriber Endpoints - -Subscriber endpoints are Nginx config *locations* with the [*`nchan_subscriber`*](#nchan_subscriber) directive. - -Nchan supports several different kinds of subscribers for receiving messages: [*Websocket*](#websocket), [*EventSource*](#eventsource) (Server Sent Events), [*Long-Poll*](#long-polling), [*Interval-Poll*](#interval-polling). [*HTTP chunked transfer*](#http-chunked-transfer), and [*HTTP multipart/mixed*](#http-multipart-mixed). - -```nginx - location /sub { - #example subscriber location - nchan_subscriber; - nchan_channel_id foo; - nchan_channel_group test; - nchan_subscriber_first_message oldest; - } -``` - - - -- ### Long-Polling - The tried-and-true server-push method supported by every browser out there. - Initiated by sending an HTTP `GET` request to a channel subscriber endpoint. - The long-polling subscriber walks through a channel's message queue via the built-in cache mechanism of HTTP clients, namely with the "`Last-Modified`" and "`Etag`" headers. Explicitly, to receive the next message for given a long-poll subscriber response, send a request with the "`If-Modified-Since`" header set to the previous response's "`Last-Modified`" header, and "`If-None-Match`" likewise set to the previous response's "`Etag`" header. - Sending a request without a "`If-Modified-Since`" or "`If-None-Match`" headers returns the oldest message in a channel's message queue, or waits until the next published message, depending on the value of the `nchan_subscriber_first_message` config directive. - A message's associated content type, if present, will be sent to this subscriber with the `Content-Type` header. - - -- ### Interval-Polling - Works just like long-polling, except if the requested message is not yet available, immediately responds with a `304 Not Modified`. - Nchan cannot automatically distinguish between long-poll and interval-poll subscriber requests, so long-polling must be disabled for a subscriber location if you wish to use interval-polling. - -- ### Websocket - Bidirectional communication for web browsers. Part of the [HTML5 spec](http://www.w3.org/TR/2014/REC-html5-20141028/single-page.html). Nchan supports the latest protocol version 13 ([RFC 6455](https://tools.ietf.org/html/rfc6455)). - Initiated by sending a websocket handshake to the desired subscriber endpoint location. - If the websocket connection is closed by the server, the `close` frame will contain the HTTP response code and status line describing the reason for closing the connection. Server-initiated keep-alive pings can be configured with the [`nchan_websocket_ping_interval`](#nchan_websocket_ping_interval) config directive. - Messages are delivered to subscribers in `text` websocket frames, except if a message's `content-type` is "`application/octet-stream`" -- then it is delivered in a `binary` frame. -
- Websocket subscribers can use the custom `ws+meta.nchan` subprotocol to receive message metadata with messages, making websocket connections resumable. Messages received with this subprotocol are of the form -
-  id: message_id
-  content-type: message_content_type
-  \n
-  message_data
-  
- The `content-type:` line may be omitted. -
- #### Websocket Publisher - Messages published through a websocket connection can be forwarded to an upstream application with the [`nchan_publisher_upstream_request`](#nchan_publisher_upstream_request) config directive. - Messages published in a binary frame are automatically given the `content-type` "`application/octet-stream`". - #### Permessage-deflate - Nchan version 1.1.8 and above supports the [permessage-deflate protocol extension](https://tools.ietf.org/html/rfc7692). Messages are deflated once when they are published, and then can be broadcast to any number of compatible websocket subscribers. Message deflation is enabled by setting the [`nchan_deflate_message_for_websocket on;`](#nchan_deflate_message_for_websocket) directive in a publisher location. -
- The deflated data is stored alongside the original message in memory, or, if large enough, on disk. This means more [shared memory](#nchan_shared_memory_size) is necessary when using `nchan_deflate_message_for_websocket`. -
- Deflation parameters (speed, memory use, strategy, etc.), can be tweaked using the [`nchan_permessage_deflate_compression_window`](#nchan_permessage_deflate_compression_window), [`nchan_permessage_deflate_compression_level`](#nchan_permessage_deflate_compression_level), - [`nchan_permessage_deflate_compression_strategy`](#nchan_permessage_deflate_compression_strategy), and - [`nchan_permessage_deflate_compression_window`](#nchan_permessage_deflate_compression_window) settings. -
- Nchan also supports the (deprecated) [perframe-deflate extension](https://tools.ietf.org/html/draft-tyoshino-hybi-websocket-perframe-deflate-06) still in use by Safari as `x-webkit-perframe-deflate`. -
- - -- ### EventSource - Also known as [Server-Sent Events](https://en.wikipedia.org/wiki/Server-sent_events) or SSE, it predates Websockets in the [HTML5 spec](http://www.w3.org/TR/2014/REC-html5-20141028/single-page.html), and is a [very simple protocol](http://www.w3.org/TR/eventsource/#event-stream-interpretation). - Initiated by sending an HTTP `GET` request to a channel subscriber endpoint with the "`Accept: text/event-stream`" header. - Each message `data: ` segment will be prefaced by the message `id: `. - To resume a closed EventSource connection from the last-received message, one *should* start the connection with the "`Last-Event-ID`" header set to the last message's `id`. - Unfortunately, browsers [don't support setting](http://www.w3.org/TR/2011/WD-eventsource-20111020/#concept-event-stream-last-event-id) this header for an `EventSource` object, so by default the last message id is set either from the "`Last-Event-Id`" header or the `last_event_id` url query string argument. - This behavior can be configured via the [`nchan_subscriber_last_message_id`](#nchan_subscriber_last_message_id) config. - A message's `content-type` will not be received by an EventSource subscriber, as the protocol makes no provisions for this metadata. - A message's associated `event` type, if present, will be sent to this subscriber with the `event:` line. - - -- ### HTTP [multipart/mixed](http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html#z0) - The `multipart/mixed` MIMEtype was conceived for emails, but hey, why not use it for HTTP? It's easy to parse and includes metadata with each message. - Initiated by including an `Accept: multipart/mixed` header. - The response headers and the unused "preamble" portion of the response body are sent right away, with the boundary string generated randomly for each subscriber. Each subsequent message will be sent as one part of the multipart message, and will include the message time and tag (`Last-Modified` and `Etag`) as well as the optional `Content-Type` headers. - Each message is terminated with the next multipart message's boundary **without a trailing newline**. While this conforms to the multipart spec, it is unusual as multipart messages are defined as *starting*, rather than ending with a boundary. - A message's associated content type, if present, will be sent to this subscriber with the `Content-Type` header. - - -- ### HTTP Raw Stream - A simple subscription method similar to the [streaming subscriber](https://github.com/wandenberg/nginx-push-stream-module/blob/master/docs/directives/subscribers.textile#push_stream_subscriber) of the [Nginx HTTP Push Stream Module](https://github.com/wandenberg/nginx-push-stream-module). Messages are appended to the response body, separated by a newline or configurable by `nchan_subscriber_http_raw_stream_separator`. - - -- ### HTTP [Chunked Transfer](http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6.1) - This subscription method uses the `chunked` `Transfer-Encoding` to receive messages. - Initiated by explicitly including `chunked` in the [`TE` header](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.39): - `TE: chunked` (or `TE: chunked;q=??` where the qval > 0) - The response headers are sent right away, and each message will be sent as an individual chunk. Note that because a zero-length chunk terminates the transfer, **zero-length messages will not be sent** to the subscriber. - Unlike the other subscriber types, the `chunked` subscriber cannot be used with http/2 because it dissallows chunked encoding. - - -## PubSub Endpoint - -PubSub endpoints are Nginx config *locations* with the [*`nchan_pubsub`*](#nchan_pubsub) directive. - -A combination of *publisher* and *subscriber* endpoints, this location treats all HTTP `GET` -requests as subscribers, and all HTTP `POST` as publishers. One simple use case is an echo server: - -```nginx - location = /pubsub { - nchan_pubsub; - nchan_channel_id foo; - nchan_channel_group test; - } -``` - -A more interesting setup may set different publisher and subscriber channel ids: - -```nginx - location = /pubsub { - nchan_pubsub; - nchan_publisher_channel_id foo; - nchan_subscriber_channel_id bar; - nchan_channel_group test; - } -``` - -Here, subscribers will listen for messages on channel `foo`, and publishers will publish messages to channel `bar`. This can be useful when setting up websocket proxying between web clients and your application. - - - -## The Channel ID - -So far the examples have used static channel ids, which is not very useful. In practice, the channel id can be set to any nginx *variable*, such as a querystring argument, a header value, or a part of the location url: - -```nginx - location = /sub_by_ip { - #channel id is the subscriber's IP address - nchan_subscriber; - nchan_channel_id $remote_addr; - } - - location /sub_by_querystring { - #channel id is the query string parameter chanid - # GET /sub/sub_by_querystring?foo=bar&chanid=baz will have the channel id set to 'baz' - nchan_subscriber; - nchan_channel_id $arg_chanid; - } - - location ~ /sub/(\w+)$ { - #channel id is the word after /sub/ - # GET /sub/foobar_baz will have the channel id set to 'foobar_baz' - # I hope you know your regular expressions... - nchan_subscriber; - nchan_channel_id $1; #first capture of the location match - } -``` - -I recommend using the last option, a channel id derived from the request URL via a regular expression. It makes things nice and RESTful. - - - -### Channel Multiplexing - -With channel multiplexing, subscribers can subscribe to up to 255 channels per connection. Messages published to all the specified channels will be delivered in-order to the subscriber. There are two ways to enable multiplexing: - -Up to 7 channel ids can be specified for the `nchan_channel_id` or `nchan_channel_subscriber_id` config directive: - -```nginx - location ~ /multisub/(\w+)/(\w+)$ { - nchan_subscriber; - nchan_channel_id "$1" "$2" "common_channel"; - #GET /multisub/foo/bar will be subscribed to: - # channels 'foo', 'bar', and 'common_channel', - #and will receive messages from all of the above. - } -``` - -For more than 7 channels, `nchan_channel_id_split_delimiter` can be used to split the `nchan_channel_id` or `nchan_channel_subscriber_id` into up to 255 individual channel ids: - -```nginx - location ~ /multisub-split/(.*)$ { - nchan_subscriber; - nchan_channel_id "$1"; - nchan_channel_id_split_delimiter ","; - #GET /multisub-split/foo,bar,baz,a will be subscribed to: - # channels 'foo', 'bar', 'baz', and 'a' - #and will receive messages from all of the above. - } -``` - -It is also possible to publish to multiple channels with a single request as well as delete multiple channels with a single request, with similar configuration: - -```nginx - location ~ /multipub/(\w+)/(\w+)$ { - nchan_publisher; - nchan_channel_id "$1" "$2" "another_channel"; - #POST /multipub/foo/bar will publish to: - # channels 'foo', 'bar', 'another_channel' - #DELETE /multipub/foo/bar will delete: - # channels 'foo', 'bar', 'another_channel' - } -``` - -When a channel is deleted, all of its messages are deleted, and all of its subscribers' connection are closed -- including ones subscribing through a multiplexed location. For example, suppose a subscriber is subscribed to channels "foo" and "bar" via a single multiplexed connection. If "foo" is deleted, the connection is closed, and the subscriber therefore loses the "bar" subscription as well. - -See the [Channel Security](#securing-channels) section about using good IDs and keeping private channels secure. - - - -### Channel Groups - -Channels can be associated with groups to avoid channel ID conflicts: - -```nginx - location /test_pubsub { - nchan_pubsub; - nchan_channel_group "test"; - nchan_channel_id "foo"; - } - - location /pubsub { - nchan_pubsub; - nchan_channel_group "production"; - nchan_channel_id "foo"; - #same channel id, different channel group. Thus, different channel. - } - - location /flexgroup_pubsub { - nchan_pubsub; - nchan_channel_group $arg_group; - nchan_channel_id "foo"; - #group can be set with request variables too - } -``` - -#### Limits and Accounting - -Groups can be used to track aggregate channel usage, as well as set limits on the number of channels, subscribers, stored messages, memory use, etc: - -```nginx - #enable group accounting - nchan_channel_group_accounting on; - - location ~ /pubsub/(\w+)$ { - nchan_pubsub; - nchan_channel_group "limited"; - nchan_channel_id $1; - } - - location ~ /prelimited_pubsub/(\w+)$ { - nchan_pubsub; - nchan_channel_group "limited"; - nchan_channel_id $1; - nchan_group_max_subscribers 100; - nchan_group_max_messages_memory 50M; - } - - location /group { - nchan_channel_group limited; - nchan_group_location; - nchan_group_max_channels $arg_max_channels; - nchan_group_max_messages $arg_max_messages; - nchan_group_max_messages_memory $arg_max_messages_mem; - nchan_group_max_messages_disk $arg_max_messages_disk; - nchan_group_max_subscribers $arg_max_subs; - } -``` - -Here, `/group` is an `nchan_group_location`, which is used for accessing and modifying group data. To get group data, send a `GET` request to a `nchan_group_location`: - -```sh -> curl http://localhost/group - -channels: 10 -subscribers: 0 -messages: 219 -shared memory used by messages: 42362 bytes -disk space used by messages: 0 bytes -limits: - max channels: 0 - max subscribers: 0 - max messages: 0 - max messages shared memory: 0 - max messages disk space: 0 -``` - -By default, the data is returned in human-readable plaintext, but can also be formatted as JSON, XML, or YAML: - -```sh -> curl -H "Accept: text/json" http://localhost/group - -{ - "channels": 21, - "subscribers": 40, - "messages": 53, - "messages_memory": 19941, - "messages_disk": 0, - "limits": { - "channels": 0, - "subscribers": 0, - "messages": 0, - "messages_memory": 0, - "messages_disk": 0 - } -} -``` - -The data in the response are for the single Nchan instance only, regardless of whether Redis is used. A limit of 0 means 'unlimited'. - -Limits can be set per-location, as with the above `/prelimited_pubsub/...` location, or with a POST request to the `nchan_group_location`: -```sh -> curl -X POST "http://localhost/group?max_channels=15&max_subs=1000&max_messages_disk=0.5G" - -channels: 0 -subscribers: 0 -messages: 0 -shared memory used by messages: 0 bytes -disk space used by messages: 0 bytes -limits: - max channels: 15 - max subscribers: 1000 - max messages: 0 - max messages shared memory: 0 - max messages disk space: 536870912 - -``` - -Limits are only applied locally, regardless of whether Redis is enabled. -If a publisher or subscriber request exceeds a group limit, Nchan will respond to it with a `403 Forbidden` response. - - - -## Hooks and Callbacks - - - -### Request Authorization - -This feature, configured with [`nchan_authorize_request`](#nchan_authorize_request), behaves just like the Nginx [http_auth_request module](http://nginx.org/en/docs/http/ngx_http_auth_request_module.html#auth_request_set). - -Consider the configuration: -```nginx - upstream my_app { - server 127.0.0.1:8080; - } - location = /auth { - proxy_pass http://my_app/pubsub_authorize; - proxy_pass_request_body off; - proxy_set_header Content-Length ""; - proxy_set_header X-Subscriber-Type $nchan_subscriber_type; - proxy_set_header X-Publisher-Type $nchan_publisher_type; - proxy_set_header X-Prev-Message-Id $nchan_prev_message_id; - proxy_set_header X-Channel-Id $nchan_channel_id; - proxy_set_header X-Original-URI $request_uri; - proxy_set_header X-Forwarded-For $remote_addr; - } - - location ~ /pubsub/auth/(\w+)$ { - nchan_channel_id $1; - nchan_authorize_request /auth; - nchan_pubsub; - nchan_channel_group test; - } -``` - -Here, any request to the location `/pubsub/auth/<...>` will need to be authorized by your application (`my_app`). Nginx will generate a `GET /pubsub_authorize` request to the application, with additional headers set by the `proxy_set_header` directives. Note that Nchan-specific variables are available for this authorization request. Once your application receives this request, it should decide whether or not to authorize the subscriber. This can be done based on a forwarded session cookie, IP address, or any set of parameters of your choosing. If authorized, it should respond with an empty `200 OK` response. -All non-`2xx` response codes (such as `403 Forbidden`) are intepreted as authorization failures. In this case, the failing response is proxied to the client. - -Note that Websocket and EventSource clients will only try to authorize during the initial handshake request, whereas Long-Poll and Interval-Poll subscribers will need to be authorized each time they request the next message, which may flood your application with too many authorization requests. - - - -### Subscriber Presence - -Subscribers can notify an application when they have subscribed and unsubscribed to a channel using the [`nchan_subscribe_request`](#nchan_subscribe_request) -and [`nchan_unsubscribe_request`](#nchan_unsubscribe_request) settings. -These should point to Nginx locations configured to forward requests to an upstream proxy (your application): - -```nginx - location ~ /sub/(\w+)$ { - nchan_channel_id $1; - nchan_subscribe_request /upstream/sub; - nchan_unsubscribe_request /upstream/unsub; - nchan_subscriber; - nchan_channel_group test; - } - - location = /upstream/unsub { - proxy_pass http://127.0.0.1:9292/unsub; - proxy_ignore_client_abort on; #!!!important!!!! - proxy_set_header X-Subscriber-Type $nchan_subscriber_type; - proxy_set_header X-Channel-Id $nchan_channel_id; - proxy_set_header X-Original-URI $request_uri; - } - location = /upstream/sub { - proxy_pass http://127.0.0.1:9292/sub; - proxy_set_header X-Subscriber-Type $nchan_subscriber_type; - proxy_set_header X-Message-Id $nchan_message_id; - proxy_set_header X-Channel-Id $nchan_channel_id; - proxy_set_header X-Original-URI $request_uri; - } -``` - -In order for `nchan_unsubscribe_request` to work correctly, the location it points to must have `proxy_ignore_client_abort on;`. Otherwise, suddenly aborted subscribers may not trigger an unsubscribe request. - -Note that the subscribe/unsubscribe hooks are **disabled for long-poll and interval-poll clients**, because they would trigger these hooks each time they receive a message. - - - -### Message Forwarding - -Messages can be forwarded to an upstream application before being published using the `nchan_publisher_upstream_request` setting: - -```nginx - location ~ /pub/(\w+)$ { - #publisher endpoint - nchan_channel_id $1; - nchan_pubsub; - nchan_publisher_upstream_request /upstream_pub; - } - - location = /upstream_pub { - proxy_pass http://127.0.0.1:9292/pub; - proxy_set_header X-Publisher-Type $nchan_publisher_type; - proxy_set_header X-Prev-Message-Id $nchan_prev_message_id; - proxy_set_header X-Channel-Id $nchan_channel_id; - proxy_set_header X-Original-URI $request_uri; - } -``` -With this configuration, incoming messages are first `POST`ed to `http://127.0.0.1:9292/pub`. -The upstream response code determines how publishing will proceed: - - `304 Not Modified` publishes the message as received, without modifification. - - `204 No Content` discards the message - - `200 OK` is used for modifying the message. Instead of the original incoming message, the message contained in this HTTP response is published. - -There are two main use cases for `nchan_publisher_upstream_request`: forwarding incoming data from Websocket publishers to an application, and mutating incoming messages. - - - -## Storage - -Nchan can stores messages in memory, on disk, or via Redis. Memory storage is much faster, whereas Redis has additional overhead as is considerably slower for publishing messages, but offers near unlimited scalability for broadcast use cases with far more subscribers than publishers. - -### Memory Storage - -This default storage method uses a segment of shared memory to store messages and channel data. Large messages as determined by Nginx's caching layer are stored on-disk. The size of the memory segment is configured with `nchan_shared_memory_size`. Data stored here is not persistent, and is lost if Nginx is restarted or reloaded. - - - -### Redis - -[Redis](http://redis.io) can be used to add **data persistence** and **horizontal scalability**, **failover** and **high availability** to your Nchan setup. - - - -#### Connecting to a Redis Server -To connect to a single Redis master server, use an `upstream` with `nchan_redis_server` and `nchan_redis_pass` settings: - -```nginx -http { - upstream my_redis_server { - nchan_redis_server 127.0.0.1; - } - server { - listen 80; - - location ~ /redis_sub/(\w+)$ { - nchan_subscriber; - nchan_channel_id $1; - nchan_redis_pass my_redis_server; - } - location ~ /redis_pub/(\w+)$ { - nchan_redis_pass my_redis_server; - nchan_publisher; - nchan_channel_id $1; - } - } -} -``` - -All servers with the above configuration connecting to the same redis server share channel and message data. - -Channels that don't use Redis can be configured side-by-side with Redis-backed channels, provided the endpoints never overlap. (This can be ensured, as above, by setting separate `nchan_channel_group`s.). Different locations can also connect to different Redis servers. - -Nchan can work with a single Redis master. It can also auto-discover and use Redis slaves to balance PUBSUB traffic. - - - -#### Redis Cluster -Nchan also supports using Redis Cluster, which adds scalability via sharding channels among cluster nodes. Redis cluster also provides **automatic failover**, **high availability**, and eliminates the single point of failure of one shared Redis server. It is configred and used like so: - -```nginx -http { - upstream redis_cluster { - nchan_redis_server redis://127.0.0.1:7000; - nchan_redis_server redis://127.0.0.1:7001; - nchan_redis_server redis://127.0.0.1:7002; - # you don't need to specify all the nodes, they will be autodiscovered - # however, it's recommended that you do specify at least a few master nodes. - } - server { - listen 80; - - location ~ /sub/(\w+)$ { - nchan_subscriber; - nchan_channel_id $1; - nchan_redis_pass redis_cluster; - } - location ~ /pub/(\w+)$ { - nchan_publisher; - nchan_channel_id $1; - nchan_redis_pass redis_cluster; - } - } -} -``` - - - -##### High Availability -Redis Cluster connections are designed to be resilient and try to recover from errors. Interrupted connections will have their commands queued until reconnection, and Nchan will publish any messages it successfully received while disconnected. Nchan is also adaptive to cluster modifications. It will add new nodes and remove them as needed. - -All Nchan servers sharing a Redis server or cluster should have their times synchronized (via ntpd or your favorite ntp daemon). Failure to do so may result in missed or duplicate messages. - -#### Using Redis securely - -Redis servers can be connected to via TLS by using the [nchan_redis_ssl](#nchan_redis_ssl) config setting in an `upstream` block, or by using the `rediss://` schema for the server URLs. - -A password and optional username for the `AUTH` command can be set by the [nchan_redis_username](#nchan_redis_username) and [nchan_redis_password](#nchan_redis_password) config settings in an `upstream` block, or by using the `redis://:@hostname` server URL schema. - -Note that autodiscovered Redis nodes inherit their parent's SSL, username, and password settings. - -#### Tweaks and Optimizations - -As of version 1.2.0, Nchan uses Redis slaves to load-balance PUBSUB traffic. By default, there is an equal chance that a channel's PUBSUB subscription will go to any master or slave. The [`nchan_redis_subscribe_weights`](#nchan_redis_subscribe_weights) setting is available to fine-tune this load-balancing. - -Also from 1.2.0 onward, [`nchan_redis_optimize_target`](#nchan_redis_optimize_target) can be used to prefer optimizing Redis slaves for CPU or bandwidth. For heavy publishing loads, the tradeoff is very roughly 35% replication bandwidth per slave to 30% CPU load on slaves. - -## Introspection - -There are several ways to see what's happening inside Nchan. These are useful for debugging application integration and for measuring performance. - -### Channel Events - -Channel events are messages automatically published by Nchan when certain events occur in a channel. These are very useful for debugging the use of channels. However, they carry a significant performance overhead and should be used during development, and not in production. - -Channel events are published to special 'meta' channels associated with normal channels. Here's how to configure them: - -```nginx -location ~ /pubsub/(.+)$ { - nchan_pubsub; - nchan_channel_id $1; - nchan_channel_events_channel_id $1; #enables channel events for this location -} - -location ~ /channel_events/(.+) { - #channel events subscriber location - nchan_subscriber; - nchan_channel_group meta; #"meta" is a SPECIAL channel group - nchan_channel_id $1; -} -``` - -Note the `/channel_events/...` location has a *special* `nchan_channel_group`, `meta`. This group is reserved for accessing "channel events channels", or"metachannels". - -Now, say I subscribe to `/channel_events/foo` I will refer to this as the channel events subscriber. - -Let's see what this channel events subscriber receives when I publish messages to - -Subscribing to `/pubsub/foo` produces the channel event -``` -subscriber_enqueue foo -``` - -Publishing a message to `/pubsub/foo`: -``` -channel_publish foo -``` - -Unsubscribing from `/pubsub/foo`: -``` -subscriber_dequeue foo -``` - -Deleting `/pubsub/foo` (with HTTP `DELETE /pubsub/foo`): -``` -channel_delete foo -``` - -The event string itself is configirable with [nchan_channel_event_string](#nchan_channel_event_string). By default, it is set to `$nchan_channel_event $nchan_channel_id`. -This string can use any Nginx and [Nchan variables](/#variables). - - -### nchan_stub_status Stats - -Like Nginx's [stub_status](https://nginx.org/en/docs/http/ngx_http_stub_status_module.html), -`nchan_stub_status` is used to get performance metrics. - -```nginx - location /nchan_stub_status { - nchan_stub_status; - } -``` - -Sending a GET request to this location produces the response: - -```text -total published messages: 1906 -stored messages: 1249 -shared memory used: 1824K -channels: 80 -subscribers: 90 -redis pending commands: 0 -redis connected servers: 0 -total interprocess alerts received: 1059634 -interprocess alerts in transit: 0 -interprocess queued alerts: 0 -total interprocess send delay: 0 -total interprocess receive delay: 0 -nchan version: 1.1.5 -``` - -Here's what each line means, and how to interpret it: - - `total published messages`: Number of messages published to all channels through this Nchan server. - - `stored messages`: Number of messages currently buffered in memory - - `shared memory used`: Total shared memory used for buffering messages, storing channel information, and other purposes. This value should be comfortably below `nchan_shared_memory_size`. - - `channels`: Number of channels present on this Nchan server. - - `subscribers`: Number of subscribers to all channels on this Nchan server. - - `redis pending commands`: Number of commands sent to Redis that are awaiting a reply. May spike during high load, especially if the Redis server is overloaded. Should tend towards 0. - - `redis connected servers`: Number of redis servers to which Nchan is currently connected. - - `total interprocess alerts received`: Number of interprocess communication packets transmitted between Nginx workers processes for Nchan. Can grow at 100-10000 per second at high load. - - `interprocess alerts in transit`: Number of interprocess communication packets in transit between Nginx workers. May be nonzero during high load, but should always tend toward 0 over time. - - `interprocess queued alerts`: Number of interprocess communication packets waiting to be sent. May be nonzero during high load, but should always tend toward 0 over time. - - `total interprocess send delay`: Total amount of time interprocess communication packets spend being queued if delayed. May increase during high load. - - `total interprocess receive delay`: Total amount of time interprocess communication packets spend in transit if delayed. May increase during high load. - - `nchan_version`: current version of Nchan. Available for version 1.1.5 and above. - -Additionally, when there is at least one `nchan_stub_status` location, the following Nginx variables are available: - - `$nchan_stub_status_total_published_messages` - - `$nchan_stub_status_stored_messages` - - `$nchan_stub_status_shared_memory_used` - - `$nchan_stub_status_channels` - - `$nchan_stub_status_subscribers` - - `$nchan_stub_status_redis_pending_commands` - - `$nchan_stub_status_redis_connected_servers` - - `$nchan_stub_status_total_ipc_alerts_received` - - `$nchan_stub_status_ipc_queued_alerts` - - `$nchan_stub_status_total_ipc_send_delay` - - `$nchan_stub_status_total_ipc_receive_delay` - - -## Securing Channels - -### Securing Publisher Endpoints -Consider the use case of an application where authenticated users each use a private, dedicated channel for live updates. The configuration might look like this: - -```nginx -http { - server { - #available only on localhost - listen 127.0.0.1:8080; - location ~ /pub/(\w+)$ { - nchan_publisher; - nchan_channel_group my_app_group; - nchan_channel_id $1; - } - } - - server { - #available to the world - listen 80; - - location ~ /sub/(\w+)$ { - nchan_subscriber; - nchan_channel_group my_app_group; - nchan_channel_id $1; - } - } -} - -``` - -Here, the subscriber endpoint is available on a public-facing port 80, and the publisher endpoint is only available on localhost, so can be accessed only by applications residing on that machine. Another way to limit access to the publisher endpoint is by using the allow/deny settings: - -```nginx - - server { - #available to the world - listen 80; - location ~ /pub/(\w+)$ { - allow 127.0.0.1; - deny all; - nchan_publisher; - nchan_channel_group my_app_group; - nchan_channel_id $1; - } -``` - -Here, only the local IP 127.0.0.1 is allowed to use the publisher location, even though it is defined in a non-localhost server block. - -### Keeping a Channel Private - -A Channel ID that is meant to be private should be treated with the same care as a session ID token. Considering the above use case of one-channel-per-user, how can we ensure that only the authenticated user, and no one else, is able to access his channel? - -First, if you intend on securing the channel contents, you must use TLS/SSL: - -```nginx -http { - server { - #available only on localhost - listen 127.0.0.1:8080; - #...publisher endpoint config - } - server { - #available to the world - listen 443 ssl; - #SSL config goes here - location ~ /sub/(\w+)$ { - nchan_subscriber; - nchan_channel_group my_app_group; - nchan_channel_id $1; - } - } -} -``` - -Now that you have a secure connection between the subscriber client and the server, you don't need to worry about the channel ID or messages being passively intercepted. This is a minimum requirement for secure message delivery, but it is not sufficient. - -You must also take care to do at least one of the following: - - [Generate good, high-entropy Channel IDs](#good-ids). - - [Authorize all subscribers with the `nchan_authorize_request` config directive](#request-authorization). - - [Authorize subscribers and hide channel IDs with the "`X-Accel-Redirect`" mechanism](#x-accel-redirect). - -#### Good IDs - -An ID that can be guessed is an ID that can be hijacked. If you are not authenticating subscribers (as described below), a channel ID should be impossible to guess. Use at least 128 bits of entropy to generate a random token, associate it with the authenticated user, and share it only with the user's client. Do not reuse tokens, just as you would not reuse session IDs. - -#### X-Accel-Redirect - -This feature uses the [X-Accel feature](https://www.nginx.com/resources/wiki/start/topics/examples/x-accel) of Nginx upstream proxies to perform an internal request to a subscriber endpoint. -It allows a subscriber client to be authenticated by your application, and then redirected by nginx internally to a location chosen by your appplication (such as a publisher or subscriber endpoint). This makes it possible to have securely authenticated clients that are unaware of the channel id they are subscribed to. - -Consider the following configuration: -```nginx -upstream upstream_app { - server 127.0.0.1:8080; -} - -server { - listen 80; - - location = /sub_upstream { - proxy_pass http://upstream_app/subscriber_x_accel_redirect; - proxy_set_header X-Forwarded-For $remote_addr; - } - - location ~ /sub/internal/(\w+)$ { - internal; #this location only accessible for internal nginx redirects - nchan_subscriber; - nchan_channel_id $1; - nchan_channel_group test; - } -} -``` - -As commented, `/sub/internal/` is inaccessible from the outside: -```console -> curl -v http://127.0.0.1/sub/internal/foo - - < HTTP/1.1 404 Not Found - < Server: nginx/1.9.5 - < - - 404 Not Found - -

404 Not Found

-
nginx/1.9.5
- - -``` - -But if a request is made to `/sub_upstream`, it gets forwarded to your application (`my_app`) on port 8080 with the url `/subscriber_x_accel_redirect`. -Note that you can set any forwarded headers here like any [`proxy_pass`](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass) Nginx location, -but unlike the case with `nchan_authorize_request`, Nchan-specific variables are not available. - -Now, your application must be set up to handle the request to `/subscriber_x_accel_redirect`. You should make sure the client is properly authenticated (maybe using a session cookie), and generate an associated channel id. If authentication fails, respond with a normal `403 Forbidden` response. You can also pass extra information about the failure in the response body and headers. - -If your application successfully authenticates the subscriber request, you now need to instruct Nginx to issue an internal redirect to `/sub/internal/my_channel_id`. -This is accomplished by responding with an empty `200 OK` response that includes two headers: -- `X-Accel-Redirect: /sub/internal/my_channel_id` -- `X-Accel-Buffering: no` - -In the presence of these headers, Nginx will not forward your app's response to the client, and instead will *internally* redirect to `/sub/internal/my_channel_id`. -This will behave as if the client had requested the subscriber endpoint location directly. - -Thus using X-Accel-Redirect it is possible to both authenticate all subscribers *and* keep channel IDs completely hidden from subscribers. - -This method is especially useful for EventSource and Websocket subscribers. Long-Polling subscribers will need to be re-authenticated for every new message, which may flood your application with too many authentication requests. - -### Revoking Channel Authorization - -In some cases, you may want to revoke a particular subscriber's authorization for a given channel (e.g., if the user's permissions are changed). If the channel is unique to the subscriber, this is simply accomplished by deleting the channel. The same can be achieved for shared channels by subscribing each subscriber to both the shared channel and a subscriber-specific channel via a multiplexed connection. Deleting the subscriber-specific channel will terminate the subscriber''s connection, thereby also terminating their subscription to the shared channel. Consider the following configuration: - -```nginx -location ~ /sub/(\w+) { - nchan_subscriber; - nchan_channel_id shared_$1 user_$arg_userid; - nchan_authorize_request /authorize; -} - -location /pub/user { - nchan_publisher; - nchan_channel_id user_$arg_userid; -} -``` - -A request to `/sub/foo?userid=1234` will subscribe to channels "shared_foo" and "user_1234" via a multiplexed connection. If you later send a `DELETE` request to `/pub/user?userid=1234`, this subscriber will be disconnected and therefore unsubscribed from both "user_1234" and "shared_foo". - -## Variables - -Nchan makes several variables usabled in the config file: - -- `$nchan_channel_id` - The channel id extracted from a publisher or subscriber location request. For multiplexed locations, this is the first channel id in the list. - -- `$nchan_channel_id1`, `$nchan_channel_id2`, `$nchan_channel_id3`, `$nchan_channel_id4` - As above, but for the nth channel id in multiplexed channels. - -- `$nchan_subscriber_type` - For subscriber locations, this variable is set to the subscriber type (websocket, longpoll, etc.). - -- `$nchan_channel_subscriber_last_seen` - For publisher locations, this variable is set to the timestamp for the last connected subscriber. - -- `$nchan_channel_subscriber_count` - For publisher locations, this variable is set to the number of subscribers in the published channel. - -- `$nchan_channel_message_count` - For publisher locations, this variable is set to the number of messages buffered in the published channel. - -- `$nchan_publisher_type` - For publisher locations, this variable is set to the subscriber type (http or websocket). - -- `$nchan_prev_message_id`, `$nchan_message_id` - The current and previous (if applicable) message id for publisher request or subscriber response. - -- `$nchan_channel_event` - For channel events, this is the event name. Useful when configuring `nchan_channel_event_string`. - -- `$nchan_version` - Current Nchan version. Available since 1.1.5. - -Additionally, `nchan_stub_status` data is also exposed as variables. These are available only when `nchan_stub_status` is enabled on at least one location: - -- `$nchan_stub_status_total_published_messages` -- `$nchan_stub_status_stored_messages` -- `$nchan_stub_status_shared_memory_used` -- `$nchan_stub_status_channels` -- `$nchan_stub_status_subscribers` -- `$nchan_stub_status_redis_pending_commands` -- `$nchan_stub_status_redis_connected_servers` -- `$nchan_stub_status_total_ipc_alerts_received` -- `$nchan_stub_status_ipc_queued_alerts` -- `$nchan_stub_status_total_ipc_send_delay` -- `$nchan_stub_status_total_ipc_receive_delay` - - -## Configuration Directives - -- **nchan_channel_id** - arguments: 1 - 7 - default: `(none)` - context: server, location, if - > Channel id for a publisher or subscriber location. Can have up to 4 values to subscribe to up to 4 channels. - [more details](#the-channel-id) - -- **nchan_channel_id_split_delimiter** - arguments: 1 - default: `(none)` - context: server, location, if - > Split the channel id into several ids for multiplexing using the delimiter string provided. - [more details](#channel-multiplexing) - -- **nchan_deflate_message_for_websocket** `[ on | off ]` - arguments: 1 - default: `off` - context: server, location - > Store a compressed (deflated) copy of the message along with the original to be sent to websocket clients supporting the permessage-deflate protocol extension - -- **nchan_eventsource_event** - arguments: 1 - default: `(none)` - context: server, location, if - > Set the EventSource `event:` line to this value. When used in a publisher location, overrides the published message's `X-EventSource-Event` header and associates the message with the given value. When used in a subscriber location, overrides all messages' associated `event:` string with the given value. - -- **nchan_eventsource_ping_comment** - arguments: 1 - default: `(empty)` - context: server, location, if - > Set the EventSource comment `: ...` line for periodic pings from server to client. Newlines are not allowed. If empty, no comment is sent with the ping. - -- **nchan_eventsource_ping_data** - arguments: 1 - default: `(empty)` - context: server, location, if - > Set the EventSource `data:` line for periodic pings from server to client. Newlines are not allowed. If empty, no data is sent with the ping. - -- **nchan_eventsource_ping_event** - arguments: 1 - default: `ping` - context: server, location, if - > Set the EventSource `event:` line for periodic pings from server to client. Newlines are not allowed. If empty, no event type is sent with the ping. - -- **nchan_eventsource_ping_interval** ` (seconds)` - arguments: 1 - default: `0 (none)` - context: server, location, if - > Interval for sending ping messages to EventSource subscribers. Disabled by default. - -- **nchan_longpoll_multipart_response** `[ off | on | raw ]` - arguments: 1 - default: `off` - context: server, location, if - > when set to 'on', enable sending multiple messages in a single longpoll response, separated using the multipart/mixed content-type scheme. If there is only one available message in response to a long-poll request, it is sent unmodified. This is useful for high-latency long-polling connections as a way to minimize round-trips to the server. When set to 'raw', sends multiple messages using the http-raw-stream message separator. - -- **nchan_permessage_deflate_compression_level** `[ 0-9 ]` - arguments: 1 - default: `6` - context: http - > Compression level for the `deflate` algorithm used in websocket's permessage-deflate extension. 0: no compression, 1: fastest, worst, 9: slowest, best - -- **nchan_permessage_deflate_compression_memlevel** `[ 1-9 ]` - arguments: 1 - default: `8` - context: http - > Memory level for the `deflate` algorithm used in websocket's permessage-deflate extension. How much memory should be allocated for the internal compression state. 1 - minimum memory, slow and reduces compression ratio; 9 - maximum memory for optimal speed - -- **nchan_permessage_deflate_compression_strategy** `[ default | filtered | huffman-only | rle | fixed ]` - arguments: 1 - default: `default` - context: http - > Compression strategy for the `deflate` algorithm used in websocket's permessage-deflate extension. Use 'default' for normal data, For details see [zlib's section on copression strategies](http://zlib.net/manual.html#Advanced) - -- **nchan_permessage_deflate_compression_window** `[ 9-15 ]` - arguments: 1 - default: `10` - context: http - > Compression window for the `deflate` algorithm used in websocket's permessage-deflate extension. The base two logarithm of the window size (the size of the history buffer). The bigger the window, the better the compression, but the more memory used by the compressor. - -- **nchan_publisher** `[ http | websocket ]` - arguments: 0 - 2 - default: `http websocket` - context: server, location, if - legacy name: push_publisher - > Defines a server or location as a publisher endpoint. Requests to a publisher location are treated as messages to be sent to subscribers. See the protocol documentation for a detailed description. - [more details](#publisher-endpoints) - -- **nchan_publisher_channel_id** - arguments: 1 - 7 - default: `(none)` - context: server, location, if - > Channel id for publisher location. - -- **nchan_publisher_upstream_request** `` - arguments: 1 - context: server, location, if - > Send POST request to internal location (which may proxy to an upstream server) with published message in the request body. Useful for bridging websocket publishers with HTTP applications, or for transforming message via upstream application before publishing to a channel. - > The upstream response code determines how publishing will proceed. A `200 OK` will publish the message from the upstream response's body. A `304 Not Modified` will publish the message as it was received from the publisher. A `204 No Content` will result in the message not being published. - [more details](#message-forwarding) - -- **nchan_pubsub** `[ http | websocket | eventsource | longpoll | intervalpoll | chunked | multipart-mixed | http-raw-stream ]` - arguments: 0 - 6 - default: `http websocket eventsource longpoll chunked multipart-mixed` - context: server, location, if - > Defines a server or location as a pubsub endpoint. For long-polling, GETs subscribe. and POSTs publish. For Websockets, publishing data on a connection does not yield a channel metadata response. Without additional configuration, this turns a location into an echo server. - [more details](#pubsub-endpoint) - -- **nchan_subscribe_request** `` - arguments: 1 - context: server, location, if - > Send GET request to internal location (which may proxy to an upstream server) after subscribing. Disabled for longpoll and interval-polling subscribers. - [more details](#subscriber-presence) - -- **nchan_subscriber** `[ websocket | eventsource | longpoll | intervalpoll | chunked | multipart-mixed | http-raw-stream ]` - arguments: 0 - 5 - default: `websocket eventsource longpoll chunked multipart-mixed` - context: server, location, if - legacy name: push_subscriber - > Defines a server or location as a channel subscriber endpoint. This location represents a subscriber's interface to a channel's message queue. The queue is traversed automatically, starting at the position defined by the `nchan_subscriber_first_message` setting. - > The value is a list of permitted subscriber types. - [more details](#subscriber-endpoints) - -- **nchan_subscriber_channel_id** - arguments: 1 - 7 - default: `(none)` - context: server, location, if - > Channel id for subscriber location. Can have up to 4 values to subscribe to up to 4 channels. - -- **nchan_subscriber_compound_etag_message_id** - arguments: 1 - default: `off` - context: server, location, if - > Override the default behavior of using both `Last-Modified` and `Etag` headers for the message id. - > Enabling this option packs the entire message id into the `Etag` header, and discards - > `Last-Modified` and `If-Modified-Since` headers. - [more details]() - -- **nchan_subscriber_first_message** `[ oldest | newest | ]` - arguments: 1 - default: `oldest` - context: server, location, if - > Controls the first message received by a new subscriber. 'oldest' starts at the oldest available message in a channel's message queue, 'newest' waits until a message arrives. If a number `n` is specified, starts at `n`th message from the oldest. (`-n` starts at `n`th from now). 0 is equivalent to 'newest'. - -- **nchan_subscriber_http_raw_stream_separator** `` - arguments: 1 - default: `\n` - context: server, location, if - > Message separator string for the http-raw-stream subscriber. Automatically terminated with a newline character if not explicitly set to an empty string. - -- **nchan_subscriber_info** - arguments: 0 - context: location - > A subscriber location for debugging the state of subscribers on a given channel. The subscribers of the channel specified by `nchan_channel_id` evaluate `nchan_subscriber_info_string` and send it back to the requested on this location. This is useful to see where subscribers are in an Nchan cluster, as well as debugging subscriber connection issues. - -- **nchan_subscriber_info_string** - arguments: 1 - default: `$nchan_subscriber_type $remote_addr:$remote_port $http_user_agent $server_name $request_uri $pid` - context: server, location - > this string is evaluated by each subscriber on a given channel and sent to the requester of a `nchan_subscriber_info` location - -- **nchan_subscriber_last_message_id** - arguments: 1 - 5 - default: `$http_last_event_id $arg_last_event_id` - context: server, location, if - > If `If-Modified-Since` and `If-None-Match` headers are absent, set the message id to the first non-empty of these values. Used primarily as a workaround for the inability to set the first `Last-Message-Id` of a web browser's EventSource object. - -- **nchan_subscriber_message_id_custom_etag_header** - arguments: 1 - default: `(none)` - context: server, location, if - > Use a custom header instead of the Etag header for message ID in subscriber responses. This setting is a hack, useful when behind a caching proxy such as Cloudflare that under some conditions (like using gzip encoding) swallow the Etag header. - -- **nchan_subscriber_timeout** ` (seconds)` - arguments: 1 - default: `0 (none)` - context: http, server, location, if - legacy name: push_subscriber_timeout - > Maximum time a subscriber may wait for a message before being disconnected. If you don't want a subscriber's connection to timeout, set this to 0. When possible, the subscriber will get a response with a `408 Request Timeout` status; otherwise the subscriber will simply be disconnected. - -- **nchan_unsubscribe_request** `` - arguments: 1 - context: server, location, if - > Send GET request to internal location (which may proxy to an upstream server) after unsubscribing. Disabled for longpoll and interval-polling subscribers. - [more details](#subscriber-presence) - -- **nchan_websocket_client_heartbeat** ` ` - arguments: 2 - default: `none (disabled)` - context: server, location, if - > Most browser Websocket clients do not allow manually sending PINGs to the server. To overcome this limitation, this setting can be used to set up a PING/PONG message/response connection heartbeat. When the client sends the server message *heartbeat_in* (PING), the server automatically responds with *heartbeat_out* (PONG). - -- **nchan_websocket_ping_interval** ` (seconds)` - arguments: 1 - default: `0 (none)` - context: server, location, if - > Interval for sending websocket ping frames. Disabled by default. - -- **nchan_access_control_allow_credentials** - arguments: 1 - default: `on` - context: http, server, location, if - > When enabled, sets the [Cross-Origin Resource Sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS) `Access-Control-Allow-Credentials` header to `true`. - -- **nchan_access_control_allow_origin** `` - arguments: 1 - default: `$http_origin` - context: http, server, location, if - > Set the [Cross-Origin Resource Sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS) `Access-Control-Allow-Origin` header to this value. If the incoming request's `Origin` header does not match this value, respond with a `403 Forbidden`. Multiple origins can be provided in a single argument separated with a space. - -- **nchan_authorize_request** `` - arguments: 1 - context: server, location, if - > Send GET request to internal location (which may proxy to an upstream server) for authorization of a publisher or subscriber request. A 200 response authorizes the request, a 403 response forbids it. - [more details](#request-authorization) - -- **nchan_channel_group** `` - arguments: 1 - default: `(none)` - context: server, location, if - legacy name: push_channel_group - > The accounting and security group a channel belongs to. Works like a prefix string to the channel id. Can be set with nginx variables. - -- **nchan_channel_group_accounting** - arguments: 1 - default: `off` - context: server, location - > Enable tracking channel, subscriber, and message information on a per-channel-group basis. Can be used to place upper limits on channel groups. - -- **nchan_group_location** `[ get | set | delete | off ]` - arguments: 0 - 3 - default: `get set delete` - context: location - > Group information and configuration location. GET request for group info, POST to set limits, DELETE to delete all channels in group. - -- **nchan_group_max_channels** `` - arguments: 1 - default: `0 (unlimited)` - context: location - > Maximum number of channels allowed in the group. - -- **nchan_group_max_messages** `` - arguments: 1 - default: `0 (unlimited)` - context: location - > Maximum number of messages allowed for all the channels in the group. - -- **nchan_group_max_messages_disk** `` - arguments: 1 - default: `0 (unlimited)` - context: location - > Maximum amount of disk space allowed for the messages of all the channels in the group. - -- **nchan_group_max_messages_memory** `` - arguments: 1 - default: `0 (unlimited)` - context: location - > Maximum amount of shared memory allowed for the messages of all the channels in the group. - -- **nchan_group_max_subscribers** `` - arguments: 1 - default: `0 (unlimited)` - context: location - > Maximum number of subscribers allowed for the messages of all the channels in the group. - -- **nchan_max_channel_id_length** `` - arguments: 1 - default: `1024` - context: http, server, location - legacy name: push_max_channel_id_length - > Maximum permissible channel id length (number of characters). This settings applies to ids before they may be split by the `nchan_channel_id_split_delimiter` Requests with a channel id that is too long will receive a `403 Forbidden` response. - -- **nchan_max_channel_subscribers** `` - arguments: 1 - default: `0 (unlimited)` - context: http, server, location - legacy name: push_max_channel_subscribers - > Maximum concurrent subscribers to the channel on this Nchan server. Does not include subscribers on other Nchan instances when using a shared Redis server. - -- **nchan_subscribe_existing_channels_only** `[ on | off ]` - arguments: 1 - default: `off` - context: http, server, location - legacy name: push_authorized_channels_only - > Whether or not a subscriber may create a channel by sending a request to a subscriber location. If set to on, a publisher must send a POST or PUT request before a subscriber can request messages on the channel. Otherwise, all subscriber requests to nonexistent channels will get a 403 Forbidden response. - -- **nchan_message_buffer_length** `[ | ]` - arguments: 1 - default: `10` - context: http, server, location - legacy names: push_max_message_buffer_length, push_message_buffer_length - > Publisher configuration setting the maximum number of messages to store per channel. A channel's message buffer will retain a maximum of this many most recent messages. An Nginx variable can also be used to set the buffer length dynamically. - -- **nchan_message_temp_path** `` - arguments: 1 - default: `` - context: http - > Large messages are stored in temporary files in the `client_body_temp_path` or the `nchan_message_temp_path` if the former is unavailable. Default is the built-in default `client_body_temp_path` - -- **nchan_message_timeout** `[