passenger 6.1.8 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +24 -2
  3. data/CONTRIBUTING.md +3 -3
  4. data/README.md +1 -1
  5. data/build/cxx_tests.rb +3 -0
  6. data/build/support/cxx_dependency_map.rb +1486 -665
  7. data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +2 -0
  8. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +2 -0
  9. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/initializer_builder.rb +2 -0
  10. data/dev/index_cxx_dependencies.rb +1 -1
  11. data/dev/runner +2 -0
  12. data/doc/DeveloperQuickstart.md +1 -1
  13. data/src/README.md +1 -1
  14. data/src/agent/Core/Config.h +1 -1
  15. data/src/agent/Core/Controller/Config.h +1 -1
  16. data/src/agent/Shared/ApiServerUtils.h +14 -9
  17. data/src/agent/Watchdog/{AgentWatcher.cpp → AgentWatcher.h} +28 -1
  18. data/src/agent/Watchdog/ApiServer.h +28 -5
  19. data/src/agent/Watchdog/Config.h +1 -1
  20. data/src/agent/Watchdog/{CoreWatcher.cpp → CoreWatcher.h} +18 -1
  21. data/src/agent/Watchdog/{InstanceDirToucher.cpp → InstanceDirToucher.h} +20 -1
  22. data/src/agent/Watchdog/WatchdogMain.cpp +11 -77
  23. data/src/agent/Watchdog/WorkingObjects.h +108 -0
  24. data/src/cxx_supportlib/Constants.h +1 -1
  25. data/src/cxx_supportlib/IOTools/IOUtils.cpp +2 -17
  26. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +3 -0
  27. data/src/cxx_supportlib/ServerKit/Server.h +4 -21
  28. data/src/cxx_supportlib/Utils/Socket.cpp +67 -0
  29. data/src/cxx_supportlib/Utils/Socket.h +35 -0
  30. data/src/helper-scripts/meteor-loader.rb +3 -0
  31. data/src/helper-scripts/rack-loader.rb +3 -0
  32. data/src/helper-scripts/rack-preloader.rb +3 -0
  33. data/src/nginx_module/ContentHandler.c +13 -1
  34. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +2 -0
  35. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +2 -0
  36. data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +2 -0
  37. data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +2 -0
  38. data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +6 -0
  39. data/src/ruby_supportlib/phusion_passenger/common_library.rb +3 -0
  40. data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +2 -0
  41. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +2 -0
  42. data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +2 -0
  43. data/src/ruby_supportlib/phusion_passenger/config/build_native_support_command.rb +2 -0
  44. data/src/ruby_supportlib/phusion_passenger/config/command.rb +2 -0
  45. data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +2 -0
  46. data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +2 -0
  47. data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +2 -0
  48. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +2 -0
  49. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +2 -0
  50. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +2 -0
  51. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +2 -0
  52. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +4 -0
  53. data/src/ruby_supportlib/phusion_passenger/config/list_instances_command.rb +2 -0
  54. data/src/ruby_supportlib/phusion_passenger/config/main.rb +2 -0
  55. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +2 -0
  56. data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +2 -0
  57. data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +2 -0
  58. data/src/ruby_supportlib/phusion_passenger/config/system_metrics_command.rb +2 -0
  59. data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +2 -0
  60. data/src/ruby_supportlib/phusion_passenger/config/utils.rb +4 -0
  61. data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +2 -0
  62. data/src/ruby_supportlib/phusion_passenger/constants.rb +4 -0
  63. data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +2 -0
  64. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +2 -0
  65. data/src/ruby_supportlib/phusion_passenger/packaging.rb +3 -0
  66. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +2 -0
  67. data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +2 -0
  68. data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +2 -0
  69. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +2 -0
  70. data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +1 -0
  71. data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +2 -0
  72. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +2 -0
  73. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck.rb +4 -0
  74. data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +2 -0
  75. data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +2 -0
  76. data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +2 -0
  77. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +2 -0
  78. data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +2 -0
  79. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +2 -0
  80. data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +2 -0
  81. data/src/ruby_supportlib/phusion_passenger/platform_info.rb +2 -0
  82. data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +1 -0
  83. data/src/ruby_supportlib/phusion_passenger/public_api.rb +2 -0
  84. data/src/ruby_supportlib/phusion_passenger/rack/handler.rb +6 -0
  85. data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +2 -0
  86. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +6 -0
  87. data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +12 -0
  88. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -0
  89. data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +4 -0
  90. data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +2 -0
  91. data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +2 -0
  92. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +4 -0
  93. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +4 -0
  94. data/src/ruby_supportlib/phusion_passenger/standalone/control_utils.rb +4 -0
  95. data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +2 -0
  96. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +6 -0
  97. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +6 -0
  98. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +2 -0
  99. data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +2 -0
  100. data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +2 -0
  101. data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +2 -0
  102. data/src/ruby_supportlib/phusion_passenger/utils/ansi_colors.rb +4 -0
  103. data/src/ruby_supportlib/phusion_passenger/utils/download.rb +4 -0
  104. data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +2 -0
  105. data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +2 -0
  106. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +4 -0
  107. data/src/ruby_supportlib/phusion_passenger/utils/lock.rb +2 -0
  108. data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +4 -0
  109. data/src/ruby_supportlib/phusion_passenger/utils/strscan.rb +2 -0
  110. data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +2 -0
  111. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +2 -0
  112. data/src/ruby_supportlib/phusion_passenger/utils/tmpio.rb +2 -0
  113. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +2 -0
  114. data/src/ruby_supportlib/phusion_passenger/utils.rb +2 -0
  115. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +2 -0
  116. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/base.rb +2 -0
  117. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +2 -0
  118. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +2 -0
  119. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +4 -0
  120. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/version.rb +2 -0
  121. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/lock_file.rb +2 -0
  122. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/version.rb +2 -0
  123. data/src/ruby_supportlib/phusion_passenger.rb +7 -5
  124. metadata +9 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 460e61d9b6cf7bae691bd3dc92da99e280bd1563da77f7eec933cfc12fd56970
4
- data.tar.gz: 4813a698a57bead01bc2fbe1bb420c5695ac4113cf746ed9173cdfb319b1fdf3
3
+ metadata.gz: eed652bef0cc1e8f132f5f8f600b7d214f45c93beb0b7999df6b8f4c72581bd0
4
+ data.tar.gz: 01a080e5b44be9ab6a30d6fd5e9fe0a13fc68d3bf9d9c9e7ccfbab16f85197ad
5
5
  SHA512:
6
- metadata.gz: 7c9580d7074d8282f3433038c54fec2efe47e03870a1d75ef46f1e50335f2977d157487d3885bf40e0556540396182bdde59c2fd13417ec60a3fe459654d9797
7
- data.tar.gz: 923bc08ded89b05d8e2f78858a71c7f867f534eae0d026d386d53a78623d27c1a20a53be1eaab1170adba095c721f94ce319301f70505d34903cf6a6d858b930
6
+ metadata.gz: c08416dcde76820452df4f5502eb34d405f166dac31fe98b420bce01c447d549946368d2b0e8ceb415f8962313d98e7c41931655a854f59ae633ac1d11b82d8d
7
+ data.tar.gz: 6a0ab43c8d3c03beac4b77bd4f628be1237fc2b873b3665a205d5c0ed6fdefc4d3ec16c4c7c63548998c9908a2c8df87dc9799f94b46503cb6757f725538d908
data/CHANGELOG CHANGED
@@ -1,6 +1,28 @@
1
- Release 6.1.8 (Not yet released)
1
+ Release 6.2.0 (Not yet released)
2
2
  -------------
3
- *
3
+ * Fix some compatibility issues with FreeBSD. Closes GH-2668 & GH-2669.
4
+ * [Nginx] Upgrades preferred Nginx to 1.30.4 from 1.30.3.
5
+ * Fix a vulnerability that left the Passenger Watchdog API unauthenticated. This is a breaking change for some installations and scripts: an "empty watchdog_api_server_authorizations" now means no-auth-is-possible instead of auth-is-skipped. This regression was introduced in 5.2.0. CVE number pending.
6
+ * Fix a vulnerability that allowed unauthenticated users to use a Passenger Watchdog process to elevate privileges. This regression was introduced in 5.2.0. CVE number pending.
7
+ * Updated various library versions used in precompiled binaries (used for e.g. gem installs):
8
+ - cmake: 4.3.3 -> 4.4.2
9
+ - curl: 8.20.0 -> 8.21.0
10
+ - git: 2.54.0 -> 2.55.0
11
+ - gnupg: 2.5.20 -> 2.5.21
12
+ - libffi: 3.5.2 -> 3.8.0
13
+ - libpsl: 0.21.5 -> 0.23.3
14
+ - openssl: 3.6.2 -> 3.6.3
15
+ - pinentry: 1.3.2 -> 1.3.3
16
+ - rubygems: 4.0.12 -> 4.0.18
17
+ - rubies:
18
+ - 3.3.11 -> 3.3.12
19
+ - 3.4.9 -> 3.4.10
20
+ - 4.0.5 -> 4.0.6
21
+
22
+
23
+ Release 6.1.8
24
+ -------------
25
+ * [Nginx] Build Nginx dynamic modules against nginx-mod-devel sources on Enterprise Linux. Closes GH-2664.
4
26
 
5
27
 
6
28
  Release 6.1.7
data/CONTRIBUTING.md CHANGED
@@ -88,7 +88,7 @@ Phusion Passenger is mostly written in C++, but the build system and various sma
88
88
  <a name="dev_quickstart"></a>
89
89
  ### Developer QuickStart
90
90
 
91
- <a href="https://vimeo.com/phusionnl/review/97427161/15cb4cc59a"><img src="http://blog.phusion.nl/wp-content/uploads/2014/06/passenger_developer_quickstart.png"></a>
91
+ <a href="https://youtu.be/CSpk9mfKdbc"><img src="http://blog.phusion.nl/wp-content/uploads/2014/06/passenger_developer_quickstart.png"></a>
92
92
 
93
93
  _Watch the Developer QuickStart screencast_
94
94
 
@@ -102,9 +102,9 @@ Phusion Passenger's design and architecture is documented in detail in the [Desi
102
102
  <a name="code_walkthrough"></a>
103
103
  ### Code Walkthrough
104
104
 
105
- <a href="http://vimeo.com/phusionnl/review/98027409/03ba678684"><img src="http://blog.phusion.nl/wp-content/uploads/2014/06/code_walkthrough.png"></a>
105
+ <a href="https://youtu.be/exugD98pqQc"><img src="http://blog.phusion.nl/wp-content/uploads/2014/06/code_walkthrough.png"></a>
106
106
 
107
- We have [a video](http://vimeo.com/phusionnl/review/98027409/03ba678684) which walks you through the Phusion Passenger codebase, showing you step-by-step how things fit together. It complements the [Design & Architecture](https://www.phusionpassenger.com/documentation/Design%20and%20Architecture.html) document.
107
+ We have [a video](https://youtu.be/exugD98pqQc) which walks you through the Phusion Passenger codebase, showing you step-by-step how things fit together. It complements the [Design & Architecture](https://www.phusionpassenger.com/documentation/Design%20and%20Architecture.html) document.
108
108
 
109
109
  <a name="build_system"></a>
110
110
  ### Compilation and build system
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  [Phusion Passenger®](https://www.phusionpassenger.com/) is a web server and application server, designed to be fast, robust and lightweight. It takes a lot of complexity out of deploying web apps, adds powerful enterprise-grade features that are useful in production, and makes administration much easier and less complex. Phusion Passenger supports Ruby, Python, Node.js and Meteor, and is being used by high-profile companies such as **Apple, Pixar, New York Times, AirBnB, Juniper** etc as well as [over 650.000 websites](http://trends.builtwith.com/Web-Server/Phusion-Passenger).
6
6
 
7
- <a href="https://vimeo.com/224923750"><img src="https://github.com/phusion/passenger/blob/stable-5.2/images/justin.png" height="400"></a><br><em>Phusion Passenger - the smart app server</em>
7
+ <a href="https://youtu.be/fFFnKvedU9w"><img src="https://github.com/phusion/passenger/blob/stable-5.2/images/justin.png" height="400"></a><br><em>Phusion Passenger - the smart app server</em>
8
8
 
9
9
  <p>What makes Passenger so fast and reliable is its <strong>C++</strong> core, its <strong>zero-copy</strong> architecture, its <strong>watchdog</strong> system and its <strong>hybrid</strong> evented, multi-threaded and multi-process design.</p>
10
10
 
data/build/cxx_tests.rb CHANGED
@@ -75,6 +75,9 @@ TEST_CXX_OBJECTS = {
75
75
  "test/cxx/ServerKit/ServerTest.cpp",
76
76
  "#{TEST_OUTPUT_DIR}cxx/ServerKit/HttpServerTest.o" =>
77
77
  "test/cxx/ServerKit/HttpServerTest.cpp",
78
+
79
+ "#{TEST_OUTPUT_DIR}cxx/Watchdog/ApiServerTest.o" =>
80
+ "test/cxx/Watchdog/ApiServerTest.cpp",
78
81
  "#{TEST_OUTPUT_DIR}cxx/ServerKit/CookieUtilsTest.o" =>
79
82
  "test/cxx/ServerKit/CookieUtilsTest.cpp",
80
83