passenger 5.0.30 → 5.1.0

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 (131) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +30 -1
  3. data/CONTRIBUTING.md +1 -1
  4. data/CONTRIBUTORS +2 -0
  5. data/bin/passenger-install-nginx-module +18 -13
  6. data/build/agent.rb +1 -0
  7. data/build/basics.rb +1 -0
  8. data/build/cxx_tests.rb +6 -1
  9. data/build/misc.rb +3 -0
  10. data/build/packaging.rb +5 -17
  11. data/build/support/cxx_dependency_map.rb +100 -0
  12. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +4 -1
  13. data/build/test_basics.rb +12 -2
  14. data/dev/ci/run_travis.sh +6 -2
  15. data/doc/Users guide Apache.html +7 -2
  16. data/doc/Users guide Apache.txt +4 -0
  17. data/resources/templates/error_layout.css +70 -84
  18. data/resources/templates/error_layout.html.template +84 -93
  19. data/resources/templates/standalone/http.erb +17 -13
  20. data/resources/templates/standalone/server.erb +2 -1
  21. data/resources/templates/undisclosed_error.html.template +52 -51
  22. data/resources/update_check_client_cert.p12 +0 -0
  23. data/resources/update_check_client_cert.pem +89 -0
  24. data/resources/update_check_server_pubkey.pem +14 -0
  25. data/src/agent/Core/ApplicationPool/ErrorRenderer.h +15 -1
  26. data/src/agent/Core/Controller.h +3 -2
  27. data/src/agent/Core/Controller/CheckoutSession.cpp +5 -4
  28. data/src/agent/Core/Controller/ForwardResponse.cpp +1 -1
  29. data/src/agent/Core/Controller/InitRequest.cpp +2 -0
  30. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
  31. data/src/agent/Core/Controller/Request.h +1 -0
  32. data/src/agent/Core/CoreMain.cpp +99 -2
  33. data/src/agent/Core/OptionParser.h +18 -1
  34. data/src/agent/Core/SecurityUpdateChecker.h +559 -0
  35. data/src/agent/Shared/Base.cpp +6 -1
  36. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +52 -0
  37. data/src/agent/Watchdog/InstanceDirToucher.cpp +1 -2
  38. data/src/agent/Watchdog/WatchdogMain.cpp +31 -40
  39. data/src/apache2_module/Configuration.cpp +12 -0
  40. data/src/apache2_module/Configuration.hpp +5 -0
  41. data/src/apache2_module/ConfigurationCommands.cpp +19 -19
  42. data/src/apache2_module/ConfigurationCommands.cpp.cxxcodebuilder +2 -2
  43. data/src/apache2_module/ConfigurationFields.hpp +19 -19
  44. data/src/apache2_module/ConfigurationFields.hpp.cxxcodebuilder +2 -2
  45. data/src/apache2_module/ConfigurationSetters.cpp +19 -19
  46. data/src/apache2_module/ConfigurationSetters.cpp.cxxcodebuilder +2 -2
  47. data/src/apache2_module/CreateDirConfig.cpp +19 -19
  48. data/src/apache2_module/CreateDirConfig.cpp.cxxcodebuilder +2 -2
  49. data/src/apache2_module/Hooks.cpp +10 -1
  50. data/src/apache2_module/MergeDirConfig.cpp +19 -19
  51. data/src/apache2_module/MergeDirConfig.cpp.cxxcodebuilder +2 -2
  52. data/src/apache2_module/SetHeaders.cpp +19 -19
  53. data/src/apache2_module/SetHeaders.cpp.cxxcodebuilder +2 -2
  54. data/src/cxx_supportlib/Constants.h +22 -22
  55. data/src/cxx_supportlib/Constants.h.cxxcodebuilder +4 -1
  56. data/src/cxx_supportlib/Crypto.cpp +977 -0
  57. data/src/cxx_supportlib/Crypto.h +147 -0
  58. data/src/cxx_supportlib/InstanceDirectory.h +55 -2
  59. data/src/cxx_supportlib/Utils/Curl.h +24 -10
  60. data/src/cxx_supportlib/Utils/JsonUtils.h +1 -1
  61. data/src/cxx_supportlib/oxt/detail/spin_lock_darwin.hpp +2 -0
  62. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +3 -3
  63. data/src/cxx_supportlib/vendor-modified/jsoncpp/json-forwards.h +167 -92
  64. data/src/cxx_supportlib/vendor-modified/jsoncpp/json.h +1827 -1542
  65. data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +4705 -3652
  66. data/src/cxx_supportlib/vendor-modified/libev/Changes +46 -15
  67. data/src/cxx_supportlib/vendor-modified/libev/LICENSE +1 -1
  68. data/src/cxx_supportlib/vendor-modified/libev/Makefile.in +215 -128
  69. data/src/cxx_supportlib/vendor-modified/libev/aclocal.m4 +466 -275
  70. data/src/cxx_supportlib/vendor-modified/libev/config.guess +312 -418
  71. data/src/cxx_supportlib/vendor-modified/libev/config.sub +246 -105
  72. data/src/cxx_supportlib/vendor-modified/libev/configure +276 -72
  73. data/src/cxx_supportlib/vendor-modified/libev/configure.ac +2 -1
  74. data/src/cxx_supportlib/vendor-modified/libev/depcomp +346 -185
  75. data/src/cxx_supportlib/vendor-modified/libev/ev++.h +1 -1
  76. data/src/cxx_supportlib/vendor-modified/libev/ev.c +530 -190
  77. data/src/cxx_supportlib/vendor-modified/libev/ev.h +23 -14
  78. data/src/cxx_supportlib/vendor-modified/libev/ev_epoll.c +12 -6
  79. data/src/cxx_supportlib/vendor-modified/libev/ev_kqueue.c +9 -5
  80. data/src/cxx_supportlib/vendor-modified/libev/ev_poll.c +6 -3
  81. data/src/cxx_supportlib/vendor-modified/libev/ev_port.c +8 -4
  82. data/src/cxx_supportlib/vendor-modified/libev/ev_select.c +4 -2
  83. data/src/cxx_supportlib/vendor-modified/libev/ev_vars.h +3 -2
  84. data/src/cxx_supportlib/vendor-modified/libev/ev_win32.c +3 -4
  85. data/src/cxx_supportlib/vendor-modified/libev/install-sh +433 -219
  86. data/src/cxx_supportlib/vendor-modified/libev/libev.m4 +6 -6
  87. data/src/cxx_supportlib/vendor-modified/libev/ltmain.sh +2 -2
  88. data/src/cxx_supportlib/vendor-modified/libev/missing +167 -288
  89. data/src/cxx_supportlib/vendor-modified/libev/mkinstalldirs +72 -21
  90. data/src/cxx_supportlib/vendor-modified/modp_b64.cpp +4 -106
  91. data/src/cxx_supportlib/vendor-modified/modp_b64_data.h +37 -1
  92. data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +119 -0
  93. data/src/helper-scripts/node-loader.js +72 -1
  94. data/src/nginx_module/CacheLocationConfig.c +52 -19
  95. data/src/nginx_module/CacheLocationConfig.c.cxxcodebuilder +2 -2
  96. data/src/nginx_module/Configuration.c +26 -1
  97. data/src/nginx_module/Configuration.h +2 -0
  98. data/src/nginx_module/ConfigurationCommands.c +35 -19
  99. data/src/nginx_module/ConfigurationCommands.c.cxxcodebuilder +2 -2
  100. data/src/nginx_module/ContentHandler.c +1 -1
  101. data/src/nginx_module/CreateLocationConfig.c +22 -19
  102. data/src/nginx_module/CreateLocationConfig.c.cxxcodebuilder +2 -2
  103. data/src/nginx_module/LocationConfig.h +21 -19
  104. data/src/nginx_module/LocationConfig.h.cxxcodebuilder +2 -2
  105. data/src/nginx_module/MergeLocationConfig.c +25 -19
  106. data/src/nginx_module/MergeLocationConfig.c.cxxcodebuilder +2 -2
  107. data/src/nginx_module/ngx_http_passenger_module.c +8 -4
  108. data/src/ruby_supportlib/phusion_passenger.rb +9 -4
  109. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +2 -2
  110. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +1 -1
  111. data/src/ruby_supportlib/phusion_passenger/common_library.rb +13 -0
  112. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +5 -2
  113. data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -1
  114. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +15 -3
  115. data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +51 -0
  116. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +7 -0
  117. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +17 -0
  118. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +4 -2
  119. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +4 -0
  120. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +5 -0
  121. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +19 -10
  122. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/base.rb +25 -0
  123. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +38 -103
  124. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +178 -0
  125. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +94 -0
  126. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/version.rb +2 -2
  127. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core.rb +2 -2
  128. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/version_data.rb +2 -2
  129. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/ruby_versions.yml.travis +5 -3
  130. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/ruby_versions.yml.travis-with-sudo +9 -7
  131. metadata +14 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 722c1e1bd4ec567159a9176ac6ccb0e207f605af
4
- data.tar.gz: 51d23530f41934e66d5c8a8c13d68386400765fb
3
+ metadata.gz: d5ca56d2326b729cc6c4f2368298916d7cd5b8b9
4
+ data.tar.gz: 3f00d42375d7ebbfd44dd39cb2a344d3d2b6a50a
5
5
  SHA512:
6
- metadata.gz: 746361cde0146a6ad7ff161553d61eee22889cbf682e45306e1510337d0826957ea6f61b434ca659b450c82b58e8af2ff578ddbdf2297dc937b5adfa14817e8c
7
- data.tar.gz: afd17292ab8b5764edd39574914817462268fd85293ab49c8ffc7b3a117239726c9817b332bcf9675f0649f88994938e8e5fc9f5dea53ad724f97a621b83cf92
6
+ metadata.gz: dae6078363636179a8518af992befdf05d3cc177d3f33d1d73903b3471d111bb93f3edc321ff0fe433dc13db8d09147e46956f039835967600f25a66792925de
7
+ data.tar.gz: d0284ac79900ce6829686b5d87d78be45bd369b203ea2443e674af4e5658942258635fb4ba975c53ef91dcf1761871f22df237ca830c054de31aaafbdf3be6c3
data/CHANGELOG CHANGED
@@ -1,3 +1,32 @@
1
+ Next version (not yet released)
2
+ -------------------------------
3
+
4
+ * Upgrades union_station_hooks_core to version 2.1.2.
5
+ * [Enterprise] When running a Rails app in multithreaded mode, Passenger Enterprise automatically tags Rails logs with the current thread number. This makes it possible to distinguish logs generated by different threads.
6
+ * Fixes permissions issue on Linux when setting OOM score after lowering privileges. Closes GH-1858.
7
+ * [Standalone] Allows raw json envvars in Passengerfile.json. Closes GH-1837.
8
+ * [Standalone] Make the `max_requests` option available on the command line as well.
9
+ * Fixes unaligned memory access in base64 decoder on platforms that have strict aliasing requirements (non x86/x86_64). Closes GH-1646.
10
+ * Introduces daily Passenger security update check to warn (error log) if there are newer Passenger versions with important security fixes (describing what was discovered, what is affected, which version has the fix).
11
+ * Fixes compilation on Linux when a non-glibc C library is in use. Closes GH-1870.
12
+ * `passenger-install-nginx-module` and the standalone compiler now add the http v2, realip and addition module flags for Nginx (just like the APT/RPM/autobuilder already had). Closes GH-1788.
13
+ * [Apache] Fixes PassengerShowVersionInHeader option. Thanks to Sebastian Welther for contributing this.
14
+ * Passenger now reports when you try to use Node.js or Meteor clustering, and tries to continue with just a nonfunctional shim in place, so that if your code uses the clustering APIs your app may still work.
15
+ * Updates libev config.sub and config.guess to support newer platforms such as the IBM power 8.
16
+ * Fixes an issue where passenger-config couldn't restart an app if the TMPDIR variable was set to /tmp
17
+ * `passenger-install-apache-module` now suggests the correct apache package on Ubuntu Xenial. Closes GH-1884.
18
+ * [Standalone] The TempDirToucher will now spend most of its time with reduced privileges, except when it's actively touching files. This allows it to be killed when Passenger is quit in most circumstances. Closes GH-1678.
19
+ * Fixes a file overwrite vulnerability caused by a predictable temporary file being written by `passenger-install-nginx-module`. Thanks to Jeremy Evans for reporting this.
20
+ * [Standalone] Fixes starting Passenger as a non-extant user. Closes GH-1849.
21
+ * Improved look of the error pages for failing to spawn an application (development & production mode), and Error ID is now also shown in production mode.
22
+ * [Standalone] Enable ipv6 support by default in builtin nginx. Closes GH-1873.
23
+ * [Nginx] Updates to APT package builder (Debian & Ubuntu) with fix for www-data to root privilege escalation via log file handling (CVE-2016-1247/USN-3114-1).
24
+ * [Nginx] Updates to RPM package builder (CentOS & RHEL) with fix for 1.10.x system nginx package overriding the nginx from the Passenger repo. Closes GH-1895.
25
+ * [Nginx] The preferred Nginx version is now 1.10.2 (previously 1.10.1).
26
+ * RPM pkg builder fix for breaking SELinux change in RHEL 7.3.
27
+ * RPM pkg builder fix for RHEL6/CentOS6 incompatibility and replacement in Passenger.
28
+
29
+
1
30
  Release 5.0.30
2
31
  --------------
3
32
 
@@ -269,7 +298,7 @@ Release 5.0.10
269
298
 
270
299
  * It is now possible to run `passenger-status`, `passenger-config restart-app` and other admin commands without using sudo. When run without sudo, these admin commands will allow you to operate on apps and processes that are owned by the user that invoked the admin command. Closes GH-1392.
271
300
  * Fixes a crash introduces in 5.0.9 due to not properly initializing a variable. Closes GH-1530.
272
- * The `passenger-config reopen-logs` command now works by instructing the Watchdog process to reopen the log file, while instructing the other Passenger processes to re-inerhit the log file from the Watchdog instead of trying to reopen the log file on their own. This makes log file reopening more robust. Closes GH-1452.
301
+ * The `passenger-config reopen-logs` command now works by instructing the Watchdog process to reopen the log file, while instructing the other Passenger processes to re-inherit the log file from the Watchdog instead of trying to reopen the log file on their own. This makes log file reopening more robust. Closes GH-1452.
273
302
  * `passenger-config restart-app` no longer leaves the terminal in a state with black background. Closes GH-1526.
274
303
  * `passenger-config admin-command` has been renamed to `passenger-config api-call` in order to avoid confusion with any potential admin interfaces that we will introduce in the future.
275
304
  * If Union Station support is enabled, process and system metrics weren't being sent correctly to Union Station. This has been fixed.
@@ -29,7 +29,7 @@ You can contribute in one of the following areas:
29
29
  * Community support.
30
30
  * Code.
31
31
 
32
- We require contributors to sign our [contributor agreement](http://www.phusion.nl/forms/contributor_agreement) before we can merge their patches.
32
+ We require contributors to sign our [contributor agreement](https://www.phusion.nl/contributor) before we can merge their patches.
33
33
 
34
34
  Please submit patches in the form of a Github pull request or as a patch on the [bug tracker](https://github.com/phusion/passenger/issues). Pull requests are preferred and generally get more attention because Github has better email notifications and better discussion capabilities.
35
35
 
@@ -88,6 +88,7 @@ Saimon Moore
88
88
  Sam Pohlenz
89
89
  Sean Wilkinson
90
90
  Sebastian Delmont
91
+ Sebastian Welther
91
92
  Slippy Douglas
92
93
  Stephen Bannasch
93
94
  Steven Chamberlain
@@ -95,6 +96,7 @@ Tim Bishop
95
96
  Tim Carey-Smith
96
97
  Tinco Andringa (Phusion)
97
98
  Tugdual de Kerviler
99
+ Valters Jansons
98
100
  W. Andrew Loe III
99
101
  Weyert de Boer
100
102
  Yichun Zhang
@@ -38,11 +38,11 @@ PhusionPassenger.locate_directories
38
38
  require 'digest/sha2'
39
39
  require 'optparse'
40
40
  require 'fileutils'
41
+ require 'tmpdir'
41
42
  PhusionPassenger.require_passenger_lib 'platform_info/ruby'
42
43
  PhusionPassenger.require_passenger_lib 'platform_info/openssl'
43
44
  PhusionPassenger.require_passenger_lib 'abstract_installer'
44
45
  PhusionPassenger.require_passenger_lib 'utils/terminal_choice_menu'
45
- PhusionPassenger.require_passenger_lib 'utils/tmpio'
46
46
  PhusionPassenger.require_passenger_lib 'utils/shellwords'
47
47
 
48
48
  DOWNLOAD_OPTION = {
@@ -547,8 +547,11 @@ private
547
547
 
548
548
  command = "sh ./configure --prefix='#{prefix}' "
549
549
  command << "--with-http_ssl_module "
550
+ command << "--with-http_v2_module "
551
+ command << "--with-http_realip_module "
550
552
  command << "--with-http_gzip_static_module "
551
553
  command << "--with-http_stub_status_module "
554
+ command << "--with-http_addition_module "
552
555
  command << "--with-cc-opt=#{Shellwords.escape extra_cflags} "
553
556
  command << "--with-ld-opt=#{Shellwords.escape extra_ldflags} "
554
557
  if @pcre_source_dir
@@ -563,19 +566,21 @@ private
563
566
 
564
567
  def pcre_is_installed?
565
568
  if @pcre_is_installed.nil?
566
- @pcre_is_installed = begin
567
- File.open('/tmp/passenger-check.c', 'w') do |f|
568
- f.puts("#include <pcre.h>")
569
- end
570
- Dir.chdir('/tmp') do
571
- # Nginx checks for PCRE in multiple places...
572
- system("(gcc -I/usr/local/include -I/usr/include/pcre " <<
573
- "-I/usr/pkg/include -I/opt/local/include " <<
574
- "-c passenger-check.c) >/dev/null 2>/dev/null")
569
+ Dir.mktmpdir do |safe_tmpdir|
570
+ @pcre_is_installed = begin
571
+ File.open("#{safe_tmpdir}/passenger-check.c", 'w') do |f|
572
+ f.puts("#include <pcre.h>")
573
+ end
574
+ Dir.chdir("#{safe_tmpdir}") do
575
+ # Nginx checks for PCRE in multiple places...
576
+ system("(gcc -I/usr/local/include -I/usr/include/pcre " <<
577
+ "-I/usr/pkg/include -I/opt/local/include " <<
578
+ "-c passenger-check.c) >/dev/null 2>/dev/null")
579
+ end
580
+ ensure
581
+ File.unlink("#{safe_tmpdir}/passenger-check.c") rescue nil
582
+ File.unlink("#{safe_tmpdir}/passenger-check.o") rescue nil
575
583
  end
576
- ensure
577
- File.unlink('/tmp/passenger-check.c') rescue nil
578
- File.unlink('/tmp/passenger-check.o') rescue nil
579
584
  end
580
585
  end
581
586
  return @pcre_is_installed
@@ -89,6 +89,7 @@ file(AGENT_TARGET => dependencies) do
89
89
  libuv_libs,
90
90
  PlatformInfo.curl_libs,
91
91
  PlatformInfo.zlib_libs,
92
+ PlatformInfo.crypto_libs,
92
93
  PlatformInfo.portability_cxx_ldflags,
93
94
  AGENT_LDFLAGS
94
95
  ]
@@ -39,6 +39,7 @@ PhusionPassenger.require_passenger_lib 'platform_info/ruby'
39
39
  PhusionPassenger.require_passenger_lib 'platform_info/apache'
40
40
  PhusionPassenger.require_passenger_lib 'platform_info/curl'
41
41
  PhusionPassenger.require_passenger_lib 'platform_info/zlib'
42
+ PhusionPassenger.require_passenger_lib 'platform_info/crypto'
42
43
  PhusionPassenger.require_passenger_lib 'platform_info/compiler'
43
44
  PhusionPassenger.require_passenger_lib 'platform_info/cxx_portability'
44
45
 
@@ -46,6 +46,8 @@ TEST_CXX_OBJECTS = {
46
46
  "test/cxx/Core/UnionStationTest.cpp",
47
47
  "#{TEST_OUTPUT_DIR}cxx/Core/ResponseCacheTest.o" =>
48
48
  "test/cxx/Core/ResponseCacheTest.cpp",
49
+ "#{TEST_OUTPUT_DIR}cxx/Core/SecurityUpdateCheckerTest.o" =>
50
+ "test/cxx/Core/SecurityUpdateCheckerTest.cpp",
49
51
  "#{TEST_OUTPUT_DIR}cxx/Core/ControllerTest.o" =>
50
52
  "test/cxx/Core/ControllerTest.cpp",
51
53
 
@@ -108,7 +110,9 @@ TEST_CXX_OBJECTS = {
108
110
  "#{TEST_OUTPUT_DIR}cxx/IOUtilsTest.o" =>
109
111
  "test/cxx/IOUtilsTest.cpp",
110
112
  "#{TEST_OUTPUT_DIR}cxx/TemplateTest.o" =>
111
- "test/cxx/TemplateTest.cpp"
113
+ "test/cxx/TemplateTest.cpp",
114
+ "#{TEST_OUTPUT_DIR}cxx/Base64DecodingTest.o" =>
115
+ "test/cxx/Base64DecodingTest.cpp"
112
116
  }
113
117
 
114
118
  def basic_test_cxx_flags
@@ -147,6 +151,7 @@ def test_cxx_ldflags
147
151
  "#{TEST_BOOST_OXT_LIBRARY} #{libev_libs} #{libuv_libs} " <<
148
152
  "#{PlatformInfo.curl_libs} " <<
149
153
  "#{PlatformInfo.zlib_libs} " <<
154
+ "#{PlatformInfo.crypto_libs} " <<
150
155
  "#{PlatformInfo.portability_cxx_ldflags}"
151
156
  result << " #{PlatformInfo.dmalloc_ldflags}" if USE_DMALLOC
152
157
  result << " #{PlatformInfo.adress_sanitizer_flag}" if USE_ASAN
@@ -189,6 +189,9 @@ task :compile_app => dependencies do
189
189
  LIBBOOST_OXT_LINKARG,
190
190
  libev_libs,
191
191
  libuv_libs,
192
+ PlatformInfo.curl_libs,
193
+ PlatformInfo.zlib_libs,
194
+ PlatformInfo.crypto_libs,
192
195
  PlatformInfo.portability_cxx_ldflags
193
196
  ]
194
197
  )
@@ -129,7 +129,7 @@ task 'package:release' => ['package:set_official', 'package:gem', 'package:tarba
129
129
  require 'net/https'
130
130
  basename = "#{PhusionPassenger::PACKAGE_NAME}-#{PhusionPassenger::VERSION_STRING}"
131
131
  version = PhusionPassenger::VERSION_STRING
132
- is_beta = !!version.split('.')[3]
132
+ is_beta = !!version.split('.')[3]
133
133
 
134
134
  if !`git status --porcelain | grep -Ev '^\\?\\? '`.empty?
135
135
  STDERR.puts "-------------------"
@@ -355,7 +355,7 @@ task 'package:update_homebrew' do
355
355
  sh "cd #{homebrew_dir} && git commit -a -m 'passenger #{version}'"
356
356
  sh "cd #{homebrew_dir} && git push -f"
357
357
  if boolean_option('HOMEBREW_TEST', true)
358
- sh "cp /tmp/homebrew/Formula/passenger.rb /usr/local/Library/Formula/passenger.rb"
358
+ sh "cp /tmp/homebrew/Formula/passenger.rb /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/passenger.rb"
359
359
  if `brew info passenger` !~ /^Not installed$/
360
360
  sh "brew uninstall passenger"
361
361
  end
@@ -370,7 +370,6 @@ task 'package:initiate_binaries_building' do
370
370
  require 'uri'
371
371
  require 'net/http'
372
372
  require 'net/https'
373
- version = VERSION_STRING
374
373
  begin
375
374
  website_config = YAML.load_file(File.expand_path("~/.passenger_website.yml"))
376
375
  rescue Errno::ENOENT
@@ -398,7 +397,7 @@ task 'package:initiate_binaries_building' do
398
397
  end
399
398
 
400
399
  uri = URI.parse("https://oss-jenkins.phusion.nl/buildByToken/buildWithParameters?" +
401
- "job=Passenger%20#{type}%20binaries%20(release)&tag=#{git_tag}")
400
+ "job=Passenger%20#{type}%20binaries%20(release)&ref=#{git_tag}&testing=false")
402
401
  http = Net::HTTP.new(uri.host, uri.port)
403
402
  http.use_ssl = true
404
403
  http.verify_mode = OpenSSL::SSL::VERIFY_PEER
@@ -418,7 +417,6 @@ task 'package:initiate_debian_building' do
418
417
  require 'uri'
419
418
  require 'net/http'
420
419
  require 'net/https'
421
- version = VERSION_STRING
422
420
  begin
423
421
  website_config = YAML.load_file(File.expand_path("~/.passenger_website.yml"))
424
422
  rescue Errno::ENOENT
@@ -466,7 +464,6 @@ task 'package:initiate_rpm_building' do
466
464
  require 'uri'
467
465
  require 'net/http'
468
466
  require 'net/https'
469
- version = VERSION_STRING
470
467
  begin
471
468
  website_config = YAML.load_file(File.expand_path("~/.passenger_website.yml"))
472
469
  rescue Errno::ENOENT
@@ -510,17 +507,8 @@ task 'package:initiate_rpm_building' do
510
507
  end
511
508
 
512
509
  task 'package:build_osx_binaries' do
513
- if is_open_source?
514
- sh "cd ../passenger_autobuilder && " +
515
- "git pull && " +
516
- "./autobuild-osx https://github.com/phusion/passenger.git passenger " +
517
- "psg_autobuilder_chroot@juvia-helper.phusion.nl --tag=#{git_tag}"
518
- else
519
- sh "cd ../passenger_autobuilder && " +
520
- "git pull && " +
521
- "./autobuild-osx #{enterprise_git_url} passenger-enterprise " +
522
- "psg_autobuilder_chroot@juvia-helper.phusion.nl --tag=#{git_tag}"
523
- end
510
+ sh "env ENTERPRISE=#{is_enterprise?} TESTING=false " \
511
+ "./packaging/binaries/integration/publish/macos.sh"
524
512
  end
525
513
 
526
514
  desc "Remove gem, tarball and signatures"
@@ -4171,6 +4171,7 @@ CXX_DEPENDENCY_MAP =
4171
4171
  "src/agent/Core/Controller/TurboCaching.h",
4172
4172
  "src/agent/Core/OptionParser.h",
4173
4173
  "src/agent/Core/ResponseCache.h",
4174
+ "src/agent/Core/SecurityUpdateChecker.h",
4174
4175
  "src/agent/Core/SpawningKit/BackgroundIOCapturer.h",
4175
4176
  "src/agent/Core/SpawningKit/Config.h",
4176
4177
  "src/agent/Core/SpawningKit/DirectSpawner.h",
@@ -4194,6 +4195,7 @@ CXX_DEPENDENCY_MAP =
4194
4195
  "src/cxx_supportlib/BackgroundEventLoop.cpp",
4195
4196
  "src/cxx_supportlib/BackgroundEventLoop.h",
4196
4197
  "src/cxx_supportlib/Constants.h",
4198
+ "src/cxx_supportlib/Crypto.h",
4197
4199
  "src/cxx_supportlib/DataStructures/HashedStaticString.h",
4198
4200
  "src/cxx_supportlib/DataStructures/LString.h",
4199
4201
  "src/cxx_supportlib/DataStructures/StringKeyTable.h",
@@ -4238,6 +4240,7 @@ CXX_DEPENDENCY_MAP =
4238
4240
  "src/cxx_supportlib/Utils/BufferedIO.h",
4239
4241
  "src/cxx_supportlib/Utils/CachedFileStat.hpp",
4240
4242
  "src/cxx_supportlib/Utils/ClassUtils.h",
4243
+ "src/cxx_supportlib/Utils/Curl.h",
4241
4244
  "src/cxx_supportlib/Utils/DateParsing.h",
4242
4245
  "src/cxx_supportlib/Utils/FastStringStream.h",
4243
4246
  "src/cxx_supportlib/Utils/HashMap.h",
@@ -4323,6 +4326,25 @@ CXX_DEPENDENCY_MAP =
4323
4326
  "src/cxx_supportlib/oxt/detail/backtrace_disabled.hpp",
4324
4327
  "src/cxx_supportlib/oxt/detail/backtrace_enabled.hpp",
4325
4328
  "src/cxx_supportlib/oxt/macros.hpp"],
4329
+ "src/agent/Core/SecurityUpdateChecker.h"=>
4330
+ ["src/cxx_supportlib/Crypto.h",
4331
+ "src/cxx_supportlib/Exceptions.h",
4332
+ "src/cxx_supportlib/StaticString.h",
4333
+ "src/cxx_supportlib/Utils.h",
4334
+ "src/cxx_supportlib/Utils/Curl.h",
4335
+ "src/cxx_supportlib/Utils/LargeFiles.h",
4336
+ "src/cxx_supportlib/Utils/StrIntUtils.h",
4337
+ "src/cxx_supportlib/oxt/backtrace.hpp",
4338
+ "src/cxx_supportlib/oxt/detail/../spin_lock.hpp",
4339
+ "src/cxx_supportlib/oxt/detail/backtrace_disabled.hpp",
4340
+ "src/cxx_supportlib/oxt/detail/backtrace_enabled.hpp",
4341
+ "src/cxx_supportlib/oxt/detail/context.hpp",
4342
+ "src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp",
4343
+ "src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp",
4344
+ "src/cxx_supportlib/oxt/macros.hpp",
4345
+ "src/cxx_supportlib/oxt/system_calls.hpp",
4346
+ "src/cxx_supportlib/oxt/thread.hpp",
4347
+ "src/cxx_supportlib/oxt/tracable_exception.hpp"],
4326
4348
  "src/agent/Core/SpawningKit/BackgroundIOCapturer.h"=>
4327
4349
  ["src/cxx_supportlib/Exceptions.h",
4328
4350
  "src/cxx_supportlib/FileDescriptor.h",
@@ -6096,6 +6118,24 @@ CXX_DEPENDENCY_MAP =
6096
6118
  [],
6097
6119
  "src/cxx_supportlib/Constants.h"=>
6098
6120
  [],
6121
+ "src/cxx_supportlib/Crypto.cpp"=>
6122
+ ["src/cxx_supportlib/Crypto.h",
6123
+ "src/cxx_supportlib/Exceptions.h",
6124
+ "src/cxx_supportlib/Logging.h",
6125
+ "src/cxx_supportlib/StaticString.h",
6126
+ "src/cxx_supportlib/Utils/FastStringStream.h",
6127
+ "src/cxx_supportlib/Utils/StrIntUtils.h",
6128
+ "src/cxx_supportlib/Utils/SystemTime.h",
6129
+ "src/cxx_supportlib/oxt/detail/../spin_lock.hpp",
6130
+ "src/cxx_supportlib/oxt/detail/context.hpp",
6131
+ "src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp",
6132
+ "src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp",
6133
+ "src/cxx_supportlib/oxt/macros.hpp",
6134
+ "src/cxx_supportlib/oxt/system_calls.hpp",
6135
+ "src/cxx_supportlib/oxt/thread.hpp",
6136
+ "src/cxx_supportlib/oxt/tracable_exception.hpp"],
6137
+ "src/cxx_supportlib/Crypto.h"=>
6138
+ [],
6099
6139
  "src/cxx_supportlib/DataStructures/HashedStaticString.h"=>
6100
6140
  ["src/cxx_supportlib/StaticString.h",
6101
6141
  "src/cxx_supportlib/Utils/Hasher.h",
@@ -7547,6 +7587,33 @@ CXX_DEPENDENCY_MAP =
7547
7587
  "src/cxx_supportlib/oxt/tracable_exception.hpp"],
7548
7588
  "src/ruby_native_extension/passenger_native_support.c"=>
7549
7589
  [],
7590
+ "test/cxx/Base64DecodingTest.cpp"=>
7591
+ ["src/cxx_supportlib/BackgroundEventLoop.h",
7592
+ "src/cxx_supportlib/Constants.h",
7593
+ "src/cxx_supportlib/Exceptions.h",
7594
+ "src/cxx_supportlib/FileDescriptor.h",
7595
+ "src/cxx_supportlib/InstanceDirectory.h",
7596
+ "src/cxx_supportlib/Logging.h",
7597
+ "src/cxx_supportlib/RandomGenerator.h",
7598
+ "src/cxx_supportlib/ResourceLocator.h",
7599
+ "src/cxx_supportlib/StaticString.h",
7600
+ "src/cxx_supportlib/Utils.h",
7601
+ "src/cxx_supportlib/Utils/FastStringStream.h",
7602
+ "src/cxx_supportlib/Utils/IOUtils.h",
7603
+ "src/cxx_supportlib/Utils/IniFile.h",
7604
+ "src/cxx_supportlib/Utils/LargeFiles.h",
7605
+ "src/cxx_supportlib/Utils/StrIntUtils.h",
7606
+ "src/cxx_supportlib/Utils/SystemTime.h",
7607
+ "src/cxx_supportlib/oxt/detail/../spin_lock.hpp",
7608
+ "src/cxx_supportlib/oxt/detail/context.hpp",
7609
+ "src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp",
7610
+ "src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp",
7611
+ "src/cxx_supportlib/oxt/macros.hpp",
7612
+ "src/cxx_supportlib/oxt/system_calls.hpp",
7613
+ "src/cxx_supportlib/oxt/thread.hpp",
7614
+ "src/cxx_supportlib/oxt/tracable_exception.hpp",
7615
+ "test/cxx/../tut/tut.h",
7616
+ "test/cxx/TestSupport.h"],
7550
7617
  "test/cxx/BufferedIOTest.cpp"=>
7551
7618
  ["src/cxx_supportlib/BackgroundEventLoop.h",
7552
7619
  "src/cxx_supportlib/Constants.h",
@@ -8222,6 +8289,39 @@ CXX_DEPENDENCY_MAP =
8222
8289
  "src/cxx_supportlib/oxt/tracable_exception.hpp",
8223
8290
  "test/cxx/../tut/tut.h",
8224
8291
  "test/cxx/TestSupport.h"],
8292
+ "test/cxx/Core/SecurityUpdateCheckerTest.cpp"=>
8293
+ ["src/agent/Core/SecurityUpdateChecker.h",
8294
+ "src/cxx_supportlib/BackgroundEventLoop.h",
8295
+ "src/cxx_supportlib/Constants.h",
8296
+ "src/cxx_supportlib/Crypto.h",
8297
+ "src/cxx_supportlib/Exceptions.h",
8298
+ "src/cxx_supportlib/FileDescriptor.h",
8299
+ "src/cxx_supportlib/InstanceDirectory.h",
8300
+ "src/cxx_supportlib/Logging.h",
8301
+ "src/cxx_supportlib/RandomGenerator.h",
8302
+ "src/cxx_supportlib/ResourceLocator.h",
8303
+ "src/cxx_supportlib/StaticString.h",
8304
+ "src/cxx_supportlib/Utils.h",
8305
+ "src/cxx_supportlib/Utils/Curl.h",
8306
+ "src/cxx_supportlib/Utils/FastStringStream.h",
8307
+ "src/cxx_supportlib/Utils/IOUtils.h",
8308
+ "src/cxx_supportlib/Utils/IniFile.h",
8309
+ "src/cxx_supportlib/Utils/LargeFiles.h",
8310
+ "src/cxx_supportlib/Utils/StrIntUtils.h",
8311
+ "src/cxx_supportlib/Utils/SystemTime.h",
8312
+ "src/cxx_supportlib/oxt/backtrace.hpp",
8313
+ "src/cxx_supportlib/oxt/detail/../spin_lock.hpp",
8314
+ "src/cxx_supportlib/oxt/detail/backtrace_disabled.hpp",
8315
+ "src/cxx_supportlib/oxt/detail/backtrace_enabled.hpp",
8316
+ "src/cxx_supportlib/oxt/detail/context.hpp",
8317
+ "src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp",
8318
+ "src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp",
8319
+ "src/cxx_supportlib/oxt/macros.hpp",
8320
+ "src/cxx_supportlib/oxt/system_calls.hpp",
8321
+ "src/cxx_supportlib/oxt/thread.hpp",
8322
+ "src/cxx_supportlib/oxt/tracable_exception.hpp",
8323
+ "test/cxx/../tut/tut.h",
8324
+ "test/cxx/TestSupport.h"],
8225
8325
  "test/cxx/Core/SpawningKit/DirectSpawnerTest.cpp"=>
8226
8326
  ["src/agent/Core/ApplicationPool/Options.h",
8227
8327
  "src/agent/Core/SpawningKit/BackgroundIOCapturer.h",
@@ -251,10 +251,13 @@ module CxxCodeBuilder
251
251
  # * foo
252
252
  # * bar
253
253
  # */
254
- def comment(text)
254
+ def comment(text, indent_level = 0)
255
255
  add_code '/*'
256
256
  prefix = @indent_string * @indent_level
257
257
  prefix << ' * '
258
+ if indent_level > 0
259
+ prefix << ' ' * indent_level
260
+ end
258
261
  @code << reindent(unindent(text.to_s), prefix, false)
259
262
  @code << "\n"
260
263
  add_code_without_newline '-'
@@ -57,8 +57,7 @@ task 'test:install_deps' do
57
57
  end
58
58
 
59
59
  if !PlatformInfo.locate_ruby_tool('bundle') || bundler_too_old?
60
- # workaround for issue "bluecloth not found" when using 1.12.1
61
- sh "#{gem_install} bundler --version 1.11.2"
60
+ sh "#{gem_install} bundler"
62
61
  end
63
62
 
64
63
  if install_base_deps && install_doctools
@@ -71,7 +70,18 @@ task 'test:install_deps' do
71
70
  sh "bundle install #{bundle_args} --without base"
72
71
  end
73
72
  end
73
+
74
+ if install_doctools
75
+ # workaround for issue "bluecloth not found" when using 1.12.x
76
+ sh "#{gem_install} bundler --version 1.11.2"
77
+ sh "rvm list"
78
+ end
79
+
74
80
  if boolean_option('USH_BUNDLES', default)
81
+ # see what is available for Submodule tests just in case Travis CI environment changes
82
+ # || true to avoid missing rvm command triggering a failure on Jenkins CI
83
+ sh "rvm list || true"
84
+
75
85
  sh "cd src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core" \
76
86
  " && bundle install #{bundle_args} --with travis --without doc notravis"
77
87
  sh "cd src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_rails" \