passenger 4.0.59 → 4.0.60

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

Files changed (579) hide show
  1. checksums.yaml +8 -8
  2. checksums.yaml.gz.asc +7 -7
  3. data.tar.gz.asc +7 -7
  4. data/CHANGELOG +15 -0
  5. data/bin/passenger-install-apache2-module +2 -1
  6. data/bin/passenger-install-nginx-module +8 -2
  7. data/ext/apache2/Hooks.cpp +21 -2
  8. data/ext/apache2/MergeDirConfig.cpp +40 -40
  9. data/ext/common/ApplicationPool2/Group.h +14 -10
  10. data/ext/common/ApplicationPool2/Implementation.cpp +13 -7
  11. data/ext/common/ApplicationPool2/SmartSpawner.h +4 -1
  12. data/ext/common/Constants.h +1 -1
  13. data/ext/nginx/ContentHandler.c +17 -1
  14. data/lib/phusion_passenger.rb +4 -5
  15. data/lib/phusion_passenger/platform_info/depcheck_specs/libs.rb +4 -3
  16. data/lib/phusion_passenger/platform_info/openssl.rb +61 -0
  17. data/lib/phusion_passenger/standalone/runtime_installer.rb +27 -22
  18. data/packaging/debian/LICENSE.md +19 -0
  19. data/packaging/debian/README.md +320 -0
  20. data/packaging/debian/Vagrantfile +25 -0
  21. data/packaging/debian/build +210 -0
  22. data/packaging/debian/debian_specs/nginx/changelog +1989 -0
  23. data/packaging/debian/debian_specs/nginx/compat.erb +5 -0
  24. data/packaging/debian/debian_specs/nginx/conf/fastcgi.conf +25 -0
  25. data/packaging/debian/debian_specs/nginx/conf/fastcgi_params +24 -0
  26. data/packaging/debian/debian_specs/nginx/conf/koi-utf +109 -0
  27. data/packaging/debian/debian_specs/nginx/conf/koi-win +103 -0
  28. data/packaging/debian/debian_specs/nginx/conf/mime.types +89 -0
  29. data/packaging/debian/debian_specs/nginx/conf/nginx.conf.erb +97 -0
  30. data/packaging/debian/debian_specs/nginx/conf/proxy_params +4 -0
  31. data/packaging/debian/debian_specs/nginx/conf/scgi_params +16 -0
  32. data/packaging/debian/debian_specs/nginx/conf/sites-available/default.erb +93 -0
  33. data/packaging/debian/debian_specs/nginx/conf/snippets/fastcgi-php.conf +13 -0
  34. data/packaging/debian/debian_specs/nginx/conf/snippets/snakeoil.conf +5 -0
  35. data/packaging/debian/debian_specs/nginx/conf/uwsgi_params +16 -0
  36. data/packaging/debian/debian_specs/nginx/conf/win-utf +125 -0
  37. data/packaging/debian/debian_specs/nginx/control.erb +226 -0
  38. data/packaging/debian/debian_specs/nginx/copyright +196 -0
  39. data/packaging/debian/debian_specs/nginx/debian-full.lintian-overrides +1 -0
  40. data/packaging/debian/debian_specs/nginx/gbp.conf +2 -0
  41. data/packaging/debian/debian_specs/nginx/help/docs/fcgiwrap +14 -0
  42. data/packaging/debian/debian_specs/nginx/help/docs/php +119 -0
  43. data/packaging/debian/debian_specs/nginx/help/docs/support-irc +28 -0
  44. data/packaging/debian/debian_specs/nginx/help/docs/upstream +51 -0
  45. data/packaging/debian/debian_specs/nginx/help/examples/drupal +114 -0
  46. data/packaging/debian/debian_specs/nginx/help/examples/http +59 -0
  47. data/packaging/debian/debian_specs/nginx/help/examples/mail +30 -0
  48. data/packaging/debian/debian_specs/nginx/help/examples/mailman +59 -0
  49. data/packaging/debian/debian_specs/nginx/help/examples/nginx.conf +34 -0
  50. data/packaging/debian/debian_specs/nginx/help/examples/nginx_modsite +162 -0
  51. data/packaging/debian/debian_specs/nginx/help/examples/virtual_hosts +155 -0
  52. data/packaging/debian/debian_specs/nginx/help/examples/wordpress +74 -0
  53. data/packaging/debian/debian_specs/nginx/helpers.rb +41 -0
  54. data/packaging/debian/debian_specs/nginx/index-debian.html.in +32 -0
  55. data/packaging/debian/debian_specs/nginx/index-ubuntu.html.in +32 -0
  56. data/packaging/debian/debian_specs/nginx/index.html.erb +10 -0
  57. data/packaging/debian/debian_specs/nginx/modules/README.Modules-versions +65 -0
  58. data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/README.markdown +510 -0
  59. data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/config +5 -0
  60. data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/doc/HttpHeadersMoreModule.wiki +395 -0
  61. data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ddebug.h +119 -0
  62. data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_filter_module.c +348 -0
  63. data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_filter_module.h +80 -0
  64. data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_in.c +826 -0
  65. data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_in.h +26 -0
  66. data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_out.c +716 -0
  67. data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_out.h +26 -0
  68. data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_util.c +380 -0
  69. data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_util.h +52 -0
  70. data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/util/build.sh +32 -0
  71. data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/valgrind.suppress +215 -0
  72. data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/ChangeLog +35 -0
  73. data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/LICENSE +25 -0
  74. data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/README.md +93 -0
  75. data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/config +4 -0
  76. data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/ngx_http_auth_pam_module.c +462 -0
  77. data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/CHANGES +66 -0
  78. data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/LICENSE +26 -0
  79. data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/README.md +171 -0
  80. data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/TODO.md +7 -0
  81. data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/config +21 -0
  82. data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/ngx_cache_purge_module.c +1803 -0
  83. data/packaging/debian/debian_specs/nginx/modules/nginx-dav-ext-module/README +29 -0
  84. data/packaging/debian/debian_specs/nginx/modules/nginx-dav-ext-module/config +9 -0
  85. data/packaging/debian/debian_specs/nginx/modules/nginx-dav-ext-module/ngx_http_dav_ext_module.c +824 -0
  86. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/README +139 -0
  87. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/README_AUTO_LIB +395 -0
  88. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/TODO +1 -0
  89. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/actions/array +10 -0
  90. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/actions/palloc +8 -0
  91. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/build +597 -0
  92. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/action_replacements +5 -0
  93. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/action_types +12 -0
  94. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/conf_args +22 -0
  95. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/conf_locs +25 -0
  96. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/conf_macros +35 -0
  97. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/contexts +22 -0
  98. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/header_files +3 -0
  99. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/headers +4 -0
  100. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/module_dependencies +5 -0
  101. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/modules_optional +15 -0
  102. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/prefixes +2 -0
  103. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/array.h +7 -0
  104. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/conf_cmd_basic.h +43 -0
  105. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/conf_merge.h +78 -0
  106. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/palloc.h +6 -0
  107. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/text/autogen +12 -0
  108. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/config +49 -0
  109. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/core/action_macros +63 -0
  110. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/core/conf_cmds +62 -0
  111. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/modules/set_var +124 -0
  112. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/patches/more_logging_info +48 -0
  113. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/upstream/list +45 -0
  114. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/examples/README +12 -0
  115. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/examples/http/set_var/config +4 -0
  116. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/examples/http/set_var/ngx_http_set_var_examples_module.c +136 -0
  117. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/ngx_auto_lib_core +797 -0
  118. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/notes/CHANGES +17 -0
  119. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/notes/LICENSE +24 -0
  120. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_array.h +113 -0
  121. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_conf_cmd_basic.h +2203 -0
  122. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_conf_cmd_extra.h +5423 -0
  123. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_conf_merge.h +227 -0
  124. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_config.c +72 -0
  125. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_config.h +98 -0
  126. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_includes.h +66 -0
  127. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_palloc.h +112 -0
  128. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/patches/auto_config +16 -0
  129. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/patches/expose_rewrite_functions +291 -0
  130. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/patches/rewrite_phase_handler +19 -0
  131. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/hash/md5.h +117 -0
  132. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/hash/murmurhash2.c +77 -0
  133. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/hash/sha.h +200 -0
  134. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk.c +155 -0
  135. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk.h +58 -0
  136. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_buf.c +43 -0
  137. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_buf.h +5 -0
  138. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_path.c +129 -0
  139. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_path.h +30 -0
  140. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_value.c +192 -0
  141. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_value.h +21 -0
  142. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_conf_file.c +396 -0
  143. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_conf_file.h +44 -0
  144. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_debug.c +72 -0
  145. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_debug.h +171 -0
  146. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_encoding.c +57 -0
  147. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_encoding.h +12 -0
  148. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_hash.c +82 -0
  149. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_hash.h +45 -0
  150. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_http.c +138 -0
  151. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_http.h +3 -0
  152. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_http_headers.h +35 -0
  153. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_log.c +3 -0
  154. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_log.h +165 -0
  155. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_parse.h +67 -0
  156. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_path.c +583 -0
  157. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_path.h +22 -0
  158. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_process.c +20 -0
  159. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_process.h +12 -0
  160. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_regex.c +215 -0
  161. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_regex.h +7 -0
  162. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_rewrite.c +103 -0
  163. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_rewrite.h +26 -0
  164. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_set_var.c +602 -0
  165. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_set_var.h +44 -0
  166. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_string.c +434 -0
  167. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_string.h +37 -0
  168. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_string_util.h +14 -0
  169. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_upstream_list.c +205 -0
  170. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_upstream_list.h +27 -0
  171. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_uri.c +45 -0
  172. data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_uri.h +6 -0
  173. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/LICENSE +25 -0
  174. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/README.markdown +1850 -0
  175. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/config +5 -0
  176. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/doc/HttpEchoModule.wiki +1558 -0
  177. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ddebug.h +109 -0
  178. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_echo.c +344 -0
  179. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_echo.h +25 -0
  180. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_filter.c +282 -0
  181. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_filter.h +15 -0
  182. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_foreach.c +183 -0
  183. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_foreach.h +16 -0
  184. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_handler.c +429 -0
  185. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_handler.h +18 -0
  186. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_location.c +178 -0
  187. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_location.h +13 -0
  188. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_module.c +667 -0
  189. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_module.h +137 -0
  190. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_request_info.c +452 -0
  191. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_request_info.h +31 -0
  192. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_sleep.c +208 -0
  193. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_sleep.h +16 -0
  194. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_subrequest.c +788 -0
  195. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_subrequest.h +19 -0
  196. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_timer.c +96 -0
  197. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_timer.h +13 -0
  198. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_util.c +298 -0
  199. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_util.h +58 -0
  200. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_var.c +110 -0
  201. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_var.h +9 -0
  202. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/util/build.sh +45 -0
  203. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/util/releng +8 -0
  204. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/util/wiki2pod.pl +131 -0
  205. data/packaging/debian/debian_specs/nginx/modules/nginx-echo/valgrind.suppress +38 -0
  206. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/LICENCE +24 -0
  207. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/README +206 -0
  208. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/changelog.txt +54 -0
  209. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/config +26 -0
  210. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/protocol.txt +191 -0
  211. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_defs.c +59 -0
  212. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_defs.h +73 -0
  213. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_module.c +783 -0
  214. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_module.h +31 -0
  215. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_module_setup.c +361 -0
  216. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_types.h +120 -0
  217. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/memory/store.c +1180 -0
  218. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/memory/store.h +1 -0
  219. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_http_push_module_ipc.c +146 -0
  220. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_http_push_module_ipc.h +5 -0
  221. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_http_push_store.h +51 -0
  222. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_rwlock.c +178 -0
  223. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_rwlock.h +5 -0
  224. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/rbtree_util.c +246 -0
  225. data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/rbtree_util.h +9 -0
  226. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/Changes +51 -0
  227. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/README.markdown +6954 -0
  228. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/config +363 -0
  229. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/doc/HttpLuaModule.wiki +5898 -0
  230. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/dtrace/ngx_lua_provider.d +61 -0
  231. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/misc/recv-until-pm/Makefile +3 -0
  232. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/misc/recv-until-pm/lib/RecvUntil.pm +138 -0
  233. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/misc/recv-until-pm/t/sanity.t +140 -0
  234. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/api/ngx_http_lua_api.h +52 -0
  235. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ddebug.h +82 -0
  236. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_accessby.c +377 -0
  237. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_accessby.h +22 -0
  238. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_api.c +77 -0
  239. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_args.c +537 -0
  240. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_args.h +20 -0
  241. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_bodyfilterby.c +632 -0
  242. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_bodyfilterby.h +31 -0
  243. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_cache.c +296 -0
  244. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_cache.h +24 -0
  245. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_capturefilter.c +175 -0
  246. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_capturefilter.h +20 -0
  247. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_clfactory.c +887 -0
  248. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_clfactory.h +22 -0
  249. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_common.h +478 -0
  250. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_config.c +67 -0
  251. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_config.h +19 -0
  252. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_consts.c +148 -0
  253. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_consts.h +20 -0
  254. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_contentby.c +369 -0
  255. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_contentby.h +26 -0
  256. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_control.c +483 -0
  257. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_control.h +20 -0
  258. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_coroutine.c +379 -0
  259. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_coroutine.h +23 -0
  260. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ctx.c +216 -0
  261. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ctx.h +23 -0
  262. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_directive.c +1081 -0
  263. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_directive.h +56 -0
  264. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_exception.c +58 -0
  265. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_exception.h +33 -0
  266. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headerfilterby.c +302 -0
  267. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headerfilterby.h +29 -0
  268. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers.c +1370 -0
  269. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers.h +22 -0
  270. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_in.c +782 -0
  271. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_in.h +22 -0
  272. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_out.c +625 -0
  273. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_out.h +23 -0
  274. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initby.c +42 -0
  275. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initby.h +23 -0
  276. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initworkerby.c +320 -0
  277. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initworkerby.h +25 -0
  278. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_log.c +300 -0
  279. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_log.h +20 -0
  280. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_logby.c +227 -0
  281. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_logby.h +22 -0
  282. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_misc.c +252 -0
  283. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_misc.h +20 -0
  284. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_module.c +924 -0
  285. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ndk.c +184 -0
  286. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ndk.h +21 -0
  287. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_output.c +794 -0
  288. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_output.h +28 -0
  289. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_pcrefix.c +106 -0
  290. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_pcrefix.h +23 -0
  291. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_phase.c +94 -0
  292. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_phase.h +13 -0
  293. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_probe.h +85 -0
  294. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_regex.c +2468 -0
  295. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_regex.h +22 -0
  296. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_body.c +1169 -0
  297. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_body.h +20 -0
  298. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_method.c +252 -0
  299. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_method.h +19 -0
  300. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_rewriteby.c +351 -0
  301. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_rewriteby.h +22 -0
  302. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_script.c +538 -0
  303. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_script.h +86 -0
  304. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_setby.c +216 -0
  305. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_setby.h +15 -0
  306. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_shdict.c +1844 -0
  307. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_shdict.h +52 -0
  308. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_sleep.c +191 -0
  309. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_sleep.h +20 -0
  310. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_tcp.c +5314 -0
  311. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_tcp.h +156 -0
  312. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_udp.c +1624 -0
  313. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_udp.h +56 -0
  314. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_string.c +704 -0
  315. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_string.h +20 -0
  316. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_subrequest.c +1741 -0
  317. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_subrequest.h +46 -0
  318. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_time.c +278 -0
  319. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_time.h +21 -0
  320. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_timer.c +661 -0
  321. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_timer.h +20 -0
  322. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uri.c +110 -0
  323. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uri.h +20 -0
  324. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uthread.c +283 -0
  325. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uthread.h +36 -0
  326. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_util.c +3972 -0
  327. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_util.h +423 -0
  328. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_variable.c +499 -0
  329. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_variable.h +20 -0
  330. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_worker.c +64 -0
  331. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_worker.h +17 -0
  332. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/tapset/ngx_lua.stp +5 -0
  333. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/build.sh +39 -0
  334. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/build2.sh +55 -0
  335. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/fix-comments +27 -0
  336. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/gdbinit +415 -0
  337. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/ngx-links +62 -0
  338. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/reindex +64 -0
  339. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/releng +8 -0
  340. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/retab +8 -0
  341. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/revim +102 -0
  342. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/run_test.sh +10 -0
  343. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/update-readme.sh +4 -0
  344. data/packaging/debian/debian_specs/nginx/modules/nginx-lua/valgrind.suppress +144 -0
  345. data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/CHANGES +107 -0
  346. data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/LICENSE +25 -0
  347. data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/Makefile +8 -0
  348. data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/README +329 -0
  349. data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/config +3 -0
  350. data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/ngx_http_uploadprogress_module.c +1774 -0
  351. data/packaging/debian/debian_specs/nginx/modules/nginx-upstream-fair/README +53 -0
  352. data/packaging/debian/debian_specs/nginx/modules/nginx-upstream-fair/config +3 -0
  353. data/packaging/debian/debian_specs/nginx/modules/nginx-upstream-fair/ngx_http_upstream_fair_module.c +1356 -0
  354. data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/CHANGELOG.md +37 -0
  355. data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/HACKING.md +24 -0
  356. data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/LICENSE +20 -0
  357. data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/README.rst +182 -0
  358. data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/config +8 -0
  359. data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/nginx-0.6-support.patch +23 -0
  360. data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/ngx_http_fancyindex_module.c +1305 -0
  361. data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/template.awk +52 -0
  362. data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/template.h +103 -0
  363. data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/template.html +102 -0
  364. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/CHANGES +37 -0
  365. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/README +141 -0
  366. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/config +3 -0
  367. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/doc/README.google_code_home_page.wiki +120 -0
  368. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/doc/README.html +199 -0
  369. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/doc/README.wiki +123 -0
  370. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/ngx_http_subs_filter_module.c +1298 -0
  371. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/README +275 -0
  372. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/AutoInstall.pm +820 -0
  373. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install.pm +470 -0
  374. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/AutoInstall.pm +82 -0
  375. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Base.pm +83 -0
  376. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Can.pm +81 -0
  377. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Fetch.pm +93 -0
  378. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Include.pm +34 -0
  379. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Makefile.pm +415 -0
  380. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Metadata.pm +716 -0
  381. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/TestBase.pm +29 -0
  382. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Win32.pm +64 -0
  383. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/WriteAll.pm +63 -0
  384. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Spiffy.pm +539 -0
  385. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Base.pm +682 -0
  386. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Base/Filter.pm +341 -0
  387. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Builder.pm +1413 -0
  388. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Builder/Module.pm +81 -0
  389. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/More.pm +735 -0
  390. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx.pm +315 -0
  391. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx/LWP.pm +524 -0
  392. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx/Socket.pm +1749 -0
  393. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx/Util.pm +874 -0
  394. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs.t +136 -0
  395. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_capture.t +32 -0
  396. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_fix_string.t +32 -0
  397. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_regex.t +108 -0
  398. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_types.t +59 -0
  399. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/test.sh +5 -0
  400. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/util/update-readme.sh +7 -0
  401. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/util/wiki2google_code_homepage.pl +29 -0
  402. data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/util/wiki2pod.pl +129 -0
  403. data/packaging/debian/debian_specs/nginx/nginx-common.NEWS +135 -0
  404. data/packaging/debian/debian_specs/nginx/nginx-common.README.Debian +45 -0
  405. data/packaging/debian/debian_specs/nginx/nginx-common.dirs.erb +32 -0
  406. data/packaging/debian/debian_specs/nginx/nginx-common.install +3 -0
  407. data/packaging/debian/debian_specs/nginx/nginx-common.lintian-overrides +2 -0
  408. data/packaging/debian/debian_specs/nginx/nginx-common.manpages +1 -0
  409. data/packaging/debian/debian_specs/nginx/nginx-common.nginx.default +10 -0
  410. data/packaging/debian/debian_specs/nginx/nginx-common.nginx.init.erb +214 -0
  411. data/packaging/debian/debian_specs/nginx/nginx-common.nginx.logrotate +18 -0
  412. data/packaging/debian/debian_specs/nginx/nginx-common.nginx.service.erb +37 -0
  413. data/packaging/debian/debian_specs/nginx/nginx-common.postinst.erb +66 -0
  414. data/packaging/debian/debian_specs/nginx/nginx-common.postrm.erb +46 -0
  415. data/packaging/debian/debian_specs/nginx/nginx-common.preinst +47 -0
  416. data/packaging/debian/debian_specs/nginx/nginx-common.prerm.erb +28 -0
  417. data/packaging/debian/debian_specs/nginx/nginx-doc.docs +2 -0
  418. data/packaging/debian/debian_specs/nginx/nginx-doc.examples +1 -0
  419. data/packaging/debian/debian_specs/nginx/nginx-extras.install.erb +17 -0
  420. data/packaging/debian/debian_specs/nginx/nginx-extras.lintian-overrides +1 -0
  421. data/packaging/debian/debian_specs/nginx/nginx-extras.postinst.erb +44 -0
  422. data/packaging/debian/debian_specs/nginx/nginx-extras.prerm +22 -0
  423. data/packaging/debian/debian_specs/nginx/nginx.1 +47 -0
  424. data/packaging/debian/debian_specs/nginx/patches/perl-use-dpkg-buildflags.patch +23 -0
  425. data/packaging/debian/debian_specs/nginx/patches/series +1 -0
  426. data/packaging/debian/debian_specs/nginx/rules.erb +185 -0
  427. data/packaging/debian/debian_specs/nginx/source/format +1 -0
  428. data/packaging/debian/debian_specs/nginx/tests/control +4 -0
  429. data/packaging/debian/debian_specs/nginx/ufw/nginx +14 -0
  430. data/packaging/debian/debian_specs/nginx/upstream/signing-key.asc +34 -0
  431. data/packaging/debian/debian_specs/nginx/watch +3 -0
  432. data/packaging/debian/debian_specs/passenger/README.Debian +12 -0
  433. data/packaging/debian/debian_specs/passenger/changelog +316 -0
  434. data/packaging/debian/debian_specs/passenger/compat +1 -0
  435. data/packaging/debian/debian_specs/passenger/control.erb +123 -0
  436. data/packaging/debian/debian_specs/passenger/copyright +385 -0
  437. data/packaging/debian/debian_specs/passenger/helpers.rb +24 -0
  438. data/packaging/debian/debian_specs/passenger/libapache2-mod-passenger.install +3 -0
  439. data/packaging/debian/debian_specs/passenger/libapache2-mod-passenger.postinst +36 -0
  440. data/packaging/debian/debian_specs/passenger/libapache2-mod-passenger.prerm +15 -0
  441. data/packaging/debian/debian_specs/passenger/locations.ini.erb +14 -0
  442. data/packaging/debian/debian_specs/passenger/passenger-dev.install.erb +3 -0
  443. data/packaging/debian/debian_specs/passenger/passenger-doc.install.erb +2 -0
  444. data/packaging/debian/debian_specs/passenger/passenger.conf +6 -0
  445. data/packaging/debian/debian_specs/passenger/passenger.docs +4 -0
  446. data/packaging/debian/debian_specs/passenger/passenger.install.erb +16 -0
  447. data/packaging/debian/debian_specs/passenger/passenger.load +3 -0
  448. data/packaging/debian/debian_specs/passenger/passenger.manpages +3 -0
  449. data/packaging/debian/debian_specs/passenger/passenger_free_ruby.c +29 -0
  450. data/packaging/debian/debian_specs/passenger/passenger_ruby_utils.c +54 -0
  451. data/packaging/debian/debian_specs/passenger/passenger_system_ruby.c.erb +37 -0
  452. data/packaging/debian/debian_specs/passenger/patches/series +0 -0
  453. data/packaging/debian/debian_specs/passenger/rules.erb +84 -0
  454. data/packaging/debian/debian_specs/passenger/source/format +1 -0
  455. data/packaging/debian/debian_specs/passenger_enterprise/README.Debian +12 -0
  456. data/packaging/debian/debian_specs/passenger_enterprise/changelog +316 -0
  457. data/packaging/debian/debian_specs/passenger_enterprise/compat +1 -0
  458. data/packaging/debian/debian_specs/passenger_enterprise/control.erb +123 -0
  459. data/packaging/debian/debian_specs/passenger_enterprise/copyright +385 -0
  460. data/packaging/debian/debian_specs/passenger_enterprise/helpers.rb +2 -0
  461. data/packaging/debian/debian_specs/passenger_enterprise/libapache2-mod-passenger-enterprise.install +3 -0
  462. data/packaging/debian/debian_specs/passenger_enterprise/libapache2-mod-passenger-enterprise.postinst +36 -0
  463. data/packaging/debian/debian_specs/passenger_enterprise/libapache2-mod-passenger-enterprise.prerm +15 -0
  464. data/packaging/debian/debian_specs/passenger_enterprise/locations.ini.erb +14 -0
  465. data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise-dev.install.erb +3 -0
  466. data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise-doc.install.erb +2 -0
  467. data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise.docs +4 -0
  468. data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise.install.erb +14 -0
  469. data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise.manpages +3 -0
  470. data/packaging/debian/debian_specs/passenger_enterprise/passenger.conf +6 -0
  471. data/packaging/debian/debian_specs/passenger_enterprise/passenger.load +3 -0
  472. data/packaging/debian/debian_specs/passenger_enterprise/passenger_free_ruby.c.erb +1 -0
  473. data/packaging/debian/debian_specs/passenger_enterprise/passenger_ruby_utils.c.erb +1 -0
  474. data/packaging/debian/debian_specs/passenger_enterprise/passenger_system_ruby.c.erb +1 -0
  475. data/packaging/debian/debian_specs/passenger_enterprise/patches/series +0 -0
  476. data/packaging/debian/debian_specs/passenger_enterprise/rules.erb +84 -0
  477. data/packaging/debian/debian_specs/passenger_enterprise/source/format +1 -0
  478. data/packaging/debian/docker_images/Makefile +38 -0
  479. data/packaging/debian/docker_images/buildbox/CONTAINER_VERSION.txt +0 -0
  480. data/packaging/debian/docker_images/buildbox/Dockerfile +3 -0
  481. data/packaging/debian/docker_images/buildbox/Gemfile +9 -0
  482. data/packaging/debian/docker_images/buildbox/Gemfile.lock +42 -0
  483. data/packaging/debian/docker_images/buildbox/install.sh +85 -0
  484. data/packaging/debian/docker_images/buildbox/pbuilderrc +4 -0
  485. data/packaging/debian/docker_images/buildbox/sudoers.conf +6 -0
  486. data/packaging/debian/docker_images/setup-buildbox-docker-image +7 -0
  487. data/packaging/debian/docker_images/setup-testbox-docker-image-debian-6 +7 -0
  488. data/packaging/debian/docker_images/setup-testbox-docker-image-debian-7 +7 -0
  489. data/packaging/debian/docker_images/setup-testbox-docker-image-debian-8 +7 -0
  490. data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-12.04 +7 -0
  491. data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-14.04 +7 -0
  492. data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-15.04 +7 -0
  493. data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-15.10 +7 -0
  494. data/packaging/debian/docker_images/testbox-debian-6/Dockerfile +3 -0
  495. data/packaging/debian/docker_images/testbox-debian-6/Gemfile +2 -0
  496. data/packaging/debian/docker_images/testbox-debian-6/Gemfile.lock +23 -0
  497. data/packaging/debian/docker_images/testbox-debian-6/argparse.py +2374 -0
  498. data/packaging/debian/docker_images/testbox-debian-6/install.sh +78 -0
  499. data/packaging/debian/docker_images/testbox-debian-7/Dockerfile +3 -0
  500. data/packaging/debian/docker_images/testbox-debian-7/Gemfile +2 -0
  501. data/packaging/debian/docker_images/testbox-debian-7/Gemfile.lock +23 -0
  502. data/packaging/debian/docker_images/testbox-debian-7/install.sh +71 -0
  503. data/packaging/debian/docker_images/testbox-debian-8/Dockerfile +3 -0
  504. data/packaging/debian/docker_images/testbox-debian-8/Gemfile +2 -0
  505. data/packaging/debian/docker_images/testbox-debian-8/Gemfile.lock +23 -0
  506. data/packaging/debian/docker_images/testbox-debian-8/install.sh +70 -0
  507. data/packaging/debian/docker_images/testbox-ubuntu-12.04/Dockerfile +3 -0
  508. data/packaging/debian/docker_images/testbox-ubuntu-12.04/Gemfile +2 -0
  509. data/packaging/debian/docker_images/testbox-ubuntu-12.04/Gemfile.lock +23 -0
  510. data/packaging/debian/docker_images/testbox-ubuntu-12.04/install.sh +69 -0
  511. data/packaging/debian/docker_images/testbox-ubuntu-14.04/Dockerfile +3 -0
  512. data/packaging/debian/docker_images/testbox-ubuntu-14.04/Gemfile +2 -0
  513. data/packaging/debian/docker_images/testbox-ubuntu-14.04/Gemfile.lock +23 -0
  514. data/packaging/debian/docker_images/testbox-ubuntu-14.04/install.sh +69 -0
  515. data/packaging/debian/docker_images/testbox-ubuntu-15.04/Dockerfile +3 -0
  516. data/packaging/debian/docker_images/testbox-ubuntu-15.04/Gemfile +2 -0
  517. data/packaging/debian/docker_images/testbox-ubuntu-15.04/Gemfile.lock +23 -0
  518. data/packaging/debian/docker_images/testbox-ubuntu-15.04/install.sh +69 -0
  519. data/packaging/debian/docker_images/testbox-ubuntu-15.10/Dockerfile +3 -0
  520. data/packaging/debian/docker_images/testbox-ubuntu-15.10/Gemfile +2 -0
  521. data/packaging/debian/docker_images/testbox-ubuntu-15.10/Gemfile.lock +23 -0
  522. data/packaging/debian/docker_images/testbox-ubuntu-15.10/install.sh +69 -0
  523. data/packaging/debian/internal/build/Rakefile +235 -0
  524. data/packaging/debian/internal/build/build-passenger-orig-tarball.sh +76 -0
  525. data/packaging/debian/internal/build/build-source-package.rb +121 -0
  526. data/packaging/debian/internal/build/download-nginx-orig-tarball.sh +17 -0
  527. data/packaging/debian/internal/build/rakefile_support.rb +96 -0
  528. data/packaging/debian/internal/build/setup-environment-essentials.sh +15 -0
  529. data/packaging/debian/internal/build/setup-environment.sh +29 -0
  530. data/packaging/debian/internal/lib/distro_info.rb +82 -0
  531. data/packaging/debian/internal/lib/distro_info.sh +303 -0
  532. data/packaging/debian/internal/lib/distro_info.sh.erb +65 -0
  533. data/packaging/debian/internal/lib/library.sh +83 -0
  534. data/packaging/debian/internal/lib/preprocessor.rb +173 -0
  535. data/packaging/debian/internal/lib/tracking.rb +95 -0
  536. data/packaging/debian/internal/lib/tracking_category.rb +45 -0
  537. data/packaging/debian/internal/lib/tracking_database.rb +132 -0
  538. data/packaging/debian/internal/lib/tracking_task.rb +148 -0
  539. data/packaging/debian/internal/lib/utils.rb +78 -0
  540. data/packaging/debian/internal/publish/Rakefile +97 -0
  541. data/packaging/debian/internal/publish/oss-binaries.phusionpassenger.com-fingerprint.txt +1 -0
  542. data/packaging/debian/internal/publish/packagecloud_fingerprint.txt +1 -0
  543. data/packaging/debian/internal/publish/passenger_website_fingerprint.txt +1 -0
  544. data/packaging/debian/internal/publish/preinit.sh +7 -0
  545. data/packaging/debian/internal/publish/rakefile_support.rb +183 -0
  546. data/packaging/debian/internal/scripts/gpg_noninteractive/gpg +11 -0
  547. data/packaging/debian/internal/scripts/initccache.sh +35 -0
  548. data/packaging/debian/internal/scripts/inituidgid.sh +19 -0
  549. data/packaging/debian/internal/scripts/my_init +340 -0
  550. data/packaging/debian/internal/scripts/pin_certificates +34 -0
  551. data/packaging/debian/internal/scripts/regen_distro_info_script.sh +3 -0
  552. data/packaging/debian/internal/scripts/setup-vagrant.sh +12 -0
  553. data/packaging/debian/internal/scripts/setuser +31 -0
  554. data/packaging/debian/internal/shell/initpbuilder.sh +3 -0
  555. data/packaging/debian/internal/shell/preinit.sh +28 -0
  556. data/packaging/debian/internal/shell/sudoers.conf +1 -0
  557. data/packaging/debian/internal/test/apache/apache-24.conf +5 -0
  558. data/packaging/debian/internal/test/apache/apache-pre-24.conf +4 -0
  559. data/packaging/debian/internal/test/apache/vhost.conf +17 -0
  560. data/packaging/debian/internal/test/misc/config.json +15 -0
  561. data/packaging/debian/internal/test/misc/hosts.conf +4 -0
  562. data/packaging/debian/internal/test/misc/init.sh +25 -0
  563. data/packaging/debian/internal/test/misc/nodejs_test_app.js +6 -0
  564. data/packaging/debian/internal/test/misc/python_test_app.py +3 -0
  565. data/packaging/debian/internal/test/misc/ruby_test_app.rb +5 -0
  566. data/packaging/debian/internal/test/misc/test_support.rb +61 -0
  567. data/packaging/debian/internal/test/nginx/vhost.conf +23 -0
  568. data/packaging/debian/internal/test/system_web_server_test.rb +126 -0
  569. data/packaging/debian/internal/test/test.sh +141 -0
  570. data/packaging/debian/jenkins/publish/clear_caches.rb +48 -0
  571. data/packaging/debian/jenkins/publish/publish.sh +69 -0
  572. data/packaging/debian/jenkins/test/test.sh +63 -0
  573. data/packaging/debian/passenger_apt_automation.sublime-project +14 -0
  574. data/packaging/debian/publish +172 -0
  575. data/packaging/debian/shell +116 -0
  576. data/packaging/debian/test +142 -0
  577. metadata +563 -3
  578. metadata.gz.asc +7 -7
  579. data/resources/oss-binaries.phusionpassenger.com.crt +0 -208
@@ -0,0 +1,20 @@
1
+
2
+ /*
3
+ * Copyright (C) Xiaozhe Wang (chaoslawful)
4
+ * Copyright (C) Yichun Zhang (agentzh)
5
+ */
6
+
7
+
8
+ #ifndef _NGX_HTTP_LUA_MISC_H_INCLUDED_
9
+ #define _NGX_HTTP_LUA_MISC_H_INCLUDED_
10
+
11
+
12
+ #include "ngx_http_lua_common.h"
13
+
14
+
15
+ void ngx_http_lua_inject_misc_api(lua_State *L);
16
+
17
+
18
+ #endif /* _NGX_HTTP_LUA_MISC_H_INCLUDED_ */
19
+
20
+ /* vi:set ft=c ts=4 sw=4 et fdm=marker: */
@@ -0,0 +1,924 @@
1
+
2
+ /*
3
+ * Copyright (C) Xiaozhe Wang (chaoslawful)
4
+ * Copyright (C) Yichun Zhang (agentzh)
5
+ */
6
+
7
+
8
+ #ifndef DDEBUG
9
+ #define DDEBUG 0
10
+ #endif
11
+ #include "ddebug.h"
12
+
13
+
14
+ #include "ngx_http_lua_directive.h"
15
+ #include "ngx_http_lua_capturefilter.h"
16
+ #include "ngx_http_lua_contentby.h"
17
+ #include "ngx_http_lua_rewriteby.h"
18
+ #include "ngx_http_lua_accessby.h"
19
+ #include "ngx_http_lua_logby.h"
20
+ #include "ngx_http_lua_util.h"
21
+ #include "ngx_http_lua_headerfilterby.h"
22
+ #include "ngx_http_lua_bodyfilterby.h"
23
+ #include "ngx_http_lua_initby.h"
24
+ #include "ngx_http_lua_initworkerby.h"
25
+ #include "ngx_http_lua_probe.h"
26
+
27
+
28
+ #if !defined(nginx_version) || nginx_version < 8054
29
+ #error "at least nginx 0.8.54 is required"
30
+ #endif
31
+
32
+
33
+ static void *ngx_http_lua_create_main_conf(ngx_conf_t *cf);
34
+ static char *ngx_http_lua_init_main_conf(ngx_conf_t *cf, void *conf);
35
+ static void *ngx_http_lua_create_loc_conf(ngx_conf_t *cf);
36
+ static char *ngx_http_lua_merge_loc_conf(ngx_conf_t *cf, void *parent,
37
+ void *child);
38
+ static ngx_int_t ngx_http_lua_init(ngx_conf_t *cf);
39
+ static char *ngx_http_lua_lowat_check(ngx_conf_t *cf, void *post, void *data);
40
+ #if (NGX_HTTP_SSL)
41
+ static ngx_int_t ngx_http_lua_set_ssl(ngx_conf_t *cf,
42
+ ngx_http_lua_loc_conf_t *llcf);
43
+ #endif
44
+
45
+
46
+ static ngx_conf_post_t ngx_http_lua_lowat_post =
47
+ { ngx_http_lua_lowat_check };
48
+
49
+
50
+ static volatile ngx_cycle_t *ngx_http_lua_prev_cycle = NULL;
51
+
52
+
53
+ #if (NGX_HTTP_SSL) && defined(nginx_version) && nginx_version >= 1001013
54
+
55
+ static ngx_conf_bitmask_t ngx_http_lua_ssl_protocols[] = {
56
+ { ngx_string("SSLv2"), NGX_SSL_SSLv2 },
57
+ { ngx_string("SSLv3"), NGX_SSL_SSLv3 },
58
+ { ngx_string("TLSv1"), NGX_SSL_TLSv1 },
59
+ { ngx_string("TLSv1.1"), NGX_SSL_TLSv1_1 },
60
+ { ngx_string("TLSv1.2"), NGX_SSL_TLSv1_2 },
61
+ { ngx_null_string, 0 }
62
+ };
63
+
64
+ #endif
65
+
66
+
67
+ static ngx_command_t ngx_http_lua_cmds[] = {
68
+
69
+ { ngx_string("lua_max_running_timers"),
70
+ NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
71
+ ngx_conf_set_num_slot,
72
+ NGX_HTTP_MAIN_CONF_OFFSET,
73
+ offsetof(ngx_http_lua_main_conf_t, max_running_timers),
74
+ NULL },
75
+
76
+ { ngx_string("lua_max_pending_timers"),
77
+ NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
78
+ ngx_conf_set_num_slot,
79
+ NGX_HTTP_MAIN_CONF_OFFSET,
80
+ offsetof(ngx_http_lua_main_conf_t, max_pending_timers),
81
+ NULL },
82
+
83
+ { ngx_string("lua_shared_dict"),
84
+ NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE2,
85
+ ngx_http_lua_shared_dict,
86
+ 0,
87
+ 0,
88
+ NULL },
89
+
90
+ #if (NGX_PCRE)
91
+ { ngx_string("lua_regex_cache_max_entries"),
92
+ NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
93
+ ngx_conf_set_num_slot,
94
+ NGX_HTTP_MAIN_CONF_OFFSET,
95
+ offsetof(ngx_http_lua_main_conf_t, regex_cache_max_entries),
96
+ NULL },
97
+
98
+ { ngx_string("lua_regex_match_limit"),
99
+ NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
100
+ ngx_conf_set_num_slot,
101
+ NGX_HTTP_MAIN_CONF_OFFSET,
102
+ offsetof(ngx_http_lua_main_conf_t, regex_match_limit),
103
+ NULL },
104
+ #endif
105
+
106
+ { ngx_string("lua_package_cpath"),
107
+ NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
108
+ ngx_http_lua_package_cpath,
109
+ NGX_HTTP_MAIN_CONF_OFFSET,
110
+ 0,
111
+ NULL },
112
+
113
+ { ngx_string("lua_package_path"),
114
+ NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
115
+ ngx_http_lua_package_path,
116
+ NGX_HTTP_MAIN_CONF_OFFSET,
117
+ 0,
118
+ NULL },
119
+
120
+ { ngx_string("lua_code_cache"),
121
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
122
+ |NGX_CONF_FLAG,
123
+ ngx_http_lua_code_cache,
124
+ NGX_HTTP_LOC_CONF_OFFSET,
125
+ offsetof(ngx_http_lua_loc_conf_t, enable_code_cache),
126
+ NULL },
127
+
128
+ { ngx_string("lua_need_request_body"),
129
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
130
+ |NGX_CONF_FLAG,
131
+ ngx_conf_set_flag_slot,
132
+ NGX_HTTP_LOC_CONF_OFFSET,
133
+ offsetof(ngx_http_lua_loc_conf_t, force_read_body),
134
+ NULL },
135
+
136
+ { ngx_string("lua_transform_underscores_in_response_headers"),
137
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
138
+ |NGX_CONF_FLAG,
139
+ ngx_conf_set_flag_slot,
140
+ NGX_HTTP_LOC_CONF_OFFSET,
141
+ offsetof(ngx_http_lua_loc_conf_t, transform_underscores_in_resp_headers),
142
+ NULL },
143
+
144
+ { ngx_string("lua_socket_log_errors"),
145
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
146
+ |NGX_CONF_FLAG,
147
+ ngx_conf_set_flag_slot,
148
+ NGX_HTTP_LOC_CONF_OFFSET,
149
+ offsetof(ngx_http_lua_loc_conf_t, log_socket_errors),
150
+ NULL },
151
+
152
+ { ngx_string("init_by_lua"),
153
+ NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
154
+ ngx_http_lua_init_by_lua,
155
+ NGX_HTTP_MAIN_CONF_OFFSET,
156
+ 0,
157
+ (void *) ngx_http_lua_init_by_inline },
158
+
159
+ { ngx_string("init_by_lua_file"),
160
+ NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
161
+ ngx_http_lua_init_by_lua,
162
+ NGX_HTTP_MAIN_CONF_OFFSET,
163
+ 0,
164
+ (void *) ngx_http_lua_init_by_file },
165
+
166
+ { ngx_string("init_worker_by_lua"),
167
+ NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
168
+ ngx_http_lua_init_worker_by_lua,
169
+ NGX_HTTP_MAIN_CONF_OFFSET,
170
+ 0,
171
+ (void *) ngx_http_lua_init_worker_by_inline },
172
+
173
+ { ngx_string("init_worker_by_lua_file"),
174
+ NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
175
+ ngx_http_lua_init_worker_by_lua,
176
+ NGX_HTTP_MAIN_CONF_OFFSET,
177
+ 0,
178
+ (void *) ngx_http_lua_init_worker_by_file },
179
+
180
+ #if defined(NDK) && NDK
181
+ /* set_by_lua $res <inline script> [$arg1 [$arg2 [...]]] */
182
+ { ngx_string("set_by_lua"),
183
+ NGX_HTTP_SRV_CONF|NGX_HTTP_SIF_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
184
+ |NGX_CONF_2MORE,
185
+ ngx_http_lua_set_by_lua,
186
+ NGX_HTTP_LOC_CONF_OFFSET,
187
+ 0,
188
+ (void *) ngx_http_lua_filter_set_by_lua_inline },
189
+
190
+ /* set_by_lua_file $res rel/or/abs/path/to/script [$arg1 [$arg2 [..]]] */
191
+ { ngx_string("set_by_lua_file"),
192
+ NGX_HTTP_SRV_CONF|NGX_HTTP_SIF_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
193
+ |NGX_CONF_2MORE,
194
+ ngx_http_lua_set_by_lua_file,
195
+ NGX_HTTP_LOC_CONF_OFFSET,
196
+ 0,
197
+ (void *) ngx_http_lua_filter_set_by_lua_file },
198
+ #endif
199
+
200
+ /* rewrite_by_lua <inline script> */
201
+ { ngx_string("rewrite_by_lua"),
202
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
203
+ |NGX_CONF_TAKE1,
204
+ ngx_http_lua_rewrite_by_lua,
205
+ NGX_HTTP_LOC_CONF_OFFSET,
206
+ 0,
207
+ (void *) ngx_http_lua_rewrite_handler_inline },
208
+
209
+ /* access_by_lua <inline script> */
210
+ { ngx_string("access_by_lua"),
211
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
212
+ |NGX_CONF_TAKE1,
213
+ ngx_http_lua_access_by_lua,
214
+ NGX_HTTP_LOC_CONF_OFFSET,
215
+ 0,
216
+ (void *) ngx_http_lua_access_handler_inline },
217
+
218
+ /* content_by_lua <inline script> */
219
+ { ngx_string("content_by_lua"),
220
+ NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF|NGX_CONF_TAKE1,
221
+ ngx_http_lua_content_by_lua,
222
+ NGX_HTTP_LOC_CONF_OFFSET,
223
+ 0,
224
+ (void *) ngx_http_lua_content_handler_inline },
225
+
226
+ /* log_by_lua <inline script> */
227
+ { ngx_string("log_by_lua"),
228
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
229
+ |NGX_CONF_TAKE1,
230
+ ngx_http_lua_log_by_lua,
231
+ NGX_HTTP_LOC_CONF_OFFSET,
232
+ 0,
233
+ (void *) ngx_http_lua_log_handler_inline },
234
+
235
+ { ngx_string("rewrite_by_lua_file"),
236
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
237
+ |NGX_CONF_TAKE1,
238
+ ngx_http_lua_rewrite_by_lua,
239
+ NGX_HTTP_LOC_CONF_OFFSET,
240
+ 0,
241
+ (void *) ngx_http_lua_rewrite_handler_file },
242
+
243
+ { ngx_string("rewrite_by_lua_no_postpone"),
244
+ NGX_HTTP_MAIN_CONF|NGX_CONF_FLAG,
245
+ ngx_conf_set_flag_slot,
246
+ NGX_HTTP_MAIN_CONF_OFFSET,
247
+ offsetof(ngx_http_lua_main_conf_t, postponed_to_rewrite_phase_end),
248
+ NULL },
249
+
250
+ { ngx_string("access_by_lua_file"),
251
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
252
+ |NGX_CONF_TAKE1,
253
+ ngx_http_lua_access_by_lua,
254
+ NGX_HTTP_LOC_CONF_OFFSET,
255
+ 0,
256
+ (void *) ngx_http_lua_access_handler_file },
257
+
258
+ /* content_by_lua_file rel/or/abs/path/to/script */
259
+ { ngx_string("content_by_lua_file"),
260
+ NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF|NGX_CONF_TAKE1,
261
+ ngx_http_lua_content_by_lua,
262
+ NGX_HTTP_LOC_CONF_OFFSET,
263
+ 0,
264
+ (void *) ngx_http_lua_content_handler_file },
265
+
266
+ { ngx_string("log_by_lua_file"),
267
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
268
+ |NGX_CONF_TAKE1,
269
+ ngx_http_lua_log_by_lua,
270
+ NGX_HTTP_LOC_CONF_OFFSET,
271
+ 0,
272
+ (void *) ngx_http_lua_log_handler_file },
273
+
274
+ /* header_filter_by_lua <inline script> */
275
+ { ngx_string("header_filter_by_lua"),
276
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
277
+ |NGX_CONF_TAKE1,
278
+ ngx_http_lua_header_filter_by_lua,
279
+ NGX_HTTP_LOC_CONF_OFFSET,
280
+ 0,
281
+ (void *) ngx_http_lua_header_filter_inline },
282
+
283
+ { ngx_string("header_filter_by_lua_file"),
284
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
285
+ |NGX_CONF_TAKE1,
286
+ ngx_http_lua_header_filter_by_lua,
287
+ NGX_HTTP_LOC_CONF_OFFSET,
288
+ 0,
289
+ (void *) ngx_http_lua_header_filter_file },
290
+
291
+ { ngx_string("body_filter_by_lua"),
292
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
293
+ |NGX_CONF_TAKE1,
294
+ ngx_http_lua_body_filter_by_lua,
295
+ NGX_HTTP_LOC_CONF_OFFSET,
296
+ 0,
297
+ (void *) ngx_http_lua_body_filter_inline },
298
+
299
+ { ngx_string("body_filter_by_lua_file"),
300
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
301
+ |NGX_CONF_TAKE1,
302
+ ngx_http_lua_body_filter_by_lua,
303
+ NGX_HTTP_LOC_CONF_OFFSET,
304
+ 0,
305
+ (void *) ngx_http_lua_body_filter_file },
306
+
307
+ { ngx_string("lua_socket_keepalive_timeout"),
308
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF
309
+ |NGX_HTTP_LIF_CONF|NGX_CONF_TAKE1,
310
+ ngx_conf_set_msec_slot,
311
+ NGX_HTTP_LOC_CONF_OFFSET,
312
+ offsetof(ngx_http_lua_loc_conf_t, keepalive_timeout),
313
+ NULL },
314
+
315
+ { ngx_string("lua_socket_connect_timeout"),
316
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF
317
+ |NGX_HTTP_LIF_CONF|NGX_CONF_TAKE1,
318
+ ngx_conf_set_msec_slot,
319
+ NGX_HTTP_LOC_CONF_OFFSET,
320
+ offsetof(ngx_http_lua_loc_conf_t, connect_timeout),
321
+ NULL },
322
+
323
+ { ngx_string("lua_socket_send_timeout"),
324
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF
325
+ |NGX_HTTP_LIF_CONF|NGX_CONF_TAKE1,
326
+ ngx_conf_set_msec_slot,
327
+ NGX_HTTP_LOC_CONF_OFFSET,
328
+ offsetof(ngx_http_lua_loc_conf_t, send_timeout),
329
+ NULL },
330
+
331
+ { ngx_string("lua_socket_send_lowat"),
332
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF
333
+ |NGX_HTTP_LIF_CONF|NGX_CONF_TAKE1,
334
+ ngx_conf_set_size_slot,
335
+ NGX_HTTP_LOC_CONF_OFFSET,
336
+ offsetof(ngx_http_lua_loc_conf_t, send_lowat),
337
+ &ngx_http_lua_lowat_post },
338
+
339
+ { ngx_string("lua_socket_buffer_size"),
340
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF
341
+ |NGX_HTTP_LIF_CONF|NGX_CONF_TAKE1,
342
+ ngx_conf_set_size_slot,
343
+ NGX_HTTP_LOC_CONF_OFFSET,
344
+ offsetof(ngx_http_lua_loc_conf_t, buffer_size),
345
+ NULL },
346
+
347
+ { ngx_string("lua_socket_pool_size"),
348
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF
349
+ |NGX_HTTP_LIF_CONF|NGX_CONF_TAKE1,
350
+ ngx_conf_set_num_slot,
351
+ NGX_HTTP_LOC_CONF_OFFSET,
352
+ offsetof(ngx_http_lua_loc_conf_t, pool_size),
353
+ NULL },
354
+
355
+ { ngx_string("lua_socket_read_timeout"),
356
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF
357
+ |NGX_HTTP_LIF_CONF|NGX_CONF_TAKE1,
358
+ ngx_conf_set_msec_slot,
359
+ NGX_HTTP_LOC_CONF_OFFSET,
360
+ offsetof(ngx_http_lua_loc_conf_t, read_timeout),
361
+ NULL },
362
+
363
+ { ngx_string("lua_http10_buffering"),
364
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
365
+ |NGX_CONF_FLAG,
366
+ ngx_conf_set_flag_slot,
367
+ NGX_HTTP_LOC_CONF_OFFSET,
368
+ offsetof(ngx_http_lua_loc_conf_t, http10_buffering),
369
+ NULL },
370
+
371
+ { ngx_string("lua_check_client_abort"),
372
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
373
+ |NGX_CONF_FLAG,
374
+ ngx_conf_set_flag_slot,
375
+ NGX_HTTP_LOC_CONF_OFFSET,
376
+ offsetof(ngx_http_lua_loc_conf_t, check_client_abort),
377
+ NULL },
378
+
379
+ { ngx_string("lua_use_default_type"),
380
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
381
+ |NGX_CONF_FLAG,
382
+ ngx_conf_set_flag_slot,
383
+ NGX_HTTP_LOC_CONF_OFFSET,
384
+ offsetof(ngx_http_lua_loc_conf_t, use_default_type),
385
+ NULL },
386
+
387
+ #if (NGX_HTTP_SSL)
388
+
389
+ # if defined(nginx_version) && nginx_version >= 1001013
390
+
391
+ { ngx_string("lua_ssl_protocols"),
392
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE,
393
+ ngx_conf_set_bitmask_slot,
394
+ NGX_HTTP_LOC_CONF_OFFSET,
395
+ offsetof(ngx_http_lua_loc_conf_t, ssl_protocols),
396
+ &ngx_http_lua_ssl_protocols },
397
+
398
+ # endif
399
+
400
+ { ngx_string("lua_ssl_ciphers"),
401
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
402
+ ngx_conf_set_str_slot,
403
+ NGX_HTTP_LOC_CONF_OFFSET,
404
+ offsetof(ngx_http_lua_loc_conf_t, ssl_ciphers),
405
+ NULL },
406
+
407
+ { ngx_string("lua_ssl_verify_depth"),
408
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
409
+ ngx_conf_set_num_slot,
410
+ NGX_HTTP_LOC_CONF_OFFSET,
411
+ offsetof(ngx_http_lua_loc_conf_t, ssl_verify_depth),
412
+ NULL },
413
+
414
+ { ngx_string("lua_ssl_trusted_certificate"),
415
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
416
+ ngx_conf_set_str_slot,
417
+ NGX_HTTP_LOC_CONF_OFFSET,
418
+ offsetof(ngx_http_lua_loc_conf_t, ssl_trusted_certificate),
419
+ NULL },
420
+
421
+ { ngx_string("lua_ssl_crl"),
422
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
423
+ ngx_conf_set_str_slot,
424
+ NGX_HTTP_LOC_CONF_OFFSET,
425
+ offsetof(ngx_http_lua_loc_conf_t, ssl_crl),
426
+ NULL },
427
+
428
+ #endif /* NGX_HTTP_SSL */
429
+
430
+ ngx_null_command
431
+ };
432
+
433
+
434
+ ngx_http_module_t ngx_http_lua_module_ctx = {
435
+ NULL, /* preconfiguration */
436
+ ngx_http_lua_init, /* postconfiguration */
437
+
438
+ ngx_http_lua_create_main_conf, /* create main configuration */
439
+ ngx_http_lua_init_main_conf, /* init main configuration */
440
+
441
+ NULL, /* create server configuration */
442
+ NULL, /* merge server configuration */
443
+
444
+ ngx_http_lua_create_loc_conf, /* create location configuration */
445
+ ngx_http_lua_merge_loc_conf /* merge location configuration */
446
+ };
447
+
448
+
449
+ ngx_module_t ngx_http_lua_module = {
450
+ NGX_MODULE_V1,
451
+ &ngx_http_lua_module_ctx, /* module context */
452
+ ngx_http_lua_cmds, /* module directives */
453
+ NGX_HTTP_MODULE, /* module type */
454
+ NULL, /* init master */
455
+ NULL, /* init module */
456
+ ngx_http_lua_init_worker, /* init process */
457
+ NULL, /* init thread */
458
+ NULL, /* exit thread */
459
+ NULL, /* exit process */
460
+ NULL, /* exit master */
461
+ NGX_MODULE_V1_PADDING
462
+ };
463
+
464
+
465
+ static ngx_int_t
466
+ ngx_http_lua_init(ngx_conf_t *cf)
467
+ {
468
+ int multi_http_blocks;
469
+ ngx_int_t rc;
470
+ ngx_array_t *arr;
471
+ ngx_http_handler_pt *h;
472
+ ngx_http_core_main_conf_t *cmcf;
473
+ ngx_http_lua_main_conf_t *lmcf;
474
+
475
+ lmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_lua_module);
476
+
477
+ if (ngx_http_lua_prev_cycle != ngx_cycle) {
478
+ ngx_http_lua_prev_cycle = ngx_cycle;
479
+ multi_http_blocks = 0;
480
+
481
+ } else {
482
+ multi_http_blocks = 1;
483
+ }
484
+
485
+ if (multi_http_blocks || lmcf->requires_capture_filter) {
486
+ rc = ngx_http_lua_capture_filter_init(cf);
487
+ if (rc != NGX_OK) {
488
+ return rc;
489
+ }
490
+ }
491
+
492
+ if (lmcf->postponed_to_rewrite_phase_end == NGX_CONF_UNSET) {
493
+ lmcf->postponed_to_rewrite_phase_end = 0;
494
+ }
495
+
496
+ cmcf = ngx_http_conf_get_module_main_conf(cf, ngx_http_core_module);
497
+
498
+ if (lmcf->requires_rewrite) {
499
+ h = ngx_array_push(&cmcf->phases[NGX_HTTP_REWRITE_PHASE].handlers);
500
+ if (h == NULL) {
501
+ return NGX_ERROR;
502
+ }
503
+
504
+ *h = ngx_http_lua_rewrite_handler;
505
+ }
506
+
507
+ if (lmcf->requires_access) {
508
+ h = ngx_array_push(&cmcf->phases[NGX_HTTP_ACCESS_PHASE].handlers);
509
+ if (h == NULL) {
510
+ return NGX_ERROR;
511
+ }
512
+
513
+ *h = ngx_http_lua_access_handler;
514
+ }
515
+
516
+ dd("requires log: %d", (int) lmcf->requires_log);
517
+
518
+ if (lmcf->requires_log) {
519
+ arr = &cmcf->phases[NGX_HTTP_LOG_PHASE].handlers;
520
+ h = ngx_array_push(arr);
521
+ if (h == NULL) {
522
+ return NGX_ERROR;
523
+ }
524
+
525
+ if (arr->nelts > 1) {
526
+ h = arr->elts;
527
+ ngx_memmove(&h[1], h,
528
+ (arr->nelts - 1) * sizeof(ngx_http_handler_pt));
529
+ }
530
+
531
+ *h = ngx_http_lua_log_handler;
532
+ }
533
+
534
+ if (multi_http_blocks || lmcf->requires_header_filter) {
535
+ rc = ngx_http_lua_header_filter_init();
536
+ if (rc != NGX_OK) {
537
+ return rc;
538
+ }
539
+ }
540
+
541
+ if (multi_http_blocks || lmcf->requires_body_filter) {
542
+ rc = ngx_http_lua_body_filter_init();
543
+ if (rc != NGX_OK) {
544
+ return rc;
545
+ }
546
+ }
547
+
548
+ if (lmcf->lua == NULL) {
549
+ dd("initializing lua vm");
550
+
551
+ ngx_http_lua_content_length_hash =
552
+ ngx_http_lua_hash_literal("content-length");
553
+ ngx_http_lua_location_hash = ngx_http_lua_hash_literal("location");
554
+
555
+ lmcf->lua = ngx_http_lua_init_vm(NULL, cf->cycle, cf->pool, lmcf,
556
+ cf->log, NULL);
557
+ if (lmcf->lua == NULL) {
558
+ ngx_conf_log_error(NGX_LOG_ERR, cf, 0,
559
+ "failed to initialize Lua VM");
560
+ return NGX_ERROR;
561
+ }
562
+
563
+ if (!lmcf->requires_shm && lmcf->init_handler) {
564
+ if (lmcf->init_handler(cf->log, lmcf, lmcf->lua) != NGX_OK) {
565
+ /* an error happened */
566
+ return NGX_ERROR;
567
+ }
568
+ }
569
+
570
+ dd("Lua VM initialized!");
571
+ }
572
+
573
+ return NGX_OK;
574
+ }
575
+
576
+
577
+ static char *
578
+ ngx_http_lua_lowat_check(ngx_conf_t *cf, void *post, void *data)
579
+ {
580
+ #if (NGX_FREEBSD)
581
+ ssize_t *np = data;
582
+
583
+ if ((u_long) *np >= ngx_freebsd_net_inet_tcp_sendspace) {
584
+ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
585
+ "\"fastcgi_send_lowat\" must be less than %d "
586
+ "(sysctl net.inet.tcp.sendspace)",
587
+ ngx_freebsd_net_inet_tcp_sendspace);
588
+
589
+ return NGX_CONF_ERROR;
590
+ }
591
+
592
+ #elif !(NGX_HAVE_SO_SNDLOWAT)
593
+ ssize_t *np = data;
594
+
595
+ ngx_conf_log_error(NGX_LOG_WARN, cf, 0,
596
+ "\"fastcgi_send_lowat\" is not supported, ignored");
597
+
598
+ *np = 0;
599
+
600
+ #endif
601
+
602
+ return NGX_CONF_OK;
603
+ }
604
+
605
+
606
+ static void *
607
+ ngx_http_lua_create_main_conf(ngx_conf_t *cf)
608
+ {
609
+ ngx_http_lua_main_conf_t *lmcf;
610
+
611
+ lmcf = ngx_pcalloc(cf->pool, sizeof(ngx_http_lua_main_conf_t));
612
+ if (lmcf == NULL) {
613
+ return NULL;
614
+ }
615
+
616
+ /* set by ngx_pcalloc:
617
+ * lmcf->lua = NULL;
618
+ * lmcf->lua_path = { 0, NULL };
619
+ * lmcf->lua_cpath = { 0, NULL };
620
+ * lmcf->pending_timers = 0;
621
+ * lmcf->running_timers = 0;
622
+ * lmcf->watcher = NULL;
623
+ * lmcf->regex_cache_entries = 0;
624
+ * lmcf->shm_zones = NULL;
625
+ * lmcf->init_handler = NULL;
626
+ * lmcf->init_src = { 0, NULL };
627
+ * lmcf->shm_zones_inited = 0;
628
+ * lmcf->preload_hooks = NULL;
629
+ * lmcf->requires_header_filter = 0;
630
+ * lmcf->requires_body_filter = 0;
631
+ * lmcf->requires_capture_filter = 0;
632
+ * lmcf->requires_rewrite = 0;
633
+ * lmcf->requires_access = 0;
634
+ * lmcf->requires_log = 0;
635
+ * lmcf->requires_shm = 0;
636
+ */
637
+
638
+ lmcf->pool = cf->pool;
639
+ lmcf->max_pending_timers = NGX_CONF_UNSET;
640
+ lmcf->max_running_timers = NGX_CONF_UNSET;
641
+ #if (NGX_PCRE)
642
+ lmcf->regex_cache_max_entries = NGX_CONF_UNSET;
643
+ lmcf->regex_match_limit = NGX_CONF_UNSET;
644
+ #endif
645
+ lmcf->postponed_to_rewrite_phase_end = NGX_CONF_UNSET;
646
+
647
+ dd("nginx Lua module main config structure initialized!");
648
+
649
+ return lmcf;
650
+ }
651
+
652
+
653
+ static char *
654
+ ngx_http_lua_init_main_conf(ngx_conf_t *cf, void *conf)
655
+ {
656
+ ngx_http_lua_main_conf_t *lmcf = conf;
657
+
658
+ #if (NGX_PCRE)
659
+ if (lmcf->regex_cache_max_entries == NGX_CONF_UNSET) {
660
+ lmcf->regex_cache_max_entries = 1024;
661
+ }
662
+
663
+ if (lmcf->regex_match_limit == NGX_CONF_UNSET) {
664
+ lmcf->regex_match_limit = 0;
665
+ }
666
+ #endif
667
+
668
+ if (lmcf->max_pending_timers == NGX_CONF_UNSET) {
669
+ lmcf->max_pending_timers = 1024;
670
+ }
671
+
672
+ if (lmcf->max_running_timers == NGX_CONF_UNSET) {
673
+ lmcf->max_running_timers = 256;
674
+ }
675
+
676
+ lmcf->cycle = cf->cycle;
677
+
678
+ return NGX_CONF_OK;
679
+ }
680
+
681
+
682
+ static void *
683
+ ngx_http_lua_create_loc_conf(ngx_conf_t *cf)
684
+ {
685
+ ngx_http_lua_loc_conf_t *conf;
686
+
687
+ conf = ngx_pcalloc(cf->pool, sizeof(ngx_http_lua_loc_conf_t));
688
+ if (conf == NULL) {
689
+ return NULL;
690
+ }
691
+
692
+ /* set by ngx_pcalloc:
693
+ * conf->access_src = {{ 0, NULL }, NULL, NULL, NULL};
694
+ * conf->access_src_key = NULL
695
+ * conf->rewrite_src = {{ 0, NULL }, NULL, NULL, NULL};
696
+ * conf->rewrite_src_key = NULL
697
+ * conf->rewrite_handler = NULL;
698
+ *
699
+ * conf->content_src = {{ 0, NULL }, NULL, NULL, NULL};
700
+ * conf->content_src_key = NULL
701
+ * conf->content_handler = NULL;
702
+ *
703
+ * conf->log_src = {{ 0, NULL }, NULL, NULL, NULL};
704
+ * conf->log_src_key = NULL
705
+ * conf->log_handler = NULL;
706
+ *
707
+ * conf->header_filter_src = {{ 0, NULL }, NULL, NULL, NULL};
708
+ * conf->header_filter_src_key = NULL
709
+ * conf->header_filter_handler = NULL;
710
+ *
711
+ * conf->body_filter_src = {{ 0, NULL }, NULL, NULL, NULL};
712
+ * conf->body_filter_src_key = NULL
713
+ * conf->body_filter_handler = NULL;
714
+ *
715
+ * conf->ssl = 0;
716
+ * conf->ssl_protocols = 0;
717
+ * conf->ssl_ciphers = { 0, NULL };
718
+ * conf->ssl_trusted_certificate = { 0, NULL };
719
+ * conf->ssl_crl = { 0, NULL };
720
+ */
721
+
722
+ conf->force_read_body = NGX_CONF_UNSET;
723
+ conf->enable_code_cache = NGX_CONF_UNSET;
724
+ conf->http10_buffering = NGX_CONF_UNSET;
725
+ conf->check_client_abort = NGX_CONF_UNSET;
726
+ conf->use_default_type = NGX_CONF_UNSET;
727
+
728
+ conf->keepalive_timeout = NGX_CONF_UNSET_MSEC;
729
+ conf->connect_timeout = NGX_CONF_UNSET_MSEC;
730
+ conf->send_timeout = NGX_CONF_UNSET_MSEC;
731
+ conf->read_timeout = NGX_CONF_UNSET_MSEC;
732
+ conf->send_lowat = NGX_CONF_UNSET_SIZE;
733
+ conf->buffer_size = NGX_CONF_UNSET_SIZE;
734
+ conf->pool_size = NGX_CONF_UNSET_UINT;
735
+
736
+ conf->transform_underscores_in_resp_headers = NGX_CONF_UNSET;
737
+ conf->log_socket_errors = NGX_CONF_UNSET;
738
+
739
+ #if (NGX_HTTP_SSL)
740
+ conf->ssl_verify_depth = NGX_CONF_UNSET_UINT;
741
+ #endif
742
+
743
+ return conf;
744
+ }
745
+
746
+
747
+ static char *
748
+ ngx_http_lua_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
749
+ {
750
+ ngx_http_lua_loc_conf_t *prev = parent;
751
+ ngx_http_lua_loc_conf_t *conf = child;
752
+
753
+ if (conf->rewrite_src.value.len == 0) {
754
+ conf->rewrite_src = prev->rewrite_src;
755
+ conf->rewrite_handler = prev->rewrite_handler;
756
+ conf->rewrite_src_key = prev->rewrite_src_key;
757
+ conf->rewrite_chunkname = prev->rewrite_chunkname;
758
+ }
759
+
760
+ if (conf->access_src.value.len == 0) {
761
+ conf->access_src = prev->access_src;
762
+ conf->access_handler = prev->access_handler;
763
+ conf->access_src_key = prev->access_src_key;
764
+ conf->access_chunkname = prev->access_chunkname;
765
+ }
766
+
767
+ if (conf->content_src.value.len == 0) {
768
+ conf->content_src = prev->content_src;
769
+ conf->content_handler = prev->content_handler;
770
+ conf->content_src_key = prev->content_src_key;
771
+ conf->content_chunkname = prev->content_chunkname;
772
+ }
773
+
774
+ if (conf->log_src.value.len == 0) {
775
+ conf->log_src = prev->log_src;
776
+ conf->log_handler = prev->log_handler;
777
+ conf->log_src_key = prev->log_src_key;
778
+ conf->log_chunkname = prev->log_chunkname;
779
+ }
780
+
781
+ if (conf->header_filter_src.value.len == 0) {
782
+ conf->header_filter_src = prev->header_filter_src;
783
+ conf->header_filter_handler = prev->header_filter_handler;
784
+ conf->header_filter_src_key = prev->header_filter_src_key;
785
+ }
786
+
787
+ if (conf->body_filter_src.value.len == 0) {
788
+ conf->body_filter_src = prev->body_filter_src;
789
+ conf->body_filter_handler = prev->body_filter_handler;
790
+ conf->body_filter_src_key = prev->body_filter_src_key;
791
+ }
792
+
793
+ #if (NGX_HTTP_SSL)
794
+
795
+ # if defined(nginx_version) && nginx_version >= 1001013
796
+
797
+ ngx_conf_merge_bitmask_value(conf->ssl_protocols, prev->ssl_protocols,
798
+ (NGX_CONF_BITMASK_SET|NGX_SSL_SSLv3
799
+ |NGX_SSL_TLSv1|NGX_SSL_TLSv1_1
800
+ |NGX_SSL_TLSv1_2));
801
+
802
+ # endif
803
+
804
+ ngx_conf_merge_str_value(conf->ssl_ciphers, prev->ssl_ciphers,
805
+ "DEFAULT");
806
+
807
+ ngx_conf_merge_uint_value(conf->ssl_verify_depth,
808
+ prev->ssl_verify_depth, 1);
809
+ ngx_conf_merge_str_value(conf->ssl_trusted_certificate,
810
+ prev->ssl_trusted_certificate, "");
811
+ ngx_conf_merge_str_value(conf->ssl_crl, prev->ssl_crl, "");
812
+
813
+ if (ngx_http_lua_set_ssl(cf, conf) != NGX_OK) {
814
+ return NGX_CONF_ERROR;
815
+ }
816
+
817
+ #endif
818
+
819
+ ngx_conf_merge_value(conf->force_read_body, prev->force_read_body, 0);
820
+ ngx_conf_merge_value(conf->enable_code_cache, prev->enable_code_cache, 1);
821
+ ngx_conf_merge_value(conf->http10_buffering, prev->http10_buffering, 1);
822
+ ngx_conf_merge_value(conf->check_client_abort, prev->check_client_abort, 0);
823
+ ngx_conf_merge_value(conf->use_default_type, prev->use_default_type, 1);
824
+
825
+ ngx_conf_merge_msec_value(conf->keepalive_timeout,
826
+ prev->keepalive_timeout, 60000);
827
+
828
+ ngx_conf_merge_msec_value(conf->connect_timeout,
829
+ prev->connect_timeout, 60000);
830
+
831
+ ngx_conf_merge_msec_value(conf->send_timeout,
832
+ prev->send_timeout, 60000);
833
+
834
+ ngx_conf_merge_msec_value(conf->read_timeout,
835
+ prev->read_timeout, 60000);
836
+
837
+ ngx_conf_merge_size_value(conf->send_lowat,
838
+ prev->send_lowat, 0);
839
+
840
+ ngx_conf_merge_size_value(conf->buffer_size,
841
+ prev->buffer_size,
842
+ (size_t) ngx_pagesize);
843
+
844
+ ngx_conf_merge_uint_value(conf->pool_size, prev->pool_size, 30);
845
+
846
+ ngx_conf_merge_value(conf->transform_underscores_in_resp_headers,
847
+ prev->transform_underscores_in_resp_headers, 1);
848
+
849
+ ngx_conf_merge_value(conf->log_socket_errors, prev->log_socket_errors, 1);
850
+
851
+ return NGX_CONF_OK;
852
+ }
853
+
854
+
855
+ #if (NGX_HTTP_SSL)
856
+
857
+ static ngx_int_t
858
+ ngx_http_lua_set_ssl(ngx_conf_t *cf, ngx_http_lua_loc_conf_t *llcf)
859
+ {
860
+ ngx_pool_cleanup_t *cln;
861
+
862
+ llcf->ssl = ngx_pcalloc(cf->pool, sizeof(ngx_ssl_t));
863
+ if (llcf->ssl == NULL) {
864
+ return NGX_ERROR;
865
+ }
866
+
867
+ llcf->ssl->log = cf->log;
868
+
869
+ if (ngx_ssl_create(llcf->ssl, llcf->ssl_protocols, NULL) != NGX_OK) {
870
+ return NGX_ERROR;
871
+ }
872
+
873
+ cln = ngx_pool_cleanup_add(cf->pool, 0);
874
+ if (cln == NULL) {
875
+ return NGX_ERROR;
876
+ }
877
+
878
+ cln->handler = ngx_ssl_cleanup_ctx;
879
+ cln->data = llcf->ssl;
880
+
881
+ if (SSL_CTX_set_cipher_list(llcf->ssl->ctx,
882
+ (const char *) llcf->ssl_ciphers.data)
883
+ == 0)
884
+ {
885
+ ngx_ssl_error(NGX_LOG_EMERG, cf->log, 0,
886
+ "SSL_CTX_set_cipher_list(\"%V\") failed",
887
+ &llcf->ssl_ciphers);
888
+ return NGX_ERROR;
889
+ }
890
+
891
+ if (llcf->ssl_trusted_certificate.len) {
892
+
893
+ #if defined(nginx_version) && nginx_version >= 1003007
894
+
895
+ if (ngx_ssl_trusted_certificate(cf, llcf->ssl,
896
+ &llcf->ssl_trusted_certificate,
897
+ llcf->ssl_verify_depth)
898
+ != NGX_OK)
899
+ {
900
+ return NGX_ERROR;
901
+ }
902
+
903
+ #else
904
+
905
+ ngx_log_error(NGX_LOG_CRIT, cf->log, 0, "at least nginx 1.3.7 is "
906
+ "required for the \"lua_ssl_trusted_certificate\" "
907
+ "directive");
908
+ return NGX_ERROR;
909
+
910
+ #endif
911
+ }
912
+
913
+ dd("ssl crl: %.*s", (int) llcf->ssl_crl.len, llcf->ssl_crl.data);
914
+
915
+ if (ngx_ssl_crl(cf, llcf->ssl, &llcf->ssl_crl) != NGX_OK) {
916
+ return NGX_ERROR;
917
+ }
918
+
919
+ return NGX_OK;
920
+ }
921
+
922
+ #endif /* NGX_HTTP_SSL */
923
+
924
+ /* vi:set ft=c ts=4 sw=4 et fdm=marker: */