passenger 5.0.4 → 5.0.5

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 (550) hide show
  1. checksums.yaml +8 -8
  2. checksums.yaml.gz.asc +7 -7
  3. data.tar.gz.asc +7 -7
  4. data/.editorconfig +10 -0
  5. data/CHANGELOG +21 -0
  6. data/build/agents.rb +2 -2
  7. data/build/apache2.rb +6 -5
  8. data/build/common_library.rb +22 -7
  9. data/build/cxx_tests.rb +0 -3
  10. data/build/misc.rb +1 -1
  11. data/dev/parse_file_descriptor_log +119 -0
  12. data/doc/CloudLicensingConfiguration.html +387 -0
  13. data/doc/Design and Architecture.html +2430 -0
  14. data/doc/Packaging.html +488 -0
  15. data/doc/Security of user switching support.html +1833 -0
  16. data/doc/ServerOptimizationGuide.html +659 -0
  17. data/doc/ServerOptimizationGuide.txt.md +8 -0
  18. data/doc/Users guide Apache.html +9116 -0
  19. data/doc/Users guide Apache.idmap.txt +6 -2
  20. data/doc/Users guide Apache.txt +26 -7
  21. data/doc/Users guide Nginx.html +9025 -0
  22. data/doc/Users guide Nginx.idmap.txt +7 -3
  23. data/doc/Users guide Nginx.txt +29 -6
  24. data/doc/Users guide Standalone.html +3983 -0
  25. data/doc/Users guide.html +1748 -0
  26. data/doc/users_guide_snippets/installation.txt +4 -4
  27. data/ext/apache2/Configuration.cpp +16 -5
  28. data/ext/apache2/Configuration.hpp +4 -2
  29. data/ext/apache2/Hooks.cpp +44 -19
  30. data/ext/boost/libs/thread/src/pthread/once.cpp +2 -0
  31. data/ext/boost/libs/thread/src/pthread/once_atomic.cpp +6 -0
  32. data/ext/common/AgentsStarter.h +3 -2
  33. data/ext/common/ApplicationPool2/DirectSpawner.h +14 -4
  34. data/ext/common/ApplicationPool2/DummySpawner.h +12 -7
  35. data/ext/common/ApplicationPool2/Implementation.cpp +1 -1
  36. data/ext/common/ApplicationPool2/Process.h +2 -1
  37. data/ext/common/ApplicationPool2/Session.h +6 -6
  38. data/ext/common/ApplicationPool2/SmartSpawner.h +19 -4
  39. data/ext/common/ApplicationPool2/Socket.h +59 -27
  40. data/ext/common/ApplicationPool2/Spawner.h +2 -2
  41. data/ext/common/BackgroundEventLoop.cpp +6 -1
  42. data/ext/common/Constants.h +1 -1
  43. data/ext/common/EventedClient.h +1 -1
  44. data/ext/common/EventedServer.h +2 -2
  45. data/ext/common/FileDescriptor.h +25 -6
  46. data/ext/common/Logging.cpp +107 -52
  47. data/ext/common/Logging.h +146 -19
  48. data/ext/common/MessageClient.h +2 -2
  49. data/ext/common/MessageServer.h +3 -2
  50. data/ext/common/RandomGenerator.h +8 -7
  51. data/ext/common/SafeLibev.h +5 -1
  52. data/ext/common/ServerKit/AcceptLoadBalancer.h +9 -4
  53. data/ext/common/ServerKit/FdSinkChannel.h +5 -2
  54. data/ext/common/ServerKit/FdSourceChannel.h +5 -2
  55. data/ext/common/ServerKit/FileBufferedChannel.h +2 -0
  56. data/ext/common/ServerKit/FileBufferedFdSinkChannel.h +7 -2
  57. data/ext/common/ServerKit/HttpServer.h +6 -0
  58. data/ext/common/ServerKit/Server.h +40 -3
  59. data/ext/common/StaticString.h +20 -0
  60. data/ext/common/UnionStation/Connection.h +3 -1
  61. data/ext/common/UnionStation/Core.h +6 -4
  62. data/ext/common/Utils.cpp +4 -3
  63. data/ext/common/Utils/DateParsing.h +19 -5
  64. data/ext/common/Utils/FastStringStream.h +183 -0
  65. data/ext/common/Utils/IOUtils.cpp +47 -28
  66. data/ext/common/Utils/IOUtils.h +56 -12
  67. data/ext/common/Utils/MessagePassing.h +3 -3
  68. data/ext/common/Utils/ProcessMetricsCollector.h +2 -2
  69. data/ext/common/Utils/ScopeGuard.h +16 -5
  70. data/ext/common/Utils/SpeedMeter.h +2 -2
  71. data/ext/common/Utils/StrIntUtils.cpp +6 -6
  72. data/ext/common/Utils/StrIntUtils.h +2 -1
  73. data/ext/common/agents/Base.cpp +56 -4
  74. data/ext/common/agents/Base.h +2 -1
  75. data/ext/common/agents/HelperAgent/AdminServer.h +122 -11
  76. data/ext/common/agents/HelperAgent/Main.cpp +16 -5
  77. data/ext/common/agents/HelperAgent/OptionParser.h +7 -1
  78. data/ext/common/agents/HelperAgent/RequestHandler.h +1 -1
  79. data/ext/common/agents/HelperAgent/RequestHandler/Hooks.cpp +10 -1
  80. data/ext/common/agents/HelperAgent/RequestHandler/Request.h +8 -0
  81. data/ext/common/agents/HelperAgent/RequestHandler/TurboCaching.h +4 -3
  82. data/ext/common/agents/LoggingAgent/AdminServer.h +57 -11
  83. data/ext/common/agents/LoggingAgent/LoggingServer.h +3 -3
  84. data/ext/common/agents/LoggingAgent/Main.cpp +11 -3
  85. data/ext/common/agents/Watchdog/AdminServer.h +53 -11
  86. data/ext/common/agents/Watchdog/AgentWatcher.cpp +3 -3
  87. data/ext/common/agents/Watchdog/Main.cpp +13 -6
  88. data/ext/libeio/ecb.h +1 -1
  89. data/ext/libev/ev.c +13 -1
  90. data/ext/libev/ev.h +3 -0
  91. data/ext/nginx/Configuration.c +28 -6
  92. data/ext/nginx/Configuration.h +2 -1
  93. data/ext/nginx/ngx_http_passenger_module.c +5 -4
  94. data/ext/oxt/dynamic_thread_group.hpp +38 -5
  95. data/lib/phusion_passenger.rb +1 -1
  96. data/lib/phusion_passenger/common_library.rb +9 -5
  97. data/lib/phusion_passenger/config/reopen_logs_command.rb +2 -2
  98. data/lib/phusion_passenger/packaging.rb +23 -37
  99. data/passenger.gemspec +21 -21
  100. metadata +4 -453
  101. metadata.gz.asc +7 -7
  102. data/.gitignore +0 -68
  103. data/.travis.yml +0 -16
  104. data/Gemfile +0 -17
  105. data/Gemfile.lock +0 -39
  106. data/Vagrantfile +0 -54
  107. data/debian.template/README.Debian +0 -15
  108. data/debian.template/changelog +0 -316
  109. data/debian.template/compat +0 -1
  110. data/debian.template/control.erb +0 -91
  111. data/debian.template/copyright +0 -385
  112. data/debian.template/libapache2-mod-passenger.install +0 -3
  113. data/debian.template/libapache2-mod-passenger.postinst +0 -36
  114. data/debian.template/libapache2-mod-passenger.prerm +0 -15
  115. data/debian.template/locations.ini.erb +0 -14
  116. data/debian.template/passenger-dev.install.erb +0 -3
  117. data/debian.template/passenger-doc.install.erb +0 -2
  118. data/debian.template/passenger.conf +0 -6
  119. data/debian.template/passenger.docs +0 -4
  120. data/debian.template/passenger.install.erb +0 -14
  121. data/debian.template/passenger.load +0 -3
  122. data/debian.template/passenger.manpages +0 -3
  123. data/debian.template/patches/series +0 -0
  124. data/debian.template/rules.erb +0 -76
  125. data/debian.template/source/format +0 -1
  126. data/ext/common/EventedBufferedInput.h +0 -458
  127. data/packaging/rpm/LICENSE.txt +0 -19
  128. data/packaging/rpm/Makefile +0 -13
  129. data/packaging/rpm/README.md +0 -41
  130. data/packaging/rpm/Vagrantfile +0 -38
  131. data/packaging/rpm/Vagrantfile.centos +0 -30
  132. data/packaging/rpm/build +0 -170
  133. data/packaging/rpm/create_project +0 -41
  134. data/packaging/rpm/git_update +0 -88
  135. data/packaging/rpm/image/Dockerfile +0 -37
  136. data/packaging/rpm/image/Gemfile +0 -3
  137. data/packaging/rpm/image/Gemfile.lock +0 -12
  138. data/packaging/rpm/image/RPM-GPG-KEY-amazon-ga +0 -19
  139. data/packaging/rpm/image/amazon2014-i386.cfg +0 -96
  140. data/packaging/rpm/image/amazon2014-x86_64.cfg +0 -96
  141. data/packaging/rpm/image/site-defaults.cfg +0 -168
  142. data/packaging/rpm/internal/build_tasks.rb +0 -238
  143. data/packaging/rpm/internal/dummygpg +0 -11
  144. data/packaging/rpm/internal/exec_build +0 -42
  145. data/packaging/rpm/internal/get_distro_arch +0 -14
  146. data/packaging/rpm/internal/get_distro_id +0 -10
  147. data/packaging/rpm/internal/git_update +0 -27
  148. data/packaging/rpm/internal/inituidgid +0 -17
  149. data/packaging/rpm/internal/my_init +0 -344
  150. data/packaging/rpm/internal/python27 +0 -3
  151. data/packaging/rpm/internal/repo_update +0 -46
  152. data/packaging/rpm/internal/setuser +0 -26
  153. data/packaging/rpm/internal/tracking_helper +0 -40
  154. data/packaging/rpm/jenkins_release +0 -99
  155. data/packaging/rpm/lib/build_tasks_support.rb +0 -402
  156. data/packaging/rpm/lib/preprocessor.rb +0 -341
  157. data/packaging/rpm/nginx_spec/404.html +0 -119
  158. data/packaging/rpm/nginx_spec/50x.html +0 -119
  159. data/packaging/rpm/nginx_spec/index.html +0 -116
  160. data/packaging/rpm/nginx_spec/nginx-auto-cc-gcc.patch +0 -13
  161. data/packaging/rpm/nginx_spec/nginx-logo.png +0 -0
  162. data/packaging/rpm/nginx_spec/nginx-upgrade +0 -13
  163. data/packaging/rpm/nginx_spec/nginx-upgrade.8 +0 -151
  164. data/packaging/rpm/nginx_spec/nginx.conf +0 -131
  165. data/packaging/rpm/nginx_spec/nginx.init +0 -144
  166. data/packaging/rpm/nginx_spec/nginx.logrotate +0 -13
  167. data/packaging/rpm/nginx_spec/nginx.service +0 -15
  168. data/packaging/rpm/nginx_spec/nginx.spec.template +0 -560
  169. data/packaging/rpm/nginx_spec/nginx.sysconfig +0 -4
  170. data/packaging/rpm/nginx_spec/passenger.conf +0 -9
  171. data/packaging/rpm/nginx_spec/poweredby.png +0 -0
  172. data/packaging/rpm/passenger_spec/apache-passenger.conf.in +0 -26
  173. data/packaging/rpm/passenger_spec/config.json +0 -30
  174. data/packaging/rpm/passenger_spec/passenger.logrotate +0 -7
  175. data/packaging/rpm/passenger_spec/passenger.spec.template +0 -478
  176. data/packaging/rpm/passenger_spec/passenger_dynamic_thread_group.patch +0 -16
  177. data/packaging/rpm/passenger_spec/passenger_tests_default_config_example.patch +0 -44
  178. data/packaging/rpm/passenger_spec/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch +0 -21
  179. data/packaging/rpm/repo_update +0 -114
  180. data/packaging/rpm/setup-system +0 -61
  181. data/packaging/rpm/shell +0 -10
  182. data/test/.rspec +0 -4
  183. data/test/config.json.example +0 -42
  184. data/test/config.json.rpm-automation +0 -15
  185. data/test/config.json.travis +0 -15
  186. data/test/config.json.vagrant +0 -30
  187. data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +0 -124
  188. data/test/cxx/ApplicationPool2/OptionsTest.cpp +0 -30
  189. data/test/cxx/ApplicationPool2/PoolTest.cpp +0 -2062
  190. data/test/cxx/ApplicationPool2/ProcessTest.cpp +0 -130
  191. data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +0 -243
  192. data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +0 -823
  193. data/test/cxx/BufferedIOTest.cpp +0 -364
  194. data/test/cxx/CachedFileStatTest.cpp +0 -402
  195. data/test/cxx/CxxTestMain.cpp +0 -181
  196. data/test/cxx/DataStructures/LStringTest.cpp +0 -275
  197. data/test/cxx/DataStructures/StringKeyTableTest.cpp +0 -199
  198. data/test/cxx/DateParsingTest.cpp +0 -75
  199. data/test/cxx/DechunkerTest.cpp +0 -250
  200. data/test/cxx/EventedBufferedInputTest.cpp +0 -758
  201. data/test/cxx/EventedClientTest.cpp +0 -523
  202. data/test/cxx/FileChangeCheckerTest.cpp +0 -331
  203. data/test/cxx/FileDescriptorTest.cpp +0 -69
  204. data/test/cxx/FilterSupportTest.cpp +0 -433
  205. data/test/cxx/IOUtilsTest.cpp +0 -861
  206. data/test/cxx/MemoryKit/MbufTest.cpp +0 -213
  207. data/test/cxx/MessageIOTest.cpp +0 -360
  208. data/test/cxx/MessagePassingTest.cpp +0 -81
  209. data/test/cxx/MessageReadersWritersTest.cpp +0 -576
  210. data/test/cxx/MessageServerTest.cpp +0 -393
  211. data/test/cxx/ProcessMetricsCollectorTest.cpp +0 -123
  212. data/test/cxx/RequestHandlerTest.cpp +0 -1463
  213. data/test/cxx/ResponseCacheTest.cpp +0 -322
  214. data/test/cxx/ServerKit/ChannelTest.cpp +0 -1467
  215. data/test/cxx/ServerKit/CookieUtilsTest.cpp +0 -274
  216. data/test/cxx/ServerKit/FileBufferedChannelTest.cpp +0 -992
  217. data/test/cxx/ServerKit/HeaderTableTest.cpp +0 -177
  218. data/test/cxx/ServerKit/HttpServerTest.cpp +0 -1580
  219. data/test/cxx/ServerKit/ServerTest.cpp +0 -408
  220. data/test/cxx/StaticStringTest.cpp +0 -220
  221. data/test/cxx/StringMapTest.cpp +0 -131
  222. data/test/cxx/SystemTimeTest.cpp +0 -37
  223. data/test/cxx/TemplateTest.cpp +0 -118
  224. data/test/cxx/TestSupport.cpp +0 -207
  225. data/test/cxx/TestSupport.h +0 -333
  226. data/test/cxx/UnionStationTest.cpp +0 -741
  227. data/test/cxx/Utils/StrIntUtilsTest.cpp +0 -39
  228. data/test/cxx/UtilsTest.cpp +0 -672
  229. data/test/cxx/VariantMapTest.cpp +0 -191
  230. data/test/gdbinit.example +0 -34
  231. data/test/integration_tests/apache2_tests.rb +0 -585
  232. data/test/integration_tests/downloaded_binaries_tests.rb +0 -185
  233. data/test/integration_tests/native_packaging_spec.rb +0 -368
  234. data/test/integration_tests/nginx_tests.rb +0 -402
  235. data/test/integration_tests/shared/example_webapp_tests.rb +0 -289
  236. data/test/integration_tests/source_packaging_test.rb +0 -201
  237. data/test/integration_tests/spec_helper.rb +0 -22
  238. data/test/integration_tests/standalone_tests.rb +0 -392
  239. data/test/node/line_reader_spec.js +0 -338
  240. data/test/node/spec_helper.js +0 -65
  241. data/test/oxt/backtrace_test.cpp +0 -88
  242. data/test/oxt/counter.hpp +0 -55
  243. data/test/oxt/dynamic_thread_group_test.cpp +0 -131
  244. data/test/oxt/oxt_test_main.cpp +0 -27
  245. data/test/oxt/spin_lock_test.cpp +0 -59
  246. data/test/oxt/syscall_interruption_test.cpp +0 -39
  247. data/test/ruby/debug_logging_spec.rb +0 -145
  248. data/test/ruby/message_channel_spec.rb +0 -196
  249. data/test/ruby/rack/loader_spec.rb +0 -42
  250. data/test/ruby/rack/preloader_spec.rb +0 -48
  251. data/test/ruby/rails3.0/loader_spec.rb +0 -26
  252. data/test/ruby/rails3.0/preloader_spec.rb +0 -32
  253. data/test/ruby/rails3.1/loader_spec.rb +0 -26
  254. data/test/ruby/rails3.1/preloader_spec.rb +0 -32
  255. data/test/ruby/rails3.2/loader_spec.rb +0 -26
  256. data/test/ruby/rails3.2/preloader_spec.rb +0 -32
  257. data/test/ruby/rails4.0/loader_spec.rb +0 -28
  258. data/test/ruby/rails4.0/preloader_spec.rb +0 -34
  259. data/test/ruby/rails4.1/loader_spec.rb +0 -28
  260. data/test/ruby/rails4.1/preloader_spec.rb +0 -34
  261. data/test/ruby/request_handler_spec.rb +0 -747
  262. data/test/ruby/shared/loader_sharedspec.rb +0 -247
  263. data/test/ruby/shared/rails/union_station_extensions_sharedspec.rb +0 -357
  264. data/test/ruby/shared/ruby_loader_sharedspec.rb +0 -55
  265. data/test/ruby/spec_helper.rb +0 -114
  266. data/test/ruby/standalone/runtime_installer_spec.rb +0 -402
  267. data/test/ruby/union_station_spec.rb +0 -288
  268. data/test/ruby/utils/file_system_watcher_spec.rb +0 -229
  269. data/test/ruby/utils/hosts_file_parser.rb +0 -258
  270. data/test/ruby/utils/tee_input_spec.rb +0 -235
  271. data/test/ruby/utils/unseekable_socket_spec.rb +0 -66
  272. data/test/ruby/utils_spec.rb +0 -41
  273. data/test/stub/apache2/httpd.conf.erb +0 -122
  274. data/test/stub/apache2/mime.types +0 -748
  275. data/test/stub/garbage1.dat +0 -0
  276. data/test/stub/garbage2.dat +0 -0
  277. data/test/stub/garbage3.dat +0 -0
  278. data/test/stub/http_request.yml +0 -23
  279. data/test/stub/index.html +0 -1
  280. data/test/stub/nginx/koi-utf +0 -109
  281. data/test/stub/nginx/koi-win +0 -103
  282. data/test/stub/nginx/mime.types +0 -70
  283. data/test/stub/nginx/nginx.conf.erb +0 -70
  284. data/test/stub/nginx/win-utf +0 -126
  285. data/test/stub/node/app.js +0 -133
  286. data/test/stub/node/public/.gitignore +0 -0
  287. data/test/stub/node/tmp/.gitignore +0 -0
  288. data/test/stub/rack/config.ru +0 -95
  289. data/test/stub/rack/library.rb +0 -16
  290. data/test/stub/rack/public/.gitignore +0 -0
  291. data/test/stub/rack/start.rb +0 -52
  292. data/test/stub/rack/tmp/.gitignore +0 -0
  293. data/test/stub/rails3.0/.gitignore +0 -4
  294. data/test/stub/rails3.0/Gemfile +0 -22
  295. data/test/stub/rails3.0/Gemfile.lock +0 -80
  296. data/test/stub/rails3.0/Rakefile +0 -10
  297. data/test/stub/rails3.0/app/controllers/application_controller.rb +0 -4
  298. data/test/stub/rails3.0/app/helpers/application_helper.rb +0 -2
  299. data/test/stub/rails3.0/app/views/layouts/application.html.erb +0 -14
  300. data/test/stub/rails3.0/config.ru +0 -4
  301. data/test/stub/rails3.0/config/application.rb +0 -48
  302. data/test/stub/rails3.0/config/boot.rb +0 -13
  303. data/test/stub/rails3.0/config/database.yml +0 -22
  304. data/test/stub/rails3.0/config/environment.rb +0 -5
  305. data/test/stub/rails3.0/config/environments/development.rb +0 -19
  306. data/test/stub/rails3.0/config/environments/production.rb +0 -48
  307. data/test/stub/rails3.0/config/environments/test.rb +0 -32
  308. data/test/stub/rails3.0/config/initializers/backtrace_silencers.rb +0 -7
  309. data/test/stub/rails3.0/config/initializers/inflections.rb +0 -10
  310. data/test/stub/rails3.0/config/initializers/mime_types.rb +0 -5
  311. data/test/stub/rails3.0/config/initializers/passenger.rb +0 -2
  312. data/test/stub/rails3.0/config/initializers/secret_token.rb +0 -7
  313. data/test/stub/rails3.0/config/initializers/session_store.rb +0 -8
  314. data/test/stub/rails3.0/config/locales/en.yml +0 -5
  315. data/test/stub/rails3.0/config/routes.rb +0 -58
  316. data/test/stub/rails3.0/db/seeds.rb +0 -7
  317. data/test/stub/rails3.0/doc/README_FOR_APP +0 -2
  318. data/test/stub/rails3.0/lib/tasks/.gitkeep +0 -0
  319. data/test/stub/rails3.0/log/.gitignore +0 -0
  320. data/test/stub/rails3.0/public/404.html +0 -26
  321. data/test/stub/rails3.0/public/422.html +0 -26
  322. data/test/stub/rails3.0/public/500.html +0 -26
  323. data/test/stub/rails3.0/public/favicon.ico +0 -0
  324. data/test/stub/rails3.0/public/index.html +0 -279
  325. data/test/stub/rails3.0/public/robots.txt +0 -5
  326. data/test/stub/rails3.0/public/stylesheets/.gitkeep +0 -0
  327. data/test/stub/rails3.0/script/rails +0 -9
  328. data/test/stub/rails3.0/test/performance/browsing_test.rb +0 -9
  329. data/test/stub/rails3.0/test/test_helper.rb +0 -13
  330. data/test/stub/rails3.0/vendor/plugins/.gitkeep +0 -0
  331. data/test/stub/rails3.1/.gitignore +0 -15
  332. data/test/stub/rails3.1/Gemfile +0 -37
  333. data/test/stub/rails3.1/Gemfile.lock +0 -115
  334. data/test/stub/rails3.1/README +0 -261
  335. data/test/stub/rails3.1/Rakefile +0 -7
  336. data/test/stub/rails3.1/app/assets/images/rails.png +0 -0
  337. data/test/stub/rails3.1/app/assets/stylesheets/application.css +0 -7
  338. data/test/stub/rails3.1/app/controllers/application_controller.rb +0 -3
  339. data/test/stub/rails3.1/app/helpers/application_helper.rb +0 -2
  340. data/test/stub/rails3.1/app/mailers/.gitkeep +0 -0
  341. data/test/stub/rails3.1/app/models/.gitkeep +0 -0
  342. data/test/stub/rails3.1/app/views/layouts/application.html.erb +0 -14
  343. data/test/stub/rails3.1/config.ru +0 -4
  344. data/test/stub/rails3.1/config/application.rb +0 -48
  345. data/test/stub/rails3.1/config/boot.rb +0 -6
  346. data/test/stub/rails3.1/config/database.yml +0 -25
  347. data/test/stub/rails3.1/config/environment.rb +0 -5
  348. data/test/stub/rails3.1/config/environments/development.rb +0 -30
  349. data/test/stub/rails3.1/config/environments/production.rb +0 -60
  350. data/test/stub/rails3.1/config/environments/test.rb +0 -39
  351. data/test/stub/rails3.1/config/initializers/backtrace_silencers.rb +0 -7
  352. data/test/stub/rails3.1/config/initializers/inflections.rb +0 -10
  353. data/test/stub/rails3.1/config/initializers/mime_types.rb +0 -5
  354. data/test/stub/rails3.1/config/initializers/passenger.rb +0 -2
  355. data/test/stub/rails3.1/config/initializers/secret_token.rb +0 -7
  356. data/test/stub/rails3.1/config/initializers/session_store.rb +0 -8
  357. data/test/stub/rails3.1/config/initializers/wrap_parameters.rb +0 -14
  358. data/test/stub/rails3.1/config/locales/en.yml +0 -5
  359. data/test/stub/rails3.1/config/routes.rb +0 -58
  360. data/test/stub/rails3.1/db/seeds.rb +0 -7
  361. data/test/stub/rails3.1/doc/README_FOR_APP +0 -2
  362. data/test/stub/rails3.1/lib/assets/.gitkeep +0 -0
  363. data/test/stub/rails3.1/lib/tasks/.gitkeep +0 -0
  364. data/test/stub/rails3.1/log/.gitkeep +0 -0
  365. data/test/stub/rails3.1/public/404.html +0 -26
  366. data/test/stub/rails3.1/public/422.html +0 -26
  367. data/test/stub/rails3.1/public/500.html +0 -26
  368. data/test/stub/rails3.1/public/favicon.ico +0 -0
  369. data/test/stub/rails3.1/public/index.html +0 -241
  370. data/test/stub/rails3.1/public/robots.txt +0 -5
  371. data/test/stub/rails3.1/script/rails +0 -6
  372. data/test/stub/rails3.1/test/fixtures/.gitkeep +0 -0
  373. data/test/stub/rails3.1/test/functional/.gitkeep +0 -0
  374. data/test/stub/rails3.1/test/integration/.gitkeep +0 -0
  375. data/test/stub/rails3.1/test/performance/browsing_test.rb +0 -12
  376. data/test/stub/rails3.1/test/test_helper.rb +0 -13
  377. data/test/stub/rails3.1/test/unit/.gitkeep +0 -0
  378. data/test/stub/rails3.1/vendor/assets/stylesheets/.gitkeep +0 -0
  379. data/test/stub/rails3.1/vendor/plugins/.gitkeep +0 -0
  380. data/test/stub/rails3.2/.gitignore +0 -15
  381. data/test/stub/rails3.2/Gemfile +0 -39
  382. data/test/stub/rails3.2/Gemfile.lock +0 -113
  383. data/test/stub/rails3.2/Rakefile +0 -7
  384. data/test/stub/rails3.2/app/assets/images/rails.png +0 -0
  385. data/test/stub/rails3.2/app/assets/stylesheets/application.css +0 -13
  386. data/test/stub/rails3.2/app/controllers/application_controller.rb +0 -3
  387. data/test/stub/rails3.2/app/helpers/application_helper.rb +0 -2
  388. data/test/stub/rails3.2/app/mailers/.gitkeep +0 -0
  389. data/test/stub/rails3.2/app/models/.gitkeep +0 -0
  390. data/test/stub/rails3.2/app/views/layouts/application.html.erb +0 -14
  391. data/test/stub/rails3.2/config.ru +0 -4
  392. data/test/stub/rails3.2/config/application.rb +0 -62
  393. data/test/stub/rails3.2/config/boot.rb +0 -6
  394. data/test/stub/rails3.2/config/database.yml +0 -25
  395. data/test/stub/rails3.2/config/environment.rb +0 -5
  396. data/test/stub/rails3.2/config/environments/development.rb +0 -37
  397. data/test/stub/rails3.2/config/environments/production.rb +0 -67
  398. data/test/stub/rails3.2/config/environments/test.rb +0 -37
  399. data/test/stub/rails3.2/config/initializers/backtrace_silencers.rb +0 -7
  400. data/test/stub/rails3.2/config/initializers/inflections.rb +0 -15
  401. data/test/stub/rails3.2/config/initializers/mime_types.rb +0 -5
  402. data/test/stub/rails3.2/config/initializers/passenger.rb +0 -2
  403. data/test/stub/rails3.2/config/initializers/secret_token.rb +0 -7
  404. data/test/stub/rails3.2/config/initializers/session_store.rb +0 -8
  405. data/test/stub/rails3.2/config/initializers/wrap_parameters.rb +0 -14
  406. data/test/stub/rails3.2/config/locales/en.yml +0 -5
  407. data/test/stub/rails3.2/config/routes.rb +0 -58
  408. data/test/stub/rails3.2/db/seeds.rb +0 -7
  409. data/test/stub/rails3.2/doc/README_FOR_APP +0 -2
  410. data/test/stub/rails3.2/lib/assets/.gitkeep +0 -0
  411. data/test/stub/rails3.2/lib/tasks/.gitkeep +0 -0
  412. data/test/stub/rails3.2/log/.gitkeep +0 -0
  413. data/test/stub/rails3.2/public/404.html +0 -26
  414. data/test/stub/rails3.2/public/422.html +0 -26
  415. data/test/stub/rails3.2/public/500.html +0 -25
  416. data/test/stub/rails3.2/public/favicon.ico +0 -0
  417. data/test/stub/rails3.2/public/index.html +0 -241
  418. data/test/stub/rails3.2/public/robots.txt +0 -5
  419. data/test/stub/rails3.2/script/rails +0 -6
  420. data/test/stub/rails3.2/test/fixtures/.gitkeep +0 -0
  421. data/test/stub/rails3.2/test/functional/.gitkeep +0 -0
  422. data/test/stub/rails3.2/test/integration/.gitkeep +0 -0
  423. data/test/stub/rails3.2/test/performance/browsing_test.rb +0 -12
  424. data/test/stub/rails3.2/test/test_helper.rb +0 -13
  425. data/test/stub/rails3.2/test/unit/.gitkeep +0 -0
  426. data/test/stub/rails3.2/vendor/assets/stylesheets/.gitkeep +0 -0
  427. data/test/stub/rails3.2/vendor/plugins/.gitkeep +0 -0
  428. data/test/stub/rails4.0/.gitignore +0 -16
  429. data/test/stub/rails4.0/Gemfile +0 -45
  430. data/test/stub/rails4.0/Gemfile.lock +0 -126
  431. data/test/stub/rails4.0/README.rdoc +0 -28
  432. data/test/stub/rails4.0/Rakefile +0 -6
  433. data/test/stub/rails4.0/app/assets/images/.keep +0 -0
  434. data/test/stub/rails4.0/app/assets/javascripts/application.js +0 -16
  435. data/test/stub/rails4.0/app/assets/stylesheets/application.css +0 -13
  436. data/test/stub/rails4.0/app/controllers/application_controller.rb +0 -5
  437. data/test/stub/rails4.0/app/controllers/concerns/.keep +0 -0
  438. data/test/stub/rails4.0/app/helpers/application_helper.rb +0 -2
  439. data/test/stub/rails4.0/app/mailers/.keep +0 -0
  440. data/test/stub/rails4.0/app/models/.keep +0 -0
  441. data/test/stub/rails4.0/app/models/concerns/.keep +0 -0
  442. data/test/stub/rails4.0/app/views/layouts/application.html.erb +0 -14
  443. data/test/stub/rails4.0/bin/bundle +0 -3
  444. data/test/stub/rails4.0/bin/rails +0 -4
  445. data/test/stub/rails4.0/bin/rake +0 -4
  446. data/test/stub/rails4.0/config.ru +0 -4
  447. data/test/stub/rails4.0/config/application.rb +0 -23
  448. data/test/stub/rails4.0/config/boot.rb +0 -4
  449. data/test/stub/rails4.0/config/database.yml +0 -25
  450. data/test/stub/rails4.0/config/environment.rb +0 -5
  451. data/test/stub/rails4.0/config/environments/development.rb +0 -29
  452. data/test/stub/rails4.0/config/environments/production.rb +0 -80
  453. data/test/stub/rails4.0/config/environments/test.rb +0 -36
  454. data/test/stub/rails4.0/config/initializers/backtrace_silencers.rb +0 -7
  455. data/test/stub/rails4.0/config/initializers/filter_parameter_logging.rb +0 -4
  456. data/test/stub/rails4.0/config/initializers/inflections.rb +0 -16
  457. data/test/stub/rails4.0/config/initializers/mime_types.rb +0 -5
  458. data/test/stub/rails4.0/config/initializers/passenger.rb +0 -2
  459. data/test/stub/rails4.0/config/initializers/secret_token.rb +0 -12
  460. data/test/stub/rails4.0/config/initializers/session_store.rb +0 -3
  461. data/test/stub/rails4.0/config/initializers/wrap_parameters.rb +0 -14
  462. data/test/stub/rails4.0/config/locales/en.yml +0 -23
  463. data/test/stub/rails4.0/config/routes.rb +0 -57
  464. data/test/stub/rails4.0/db/seeds.rb +0 -7
  465. data/test/stub/rails4.0/lib/assets/.keep +0 -0
  466. data/test/stub/rails4.0/lib/tasks/.keep +0 -0
  467. data/test/stub/rails4.0/log/.keep +0 -0
  468. data/test/stub/rails4.0/public/404.html +0 -58
  469. data/test/stub/rails4.0/public/422.html +0 -58
  470. data/test/stub/rails4.0/public/500.html +0 -57
  471. data/test/stub/rails4.0/public/favicon.ico +0 -0
  472. data/test/stub/rails4.0/public/robots.txt +0 -5
  473. data/test/stub/rails4.0/test/controllers/.keep +0 -0
  474. data/test/stub/rails4.0/test/fixtures/.keep +0 -0
  475. data/test/stub/rails4.0/test/helpers/.keep +0 -0
  476. data/test/stub/rails4.0/test/integration/.keep +0 -0
  477. data/test/stub/rails4.0/test/mailers/.keep +0 -0
  478. data/test/stub/rails4.0/test/models/.keep +0 -0
  479. data/test/stub/rails4.0/test/test_helper.rb +0 -15
  480. data/test/stub/rails4.0/vendor/assets/javascripts/.keep +0 -0
  481. data/test/stub/rails4.0/vendor/assets/stylesheets/.keep +0 -0
  482. data/test/stub/rails4.1/.gitignore +0 -16
  483. data/test/stub/rails4.1/Gemfile +0 -45
  484. data/test/stub/rails4.1/Gemfile.lock +0 -129
  485. data/test/stub/rails4.1/README.rdoc +0 -28
  486. data/test/stub/rails4.1/Rakefile +0 -6
  487. data/test/stub/rails4.1/app/assets/images/.keep +0 -0
  488. data/test/stub/rails4.1/app/assets/javascripts/application.js +0 -16
  489. data/test/stub/rails4.1/app/assets/stylesheets/application.css +0 -13
  490. data/test/stub/rails4.1/app/controllers/application_controller.rb +0 -5
  491. data/test/stub/rails4.1/app/controllers/concerns/.keep +0 -0
  492. data/test/stub/rails4.1/app/helpers/application_helper.rb +0 -2
  493. data/test/stub/rails4.1/app/mailers/.keep +0 -0
  494. data/test/stub/rails4.1/app/models/.keep +0 -0
  495. data/test/stub/rails4.1/app/models/concerns/.keep +0 -0
  496. data/test/stub/rails4.1/app/views/layouts/application.html.erb +0 -14
  497. data/test/stub/rails4.1/bin/bundle +0 -3
  498. data/test/stub/rails4.1/bin/rails +0 -4
  499. data/test/stub/rails4.1/bin/rake +0 -4
  500. data/test/stub/rails4.1/config.ru +0 -4
  501. data/test/stub/rails4.1/config/application.rb +0 -23
  502. data/test/stub/rails4.1/config/boot.rb +0 -4
  503. data/test/stub/rails4.1/config/database.yml +0 -25
  504. data/test/stub/rails4.1/config/environment.rb +0 -5
  505. data/test/stub/rails4.1/config/environments/development.rb +0 -29
  506. data/test/stub/rails4.1/config/environments/production.rb +0 -80
  507. data/test/stub/rails4.1/config/environments/test.rb +0 -36
  508. data/test/stub/rails4.1/config/initializers/backtrace_silencers.rb +0 -7
  509. data/test/stub/rails4.1/config/initializers/filter_parameter_logging.rb +0 -4
  510. data/test/stub/rails4.1/config/initializers/inflections.rb +0 -16
  511. data/test/stub/rails4.1/config/initializers/mime_types.rb +0 -5
  512. data/test/stub/rails4.1/config/initializers/passenger.rb +0 -5
  513. data/test/stub/rails4.1/config/initializers/secret_token.rb +0 -12
  514. data/test/stub/rails4.1/config/initializers/session_store.rb +0 -3
  515. data/test/stub/rails4.1/config/initializers/wrap_parameters.rb +0 -14
  516. data/test/stub/rails4.1/config/locales/en.yml +0 -23
  517. data/test/stub/rails4.1/config/routes.rb +0 -57
  518. data/test/stub/rails4.1/db/seeds.rb +0 -7
  519. data/test/stub/rails4.1/lib/assets/.keep +0 -0
  520. data/test/stub/rails4.1/lib/tasks/.keep +0 -0
  521. data/test/stub/rails4.1/log/.keep +0 -0
  522. data/test/stub/rails4.1/public/404.html +0 -58
  523. data/test/stub/rails4.1/public/422.html +0 -58
  524. data/test/stub/rails4.1/public/500.html +0 -57
  525. data/test/stub/rails4.1/public/favicon.ico +0 -0
  526. data/test/stub/rails4.1/public/robots.txt +0 -5
  527. data/test/stub/rails4.1/test/controllers/.keep +0 -0
  528. data/test/stub/rails4.1/test/fixtures/.keep +0 -0
  529. data/test/stub/rails4.1/test/helpers/.keep +0 -0
  530. data/test/stub/rails4.1/test/integration/.keep +0 -0
  531. data/test/stub/rails4.1/test/mailers/.keep +0 -0
  532. data/test/stub/rails4.1/test/models/.keep +0 -0
  533. data/test/stub/rails4.1/test/test_helper.rb +0 -15
  534. data/test/stub/rails4.1/vendor/assets/javascripts/.keep +0 -0
  535. data/test/stub/rails4.1/vendor/assets/stylesheets/.keep +0 -0
  536. data/test/stub/start_error.pl +0 -24
  537. data/test/stub/upload_data.txt +0 -494
  538. data/test/stub/wsgi/passenger_wsgi.py +0 -212
  539. data/test/stub/wsgi/public/.gitignore +0 -0
  540. data/test/stub/wsgi/tmp/.gitignore +0 -0
  541. data/test/support/allocate_memory.c +0 -14
  542. data/test/support/apache2_controller.rb +0 -258
  543. data/test/support/multipart.rb +0 -62
  544. data/test/support/nginx_controller.rb +0 -97
  545. data/test/support/placebo-preloader.rb +0 -88
  546. data/test/support/test_helper.rb +0 -455
  547. data/test/support/valgrind.h +0 -2539
  548. data/test/tut/tut.h +0 -1310
  549. data/test/tut/tut_reporter.h +0 -256
  550. data/test/valgrind-osx.supp +0 -7
@@ -1,3 +0,0 @@
1
- usr/lib/apache2/modules/
2
- ../passenger.conf etc/apache2/mods-available
3
- ../passenger.load etc/apache2/mods-available
@@ -1,36 +0,0 @@
1
- #!/bin/sh
2
-
3
- set -e
4
-
5
- #DEBHELPER#
6
-
7
- if [ "$1" != "configure" ]; then
8
- exit 0
9
- fi
10
-
11
- reload_apache()
12
- {
13
- if apache2ctl configtest 2>/dev/null; then
14
- invoke-rc.d apache2 force-reload || true
15
- else
16
- echo "Your apache2 configuration is broken, so we're not restarting it for you."
17
- fi
18
- }
19
-
20
- if [ -n "$2" ]; then
21
- # we're upgrading. test if we're enabled, and if so, restart to reload the module.
22
- if [ -e /etc/apache2/mods-enabled/passenger.load ]; then
23
- reload_apache
24
- fi
25
- exit 0
26
- fi
27
-
28
- if [ -e /etc/apache2/apache2.conf ]; then
29
- # Enable the module, but hide a2enmod's misleading message about apachectl
30
- # and force-reload the thing ourselves.
31
- a2enmod passenger >/dev/null || true
32
- reload_apache
33
- fi
34
-
35
- exit 0
36
-
@@ -1,15 +0,0 @@
1
- #!/bin/sh
2
-
3
- set -e
4
-
5
- #DEBHELPER#
6
-
7
- if [ "$1" != "remove" -a "$1" != "purge" ]; then
8
- exit 0
9
- fi;
10
-
11
- if [ -e /etc/apache2/apache2.conf ]; then
12
- a2dismod passenger || true
13
- fi
14
-
15
- exit 0
@@ -1,14 +0,0 @@
1
- [locations]
2
- packaging_method=deb
3
- bin_dir=/usr/bin
4
- support_binaries_dir=/usr/lib/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/support-binaries
5
- lib_dir=/usr/lib/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>
6
- helper_scripts_dir=/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/helper-scripts
7
- resources_dir=/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>
8
- include_dir=/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/include
9
- doc_dir=/usr/share/doc/passenger
10
- ruby_libdir=/usr/lib/ruby/vendor_ruby
11
- node_libdir=/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/node
12
- apache2_module_path=/usr/lib/apache2/modules/mod_passenger.so
13
- ruby_extension_source_dir=/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/ruby_extension_source
14
- nginx_module_source_dir=/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/ngx_http_passenger_module
@@ -1,3 +0,0 @@
1
- usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/ngx_http_passenger_module
2
- usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/include/
3
- usr/lib/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/common/
@@ -1,2 +0,0 @@
1
- debian/tmp/usr/share/doc/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/* usr/share/doc/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/
2
- CONTRIBUTORS usr/share/doc/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/
@@ -1,6 +0,0 @@
1
- ### Begin automatically installed Phusion Passenger config snippet ###
2
- <IfModule mod_passenger.c>
3
- PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
4
- PassengerDefaultRuby /usr/bin/ruby
5
- </IfModule>
6
- ### End automatically installed Phusion Passenger config snippet ###
@@ -1,4 +0,0 @@
1
- CONTRIBUTING.md
2
- README.md
3
- CHANGELOG
4
- debian/README.Debian
@@ -1,14 +0,0 @@
1
- usr/lib/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/support-binaries/
2
- nginx-<%= PhusionPassenger::PREFERRED_NGINX_VERSION %>/objs/nginx-<%= PhusionPassenger::PREFERRED_NGINX_VERSION %> usr/lib/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/support-binaries/
3
- usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/helper-scripts/
4
- usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/templates/
5
- usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/standalone_default_root/
6
- usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/ruby_extension_source/
7
- usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/node/
8
- usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/*.types
9
- usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/*.crt
10
- usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/*.txt
11
- usr/lib/ruby/
12
- debian/locations.ini usr/lib/ruby/vendor_ruby/phusion_passenger/
13
- usr/sbin/
14
- usr/bin/
@@ -1,3 +0,0 @@
1
- ### Begin automatically installed Phusion Passenger load snippet ###
2
- LoadModule passenger_module /usr/lib/apache2/modules/mod_passenger.so
3
- ### End automatically installed Phusion Passenger load snippet ###
@@ -1,3 +0,0 @@
1
- man/passenger-memory-stats.8
2
- man/passenger-status.8
3
- man/passenger-config.1
File without changes
@@ -1,76 +0,0 @@
1
- #!/usr/bin/make -f
2
- # export DH_VERBOSE=1
3
-
4
- <% if is_distribution?('>= precise') || is_distribution?('>= wheezy') -%>
5
- export USE_VENDORED_LIBEV=false
6
- <% end %>
7
-
8
- <% if ['1', 'true', 'on', 'yes'].include?(ENV['USE_CCACHE']) -%>
9
- export USE_CCACHE=1
10
- NGINX_CONFIGURE_OPTIONS = CC=/usr/lib/ccache/cc CXX=/usr/lib/ccache/c++
11
- <% else -%>
12
- NGINX_CONFIGURE_OPTIONS =
13
- <% end -%>
14
-
15
- # Speed up ccache (reduce I/O) by lightly compressing things.
16
- # Always set these variables because pbuilder uses ccache transparently.
17
- CCACHE_COMPRESS=1
18
- export CCACHE_COMPRESS
19
- CCACHE_COMPRESS_LEVEL=3
20
- export CCACHE_COMPRESS_LEVEL
21
-
22
- %:
23
- dh $@
24
-
25
- override_dh_auto_configure:
26
- # Do nothing
27
-
28
- override_dh_auto_build:
29
- <% if is_distribution?("<= saucy") || is_distribution?("<= wheezy") -%>
30
- /usr/bin/ruby1.8 /usr/bin/rake fakeroot
31
- mv pkg/fakeroot pkg/fakeroot1.8
32
- /usr/bin/ruby1.9.1 /usr/bin/rake fakeroot
33
- mv pkg/fakeroot pkg/fakeroot1.9.1
34
- <% else -%>
35
- /usr/bin/ruby1.9.1 /usr/bin/rake fakeroot
36
- mv pkg/fakeroot pkg/fakeroot1.9.1
37
- /usr/bin/ruby2.0 /usr/bin/rake fakeroot
38
- mv pkg/fakeroot pkg/fakeroot2.0
39
- <% end -%>
40
- cd nginx-<%= PhusionPassenger::PREFERRED_NGINX_VERSION %> && \
41
- env $(NGINX_CONFIGURE_OPTIONS) ./configure --prefix=/tmp \
42
- <%= PhusionPassenger::STANDALONE_NGINX_CONFIGURE_OPTIONS %> \
43
- --add-module=`pwd`/../ext/nginx && \
44
- make && \
45
- mv objs/nginx objs/nginx-<%= PhusionPassenger::PREFERRED_NGINX_VERSION %>
46
-
47
- override_dh_auto_install:
48
- mkdir debian/tmp/
49
- # Merge Ruby 1.8, 1.9 and 2.0 files into a single directory.
50
- <% if is_distribution?("<= saucy") || is_distribution?("<= wheezy") -%>
51
- cp -a pkg/fakeroot1.8/* debian/tmp/
52
- cp -a pkg/fakeroot1.9.1/* debian/tmp/
53
- <% else -%>
54
- cp -a pkg/fakeroot1.9.1/* debian/tmp/
55
- cp -a pkg/fakeroot2.0/* debian/tmp/
56
- <% end -%>
57
- ./dev/install_scripts_bootstrap_code.rb --ruby /usr/lib/ruby/vendor_ruby debian/tmp/usr/bin/* debian/tmp/usr/sbin/*
58
- ./dev/install_scripts_bootstrap_code.rb --nginx-module-config /usr/bin debian/tmp/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/ngx_http_passenger_module/config
59
- touch debian/tmp/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/release.txt
60
-
61
- override_dh_auto_clean:
62
- /usr/bin/rake clean CLEAN_DOCS=false
63
- rm -rf pkg/fakeroot1.8
64
- rm -rf pkg/fakeroot1.9.1
65
- rm -rf pkg/fakeroot2.0
66
- cd nginx-<%= PhusionPassenger::PREFERRED_NGINX_VERSION %> && if test -f Makefile; then make clean; fi
67
- # Hack to prevent HTML files from being renegerated
68
- touch doc/*.html
69
-
70
- # Because we include Ruby extensions, the Debian package depends on libruby.
71
- # Since Phusion Passenger works fine without the Ruby extensions, we don't want
72
- # to depend on libruby.
73
- # https://github.com/phusion/passenger_apt_automation/issues/3
74
- override_dh_shlibdeps:
75
- dh_shlibdeps
76
- sed -i -E 's/libruby.*?, //g' debian/*.substvars
@@ -1 +0,0 @@
1
- 3.0 (quilt)
@@ -1,458 +0,0 @@
1
- /*
2
- * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2011, 2012 Phusion
4
- *
5
- * "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
6
- *
7
- * Permission is hereby granted, free of charge, to any person obtaining a copy
8
- * of this software and associated documentation files (the "Software"), to deal
9
- * in the Software without restriction, including without limitation the rights
10
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
- * copies of the Software, and to permit persons to whom the Software is
12
- * furnished to do so, subject to the following conditions:
13
- *
14
- * The above copyright notice and this permission notice shall be included in
15
- * all copies or substantial portions of the Software.
16
- *
17
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
- * THE SOFTWARE.
24
- */
25
- #ifndef _EVENTED_BUFFERED_INPUT_H_
26
- #define _EVENTED_BUFFERED_INPUT_H_
27
-
28
- #include <cstdio>
29
- #include <cstddef>
30
- #include <cassert>
31
-
32
- #include <sstream>
33
- #include <string>
34
-
35
- #include <boost/bind.hpp>
36
- #include <boost/enable_shared_from_this.hpp>
37
- #include <boost/shared_ptr.hpp>
38
- #include <boost/enable_shared_from_this.hpp>
39
- #include <oxt/system_calls.hpp>
40
- #include <ev++.h>
41
-
42
- #include <SafeLibev.h>
43
- #include <FileDescriptor.h>
44
- #include <StaticString.h>
45
- #include <Logging.h>
46
- #include <Utils/StrIntUtils.h>
47
-
48
- namespace Passenger {
49
-
50
- using namespace boost;
51
- using namespace oxt;
52
-
53
- #define EBI_TRACE(expr) P_TRACE(3, "[EventedBufferedInput " << this << " " << inspect() << "] " << expr)
54
-
55
- /**
56
- * Provides input buffering services for non-blocking sockets in evented I/O systems.
57
- *
58
- * Wrap an EventedBufferedInput around a socket and provide a data handler callback.
59
- * The handler is called every time there is incoming socket data. The handler must return
60
- * the number of bytes that it has actually consumed. If not everything has been
61
- * consumed, then the handler will be called with the remaining data in the next
62
- * tick.
63
- */
64
- template<size_t bufferSize = 1024 * 8>
65
- class EventedBufferedInput: public boost::enable_shared_from_this< EventedBufferedInput<bufferSize> > {
66
- private:
67
- enum State {
68
- LIVE,
69
- /**
70
- * @invariant
71
- * paused
72
- * socketPaused
73
- */
74
- END_OF_STREAM,
75
- /**
76
- * @invariant
77
- * paused
78
- * socketPaused
79
- */
80
- READ_ERROR,
81
- CLOSED
82
- };
83
-
84
- SafeLibev *libev;
85
- FileDescriptor fd;
86
- ev::io watcher;
87
- StaticString buffer;
88
-
89
- State state: 2;
90
- /**
91
- * Whether this EventedBufferedInput is paused (not started). If it's
92
- * paused it should not emit data events.
93
- *
94
- * @invariant
95
- * if paused:
96
- * socketPaused
97
- */
98
- bool paused: 1;
99
- /**
100
- * Whether the underlying socket is also paused. This does not
101
- * necessarily mean the EventedBufferedInput is also paused because
102
- * it may be emitting data events from its internal buffer.
103
- */
104
- bool socketPaused: 1;
105
- /**
106
- * Whether the code is inside a processingBuffer() call.
107
- */
108
- bool processingBuffer: 1;
109
- /**
110
- * Whether processBuffer() is scheduled to be called in the next
111
- * event loop iteration.
112
- */
113
- bool nextTickInstalled: 1;
114
- /**
115
- * Increment this number to ensure that previously scheduled
116
- * processBuffer() calls will do nothing, effectively canceling
117
- * its scheduled calls.
118
- */
119
- unsigned int generation;
120
- int error;
121
-
122
- char bufferData[bufferSize];
123
-
124
- void verifyInvariants() {
125
- // !a || b: logical equivalent of a IMPLIES b.
126
-
127
- assert(!( state == END_OF_STREAM ) || ( paused ));
128
- assert(!( state == END_OF_STREAM ) || ( socketPaused ));
129
-
130
- assert(!( state == READ_ERROR ) || ( paused ));
131
- assert(!( state == READ_ERROR ) || ( socketPaused ));
132
-
133
- assert(!( paused ) || ( socketPaused ));
134
- }
135
-
136
- void resetCallbackFields() {
137
- onData = NULL;
138
- onError = NULL;
139
- userData = NULL;
140
- }
141
-
142
- void onReadable(ev::io &watcher, int revents) {
143
- // Keep 'this' alive until function exit.
144
- boost::shared_ptr< EventedBufferedInput<bufferSize> > self = EventedBufferedInput<bufferSize>::shared_from_this();
145
-
146
- EBI_TRACE("onReadable");
147
- verifyInvariants();
148
- assert(!nextTickInstalled);
149
-
150
- ssize_t ret = readSocket(bufferData, bufferSize);
151
- if (ret == -1) {
152
- if (errno != EAGAIN) {
153
- error = errno;
154
- EBI_TRACE("read error " << error << " (" << strerror(error) << ")");
155
- assert(state == LIVE);
156
- assert(!socketPaused);
157
- assert(buffer.empty());
158
- assert(!paused);
159
-
160
- watcher.stop();
161
- state = READ_ERROR;
162
- paused = true;
163
- socketPaused = true;
164
- verifyInvariants();
165
- if (onError != NULL) {
166
- onError(self, "Cannot read from socket", error);
167
- verifyInvariants();
168
- }
169
- }
170
-
171
- } else if (ret == 0) {
172
- EBI_TRACE("end of stream");
173
- assert(state == LIVE);
174
- assert(!socketPaused);
175
- assert(buffer.empty());
176
- assert(!paused);
177
-
178
- watcher.stop();
179
- state = END_OF_STREAM;
180
- paused = true;
181
- socketPaused = true;
182
- verifyInvariants();
183
- onData(self, StaticString());
184
- verifyInvariants();
185
-
186
- } else {
187
- EBI_TRACE("read " << ret << " bytes");
188
- assert(state == LIVE);
189
- assert(!socketPaused);
190
- assert(buffer.empty());
191
- assert(!paused);
192
-
193
- buffer = StaticString(bufferData, ret);
194
- processBuffer();
195
- verifyInvariants();
196
- }
197
- }
198
-
199
- void processBufferInNextTick() {
200
- if (!nextTickInstalled) {
201
- nextTickInstalled = true;
202
- libev->runLater(boost::bind(
203
- realProcessBufferInNextTick,
204
- boost::weak_ptr< EventedBufferedInput<bufferSize> >(this->shared_from_this()),
205
- generation
206
- ));
207
- }
208
- }
209
-
210
- static void realProcessBufferInNextTick(boost::weak_ptr< EventedBufferedInput<bufferSize> > wself,
211
- unsigned int generation)
212
- {
213
- boost::shared_ptr< EventedBufferedInput<bufferSize> > self = wself.lock();
214
- if (self != NULL && generation == self->generation) {
215
- self->verifyInvariants();
216
- self->nextTickInstalled = false;
217
- self->processBuffer();
218
- self->verifyInvariants();
219
- }
220
- }
221
-
222
- struct SetProcessingBufferToFalse {
223
- EventedBufferedInput<bufferSize> *self;
224
-
225
- SetProcessingBufferToFalse(EventedBufferedInput<bufferSize> *_self) {
226
- self = _self;
227
- }
228
-
229
- ~SetProcessingBufferToFalse() {
230
- self->processingBuffer = false;
231
- }
232
- };
233
-
234
- void processBuffer() {
235
- EBI_TRACE("processBuffer");
236
- assert(!processingBuffer);
237
- processingBuffer = true;
238
- SetProcessingBufferToFalse flagGuard(this);
239
-
240
- if (state == CLOSED) {
241
- return;
242
- }
243
- assert(state == LIVE);
244
- if (paused || buffer.empty() || fd == -1) {
245
- return;
246
- }
247
-
248
- assert(buffer.size() > 0);
249
- size_t consumed = onData(EventedBufferedInput<bufferSize>::shared_from_this(),
250
- buffer);
251
- EBI_TRACE("Consumed " << consumed << " bytes");
252
- if (state == CLOSED) {
253
- return;
254
- }
255
- if (consumed == buffer.size()) {
256
- buffer = StaticString();
257
- if (!paused && socketPaused) {
258
- socketPaused = false;
259
- watcher.start();
260
- }
261
- cancelScheduledProcessBufferCall();
262
- } else {
263
- buffer = buffer.substr(consumed);
264
- if (!socketPaused) {
265
- socketPaused = true;
266
- watcher.stop();
267
- }
268
- if (!paused) {
269
- // Consume rest of the data in the next tick.
270
- EBI_TRACE("Consume rest in next tick");
271
- processBufferInNextTick();
272
- } else {
273
- cancelScheduledProcessBufferCall();
274
- }
275
- }
276
-
277
- afterProcessingBuffer();
278
- }
279
-
280
- void cancelScheduledProcessBufferCall() {
281
- if (nextTickInstalled) {
282
- nextTickInstalled = false;
283
- generation++;
284
- }
285
- }
286
-
287
- void _reset(SafeLibev *libev, const FileDescriptor &fd, bool firstTime = false) {
288
- if (firstTime) {
289
- generation = 0;
290
- } else {
291
- verifyInvariants();
292
- }
293
- this->libev = libev;
294
- this->fd = fd;
295
- buffer = StaticString();
296
- state = LIVE;
297
- paused = true;
298
- socketPaused = true;
299
- processingBuffer = false;
300
- nextTickInstalled = false;
301
- generation++;
302
- error = 0;
303
- if (watcher.is_active()) {
304
- watcher.stop();
305
- }
306
- if (libev != NULL) {
307
- watcher.set(libev->getLoop());
308
- }
309
- if (fd != -1) {
310
- watcher.set(fd, ev::READ);
311
- }
312
- verifyInvariants();
313
- }
314
-
315
- protected:
316
- virtual ssize_t readSocket(void *buf, size_t n) {
317
- return syscalls::read(fd, buf, n);
318
- }
319
-
320
- virtual void afterProcessingBuffer() {
321
- // Do nothing. To be overridden in unit tests.
322
- }
323
-
324
- public:
325
- typedef size_t (*DataCallback)(const boost::shared_ptr< EventedBufferedInput<bufferSize> > &source, const StaticString &data);
326
- typedef void (*ErrorCallback)(const boost::shared_ptr< EventedBufferedInput<bufferSize> > &source, const char *message, int errnoCode);
327
-
328
- DataCallback onData;
329
- ErrorCallback onError;
330
- void *userData;
331
-
332
- EventedBufferedInput() {
333
- resetCallbackFields();
334
- _reset(NULL, FileDescriptor(), true);
335
- watcher.set<EventedBufferedInput<bufferSize>,
336
- &EventedBufferedInput<bufferSize>::onReadable>(this);
337
- EBI_TRACE("created");
338
- verifyInvariants();
339
- }
340
-
341
- EventedBufferedInput(SafeLibev *libev, const FileDescriptor &fd) {
342
- resetCallbackFields();
343
- _reset(libev, fd, true);
344
- watcher.set<EventedBufferedInput<bufferSize>,
345
- &EventedBufferedInput<bufferSize>::onReadable>(this);
346
- EBI_TRACE("created");
347
- verifyInvariants();
348
- }
349
-
350
- virtual ~EventedBufferedInput() {
351
- cancelScheduledProcessBufferCall();
352
- watcher.stop();
353
- EBI_TRACE("destroyed");
354
- }
355
-
356
- bool resetable() const {
357
- return !nextTickInstalled;
358
- }
359
-
360
- void reset(SafeLibev *libev, const FileDescriptor &fd) {
361
- EBI_TRACE("reset()");
362
- _reset(libev, fd);
363
- }
364
-
365
- void stop() {
366
- if (state == LIVE && !paused) {
367
- EBI_TRACE("stop()");
368
- verifyInvariants();
369
- paused = true;
370
- if (!socketPaused) {
371
- socketPaused = true;
372
- watcher.stop();
373
- }
374
- cancelScheduledProcessBufferCall();
375
- verifyInvariants();
376
- }
377
- }
378
-
379
- void start() {
380
- if (state == LIVE && paused) {
381
- EBI_TRACE("start()");
382
- verifyInvariants();
383
- assert(socketPaused);
384
-
385
- paused = false;
386
- if (!buffer.empty()) {
387
- processBufferInNextTick();
388
- } else {
389
- socketPaused = false;
390
- watcher.start();
391
- cancelScheduledProcessBufferCall();
392
- }
393
- verifyInvariants();
394
- }
395
- }
396
-
397
- bool isStarted() const {
398
- return !paused;
399
- }
400
-
401
- bool isSocketStarted() const {
402
- return !socketPaused;
403
- }
404
-
405
- bool endReached() const {
406
- return state == END_OF_STREAM;
407
- }
408
-
409
- void readNow() {
410
- assert(!nextTickInstalled);
411
- onReadable(watcher, 0);
412
- }
413
-
414
- const FileDescriptor &getFd() const {
415
- return fd;
416
- }
417
-
418
- string inspect() const {
419
- stringstream result;
420
- const char *stateStr;
421
-
422
- result << "fd=" << fd;
423
-
424
- switch (state) {
425
- case LIVE:
426
- stateStr = "LIVE";
427
- break;
428
- case END_OF_STREAM:
429
- stateStr = "END_OF_STREAM";
430
- break;
431
- case READ_ERROR:
432
- stateStr = "READ_ERROR";
433
- break;
434
- case CLOSED:
435
- stateStr = "CLOSED";
436
- break;
437
- default:
438
- stateStr = "UNKNOWN";
439
- break;
440
- }
441
- result << ", state=" << stateStr;
442
-
443
- result << ", buffer(" << buffer.size() << ")=\"" << cEscapeString(buffer) << "\"";
444
- result << ", paused=" << paused;
445
- result << ", socketPaused=" << socketPaused;
446
- result << ", nextTickInstalled=" << nextTickInstalled;
447
- result << ", generation=" << generation;
448
- result << ", error=" << error;
449
-
450
- return result.str();
451
- }
452
- };
453
-
454
- typedef boost::shared_ptr< EventedBufferedInput<> > EventedBufferedInputPtr;
455
-
456
- } // namespace Passenger
457
-
458
- #endif /* _EVENTED_BUFFERED_INPUT_H_ */