passenger 5.3.4 → 6.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (283) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +69 -0
  3. data/CONTRIBUTORS +1 -0
  4. data/README.md +2 -1
  5. data/Rakefile +0 -5
  6. data/build/agent.rb +6 -3
  7. data/build/cxx_tests.rb +28 -19
  8. data/build/integration_tests.rb +6 -2
  9. data/build/misc.rb +2 -1
  10. data/build/packaging.rb +2 -0
  11. data/build/support/cplusplus.rb +2 -2
  12. data/build/support/cxx_dependency_map.rb +2651 -2189
  13. data/dev/colorize-logs +272 -0
  14. data/dev/show-latest-crashlog-dir +27 -0
  15. data/resources/templates/standalone/http.erb +2 -0
  16. data/resources/templates/standalone/server.erb +1 -0
  17. data/src/agent/AgentMain.cpp +4 -0
  18. data/src/agent/Core/AdminPanelConnector.h +6 -6
  19. data/src/agent/Core/ApiServer.h +4 -4
  20. data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +2 -2
  21. data/src/agent/Core/ApplicationPool/Context.h +5 -1
  22. data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +2 -2
  23. data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +5 -0
  24. data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +2 -1
  25. data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +3 -3
  26. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
  27. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +13 -20
  28. data/src/agent/Core/ApplicationPool/Group.h +4 -2
  29. data/src/agent/Core/ApplicationPool/Implementation.cpp +5 -5
  30. data/src/agent/Core/ApplicationPool/Options.h +42 -38
  31. data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +2 -1
  32. data/src/agent/Core/ApplicationPool/Pool.h +4 -4
  33. data/src/agent/Core/ApplicationPool/Process.h +13 -15
  34. data/src/agent/Core/ApplicationPool/Socket.h +5 -5
  35. data/src/agent/Core/ApplicationPool/TestSession.h +3 -3
  36. data/src/agent/Core/Config.h +50 -10
  37. data/src/agent/Core/ConfigChange.cpp +13 -1
  38. data/src/agent/Core/Controller/Config.h +41 -17
  39. data/src/agent/Core/Controller/ForwardResponse.cpp +4 -0
  40. data/src/agent/Core/Controller/InitRequest.cpp +14 -8
  41. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +5 -0
  42. data/src/agent/Core/Controller/SendRequest.cpp +9 -9
  43. data/src/agent/Core/Controller/TurboCaching.h +2 -2
  44. data/src/agent/Core/Controller.h +7 -5
  45. data/src/agent/Core/CoreMain.cpp +204 -60
  46. data/src/agent/Core/OptionParser.h +20 -3
  47. data/src/agent/Core/ResponseCache.h +3 -3
  48. data/src/agent/Core/SecurityUpdateChecker.h +4 -2
  49. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +1 -1
  50. data/src/agent/Core/SpawningKit/Config.h +3 -2
  51. data/src/agent/Core/SpawningKit/Context.h +8 -2
  52. data/src/agent/Core/SpawningKit/DirectSpawner.h +4 -4
  53. data/src/agent/Core/SpawningKit/DummySpawner.h +3 -3
  54. data/src/agent/Core/SpawningKit/ErrorRenderer.h +1 -1
  55. data/src/agent/Core/SpawningKit/Exceptions.h +21 -14
  56. data/src/agent/Core/SpawningKit/Factory.h +1 -1
  57. data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
  58. data/src/agent/Core/SpawningKit/Handshake/Perform.h +14 -2
  59. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +3 -3
  60. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +1 -1
  61. data/src/agent/Core/SpawningKit/Journey.h +4 -5
  62. data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
  63. data/src/agent/Core/SpawningKit/README.md +34 -17
  64. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +1 -1
  65. data/src/agent/Core/SpawningKit/Result.h +20 -8
  66. data/src/agent/Core/SpawningKit/SmartSpawner.h +7 -7
  67. data/src/agent/Core/SpawningKit/Spawner.h +25 -8
  68. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +17 -7
  69. data/src/agent/Core/TelemetryCollector.h +681 -0
  70. data/src/agent/ExecHelper/ExecHelperMain.cpp +1 -1
  71. data/src/agent/FileReadHelper/FileReadHelperMain.cpp +198 -0
  72. data/src/agent/README.md +1 -1
  73. data/src/agent/Shared/ApiAccountUtils.h +1 -1
  74. data/src/agent/Shared/ApiServerUtils.h +3 -3
  75. data/src/agent/Shared/ApplicationPoolApiKey.h +2 -2
  76. data/src/agent/Shared/Fundamentals/AbortHandler.cpp +324 -98
  77. data/src/agent/Shared/Fundamentals/AbortHandler.h +31 -4
  78. data/src/agent/Shared/Fundamentals/Initialization.cpp +4 -5
  79. data/src/agent/Shared/Fundamentals/Initialization.h +9 -1
  80. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +1 -1
  81. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +4 -3
  82. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +3 -3
  83. data/src/agent/Watchdog/ApiServer.h +3 -3
  84. data/src/agent/Watchdog/Config.h +24 -5
  85. data/src/agent/Watchdog/CoreWatcher.cpp +2 -2
  86. data/src/agent/Watchdog/WatchdogMain.cpp +97 -28
  87. data/src/apache2_module/Config.cpp +14 -14
  88. data/src/apache2_module/Config.h +8 -16
  89. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +510 -481
  90. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +39 -17
  91. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +5 -0
  92. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +69 -1
  93. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +31 -1
  94. data/src/apache2_module/ConfigGeneral/Common.h +45 -0
  95. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +17 -1
  96. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +16 -1
  97. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +19 -5
  98. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +26 -9
  99. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +19 -1
  100. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +10 -1
  101. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +14 -1
  102. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +11 -1
  103. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +36 -1
  104. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +34 -1
  105. data/src/apache2_module/DirectoryMapper.h +36 -37
  106. data/src/apache2_module/Hooks.cpp +27 -8
  107. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +20 -0
  108. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +48 -1
  109. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +36 -1
  110. data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.cpp +2 -2
  111. data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.h +4 -4
  112. data/src/cxx_supportlib/AppLocalConfigFileUtils.h +148 -0
  113. data/src/cxx_supportlib/AppTypeDetector/CBindings.cpp +147 -0
  114. data/src/cxx_supportlib/AppTypeDetector/CBindings.h +75 -0
  115. data/src/cxx_supportlib/{AppTypes.h → AppTypeDetector/Detector.h} +92 -131
  116. data/src/cxx_supportlib/ConfigKit/README.md +90 -2
  117. data/src/cxx_supportlib/ConfigKit/Schema.h +60 -15
  118. data/src/cxx_supportlib/ConfigKit/Store.h +129 -5
  119. data/src/cxx_supportlib/Constants.h +1 -1
  120. data/src/cxx_supportlib/{Utils → DataStructures}/HashMap.h +4 -4
  121. data/src/cxx_supportlib/DataStructures/HashedStaticString.h +5 -5
  122. data/src/cxx_supportlib/DataStructures/LString.h +3 -3
  123. data/src/cxx_supportlib/{Utils → DataStructures}/StringMap.h +36 -36
  124. data/src/cxx_supportlib/FileTools/FileManip.cpp +1 -1
  125. data/src/cxx_supportlib/FileTools/PathManip.cpp +2 -2
  126. data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +1 -1
  127. data/src/cxx_supportlib/Hooks.h +2 -2
  128. data/src/cxx_supportlib/{Utils → IOTools}/BufferedIO.h +5 -5
  129. data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.cpp +4 -3
  130. data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.h +3 -3
  131. data/src/cxx_supportlib/{Utils → IOTools}/MessageIO.h +7 -7
  132. data/src/cxx_supportlib/{MessageReadersWriters.h → IOTools/MessageSerialization.h} +5 -5
  133. data/src/cxx_supportlib/InstanceDirectory.h +4 -4
  134. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
  135. data/src/cxx_supportlib/{Utils → JsonTools}/JsonUtils.h +5 -5
  136. data/src/cxx_supportlib/LoggingKit/Context.h +2 -2
  137. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +3 -3
  138. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +2 -2
  139. data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +3 -3
  140. data/src/cxx_supportlib/ProcessManagement/Ruby.h +7 -2
  141. data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +19 -12
  142. data/src/cxx_supportlib/ProcessManagement/Spawn.h +21 -2
  143. data/src/cxx_supportlib/ProcessManagement/Utils.h +10 -0
  144. data/src/cxx_supportlib/RandomGenerator.h +2 -2
  145. data/src/cxx_supportlib/ResourceLocator.h +1 -1
  146. data/src/cxx_supportlib/{Crypto.cpp → SecurityKit/Crypto.cpp} +4 -4
  147. data/src/cxx_supportlib/{Crypto.h → SecurityKit/Crypto.h} +4 -4
  148. data/src/cxx_supportlib/{Utils → SecurityKit}/MemZeroGuard.h +0 -0
  149. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +2 -2
  150. data/src/cxx_supportlib/ServerKit/Channel.h +1 -1
  151. data/src/cxx_supportlib/ServerKit/ClientRef.h +17 -7
  152. data/src/cxx_supportlib/ServerKit/Context.h +2 -2
  153. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
  154. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +3 -3
  155. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +2 -2
  156. data/src/cxx_supportlib/ServerKit/HttpRequestRef.h +17 -7
  157. data/src/cxx_supportlib/ServerKit/HttpServer.h +16 -10
  158. data/src/cxx_supportlib/ServerKit/Server.h +3 -4
  159. data/src/cxx_supportlib/{Utils → StrIntTools}/DateParsing.h +5 -5
  160. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.cpp +3 -3
  161. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.h +0 -0
  162. data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtilsNoStrictAliasing.cpp +12 -12
  163. data/src/cxx_supportlib/{Utils → StrIntTools}/StringScanning.h +5 -5
  164. data/src/cxx_supportlib/{Utils → StrIntTools}/Template.h +30 -5
  165. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +88 -0
  166. data/src/cxx_supportlib/{Utils → SystemTools}/ProcessMetricsCollector.h +15 -12
  167. data/src/cxx_supportlib/{Utils → SystemTools}/SystemMetricsCollector.h +3 -3
  168. data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.cpp +1 -1
  169. data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.h +0 -0
  170. data/src/cxx_supportlib/SystemTools/UserDatabase.h +1 -1
  171. data/src/cxx_supportlib/Utils/CachedFileStat.hpp +3 -3
  172. data/src/cxx_supportlib/Utils/Curl.h +2 -2
  173. data/src/cxx_supportlib/Utils/FileChangeChecker.h +2 -2
  174. data/src/cxx_supportlib/Utils/MessagePassing.h +1 -1
  175. data/src/cxx_supportlib/Utils/SpeedMeter.h +2 -2
  176. data/src/cxx_supportlib/Utils/Timer.h +2 -2
  177. data/src/cxx_supportlib/Utils/VariantMap.h +3 -3
  178. data/src/cxx_supportlib/Utils.cpp +2 -2
  179. data/src/cxx_supportlib/WatchdogLauncher.h +3 -3
  180. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +1 -1
  181. data/src/cxx_supportlib/WrapperRegistry/CBindings.cpp +85 -0
  182. data/src/cxx_supportlib/{Utils/MemoryBarrier.h → WrapperRegistry/CBindings.h} +30 -27
  183. data/src/cxx_supportlib/WrapperRegistry/Entry.h +112 -0
  184. data/src/cxx_supportlib/WrapperRegistry/README.md +37 -0
  185. data/src/cxx_supportlib/WrapperRegistry/Registry.h +309 -0
  186. data/src/cxx_supportlib/vendor-modified/psg_sysqueue.h +3 -0
  187. data/src/helper-scripts/download_binaries/extconf.rb +6 -2
  188. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +32 -0
  189. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +12 -0
  190. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +36 -0
  191. data/src/nginx_module/Configuration.c +23 -3
  192. data/src/nginx_module/ContentHandler.c +331 -32
  193. data/src/nginx_module/ContentHandler.h +8 -3
  194. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +10 -0
  195. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +27 -0
  196. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +3 -0
  197. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +7 -0
  198. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +11 -0
  199. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +23 -0
  200. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +8 -0
  201. data/src/nginx_module/config +2 -1
  202. data/src/nginx_module/ngx_http_passenger_module.c +9 -3
  203. data/src/nginx_module/ngx_http_passenger_module.h +10 -3
  204. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +19 -0
  205. data/src/ruby_supportlib/phusion_passenger/common_library.rb +19 -16
  206. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +4 -4
  207. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +6 -2
  208. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +6 -2
  209. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
  210. data/src/ruby_supportlib/phusion_passenger/message_channel.rb +2 -2
  211. data/src/ruby_supportlib/phusion_passenger/native_support.rb +7 -3
  212. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +29 -0
  213. data/src/ruby_supportlib/phusion_passenger/packaging.rb +20 -19
  214. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +22 -4
  215. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +33 -13
  216. data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +1 -0
  217. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +22 -2
  218. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +4 -1
  219. data/src/ruby_supportlib/phusion_passenger.rb +7 -5
  220. data/src/schema_printer/SchemaPrinterMain.cpp +2 -0
  221. metadata +40 -89
  222. data/.editorconfig +0 -134
  223. data/CODE_OF_CONDUCT.md +0 -52
  224. data/dev/boost-patches/0001-Patch-boost-thread-so-that-oxt-thread-can-use-it.patch +0 -48
  225. data/dev/boost-patches/0002-Make-boost-thread_interrupted-derive-from-oxt-tracab.patch +0 -33
  226. data/dev/boost-patches/0003-Disable-a-Clang-pragma-to-prevent-warnings-on-OS-X.patch +0 -25
  227. data/dev/ci/README.md +0 -134
  228. data/dev/ci/lib/functions.sh +0 -129
  229. data/dev/ci/lib/set-container-envvars.sh +0 -53
  230. data/dev/ci/lib/setup-container.sh +0 -46
  231. data/dev/ci/run-tests-natively +0 -24
  232. data/dev/ci/run-tests-with-docker +0 -42
  233. data/dev/ci/scripts/debug-console-wrapper.sh +0 -29
  234. data/dev/ci/scripts/docker-entrypoint-stage2.sh +0 -17
  235. data/dev/ci/scripts/docker-entrypoint.sh +0 -17
  236. data/dev/ci/scripts/inituidgid +0 -17
  237. data/dev/ci/scripts/run-tests-natively-stage2.sh +0 -17
  238. data/dev/ci/scripts/setup-host-natively.sh +0 -11
  239. data/dev/ci/setup-host +0 -56
  240. data/dev/ci/tests/apache2/run +0 -6
  241. data/dev/ci/tests/apache2/setup +0 -4
  242. data/dev/ci/tests/binaries/Jenkinsfile +0 -105
  243. data/dev/ci/tests/binaries/build-linux +0 -38
  244. data/dev/ci/tests/binaries/build-macos +0 -40
  245. data/dev/ci/tests/binaries/prepare-macos +0 -38
  246. data/dev/ci/tests/binaries/test-linux +0 -45
  247. data/dev/ci/tests/binaries/test-macos +0 -38
  248. data/dev/ci/tests/cxx/run +0 -9
  249. data/dev/ci/tests/cxx/setup +0 -4
  250. data/dev/ci/tests/debian/Jenkinsfile +0 -89
  251. data/dev/ci/tests/debian/run +0 -60
  252. data/dev/ci/tests/nginx/run +0 -5
  253. data/dev/ci/tests/nginx/setup +0 -4
  254. data/dev/ci/tests/nginx-dynamic/run +0 -20
  255. data/dev/ci/tests/nginx-dynamic/setup +0 -4
  256. data/dev/ci/tests/nodejs/run +0 -4
  257. data/dev/ci/tests/nodejs/setup +0 -4
  258. data/dev/ci/tests/rpm/Jenkinsfile +0 -68
  259. data/dev/ci/tests/rpm/run +0 -63
  260. data/dev/ci/tests/ruby/run +0 -4
  261. data/dev/ci/tests/ruby/setup +0 -4
  262. data/dev/ci/tests/source-packaging/run +0 -4
  263. data/dev/ci/tests/source-packaging/setup +0 -4
  264. data/dev/ci/tests/standalone/run +0 -4
  265. data/dev/ci/tests/standalone/setup +0 -4
  266. data/dev/configkit-schemas/index.json +0 -1748
  267. data/dev/configkit-schemas/update_schema_inline_comments.rb +0 -118
  268. data/dev/rack.test/config.ru +0 -5
  269. data/dev/rack.test/public/asset.txt +0 -1
  270. data/dev/vagrant/apache_default_site.conf +0 -35
  271. data/dev/vagrant/apache_passenger.conf +0 -5
  272. data/dev/vagrant/apache_passenger.load +0 -1
  273. data/dev/vagrant/apache_ports.conf +0 -24
  274. data/dev/vagrant/apache_rack_test.conf +0 -9
  275. data/dev/vagrant/bashrc +0 -23
  276. data/dev/vagrant/nginx.conf +0 -39
  277. data/dev/vagrant/nginx_rakefile +0 -33
  278. data/dev/vagrant/nginx_start +0 -32
  279. data/dev/vagrant/provision.sh +0 -117
  280. data/dev/vagrant/sudoers.conf +0 -5
  281. data/resources/templates/error_renderer/.editorconfig +0 -19
  282. data/src/cxx_supportlib/AppTypes.cpp +0 -109
  283. data/src/cxx_supportlib/vendor-modified/SmallVector.h +0 -653
@@ -577,6 +577,23 @@ module PhusionPassenger
577
577
  end
578
578
  memoize :apache2_sbindir
579
579
 
580
+ def self.apache2_modulesdir(options = {})
581
+ apxs2 = options.fetch(:apxs2, self.apxs2)
582
+ if apxs2.nil?
583
+ # macOS >= 10.13 High Sierra no longer ships apxs2, so we'll use
584
+ # a hardcoded default.
585
+ if os_name_simple == 'macosx' && os_version >= '10.13' \
586
+ && httpd(:apxs2 => apxs2) == '/usr/sbin/httpd'
587
+ '/usr/libexec/apache2'
588
+ else
589
+ nil
590
+ end
591
+ else
592
+ `#{apxs2} -q LIBEXECDIR`.strip
593
+ end
594
+ end
595
+ memoize :apache2_modulesdir
596
+
580
597
 
581
598
  ################ Compiler and linker flags ################
582
599
 
@@ -824,8 +841,8 @@ module PhusionPassenger
824
841
  # /Library/Developer/CommandLineTools.
825
842
  xcode_prefix = `/usr/bin/xcode-select -p`.strip
826
843
  ["-I#{xcode_prefix}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/apr-1 " \
827
- "-I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/apache2",
828
- '-lapr-1']
844
+ "-I#{xcode_prefix}/SDKs/MacOSX.sdk/usr/include/apr-1",
845
+ '-lapr-1']
829
846
  else
830
847
  ['-I/usr/include/apr-1', '-lapr-1']
831
848
  end
@@ -873,8 +890,9 @@ module PhusionPassenger
873
890
  # On macOS >= 10.13 High Sierra /usr/include no longer
874
891
  # exists.
875
892
  xcode_prefix = `/usr/bin/xcode-select -p`.strip
876
- ["-I#{xcode_prefix}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/apr-1",
877
- '-laprutil-1']
893
+ ["-I#{xcode_prefix}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/apr-1" \
894
+ "-I#{xcode_prefix}/SDKs/MacOSX.sdk/usr/include/apr-1",
895
+ '-laprutil-1']
878
896
  else
879
897
  ['-I/usr/include/apr-1', '-laprutil-1']
880
898
  end
@@ -1,6 +1,6 @@
1
1
  # encoding: binary
2
2
  # Phusion Passenger - https://www.phusionpassenger.com/
3
- # Copyright (c) 2010-2017 Phusion Holding B.V.
3
+ # Copyright (c) 2010-2018 Phusion Holding B.V.
4
4
  #
5
5
  # "Passenger", "Phusion Passenger" and "Union Station" are registered
6
6
  # trademarks of Phusion Holding B.V.
@@ -48,6 +48,22 @@ module PhusionPassenger
48
48
  end
49
49
  GEM_PATH = gem_path
50
50
 
51
+ # 'bundle exec' modifies $GEM_HOME and $GEM_PATH so let's
52
+ # store the values that we had before Bundler's modifications.
53
+ gem_home = ENV['BUNDLER_ORIG_GEM_HOME']
54
+ if gem_home
55
+ gem_home = gem_home.strip.freeze
56
+ gem_home = nil if gem_home.empty?
57
+ end
58
+ BUNDLER_ORIG_GEM_HOME = gem_home
59
+
60
+ gem_path = ENV['BUNDLER_ORIG_GEM_PATH']
61
+ if gem_path
62
+ gem_path = gem_path.strip.freeze
63
+ gem_path = nil if gem_path.empty?
64
+ end
65
+ BUNDLER_ORIG_GEM_PATH = gem_path
66
+
51
67
  if defined?(::RUBY_ENGINE)
52
68
  RUBY_ENGINE = ::RUBY_ENGINE
53
69
  else
@@ -257,12 +273,6 @@ module PhusionPassenger
257
273
  # Returns nil otherwise.
258
274
  def self.rvm_ruby_string
259
275
  if in_rvm?
260
- # RVM used to export the necessary information through
261
- # environment variables, but doesn't always do that anymore
262
- # in the latest versions in order to fight env var pollution.
263
- # Scanning $LOAD_PATH seems to be the only way to obtain
264
- # the information.
265
-
266
276
  # Getting the RVM name of the Ruby interpreter ("ruby-1.9.2")
267
277
  # isn't so hard, we can extract it from the #ruby_executable
268
278
  # string. Getting the gemset name is a bit harder, so let's
@@ -273,16 +283,26 @@ module PhusionPassenger
273
283
  # /Users/hongli/.rvm/gems/ruby-1.9.3-p392
274
284
  # But also:
275
285
  # /home/bitnami/.rvm/gems/ruby-1.9.3-p385-perf@njist325/ruby/1.9.1
276
- if GEM_HOME && GEM_HOME =~ %r{rvm/gems/(.+)}
277
- return $1.sub(/\/.*/, '')
286
+ #
287
+ # Caveat when we're executed through 'bundle exec':
288
+ # if `bundle install` was run with `--path=`, then `bundle exec`
289
+ # will modify $GEM_HOME to the --path directory. That's
290
+ # why we need to parse the version of $GEM_HOME *before*
291
+ # `bundle exec` had modified it.
292
+ [GEM_HOME, BUNDLER_ORIG_GEM_HOME].each do |gem_home|
293
+ if gem_home && gem_home =~ %r{rvm/gems/(.+)}
294
+ return $1.sub(/\/.*/, '')
295
+ end
278
296
  end
279
297
 
280
298
  # User might have explicitly set GEM_HOME to a custom directory,
281
299
  # or might have nuked $GEM_HOME. Extract info from $GEM_PATH.
282
- if GEM_PATH
283
- GEM_PATH.split(':').each do |gem_path|
284
- if gem_path =~ %r{rvm/gems/(.+)}
285
- return $1.sub(/\/.*/, '')
300
+ [GEM_PATH, BUNDLER_ORIG_GEM_PATH].each do |gem_path|
301
+ if gem_path
302
+ gem_path.split(':').each do |gem_path_part|
303
+ if gem_path_part =~ %r{rvm/gems/(.+)}
304
+ return $1.sub(/\/.*/, '')
305
+ end
286
306
  end
287
307
  end
288
308
  end
@@ -150,6 +150,7 @@ module PhusionPassenger
150
150
  options = options.dup
151
151
  ConfigUtils.load_local_config_file!(dir, options)
152
152
  options[:app_type] ||
153
+ options[:app_start_command] ||
153
154
  STARTUP_FILES.any? do |file|
154
155
  File.exist?("#{dir}/#{file}")
155
156
  end
@@ -1,5 +1,5 @@
1
1
  # Phusion Passenger - https://www.phusionpassenger.com/
2
- # Copyright (c) 2015-2017 Phusion Holding B.V.
2
+ # Copyright (c) 2015-2018 Phusion Holding B.V.
3
3
  #
4
4
  # "Passenger", "Phusion Passenger" and "Union Station" are registered
5
5
  # trademarks of Phusion Holding B.V.
@@ -242,6 +242,16 @@ module PhusionPassenger
242
242
  :type_desc => 'FILENAME',
243
243
  :desc => 'Force given startup file to be used'
244
244
  },
245
+ {
246
+ :name => :app_start_command,
247
+ :type_desc => 'COMMAND',
248
+ :desc => 'Force the app to be started through this command'
249
+ },
250
+ {
251
+ :name => :app_support_kuria_protocol,
252
+ :type => :boolean,
253
+ :desc => 'Force the app to be recognized as a Kuria app',
254
+ },
245
255
  {
246
256
  :name => :spawn_method,
247
257
  :type_desc => 'NAME',
@@ -522,7 +532,17 @@ module PhusionPassenger
522
532
  {
523
533
  :name => :security_update_check_proxy,
524
534
  :type_desc => 'NAME',
525
- :desc => "Use http/SOCKS proxy for the security update check"
535
+ :desc => "Use HTTP/SOCKS proxy for the security update check"
536
+ },
537
+ {
538
+ :name => :disable_anonymous_telemetry,
539
+ :type => :boolean,
540
+ :desc => "Disable anonymous telemetry collection"
541
+ },
542
+ {
543
+ :name => :anonymous_telemetry_proxy,
544
+ :type_desc => 'NAME',
545
+ :desc => "Use HTTP/SOCKS proxy for anonymous telemetry collection"
526
546
  },
527
547
  {
528
548
  :name => :engine,
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # Phusion Passenger - https://www.phusionpassenger.com/
3
- # Copyright (c) 2014-2017 Phusion Holding B.V.
3
+ # Copyright (c) 2014-2018 Phusion Holding B.V.
4
4
  #
5
5
  # "Passenger", "Phusion Passenger" and "Union Station" are registered
6
6
  # trademarks of Phusion Holding B.V.
@@ -139,6 +139,7 @@ module PhusionPassenger
139
139
  add_param(command, :environment, "--environment")
140
140
  add_param(command, :app_type, "--app-type")
141
141
  add_param(command, :startup_file, "--startup-file")
142
+ add_param(command, :app_start_command, "--app-start-command")
142
143
  add_param(command, :spawn_method, "--spawn-method")
143
144
  add_param(command, :restart_dir, "--restart-dir")
144
145
  if @options.has_key?(:friendly_error_pages)
@@ -180,6 +181,8 @@ module PhusionPassenger
180
181
  add_param(command, :app_file_descriptor_ulimit, "--app-file-descriptor-ulimit")
181
182
  add_flag_param(command, :disable_security_update_check, "--disable-security-update-check")
182
183
  add_param(command, :security_update_check_proxy, "--security-update-check-proxy")
184
+ add_flag_param(command, :disable_anonymous_telemetry, "--disable-anonymous-telemetry")
185
+ add_param(command, :anonymous_telemetry_proxy, "--anonymous-telemetry-proxy")
183
186
 
184
187
  command << " #{Shellwords.escape(@apps[0][:root])}"
185
188
 
@@ -31,15 +31,16 @@ module PhusionPassenger
31
31
 
32
32
  PACKAGE_NAME = 'passenger'
33
33
  # Run 'rake src/cxx_supportlib/Constants.h configkit_schemas_inline_comments' after changing this number.
34
- VERSION_STRING = '5.3.4'
34
+ VERSION_STRING = '6.0.1'
35
35
 
36
- PREFERRED_NGINX_VERSION = '1.14.0'
37
- NGINX_SHA256_CHECKSUM = '5d15becbf69aba1fe33f8d416d97edd95ea8919ea9ac519eff9bafebb6022cb5'
36
+ # Tip: find the SHA-256 with ./dev/nginx_version_sha2 <VERSION>
37
+ PREFERRED_NGINX_VERSION = '1.15.8'
38
+ NGINX_SHA256_CHECKSUM = 'a8bdafbca87eb99813ae4fcac1ad0875bf725ce19eb265d28268c309b2b40787'
38
39
 
39
40
  # Packaging may be locked to an older version due to the specific module configuration being
40
41
  # incompatible with the version we prefer (latest stable).
41
- PACKAGING_PREFERRED_NGINX_VERSION = '1.14.0'
42
- PACKAGING_NGINX_SHA256_CHECKSUM = '5d15becbf69aba1fe33f8d416d97edd95ea8919ea9ac519eff9bafebb6022cb5'
42
+ PACKAGING_PREFERRED_NGINX_VERSION = '1.15.8'
43
+ PACKAGING_NGINX_SHA256_CHECKSUM = 'a8bdafbca87eb99813ae4fcac1ad0875bf725ce19eb265d28268c309b2b40787'
43
44
 
44
45
  # sha256sum of the .tar.gz
45
46
  PREFERRED_PCRE_VERSION = '8.42'
@@ -219,6 +220,7 @@ module PhusionPassenger
219
220
 
220
221
  def self.binaries_sites
221
222
  [
223
+ { :url => "https://github.com/phusion/passenger/releases/download/release-{{VERSION}}".freeze },
222
224
  { :url => "https://oss-binaries.phusionpassenger.com/binaries/passenger/by_release".freeze },
223
225
  { :url => "https://s3.amazonaws.com/phusion-passenger/binaries/passenger/by_release".freeze }
224
226
  ]
@@ -46,6 +46,7 @@
46
46
  #include <Core/Config.h>
47
47
  #include <Core/Controller/Config.h>
48
48
  #include <Core/SecurityUpdateChecker.h>
49
+ #include <Core/TelemetryCollector.h>
49
50
  #include <Watchdog/ApiServer.h>
50
51
  #include <Watchdog/Config.h>
51
52
  #include <LoggingKit/Config.h>
@@ -63,6 +64,7 @@ main(int argc, char *argv[]) {
63
64
  doc["Passenger::Core::ControllerSchema"] = Passenger::Core::ControllerSchema().inspect();
64
65
  doc["Passenger::Core::ControllerSingleAppModeSchema"] = Passenger::Core::ControllerSingleAppModeSchema().inspect();
65
66
  doc["Passenger::Core::Schema"] = Passenger::Core::Schema().inspect();
67
+ doc["Passenger::Core::TelemetryCollector::Schema"] = Passenger::Core::TelemetryCollector::Schema().inspect();
66
68
  doc["Passenger::LoggingKit::Schema"] = Passenger::LoggingKit::Schema().inspect();
67
69
  doc["Passenger::SecurityUpdateChecker::Schema"] = Passenger::SecurityUpdateChecker::Schema().inspect();
68
70
  doc["Passenger::ServerKit::BaseServerSchema"] = Passenger::ServerKit::BaseServerSchema().inspect();
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: passenger
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.3.4
4
+ version: 6.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Phusion - http://www.phusion.nl/
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-30 00:00:00.000000000 Z
11
+ date: 2019-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -52,9 +52,7 @@ extensions:
52
52
  - src/helper-scripts/download_binaries/extconf.rb
53
53
  extra_rdoc_files: []
54
54
  files:
55
- - ".editorconfig"
56
55
  - CHANGELOG
57
- - CODE_OF_CONDUCT.md
58
56
  - CONTRIBUTING.md
59
57
  - CONTRIBUTORS
60
58
  - INSTALL.md
@@ -104,70 +102,15 @@ files:
104
102
  - build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/initializer_builder.rb
105
103
  - build/test_basics.rb
106
104
  - configure
107
- - dev/boost-patches/0001-Patch-boost-thread-so-that-oxt-thread-can-use-it.patch
108
- - dev/boost-patches/0002-Make-boost-thread_interrupted-derive-from-oxt-tracab.patch
109
- - dev/boost-patches/0003-Disable-a-Clang-pragma-to-prevent-warnings-on-OS-X.patch
110
- - dev/ci/README.md
111
- - dev/ci/lib/functions.sh
112
- - dev/ci/lib/set-container-envvars.sh
113
- - dev/ci/lib/setup-container.sh
114
- - dev/ci/run-tests-natively
115
- - dev/ci/run-tests-with-docker
116
- - dev/ci/scripts/debug-console-wrapper.sh
117
- - dev/ci/scripts/docker-entrypoint-stage2.sh
118
- - dev/ci/scripts/docker-entrypoint.sh
119
- - dev/ci/scripts/inituidgid
120
- - dev/ci/scripts/run-tests-natively-stage2.sh
121
- - dev/ci/scripts/setup-host-natively.sh
122
- - dev/ci/setup-host
123
- - dev/ci/tests/apache2/run
124
- - dev/ci/tests/apache2/setup
125
- - dev/ci/tests/binaries/Jenkinsfile
126
- - dev/ci/tests/binaries/build-linux
127
- - dev/ci/tests/binaries/build-macos
128
- - dev/ci/tests/binaries/prepare-macos
129
- - dev/ci/tests/binaries/test-linux
130
- - dev/ci/tests/binaries/test-macos
131
- - dev/ci/tests/cxx/run
132
- - dev/ci/tests/cxx/setup
133
- - dev/ci/tests/debian/Jenkinsfile
134
- - dev/ci/tests/debian/run
135
- - dev/ci/tests/nginx-dynamic/run
136
- - dev/ci/tests/nginx-dynamic/setup
137
- - dev/ci/tests/nginx/run
138
- - dev/ci/tests/nginx/setup
139
- - dev/ci/tests/nodejs/run
140
- - dev/ci/tests/nodejs/setup
141
- - dev/ci/tests/rpm/Jenkinsfile
142
- - dev/ci/tests/rpm/run
143
- - dev/ci/tests/ruby/run
144
- - dev/ci/tests/ruby/setup
145
- - dev/ci/tests/source-packaging/run
146
- - dev/ci/tests/source-packaging/setup
147
- - dev/ci/tests/standalone/run
148
- - dev/ci/tests/standalone/setup
149
- - dev/configkit-schemas/index.json
150
- - dev/configkit-schemas/update_schema_inline_comments.rb
105
+ - dev/colorize-logs
151
106
  - dev/copy_boost_headers
152
107
  - dev/index_cxx_dependencies.rb
153
108
  - dev/install_scripts_bootstrap_code.rb
154
109
  - dev/list_tests
155
110
  - dev/parse_file_descriptor_log
156
- - dev/rack.test/config.ru
157
- - dev/rack.test/public/asset.txt
158
111
  - dev/ruby_server.rb
159
112
  - dev/runner
160
- - dev/vagrant/apache_default_site.conf
161
- - dev/vagrant/apache_passenger.conf
162
- - dev/vagrant/apache_passenger.load
163
- - dev/vagrant/apache_ports.conf
164
- - dev/vagrant/apache_rack_test.conf
165
- - dev/vagrant/bashrc
166
- - dev/vagrant/nginx.conf
167
- - dev/vagrant/nginx_rakefile
168
- - dev/vagrant/nginx_start
169
- - dev/vagrant/provision.sh
170
- - dev/vagrant/sudoers.conf
113
+ - dev/show-latest-crashlog-dir
171
114
  - doc/CodingTipsAndPitfalls.md
172
115
  - doc/DebuggingAndStressTesting.md
173
116
  - doc/DeveloperQuickstart.md
@@ -208,7 +151,6 @@ files:
208
151
  - resources/templates/config/installation_utils/unexpected_filesystem_problem.txt.erb
209
152
  - resources/templates/config/installation_utils/user_support_binaries_dir_not_writable.txt.erb
210
153
  - resources/templates/config/nginx_engine_compiler/possible_solutions_for_download_and_extraction_problems.txt.erb
211
- - resources/templates/error_renderer/.editorconfig
212
154
  - resources/templates/error_renderer/with_details/README.md
213
155
  - resources/templates/error_renderer/with_details/dist/bundle.js
214
156
  - resources/templates/error_renderer/with_details/dist/styles.css
@@ -357,7 +299,9 @@ files:
357
299
  - src/agent/Core/SpawningKit/SmartSpawner.h
358
300
  - src/agent/Core/SpawningKit/Spawner.h
359
301
  - src/agent/Core/SpawningKit/UserSwitchingRules.h
302
+ - src/agent/Core/TelemetryCollector.h
360
303
  - src/agent/ExecHelper/ExecHelperMain.cpp
304
+ - src/agent/FileReadHelper/FileReadHelperMain.cpp
361
305
  - src/agent/README.md
362
306
  - src/agent/Shared/ApiAccountUtils.h
363
307
  - src/agent/Shared/ApiServerUtils.h
@@ -389,6 +333,7 @@ files:
389
333
  - src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp.cxxcodebuilder
390
334
  - src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp
391
335
  - src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder
336
+ - src/apache2_module/ConfigGeneral/Common.h
392
337
  - src/apache2_module/ConfigGeneral/ManifestGeneration.h
393
338
  - src/apache2_module/ConfigGeneral/SetterFuncs.h
394
339
  - src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp
@@ -411,9 +356,13 @@ files:
411
356
  - src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder
412
357
  - src/apache2_module/Utils.h
413
358
  - src/apache2_module/mod_passenger.c
359
+ - src/cxx_supportlib/Algorithms/Hasher.cpp
360
+ - src/cxx_supportlib/Algorithms/Hasher.h
414
361
  - src/cxx_supportlib/Algorithms/MovingAverage.h
415
- - src/cxx_supportlib/AppTypes.cpp
416
- - src/cxx_supportlib/AppTypes.h
362
+ - src/cxx_supportlib/AppLocalConfigFileUtils.h
363
+ - src/cxx_supportlib/AppTypeDetector/CBindings.cpp
364
+ - src/cxx_supportlib/AppTypeDetector/CBindings.h
365
+ - src/cxx_supportlib/AppTypeDetector/Detector.h
417
366
  - src/cxx_supportlib/BackgroundEventLoop.cpp
418
367
  - src/cxx_supportlib/BackgroundEventLoop.h
419
368
  - src/cxx_supportlib/ConfigKit/AsyncUtils.h
@@ -432,12 +381,12 @@ files:
432
381
  - src/cxx_supportlib/ConfigKit/Utils.h
433
382
  - src/cxx_supportlib/Constants.h
434
383
  - src/cxx_supportlib/Constants.h.cxxcodebuilder
435
- - src/cxx_supportlib/Crypto.cpp
436
- - src/cxx_supportlib/Crypto.h
384
+ - src/cxx_supportlib/DataStructures/HashMap.h
437
385
  - src/cxx_supportlib/DataStructures/HashedStaticString.h
438
386
  - src/cxx_supportlib/DataStructures/LString.cpp
439
387
  - src/cxx_supportlib/DataStructures/LString.h
440
388
  - src/cxx_supportlib/DataStructures/StringKeyTable.h
389
+ - src/cxx_supportlib/DataStructures/StringMap.h
441
390
  - src/cxx_supportlib/Exceptions.cpp
442
391
  - src/cxx_supportlib/Exceptions.h
443
392
  - src/cxx_supportlib/FileDescriptor.h
@@ -452,11 +401,17 @@ files:
452
401
  - src/cxx_supportlib/FileTools/PathSecurityCheck.cpp
453
402
  - src/cxx_supportlib/FileTools/PathSecurityCheck.h
454
403
  - src/cxx_supportlib/Hooks.h
404
+ - src/cxx_supportlib/IOTools/BufferedIO.h
405
+ - src/cxx_supportlib/IOTools/IOUtils.cpp
406
+ - src/cxx_supportlib/IOTools/IOUtils.h
407
+ - src/cxx_supportlib/IOTools/MessageIO.h
408
+ - src/cxx_supportlib/IOTools/MessageSerialization.h
455
409
  - src/cxx_supportlib/InstanceDirectory.h
456
410
  - src/cxx_supportlib/Integrations/LibevJsonUtils.h
457
411
  - src/cxx_supportlib/JsonTools/Autocast.h
458
412
  - src/cxx_supportlib/JsonTools/CBindings.cpp
459
413
  - src/cxx_supportlib/JsonTools/CBindings.h
414
+ - src/cxx_supportlib/JsonTools/JsonUtils.h
460
415
  - src/cxx_supportlib/LoggingKit/Assert.h
461
416
  - src/cxx_supportlib/LoggingKit/Config.h
462
417
  - src/cxx_supportlib/LoggingKit/Context.h
@@ -469,7 +424,6 @@ files:
469
424
  - src/cxx_supportlib/MemoryKit/mbuf.h
470
425
  - src/cxx_supportlib/MemoryKit/palloc.cpp
471
426
  - src/cxx_supportlib/MemoryKit/palloc.h
472
- - src/cxx_supportlib/MessageReadersWriters.h
473
427
  - src/cxx_supportlib/ProcessManagement/Ruby.cpp
474
428
  - src/cxx_supportlib/ProcessManagement/Ruby.h
475
429
  - src/cxx_supportlib/ProcessManagement/Spawn.cpp
@@ -480,6 +434,9 @@ files:
480
434
  - src/cxx_supportlib/RandomGenerator.h
481
435
  - src/cxx_supportlib/ResourceLocator.h
482
436
  - src/cxx_supportlib/SafeLibev.h
437
+ - src/cxx_supportlib/SecurityKit/Crypto.cpp
438
+ - src/cxx_supportlib/SecurityKit/Crypto.h
439
+ - src/cxx_supportlib/SecurityKit/MemZeroGuard.h
483
440
  - src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h
484
441
  - src/cxx_supportlib/ServerKit/Channel.h
485
442
  - src/cxx_supportlib/ServerKit/Client.h
@@ -507,7 +464,18 @@ files:
507
464
  - src/cxx_supportlib/ServerKit/http_parser.cpp
508
465
  - src/cxx_supportlib/ServerKit/http_parser.h
509
466
  - src/cxx_supportlib/StaticString.h
467
+ - src/cxx_supportlib/StrIntTools/DateParsing.h
468
+ - src/cxx_supportlib/StrIntTools/StrIntUtils.cpp
469
+ - src/cxx_supportlib/StrIntTools/StrIntUtils.h
470
+ - src/cxx_supportlib/StrIntTools/StrIntUtilsNoStrictAliasing.cpp
471
+ - src/cxx_supportlib/StrIntTools/StringScanning.h
472
+ - src/cxx_supportlib/StrIntTools/Template.h
473
+ - src/cxx_supportlib/SystemTools/ContainerHelpers.h
474
+ - src/cxx_supportlib/SystemTools/ProcessMetricsCollector.h
510
475
  - src/cxx_supportlib/SystemTools/README.md
476
+ - src/cxx_supportlib/SystemTools/SystemMetricsCollector.h
477
+ - src/cxx_supportlib/SystemTools/SystemTime.cpp
478
+ - src/cxx_supportlib/SystemTools/SystemTime.h
511
479
  - src/cxx_supportlib/SystemTools/UserDatabase.cpp
512
480
  - src/cxx_supportlib/SystemTools/UserDatabase.h
513
481
  - src/cxx_supportlib/Utils.cpp
@@ -515,47 +483,31 @@ files:
515
483
  - src/cxx_supportlib/Utils/AnsiColorConstants.h
516
484
  - src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h
517
485
  - src/cxx_supportlib/Utils/BlockingQueue.h
518
- - src/cxx_supportlib/Utils/BufferedIO.h
519
486
  - src/cxx_supportlib/Utils/CachedFileStat.cpp
520
487
  - src/cxx_supportlib/Utils/CachedFileStat.h
521
488
  - src/cxx_supportlib/Utils/CachedFileStat.hpp
522
489
  - src/cxx_supportlib/Utils/ClassUtils.h
523
490
  - src/cxx_supportlib/Utils/Curl.h
524
- - src/cxx_supportlib/Utils/DateParsing.h
525
491
  - src/cxx_supportlib/Utils/FastStringStream.h
526
492
  - src/cxx_supportlib/Utils/FileChangeChecker.h
527
- - src/cxx_supportlib/Utils/HashMap.h
528
- - src/cxx_supportlib/Utils/Hasher.cpp
529
- - src/cxx_supportlib/Utils/Hasher.h
530
493
  - src/cxx_supportlib/Utils/HttpConstants.h
531
- - src/cxx_supportlib/Utils/IOUtils.cpp
532
- - src/cxx_supportlib/Utils/IOUtils.h
533
494
  - src/cxx_supportlib/Utils/IniFile.h
534
- - src/cxx_supportlib/Utils/JsonUtils.h
535
495
  - src/cxx_supportlib/Utils/Lock.h
536
- - src/cxx_supportlib/Utils/MemZeroGuard.h
537
- - src/cxx_supportlib/Utils/MemoryBarrier.h
538
- - src/cxx_supportlib/Utils/MessageIO.h
539
496
  - src/cxx_supportlib/Utils/MessagePassing.h
540
497
  - src/cxx_supportlib/Utils/OptionParsing.h
541
- - src/cxx_supportlib/Utils/ProcessMetricsCollector.h
542
498
  - src/cxx_supportlib/Utils/ReleaseableScopedPointer.h
543
499
  - src/cxx_supportlib/Utils/ScopeGuard.h
544
500
  - src/cxx_supportlib/Utils/SpeedMeter.h
545
- - src/cxx_supportlib/Utils/StrIntUtils.cpp
546
- - src/cxx_supportlib/Utils/StrIntUtils.h
547
- - src/cxx_supportlib/Utils/StrIntUtilsNoStrictAliasing.cpp
548
- - src/cxx_supportlib/Utils/StringMap.h
549
- - src/cxx_supportlib/Utils/StringScanning.h
550
- - src/cxx_supportlib/Utils/SystemMetricsCollector.h
551
- - src/cxx_supportlib/Utils/SystemTime.cpp
552
- - src/cxx_supportlib/Utils/SystemTime.h
553
- - src/cxx_supportlib/Utils/Template.h
554
501
  - src/cxx_supportlib/Utils/Timer.h
555
502
  - src/cxx_supportlib/Utils/VariantMap.h
556
503
  - src/cxx_supportlib/WatchdogLauncher.cpp
557
504
  - src/cxx_supportlib/WatchdogLauncher.h
558
505
  - src/cxx_supportlib/WebSocketCommandReverseServer.h
506
+ - src/cxx_supportlib/WrapperRegistry/CBindings.cpp
507
+ - src/cxx_supportlib/WrapperRegistry/CBindings.h
508
+ - src/cxx_supportlib/WrapperRegistry/Entry.h
509
+ - src/cxx_supportlib/WrapperRegistry/README.md
510
+ - src/cxx_supportlib/WrapperRegistry/Registry.h
559
511
  - src/cxx_supportlib/oxt/Readme.txt
560
512
  - src/cxx_supportlib/oxt/backtrace.hpp
561
513
  - src/cxx_supportlib/oxt/detail/backtrace_disabled.hpp
@@ -765,7 +717,6 @@ files:
765
717
  - src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/utf8_validator.hpp
766
718
  - src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/utilities.hpp
767
719
  - src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/version.hpp
768
- - src/cxx_supportlib/vendor-modified/SmallVector.h
769
720
  - src/cxx_supportlib/vendor-modified/boost/algorithm/string/case_conv.hpp
770
721
  - src/cxx_supportlib/vendor-modified/boost/algorithm/string/classification.hpp
771
722
  - src/cxx_supportlib/vendor-modified/boost/algorithm/string/compare.hpp
data/.editorconfig DELETED
@@ -1,134 +0,0 @@
1
- # http://EditorConfig.org
2
-
3
- root = true
4
-
5
- [*]
6
- end_of_line = lf
7
- charset = utf-8
8
-
9
- [bin/*]
10
- indent_style=space
11
- indent_size=2
12
- trim_trailing_whitespace = true
13
-
14
- [doc/*.txt]
15
- indent_style=tab
16
- indent_size=4
17
-
18
- [doc/*/*.txt]
19
- indent_style=tab
20
- indent_size=4
21
-
22
- [*.cpp]
23
- indent_style = tab
24
- indent_size = 4
25
- trim_trailing_whitespace = true
26
- insert_final_newline = true
27
-
28
- [*.c]
29
- indent_style = tab
30
- indent_size = 4
31
- trim_trailing_whitespace = true
32
- insert_final_newline = true
33
-
34
- [*.h]
35
- indent_style = tab
36
- indent_size = 4
37
- trim_trailing_whitespace = true
38
- insert_final_newline = true
39
-
40
- [*.hpp]
41
- indent_style = tab
42
- indent_size = 4
43
- trim_trailing_whitespace = true
44
- insert_final_newline = true
45
-
46
- [*.rb]
47
- indent_style = space
48
- indent_size = 2
49
- trim_trailing_whitespace = true
50
-
51
- [*.py]
52
- indent_style = tab
53
- trim_trailing_whitespace = true
54
-
55
- [*.cxxcodebuilder]
56
- indent_style = space
57
- indent_size = 2
58
- trim_trailing_whitespace = true
59
-
60
- [config.ru]
61
- indent_style = space
62
- indent_size = 2
63
- trim_trailing_whitespace = true
64
-
65
- [Rakefile]
66
- indent_style = space
67
- indent_size = 2
68
- trim_trailing_whitespace = true
69
-
70
- [Gemfile]
71
- indent_style = space
72
- indent_size = 2
73
- trim_trailing_whitespace = true
74
-
75
- [Jenkinsfile]
76
- indent_style = space
77
- indent_size = 2
78
- trim_trailing_whitespace = true
79
-
80
- [*.js]
81
- indent_style = tab
82
- indent_size = 4
83
- trim_trailing_whitespace = true
84
-
85
- [src/nginx_module/*.c]
86
- indent_style = space
87
- indent_size = 4
88
-
89
- [src/nginx_module/*.h]
90
- indent_style = space
91
- indent_size = 4
92
-
93
- [src/nginx_module/*/*.c]
94
- indent_style = space
95
- indent_size = 4
96
-
97
- [src/nginx_module/*/*.h]
98
- indent_style = space
99
- indent_size = 4
100
-
101
- [src/cxx_supportlib/vendor-modified/libev/*.c]
102
- indent_style = space
103
- indent_size = 2
104
- trim_trailing_whitespace = false
105
-
106
- [src/cxx_supportlib/vendor-modified/libev/*.h]
107
- indent_style = space
108
- indent_size = 2
109
- trim_trailing_whitespace = false
110
-
111
- [src/cxx_supportlib/vendor-copy/libuv/src/*.c]
112
- indent_style = space
113
- indent_size = 2
114
- trim_trailing_whitespace = false
115
-
116
- [src/cxx_supportlib/vendor-copy/libuv/src/*.h]
117
- indent_style = space
118
- indent_size = 2
119
- trim_trailing_whitespace = false
120
-
121
- [src/cxx_supportlib/vendor-copy/libuv/src/unix/*.c]
122
- indent_style = space
123
- indent_size = 2
124
- trim_trailing_whitespace = false
125
-
126
- [src/cxx_supportlib/vendor-copy/libuv/src/unix/*.h]
127
- indent_style = space
128
- indent_size = 2
129
- trim_trailing_whitespace = false
130
-
131
- [resources/templates/standalone/config.erb]
132
- indent_style = space
133
- indent_size = 4
134
- trim_trailing_whitespace = true