passenger 5.0.20 → 5.0.21
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.
- checksums.yaml +8 -8
- checksums.yaml.gz.asc +7 -7
- data.tar.gz.asc +7 -7
- data/CHANGELOG +14 -0
- data/CONTRIBUTORS +1 -0
- data/README.md +1 -1
- data/Rakefile +4 -1
- data/bin/passenger +3 -2
- data/bin/passenger-config +3 -2
- data/bin/passenger-install-apache2-module +3 -3
- data/bin/passenger-install-nginx-module +10 -3
- data/bin/passenger-memory-stats +3 -2
- data/bin/passenger-status +3 -2
- data/build/agent.rb +4 -3
- data/build/apache2.rb +3 -2
- data/build/basics.rb +3 -2
- data/build/common_library.rb +9 -8
- data/build/cplusplus_support.rb +3 -2
- data/build/cxx_dependency_map.rb +67 -134
- data/build/cxx_tests.rb +3 -2
- data/build/documentation.rb +3 -2
- data/build/integration_tests.rb +3 -2
- data/build/misc.rb +3 -22
- data/build/nginx.rb +3 -2
- data/build/node_tests.rb +3 -2
- data/build/oxt_tests.rb +3 -2
- data/build/packaging.rb +4 -3
- data/build/ruby_extension.rb +3 -2
- data/build/ruby_tests.rb +3 -2
- data/build/test_basics.rb +3 -2
- data/dev/copy_boost_headers +3 -2
- data/doc/Design and Architecture.html +1 -1
- data/doc/Design and Architecture.txt +1 -1
- data/doc/Users guide Apache.html +1 -1
- data/doc/Users guide Nginx.html +1 -1
- data/doc/users_guide_snippets/appendix_a_about.txt +1 -1
- data/man/passenger-config.1 +0 -2
- data/man/passenger-memory-stats.8 +0 -2
- data/man/passenger-status.8 +0 -2
- data/src/agent/AgentMain.cpp +3 -2
- data/src/agent/Core/ApiServer.h +3 -2
- data/src/agent/Core/ApplicationPool/BasicGroupInfo.h +3 -2
- data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +3 -2
- data/src/agent/Core/ApplicationPool/Common.h +3 -2
- data/src/agent/Core/ApplicationPool/Context.h +3 -2
- data/src/agent/Core/ApplicationPool/ErrorRenderer.h +3 -2
- data/src/agent/Core/ApplicationPool/Group.h +3 -2
- data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Group/Verification.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Implementation.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Options.h +3 -11
- data/src/agent/Core/ApplicationPool/Pool.h +3 -2
- data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +3 -2
- data/src/agent/Core/ApplicationPool/Process.h +3 -2
- data/src/agent/Core/ApplicationPool/Session.h +3 -2
- data/src/agent/Core/ApplicationPool/Socket.h +3 -2
- data/src/agent/Core/CoreMain.cpp +3 -2
- data/src/agent/Core/OptionParser.h +3 -2
- data/src/agent/Core/RequestHandler.h +3 -2
- data/src/agent/Core/RequestHandler/AppResponse.h +3 -2
- data/src/agent/Core/RequestHandler/BufferBody.cpp +3 -2
- data/src/agent/Core/RequestHandler/CheckoutSession.cpp +3 -2
- data/src/agent/Core/RequestHandler/Client.h +3 -2
- data/src/agent/Core/RequestHandler/ForwardResponse.cpp +3 -2
- data/src/agent/Core/RequestHandler/Hooks.cpp +4 -2
- data/src/agent/Core/RequestHandler/InitRequest.cpp +13 -4
- data/src/agent/Core/RequestHandler/Request.h +10 -2
- data/src/agent/Core/RequestHandler/SendRequest.cpp +40 -9
- data/src/agent/Core/RequestHandler/TurboCaching.h +3 -2
- data/src/agent/Core/RequestHandler/Utils.cpp +3 -2
- data/src/agent/Core/ResponseCache.h +3 -2
- data/src/agent/Core/SpawningKit/BackgroundIOCapturer.h +3 -2
- data/src/agent/Core/SpawningKit/Config.h +3 -2
- data/src/agent/Core/SpawningKit/DirectSpawner.h +3 -2
- data/src/agent/Core/SpawningKit/DummySpawner.h +3 -2
- data/src/agent/Core/SpawningKit/Factory.h +3 -2
- data/src/agent/Core/SpawningKit/Options.h +3 -2
- data/src/agent/Core/SpawningKit/PipeWatcher.h +3 -2
- data/src/agent/Core/SpawningKit/Result.h +3 -2
- data/src/agent/Core/SpawningKit/SmartSpawner.h +3 -2
- data/src/agent/Core/SpawningKit/Spawner.h +18 -2
- data/src/agent/Core/SpawningKit/UserSwitchingRules.h +3 -2
- data/src/agent/Core/UnionStation/Connection.h +3 -2
- data/src/agent/Core/UnionStation/Core.h +3 -2
- data/src/agent/Core/UnionStation/StopwatchLog.h +3 -2
- data/src/agent/Core/UnionStation/Transaction.h +3 -2
- data/src/agent/Shared/ApiServerUtils.h +3 -2
- data/src/agent/Shared/ApplicationPoolApiKey.h +3 -2
- data/src/agent/Shared/Base.cpp +3 -2
- data/src/agent/Shared/Base.h +3 -2
- data/src/agent/SpawnPreparer/SpawnPreparerMain.cpp +3 -2
- data/src/agent/SystemMetrics/SystemMetricsMain.cpp +3 -2
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +3 -2
- data/src/agent/UstRouter/ApiServer.h +3 -2
- data/src/agent/UstRouter/Client.h +3 -2
- data/src/agent/UstRouter/Controller.h +3 -2
- data/src/agent/UstRouter/DataStoreId.h +3 -2
- data/src/agent/UstRouter/FileSink.h +3 -2
- data/src/agent/UstRouter/LogSink.h +3 -2
- data/src/agent/UstRouter/OptionParser.h +3 -2
- data/src/agent/UstRouter/RemoteSender.h +3 -2
- data/src/agent/UstRouter/RemoteSink.h +3 -2
- data/src/agent/UstRouter/Transaction.h +3 -2
- data/src/agent/UstRouter/UstRouterMain.cpp +3 -2
- data/src/agent/Watchdog/AgentWatcher.cpp +3 -2
- data/src/agent/Watchdog/ApiServer.h +3 -2
- data/src/agent/Watchdog/CoreWatcher.cpp +3 -2
- data/src/agent/Watchdog/InstanceDirToucher.cpp +3 -2
- data/src/agent/Watchdog/UstRouterWatcher.cpp +3 -2
- data/src/agent/Watchdog/WatchdogMain.cpp +4 -3
- data/src/apache2_module/Bucket.cpp +3 -2
- data/src/apache2_module/Bucket.h +3 -2
- data/src/apache2_module/Configuration.cpp +3 -2
- data/src/apache2_module/Configuration.h +3 -2
- data/src/apache2_module/Configuration.hpp +3 -2
- data/src/apache2_module/ConfigurationCommands.cpp +3 -2
- data/src/apache2_module/ConfigurationCommands.cpp.erb +3 -2
- data/src/apache2_module/ConfigurationFields.hpp +3 -2
- data/src/apache2_module/ConfigurationFields.hpp.erb +3 -2
- data/src/apache2_module/ConfigurationSetters.cpp +3 -2
- data/src/apache2_module/ConfigurationSetters.cpp.erb +3 -2
- data/src/apache2_module/CreateDirConfig.cpp +3 -2
- data/src/apache2_module/CreateDirConfig.cpp.erb +3 -2
- data/src/apache2_module/DirectoryMapper.h +3 -2
- data/src/apache2_module/Hooks.cpp +12 -11
- data/src/apache2_module/Hooks.h +3 -2
- data/src/apache2_module/MergeDirConfig.cpp +3 -2
- data/src/apache2_module/MergeDirConfig.cpp.erb +3 -2
- data/src/apache2_module/SetHeaders.cpp +3 -2
- data/src/apache2_module/SetHeaders.cpp.erb +3 -2
- data/src/apache2_module/mod_passenger.c +3 -2
- data/src/cxx_supportlib/AppTypes.cpp +3 -2
- data/src/cxx_supportlib/AppTypes.h +3 -2
- data/src/cxx_supportlib/BackgroundEventLoop.cpp +3 -2
- data/src/cxx_supportlib/BackgroundEventLoop.h +3 -2
- data/src/cxx_supportlib/Constants.h +4 -7
- data/src/cxx_supportlib/Constants.h.erb +3 -4
- data/src/cxx_supportlib/DataStructures/HashedStaticString.h +3 -2
- data/src/cxx_supportlib/DataStructures/LString.h +3 -2
- data/src/cxx_supportlib/DataStructures/StringKeyTable.h +3 -2
- data/src/cxx_supportlib/Exceptions.cpp +3 -2
- data/src/cxx_supportlib/Exceptions.h +3 -2
- data/src/cxx_supportlib/FileDescriptor.h +3 -2
- data/src/cxx_supportlib/Hooks.h +3 -2
- data/src/cxx_supportlib/InstanceDirectory.h +4 -3
- data/src/cxx_supportlib/Logging.cpp +3 -2
- data/src/cxx_supportlib/Logging.h +3 -2
- data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
- data/src/cxx_supportlib/MemoryKit/palloc.cpp +1 -1
- data/src/cxx_supportlib/MemoryKit/palloc.h +1 -1
- data/src/cxx_supportlib/MessageClient.h +3 -2
- data/src/cxx_supportlib/MessageReadersWriters.h +3 -2
- data/src/cxx_supportlib/RandomGenerator.h +3 -2
- data/src/cxx_supportlib/ResourceLocator.h +3 -2
- data/src/cxx_supportlib/SafeLibev.h +3 -2
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +3 -2
- data/src/cxx_supportlib/ServerKit/Channel.h +3 -2
- data/src/cxx_supportlib/ServerKit/Client.h +3 -2
- data/src/cxx_supportlib/ServerKit/ClientRef.h +3 -2
- data/src/cxx_supportlib/ServerKit/Context.h +3 -2
- data/src/cxx_supportlib/ServerKit/CookieUtils.h +3 -2
- data/src/cxx_supportlib/ServerKit/Errors.h +3 -2
- data/src/cxx_supportlib/ServerKit/FdSinkChannel.h +3 -2
- data/src/cxx_supportlib/ServerKit/FdSourceChannel.h +3 -2
- data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +3 -2
- data/src/cxx_supportlib/ServerKit/FileBufferedFdSinkChannel.h +3 -2
- data/src/cxx_supportlib/ServerKit/HeaderTable.h +3 -2
- data/src/cxx_supportlib/ServerKit/Hooks.h +3 -2
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +3 -2
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParserState.h +3 -2
- data/src/cxx_supportlib/ServerKit/HttpClient.h +3 -2
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +3 -2
- data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +3 -2
- data/src/cxx_supportlib/ServerKit/HttpRequest.h +3 -2
- data/src/cxx_supportlib/ServerKit/HttpRequestRef.h +3 -2
- data/src/cxx_supportlib/ServerKit/HttpServer.h +3 -2
- data/src/cxx_supportlib/ServerKit/Implementation.cpp +3 -2
- data/src/cxx_supportlib/ServerKit/Server.h +3 -2
- data/src/cxx_supportlib/StaticString.h +3 -2
- data/src/cxx_supportlib/UnionStationFilterSupport.cpp +3 -2
- data/src/cxx_supportlib/UnionStationFilterSupport.h +3 -2
- data/src/cxx_supportlib/Utils.cpp +3 -2
- data/src/cxx_supportlib/Utils.h +3 -2
- data/src/cxx_supportlib/Utils/AnsiColorConstants.h +3 -2
- data/src/cxx_supportlib/Utils/BlockingQueue.h +3 -2
- data/src/cxx_supportlib/Utils/BufferedIO.h +3 -2
- data/src/cxx_supportlib/Utils/CachedFileStat.cpp +3 -2
- data/src/cxx_supportlib/Utils/CachedFileStat.h +3 -2
- data/src/cxx_supportlib/Utils/CachedFileStat.hpp +3 -2
- data/src/cxx_supportlib/Utils/ClassUtils.h +20 -2
- data/src/cxx_supportlib/Utils/Curl.h +3 -2
- data/src/cxx_supportlib/Utils/DateParsing.h +3 -2
- data/src/cxx_supportlib/Utils/FastStringStream.h +3 -2
- data/src/cxx_supportlib/Utils/FileChangeChecker.h +3 -2
- data/src/cxx_supportlib/Utils/HashMap.h +3 -2
- data/src/cxx_supportlib/Utils/Hasher.cpp +3 -2
- data/src/cxx_supportlib/Utils/Hasher.h +3 -2
- data/src/cxx_supportlib/Utils/HttpConstants.h +3 -2
- data/src/cxx_supportlib/Utils/IOUtils.cpp +3 -2
- data/src/cxx_supportlib/Utils/IOUtils.h +3 -2
- data/src/cxx_supportlib/Utils/IniFile.h +3 -2
- data/src/cxx_supportlib/Utils/JsonUtils.h +3 -2
- data/src/cxx_supportlib/Utils/LargeFiles.h +3 -2
- data/src/cxx_supportlib/Utils/MemZeroGuard.h +3 -2
- data/src/cxx_supportlib/Utils/MemoryBarrier.h +3 -2
- data/src/cxx_supportlib/Utils/MessageIO.h +3 -2
- data/src/cxx_supportlib/Utils/MessagePassing.h +4 -3
- data/src/cxx_supportlib/Utils/OptionParsing.h +3 -2
- data/src/cxx_supportlib/Utils/ProcessMetricsCollector.h +3 -2
- data/src/cxx_supportlib/Utils/ScopeGuard.h +3 -2
- data/src/cxx_supportlib/Utils/SpeedMeter.h +3 -2
- data/src/cxx_supportlib/Utils/StrIntUtils.cpp +3 -2
- data/src/cxx_supportlib/Utils/StrIntUtils.h +3 -2
- data/src/cxx_supportlib/Utils/StrIntUtilsNoStrictAliasing.cpp +3 -2
- data/src/cxx_supportlib/Utils/StringMap.h +3 -2
- data/src/cxx_supportlib/Utils/StringScanning.h +3 -2
- data/src/cxx_supportlib/Utils/SystemMetricsCollector.h +3 -2
- data/src/cxx_supportlib/Utils/SystemTime.cpp +3 -2
- data/src/cxx_supportlib/Utils/SystemTime.h +3 -2
- data/src/cxx_supportlib/Utils/Timer.h +3 -2
- data/src/cxx_supportlib/Utils/VariantMap.h +3 -2
- data/src/cxx_supportlib/{AgentsStarter.cpp → WatchdogLauncher.cpp} +42 -41
- data/src/cxx_supportlib/{AgentsStarter.h → WatchdogLauncher.h} +99 -112
- data/src/cxx_supportlib/oxt/backtrace.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/backtrace_disabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/backtrace_enabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/context.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/spin_lock_darwin.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/spin_lock_gcc_x86.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/spin_lock_portable.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/spin_lock_pthreads.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +1 -1
- data/src/cxx_supportlib/oxt/implementation.cpp +1 -1
- data/src/cxx_supportlib/oxt/initialize.hpp +1 -1
- data/src/cxx_supportlib/oxt/macros.hpp +1 -1
- data/src/cxx_supportlib/oxt/spin_lock.hpp +1 -1
- data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
- data/src/cxx_supportlib/oxt/system_calls.hpp +1 -1
- data/src/cxx_supportlib/oxt/thread.hpp +1 -1
- data/src/cxx_supportlib/oxt/tracable_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +2 -2
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/Changes +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/LICENSE +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/Makefile.am +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/Makefile.in +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/README +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/aclocal.m4 +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/autogen.sh +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/config.guess +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/config.h.in +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/config.sub +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/configure +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/configure.ac +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/depcomp +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev++.h +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev.c +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev.h +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_epoll.c +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_kqueue.c +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_poll.c +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_port.c +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_select.c +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_vars.h +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_win32.c +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_wrap.h +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/event.c +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/event.h +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/install-sh +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/libev.m4 +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ltmain.sh +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/missing +0 -0
- data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/mkinstalldirs +0 -0
- data/src/helper-scripts/backtrace-sanitizer.rb +3 -2
- data/src/helper-scripts/crash-watch.rb +1 -1
- data/src/helper-scripts/download_binaries/extconf.rb +3 -2
- data/src/helper-scripts/meteor-loader.rb +3 -2
- data/src/helper-scripts/node-loader.js +8 -5
- data/src/helper-scripts/prespawn +3 -2
- data/src/helper-scripts/rack-loader.rb +6 -3
- data/src/helper-scripts/rack-preloader.rb +6 -3
- data/src/helper-scripts/wsgi-loader.py +3 -2
- data/src/nginx_module/CacheLocationConfig.c +3 -2
- data/src/nginx_module/CacheLocationConfig.c.erb +3 -2
- data/src/nginx_module/Configuration.c +1 -1
- data/src/nginx_module/Configuration.h +1 -1
- data/src/nginx_module/ConfigurationCommands.c +3 -2
- data/src/nginx_module/ConfigurationCommands.c.erb +3 -2
- data/src/nginx_module/ConfigurationFields.h +3 -2
- data/src/nginx_module/ConfigurationFields.h.erb +3 -2
- data/src/nginx_module/ContentHandler.c +7 -7
- data/src/nginx_module/ContentHandler.h +1 -1
- data/src/nginx_module/CreateLocationConfig.c +3 -2
- data/src/nginx_module/CreateLocationConfig.c.erb +3 -2
- data/src/nginx_module/MergeLocationConfig.c +3 -2
- data/src/nginx_module/MergeLocationConfig.c.erb +3 -2
- data/src/nginx_module/StaticContentHandler.c +1 -1
- data/src/nginx_module/StaticContentHandler.h +1 -1
- data/src/nginx_module/config +1 -1
- data/src/nginx_module/ngx_http_passenger_module.c +46 -46
- data/src/nginx_module/ngx_http_passenger_module.h +3 -3
- data/src/nodejs_supportlib/phusion_passenger/line_reader.js +3 -2
- data/src/ruby_native_extension/extconf.rb +3 -2
- data/src/ruby_native_extension/passenger_native_support.c +6 -5
- data/src/ruby_supportlib/phusion_passenger.rb +4 -3
- data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +6 -5
- data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/build_native_support_command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/list_instances_command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/main.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +25 -3
- data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +4 -3
- data/src/ruby_supportlib/phusion_passenger/config/system_metrics_command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/utils.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/constants.rb +3 -11
- data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +21 -2
- data/src/ruby_supportlib/phusion_passenger/message_channel.rb +8 -2
- data/src/ruby_supportlib/phusion_passenger/message_client.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/native_support.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck.rb +6 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +61 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/plugin.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/public_api.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +18 -6
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +45 -18
- data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/simple_benchmarking.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +8 -7
- data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +4 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/control_utils.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +23 -20
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +8 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +8 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +5 -3
- data/src/ruby_supportlib/phusion_passenger/utils.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/utils/ansi_colors.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/utils/download.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/utils/lock.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +3 -2
- metadata +36 -37
- metadata.gz.asc +7 -7
- data/src/cxx_supportlib/Account.h +0 -171
- data/src/cxx_supportlib/AccountsDatabase.h +0 -125
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2010-2015 Phusion
|
3
|
+
* Copyright (c) 2010-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -30,7 +31,6 @@
|
|
30
31
|
#include <utility>
|
31
32
|
#include <boost/shared_array.hpp>
|
32
33
|
#include <AppTypes.h>
|
33
|
-
#include <Account.h>
|
34
34
|
#include <DataStructures/HashedStaticString.h>
|
35
35
|
#include <Constants.h>
|
36
36
|
#include <ResourceLocator.h>
|
@@ -272,13 +272,6 @@ public:
|
|
272
272
|
*/
|
273
273
|
StaticString meteorAppSettings;
|
274
274
|
|
275
|
-
/**
|
276
|
-
* Any rights that the spawned application process may have. The SpawnManager
|
277
|
-
* will create a new account for each spawned app, and that account will be
|
278
|
-
* assigned these rights.
|
279
|
-
*/
|
280
|
-
Account::Rights rights;
|
281
|
-
|
282
275
|
/**
|
283
276
|
* Environment variables which should be passed to the spawned application
|
284
277
|
* process. This is a base64-encoded string of key-value pairs, with each
|
@@ -468,7 +461,6 @@ public:
|
|
468
461
|
ruby(DEFAULT_RUBY, sizeof(DEFAULT_RUBY) - 1),
|
469
462
|
python(DEFAULT_PYTHON, sizeof(DEFAULT_PYTHON) - 1),
|
470
463
|
nodejs(DEFAULT_NODEJS, sizeof(DEFAULT_NODEJS) - 1),
|
471
|
-
rights(DEFAULT_BACKEND_ACCOUNT_RIGHTS),
|
472
464
|
debugger(false),
|
473
465
|
loadShellEnvvars(true),
|
474
466
|
userSwitching(true),
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
data/src/agent/Core/CoreMain.cpp
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2010-2015 Phusion
|
3
|
+
* Copyright (c) 2010-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2010-2015 Phusion
|
3
|
+
* Copyright (c) 2010-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2014-2015 Phusion
|
3
|
+
* Copyright (c) 2014-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -95,6 +96,7 @@ virtual void reinitializeRequest(Client *client, Request *req) {
|
|
95
96
|
req->cacheKey = HashedStaticString();
|
96
97
|
req->cacheControl = NULL;
|
97
98
|
req->varyCookie = NULL;
|
99
|
+
req->envvars = NULL;
|
98
100
|
|
99
101
|
#ifdef DEBUG_RH_EVENT_LOOP_BLOCKING
|
100
102
|
req->timedAppPoolGet = false;
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -195,12 +196,20 @@ initializePoolOptions(Client *client, Request *req, RequestAnalysis &analysis) {
|
|
195
196
|
}
|
196
197
|
} else {
|
197
198
|
disconnectWithError(&client, "the !~PASSENGER_APP_GROUP_NAME header must be set");
|
198
|
-
return;
|
199
199
|
}
|
200
200
|
}
|
201
201
|
|
202
202
|
if (!req->ended()) {
|
203
|
-
|
203
|
+
// See comment for req->envvars to learn how it is different
|
204
|
+
// from req->options.environmentVariables.
|
205
|
+
req->envvars = req->secureHeaders.lookup(PASSENGER_ENV_VARS);
|
206
|
+
if (req->envvars != NULL && req->envvars->size > 0) {
|
207
|
+
req->envvars = psg_lstr_make_contiguous(req->envvars, req->pool);
|
208
|
+
req->options.environmentVariables = StaticString(
|
209
|
+
req->envvars->start->data,
|
210
|
+
req->envvars->size);
|
211
|
+
}
|
212
|
+
|
204
213
|
fillPoolOption(req, req->options.maxRequests, PASSENGER_MAX_REQUESTS);
|
205
214
|
}
|
206
215
|
}
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -93,6 +94,13 @@ public:
|
|
93
94
|
HashedStaticString cacheKey;
|
94
95
|
LString *cacheControl;
|
95
96
|
LString *varyCookie;
|
97
|
+
// Value of the `!~PASSENGER_ENV_VARS` header. This is different
|
98
|
+
// from `options.environmentVariables`. If `!~PASSENGER_ENV_VARS`
|
99
|
+
// is not set or is empty, then `envvars` is NULL, while
|
100
|
+
// `options.environmentVariables` retains a previous value.
|
101
|
+
//
|
102
|
+
// This value is guaranteed to be contiguous.
|
103
|
+
LString *envvars;
|
96
104
|
|
97
105
|
#ifdef DEBUG_RH_EVENT_LOOP_BLOCKING
|
98
106
|
bool timedAppPoolGet;
|
@@ -1,8 +1,9 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-2015 Phusion
|
3
|
+
* Copyright (c) 2011-2015 Phusion Holding B.V.
|
4
4
|
*
|
5
|
-
* "Phusion Passenger"
|
5
|
+
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
|
+
* trademarks of Phusion Holding B.V.
|
6
7
|
*
|
7
8
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
9
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -194,16 +195,16 @@ determineHeaderSizeForSessionProtocol(Request *req,
|
|
194
195
|
} else {
|
195
196
|
state.contentLength = NULL;
|
196
197
|
}
|
197
|
-
if (
|
198
|
-
size_t len = modp_b64_decode_len(req->
|
198
|
+
if (req->envvars != NULL) {
|
199
|
+
size_t len = modp_b64_decode_len(req->envvars->size);
|
199
200
|
state.environmentVariablesData = (char *) malloc(len);
|
200
201
|
if (state.environmentVariablesData == NULL) {
|
201
202
|
throw RuntimeException("Unable to allocate memory for base64 "
|
202
203
|
"decoding of environment variables");
|
203
204
|
}
|
204
205
|
len = modp_b64_decode(state.environmentVariablesData,
|
205
|
-
req->
|
206
|
-
req->
|
206
|
+
req->envvars->start->data,
|
207
|
+
req->envvars->size);
|
207
208
|
if (len == (size_t) -1) {
|
208
209
|
throw RuntimeException("Unable to base64 decode environment variables");
|
209
210
|
}
|
@@ -546,7 +547,8 @@ sendHeaderToAppWithHttpProtocol(Client *client, Request *req) {
|
|
546
547
|
unsigned int nbuffers, dataSize;
|
547
548
|
bool ok;
|
548
549
|
|
549
|
-
ok = constructHeaderBuffersForHttpProtocol(req, NULL, 0,
|
550
|
+
ok = constructHeaderBuffersForHttpProtocol(req, NULL, 0,
|
551
|
+
nbuffers, dataSize, cache);
|
550
552
|
assert(ok);
|
551
553
|
|
552
554
|
buffers = (struct iovec *) psg_palloc(req->pool,
|
@@ -625,7 +627,7 @@ constructHeaderBuffersForHttpProtocol(Request *req, struct iovec *buffers,
|
|
625
627
|
if (!cache.cached) {
|
626
628
|
cache.methodStr = http_method_str(req->method);
|
627
629
|
cache.remoteAddr = req->secureHeaders.lookup(REMOTE_ADDR);
|
628
|
-
cache.setCookie
|
630
|
+
cache.setCookie = req->headers.lookup(ServerKit::HTTP_SET_COOKIE);
|
629
631
|
cache.cached = true;
|
630
632
|
}
|
631
633
|
|
@@ -719,6 +721,7 @@ constructHeaderBuffersForHttpProtocol(Request *req, struct iovec *buffers,
|
|
719
721
|
|
720
722
|
if (req->https) {
|
721
723
|
PUSH_STATIC_BUFFER("X-Forwarded-Proto: https\r\n");
|
724
|
+
PUSH_STATIC_BUFFER("!~Passenger-Proto: https\r\n");
|
722
725
|
}
|
723
726
|
|
724
727
|
if (cache.remoteAddr != NULL && cache.remoteAddr->size > 0) {
|
@@ -737,10 +740,38 @@ constructHeaderBuffersForHttpProtocol(Request *req, struct iovec *buffers,
|
|
737
740
|
dataSize += cache.remoteAddr->size;
|
738
741
|
|
739
742
|
PUSH_STATIC_BUFFER("\r\n");
|
743
|
+
|
744
|
+
PUSH_STATIC_BUFFER("!~Passenger-Client-Address: ");
|
745
|
+
|
746
|
+
part = cache.remoteAddr->start;
|
747
|
+
while (part != NULL) {
|
748
|
+
if (buffers != NULL) {
|
749
|
+
BEGIN_PUSH_NEXT_BUFFER();
|
750
|
+
buffers[i].iov_base = (void *) part->data;
|
751
|
+
buffers[i].iov_len = part->size;
|
752
|
+
}
|
753
|
+
INC_BUFFER_ITER(i);
|
754
|
+
part = part->next;
|
755
|
+
}
|
756
|
+
dataSize += cache.remoteAddr->size;
|
757
|
+
|
758
|
+
PUSH_STATIC_BUFFER("\r\n");
|
759
|
+
}
|
760
|
+
|
761
|
+
if (req->envvars != NULL) {
|
762
|
+
PUSH_STATIC_BUFFER("!~Passenger-Envvars: ");
|
763
|
+
if (buffers != NULL) {
|
764
|
+
BEGIN_PUSH_NEXT_BUFFER();
|
765
|
+
buffers[i].iov_base = (void *) req->envvars->start->data;
|
766
|
+
buffers[i].iov_len = req->envvars->size;
|
767
|
+
}
|
768
|
+
INC_BUFFER_ITER(i);
|
769
|
+
dataSize += req->envvars->size;
|
770
|
+
PUSH_STATIC_BUFFER("\r\n");
|
740
771
|
}
|
741
772
|
|
742
773
|
if (req->options.analytics) {
|
743
|
-
PUSH_STATIC_BUFFER("Passenger-Txn-Id: ");
|
774
|
+
PUSH_STATIC_BUFFER("!~Passenger-Txn-Id: ");
|
744
775
|
|
745
776
|
if (buffers != NULL) {
|
746
777
|
BEGIN_PUSH_NEXT_BUFFER();
|