passenger 3.0.0 → 3.0.1
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.
- data/DEVELOPERS.TXT +9 -6
- data/NEWS +50 -0
- data/Rakefile +2 -1
- data/bin/passenger-install-apache2-module +4 -4
- data/bin/passenger-install-nginx-module +1 -1
- data/bin/passenger-make-enterprisey +1 -1
- data/build/agents.rb +26 -19
- data/build/apache2.rb +49 -46
- data/build/basics.rb +37 -13
- data/build/common_library.rb +134 -64
- data/build/config.rb +18 -11
- data/build/cplusplus_support.rb +4 -0
- data/build/cxx_tests.rb +26 -12
- data/build/documentation.rb +18 -11
- data/build/integration_tests.rb +18 -11
- data/build/misc.rb +18 -11
- data/build/nginx.rb +27 -19
- data/build/oxt_tests.rb +18 -11
- data/build/packaging.rb +45 -37
- data/build/rpm.rb +98 -0
- data/build/ruby_extension.rb +19 -13
- data/build/ruby_tests.rb +19 -12
- data/build/test_basics.rb +23 -11
- data/debian/README.Debian +15 -0
- data/debian/changelog +185 -0
- data/debian/control +47 -19
- data/debian/copyright +20 -0
- data/debian/libapache2-mod-passenger.install +1 -0
- data/debian/libapache2-mod-passenger.postinst +36 -0
- data/debian/libapache2-mod-passenger.prerm +15 -0
- data/debian/passenger-common.install +4 -0
- data/debian/passenger.conf +4 -0
- data/debian/passenger.load +1 -0
- data/debian/rules +37 -0
- data/debian/watch +3 -0
- data/{misc → dev}/copy_boost_headers.rb +3 -0
- data/{misc → dev}/find_owner_pipe_leaks.rb +0 -0
- data/{misc → dev}/render_error_pages.rb +0 -0
- data/doc/Users guide Apache.html +39 -1
- data/doc/Users guide Apache.txt +40 -0
- data/doc/Users guide Nginx.html +1 -1
- data/doc/Users guide Standalone.html +1 -1
- data/doc/cxxapi/Constants_8h_source.html +1 -1
- data/doc/cxxapi/DirectoryMapper_8h_source.html +6 -22
- data/doc/cxxapi/EventedClient_8h_source.html +572 -468
- data/doc/cxxapi/Exceptions_8h_source.html +142 -129
- data/doc/cxxapi/FileDescriptor_8h_source.html +263 -199
- data/doc/cxxapi/MessageChannel_8h_source.html +686 -770
- data/doc/cxxapi/MessageServer_8h_source.html +1 -1
- data/doc/cxxapi/PoolOptions_8h_source.html +79 -78
- data/doc/cxxapi/ResourceLocator_8h_source.html +105 -55
- data/doc/cxxapi/SafeLibev_8h_source.html +180 -0
- data/doc/cxxapi/ServerInstanceDir_8h_source.html +114 -110
- data/doc/cxxapi/Session_8h_source.html +1 -1
- data/doc/cxxapi/SpawnManager_8h_source.html +208 -208
- data/doc/cxxapi/StaticString_8h_source.html +258 -183
- data/doc/cxxapi/Utils_8h_source.html +71 -54
- data/doc/cxxapi/annotated.html +3 -0
- data/doc/cxxapi/classAgentWatcher.html +2 -2
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +0 -1
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +0 -27
- data/doc/cxxapi/classPassenger_1_1EventedClient-members.html +5 -0
- data/doc/cxxapi/classPassenger_1_1EventedClient.html +102 -7
- data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +2 -1
- data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +34 -8
- data/doc/cxxapi/classPassenger_1_1FileDescriptorPair-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1FileDescriptorPair.html +52 -0
- data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +0 -3
- data/doc/cxxapi/classPassenger_1_1MessageChannel.html +0 -120
- data/doc/cxxapi/classPassenger_1_1SafeLibev-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1SafeLibev.html +51 -0
- data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +1 -0
- data/doc/cxxapi/classPassenger_1_1SpawnException.html +22 -0
- data/doc/cxxapi/classes.html +14 -14
- data/doc/cxxapi/files.html +2 -0
- data/doc/cxxapi/functions_0x63.html +6 -3
- data/doc/cxxapi/functions_0x64.html +9 -2
- data/doc/cxxapi/functions_0x67.html +6 -9
- data/doc/cxxapi/functions_0x69.html +3 -0
- data/doc/cxxapi/functions_0x77.html +8 -8
- data/doc/cxxapi/functions_eval.html +6 -0
- data/doc/cxxapi/functions_func.html +18 -17
- data/doc/cxxapi/functions_vars.html +8 -0
- data/doc/cxxapi/graph_legend.png +0 -0
- data/doc/cxxapi/group__Core.png +0 -0
- data/doc/cxxapi/group__Hooks.png +0 -0
- data/doc/cxxapi/hierarchy.html +3 -0
- data/doc/cxxapi/inherit__graph__14.map +1 -1
- data/doc/cxxapi/inherit__graph__14.md5 +1 -1
- data/doc/cxxapi/inherit__graph__14.png +0 -0
- data/doc/cxxapi/inherit__graph__15.map +1 -3
- data/doc/cxxapi/inherit__graph__15.md5 +1 -1
- data/doc/cxxapi/inherit__graph__15.png +0 -0
- data/doc/cxxapi/inherit__graph__16.map +3 -1
- data/doc/cxxapi/inherit__graph__16.md5 +1 -1
- data/doc/cxxapi/inherit__graph__16.png +0 -0
- data/doc/cxxapi/inherit__graph__17.map +1 -1
- data/doc/cxxapi/inherit__graph__17.md5 +1 -1
- data/doc/cxxapi/inherit__graph__17.png +0 -0
- data/doc/cxxapi/inherit__graph__18.map +1 -2
- data/doc/cxxapi/inherit__graph__18.md5 +1 -1
- data/doc/cxxapi/inherit__graph__18.png +0 -0
- data/doc/cxxapi/inherit__graph__19.map +2 -1
- data/doc/cxxapi/inherit__graph__19.md5 +1 -1
- data/doc/cxxapi/inherit__graph__19.png +0 -0
- data/doc/cxxapi/inherit__graph__20.map +1 -1
- data/doc/cxxapi/inherit__graph__20.md5 +1 -1
- data/doc/cxxapi/inherit__graph__20.png +0 -0
- data/doc/cxxapi/inherit__graph__21.map +1 -1
- data/doc/cxxapi/inherit__graph__21.md5 +1 -1
- data/doc/cxxapi/inherit__graph__21.png +0 -0
- data/doc/cxxapi/inherit__graph__22.map +1 -1
- data/doc/cxxapi/inherit__graph__22.md5 +1 -1
- data/doc/cxxapi/inherit__graph__22.png +0 -0
- data/doc/cxxapi/inherit__graph__23.map +1 -1
- data/doc/cxxapi/inherit__graph__23.md5 +1 -1
- data/doc/cxxapi/inherit__graph__23.png +0 -0
- data/doc/cxxapi/inherit__graph__24.map +1 -1
- data/doc/cxxapi/inherit__graph__24.md5 +1 -1
- data/doc/cxxapi/inherit__graph__24.png +0 -0
- data/doc/cxxapi/inherit__graph__25.map +1 -1
- data/doc/cxxapi/inherit__graph__25.md5 +1 -1
- data/doc/cxxapi/inherit__graph__25.png +0 -0
- data/doc/cxxapi/inherit__graph__26.map +1 -1
- data/doc/cxxapi/inherit__graph__26.md5 +1 -1
- data/doc/cxxapi/inherit__graph__26.png +0 -0
- data/doc/cxxapi/inherit__graph__27.map +1 -1
- data/doc/cxxapi/inherit__graph__27.md5 +1 -1
- data/doc/cxxapi/inherit__graph__27.png +0 -0
- data/doc/cxxapi/inherit__graph__28.map +1 -2
- data/doc/cxxapi/inherit__graph__28.md5 +1 -1
- data/doc/cxxapi/inherit__graph__28.png +0 -0
- data/doc/cxxapi/inherit__graph__29.map +1 -1
- data/doc/cxxapi/inherit__graph__29.md5 +1 -1
- data/doc/cxxapi/inherit__graph__29.png +0 -0
- data/doc/cxxapi/inherit__graph__30.map +1 -1
- data/doc/cxxapi/inherit__graph__30.md5 +1 -1
- data/doc/cxxapi/inherit__graph__30.png +0 -0
- data/doc/cxxapi/inherit__graph__31.map +2 -1
- data/doc/cxxapi/inherit__graph__31.md5 +1 -1
- data/doc/cxxapi/inherit__graph__31.png +0 -0
- data/doc/cxxapi/inherit__graph__32.map +1 -3
- data/doc/cxxapi/inherit__graph__32.md5 +1 -1
- data/doc/cxxapi/inherit__graph__32.png +0 -0
- data/doc/cxxapi/inherit__graph__33.map +1 -1
- data/doc/cxxapi/inherit__graph__33.md5 +1 -1
- data/doc/cxxapi/inherit__graph__33.png +0 -0
- data/doc/cxxapi/inherit__graph__34.map +1 -1
- data/doc/cxxapi/inherit__graph__34.md5 +1 -1
- data/doc/cxxapi/inherit__graph__34.png +0 -0
- data/doc/cxxapi/inherit__graph__35.map +3 -1
- data/doc/cxxapi/inherit__graph__35.md5 +1 -1
- data/doc/cxxapi/inherit__graph__35.png +0 -0
- data/doc/cxxapi/inherit__graph__36.map +1 -1
- data/doc/cxxapi/inherit__graph__36.md5 +1 -1
- data/doc/cxxapi/inherit__graph__36.png +0 -0
- data/doc/cxxapi/inherit__graph__37.map +1 -1
- data/doc/cxxapi/inherit__graph__37.md5 +1 -1
- data/doc/cxxapi/inherit__graph__37.png +0 -0
- data/doc/cxxapi/inherit__graph__38.map +3 -1
- data/doc/cxxapi/inherit__graph__38.md5 +1 -1
- data/doc/cxxapi/inherit__graph__38.png +0 -0
- data/doc/cxxapi/inherit__graph__39.map +3 -1
- data/doc/cxxapi/inherit__graph__39.md5 +1 -1
- data/doc/cxxapi/inherit__graph__39.png +0 -0
- data/doc/cxxapi/inherits.html +33 -24
- data/doc/cxxapi/namespacePassenger.html +52 -0
- data/doc/cxxapi/namespacemembers.html +6 -0
- data/doc/cxxapi/namespacemembers_func.html +6 -0
- data/doc/cxxapi/tree.html +8 -0
- data/ext/apache2/Configuration.cpp +30 -8
- data/ext/apache2/Configuration.hpp +15 -14
- data/ext/apache2/DirectoryMapper.h +0 -16
- data/ext/apache2/Hooks.cpp +30 -29
- data/ext/boost/algorithm/string/detail/case_conv.hpp +6 -6
- data/ext/boost/algorithm/string/detail/find_format.hpp +14 -4
- data/ext/boost/algorithm/string/detail/find_format_all.hpp +13 -3
- data/ext/boost/algorithm/string/detail/find_format_store.hpp +11 -0
- data/ext/boost/algorithm/string/erase.hpp +2 -2
- data/ext/boost/bind/placeholders.hpp +2 -2
- data/ext/boost/concept/detail/backward_compatibility.hpp +16 -0
- data/ext/boost/concept/detail/general.hpp +15 -6
- data/ext/boost/concept/detail/has_constraints.hpp +5 -3
- data/ext/boost/concept/usage.hpp +5 -4
- data/ext/boost/concept_check.hpp +10 -1
- data/ext/boost/config/abi/borland_prefix.hpp +1 -1
- data/ext/boost/config/auto_link.hpp +68 -21
- data/ext/boost/config/compiler/borland.hpp +11 -3
- data/ext/boost/config/compiler/clang.hpp +62 -0
- data/ext/boost/config/compiler/codegear.hpp +21 -7
- data/ext/boost/config/compiler/common_edg.hpp +4 -2
- data/ext/boost/config/compiler/digitalmars.hpp +1 -1
- data/ext/boost/config/compiler/gcc.hpp +46 -7
- data/ext/boost/config/compiler/gcc_xml.hpp +25 -0
- data/ext/boost/config/compiler/intel.hpp +23 -0
- data/ext/boost/config/compiler/kai.hpp +1 -1
- data/ext/boost/config/compiler/metrowerks.hpp +1 -1
- data/ext/boost/config/compiler/nvcc.hpp +86 -0
- data/ext/boost/config/compiler/pgi.hpp +18 -3
- data/ext/boost/config/compiler/sunpro_cc.hpp +19 -5
- data/ext/boost/config/compiler/vacpp.hpp +8 -0
- data/ext/boost/config/compiler/visualc.hpp +27 -11
- data/ext/boost/config/platform/cygwin.hpp +0 -3
- data/ext/boost/config/platform/symbian.hpp +94 -0
- data/ext/boost/config/platform/win32.hpp +8 -1
- data/ext/boost/config/select_compiler_config.hpp +10 -0
- data/ext/boost/config/select_platform_config.hpp +4 -0
- data/ext/boost/config/stdlib/dinkumware.hpp +11 -1
- data/ext/boost/config/stdlib/libcomo.hpp +1 -0
- data/ext/boost/config/stdlib/libstdcpp3.hpp +1 -0
- data/ext/boost/config/stdlib/modena.hpp +1 -0
- data/ext/boost/config/stdlib/msl.hpp +1 -0
- data/ext/boost/config/stdlib/roguewave.hpp +1 -0
- data/ext/boost/config/stdlib/sgi.hpp +1 -0
- data/ext/boost/config/stdlib/stlport.hpp +1 -0
- data/ext/boost/config/stdlib/vacpp.hpp +1 -0
- data/ext/boost/config/suffix.hpp +40 -2
- data/ext/boost/cstdint.hpp +36 -7
- data/ext/boost/date_time/gregorian/conversion.hpp +4 -2
- data/ext/boost/date_time/microsec_time_clock.hpp +7 -7
- data/ext/boost/date_time/posix_time/conversion.hpp +4 -2
- data/ext/boost/date_time/time_facet.hpp +43 -4
- data/ext/boost/detail/endian.hpp +5 -2
- data/ext/boost/detail/lcast_precision.hpp +2 -2
- data/ext/boost/detail/sp_typeinfo.hpp +1 -1
- data/ext/boost/detail/workaround.hpp +5 -0
- data/ext/boost/exception/detail/error_info_impl.hpp +3 -3
- data/ext/boost/exception/detail/exception_ptr.hpp +76 -135
- data/ext/boost/exception/detail/is_output_streamable.hpp +15 -2
- data/ext/boost/exception/detail/type_info.hpp +9 -5
- data/ext/boost/exception/diagnostic_information.hpp +5 -3
- data/ext/boost/exception/exception.hpp +60 -46
- data/ext/boost/exception/info.hpp +47 -14
- data/ext/boost/function/function_base.hpp +4 -4
- data/ext/boost/integer.hpp +4 -0
- data/ext/boost/integer_fwd.hpp +9 -3
- data/ext/boost/iterator/iterator_concepts.hpp +284 -0
- data/ext/boost/iterator/transform_iterator.hpp +0 -1
- data/ext/boost/make_shared.hpp +17 -0
- data/ext/boost/mpl/aux_/config/has_xxx.hpp +4 -3
- data/ext/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +2 -6
- data/ext/boost/mpl/aux_/template_arity.hpp +4 -4
- data/ext/boost/mpl/eval_if.hpp +3 -3
- data/ext/boost/mpl/has_xxx.hpp +369 -3
- data/ext/boost/optional/optional.hpp +3 -1
- data/ext/boost/optional/optional_fwd.hpp +1 -1
- data/ext/boost/preprocessor/repetition/enum_trailing_params.hpp +38 -0
- data/ext/boost/range/algorithm/equal.hpp +188 -0
- data/ext/boost/range/as_literal.hpp +15 -15
- data/ext/boost/range/concepts.hpp +331 -0
- data/ext/boost/range/const_iterator.hpp +7 -4
- data/ext/boost/range/detail/extract_optional_type.hpp +52 -0
- data/ext/boost/range/detail/implementation_help.hpp +7 -7
- data/ext/boost/range/detail/misc_concept.hpp +33 -0
- data/ext/boost/range/iterator.hpp +32 -32
- data/ext/boost/range/iterator_range.hpp +8 -651
- data/ext/boost/range/iterator_range_core.hpp +542 -0
- data/ext/boost/range/iterator_range_io.hpp +93 -0
- data/ext/boost/range/mutable_iterator.hpp +7 -4
- data/ext/boost/range/size.hpp +1 -1
- data/ext/boost/range/size_type.hpp +2 -1
- data/ext/boost/shared_array.hpp +19 -0
- data/ext/boost/smart_ptr/detail/sp_convertible.hpp +2 -2
- data/ext/boost/smart_ptr/detail/yield_k.hpp +1 -1
- data/ext/boost/smart_ptr/make_shared.hpp +508 -0
- data/ext/boost/smart_ptr/shared_array.hpp +147 -0
- data/ext/boost/src/pthread/thread.cpp +16 -21
- data/ext/boost/src/pthread/timeconv.inl +7 -4
- data/ext/boost/thread/barrier.hpp +2 -1
- data/ext/boost/thread/detail/config.hpp +7 -1
- data/ext/boost/thread/detail/platform.hpp +1 -1
- data/ext/boost/thread/detail/thread.hpp +62 -18
- data/ext/boost/thread/detail/thread_group.hpp +5 -2
- data/ext/boost/thread/detail/tss_hooks.hpp +8 -25
- data/ext/boost/thread/future.hpp +45 -34
- data/ext/boost/thread/locks.hpp +184 -55
- data/ext/boost/thread/pthread/condition_variable.hpp +7 -7
- data/ext/boost/thread/pthread/condition_variable_fwd.hpp +4 -2
- data/ext/boost/thread/pthread/mutex.hpp +29 -17
- data/ext/boost/thread/pthread/once.hpp +5 -0
- data/ext/boost/thread/pthread/recursive_mutex.hpp +97 -18
- data/ext/boost/thread/pthread/shared_mutex.hpp +1 -1
- data/ext/boost/thread/pthread/thread_heap_alloc.hpp +1 -1
- data/ext/boost/thread/tss.hpp +2 -0
- data/ext/boost/throw_exception.hpp +21 -5
- data/ext/boost/token_functions.hpp +111 -91
- data/ext/boost/type_traits/add_reference.hpp +19 -1
- data/ext/boost/type_traits/function_traits.hpp +2 -2
- data/ext/boost/type_traits/is_const.hpp +24 -5
- data/ext/boost/type_traits/is_convertible.hpp +1 -1
- data/ext/boost/type_traits/is_function.hpp +3 -0
- data/ext/boost/type_traits/is_lvalue_reference.hpp +118 -0
- data/ext/boost/type_traits/is_reference.hpp +8 -81
- data/ext/boost/type_traits/is_rvalue_reference.hpp +29 -0
- data/ext/boost/type_traits/is_same.hpp +2 -2
- data/ext/boost/type_traits/is_volatile.hpp +26 -7
- data/ext/boost/type_traits/remove_const.hpp +12 -0
- data/ext/boost/type_traits/remove_cv.hpp +23 -1
- data/ext/boost/type_traits/remove_reference.hpp +21 -1
- data/ext/boost/type_traits/type_with_alignment.hpp +10 -10
- data/ext/boost/units/detail/utility.hpp +104 -0
- data/ext/boost/utility/compare_pointees.hpp +1 -1
- data/ext/common/AgentsStarter.hpp +151 -161
- data/ext/common/ApplicationPool/Pool.h +16 -4
- data/ext/common/Constants.h +1 -1
- data/ext/common/EventedClient.h +130 -26
- data/ext/common/Exceptions.h +15 -2
- data/ext/common/FileDescriptor.h +76 -12
- data/ext/common/IniFile.h +488 -0
- data/ext/common/LoggingAgent/LoggingServer.h +2 -2
- data/ext/common/LoggingAgent/RemoteSender.h +15 -6
- data/ext/common/MessageChannel.h +17 -101
- data/ext/common/PoolOptions.h +1 -0
- data/ext/common/ResourceLocator.h +78 -28
- data/ext/common/SafeLibev.h +149 -0
- data/ext/common/ServerInstanceDir.h +11 -7
- data/ext/common/Session.h +1 -1
- data/ext/common/SpawnManager.h +14 -14
- data/ext/common/StaticString.h +75 -0
- data/ext/common/Utils.cpp +304 -12
- data/ext/common/Utils.h +17 -0
- data/ext/common/Utils/BufferedIO.h +196 -0
- data/ext/common/Utils/IOUtils.cpp +159 -0
- data/ext/common/Utils/IOUtils.h +118 -1
- data/ext/common/Utils/ProcessMetricsCollector.h +184 -56
- data/ext/common/Utils/StrIntUtils.cpp +45 -11
- data/ext/common/Utils/StrIntUtils.h +8 -5
- data/ext/common/Utils/Timer.h +22 -0
- data/ext/common/Utils/utf8.h +35 -0
- data/ext/common/Utils/utf8/checked.h +324 -0
- data/ext/common/Utils/utf8/core.h +359 -0
- data/ext/common/Utils/utf8/unchecked.h +229 -0
- data/ext/common/Watchdog.cpp +52 -85
- data/ext/libev/config.h +122 -0
- data/ext/nginx/Configuration.c +7 -1
- data/ext/nginx/HelperAgent.cpp +16 -18
- data/ext/nginx/config +6 -4
- data/ext/oxt/system_calls.cpp +10 -0
- data/ext/oxt/system_calls.hpp +2 -0
- data/lib/phusion_passenger.rb +6 -11
- data/lib/phusion_passenger/dependencies.rb +2 -0
- data/lib/phusion_passenger/packaging.rb +5 -5
- data/lib/phusion_passenger/platform_info.rb +88 -0
- data/lib/phusion_passenger/platform_info/binary_compatibility.rb +3 -17
- data/lib/phusion_passenger/platform_info/compiler.rb +14 -32
- data/lib/phusion_passenger/platform_info/curl.rb +6 -1
- data/lib/phusion_passenger/platform_info/operating_system.rb +107 -0
- data/lib/phusion_passenger/public_api.rb +2 -2
- data/lib/phusion_passenger/rails3_extensions/init.rb +5 -2
- data/lib/phusion_passenger/standalone/command.rb +6 -2
- data/lib/phusion_passenger/standalone/package_runtime_command.rb +2 -2
- data/lib/phusion_passenger/standalone/runtime_installer.rb +17 -5
- data/lib/phusion_passenger/standalone/start_command.rb +12 -12
- data/lib/phusion_passenger/standalone/stop_command.rb +3 -3
- data/lib/phusion_passenger/standalone/utils.rb +6 -2
- data/lib/phusion_passenger/templates/standalone/config.erb +37 -5
- data/lib/phusion_passenger/utils.rb +4 -7
- data/resources/mime.types +73 -0
- data/{misc → resources}/union_station_gateway.crt +0 -0
- data/test/cxx/BufferedIOTest.cpp +364 -0
- data/test/cxx/EventedClientTest.cpp +150 -13
- data/test/cxx/IOUtilsTest.cpp +399 -1
- data/test/cxx/MessageChannelTest.cpp +5 -120
- data/test/cxx/ProcessMetricsCollectorTest.cpp +121 -0
- data/test/cxx/StaticStringTest.cpp +134 -0
- data/test/cxx/UtilsTest.cpp +16 -46
- data/test/stub/rails_apps/2.3/mycook/public/dispatch.cgi +2 -2
- data/test/stub/rails_apps/2.3/mycook/public/dispatch.fcgi +1 -1
- data/test/stub/rails_apps/2.3/mycook/public/dispatch.rb +1 -1
- data/test/stub/rails_apps/3.0/empty/Gemfile.lock +73 -0
- data/test/support/allocate_memory.c +14 -0
- data/test/support/test_helper.rb +3 -0
- metadata +57 -174
- data/bin/passenger-stress-test +0 -345
- data/debian/postinst +0 -24
- data/doc/rdoc/classes/ConditionVariable.html +0 -215
- data/doc/rdoc/classes/Exception.html +0 -120
- data/doc/rdoc/classes/GC.html +0 -113
- data/doc/rdoc/classes/IO.html +0 -221
- data/doc/rdoc/classes/PhusionPassenger.html +0 -397
- data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +0 -180
- data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +0 -647
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +0 -654
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/InvalidPassword.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +0 -97
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +0 -96
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +0 -97
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +0 -96
- data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +0 -619
- data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +0 -142
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats.html +0 -368
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats/Process.html +0 -231
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance.html +0 -588
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/CorruptedDirectoryError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/GenerationsAbsentError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Group.html +0 -147
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Process.html +0 -279
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/RoleDeniedError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/StaleDirectoryError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Stats.html +0 -123
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/UnsupportedGenerationStructureVersionError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger.html +0 -341
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/Log.html +0 -294
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/SharedData.html +0 -199
- data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +0 -155
- data/doc/rdoc/classes/PhusionPassenger/AppProcess.html +0 -367
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails.html +0 -95
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner.html +0 -351
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner/Error.html +0 -98
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/CGIFixed.html +0 -200
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner.html +0 -410
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner/Error.html +0 -98
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/RequestHandler.html +0 -156
- data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions.html +0 -115
- data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions/AnalyticsLogging.html +0 -202
- data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +0 -172
- data/doc/rdoc/classes/PhusionPassenger/DebugLogging.html +0 -273
- data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +0 -145
- data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +0 -162
- data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +0 -141
- data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +0 -673
- data/doc/rdoc/classes/PhusionPassenger/MessageChannel/InvalidHashError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/MessageClient.html +0 -415
- data/doc/rdoc/classes/PhusionPassenger/NativeSupportLoader.html +0 -134
- data/doc/rdoc/classes/PhusionPassenger/Packaging.html +0 -129
- data/doc/rdoc/classes/PhusionPassenger/PlatformInfo.html +0 -1809
- data/doc/rdoc/classes/PhusionPassenger/Plugin.html +0 -237
- data/doc/rdoc/classes/PhusionPassenger/Rack.html +0 -91
- data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +0 -312
- data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner/Error.html +0 -98
- data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +0 -218
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions.html +0 -114
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging.html +0 -256
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ACExtension.html +0 -139
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ASBenchmarkableExtension.html +0 -118
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ExceptionLogger.html +0 -135
- data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +0 -378
- data/doc/rdoc/classes/PhusionPassenger/Standalone.html +0 -111
- data/doc/rdoc/classes/PhusionPassenger/Standalone/AppFinder.html +0 -252
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Command.html +0 -161
- data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile.html +0 -368
- data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile/DisallowedContextError.html +0 -132
- data/doc/rdoc/classes/PhusionPassenger/Standalone/HelpCommand.html +0 -151
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Main.html +0 -189
- data/doc/rdoc/classes/PhusionPassenger/Standalone/PackageRuntimeCommand.html +0 -177
- data/doc/rdoc/classes/PhusionPassenger/Standalone/RuntimeInstaller.html +0 -341
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StartCommand.html +0 -203
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StatusCommand.html +0 -156
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StopCommand.html +0 -168
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Utils.html +0 -86
- data/doc/rdoc/classes/PhusionPassenger/Standalone/VersionCommand.html +0 -135
- data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +0 -125
- data/doc/rdoc/classes/PhusionPassenger/Utils.html +0 -1550
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher.html +0 -204
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/DirInfo.html +0 -171
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/FileInfo.html +0 -140
- data/doc/rdoc/classes/PhusionPassenger/Utils/HostsFileParser.html +0 -260
- data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +0 -169
- data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html +0 -265
- data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html +0 -120
- data/doc/rdoc/classes/PhusionPassenger/Utils/UnseekableSocket.html +0 -561
- data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +0 -140
- data/doc/rdoc/classes/PhusionPassenger/WSGI.html +0 -89
- data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +0 -182
- data/doc/rdoc/classes/Process.html +0 -115
- data/doc/rdoc/classes/Signal.html +0 -139
- data/doc/rdoc/created.rid +0 -1
- data/doc/rdoc/files/DEVELOPERS_TXT.html +0 -276
- data/doc/rdoc/files/README.html +0 -157
- data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +0 -130
- data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +0 -135
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +0 -128
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools/memory_stats_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools/server_instance_rb.html +0 -132
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/analytics_logger_rb.html +0 -129
- data/doc/rdoc/files/lib/phusion_passenger/app_process_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/application_spawner_rb.html +0 -141
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/cgi_fixed_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/framework_spawner_rb.html +0 -146
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/request_handler_rb.html +0 -125
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails_extensions/init_rb.html +0 -132
- data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/debug_logging_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +0 -147
- data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +0 -120
- data/doc/rdoc/files/lib/phusion_passenger/message_client_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/native_support_rb.html +0 -132
- data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/apache_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/binary_compatibility_rb.html +0 -129
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/compiler_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/curl_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/documentation_tools_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/linux_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/operating_system_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/ruby_rb.html +0 -128
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/zlib_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/plugin_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/public_api_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +0 -137
- data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +0 -125
- data/doc/rdoc/files/lib/phusion_passenger/rails3_extensions/init_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +0 -160
- data/doc/rdoc/files/lib/phusion_passenger/standalone/app_finder_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/standalone/command_rb.html +0 -135
- data/doc/rdoc/files/lib/phusion_passenger/standalone/config_file_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/help_command_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/main_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/package_runtime_command_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/standalone/runtime_installer_rb.html +0 -133
- data/doc/rdoc/files/lib/phusion_passenger/standalone/start_command_rb.html +0 -136
- data/doc/rdoc/files/lib/phusion_passenger/standalone/status_command_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/stop_command_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/utils_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/version_command_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/utils/file_system_watcher_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/utils/hosts_file_parser_rb.html +0 -120
- data/doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html +0 -100
- data/doc/rdoc/files/lib/phusion_passenger/utils/tmpdir_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/utils/unseekable_socket_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +0 -179
- data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +0 -132
- data/doc/rdoc/fr_class_index.html +0 -138
- data/doc/rdoc/fr_file_index.html +0 -108
- data/doc/rdoc/fr_method_index.html +0 -430
- data/doc/rdoc/index.html +0 -26
- data/doc/rdoc/rdoc-style.css +0 -187
- data/ext/apache2/LICENSE-CNRI.TXT +0 -79
- data/ext/common/Utils/BlockingScalar.h +0 -50
- data/ext/common/Utils/FileHandleGuard.h +0 -81
@@ -82,9 +82,9 @@ struct DirConfig {
|
|
82
82
|
/** Whether to autodetect WSGI applications. */
|
83
83
|
Threeway autoDetectWSGI;
|
84
84
|
|
85
|
-
/** The environment (
|
86
|
-
*
|
87
|
-
const char *
|
85
|
+
/** The environment (RAILS_ENV/RACK_ENV/WSGI_ENV) under which
|
86
|
+
* applications should operate. */
|
87
|
+
const char *environment;
|
88
88
|
|
89
89
|
/** The path to the application's root (for example: RAILS_ROOT
|
90
90
|
* for Rails applications, directory containing 'config.ru'
|
@@ -183,6 +183,8 @@ struct DirConfig {
|
|
183
183
|
*/
|
184
184
|
const char *uploadBufferDir;
|
185
185
|
|
186
|
+
string unionStationKey;
|
187
|
+
|
186
188
|
/**
|
187
189
|
* Whether Phusion Passenger should show friendly error pages.
|
188
190
|
*/
|
@@ -240,17 +242,9 @@ struct DirConfig {
|
|
240
242
|
}
|
241
243
|
}
|
242
244
|
|
243
|
-
const char *
|
244
|
-
if (
|
245
|
-
return
|
246
|
-
} else {
|
247
|
-
return "production";
|
248
|
-
}
|
249
|
-
}
|
250
|
-
|
251
|
-
const char *getRackEnv() const {
|
252
|
-
if (rackEnv != NULL) {
|
253
|
-
return rackEnv;
|
245
|
+
const char *getEnvironment() const {
|
246
|
+
if (environment != NULL) {
|
247
|
+
return environment;
|
254
248
|
} else {
|
255
249
|
return "production";
|
256
250
|
}
|
@@ -383,6 +377,10 @@ struct ServerConfig {
|
|
383
377
|
/** The temp directory that Passenger should use. */
|
384
378
|
string tempDir;
|
385
379
|
|
380
|
+
string unionStationGatewayAddress;
|
381
|
+
int unionStationGatewayPort;
|
382
|
+
string unionStationGatewayCert;
|
383
|
+
|
386
384
|
/** Directory in which analytics logs should be saved. */
|
387
385
|
string analyticsLogDir;
|
388
386
|
string analyticsLogUser;
|
@@ -402,6 +400,9 @@ struct ServerConfig {
|
|
402
400
|
userSwitching = true;
|
403
401
|
defaultUser = DEFAULT_WEB_APP_USER;
|
404
402
|
tempDir = getSystemTempDir();
|
403
|
+
unionStationGatewayAddress = DEFAULT_UNION_STATION_GATEWAY_ADDRESS;
|
404
|
+
unionStationGatewayPort = DEFAULT_UNION_STATION_GATEWAY_PORT;
|
405
|
+
unionStationGatewayCert = "";
|
405
406
|
analyticsLogUser = DEFAULT_ANALYTICS_LOG_USER;
|
406
407
|
analyticsLogGroup = DEFAULT_ANALYTICS_LOG_GROUP;
|
407
408
|
analyticsLogPermissions = DEFAULT_ANALYTICS_LOG_PERMISSIONS;
|
@@ -272,22 +272,6 @@ public:
|
|
272
272
|
return NULL;
|
273
273
|
};
|
274
274
|
}
|
275
|
-
|
276
|
-
/**
|
277
|
-
* Returns the environment under which the application should be spawned.
|
278
|
-
*
|
279
|
-
* @throws FileSystemException An error occured while examening the filesystem.
|
280
|
-
*/
|
281
|
-
const char *getEnvironment() {
|
282
|
-
switch (getApplicationType()) {
|
283
|
-
case RAILS:
|
284
|
-
return config->getRailsEnv();
|
285
|
-
case RACK:
|
286
|
-
return config->getRackEnv();
|
287
|
-
default:
|
288
|
-
return "production";
|
289
|
-
}
|
290
|
-
}
|
291
275
|
};
|
292
276
|
|
293
277
|
} // namespace Passenger
|
data/ext/apache2/Hooks.cpp
CHANGED
@@ -236,7 +236,8 @@ private:
|
|
236
236
|
*/
|
237
237
|
inline RequestNote *getRequestNote(request_rec *r) {
|
238
238
|
// The union is needed in order to be compliant with
|
239
|
-
// C99/C++'s strict aliasing rules.
|
239
|
+
// C99/C++'s strict aliasing rules.
|
240
|
+
// http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html
|
240
241
|
union {
|
241
242
|
RequestNote *note;
|
242
243
|
void *pointer;
|
@@ -566,7 +567,10 @@ private:
|
|
566
567
|
try {
|
567
568
|
AnalyticsLogPtr log;
|
568
569
|
if (config->analyticsEnabled()) {
|
569
|
-
log = analyticsLogger->newTransaction(
|
570
|
+
log = analyticsLogger->newTransaction(
|
571
|
+
config->getAppGroupName(appRoot),
|
572
|
+
"requests",
|
573
|
+
config->unionStationKey);
|
570
574
|
log->message(string("URI: ") + r->uri);
|
571
575
|
} else {
|
572
576
|
log.reset(new AnalyticsLog());
|
@@ -640,7 +644,7 @@ private:
|
|
640
644
|
appRoot,
|
641
645
|
config->getAppGroupName(appRoot),
|
642
646
|
mapper.getApplicationTypeString(),
|
643
|
-
|
647
|
+
config->getEnvironment(),
|
644
648
|
config->getSpawnMethodString(),
|
645
649
|
config->getUser(),
|
646
650
|
config->getGroup(),
|
@@ -873,43 +877,40 @@ private:
|
|
873
877
|
/**
|
874
878
|
* Convert an HTTP header name to a CGI environment name.
|
875
879
|
*/
|
876
|
-
char *
|
877
|
-
char *
|
878
|
-
char *
|
880
|
+
char *httpToEnv(apr_pool_t *p, const char *headerName) {
|
881
|
+
char *result = apr_pstrcat(p, "HTTP_", headerName, NULL);
|
882
|
+
char *current = result + sizeof("HTTP_") - 1;
|
879
883
|
|
880
|
-
|
881
|
-
if (*
|
882
|
-
*
|
884
|
+
while (*current != '\0') {
|
885
|
+
if (*current == '-') {
|
886
|
+
*current = '_';
|
883
887
|
} else {
|
884
|
-
*
|
888
|
+
*current = apr_toupper(*current);
|
885
889
|
}
|
890
|
+
current++;
|
886
891
|
}
|
887
892
|
|
888
|
-
return
|
893
|
+
return result;
|
889
894
|
}
|
890
895
|
|
891
|
-
char *
|
892
|
-
const apr_array_header_t *
|
893
|
-
apr_table_entry_t *
|
894
|
-
int i;
|
896
|
+
const char *lookupInTable(apr_table_t *table, const char *name) {
|
897
|
+
const apr_array_header_t *headers = apr_table_elts(table);
|
898
|
+
apr_table_entry_t *elements = (apr_table_entry_t *) headers->elts;
|
895
899
|
|
896
|
-
for (i = 0; i <
|
897
|
-
if (
|
898
|
-
|
899
|
-
}
|
900
|
-
if (strcasecmp(hdrs[i].key, name) == 0) {
|
901
|
-
return hdrs[i].val;
|
900
|
+
for (int i = 0; i < headers->nelts; i++) {
|
901
|
+
if (elements[i].key != NULL && strcasecmp(elements[i].key, name) == 0) {
|
902
|
+
return elements[i].val;
|
902
903
|
}
|
903
904
|
}
|
904
905
|
return NULL;
|
905
906
|
}
|
906
907
|
|
907
|
-
char *lookupHeader(request_rec *r, const char *name) {
|
908
|
-
return
|
908
|
+
const char *lookupHeader(request_rec *r, const char *name) {
|
909
|
+
return lookupInTable(r->headers_in, name);
|
909
910
|
}
|
910
911
|
|
911
|
-
char *lookupEnv(request_rec *r, const char *name) {
|
912
|
-
return
|
912
|
+
const char *lookupEnv(request_rec *r, const char *name) {
|
913
|
+
return lookupInTable(r->subprocess_env, name);
|
913
914
|
}
|
914
915
|
|
915
916
|
void inline addHeader(apr_table_t *table, const char *name, const char *value) {
|
@@ -982,7 +983,7 @@ private:
|
|
982
983
|
hdrs = (apr_table_entry_t *) hdrs_arr->elts;
|
983
984
|
for (i = 0; i < hdrs_arr->nelts; ++i) {
|
984
985
|
if (hdrs[i].key) {
|
985
|
-
addHeader(headers,
|
986
|
+
addHeader(headers, httpToEnv(r->pool, hdrs[i].key), hdrs[i].val);
|
986
987
|
}
|
987
988
|
}
|
988
989
|
|
@@ -1337,9 +1338,9 @@ public:
|
|
1337
1338
|
"",
|
1338
1339
|
serverConfig.analyticsLogDir, serverConfig.analyticsLogUser,
|
1339
1340
|
serverConfig.analyticsLogGroup, serverConfig.analyticsLogPermissions,
|
1340
|
-
|
1341
|
-
|
1342
|
-
|
1341
|
+
serverConfig.unionStationGatewayAddress,
|
1342
|
+
serverConfig.unionStationGatewayPort,
|
1343
|
+
serverConfig.unionStationGatewayCert,
|
1343
1344
|
serverConfig.prestartURLs);
|
1344
1345
|
|
1345
1346
|
analyticsLogger = ptr(new AnalyticsLogger(agentsStarter.getLoggingSocketAddress(),
|
@@ -31,7 +31,7 @@ namespace boost {
|
|
31
31
|
struct to_lowerF : public std::unary_function<CharT, CharT>
|
32
32
|
{
|
33
33
|
// Constructor
|
34
|
-
to_lowerF( const std::locale& Loc ) : m_Loc( Loc ) {}
|
34
|
+
to_lowerF( const std::locale& Loc ) : m_Loc( &Loc ) {}
|
35
35
|
|
36
36
|
// Operation
|
37
37
|
CharT operator ()( CharT Ch ) const
|
@@ -39,11 +39,11 @@ namespace boost {
|
|
39
39
|
#if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
|
40
40
|
return std::tolower( Ch);
|
41
41
|
#else
|
42
|
-
return std::tolower<CharT>( Ch, m_Loc );
|
42
|
+
return std::tolower<CharT>( Ch, *m_Loc );
|
43
43
|
#endif
|
44
44
|
}
|
45
45
|
private:
|
46
|
-
const std::locale
|
46
|
+
const std::locale* m_Loc;
|
47
47
|
};
|
48
48
|
|
49
49
|
// a toupper functor
|
@@ -51,7 +51,7 @@ namespace boost {
|
|
51
51
|
struct to_upperF : public std::unary_function<CharT, CharT>
|
52
52
|
{
|
53
53
|
// Constructor
|
54
|
-
to_upperF( const std::locale& Loc ) : m_Loc( Loc ) {}
|
54
|
+
to_upperF( const std::locale& Loc ) : m_Loc( &Loc ) {}
|
55
55
|
|
56
56
|
// Operation
|
57
57
|
CharT operator ()( CharT Ch ) const
|
@@ -59,11 +59,11 @@ namespace boost {
|
|
59
59
|
#if defined(__BORLANDC__) && (__BORLANDC__ >= 0x560) && (__BORLANDC__ <= 0x564) && !defined(_USE_OLD_RW_STL)
|
60
60
|
return std::toupper( Ch);
|
61
61
|
#else
|
62
|
-
return std::toupper<CharT>( Ch, m_Loc );
|
62
|
+
return std::toupper<CharT>( Ch, *m_Loc );
|
63
63
|
#endif
|
64
64
|
}
|
65
65
|
private:
|
66
|
-
const std::locale
|
66
|
+
const std::locale* m_Loc;
|
67
67
|
};
|
68
68
|
|
69
69
|
#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
|
@@ -49,17 +49,17 @@ namespace boost {
|
|
49
49
|
if ( !M )
|
50
50
|
{
|
51
51
|
// Match not found - return original sequence
|
52
|
-
std::copy( ::boost::begin(Input), ::boost::end(Input), Output );
|
52
|
+
Output = std::copy( ::boost::begin(Input), ::boost::end(Input), Output );
|
53
53
|
return Output;
|
54
54
|
}
|
55
55
|
|
56
56
|
// Copy the beginning of the sequence
|
57
|
-
std::copy( ::boost::begin(Input), ::boost::begin(M), Output );
|
57
|
+
Output = std::copy( ::boost::begin(Input), ::boost::begin(M), Output );
|
58
58
|
// Format find result
|
59
59
|
// Copy formated result
|
60
|
-
std::copy( ::boost::begin(M.format_result()), ::boost::end(M.format_result()), Output );
|
60
|
+
Output = std::copy( ::boost::begin(M.format_result()), ::boost::end(M.format_result()), Output );
|
61
61
|
// Copy the rest of the sequence
|
62
|
-
std::copy( M.end(), ::boost::end(Input), Output );
|
62
|
+
Output = std::copy( M.end(), ::boost::end(Input), Output );
|
63
63
|
|
64
64
|
return Output;
|
65
65
|
}
|
@@ -75,12 +75,16 @@ namespace boost {
|
|
75
75
|
FormatterT Formatter,
|
76
76
|
const FindResultT& FindResult )
|
77
77
|
{
|
78
|
+
if( ::boost::algorithm::detail::check_find_result(Input, FindResult) ) {
|
78
79
|
return ::boost::algorithm::detail::find_format_copy_impl2(
|
79
80
|
Output,
|
80
81
|
Input,
|
81
82
|
Formatter,
|
82
83
|
FindResult,
|
83
84
|
Formatter(FindResult) );
|
85
|
+
} else {
|
86
|
+
return std::copy( ::boost::begin(Input), ::boost::end(Input), Output );
|
87
|
+
}
|
84
88
|
}
|
85
89
|
|
86
90
|
|
@@ -132,11 +136,15 @@ namespace boost {
|
|
132
136
|
FormatterT Formatter,
|
133
137
|
const FindResultT& FindResult)
|
134
138
|
{
|
139
|
+
if( ::boost::algorithm::detail::check_find_result(Input, FindResult) ) {
|
135
140
|
return ::boost::algorithm::detail::find_format_copy_impl2(
|
136
141
|
Input,
|
137
142
|
Formatter,
|
138
143
|
FindResult,
|
139
144
|
Formatter(FindResult) );
|
145
|
+
} else {
|
146
|
+
return Input;
|
147
|
+
}
|
140
148
|
}
|
141
149
|
|
142
150
|
// replace implementation ----------------------------------------------------//
|
@@ -180,12 +188,14 @@ namespace boost {
|
|
180
188
|
FormatterT Formatter,
|
181
189
|
const FindResultT& FindResult)
|
182
190
|
{
|
191
|
+
if( ::boost::algorithm::detail::check_find_result(Input, FindResult) ) {
|
183
192
|
::boost::algorithm::detail::find_format_impl2(
|
184
193
|
Input,
|
185
194
|
Formatter,
|
186
195
|
FindResult,
|
187
196
|
Formatter(FindResult) );
|
188
197
|
}
|
198
|
+
}
|
189
199
|
|
190
200
|
} // namespace detail
|
191
201
|
} // namespace algorithm
|
@@ -57,9 +57,9 @@ namespace boost {
|
|
57
57
|
while( M )
|
58
58
|
{
|
59
59
|
// Copy the beginning of the sequence
|
60
|
-
std::copy( LastMatch, M.begin(), Output );
|
60
|
+
Output = std::copy( LastMatch, M.begin(), Output );
|
61
61
|
// Copy formated result
|
62
|
-
std::copy( ::boost::begin(M.format_result()), ::boost::end(M.format_result()), Output );
|
62
|
+
Output = std::copy( ::boost::begin(M.format_result()), ::boost::end(M.format_result()), Output );
|
63
63
|
|
64
64
|
// Proceed to the next match
|
65
65
|
LastMatch=M.end();
|
@@ -67,7 +67,7 @@ namespace boost {
|
|
67
67
|
}
|
68
68
|
|
69
69
|
// Copy the rest of the sequence
|
70
|
-
std::copy( LastMatch, ::boost::end(Input), Output );
|
70
|
+
Output = std::copy( LastMatch, ::boost::end(Input), Output );
|
71
71
|
|
72
72
|
return Output;
|
73
73
|
}
|
@@ -85,6 +85,7 @@ namespace boost {
|
|
85
85
|
FormatterT Formatter,
|
86
86
|
const FindResultT& FindResult )
|
87
87
|
{
|
88
|
+
if( ::boost::algorithm::detail::check_find_result(Input, FindResult) ) {
|
88
89
|
return ::boost::algorithm::detail::find_format_all_copy_impl2(
|
89
90
|
Output,
|
90
91
|
Input,
|
@@ -92,6 +93,9 @@ namespace boost {
|
|
92
93
|
Formatter,
|
93
94
|
FindResult,
|
94
95
|
Formatter(FindResult) );
|
96
|
+
} else {
|
97
|
+
return std::copy( ::boost::begin(Input), ::boost::end(Input), Output );
|
98
|
+
}
|
95
99
|
}
|
96
100
|
|
97
101
|
// find_format_all_copy implementation ----------------------------------------------//
|
@@ -156,12 +160,16 @@ namespace boost {
|
|
156
160
|
FormatterT Formatter,
|
157
161
|
const FindResultT& FindResult)
|
158
162
|
{
|
163
|
+
if( ::boost::algorithm::detail::check_find_result(Input, FindResult) ) {
|
159
164
|
return ::boost::algorithm::detail::find_format_all_copy_impl2(
|
160
165
|
Input,
|
161
166
|
Finder,
|
162
167
|
Formatter,
|
163
168
|
FindResult,
|
164
169
|
Formatter(FindResult) );
|
170
|
+
} else {
|
171
|
+
return Input;
|
172
|
+
}
|
165
173
|
}
|
166
174
|
|
167
175
|
// find_format_all implementation ------------------------------------------------//
|
@@ -248,6 +256,7 @@ namespace boost {
|
|
248
256
|
FormatterT Formatter,
|
249
257
|
FindResultT FindResult)
|
250
258
|
{
|
259
|
+
if( ::boost::algorithm::detail::check_find_result(Input, FindResult) ) {
|
251
260
|
::boost::algorithm::detail::find_format_all_impl2(
|
252
261
|
Input,
|
253
262
|
Finder,
|
@@ -255,6 +264,7 @@ namespace boost {
|
|
255
264
|
FindResult,
|
256
265
|
Formatter(FindResult) );
|
257
266
|
}
|
267
|
+
}
|
258
268
|
|
259
269
|
} // namespace detail
|
260
270
|
} // namespace algorithm
|
@@ -52,7 +52,9 @@ namespace boost {
|
|
52
52
|
find_format_store& operator=( FindResultT FindResult )
|
53
53
|
{
|
54
54
|
iterator_range<ForwardIteratorT>::operator=(FindResult);
|
55
|
+
if( !this->empty() ) {
|
55
56
|
m_FormatResult=m_Formatter(FindResult);
|
57
|
+
}
|
56
58
|
|
57
59
|
return *this;
|
58
60
|
}
|
@@ -68,6 +70,15 @@ namespace boost {
|
|
68
70
|
const formatter_type& m_Formatter;
|
69
71
|
};
|
70
72
|
|
73
|
+
template<typename InputT, typename FindResultT>
|
74
|
+
bool check_find_result(InputT& Input, FindResultT& FindResult)
|
75
|
+
{
|
76
|
+
typedef BOOST_STRING_TYPENAME
|
77
|
+
range_const_iterator<InputT>::type input_iterator_type;
|
78
|
+
iterator_range<input_iterator_type> ResultRange(FindResult);
|
79
|
+
return !ResultRange.empty();
|
80
|
+
}
|
81
|
+
|
71
82
|
#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
|
72
83
|
#pragma warning(pop)
|
73
84
|
#endif
|
@@ -752,7 +752,7 @@ namespace boost {
|
|
752
752
|
|
753
753
|
\param Output An output iterator to which the result will be copied
|
754
754
|
\param Input An input string
|
755
|
-
\param N Length of the
|
755
|
+
\param N Length of the tail.
|
756
756
|
For N>=0, at most N characters are extracted.
|
757
757
|
For N<0, size(Input)-|N| characters are extracted.
|
758
758
|
\return An output iterator pointing just after the last inserted character or
|
@@ -797,7 +797,7 @@ namespace boost {
|
|
797
797
|
considered to be the tail. The input sequence is modified in-place.
|
798
798
|
|
799
799
|
\param Input An input string
|
800
|
-
\param N Length of the
|
800
|
+
\param N Length of the tail
|
801
801
|
For N>=0, at most N characters are extracted.
|
802
802
|
For N<0, size(Input)-|N| characters are extracted.
|
803
803
|
*/
|
@@ -25,7 +25,7 @@
|
|
25
25
|
namespace
|
26
26
|
{
|
27
27
|
|
28
|
-
#if defined(__BORLANDC__) || defined(__GNUC__) && (__GNUC__
|
28
|
+
#if defined(__BORLANDC__) || defined(__GNUC__) && (__GNUC__ < 4)
|
29
29
|
|
30
30
|
static inline boost::arg<1> _1() { return boost::arg<1>(); }
|
31
31
|
static inline boost::arg<2> _2() { return boost::arg<2>(); }
|
@@ -38,7 +38,7 @@ static inline boost::arg<8> _8() { return boost::arg<8>(); }
|
|
38
38
|
static inline boost::arg<9> _9() { return boost::arg<9>(); }
|
39
39
|
|
40
40
|
#elif defined(BOOST_MSVC) || (defined(__DECCXX_VER) && __DECCXX_VER <= 60590031) || defined(__MWERKS__) || \
|
41
|
-
defined(__GNUC__) && (__GNUC__
|
41
|
+
defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ < 2)
|
42
42
|
|
43
43
|
static boost::arg<1> _1;
|
44
44
|
static boost::arg<2> _2;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
// Copyright David Abrahams 2009. Distributed under the Boost
|
2
|
+
// Software License, Version 1.0. (See accompanying
|
3
|
+
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
4
|
+
#ifndef BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
|
5
|
+
# define BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
|
6
|
+
|
7
|
+
namespace boost
|
8
|
+
{
|
9
|
+
namespace concepts {}
|
10
|
+
|
11
|
+
# if !defined(BOOST_NO_CONCEPTS) && !defined(BOOST_CONCEPT_NO_BACKWARD_KEYWORD)
|
12
|
+
namespace concept = concepts;
|
13
|
+
# endif
|
14
|
+
} // namespace boost::concept
|
15
|
+
|
16
|
+
#endif // BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
|