passenger 4.0.60 → 5.0.0.beta1
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/.editorconfig +5 -0
- data/.travis.yml +3 -2
- data/CHANGELOG +31 -53
- data/CONTRIBUTING.md +4 -4
- data/CONTRIBUTORS +0 -1
- data/Gemfile +18 -0
- data/Gemfile.lock +41 -0
- data/Rakefile +16 -0
- data/bin/passenger +2 -2
- data/bin/passenger-install-apache2-module +12 -12
- data/bin/passenger-install-nginx-module +9 -14
- data/bin/passenger-status +125 -87
- data/build/agents.rb +112 -140
- data/build/apache2.rb +4 -9
- data/build/basics.rb +5 -3
- data/build/common_library.rb +1 -0
- data/build/cxx_tests.rb +69 -47
- data/build/debian.rb +4 -2
- data/build/documentation.rb +1 -0
- data/build/integration_tests.rb +28 -43
- data/build/misc.rb +0 -18
- data/build/nginx.rb +2 -6
- data/build/packaging.rb +33 -22
- data/build/preprocessor.rb +2 -4
- data/build/ruby_tests.rb +7 -26
- data/build/test_basics.rb +24 -25
- data/debian.template/control.template +2 -2
- data/debian.template/locations.ini.template +2 -3
- data/debian.template/passenger.install.template +2 -2
- data/debian.template/rules.template +1 -1
- data/dev/ci/run_jenkins.sh +0 -1
- data/dev/ci/run_rpm_tests.sh +3 -0
- data/dev/ci/run_travis.sh +63 -17
- data/dev/copy_boost_headers +22 -6
- data/dev/ruby_server.rb +244 -0
- data/dev/vagrant/provision.sh +3 -1
- data/doc/DebuggingAndStressTesting.md +3 -3
- data/doc/Design and Architecture.txt +5 -6
- data/doc/Packaging.txt.md +35 -6
- data/doc/ServerOptimizationGuide.txt.md +339 -0
- data/doc/Users guide Apache.idmap.txt +177 -187
- data/doc/Users guide Apache.txt +143 -219
- data/doc/Users guide Nginx.idmap.txt +166 -166
- data/doc/Users guide Nginx.txt +265 -223
- data/doc/Users guide Standalone.txt +3 -3
- data/doc/templates/markdown.html.erb +37 -6
- data/doc/users_guide_snippets/environment_variables.txt +1 -1
- data/doc/users_guide_snippets/support_information.txt +1 -1
- data/doc/users_guide_snippets/tips.txt +2 -2
- data/ext/apache2/Configuration.cpp +23 -81
- data/ext/apache2/Configuration.hpp +18 -92
- data/ext/apache2/ConfigurationCommands.cpp +64 -15
- data/ext/apache2/ConfigurationCommands.cpp.erb +8 -4
- data/ext/apache2/ConfigurationFields.hpp +12 -0
- data/ext/apache2/ConfigurationSetters.cpp +73 -1
- data/ext/apache2/ConfigurationSetters.cpp.erb +3 -2
- data/ext/apache2/CreateDirConfig.cpp +6 -0
- data/ext/apache2/DirectoryMapper.h +11 -6
- data/ext/apache2/Hooks.cpp +291 -408
- data/ext/apache2/MergeDirConfig.cpp +42 -0
- data/ext/apache2/SetHeaders.cpp +61 -16
- data/ext/apache2/SetHeaders.cpp.erb +9 -7
- data/ext/boost/container/allocator_traits.hpp +400 -0
- data/ext/boost/container/deque.hpp +2012 -0
- data/ext/boost/container/detail/adaptive_node_pool_impl.hpp +874 -0
- data/ext/boost/container/detail/advanced_insert_int.hpp +369 -0
- data/ext/boost/container/detail/algorithms.hpp +84 -0
- data/ext/boost/container/detail/allocation_type.hpp +54 -0
- data/ext/boost/container/detail/allocator_version_traits.hpp +163 -0
- data/ext/boost/container/detail/config_begin.hpp +49 -0
- data/ext/boost/container/detail/config_end.hpp +17 -0
- data/ext/boost/container/detail/destroyers.hpp +365 -0
- data/ext/boost/container/detail/flat_tree.hpp +1055 -0
- data/ext/boost/container/detail/function_detector.hpp +88 -0
- data/ext/boost/container/detail/iterators.hpp +611 -0
- data/ext/boost/container/detail/math_functions.hpp +113 -0
- data/ext/boost/container/detail/memory_util.hpp +83 -0
- data/ext/boost/container/detail/mpl.hpp +160 -0
- data/ext/boost/container/detail/multiallocation_chain.hpp +286 -0
- data/ext/boost/container/detail/node_alloc_holder.hpp +386 -0
- data/ext/boost/container/detail/node_pool_impl.hpp +365 -0
- data/ext/boost/container/detail/pair.hpp +354 -0
- data/ext/boost/container/detail/pool_common.hpp +52 -0
- data/ext/boost/container/detail/preprocessor.hpp +232 -0
- data/ext/boost/container/detail/transform_iterator.hpp +176 -0
- data/ext/boost/container/detail/tree.hpp +1134 -0
- data/ext/boost/container/detail/type_traits.hpp +210 -0
- data/ext/boost/container/detail/utilities.hpp +1141 -0
- data/ext/boost/container/detail/value_init.hpp +45 -0
- data/ext/boost/container/detail/variadic_templates_tools.hpp +153 -0
- data/ext/boost/container/detail/version_type.hpp +92 -0
- data/ext/boost/container/detail/workaround.hpp +44 -0
- data/ext/boost/container/flat_map.hpp +1674 -0
- data/ext/boost/container/flat_set.hpp +1408 -0
- data/ext/boost/container/list.hpp +1475 -0
- data/ext/boost/container/map.hpp +1508 -0
- data/ext/boost/container/scoped_allocator.hpp +1503 -0
- data/ext/boost/container/scoped_allocator_fwd.hpp +83 -0
- data/ext/boost/container/set.hpp +1280 -0
- data/ext/boost/container/slist.hpp +1706 -0
- data/ext/boost/container/stable_vector.hpp +1869 -0
- data/ext/boost/container/static_vector.hpp +1053 -0
- data/ext/boost/container/string.hpp +2856 -0
- data/ext/boost/container/throw_exception.hpp +110 -0
- data/ext/boost/container/vector.hpp +2671 -0
- data/ext/boost/detail/is_xxx.hpp +61 -0
- data/ext/boost/intrusive/any_hook.hpp +344 -0
- data/ext/boost/intrusive/avl_set.hpp +2528 -0
- data/ext/boost/intrusive/avl_set_hook.hpp +297 -0
- data/ext/boost/intrusive/avltree.hpp +1786 -0
- data/ext/boost/intrusive/avltree_algorithms.hpp +968 -0
- data/ext/boost/intrusive/bs_set_hook.hpp +296 -0
- data/ext/boost/intrusive/circular_list_algorithms.hpp +413 -0
- data/ext/boost/intrusive/circular_slist_algorithms.hpp +404 -0
- data/ext/boost/intrusive/derivation_value_traits.hpp +70 -0
- data/ext/boost/intrusive/detail/any_node_and_algorithms.hpp +297 -0
- data/ext/boost/intrusive/detail/assert.hpp +41 -0
- data/ext/boost/intrusive/detail/avltree_node.hpp +197 -0
- data/ext/boost/intrusive/detail/clear_on_destructor_base.hpp +36 -0
- data/ext/boost/intrusive/detail/common_slist_algorithms.hpp +102 -0
- data/ext/boost/intrusive/detail/config_begin.hpp +52 -0
- data/ext/boost/intrusive/detail/config_end.hpp +15 -0
- data/ext/boost/intrusive/detail/ebo_functor_holder.hpp +95 -0
- data/ext/boost/intrusive/detail/function_detector.hpp +88 -0
- data/ext/boost/intrusive/detail/generic_hook.hpp +209 -0
- data/ext/boost/intrusive/detail/has_member_function_callable_with.hpp +357 -0
- data/ext/boost/intrusive/detail/hashtable_node.hpp +249 -0
- data/ext/boost/intrusive/detail/is_stateful_value_traits.hpp +77 -0
- data/ext/boost/intrusive/detail/list_node.hpp +196 -0
- data/ext/boost/intrusive/detail/memory_util.hpp +288 -0
- data/ext/boost/intrusive/detail/mpl.hpp +383 -0
- data/ext/boost/intrusive/detail/parent_from_member.hpp +97 -0
- data/ext/boost/intrusive/detail/preprocessor.hpp +52 -0
- data/ext/boost/intrusive/detail/rbtree_node.hpp +201 -0
- data/ext/boost/intrusive/detail/slist_node.hpp +166 -0
- data/ext/boost/intrusive/detail/transform_iterator.hpp +173 -0
- data/ext/boost/intrusive/detail/tree_algorithms.hpp +1742 -0
- data/ext/boost/intrusive/detail/tree_node.hpp +199 -0
- data/ext/boost/intrusive/detail/utilities.hpp +858 -0
- data/ext/boost/intrusive/detail/workaround.hpp +22 -0
- data/ext/boost/intrusive/hashtable.hpp +3110 -0
- data/ext/boost/intrusive/intrusive_fwd.hpp +542 -0
- data/ext/boost/intrusive/linear_slist_algorithms.hpp +327 -0
- data/ext/boost/intrusive/link_mode.hpp +46 -0
- data/ext/boost/intrusive/list.hpp +1525 -0
- data/ext/boost/intrusive/list_hook.hpp +290 -0
- data/ext/boost/intrusive/member_value_traits.hpp +70 -0
- data/ext/boost/intrusive/options.hpp +810 -0
- data/ext/boost/intrusive/parent_from_member.hpp +42 -0
- data/ext/boost/intrusive/pointer_plus_bits.hpp +86 -0
- data/ext/boost/intrusive/pointer_traits.hpp +265 -0
- data/ext/boost/intrusive/priority_compare.hpp +39 -0
- data/ext/boost/intrusive/rbtree.hpp +1785 -0
- data/ext/boost/intrusive/rbtree_algorithms.hpp +934 -0
- data/ext/boost/intrusive/set.hpp +2554 -0
- data/ext/boost/intrusive/set_hook.hpp +300 -0
- data/ext/boost/intrusive/sg_set.hpp +2601 -0
- data/ext/boost/intrusive/sgtree.hpp +2009 -0
- data/ext/boost/intrusive/sgtree_algorithms.hpp +807 -0
- data/ext/boost/intrusive/slist.hpp +2219 -0
- data/ext/boost/intrusive/slist_hook.hpp +294 -0
- data/ext/boost/intrusive/splay_set.hpp +2575 -0
- data/ext/boost/intrusive/splay_set_hook.hpp +292 -0
- data/ext/boost/intrusive/splaytree.hpp +1784 -0
- data/ext/boost/intrusive/splaytree_algorithms.hpp +1008 -0
- data/ext/boost/intrusive/treap.hpp +1882 -0
- data/ext/boost/intrusive/treap_algorithms.hpp +919 -0
- data/ext/boost/intrusive/treap_set.hpp +2751 -0
- data/ext/boost/intrusive/trivial_value_traits.hpp +46 -0
- data/ext/boost/intrusive/unordered_set.hpp +2115 -0
- data/ext/boost/intrusive/unordered_set_hook.hpp +434 -0
- data/ext/boost/intrusive_ptr.hpp +18 -0
- data/ext/boost/math/common_factor_ct.hpp +180 -0
- data/ext/boost/math_fwd.hpp +108 -0
- data/ext/boost/move/detail/move_helpers.hpp +175 -0
- data/ext/boost/parameter.hpp +21 -0
- data/ext/boost/parameter/aux_/arg_list.hpp +459 -0
- data/ext/boost/parameter/aux_/cast.hpp +143 -0
- data/ext/boost/parameter/aux_/default.hpp +69 -0
- data/ext/boost/parameter/aux_/is_maybe.hpp +26 -0
- data/ext/boost/parameter/aux_/maybe.hpp +120 -0
- data/ext/boost/parameter/aux_/overloads.hpp +88 -0
- data/ext/boost/parameter/aux_/parameter_requirements.hpp +25 -0
- data/ext/boost/parameter/aux_/parenthesized_type.hpp +119 -0
- data/ext/boost/parameter/aux_/preprocessor/flatten.hpp +115 -0
- data/ext/boost/parameter/aux_/preprocessor/for_each.hpp +103 -0
- data/ext/boost/parameter/aux_/python/invoker.hpp +132 -0
- data/ext/boost/parameter/aux_/python/invoker_iterate.hpp +93 -0
- data/ext/boost/parameter/aux_/result_of0.hpp +36 -0
- data/ext/boost/parameter/aux_/set.hpp +67 -0
- data/ext/boost/parameter/aux_/tag.hpp +38 -0
- data/ext/boost/parameter/aux_/tagged_argument.hpp +188 -0
- data/ext/boost/parameter/aux_/template_keyword.hpp +47 -0
- data/ext/boost/parameter/aux_/unwrap_cv_reference.hpp +97 -0
- data/ext/boost/parameter/aux_/void.hpp +29 -0
- data/ext/boost/parameter/aux_/yesno.hpp +26 -0
- data/ext/boost/parameter/binding.hpp +106 -0
- data/ext/boost/parameter/config.hpp +14 -0
- data/ext/boost/parameter/keyword.hpp +152 -0
- data/ext/boost/parameter/macros.hpp +99 -0
- data/ext/boost/parameter/match.hpp +55 -0
- data/ext/boost/parameter/name.hpp +156 -0
- data/ext/boost/parameter/parameters.hpp +931 -0
- data/ext/boost/parameter/preprocessor.hpp +1178 -0
- data/ext/boost/parameter/python.hpp +735 -0
- data/ext/boost/parameter/value_type.hpp +108 -0
- data/ext/boost/pool/detail/for.m4 +107 -0
- data/ext/boost/pool/detail/guard.hpp +69 -0
- data/ext/boost/pool/detail/mutex.hpp +42 -0
- data/ext/boost/pool/detail/pool_construct.bat +24 -0
- data/ext/boost/pool/detail/pool_construct.ipp +852 -0
- data/ext/boost/pool/detail/pool_construct.m4 +84 -0
- data/ext/boost/pool/detail/pool_construct.sh +12 -0
- data/ext/boost/pool/detail/pool_construct_simple.bat +25 -0
- data/ext/boost/pool/detail/pool_construct_simple.ipp +43 -0
- data/ext/boost/pool/detail/pool_construct_simple.m4 +72 -0
- data/ext/boost/pool/detail/pool_construct_simple.sh +12 -0
- data/ext/boost/pool/object_pool.hpp +287 -0
- data/ext/boost/pool/pool.hpp +1024 -0
- data/ext/boost/pool/pool_alloc.hpp +488 -0
- data/ext/boost/pool/poolfwd.hpp +82 -0
- data/ext/boost/pool/simple_segregated_storage.hpp +377 -0
- data/ext/boost/pool/singleton_pool.hpp +251 -0
- data/ext/boost/preprocessor/arithmetic.hpp +25 -0
- data/ext/boost/preprocessor/arithmetic/detail/div_base.hpp +61 -0
- data/ext/boost/preprocessor/arithmetic/div.hpp +39 -0
- data/ext/boost/preprocessor/arithmetic/mod.hpp +39 -0
- data/ext/boost/preprocessor/arithmetic/mul.hpp +53 -0
- data/ext/boost/preprocessor/array.hpp +32 -0
- data/ext/boost/preprocessor/array/enum.hpp +33 -0
- data/ext/boost/preprocessor/array/insert.hpp +55 -0
- data/ext/boost/preprocessor/array/pop_back.hpp +37 -0
- data/ext/boost/preprocessor/array/pop_front.hpp +38 -0
- data/ext/boost/preprocessor/array/push_back.hpp +33 -0
- data/ext/boost/preprocessor/array/push_front.hpp +33 -0
- data/ext/boost/preprocessor/array/remove.hpp +54 -0
- data/ext/boost/preprocessor/array/replace.hpp +49 -0
- data/ext/boost/preprocessor/array/reverse.hpp +29 -0
- data/ext/boost/preprocessor/array/to_list.hpp +33 -0
- data/ext/boost/preprocessor/array/to_seq.hpp +33 -0
- data/ext/boost/preprocessor/array/to_tuple.hpp +22 -0
- data/ext/boost/preprocessor/assert_msg.hpp +17 -0
- data/ext/boost/preprocessor/comma.hpp +17 -0
- data/ext/boost/preprocessor/comparison.hpp +24 -0
- data/ext/boost/preprocessor/comparison/equal.hpp +34 -0
- data/ext/boost/preprocessor/comparison/greater.hpp +38 -0
- data/ext/boost/preprocessor/comparison/greater_equal.hpp +38 -0
- data/ext/boost/preprocessor/comparison/less.hpp +46 -0
- data/ext/boost/preprocessor/comparison/less_equal.hpp +39 -0
- data/ext/boost/preprocessor/comparison/not_equal.hpp +814 -0
- data/ext/boost/preprocessor/config/limits.hpp +30 -0
- data/ext/boost/preprocessor/control.hpp +22 -0
- data/ext/boost/preprocessor/control/deduce_d.hpp +22 -0
- data/ext/boost/preprocessor/control/detail/dmc/while.hpp +536 -0
- data/ext/boost/preprocessor/control/detail/edg/while.hpp +534 -0
- data/ext/boost/preprocessor/control/detail/msvc/while.hpp +277 -0
- data/ext/boost/preprocessor/control/expr_if.hpp +30 -0
- data/ext/boost/preprocessor/debug.hpp +18 -0
- data/ext/boost/preprocessor/debug/assert.hpp +44 -0
- data/ext/boost/preprocessor/debug/line.hpp +35 -0
- data/ext/boost/preprocessor/detail/dmc/auto_rec.hpp +286 -0
- data/ext/boost/preprocessor/detail/is_nullary.hpp +30 -0
- data/ext/boost/preprocessor/detail/is_unary.hpp +30 -0
- data/ext/boost/preprocessor/detail/null.hpp +17 -0
- data/ext/boost/preprocessor/detail/split.hpp +35 -0
- data/ext/boost/preprocessor/enum_params_with_defaults.hpp +17 -0
- data/ext/boost/preprocessor/enum_shifted.hpp +17 -0
- data/ext/boost/preprocessor/expand.hpp +17 -0
- data/ext/boost/preprocessor/expr_if.hpp +17 -0
- data/ext/boost/preprocessor/facilities.hpp +23 -0
- data/ext/boost/preprocessor/facilities/apply.hpp +34 -0
- data/ext/boost/preprocessor/facilities/expand.hpp +28 -0
- data/ext/boost/preprocessor/facilities/is_1.hpp +23 -0
- data/ext/boost/preprocessor/facilities/is_empty.hpp +43 -0
- data/ext/boost/preprocessor/facilities/is_empty_or_1.hpp +30 -0
- data/ext/boost/preprocessor/for.hpp +17 -0
- data/ext/boost/preprocessor/if.hpp +17 -0
- data/ext/boost/preprocessor/iteration.hpp +19 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/lower3.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/lower4.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/lower5.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/upper3.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/upper4.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/upper5.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/finish.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/iter/forward3.hpp +1338 -0
- data/ext/boost/preprocessor/iteration/detail/iter/forward4.hpp +1338 -0
- data/ext/boost/preprocessor/iteration/detail/iter/forward5.hpp +1338 -0
- data/ext/boost/preprocessor/iteration/detail/iter/reverse2.hpp +1296 -0
- data/ext/boost/preprocessor/iteration/detail/iter/reverse3.hpp +1296 -0
- data/ext/boost/preprocessor/iteration/detail/iter/reverse4.hpp +1296 -0
- data/ext/boost/preprocessor/iteration/detail/iter/reverse5.hpp +1296 -0
- data/ext/boost/preprocessor/iteration/detail/local.hpp +812 -0
- data/ext/boost/preprocessor/iteration/detail/rlocal.hpp +782 -0
- data/ext/boost/preprocessor/iteration/detail/self.hpp +21 -0
- data/ext/boost/preprocessor/iteration/detail/start.hpp +99 -0
- data/ext/boost/preprocessor/iteration/local.hpp +26 -0
- data/ext/boost/preprocessor/iteration/self.hpp +19 -0
- data/ext/boost/preprocessor/library.hpp +36 -0
- data/ext/boost/preprocessor/limits.hpp +17 -0
- data/ext/boost/preprocessor/list.hpp +37 -0
- data/ext/boost/preprocessor/list/at.hpp +39 -0
- data/ext/boost/preprocessor/list/cat.hpp +42 -0
- data/ext/boost/preprocessor/list/detail/dmc/fold_left.hpp +279 -0
- data/ext/boost/preprocessor/list/detail/edg/fold_left.hpp +536 -0
- data/ext/boost/preprocessor/list/detail/edg/fold_right.hpp +794 -0
- data/ext/boost/preprocessor/list/enum.hpp +41 -0
- data/ext/boost/preprocessor/list/filter.hpp +54 -0
- data/ext/boost/preprocessor/list/first_n.hpp +58 -0
- data/ext/boost/preprocessor/list/for_each.hpp +49 -0
- data/ext/boost/preprocessor/list/for_each_product.hpp +141 -0
- data/ext/boost/preprocessor/list/rest_n.hpp +55 -0
- data/ext/boost/preprocessor/list/size.hpp +58 -0
- data/ext/boost/preprocessor/list/to_array.hpp +123 -0
- data/ext/boost/preprocessor/list/to_seq.hpp +32 -0
- data/ext/boost/preprocessor/list/to_tuple.hpp +38 -0
- data/ext/boost/preprocessor/logical.hpp +29 -0
- data/ext/boost/preprocessor/logical/bitnor.hpp +38 -0
- data/ext/boost/preprocessor/logical/bitor.hpp +38 -0
- data/ext/boost/preprocessor/logical/bitxor.hpp +38 -0
- data/ext/boost/preprocessor/logical/nor.hpp +30 -0
- data/ext/boost/preprocessor/logical/not.hpp +30 -0
- data/ext/boost/preprocessor/logical/or.hpp +30 -0
- data/ext/boost/preprocessor/logical/xor.hpp +30 -0
- data/ext/boost/preprocessor/max.hpp +17 -0
- data/ext/boost/preprocessor/min.hpp +17 -0
- data/ext/boost/preprocessor/punctuation.hpp +20 -0
- data/ext/boost/preprocessor/punctuation/paren_if.hpp +38 -0
- data/ext/boost/preprocessor/repeat_3rd.hpp +17 -0
- data/ext/boost/preprocessor/repeat_from_to.hpp +17 -0
- data/ext/boost/preprocessor/repeat_from_to_2nd.hpp +17 -0
- data/ext/boost/preprocessor/repeat_from_to_3rd.hpp +17 -0
- data/ext/boost/preprocessor/repetition.hpp +32 -0
- data/ext/boost/preprocessor/repetition/deduce_r.hpp +22 -0
- data/ext/boost/preprocessor/repetition/deduce_z.hpp +22 -0
- data/ext/boost/preprocessor/repetition/detail/dmc/for.hpp +536 -0
- data/ext/boost/preprocessor/repetition/detail/edg/for.hpp +534 -0
- data/ext/boost/preprocessor/repetition/detail/msvc/for.hpp +277 -0
- data/ext/boost/preprocessor/repetition/enum_params_with_defaults.hpp +24 -0
- data/ext/boost/preprocessor/repetition/enum_shifted.hpp +68 -0
- data/ext/boost/preprocessor/repetition/enum_shifted_binary_params.hpp +51 -0
- data/ext/boost/preprocessor/repetition/enum_trailing.hpp +63 -0
- data/ext/boost/preprocessor/repetition/enum_trailing_binary_params.hpp +53 -0
- data/ext/boost/preprocessor/selection.hpp +18 -0
- data/ext/boost/preprocessor/selection/max.hpp +39 -0
- data/ext/boost/preprocessor/selection/min.hpp +39 -0
- data/ext/boost/preprocessor/seq.hpp +43 -0
- data/ext/boost/preprocessor/seq/cat.hpp +49 -0
- data/ext/boost/preprocessor/seq/detail/binary_transform.hpp +40 -0
- data/ext/boost/preprocessor/seq/detail/split.hpp +284 -0
- data/ext/boost/preprocessor/seq/filter.hpp +54 -0
- data/ext/boost/preprocessor/seq/first_n.hpp +30 -0
- data/ext/boost/preprocessor/seq/fold_left.hpp +1070 -0
- data/ext/boost/preprocessor/seq/fold_right.hpp +288 -0
- data/ext/boost/preprocessor/seq/for_each.hpp +60 -0
- data/ext/boost/preprocessor/seq/for_each_product.hpp +126 -0
- data/ext/boost/preprocessor/seq/insert.hpp +28 -0
- data/ext/boost/preprocessor/seq/pop_back.hpp +29 -0
- data/ext/boost/preprocessor/seq/pop_front.hpp +27 -0
- data/ext/boost/preprocessor/seq/push_back.hpp +19 -0
- data/ext/boost/preprocessor/seq/push_front.hpp +19 -0
- data/ext/boost/preprocessor/seq/remove.hpp +29 -0
- data/ext/boost/preprocessor/seq/replace.hpp +29 -0
- data/ext/boost/preprocessor/seq/rest_n.hpp +30 -0
- data/ext/boost/preprocessor/seq/reverse.hpp +39 -0
- data/ext/boost/preprocessor/seq/subseq.hpp +28 -0
- data/ext/boost/preprocessor/seq/to_array.hpp +28 -0
- data/ext/boost/preprocessor/seq/to_list.hpp +29 -0
- data/ext/boost/preprocessor/seq/to_tuple.hpp +27 -0
- data/ext/boost/preprocessor/seq/transform.hpp +48 -0
- data/ext/boost/preprocessor/slot.hpp +17 -0
- data/ext/boost/preprocessor/slot/counter.hpp +25 -0
- data/ext/boost/preprocessor/slot/detail/counter.hpp +269 -0
- data/ext/boost/preprocessor/slot/detail/slot1.hpp +267 -0
- data/ext/boost/preprocessor/slot/detail/slot2.hpp +267 -0
- data/ext/boost/preprocessor/slot/detail/slot3.hpp +267 -0
- data/ext/boost/preprocessor/slot/detail/slot4.hpp +267 -0
- data/ext/boost/preprocessor/slot/detail/slot5.hpp +267 -0
- data/ext/boost/preprocessor/tuple.hpp +28 -0
- data/ext/boost/preprocessor/tuple/enum.hpp +22 -0
- data/ext/boost/preprocessor/tuple/reverse.hpp +114 -0
- data/ext/boost/preprocessor/tuple/size.hpp +28 -0
- data/ext/boost/preprocessor/tuple/to_array.hpp +37 -0
- data/ext/boost/preprocessor/tuple/to_seq.hpp +114 -0
- data/ext/boost/preprocessor/variadic.hpp +23 -0
- data/ext/boost/preprocessor/variadic/to_array.hpp +32 -0
- data/ext/boost/preprocessor/variadic/to_list.hpp +25 -0
- data/ext/boost/preprocessor/variadic/to_seq.hpp +25 -0
- data/ext/boost/preprocessor/variadic/to_tuple.hpp +24 -0
- data/ext/boost/preprocessor/while.hpp +17 -0
- data/ext/boost/preprocessor/wstringize.hpp +29 -0
- data/ext/boost/smart_ptr/intrusive_ptr.hpp +324 -0
- data/ext/common/AccountsDatabase.h +3 -4
- data/ext/common/AgentsStarter.cpp +12 -15
- data/ext/common/AgentsStarter.h +54 -120
- data/ext/common/ApplicationPool2/AppTypes.cpp +12 -5
- data/ext/common/ApplicationPool2/AppTypes.h +21 -14
- data/ext/common/ApplicationPool2/Common.h +36 -19
- data/ext/common/ApplicationPool2/DirectSpawner.h +15 -16
- data/ext/common/ApplicationPool2/DummySpawner.h +9 -8
- data/ext/common/ApplicationPool2/ErrorRenderer.h +1 -1
- data/ext/common/ApplicationPool2/Group.h +304 -171
- data/ext/common/ApplicationPool2/Implementation.cpp +234 -125
- data/ext/common/ApplicationPool2/Options.h +50 -62
- data/ext/common/ApplicationPool2/Pool.h +285 -189
- data/ext/common/ApplicationPool2/Process.h +126 -115
- data/ext/common/ApplicationPool2/Session.h +70 -30
- data/ext/common/ApplicationPool2/SmartSpawner.h +19 -18
- data/ext/common/ApplicationPool2/Socket.h +57 -43
- data/ext/common/ApplicationPool2/SpawnObject.h +83 -0
- data/ext/common/ApplicationPool2/Spawner.h +59 -38
- data/ext/common/ApplicationPool2/SpawnerFactory.h +8 -14
- data/ext/common/ApplicationPool2/SuperGroup.h +69 -40
- data/ext/common/BackgroundEventLoop.cpp +48 -1
- data/ext/common/BackgroundEventLoop.h +3 -1
- data/ext/common/Constants.h +30 -8
- data/ext/common/DataStructures/HashedStaticString.h +103 -0
- data/ext/common/DataStructures/LString.h +396 -0
- data/ext/common/DataStructures/StringKeyTable.h +588 -0
- data/ext/common/EventedMessageServer.h +1 -0
- data/ext/common/FileDescriptor.h +5 -0
- data/ext/common/InstanceDirectory.h +240 -0
- data/ext/common/Logging.cpp +38 -13
- data/ext/common/Logging.h +53 -22
- data/ext/common/MemoryKit/mbuf.cpp +413 -0
- data/ext/common/MemoryKit/mbuf.h +266 -0
- data/ext/common/MemoryKit/palloc.cpp +337 -0
- data/ext/common/MemoryKit/palloc.h +121 -0
- data/ext/common/ResourceLocator.h +62 -6
- data/ext/common/SafeLibev.h +4 -4
- data/ext/common/ServerKit/AcceptLoadBalancer.h +275 -0
- data/ext/common/ServerKit/Channel.h +747 -0
- data/ext/common/ServerKit/Client.h +166 -0
- data/ext/common/ServerKit/ClientRef.h +130 -0
- data/ext/common/ServerKit/Context.h +129 -0
- data/ext/common/ServerKit/Errors.h +103 -0
- data/ext/common/ServerKit/FdSinkChannel.h +206 -0
- data/ext/common/ServerKit/FdSourceChannel.h +230 -0
- data/ext/common/ServerKit/FileBufferedChannel.h +1399 -0
- data/ext/common/ServerKit/FileBufferedFdSinkChannel.h +228 -0
- data/ext/common/ServerKit/HeaderTable.h +472 -0
- data/ext/common/ServerKit/Hooks.h +79 -0
- data/ext/common/ServerKit/HttpChunkedBodyParser.h +289 -0
- data/ext/common/ServerKit/HttpChunkedBodyParserState.h +70 -0
- data/ext/common/ServerKit/HttpClient.h +94 -0
- data/ext/common/ServerKit/HttpHeaderParser.h +477 -0
- data/ext/common/ServerKit/HttpHeaderParserState.h +60 -0
- data/ext/common/ServerKit/HttpRequest.h +276 -0
- data/ext/common/ServerKit/HttpRequestRef.h +130 -0
- data/ext/common/ServerKit/HttpServer.h +1152 -0
- data/ext/common/ServerKit/Implementation.cpp +47 -0
- data/ext/common/ServerKit/Server.h +1040 -0
- data/ext/common/ServerKit/http_parser.cpp +2259 -0
- data/ext/common/ServerKit/http_parser.h +330 -0
- data/ext/common/StaticString.h +8 -0
- data/ext/common/Utils.cpp +14 -12
- data/ext/common/Utils.h +9 -103
- data/ext/common/Utils/BufferedIO.h +1 -0
- data/ext/common/Utils/CachedFileStat.hpp +1 -7
- data/ext/common/Utils/DateParsing.h +379 -0
- data/ext/common/Utils/FileChangeChecker.h +3 -9
- data/ext/common/Utils/Hasher.cpp +52 -0
- data/ext/common/Utils/Hasher.h +58 -0
- data/ext/common/Utils/IOUtils.cpp +62 -62
- data/ext/common/Utils/JsonUtils.h +21 -0
- data/ext/common/Utils/OptionParsing.h +75 -0
- data/ext/common/Utils/StrIntUtils.cpp +112 -19
- data/ext/common/Utils/StrIntUtils.h +52 -12
- data/ext/common/Utils/StrIntUtilsNoStrictAliasing.cpp +174 -0
- data/ext/common/Utils/VariantMap.h +18 -7
- data/ext/common/Utils/modp_b64.cpp +290 -0
- data/ext/common/Utils/modp_b64.h +241 -0
- data/ext/common/Utils/modp_b64_data.h +479 -0
- data/ext/common/Utils/sysqueue.h +811 -0
- data/ext/common/agents/Base.cpp +71 -98
- data/ext/common/agents/Base.h +11 -3
- data/ext/common/agents/HelperAgent/AdminServer.h +690 -0
- data/ext/common/agents/HelperAgent/Main.cpp +899 -487
- data/ext/common/agents/HelperAgent/OptionParser.h +311 -0
- data/ext/common/agents/HelperAgent/RequestHandler.h +315 -2548
- data/ext/common/agents/HelperAgent/RequestHandler/AppResponse.h +225 -0
- data/ext/common/agents/HelperAgent/RequestHandler/BufferBody.cpp +93 -0
- data/ext/common/agents/HelperAgent/RequestHandler/CheckoutSession.cpp +346 -0
- data/ext/common/agents/HelperAgent/RequestHandler/Client.h +54 -0
- data/ext/common/agents/HelperAgent/RequestHandler/ForwardResponse.cpp +846 -0
- data/ext/common/agents/HelperAgent/RequestHandler/Hooks.cpp +231 -0
- data/ext/common/agents/HelperAgent/RequestHandler/InitRequest.cpp +434 -0
- data/ext/common/agents/HelperAgent/RequestHandler/Request.h +149 -0
- data/ext/common/agents/HelperAgent/RequestHandler/SendRequest.cpp +887 -0
- data/ext/common/agents/HelperAgent/RequestHandler/TurboCaching.h +293 -0
- data/ext/common/agents/HelperAgent/RequestHandler/Utils.cpp +301 -0
- data/ext/common/agents/HelperAgent/ResponseCache.h +624 -0
- data/ext/common/agents/HelperAgent/SystemMetricsTool.cpp +21 -23
- data/ext/common/agents/LoggingAgent/AdminServer.h +369 -0
- data/ext/common/agents/LoggingAgent/LoggingServer.h +1 -0
- data/ext/common/agents/LoggingAgent/Main.cpp +422 -215
- data/ext/common/agents/LoggingAgent/OptionParser.h +167 -0
- data/ext/common/agents/LoggingAgent/RemoteSender.h +3 -3
- data/ext/common/agents/Main.cpp +107 -0
- data/ext/common/agents/SpawnPreparer/Main.cpp +207 -0
- data/ext/common/agents/TempDirToucher/Main.cpp +429 -0
- data/ext/common/agents/Watchdog/AdminServer.h +390 -0
- data/ext/common/agents/Watchdog/AgentWatcher.cpp +7 -5
- data/ext/common/agents/Watchdog/HelperAgentWatcher.cpp +18 -39
- data/ext/common/agents/Watchdog/InstanceDirToucher.cpp +116 -0
- data/ext/common/agents/Watchdog/LoggingAgentWatcher.cpp +13 -17
- data/ext/common/agents/Watchdog/Main.cpp +743 -202
- data/ext/libeio/eio.c +17 -0
- data/ext/libeio/eio.h +2 -0
- data/ext/nginx/CacheLocationConfig.c +177 -198
- data/ext/nginx/CacheLocationConfig.c.erb +35 -22
- data/ext/nginx/Configuration.c +402 -236
- data/ext/nginx/Configuration.h +12 -5
- data/ext/nginx/ConfigurationCommands.c +35 -15
- data/ext/nginx/ConfigurationCommands.c.erb +4 -4
- data/ext/nginx/ConfigurationFields.h +9 -5
- data/ext/nginx/ConfigurationFields.h.erb +3 -1
- data/ext/nginx/ContentHandler.c +393 -362
- data/ext/nginx/CreateLocationConfig.c +8 -4
- data/ext/nginx/CreateLocationConfig.c.erb +8 -3
- data/ext/nginx/MergeLocationConfig.c +36 -6
- data/ext/nginx/MergeLocationConfig.c.erb +42 -1
- data/ext/nginx/ngx_http_passenger_module.c +28 -15
- data/ext/oxt/detail/backtrace_disabled.hpp +2 -1
- data/ext/oxt/detail/backtrace_enabled.hpp +15 -2
- data/ext/oxt/implementation.cpp +92 -20
- data/ext/oxt/thread.hpp +5 -0
- data/ext/ruby/extconf.rb +3 -6
- data/ext/ruby/passenger_native_support.c +13 -40
- data/helper-scripts/download_binaries/extconf.rb +4 -4
- data/helper-scripts/meteor-loader.rb +12 -112
- data/helper-scripts/node-loader.js +3 -91
- data/helper-scripts/rack-loader.rb +13 -14
- data/helper-scripts/rack-preloader.rb +16 -17
- data/helper-scripts/wsgi-loader.py +11 -7
- data/lib/phusion_passenger.rb +100 -79
- data/lib/phusion_passenger/abstract_installer.rb +28 -3
- data/lib/phusion_passenger/admin_tools.rb +3 -3
- data/lib/phusion_passenger/admin_tools/instance.rb +207 -0
- data/lib/phusion_passenger/admin_tools/instance_registry.rb +98 -0
- data/lib/phusion_passenger/apache2/config_options.rb +72 -22
- data/lib/phusion_passenger/common_library.rb +79 -14
- data/lib/phusion_passenger/config/about_command.rb +17 -23
- data/lib/phusion_passenger/config/admin_command_command.rb +175 -0
- data/lib/phusion_passenger/config/agent_compiler.rb +170 -0
- data/lib/phusion_passenger/config/command.rb +1 -4
- data/lib/phusion_passenger/config/compile_agent_command.rb +102 -0
- data/lib/phusion_passenger/config/compile_nginx_engine_command.rb +112 -0
- data/lib/phusion_passenger/config/detach_process_command.rb +32 -10
- data/lib/phusion_passenger/config/download_agent_command.rb +285 -0
- data/lib/phusion_passenger/config/download_nginx_engine_command.rb +281 -0
- data/lib/phusion_passenger/config/install_agent_command.rb +174 -0
- data/lib/phusion_passenger/config/install_standalone_runtime_command.rb +231 -0
- data/lib/phusion_passenger/config/installation_utils.rb +241 -0
- data/lib/phusion_passenger/config/list_instances_command.rb +13 -25
- data/lib/phusion_passenger/config/main.rb +43 -14
- data/lib/phusion_passenger/config/nginx_engine_compiler.rb +337 -0
- data/lib/phusion_passenger/config/reopen_logs_command.rb +110 -0
- data/lib/phusion_passenger/config/restart_app_command.rb +61 -14
- data/lib/phusion_passenger/config/system_metrics_command.rb +2 -1
- data/lib/phusion_passenger/config/utils.rb +64 -39
- data/lib/phusion_passenger/config/validate_install_command.rb +2 -2
- data/lib/phusion_passenger/constants.rb +27 -6
- data/lib/phusion_passenger/debug_logging.rb +32 -15
- data/lib/phusion_passenger/loader_shared_helpers.rb +2 -5
- data/lib/phusion_passenger/message_client.rb +21 -22
- data/lib/phusion_passenger/native_support.rb +26 -31
- data/lib/phusion_passenger/nginx/config_options.rb +32 -19
- data/lib/phusion_passenger/packaging.rb +7 -3
- data/lib/phusion_passenger/platform_info/cxx_portability.rb +1 -2
- data/lib/phusion_passenger/platform_info/depcheck_specs/libs.rb +3 -4
- data/lib/phusion_passenger/platform_info/operating_system.rb +6 -6
- data/lib/phusion_passenger/preloader_shared_helpers.rb +2 -2
- data/lib/phusion_passenger/rack/out_of_band_gc.rb +2 -2
- data/lib/phusion_passenger/rack/thread_handler_extension.rb +168 -65
- data/lib/phusion_passenger/request_handler.rb +47 -82
- data/lib/phusion_passenger/request_handler/thread_handler.rb +46 -10
- data/lib/phusion_passenger/ruby_core_enhancements.rb +25 -77
- data/lib/phusion_passenger/ruby_core_io_enhancements.rb +108 -0
- data/lib/phusion_passenger/standalone/app_finder.rb +39 -59
- data/lib/phusion_passenger/standalone/command.rb +27 -275
- data/lib/phusion_passenger/standalone/command2.rb +292 -0
- data/lib/phusion_passenger/standalone/config_utils.rb +87 -0
- data/lib/phusion_passenger/standalone/control_utils.rb +88 -0
- data/lib/phusion_passenger/standalone/main.rb +69 -71
- data/lib/phusion_passenger/standalone/start2_command.rb +799 -0
- data/lib/phusion_passenger/standalone/start_command.rb +406 -467
- data/lib/phusion_passenger/standalone/start_command/builtin_engine.rb +167 -0
- data/lib/phusion_passenger/standalone/start_command/nginx_engine.rb +165 -0
- data/lib/phusion_passenger/standalone/status_command.rb +64 -23
- data/lib/phusion_passenger/standalone/stop_command.rb +69 -32
- data/lib/phusion_passenger/standalone/version_command.rb +1 -5
- data/lib/phusion_passenger/utils.rb +0 -4
- data/lib/phusion_passenger/utils/json.rb +70 -4
- data/lib/phusion_passenger/utils/progress_bar.rb +56 -0
- data/lib/phusion_passenger/utils/tee_input.rb +3 -3
- data/lib/phusion_passenger/utils/unseekable_socket.rb +30 -0
- data/packaging/rpm/nginx_spec/nginx.spec.template +4 -3
- data/packaging/rpm/passenger_spec/passenger.spec.template +6 -10
- data/packaging/rpm/setup-system +2 -1
- data/resources/oss-binaries.phusionpassenger.com.crt +208 -0
- data/resources/templates/config/agent_compiler/confirm_enable_optimizations.txt.erb +5 -0
- data/resources/templates/config/installation_utils/cannot_create_user_support_binaries_dir.txt.erb +15 -0
- data/resources/templates/config/installation_utils/download_tool_missing.txt.erb +7 -0
- data/resources/templates/config/installation_utils/passenger_not_installed_as_root.txt.erb +12 -0
- data/resources/templates/config/installation_utils/support_binaries_dir_not_writable_despite_running_as_root.txt.erb +13 -0
- data/resources/templates/config/installation_utils/unexpected_filesystem_problem.txt.erb +16 -0
- data/{packaging/debian/debian_specs/passenger/patches/series → resources/templates/config/installation_utils/user_support_binaries_dir_not_writable.txt.erb} +0 -0
- data/resources/templates/nginx/nginx_module_sources_not_available.txt.erb +2 -2
- data/resources/templates/standalone/config.erb +14 -16
- data/resources/templates/standalone/possible_solutions_for_download_and_extraction_problems.txt.erb +1 -1
- data/test/.rspec +1 -0
- data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +20 -17
- data/test/cxx/ApplicationPool2/OptionsTest.cpp +0 -14
- data/test/cxx/ApplicationPool2/PoolTest.cpp +113 -90
- data/test/cxx/ApplicationPool2/ProcessTest.cpp +18 -27
- data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +51 -53
- data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +55 -57
- data/test/cxx/BufferedIOTest.cpp +40 -40
- data/test/cxx/CxxTestMain.cpp +4 -22
- data/test/cxx/DataStructures/LStringTest.cpp +275 -0
- data/test/cxx/DataStructures/StringKeyTableTest.cpp +199 -0
- data/test/cxx/MemoryKit/MbufTest.cpp +213 -0
- data/test/cxx/MessageServerTest.cpp +62 -55
- data/test/cxx/RequestHandlerTest.cpp +26 -27
- data/test/cxx/ServerKit/ChannelTest.cpp +1467 -0
- data/test/cxx/ServerKit/FileBufferedChannelTest.cpp +817 -0
- data/test/cxx/ServerKit/HeaderTableTest.cpp +171 -0
- data/test/cxx/ServerKit/HttpServerTest.cpp +1503 -0
- data/test/cxx/ServerKit/ServerTest.cpp +408 -0
- data/test/cxx/TestSupport.cpp +51 -15
- data/test/cxx/TestSupport.h +31 -21
- data/test/cxx/UnionStationTest.cpp +121 -122
- data/test/cxx/UtilsTest.cpp +9 -33
- data/test/integration_tests/apache2_tests.rb +65 -27
- data/test/integration_tests/downloaded_binaries_tests.rb +30 -6
- data/test/integration_tests/native_packaging_spec.rb +32 -17
- data/test/integration_tests/nginx_tests.rb +28 -10
- data/test/integration_tests/shared/example_webapp_tests.rb +40 -27
- data/test/integration_tests/standalone_tests.rb +232 -169
- data/test/ruby/debug_logging_spec.rb +44 -40
- data/test/ruby/rails3.0/preloader_spec.rb +1 -1
- data/test/ruby/rails3.1/preloader_spec.rb +1 -1
- data/test/ruby/rails3.2/preloader_spec.rb +1 -1
- data/test/ruby/rails4.0/preloader_spec.rb +1 -1
- data/test/ruby/rails4.1/preloader_spec.rb +1 -1
- data/test/ruby/request_handler_spec.rb +62 -24
- data/test/ruby/shared/loader_sharedspec.rb +10 -9
- data/test/ruby/shared/rails/union_station_extensions_sharedspec.rb +23 -22
- data/test/ruby/spec_helper.rb +2 -11
- data/test/ruby/standalone/runtime_installer_spec.rb +15 -13
- data/test/ruby/union_station_spec.rb +45 -40
- data/test/ruby/utils/tee_input_spec.rb +5 -5
- data/test/ruby/utils_spec.rb +3 -39
- data/test/stub/apache2/httpd.conf.erb +5 -2
- data/test/stub/nginx/nginx.conf.erb +3 -1
- data/test/support/apache2_controller.rb +25 -25
- data/test/support/nginx_controller.rb +14 -14
- data/test/support/test_helper.rb +74 -75
- metadata +439 -643
- metadata.gz.asc +7 -7
- data/ext/common/MultiLibeio.cpp +0 -204
- data/ext/common/MultiLibeio.h +0 -67
- data/ext/common/ServerInstanceDir.h +0 -402
- data/ext/common/Utils/Base64.cpp +0 -143
- data/ext/common/Utils/Base64.h +0 -83
- data/ext/common/Utils/HttpHeaderBufferer.h +0 -184
- data/ext/common/Utils/PriorityQueue.h +0 -54
- data/ext/common/Utils/StreamBoyerMooreHorspool.h +0 -512
- data/ext/common/Utils/fib.c +0 -699
- data/ext/common/Utils/fib.h +0 -101
- data/ext/common/Utils/fibpriv.h +0 -67
- data/ext/common/agents/EnvPrinter.c +0 -16
- data/ext/common/agents/HelperAgent/AgentOptions.h +0 -109
- data/ext/common/agents/HelperAgent/FileBackedPipe.h +0 -732
- data/ext/common/agents/HelperAgent/RequestHandler.cpp +0 -294
- data/ext/common/agents/HelperAgent/ScgiRequestParser.h +0 -457
- data/ext/common/agents/LoggingAgent/AdminController.h +0 -96
- data/ext/common/agents/SpawnPreparer.cpp +0 -206
- data/ext/common/agents/TempDirToucher.c +0 -383
- data/ext/common/agents/Watchdog/ServerInstanceDirToucher.cpp +0 -116
- data/helper-scripts/classic-rails-loader.rb +0 -166
- data/helper-scripts/classic-rails-preloader.rb +0 -193
- data/lib/phusion_passenger/admin_tools/server_instance.rb +0 -339
- data/lib/phusion_passenger/classic_rails/cgi_fixed.rb +0 -68
- data/lib/phusion_passenger/classic_rails/thread_handler_extension.rb +0 -40
- data/lib/phusion_passenger/platform_info/openssl.rb +0 -61
- data/lib/phusion_passenger/standalone/config_file.rb +0 -119
- data/lib/phusion_passenger/standalone/help_command.rb +0 -57
- data/lib/phusion_passenger/standalone/runtime_installer.rb +0 -712
- data/lib/phusion_passenger/standalone/runtime_locator.rb +0 -170
- data/lib/phusion_passenger/standalone/utils.rb +0 -58
- data/lib/phusion_passenger/utils/tmpdir.rb +0 -69
- data/packaging/debian/LICENSE.md +0 -19
- data/packaging/debian/README.md +0 -320
- data/packaging/debian/Vagrantfile +0 -25
- data/packaging/debian/build +0 -210
- data/packaging/debian/debian_specs/nginx/changelog +0 -1989
- data/packaging/debian/debian_specs/nginx/compat.erb +0 -5
- data/packaging/debian/debian_specs/nginx/conf/fastcgi.conf +0 -25
- data/packaging/debian/debian_specs/nginx/conf/fastcgi_params +0 -24
- data/packaging/debian/debian_specs/nginx/conf/koi-utf +0 -109
- data/packaging/debian/debian_specs/nginx/conf/koi-win +0 -103
- data/packaging/debian/debian_specs/nginx/conf/mime.types +0 -89
- data/packaging/debian/debian_specs/nginx/conf/nginx.conf.erb +0 -97
- data/packaging/debian/debian_specs/nginx/conf/proxy_params +0 -4
- data/packaging/debian/debian_specs/nginx/conf/scgi_params +0 -16
- data/packaging/debian/debian_specs/nginx/conf/sites-available/default.erb +0 -93
- data/packaging/debian/debian_specs/nginx/conf/snippets/fastcgi-php.conf +0 -13
- data/packaging/debian/debian_specs/nginx/conf/snippets/snakeoil.conf +0 -5
- data/packaging/debian/debian_specs/nginx/conf/uwsgi_params +0 -16
- data/packaging/debian/debian_specs/nginx/conf/win-utf +0 -125
- data/packaging/debian/debian_specs/nginx/control.erb +0 -226
- data/packaging/debian/debian_specs/nginx/copyright +0 -196
- data/packaging/debian/debian_specs/nginx/debian-full.lintian-overrides +0 -1
- data/packaging/debian/debian_specs/nginx/gbp.conf +0 -2
- data/packaging/debian/debian_specs/nginx/help/docs/fcgiwrap +0 -14
- data/packaging/debian/debian_specs/nginx/help/docs/php +0 -119
- data/packaging/debian/debian_specs/nginx/help/docs/support-irc +0 -28
- data/packaging/debian/debian_specs/nginx/help/docs/upstream +0 -51
- data/packaging/debian/debian_specs/nginx/help/examples/drupal +0 -114
- data/packaging/debian/debian_specs/nginx/help/examples/http +0 -59
- data/packaging/debian/debian_specs/nginx/help/examples/mail +0 -30
- data/packaging/debian/debian_specs/nginx/help/examples/mailman +0 -59
- data/packaging/debian/debian_specs/nginx/help/examples/nginx.conf +0 -34
- data/packaging/debian/debian_specs/nginx/help/examples/nginx_modsite +0 -162
- data/packaging/debian/debian_specs/nginx/help/examples/virtual_hosts +0 -155
- data/packaging/debian/debian_specs/nginx/help/examples/wordpress +0 -74
- data/packaging/debian/debian_specs/nginx/helpers.rb +0 -41
- data/packaging/debian/debian_specs/nginx/index-debian.html.in +0 -32
- data/packaging/debian/debian_specs/nginx/index-ubuntu.html.in +0 -32
- data/packaging/debian/debian_specs/nginx/index.html.erb +0 -10
- data/packaging/debian/debian_specs/nginx/modules/README.Modules-versions +0 -65
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/README.markdown +0 -510
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/config +0 -5
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/doc/HttpHeadersMoreModule.wiki +0 -395
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ddebug.h +0 -119
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_filter_module.c +0 -348
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_filter_module.h +0 -80
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_in.c +0 -826
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_in.h +0 -26
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_out.c +0 -716
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_out.h +0 -26
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_util.c +0 -380
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_util.h +0 -52
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/util/build.sh +0 -32
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/valgrind.suppress +0 -215
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/ChangeLog +0 -35
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/LICENSE +0 -25
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/README.md +0 -93
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/config +0 -4
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/ngx_http_auth_pam_module.c +0 -462
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/CHANGES +0 -66
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/LICENSE +0 -26
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/README.md +0 -171
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/TODO.md +0 -7
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/config +0 -21
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/ngx_cache_purge_module.c +0 -1803
- data/packaging/debian/debian_specs/nginx/modules/nginx-dav-ext-module/README +0 -29
- data/packaging/debian/debian_specs/nginx/modules/nginx-dav-ext-module/config +0 -9
- data/packaging/debian/debian_specs/nginx/modules/nginx-dav-ext-module/ngx_http_dav_ext_module.c +0 -824
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/README +0 -139
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/README_AUTO_LIB +0 -395
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/TODO +0 -1
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/actions/array +0 -10
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/actions/palloc +0 -8
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/build +0 -597
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/action_replacements +0 -5
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/action_types +0 -12
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/conf_args +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/conf_locs +0 -25
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/conf_macros +0 -35
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/contexts +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/header_files +0 -3
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/headers +0 -4
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/module_dependencies +0 -5
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/modules_optional +0 -15
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/prefixes +0 -2
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/array.h +0 -7
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/conf_cmd_basic.h +0 -43
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/conf_merge.h +0 -78
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/palloc.h +0 -6
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/text/autogen +0 -12
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/config +0 -49
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/core/action_macros +0 -63
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/core/conf_cmds +0 -62
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/modules/set_var +0 -124
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/patches/more_logging_info +0 -48
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/upstream/list +0 -45
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/examples/README +0 -12
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/examples/http/set_var/config +0 -4
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/examples/http/set_var/ngx_http_set_var_examples_module.c +0 -136
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/ngx_auto_lib_core +0 -797
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/notes/CHANGES +0 -17
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/notes/LICENSE +0 -24
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_array.h +0 -113
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_conf_cmd_basic.h +0 -2203
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_conf_cmd_extra.h +0 -5423
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_conf_merge.h +0 -227
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_config.c +0 -72
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_config.h +0 -98
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_includes.h +0 -66
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_palloc.h +0 -112
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/patches/auto_config +0 -16
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/patches/expose_rewrite_functions +0 -291
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/patches/rewrite_phase_handler +0 -19
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/hash/md5.h +0 -117
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/hash/murmurhash2.c +0 -77
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/hash/sha.h +0 -200
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk.c +0 -155
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk.h +0 -58
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_buf.c +0 -43
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_buf.h +0 -5
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_path.c +0 -129
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_path.h +0 -30
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_value.c +0 -192
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_value.h +0 -21
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_conf_file.c +0 -396
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_conf_file.h +0 -44
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_debug.c +0 -72
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_debug.h +0 -171
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_encoding.c +0 -57
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_encoding.h +0 -12
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_hash.c +0 -82
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_hash.h +0 -45
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_http.c +0 -138
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_http.h +0 -3
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_http_headers.h +0 -35
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_log.c +0 -3
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_log.h +0 -165
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_parse.h +0 -67
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_path.c +0 -583
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_path.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_process.c +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_process.h +0 -12
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_regex.c +0 -215
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_regex.h +0 -7
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_rewrite.c +0 -103
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_rewrite.h +0 -26
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_set_var.c +0 -602
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_set_var.h +0 -44
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_string.c +0 -434
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_string.h +0 -37
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_string_util.h +0 -14
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_upstream_list.c +0 -205
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_upstream_list.h +0 -27
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_uri.c +0 -45
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_uri.h +0 -6
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/LICENSE +0 -25
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/README.markdown +0 -1850
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/config +0 -5
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/doc/HttpEchoModule.wiki +0 -1558
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ddebug.h +0 -109
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_echo.c +0 -344
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_echo.h +0 -25
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_filter.c +0 -282
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_filter.h +0 -15
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_foreach.c +0 -183
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_foreach.h +0 -16
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_handler.c +0 -429
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_handler.h +0 -18
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_location.c +0 -178
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_location.h +0 -13
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_module.c +0 -667
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_module.h +0 -137
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_request_info.c +0 -452
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_request_info.h +0 -31
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_sleep.c +0 -208
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_sleep.h +0 -16
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_subrequest.c +0 -788
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_subrequest.h +0 -19
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_timer.c +0 -96
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_timer.h +0 -13
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_util.c +0 -298
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_util.h +0 -58
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_var.c +0 -110
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_var.h +0 -9
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/util/build.sh +0 -45
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/util/releng +0 -8
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/util/wiki2pod.pl +0 -131
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/valgrind.suppress +0 -38
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/LICENCE +0 -24
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/README +0 -206
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/changelog.txt +0 -54
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/config +0 -26
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/protocol.txt +0 -191
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_defs.c +0 -59
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_defs.h +0 -73
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_module.c +0 -783
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_module.h +0 -31
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_module_setup.c +0 -361
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_types.h +0 -120
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/memory/store.c +0 -1180
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/memory/store.h +0 -1
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_http_push_module_ipc.c +0 -146
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_http_push_module_ipc.h +0 -5
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_http_push_store.h +0 -51
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_rwlock.c +0 -178
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_rwlock.h +0 -5
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/rbtree_util.c +0 -246
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/rbtree_util.h +0 -9
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/Changes +0 -51
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/README.markdown +0 -6954
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/config +0 -363
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/doc/HttpLuaModule.wiki +0 -5898
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/dtrace/ngx_lua_provider.d +0 -61
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/misc/recv-until-pm/Makefile +0 -3
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/misc/recv-until-pm/lib/RecvUntil.pm +0 -138
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/misc/recv-until-pm/t/sanity.t +0 -140
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/api/ngx_http_lua_api.h +0 -52
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ddebug.h +0 -82
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_accessby.c +0 -377
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_accessby.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_api.c +0 -77
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_args.c +0 -537
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_args.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_bodyfilterby.c +0 -632
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_bodyfilterby.h +0 -31
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_cache.c +0 -296
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_cache.h +0 -24
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_capturefilter.c +0 -175
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_capturefilter.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_clfactory.c +0 -887
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_clfactory.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_common.h +0 -478
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_config.c +0 -67
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_config.h +0 -19
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_consts.c +0 -148
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_consts.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_contentby.c +0 -369
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_contentby.h +0 -26
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_control.c +0 -483
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_control.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_coroutine.c +0 -379
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_coroutine.h +0 -23
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ctx.c +0 -216
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ctx.h +0 -23
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_directive.c +0 -1081
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_directive.h +0 -56
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_exception.c +0 -58
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_exception.h +0 -33
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headerfilterby.c +0 -302
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headerfilterby.h +0 -29
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers.c +0 -1370
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_in.c +0 -782
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_in.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_out.c +0 -625
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_out.h +0 -23
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initby.c +0 -42
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initby.h +0 -23
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initworkerby.c +0 -320
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initworkerby.h +0 -25
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_log.c +0 -300
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_log.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_logby.c +0 -227
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_logby.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_misc.c +0 -252
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_misc.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_module.c +0 -924
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ndk.c +0 -184
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ndk.h +0 -21
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_output.c +0 -794
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_output.h +0 -28
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_pcrefix.c +0 -106
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_pcrefix.h +0 -23
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_phase.c +0 -94
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_phase.h +0 -13
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_probe.h +0 -85
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_regex.c +0 -2468
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_regex.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_body.c +0 -1169
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_body.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_method.c +0 -252
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_method.h +0 -19
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_rewriteby.c +0 -351
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_rewriteby.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_script.c +0 -538
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_script.h +0 -86
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_setby.c +0 -216
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_setby.h +0 -15
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_shdict.c +0 -1844
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_shdict.h +0 -52
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_sleep.c +0 -191
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_sleep.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_tcp.c +0 -5314
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_tcp.h +0 -156
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_udp.c +0 -1624
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_udp.h +0 -56
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_string.c +0 -704
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_string.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_subrequest.c +0 -1741
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_subrequest.h +0 -46
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_time.c +0 -278
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_time.h +0 -21
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_timer.c +0 -661
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_timer.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uri.c +0 -110
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uri.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uthread.c +0 -283
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uthread.h +0 -36
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_util.c +0 -3972
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_util.h +0 -423
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_variable.c +0 -499
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_variable.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_worker.c +0 -64
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_worker.h +0 -17
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/tapset/ngx_lua.stp +0 -5
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/build.sh +0 -39
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/build2.sh +0 -55
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/fix-comments +0 -27
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/gdbinit +0 -415
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/ngx-links +0 -62
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/reindex +0 -64
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/releng +0 -8
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/retab +0 -8
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/revim +0 -102
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/run_test.sh +0 -10
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/update-readme.sh +0 -4
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/valgrind.suppress +0 -144
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/CHANGES +0 -107
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/LICENSE +0 -25
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/Makefile +0 -8
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/README +0 -329
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/config +0 -3
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/ngx_http_uploadprogress_module.c +0 -1774
- data/packaging/debian/debian_specs/nginx/modules/nginx-upstream-fair/README +0 -53
- data/packaging/debian/debian_specs/nginx/modules/nginx-upstream-fair/config +0 -3
- data/packaging/debian/debian_specs/nginx/modules/nginx-upstream-fair/ngx_http_upstream_fair_module.c +0 -1356
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/CHANGELOG.md +0 -37
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/HACKING.md +0 -24
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/LICENSE +0 -20
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/README.rst +0 -182
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/config +0 -8
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/nginx-0.6-support.patch +0 -23
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/ngx_http_fancyindex_module.c +0 -1305
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/template.awk +0 -52
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/template.h +0 -103
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/template.html +0 -102
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/CHANGES +0 -37
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/README +0 -141
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/config +0 -3
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/doc/README.google_code_home_page.wiki +0 -120
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/doc/README.html +0 -199
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/doc/README.wiki +0 -123
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/ngx_http_subs_filter_module.c +0 -1298
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/README +0 -275
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/AutoInstall.pm +0 -820
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install.pm +0 -470
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/AutoInstall.pm +0 -82
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Base.pm +0 -83
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Can.pm +0 -81
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Fetch.pm +0 -93
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Include.pm +0 -34
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Makefile.pm +0 -415
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Metadata.pm +0 -716
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/TestBase.pm +0 -29
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Win32.pm +0 -64
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/WriteAll.pm +0 -63
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Spiffy.pm +0 -539
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Base.pm +0 -682
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Base/Filter.pm +0 -341
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Builder.pm +0 -1413
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Builder/Module.pm +0 -81
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/More.pm +0 -735
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx.pm +0 -315
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx/LWP.pm +0 -524
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx/Socket.pm +0 -1749
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx/Util.pm +0 -874
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs.t +0 -136
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_capture.t +0 -32
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_fix_string.t +0 -32
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_regex.t +0 -108
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_types.t +0 -59
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/test.sh +0 -5
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/util/update-readme.sh +0 -7
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/util/wiki2google_code_homepage.pl +0 -29
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/util/wiki2pod.pl +0 -129
- data/packaging/debian/debian_specs/nginx/nginx-common.NEWS +0 -135
- data/packaging/debian/debian_specs/nginx/nginx-common.README.Debian +0 -45
- data/packaging/debian/debian_specs/nginx/nginx-common.dirs.erb +0 -32
- data/packaging/debian/debian_specs/nginx/nginx-common.install +0 -3
- data/packaging/debian/debian_specs/nginx/nginx-common.lintian-overrides +0 -2
- data/packaging/debian/debian_specs/nginx/nginx-common.manpages +0 -1
- data/packaging/debian/debian_specs/nginx/nginx-common.nginx.default +0 -10
- data/packaging/debian/debian_specs/nginx/nginx-common.nginx.init.erb +0 -214
- data/packaging/debian/debian_specs/nginx/nginx-common.nginx.logrotate +0 -18
- data/packaging/debian/debian_specs/nginx/nginx-common.nginx.service.erb +0 -37
- data/packaging/debian/debian_specs/nginx/nginx-common.postinst.erb +0 -66
- data/packaging/debian/debian_specs/nginx/nginx-common.postrm.erb +0 -46
- data/packaging/debian/debian_specs/nginx/nginx-common.preinst +0 -47
- data/packaging/debian/debian_specs/nginx/nginx-common.prerm.erb +0 -28
- data/packaging/debian/debian_specs/nginx/nginx-doc.docs +0 -2
- data/packaging/debian/debian_specs/nginx/nginx-doc.examples +0 -1
- data/packaging/debian/debian_specs/nginx/nginx-extras.install.erb +0 -17
- data/packaging/debian/debian_specs/nginx/nginx-extras.lintian-overrides +0 -1
- data/packaging/debian/debian_specs/nginx/nginx-extras.postinst.erb +0 -44
- data/packaging/debian/debian_specs/nginx/nginx-extras.prerm +0 -22
- data/packaging/debian/debian_specs/nginx/nginx.1 +0 -47
- data/packaging/debian/debian_specs/nginx/patches/perl-use-dpkg-buildflags.patch +0 -23
- data/packaging/debian/debian_specs/nginx/patches/series +0 -1
- data/packaging/debian/debian_specs/nginx/rules.erb +0 -185
- data/packaging/debian/debian_specs/nginx/source/format +0 -1
- data/packaging/debian/debian_specs/nginx/tests/control +0 -4
- data/packaging/debian/debian_specs/nginx/ufw/nginx +0 -14
- data/packaging/debian/debian_specs/nginx/upstream/signing-key.asc +0 -34
- data/packaging/debian/debian_specs/nginx/watch +0 -3
- data/packaging/debian/debian_specs/passenger/README.Debian +0 -12
- data/packaging/debian/debian_specs/passenger/changelog +0 -316
- data/packaging/debian/debian_specs/passenger/compat +0 -1
- data/packaging/debian/debian_specs/passenger/control.erb +0 -123
- data/packaging/debian/debian_specs/passenger/copyright +0 -385
- data/packaging/debian/debian_specs/passenger/helpers.rb +0 -24
- data/packaging/debian/debian_specs/passenger/libapache2-mod-passenger.install +0 -3
- data/packaging/debian/debian_specs/passenger/libapache2-mod-passenger.postinst +0 -36
- data/packaging/debian/debian_specs/passenger/libapache2-mod-passenger.prerm +0 -15
- data/packaging/debian/debian_specs/passenger/locations.ini.erb +0 -14
- data/packaging/debian/debian_specs/passenger/passenger-dev.install.erb +0 -3
- data/packaging/debian/debian_specs/passenger/passenger-doc.install.erb +0 -2
- data/packaging/debian/debian_specs/passenger/passenger.conf +0 -6
- data/packaging/debian/debian_specs/passenger/passenger.docs +0 -4
- data/packaging/debian/debian_specs/passenger/passenger.install.erb +0 -16
- data/packaging/debian/debian_specs/passenger/passenger.load +0 -3
- data/packaging/debian/debian_specs/passenger/passenger.manpages +0 -3
- data/packaging/debian/debian_specs/passenger/passenger_free_ruby.c +0 -29
- data/packaging/debian/debian_specs/passenger/passenger_ruby_utils.c +0 -54
- data/packaging/debian/debian_specs/passenger/passenger_system_ruby.c.erb +0 -37
- data/packaging/debian/debian_specs/passenger/rules.erb +0 -84
- data/packaging/debian/debian_specs/passenger/source/format +0 -1
- data/packaging/debian/debian_specs/passenger_enterprise/README.Debian +0 -12
- data/packaging/debian/debian_specs/passenger_enterprise/changelog +0 -316
- data/packaging/debian/debian_specs/passenger_enterprise/compat +0 -1
- data/packaging/debian/debian_specs/passenger_enterprise/control.erb +0 -123
- data/packaging/debian/debian_specs/passenger_enterprise/copyright +0 -385
- data/packaging/debian/debian_specs/passenger_enterprise/helpers.rb +0 -2
- data/packaging/debian/debian_specs/passenger_enterprise/libapache2-mod-passenger-enterprise.install +0 -3
- data/packaging/debian/debian_specs/passenger_enterprise/libapache2-mod-passenger-enterprise.postinst +0 -36
- data/packaging/debian/debian_specs/passenger_enterprise/libapache2-mod-passenger-enterprise.prerm +0 -15
- data/packaging/debian/debian_specs/passenger_enterprise/locations.ini.erb +0 -14
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise-dev.install.erb +0 -3
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise-doc.install.erb +0 -2
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise.docs +0 -4
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise.install.erb +0 -14
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise.manpages +0 -3
- data/packaging/debian/debian_specs/passenger_enterprise/passenger.conf +0 -6
- data/packaging/debian/debian_specs/passenger_enterprise/passenger.load +0 -3
- data/packaging/debian/debian_specs/passenger_enterprise/passenger_free_ruby.c.erb +0 -1
- data/packaging/debian/debian_specs/passenger_enterprise/passenger_ruby_utils.c.erb +0 -1
- data/packaging/debian/debian_specs/passenger_enterprise/passenger_system_ruby.c.erb +0 -1
- data/packaging/debian/debian_specs/passenger_enterprise/patches/series +0 -0
- data/packaging/debian/debian_specs/passenger_enterprise/rules.erb +0 -84
- data/packaging/debian/debian_specs/passenger_enterprise/source/format +0 -1
- data/packaging/debian/docker_images/Makefile +0 -38
- data/packaging/debian/docker_images/buildbox/CONTAINER_VERSION.txt +0 -0
- data/packaging/debian/docker_images/buildbox/Dockerfile +0 -3
- data/packaging/debian/docker_images/buildbox/Gemfile +0 -9
- data/packaging/debian/docker_images/buildbox/Gemfile.lock +0 -42
- data/packaging/debian/docker_images/buildbox/install.sh +0 -85
- data/packaging/debian/docker_images/buildbox/pbuilderrc +0 -4
- data/packaging/debian/docker_images/buildbox/sudoers.conf +0 -6
- data/packaging/debian/docker_images/setup-buildbox-docker-image +0 -7
- data/packaging/debian/docker_images/setup-testbox-docker-image-debian-6 +0 -7
- data/packaging/debian/docker_images/setup-testbox-docker-image-debian-7 +0 -7
- data/packaging/debian/docker_images/setup-testbox-docker-image-debian-8 +0 -7
- data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-12.04 +0 -7
- data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-14.04 +0 -7
- data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-15.04 +0 -7
- data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-15.10 +0 -7
- data/packaging/debian/docker_images/testbox-debian-6/Dockerfile +0 -3
- data/packaging/debian/docker_images/testbox-debian-6/Gemfile +0 -2
- data/packaging/debian/docker_images/testbox-debian-6/Gemfile.lock +0 -23
- data/packaging/debian/docker_images/testbox-debian-6/argparse.py +0 -2374
- data/packaging/debian/docker_images/testbox-debian-6/install.sh +0 -78
- data/packaging/debian/docker_images/testbox-debian-7/Dockerfile +0 -3
- data/packaging/debian/docker_images/testbox-debian-7/Gemfile +0 -2
- data/packaging/debian/docker_images/testbox-debian-7/Gemfile.lock +0 -23
- data/packaging/debian/docker_images/testbox-debian-7/install.sh +0 -71
- data/packaging/debian/docker_images/testbox-debian-8/Dockerfile +0 -3
- data/packaging/debian/docker_images/testbox-debian-8/Gemfile +0 -2
- data/packaging/debian/docker_images/testbox-debian-8/Gemfile.lock +0 -23
- data/packaging/debian/docker_images/testbox-debian-8/install.sh +0 -70
- data/packaging/debian/docker_images/testbox-ubuntu-12.04/Dockerfile +0 -3
- data/packaging/debian/docker_images/testbox-ubuntu-12.04/Gemfile +0 -2
- data/packaging/debian/docker_images/testbox-ubuntu-12.04/Gemfile.lock +0 -23
- data/packaging/debian/docker_images/testbox-ubuntu-12.04/install.sh +0 -69
- data/packaging/debian/docker_images/testbox-ubuntu-14.04/Dockerfile +0 -3
- data/packaging/debian/docker_images/testbox-ubuntu-14.04/Gemfile +0 -2
- data/packaging/debian/docker_images/testbox-ubuntu-14.04/Gemfile.lock +0 -23
- data/packaging/debian/docker_images/testbox-ubuntu-14.04/install.sh +0 -69
- data/packaging/debian/docker_images/testbox-ubuntu-15.04/Dockerfile +0 -3
- data/packaging/debian/docker_images/testbox-ubuntu-15.04/Gemfile +0 -2
- data/packaging/debian/docker_images/testbox-ubuntu-15.04/Gemfile.lock +0 -23
- data/packaging/debian/docker_images/testbox-ubuntu-15.04/install.sh +0 -69
- data/packaging/debian/docker_images/testbox-ubuntu-15.10/Dockerfile +0 -3
- data/packaging/debian/docker_images/testbox-ubuntu-15.10/Gemfile +0 -2
- data/packaging/debian/docker_images/testbox-ubuntu-15.10/Gemfile.lock +0 -23
- data/packaging/debian/docker_images/testbox-ubuntu-15.10/install.sh +0 -69
- data/packaging/debian/internal/build/Rakefile +0 -235
- data/packaging/debian/internal/build/build-passenger-orig-tarball.sh +0 -76
- data/packaging/debian/internal/build/build-source-package.rb +0 -121
- data/packaging/debian/internal/build/download-nginx-orig-tarball.sh +0 -17
- data/packaging/debian/internal/build/rakefile_support.rb +0 -96
- data/packaging/debian/internal/build/setup-environment-essentials.sh +0 -15
- data/packaging/debian/internal/build/setup-environment.sh +0 -29
- data/packaging/debian/internal/lib/distro_info.rb +0 -82
- data/packaging/debian/internal/lib/distro_info.sh +0 -303
- data/packaging/debian/internal/lib/distro_info.sh.erb +0 -65
- data/packaging/debian/internal/lib/library.sh +0 -83
- data/packaging/debian/internal/lib/preprocessor.rb +0 -173
- data/packaging/debian/internal/lib/tracking.rb +0 -95
- data/packaging/debian/internal/lib/tracking_category.rb +0 -45
- data/packaging/debian/internal/lib/tracking_database.rb +0 -132
- data/packaging/debian/internal/lib/tracking_task.rb +0 -148
- data/packaging/debian/internal/lib/utils.rb +0 -78
- data/packaging/debian/internal/publish/Rakefile +0 -97
- data/packaging/debian/internal/publish/oss-binaries.phusionpassenger.com-fingerprint.txt +0 -1
- data/packaging/debian/internal/publish/packagecloud_fingerprint.txt +0 -1
- data/packaging/debian/internal/publish/passenger_website_fingerprint.txt +0 -1
- data/packaging/debian/internal/publish/preinit.sh +0 -7
- data/packaging/debian/internal/publish/rakefile_support.rb +0 -183
- data/packaging/debian/internal/scripts/gpg_noninteractive/gpg +0 -11
- data/packaging/debian/internal/scripts/initccache.sh +0 -35
- data/packaging/debian/internal/scripts/inituidgid.sh +0 -19
- data/packaging/debian/internal/scripts/my_init +0 -340
- data/packaging/debian/internal/scripts/pin_certificates +0 -34
- data/packaging/debian/internal/scripts/regen_distro_info_script.sh +0 -3
- data/packaging/debian/internal/scripts/setup-vagrant.sh +0 -12
- data/packaging/debian/internal/scripts/setuser +0 -31
- data/packaging/debian/internal/shell/initpbuilder.sh +0 -3
- data/packaging/debian/internal/shell/preinit.sh +0 -28
- data/packaging/debian/internal/shell/sudoers.conf +0 -1
- data/packaging/debian/internal/test/apache/apache-24.conf +0 -5
- data/packaging/debian/internal/test/apache/apache-pre-24.conf +0 -4
- data/packaging/debian/internal/test/apache/vhost.conf +0 -17
- data/packaging/debian/internal/test/misc/config.json +0 -15
- data/packaging/debian/internal/test/misc/hosts.conf +0 -4
- data/packaging/debian/internal/test/misc/init.sh +0 -25
- data/packaging/debian/internal/test/misc/nodejs_test_app.js +0 -6
- data/packaging/debian/internal/test/misc/python_test_app.py +0 -3
- data/packaging/debian/internal/test/misc/ruby_test_app.rb +0 -5
- data/packaging/debian/internal/test/misc/test_support.rb +0 -61
- data/packaging/debian/internal/test/nginx/vhost.conf +0 -23
- data/packaging/debian/internal/test/system_web_server_test.rb +0 -126
- data/packaging/debian/internal/test/test.sh +0 -141
- data/packaging/debian/jenkins/publish/clear_caches.rb +0 -48
- data/packaging/debian/jenkins/publish/publish.sh +0 -69
- data/packaging/debian/jenkins/test/test.sh +0 -63
- data/packaging/debian/passenger_apt_automation.sublime-project +0 -14
- data/packaging/debian/publish +0 -172
- data/packaging/debian/shell +0 -116
- data/packaging/debian/test +0 -142
- data/packaging/rpm/passenger_spec/rubygem-passenger-4.0.18-gcc47-include-sys_types.patch +0 -45
- data/test/cxx/Base64Test.cpp +0 -50
- data/test/cxx/FileBackedPipeTest.cpp +0 -626
- data/test/cxx/HttpHeaderBuffererTest.cpp +0 -257
- data/test/cxx/ScgiRequestParserTest.cpp +0 -423
- data/test/cxx/ServerInstanceDirTest.cpp +0 -175
- data/test/ruby/admin_tools_spec.rb +0 -360
- data/test/ruby/classic_rails/loader_spec.rb +0 -46
- data/test/ruby/classic_rails/preloader_spec.rb +0 -52
- data/test/ruby/standalone/runtime_locator_spec.rb +0 -214
- data/test/stub/rails2.3/Rakefile +0 -10
- data/test/stub/rails2.3/app/controllers/application_controller.rb +0 -10
- data/test/stub/rails2.3/app/controllers/bar_controller_1.rb +0 -5
- data/test/stub/rails2.3/app/controllers/bar_controller_2.rb +0 -5
- data/test/stub/rails2.3/app/controllers/foo_controller.rb +0 -21
- data/test/stub/rails2.3/app/helpers/application_helper.rb +0 -3
- data/test/stub/rails2.3/app/helpers/bar_helper.rb +0 -2
- data/test/stub/rails2.3/app/helpers/foo_helper.rb +0 -2
- data/test/stub/rails2.3/config/boot.rb +0 -110
- data/test/stub/rails2.3/config/database.yml +0 -19
- data/test/stub/rails2.3/config/environment.rb +0 -62
- data/test/stub/rails2.3/config/environments/development.rb +0 -17
- data/test/stub/rails2.3/config/environments/production.rb +0 -18
- data/test/stub/rails2.3/config/environments/staging.rb +0 -18
- data/test/stub/rails2.3/config/initializers/inflections.rb +0 -10
- data/test/stub/rails2.3/config/initializers/mime_types.rb +0 -5
- data/test/stub/rails2.3/config/routes.rb +0 -35
- data/test/stub/rails2.3/log/.gitignore +0 -1
- data/test/stub/rails2.3/public/.gitignore +0 -1
- data/test/stub/rails2.3/script/about +0 -3
- data/test/stub/rails2.3/script/console +0 -3
- data/test/stub/rails2.3/script/dbconsole +0 -3
- data/test/stub/rails2.3/script/destroy +0 -3
- data/test/stub/rails2.3/script/generate +0 -3
- data/test/stub/rails2.3/script/performance/benchmarker +0 -3
- data/test/stub/rails2.3/script/performance/profiler +0 -3
- data/test/stub/rails2.3/script/performance/request +0 -3
- data/test/stub/rails2.3/script/plugin +0 -3
- data/test/stub/rails2.3/script/process/inspector +0 -3
- data/test/stub/rails2.3/script/process/reaper +0 -3
- data/test/stub/rails2.3/script/process/spawner +0 -3
- data/test/stub/rails2.3/script/runner +0 -3
- data/test/stub/rails2.3/script/server +0 -3
- data/test/stub/rails2.3/tmp/cache/.gitignore +0 -1
- data/test/stub/rails2.3/tmp/pids/.gitignore +0 -1
- data/test/stub/rails2.3/tmp/sessions/.gitignore +0 -1
- data/test/stub/rails2.3/tmp/sockets/.gitignore +0 -1
@@ -0,0 +1,5 @@
|
|
1
|
+
<banner>Compile the agent with optimizations?</banner>
|
2
|
+
|
3
|
+
Compiling the agent with optimizations will make <%= PROGRAM_NAME %> faster, but
|
4
|
+
it will take longer to compile and it requires <b>at least 2 GB of memory</b>.
|
5
|
+
<% if @total_ram %>(You have <%= @total_ram %> GB memory.)<% end -%>
|
data/resources/templates/config/installation_utils/cannot_create_user_support_binaries_dir.txt.erb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
This program must be able to create this directory:
|
2
|
+
|
3
|
+
<b><%= @dir %></b>
|
4
|
+
|
5
|
+
However, it was unable to do that because of incorrect permissions on parent
|
6
|
+
directories. The parent directories must allow the <b><%= @myself %></b>b> user
|
7
|
+
(which this program is running as) to create the directory that we want. Please
|
8
|
+
fix the permissions on all parent directories, then re-run this program.
|
9
|
+
|
10
|
+
If you don't know how to fix permissions, please search the Internet and learn
|
11
|
+
about how Unix permissions works. These are good tutorials:
|
12
|
+
|
13
|
+
* http://www.tutorialspoint.com/unix/unix-file-permission.htm
|
14
|
+
* http://www.perlfect.com/articles/chmod.shtml
|
15
|
+
* http://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<red>You should not run this program as root</red>
|
2
|
+
|
3
|
+
You are currently running this program as the <b>root</b> user. However,
|
4
|
+
<%= PROGRAM_NAME %> was not installed by the root user. Instead, it was installed
|
5
|
+
by the <b><%= @owner %></b> user. For this reason, this program has stopped itself,
|
6
|
+
because proceeding as root can mess up all kinds of file permissions.
|
7
|
+
|
8
|
+
<b>Please re-run this program as the <%= @owner %> user, not as root.</b>
|
9
|
+
|
10
|
+
But if you are sure that you want to run this program as the root user
|
11
|
+
(which this program doesn't recommend), then re-run this program using the
|
12
|
+
--force parameter.
|
@@ -0,0 +1,13 @@
|
|
1
|
+
This program must be able to write to the following directory:
|
2
|
+
|
3
|
+
<b><%= @dir %></b>
|
4
|
+
|
5
|
+
But it can't do that, despite the fact that it's running as root. There's
|
6
|
+
probably a permission problem, an SELinux problem or some kind of operating
|
7
|
+
system security problem.
|
8
|
+
|
9
|
+
This installer tried its best to find out the exact reason for this failure,
|
10
|
+
but unfortunately it couldn't figure it out, so it's up to you now. Please
|
11
|
+
find out what's wrong with your system, fix the problems, and re-run this
|
12
|
+
program. If you don't know it either, please contact your operating system
|
13
|
+
vendor for support, or consult your operating system's manual.
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<red>An unexpected problem occurred</red>
|
2
|
+
|
3
|
+
This program must be able to create this directory:
|
4
|
+
|
5
|
+
<b><%= @dir %></b>
|
6
|
+
|
7
|
+
However, some completely unexpected filesystem error occurred. Unfortunately,
|
8
|
+
this program can't figure out what's wrong, so it's up to you now. You can
|
9
|
+
find the system error message below. Please find out what's wrong, fix the
|
10
|
+
problems, and re-run this program. If you don't know it either, please contact
|
11
|
+
your operating system vendor for support, or consult your operating system's
|
12
|
+
manual.
|
13
|
+
|
14
|
+
The error message is as follows:
|
15
|
+
|
16
|
+
<b><%= @exception %></b>
|
File without changes
|
@@ -1,9 +1,9 @@
|
|
1
1
|
<red>The necessary source files for compiling Nginx are not installed.</red>
|
2
|
-
<% if PhusionPassenger.
|
2
|
+
<% if PhusionPassenger.packaging_method == "deb" %>
|
3
3
|
Please install them with:
|
4
4
|
|
5
5
|
<b>sudo apt-get install <%= DEB_DEV_PACKAGE %></b>
|
6
|
-
<% elsif PhusionPassenger.
|
6
|
+
<% elsif PhusionPassenger.packaging_method == "rpm" %>
|
7
7
|
Please install them with:
|
8
8
|
|
9
9
|
<b>sudo yum install <%= RPM_DEV_PACKAGE %>-<%= VERSION_STRING %></b>
|
@@ -21,7 +21,7 @@
|
|
21
21
|
master_process on;
|
22
22
|
worker_processes 1;
|
23
23
|
daemon on;
|
24
|
-
error_log '<%= @options[:log_file] %>' <% if
|
24
|
+
error_log '<%= @options[:log_file] %>' <% if @options[:log_level] >= LVL_DEBUG %>info<% end %>;
|
25
25
|
pid '<%= @options[:pid_file] %>';
|
26
26
|
|
27
27
|
<% if Process.euid == 0 %>
|
@@ -42,12 +42,13 @@ http {
|
|
42
42
|
log_format debug '[$time_local] $msec "$request" $status conn=$connection sent=$bytes_sent body_sent=$body_bytes_sent';
|
43
43
|
include '<%= PhusionPassenger.resources_dir %>/mime.types';
|
44
44
|
passenger_ruby <%= PlatformInfo.ruby_command %>;
|
45
|
-
passenger_root '<%=
|
45
|
+
passenger_root '<%= PhusionPassenger.install_spec %>';
|
46
46
|
passenger_abort_on_startup_error on;
|
47
|
-
passenger_ctl cleanup_pidfiles <%= serialize_strset("#{@
|
47
|
+
passenger_ctl cleanup_pidfiles <%= serialize_strset("#{@working_dir}/temp_dir_toucher.pid") %>;
|
48
48
|
passenger_user_switching off;
|
49
|
-
|
50
|
-
|
49
|
+
<%= nginx_option :passenger_log_level, :log_level %>
|
50
|
+
<%= nginx_option :passenger_max_pool_size, :max_pool_size %>
|
51
|
+
<%= nginx_option :passenger_min_instances, :min_instances %>
|
51
52
|
<% if @options[:user] %>
|
52
53
|
passenger_user <%= @options[:user] %>;
|
53
54
|
passenger_default_user <%= @options[:user] %>;
|
@@ -57,8 +58,8 @@ http {
|
|
57
58
|
passenger_default_user <%= current_user %>;
|
58
59
|
passenger_analytics_log_user <%= current_user %>;
|
59
60
|
<% end %>
|
60
|
-
<% if
|
61
|
-
<% if @options[:
|
61
|
+
<% if @options[:instance_registry_dir] %>passenger_instance_registry_dir '<%= @options[:instance_registry_dir] %>';<% end %>
|
62
|
+
<% if @options[:data_buffer_dir] %>passenger_data_buffer_dir '<%= @options[:data_buffer_dir] %>';<% end %>
|
62
63
|
<% if @options[:rolling_restarts] %>passenger_rolling_restarts on;<% end %>
|
63
64
|
<% if @options[:resist_deployment_errors] %>passenger_resist_deployment_errors on;<% end %>
|
64
65
|
<% if !@options[:load_shell_envvars] %>passenger_load_shell_envvars off;<% end %>
|
@@ -73,6 +74,10 @@ http {
|
|
73
74
|
union_station_gateway_cert -;
|
74
75
|
<% end %>
|
75
76
|
|
77
|
+
<% @options[:ctls].each do |ctl| %>
|
78
|
+
passenger_ctl '<%= ctl.split("=", 2)[0] %>' '<%= ctl.split("=", 2)[1] %>';
|
79
|
+
<% end %>
|
80
|
+
|
76
81
|
default_type application/octet-stream;
|
77
82
|
types_hash_max_size 2048;
|
78
83
|
server_names_hash_bucket_size 64;
|
@@ -106,13 +111,6 @@ http {
|
|
106
111
|
}
|
107
112
|
<% end %>
|
108
113
|
|
109
|
-
<% if @options[:ping_port] %>
|
110
|
-
server {
|
111
|
-
listen <%= nginx_listen_address(@options, true) %>;
|
112
|
-
root '<%= PhusionPassenger.resources_dir %>/standalone_default_root';
|
113
|
-
}
|
114
|
-
<% end %>
|
115
|
-
|
116
114
|
<% for app in @apps %>
|
117
115
|
server {
|
118
116
|
<% if app[:ssl] %>
|
@@ -137,8 +135,8 @@ http {
|
|
137
135
|
passenger_spawn_method <%= app[:spawn_method] %>;
|
138
136
|
<% if app[:app_type] %>passenger_app_type <%= app[:app_type] %>;<% end %>
|
139
137
|
<% if app[:startup_file] %>passenger_startup_file <%= app[:startup_file] %>;<% end %>
|
140
|
-
<% if app[:concurrency_model] != DEFAULT_CONCURRENCY_MODEL %>passenger_concurrency_model <%= app[:concurrency_model] %>;<% end %>
|
141
|
-
<% if app[:thread_count] !=
|
138
|
+
<% if app[:concurrency_model] && app[:concurrency_model] != DEFAULT_CONCURRENCY_MODEL %>passenger_concurrency_model <%= app[:concurrency_model] %>;<% end %>
|
139
|
+
<% if app[:thread_count] && app[:thread_count] != DEFAULT_APP_THREAD_COUNT %>passenger_thread_count <%= app[:thread_count] %>;<% end %>
|
142
140
|
<% if app[:min_instances] %>passenger_min_instances <%= app[:min_instances] %>;<% end %>
|
143
141
|
<% if app[:restart_dir] %>passenger_restart_dir '<%= app[:restart_dir] %>';<% end %>
|
144
142
|
<% if @options[:sticky_sessions] %>passenger_sticky_sessions on;<% end %>
|
data/resources/templates/standalone/possible_solutions_for_download_and_extraction_problems.txt.erb
CHANGED
@@ -7,7 +7,7 @@ Possible reasons:
|
|
7
7
|
|
8
8
|
<b>* The URL that Passenger Standalone tried to download from no longer exists.</b>
|
9
9
|
Please file a bug report if this is the case:
|
10
|
-
|
10
|
+
https://github.com/phusion/passenger/issues
|
11
11
|
|
12
12
|
<b>* The download was corrupted.</b>
|
13
13
|
Please re-run Phusion Passenger Standalone; it will re-download Nginx.
|
data/test/.rspec
CHANGED
@@ -8,15 +8,12 @@ using namespace Passenger::ApplicationPool2;
|
|
8
8
|
|
9
9
|
namespace tut {
|
10
10
|
struct ApplicationPool2_DirectSpawnerTest {
|
11
|
-
|
12
|
-
ServerInstanceDir::GenerationPtr generation;
|
13
|
-
ProcessPtr process;
|
11
|
+
SpawnObject object;
|
14
12
|
PipeWatcher::DataCallback gatherOutput;
|
15
13
|
string gatheredOutput;
|
16
14
|
boost::mutex gatheredOutputSyncher;
|
17
15
|
|
18
16
|
ApplicationPool2_DirectSpawnerTest() {
|
19
|
-
createServerInstanceDirAndGeneration(serverInstanceDir, generation);
|
20
17
|
PipeWatcher::onData = PipeWatcher::DataCallback();
|
21
18
|
gatherOutput = boost::bind(&ApplicationPool2_DirectSpawnerTest::_gatherOutput, this, _1, _2);
|
22
19
|
setLogLevel(LVL_ERROR); // TODO: change to LVL_WARN
|
@@ -31,8 +28,14 @@ namespace tut {
|
|
31
28
|
}
|
32
29
|
|
33
30
|
boost::shared_ptr<DirectSpawner> createSpawner(const Options &options) {
|
34
|
-
return boost::make_shared<DirectSpawner>(
|
35
|
-
|
31
|
+
return boost::make_shared<DirectSpawner>(createSpawnerConfig());
|
32
|
+
}
|
33
|
+
|
34
|
+
SpawnerConfigPtr createSpawnerConfig() {
|
35
|
+
SpawnerConfigPtr config = boost::make_shared<SpawnerConfig>();
|
36
|
+
config->resourceLocator = resourceLocator;
|
37
|
+
config->finalize();
|
38
|
+
return config;
|
36
39
|
}
|
37
40
|
|
38
41
|
Options createOptions() {
|
@@ -62,12 +65,12 @@ namespace tut {
|
|
62
65
|
options.startupFile = ".";
|
63
66
|
options.startTimeout = 300;
|
64
67
|
|
65
|
-
DirectSpawner spawner(
|
68
|
+
DirectSpawner spawner(createSpawnerConfig());
|
66
69
|
setLogLevel(LVL_CRIT);
|
67
70
|
|
68
71
|
try {
|
69
|
-
|
70
|
-
process->requiresShutdown = false;
|
72
|
+
object = spawner.spawn(options);
|
73
|
+
object.process->requiresShutdown = false;
|
71
74
|
fail("Timeout expected");
|
72
75
|
} catch (const SpawnException &e) {
|
73
76
|
ensure_equals(e.getErrorKind(),
|
@@ -85,12 +88,12 @@ namespace tut {
|
|
85
88
|
options.startCommand = "perl\t" "-e\t" "print STDERR \"hello world\\n\"";
|
86
89
|
options.startupFile = ".";
|
87
90
|
|
88
|
-
DirectSpawner spawner(
|
91
|
+
DirectSpawner spawner(createSpawnerConfig());
|
89
92
|
setLogLevel(LVL_CRIT);
|
90
93
|
|
91
94
|
try {
|
92
|
-
|
93
|
-
process->requiresShutdown = false;
|
95
|
+
object = spawner.spawn(options);
|
96
|
+
object.process->requiresShutdown = false;
|
94
97
|
fail("SpawnException expected");
|
95
98
|
} catch (const SpawnException &e) {
|
96
99
|
ensure_equals(e.getErrorKind(),
|
@@ -108,12 +111,12 @@ namespace tut {
|
|
108
111
|
options.startCommand = "ruby\t" "start.rb\t" "--execself";
|
109
112
|
options.startupFile = "start.rb";
|
110
113
|
SpawnerPtr spawner = createSpawner(options);
|
111
|
-
|
112
|
-
process->requiresShutdown = false;
|
113
|
-
ensure_equals(process->sockets
|
114
|
+
object = spawner->spawn(options);
|
115
|
+
object.process->requiresShutdown = false;
|
116
|
+
ensure_equals(object.process->sockets.size(), 1u);
|
114
117
|
|
115
|
-
Connection conn = process->sockets
|
116
|
-
ScopeGuard guard(boost::bind(checkin, process, &conn));
|
118
|
+
Connection conn = object.process->sockets.front().checkoutConnection();
|
119
|
+
ScopeGuard guard(boost::bind(checkin, object.process, &conn));
|
117
120
|
writeExact(conn.fd, "ping\n");
|
118
121
|
ensure_equals(readAll(conn.fd), "pong\n");
|
119
122
|
);
|
@@ -17,28 +17,14 @@ namespace tut {
|
|
17
17
|
// Test persist().
|
18
18
|
char appRoot[] = "appRoot";
|
19
19
|
char processTitle[] = "processTitle";
|
20
|
-
char fooKey[] = "PASSENGER_FOO";
|
21
|
-
char fooValue[] = "foo";
|
22
|
-
char barKey[] = "PASSENGER_BAR";
|
23
|
-
char barValue[] = "bar";
|
24
20
|
|
25
21
|
Options options;
|
26
22
|
options.appRoot = appRoot;
|
27
23
|
options.processTitle = processTitle;
|
28
|
-
options.environmentVariables.push_back(make_pair(fooKey, fooValue));
|
29
|
-
options.environmentVariables.push_back(make_pair(barKey, barValue));
|
30
24
|
|
31
25
|
Options options2 = options.copyAndPersist();
|
32
26
|
appRoot[0] = processTitle[0] = 'x';
|
33
|
-
fooKey[0] = fooValue[0] = 'x';
|
34
|
-
barKey[0] = barValue[0] = 'x';
|
35
|
-
|
36
27
|
ensure_equals(options2.appRoot, "appRoot");
|
37
28
|
ensure_equals(options2.processTitle, "processTitle");
|
38
|
-
ensure_equals(options2.environmentVariables.size(), 2u);
|
39
|
-
ensure_equals(options2.environmentVariables[0].first, "PASSENGER_FOO");
|
40
|
-
ensure_equals(options2.environmentVariables[0].second, "foo");
|
41
|
-
ensure_equals(options2.environmentVariables[1].first, "PASSENGER_BAR");
|
42
|
-
ensure_equals(options2.environmentVariables[1].second, "bar");
|
43
29
|
}
|
44
30
|
}
|
@@ -15,8 +15,6 @@ using namespace Passenger::ApplicationPool2;
|
|
15
15
|
|
16
16
|
namespace tut {
|
17
17
|
struct ApplicationPool2_PoolTest {
|
18
|
-
ServerInstanceDirPtr serverInstanceDir;
|
19
|
-
ServerInstanceDir::GenerationPtr generation;
|
20
18
|
SpawnerConfigPtr spawnerConfig;
|
21
19
|
SpawnerFactoryPtr spawnerFactory;
|
22
20
|
PoolPtr pool;
|
@@ -31,14 +29,15 @@ namespace tut {
|
|
31
29
|
bool retainSessions;
|
32
30
|
|
33
31
|
ApplicationPool2_PoolTest() {
|
34
|
-
createServerInstanceDirAndGeneration(serverInstanceDir, generation);
|
35
32
|
retainSessions = false;
|
36
|
-
spawnerConfig = boost::make_shared<SpawnerConfig>(
|
37
|
-
|
38
|
-
|
33
|
+
spawnerConfig = boost::make_shared<SpawnerConfig>();
|
34
|
+
spawnerConfig->resourceLocator = resourceLocator;
|
35
|
+
spawnerConfig->finalize();
|
36
|
+
spawnerFactory = boost::make_shared<SpawnerFactory>(spawnerConfig);
|
39
37
|
pool = boost::make_shared<Pool>(spawnerFactory);
|
40
38
|
pool->initialize();
|
41
|
-
callback =
|
39
|
+
callback.func = _callback;
|
40
|
+
callback.userData = this;
|
42
41
|
setLogLevel(LVL_ERROR); // TODO: change to LVL_WARN
|
43
42
|
setPrintAppOutputAsDebuggingMessages(true);
|
44
43
|
}
|
@@ -90,16 +89,19 @@ namespace tut {
|
|
90
89
|
return options;
|
91
90
|
}
|
92
91
|
|
93
|
-
void _callback(const SessionPtr &session, const ExceptionPtr &e
|
92
|
+
static void _callback(const SessionPtr &session, const ExceptionPtr &e,
|
93
|
+
void *userData)
|
94
|
+
{
|
95
|
+
ApplicationPool2_PoolTest *self = (ApplicationPool2_PoolTest *) userData;
|
94
96
|
SessionPtr oldSession;
|
95
97
|
{
|
96
|
-
LockGuard l(syncher);
|
97
|
-
oldSession = currentSession;
|
98
|
-
currentSession = session;
|
99
|
-
currentException = e;
|
100
|
-
number++;
|
101
|
-
if (retainSessions && session != NULL) {
|
102
|
-
sessions.push_back(session);
|
98
|
+
LockGuard l(self->syncher);
|
99
|
+
oldSession = self->currentSession;
|
100
|
+
self->currentSession = session;
|
101
|
+
self->currentException = e;
|
102
|
+
self->number++;
|
103
|
+
if (self->retainSessions && session != NULL) {
|
104
|
+
self->sessions.push_back(session);
|
103
105
|
}
|
104
106
|
}
|
105
107
|
// destroy old session object outside the lock.
|
@@ -157,7 +159,7 @@ namespace tut {
|
|
157
159
|
NULL);
|
158
160
|
shutdown(currentSession->fd(), SHUT_WR);
|
159
161
|
string body = stripHeaders(readAll(currentSession->fd()));
|
160
|
-
ProcessPtr process = currentSession->getProcess();
|
162
|
+
ProcessPtr process = currentSession->getProcess()->shared_from_this();
|
161
163
|
currentSession.reset();
|
162
164
|
EVENTUALLY(5,
|
163
165
|
result = process->busyness() == 0;
|
@@ -181,7 +183,8 @@ namespace tut {
|
|
181
183
|
}
|
182
184
|
|
183
185
|
void disableProcess(ProcessPtr process, AtomicInt *result) {
|
184
|
-
*result = (int) pool->disableProcess(process->gupid
|
186
|
+
*result = (int) pool->disableProcess(StaticString(process->gupid,
|
187
|
+
process->gupidSize));
|
185
188
|
}
|
186
189
|
};
|
187
190
|
|
@@ -229,7 +232,7 @@ namespace tut {
|
|
229
232
|
);
|
230
233
|
|
231
234
|
// Close the session so that the process is now idle.
|
232
|
-
ProcessPtr process = currentSession->getProcess();
|
235
|
+
ProcessPtr process = currentSession->getProcess()->shared_from_this();
|
233
236
|
currentSession.reset();
|
234
237
|
ensure_equals(process->busyness(), 0);
|
235
238
|
ensure(!process->isTotallyBusy());
|
@@ -257,7 +260,7 @@ namespace tut {
|
|
257
260
|
result = number == 1;
|
258
261
|
);
|
259
262
|
SessionPtr session1 = currentSession;
|
260
|
-
ProcessPtr process = session1->getProcess();
|
263
|
+
ProcessPtr process = session1->getProcess()->shared_from_this();
|
261
264
|
currentSession.reset();
|
262
265
|
ensure_equals(process->sessions, 1);
|
263
266
|
ensure(process->isTotallyBusy());
|
@@ -266,13 +269,13 @@ namespace tut {
|
|
266
269
|
pool->asyncGet(options, callback);
|
267
270
|
ensure_equals("callback is not yet called", number, 1);
|
268
271
|
ensure_equals("the get action has been put on the wait list",
|
269
|
-
pool->superGroups.
|
272
|
+
pool->superGroups.lookupCopy("test")->defaultGroup->getWaitlist.size(), 1u);
|
270
273
|
|
271
274
|
session1.reset();
|
272
275
|
ensure_equals("callback is called after the process becomes idle",
|
273
276
|
number, 2);
|
274
277
|
ensure_equals("the get wait list has been processed",
|
275
|
-
pool->superGroups.
|
278
|
+
pool->superGroups.lookupCopy("test")->defaultGroup->getWaitlist.size(), 0u);
|
276
279
|
ensure_equals(process->sessions, 1);
|
277
280
|
}
|
278
281
|
|
@@ -292,7 +295,7 @@ namespace tut {
|
|
292
295
|
Options options = createOptions();
|
293
296
|
debug->messages->send("Proceed with spawn loop iteration 1");
|
294
297
|
SessionPtr session1 = pool->get(options, &ticket);
|
295
|
-
ProcessPtr process1 = session1->getProcess();
|
298
|
+
ProcessPtr process1 = session1->getProcess()->shared_from_this();
|
296
299
|
|
297
300
|
// Now spawn a process that never finishes.
|
298
301
|
pool->asyncGet(options, callback);
|
@@ -304,7 +307,7 @@ namespace tut {
|
|
304
307
|
result = number == 1;
|
305
308
|
);
|
306
309
|
ensure_equals("The first process handled the second asyncGet() request",
|
307
|
-
currentSession->getProcess(), process1);
|
310
|
+
currentSession->getProcess(), process1.get());
|
308
311
|
|
309
312
|
debug->messages->send("Proceed with spawn loop iteration 2");
|
310
313
|
EVENTUALLY(5,
|
@@ -323,7 +326,7 @@ namespace tut {
|
|
323
326
|
result = number == 1;
|
324
327
|
);
|
325
328
|
SessionPtr session1 = currentSession;
|
326
|
-
ProcessPtr process1 = currentSession->getProcess();
|
329
|
+
ProcessPtr process1 = currentSession->getProcess()->shared_from_this();
|
327
330
|
currentSession.reset();
|
328
331
|
|
329
332
|
// As long as we don't release process1 the following get
|
@@ -333,7 +336,7 @@ namespace tut {
|
|
333
336
|
result = pool->getProcessCount() == 2;
|
334
337
|
);
|
335
338
|
ensure_equals(number, 2);
|
336
|
-
ensure(currentSession->getProcess() != process1);
|
339
|
+
ensure(currentSession->getProcess() != process1.get());
|
337
340
|
}
|
338
341
|
|
339
342
|
TEST_METHOD(7) {
|
@@ -351,7 +354,7 @@ namespace tut {
|
|
351
354
|
result = pool->getProcessCount() == 3;
|
352
355
|
);
|
353
356
|
SessionPtr session1 = currentSession;
|
354
|
-
ProcessPtr process1 = currentSession->getProcess();
|
357
|
+
ProcessPtr process1 = currentSession->getProcess()->shared_from_this();
|
355
358
|
currentSession.reset();
|
356
359
|
|
357
360
|
// Now open another session. It should complete immediately
|
@@ -360,7 +363,7 @@ namespace tut {
|
|
360
363
|
pool->asyncGet(options, callback, false);
|
361
364
|
ensure_equals("asyncGet() completed immediately", number, 2);
|
362
365
|
SessionPtr session2 = currentSession;
|
363
|
-
ProcessPtr process2 = currentSession->getProcess();
|
366
|
+
ProcessPtr process2 = currentSession->getProcess()->shared_from_this();
|
364
367
|
l.unlock();
|
365
368
|
currentSession.reset();
|
366
369
|
ensure(process2 != process1);
|
@@ -371,7 +374,7 @@ namespace tut {
|
|
371
374
|
pool->asyncGet(options, callback, false);
|
372
375
|
ensure_equals("asyncGet() completed immediately", number, 3);
|
373
376
|
SessionPtr session3 = currentSession;
|
374
|
-
ProcessPtr process3 = currentSession->getProcess();
|
377
|
+
ProcessPtr process3 = currentSession->getProcess()->shared_from_this();
|
375
378
|
l.unlock();
|
376
379
|
currentSession.reset();
|
377
380
|
ensure(process3 != process1);
|
@@ -400,7 +403,7 @@ namespace tut {
|
|
400
403
|
pool->asyncGet(options, callback);
|
401
404
|
ensure_equals(number, 1);
|
402
405
|
SessionPtr session1 = currentSession;
|
403
|
-
ProcessPtr process1 = currentSession->getProcess();
|
406
|
+
ProcessPtr process1 = currentSession->getProcess()->shared_from_this();
|
404
407
|
currentSession.reset();
|
405
408
|
|
406
409
|
// The first process now has 1 session, so next asyncGet() should
|
@@ -408,7 +411,7 @@ namespace tut {
|
|
408
411
|
pool->asyncGet(options, callback);
|
409
412
|
ensure_equals(number, 2);
|
410
413
|
SessionPtr session2 = currentSession;
|
411
|
-
ProcessPtr process2 = currentSession->getProcess();
|
414
|
+
ProcessPtr process2 = currentSession->getProcess()->shared_from_this();
|
412
415
|
currentSession.reset();
|
413
416
|
ensure("(1)", process1 != process2);
|
414
417
|
|
@@ -417,7 +420,7 @@ namespace tut {
|
|
417
420
|
pool->asyncGet(options, callback);
|
418
421
|
ensure_equals(number, 3);
|
419
422
|
SessionPtr session3 = currentSession;
|
420
|
-
ProcessPtr process3 = currentSession->getProcess();
|
423
|
+
ProcessPtr process3 = currentSession->getProcess()->shared_from_this();
|
421
424
|
currentSession.reset();
|
422
425
|
|
423
426
|
// One process now has the lowest number of sessions. Next
|
@@ -425,7 +428,7 @@ namespace tut {
|
|
425
428
|
pool->asyncGet(options, callback);
|
426
429
|
ensure_equals(number, 4);
|
427
430
|
SessionPtr session4 = currentSession;
|
428
|
-
ProcessPtr process4 = currentSession->getProcess();
|
431
|
+
ProcessPtr process4 = currentSession->getProcess()->shared_from_this();
|
429
432
|
currentSession.reset();
|
430
433
|
ensure(process3 != process4);
|
431
434
|
}
|
@@ -458,20 +461,20 @@ namespace tut {
|
|
458
461
|
result = pool->getProcessCount() == 2;
|
459
462
|
);
|
460
463
|
|
461
|
-
SuperGroupPtr superGroup = pool->superGroups.
|
464
|
+
SuperGroupPtr superGroup = pool->superGroups.lookupCopy("test");
|
462
465
|
ensure_equals(superGroup->groups[0]->getWaitlist.size(), 0u);
|
463
466
|
ensure(pool->atFullCapacity());
|
464
467
|
|
465
468
|
// Now try to open another session.
|
466
469
|
pool->asyncGet(options, callback);
|
467
470
|
ensure_equals("The get request has been put on the wait list",
|
468
|
-
pool->superGroups.
|
471
|
+
pool->superGroups.lookupCopy("test")->groups[0]->getWaitlist.size(), 1u);
|
469
472
|
|
470
473
|
// Close an existing session so that one process is no
|
471
474
|
// longer at full utilization.
|
472
475
|
sessions[0].reset();
|
473
476
|
ensure_equals("The get request has been removed from the wait list",
|
474
|
-
pool->superGroups.
|
477
|
+
pool->superGroups.lookupCopy("test")->groups[0]->getWaitlist.size(), 0u);
|
475
478
|
ensure(pool->atFullCapacity());
|
476
479
|
}
|
477
480
|
|
@@ -516,10 +519,10 @@ namespace tut {
|
|
516
519
|
l.unlock();
|
517
520
|
|
518
521
|
// Close one of the sessions. Now it will process the action.
|
519
|
-
ProcessPtr process = sessions[0]->getProcess();
|
522
|
+
ProcessPtr process = sessions[0]->getProcess()->shared_from_this();
|
520
523
|
sessions[0].reset();
|
521
524
|
ensure_equals(number, 5);
|
522
|
-
ensure_equals(currentSession->getProcess(), process);
|
525
|
+
ensure_equals(currentSession->getProcess(), process.get());
|
523
526
|
ensure_equals(group->getWaitlist.size(), 0u);
|
524
527
|
ensure_equals(pool->getProcessCount(), 2u);
|
525
528
|
}
|
@@ -642,8 +645,11 @@ namespace tut {
|
|
642
645
|
initPoolDebugging();
|
643
646
|
debug->spawning = false;
|
644
647
|
|
648
|
+
SystemTime::forceAll(1000000);
|
649
|
+
pool->get(options, &ticket);
|
650
|
+
SystemTime::forceAll(20000000);
|
645
651
|
touchFile("tmp.wsgi/tmp/restart.txt", 1);
|
646
|
-
pool->asyncGet(options, callback
|
652
|
+
pool->asyncGet(options, callback);
|
647
653
|
debug->debugger->recv("About to end restarting");
|
648
654
|
debug->messages->send("Finish restarting");
|
649
655
|
EVENTUALLY(5,
|
@@ -668,9 +674,9 @@ namespace tut {
|
|
668
674
|
EVENTUALLY(5,
|
669
675
|
result = number == 1;
|
670
676
|
);
|
671
|
-
ProcessPtr process1 = currentSession->getProcess();
|
672
|
-
GroupPtr group1 = process1->getGroup();
|
673
|
-
SuperGroupPtr superGroup1 = group1->getSuperGroup();
|
677
|
+
ProcessPtr process1 = currentSession->getProcess()->shared_from_this();
|
678
|
+
GroupPtr group1 = process1->getGroup()->shared_from_this();
|
679
|
+
SuperGroupPtr superGroup1 = group1->getSuperGroup()->shared_from_this();
|
674
680
|
currentSession.reset();
|
675
681
|
|
676
682
|
// Get from /bar and keep its session open.
|
@@ -706,9 +712,9 @@ namespace tut {
|
|
706
712
|
EVENTUALLY(5,
|
707
713
|
result = number == 1;
|
708
714
|
);
|
709
|
-
ProcessPtr process1 = currentSession->getProcess();
|
710
|
-
GroupPtr group1 = process1->getGroup();
|
711
|
-
SuperGroupPtr superGroup1 = group1->getSuperGroup();
|
715
|
+
ProcessPtr process1 = currentSession->getProcess()->shared_from_this();
|
716
|
+
GroupPtr group1 = process1->getGroup()->shared_from_this();
|
717
|
+
SuperGroupPtr superGroup1 = group1->getSuperGroup()->shared_from_this();
|
712
718
|
|
713
719
|
// Get from /bar and keep its session open.
|
714
720
|
options.appRoot = "/bar";
|
@@ -834,7 +840,7 @@ namespace tut {
|
|
834
840
|
options2.appRoot = "bar";
|
835
841
|
options2.noop = true;
|
836
842
|
SystemTime::force(2);
|
837
|
-
GroupPtr barGroup = pool->get(options2, &ticket)->getGroup();
|
843
|
+
GroupPtr barGroup = pool->get(options2, &ticket)->getGroup()->shared_from_this();
|
838
844
|
{
|
839
845
|
LockGuard l(pool->syncher);
|
840
846
|
ensure_equals("(1)", barGroup->spawn(), SR_OK);
|
@@ -862,7 +868,7 @@ namespace tut {
|
|
862
868
|
LockGuard l(pool->syncher);
|
863
869
|
vector<ProcessPtr> processes = pool->getProcesses(false);
|
864
870
|
if (processes.size() == 1) {
|
865
|
-
GroupPtr group = processes[0]->getGroup();
|
871
|
+
GroupPtr group = processes[0]->getGroup()->shared_from_this();
|
866
872
|
result = group->name == "foo#default";
|
867
873
|
} else {
|
868
874
|
result = false;
|
@@ -924,7 +930,7 @@ namespace tut {
|
|
924
930
|
LockGuard l(pool->syncher);
|
925
931
|
vector<ProcessPtr> processes = pool->getProcesses(false);
|
926
932
|
if (processes.size() == 1) {
|
927
|
-
GroupPtr group = processes[0]->getGroup();
|
933
|
+
GroupPtr group = processes[0]->getGroup()->shared_from_this();
|
928
934
|
result = group->name == "foo#default";
|
929
935
|
} else {
|
930
936
|
result = false;
|
@@ -953,8 +959,8 @@ namespace tut {
|
|
953
959
|
result = number == 1;
|
954
960
|
);
|
955
961
|
|
956
|
-
ProcessPtr process = currentSession->getProcess();
|
957
|
-
pool->detachProcess(
|
962
|
+
ProcessPtr process = currentSession->getProcess()->shared_from_this();
|
963
|
+
pool->detachProcess(process);
|
958
964
|
{
|
959
965
|
LockGuard l(pool->syncher);
|
960
966
|
ensure(process->enabled == Process::DETACHED);
|
@@ -988,15 +994,15 @@ namespace tut {
|
|
988
994
|
|
989
995
|
{
|
990
996
|
LockGuard l(pool->syncher);
|
991
|
-
ensure_equals(pool->superGroups.
|
997
|
+
ensure_equals(pool->superGroups.lookupCopy("test")->defaultGroup->getWaitlist.size(), 1u);
|
992
998
|
}
|
993
999
|
|
994
|
-
pool->detachProcess(session1->getProcess());
|
1000
|
+
pool->detachProcess(session1->getProcess()->shared_from_this());
|
995
1001
|
{
|
996
1002
|
LockGuard l(pool->syncher);
|
997
|
-
ensure(pool->superGroups.
|
998
|
-
ensure_equals(pool->superGroups.
|
999
|
-
ensure_equals(pool->superGroups.
|
1003
|
+
ensure(pool->superGroups.lookupCopy("test")->defaultGroup->spawning());
|
1004
|
+
ensure_equals(pool->superGroups.lookupCopy("test")->defaultGroup->enabledCount, 0);
|
1005
|
+
ensure_equals(pool->superGroups.lookupCopy("test")->defaultGroup->getWaitlist.size(), 1u);
|
1000
1006
|
}
|
1001
1007
|
|
1002
1008
|
EVENTUALLY(5,
|
@@ -1036,10 +1042,10 @@ namespace tut {
|
|
1036
1042
|
);
|
1037
1043
|
SessionPtr session1 = currentSession;
|
1038
1044
|
currentSession.reset();
|
1039
|
-
pool->detachProcess(session1->getProcess());
|
1045
|
+
pool->detachProcess(session1->getProcess()->shared_from_this());
|
1040
1046
|
{
|
1041
1047
|
LockGuard l(pool->syncher);
|
1042
|
-
ensure(pool->superGroups.
|
1048
|
+
ensure(pool->superGroups.lookupCopy("test2") != NULL);
|
1043
1049
|
ensure_equals(pool->getWaitlist.size(), 0u);
|
1044
1050
|
}
|
1045
1051
|
EVENTUALLY(5,
|
@@ -1055,9 +1061,9 @@ namespace tut {
|
|
1055
1061
|
EVENTUALLY(5,
|
1056
1062
|
result = number == 1;
|
1057
1063
|
);
|
1058
|
-
ProcessPtr process = currentSession->getProcess();
|
1064
|
+
ProcessPtr process = currentSession->getProcess()->shared_from_this();
|
1059
1065
|
currentSession.reset();
|
1060
|
-
SuperGroupPtr superGroup = process->getSuperGroup();
|
1066
|
+
SuperGroupPtr superGroup = process->getSuperGroup()->shared_from_this();
|
1061
1067
|
pool->detachProcess(process);
|
1062
1068
|
LockGuard l(pool->syncher);
|
1063
1069
|
ensure_equals(pool->superGroups.size(), 1u);
|
@@ -1072,7 +1078,7 @@ namespace tut {
|
|
1072
1078
|
options.spawnMethod = "direct";
|
1073
1079
|
options.minProcesses = 0;
|
1074
1080
|
SessionPtr session = pool->get(options, &ticket);
|
1075
|
-
ProcessPtr process = session->getProcess();
|
1081
|
+
ProcessPtr process = session->getProcess()->shared_from_this();
|
1076
1082
|
|
1077
1083
|
ensure(pool->detachProcess(process));
|
1078
1084
|
{
|
@@ -1100,7 +1106,7 @@ namespace tut {
|
|
1100
1106
|
Options options = createOptions();
|
1101
1107
|
options.spawnMethod = "direct";
|
1102
1108
|
options.minProcesses = 0;
|
1103
|
-
ProcessPtr process = pool->get(options, &ticket)->getProcess();
|
1109
|
+
ProcessPtr process = pool->get(options, &ticket)->getProcess()->shared_from_this();
|
1104
1110
|
|
1105
1111
|
ScopeGuard g(boost::bind(::kill, process->pid, SIGCONT));
|
1106
1112
|
kill(process->pid, SIGSTOP);
|
@@ -1150,17 +1156,22 @@ namespace tut {
|
|
1150
1156
|
result = number == 1;
|
1151
1157
|
);
|
1152
1158
|
|
1153
|
-
ProcessPtr process = currentSession->getProcess();
|
1154
|
-
pool->detachProcess(
|
1159
|
+
ProcessPtr process = currentSession->getProcess()->shared_from_this();
|
1160
|
+
pool->detachProcess(process);
|
1155
1161
|
debug->debugger->recv("About to start detached processes checker");
|
1156
1162
|
{
|
1157
1163
|
LockGuard l(pool->syncher);
|
1158
1164
|
ensure(process->enabled == Process::DETACHED);
|
1159
1165
|
}
|
1160
1166
|
|
1161
|
-
|
1167
|
+
// detachProcess() will spawn a new process. Prevent it from being
|
1168
|
+
// spawned too soon.
|
1169
|
+
debug->spawning = true;
|
1170
|
+
|
1171
|
+
pool->detachProcess(process);
|
1162
1172
|
debug->messages->send("Proceed with starting detached processes checker");
|
1163
1173
|
debug->messages->send("Proceed with starting detached processes checker");
|
1174
|
+
debug->messages->send("Proceed with spawn loop iteration 2");
|
1164
1175
|
|
1165
1176
|
EVENTUALLY(5,
|
1166
1177
|
result = pool->getProcessCount() == 0;
|
@@ -1179,7 +1190,8 @@ namespace tut {
|
|
1179
1190
|
ensureMinProcesses(2);
|
1180
1191
|
vector<ProcessPtr> processes = pool->getProcesses();
|
1181
1192
|
ensure_equals("Disabling succeeds",
|
1182
|
-
pool->disableProcess(processes[0]->gupid
|
1193
|
+
pool->disableProcess(StaticString(processes[0]->gupid,
|
1194
|
+
processes[0]->gupidSize)), DR_SUCCESS);
|
1183
1195
|
|
1184
1196
|
LockGuard l(pool->syncher);
|
1185
1197
|
ensure(processes[0]->isAlive());
|
@@ -1205,7 +1217,7 @@ namespace tut {
|
|
1205
1217
|
spawnerConfig->spawnTime = 60000;
|
1206
1218
|
AtomicInt code = -1;
|
1207
1219
|
TempThread thr(boost::bind(&ApplicationPool2_PoolTest::disableProcess,
|
1208
|
-
this, session->getProcess(), &code));
|
1220
|
+
this, session->getProcess()->shared_from_this(), &code));
|
1209
1221
|
EVENTUALLY2(100, 1,
|
1210
1222
|
result = pool->isSpawning();
|
1211
1223
|
);
|
@@ -1228,7 +1240,8 @@ namespace tut {
|
|
1228
1240
|
vector<ProcessPtr> processes = pool->getProcesses();
|
1229
1241
|
ensure_equals("(1)", processes.size(), 1u);
|
1230
1242
|
|
1231
|
-
DisableResult result = pool->disableProcess(
|
1243
|
+
DisableResult result = pool->disableProcess(StaticString(
|
1244
|
+
processes[0]->gupid, processes[0]->gupidSize));
|
1232
1245
|
ensure_equals("(2)", result, DR_ERROR);
|
1233
1246
|
ensure_equals("(3)", pool->getProcessCount(), 1u);
|
1234
1247
|
}
|
@@ -1244,14 +1257,16 @@ namespace tut {
|
|
1244
1257
|
SessionPtr session1 = pool->get(options, &ticket);
|
1245
1258
|
SessionPtr session2 = pool->get(options, &ticket);
|
1246
1259
|
ensure_equals(pool->getProcessCount(), 2u);
|
1247
|
-
GroupPtr group = session1->getGroup();
|
1260
|
+
GroupPtr group = session1->getGroup()->shared_from_this();
|
1261
|
+
ProcessPtr process1 = session1->getProcess()->shared_from_this();
|
1262
|
+
ProcessPtr process2 = session2->getProcess()->shared_from_this();
|
1248
1263
|
|
1249
|
-
AtomicInt code1 = -1, code2 = -
|
1264
|
+
AtomicInt code1 = -1, code2 = -2;
|
1250
1265
|
TempThread thr(boost::bind(&ApplicationPool2_PoolTest::disableProcess,
|
1251
|
-
this,
|
1266
|
+
this, process1, &code1));
|
1252
1267
|
TempThread thr2(boost::bind(&ApplicationPool2_PoolTest::disableProcess,
|
1253
|
-
this,
|
1254
|
-
EVENTUALLY(
|
1268
|
+
this, process2, &code2));
|
1269
|
+
EVENTUALLY(5,
|
1255
1270
|
LockGuard l(pool->syncher);
|
1256
1271
|
result = group->enabledCount == 0
|
1257
1272
|
&& group->disablingCount == 2
|
@@ -1260,7 +1275,7 @@ namespace tut {
|
|
1260
1275
|
session1.reset();
|
1261
1276
|
session2.reset();
|
1262
1277
|
SHOULD_NEVER_HAPPEN(20,
|
1263
|
-
result = code1 != -1 || code2 != -
|
1278
|
+
result = code1 != -1 || code2 != -2;
|
1264
1279
|
);
|
1265
1280
|
|
1266
1281
|
debug->messages->send("Proceed with spawn loop iteration 3");
|
@@ -1294,11 +1309,11 @@ namespace tut {
|
|
1294
1309
|
|
1295
1310
|
AtomicInt code1 = -1, code2 = -1;
|
1296
1311
|
TempThread thr(boost::bind(&ApplicationPool2_PoolTest::disableProcess,
|
1297
|
-
this, session1->getProcess(), &code1));
|
1312
|
+
this, session1->getProcess()->shared_from_this(), &code1));
|
1298
1313
|
TempThread thr2(boost::bind(&ApplicationPool2_PoolTest::disableProcess,
|
1299
|
-
this, session2->getProcess(), &code2));
|
1314
|
+
this, session2->getProcess()->shared_from_this(), &code2));
|
1300
1315
|
EVENTUALLY(2,
|
1301
|
-
GroupPtr group = session1->getGroup();
|
1316
|
+
GroupPtr group = session1->getGroup()->shared_from_this();
|
1302
1317
|
LockGuard l(pool->syncher);
|
1303
1318
|
result = group->enabledCount == 0
|
1304
1319
|
&& group->disablingCount == 2
|
@@ -1308,7 +1323,7 @@ namespace tut {
|
|
1308
1323
|
result = code1 != -1 || code2 != -1;
|
1309
1324
|
);
|
1310
1325
|
|
1311
|
-
setLogLevel(
|
1326
|
+
setLogLevel(LVL_CRIT);
|
1312
1327
|
debug->messages->send("Fail spawn loop iteration 3");
|
1313
1328
|
EVENTUALLY(5,
|
1314
1329
|
result = code1 == DR_ERROR;
|
@@ -1317,7 +1332,7 @@ namespace tut {
|
|
1317
1332
|
result = code2 == DR_ERROR;
|
1318
1333
|
);
|
1319
1334
|
{
|
1320
|
-
GroupPtr group = session1->getGroup();
|
1335
|
+
GroupPtr group = session1->getGroup()->shared_from_this();
|
1321
1336
|
LockGuard l(pool->syncher);
|
1322
1337
|
ensure_equals(group->enabledCount, 2);
|
1323
1338
|
ensure_equals(group->disablingCount, 0);
|
@@ -1348,12 +1363,12 @@ namespace tut {
|
|
1348
1363
|
|
1349
1364
|
AtomicInt code = -1;
|
1350
1365
|
TempThread thr(boost::bind(&ApplicationPool2_PoolTest::disableProcess,
|
1351
|
-
this, session->getProcess(), &code));
|
1366
|
+
this, session->getProcess()->shared_from_this(), &code));
|
1352
1367
|
SHOULD_NEVER_HAPPEN(100,
|
1353
1368
|
result = code != -1;
|
1354
1369
|
);
|
1355
1370
|
session.reset();
|
1356
|
-
EVENTUALLY(
|
1371
|
+
EVENTUALLY(5,
|
1357
1372
|
result = code != -1;
|
1358
1373
|
);
|
1359
1374
|
ensure_equals(code, (int) DR_SUCCESS);
|
@@ -1372,12 +1387,13 @@ namespace tut {
|
|
1372
1387
|
|
1373
1388
|
vector<ProcessPtr> processes = pool->getProcesses();
|
1374
1389
|
ensure_equals(processes.size(), 2u);
|
1375
|
-
DisableResult result = pool->disableProcess(
|
1390
|
+
DisableResult result = pool->disableProcess(
|
1391
|
+
StaticString(processes[0]->gupid, processes[0]->gupidSize));
|
1376
1392
|
ensure_equals(result, DR_SUCCESS);
|
1377
1393
|
|
1378
1394
|
{
|
1379
1395
|
ScopedLock l(pool->syncher);
|
1380
|
-
GroupPtr group = processes[0]->getGroup();
|
1396
|
+
GroupPtr group = processes[0]->getGroup()->shared_from_this();
|
1381
1397
|
ensure_equals(group->enabledCount, 1);
|
1382
1398
|
ensure_equals(group->disablingCount, 0);
|
1383
1399
|
ensure_equals(group->disabledCount, 1);
|
@@ -1443,9 +1459,11 @@ namespace tut {
|
|
1443
1459
|
EVENTUALLY(5,
|
1444
1460
|
result = number == 1;
|
1445
1461
|
);
|
1446
|
-
string gupid
|
1462
|
+
string gupid(currentSession->getProcess()->gupid,
|
1463
|
+
currentSession->getProcess()->gupidSize);
|
1447
1464
|
ensure(!gupid.empty());
|
1448
|
-
ensure_equals(currentSession->getProcess(),
|
1465
|
+
ensure_equals(currentSession->getProcess(),
|
1466
|
+
pool->findProcessByGupid(gupid).get());
|
1449
1467
|
}
|
1450
1468
|
|
1451
1469
|
TEST_METHOD(63) {
|
@@ -1514,6 +1532,7 @@ namespace tut {
|
|
1514
1532
|
options.appType = "wsgi";
|
1515
1533
|
options.startupFile = "passenger_wsgi.py";
|
1516
1534
|
options.spawnMethod = "direct";
|
1535
|
+
options.statThrottleRate = 0;
|
1517
1536
|
pool->setMax(1);
|
1518
1537
|
|
1519
1538
|
// Send normal request.
|
@@ -1556,7 +1575,7 @@ namespace tut {
|
|
1556
1575
|
"sys.stderr.write('Something went wrong!')\n"
|
1557
1576
|
"exit(1)\n");
|
1558
1577
|
|
1559
|
-
setLogLevel(
|
1578
|
+
setLogLevel(LVL_CRIT);
|
1560
1579
|
pool->asyncGet(options, callback);
|
1561
1580
|
EVENTUALLY(5,
|
1562
1581
|
result = number == 1;
|
@@ -1595,7 +1614,7 @@ namespace tut {
|
|
1595
1614
|
" sys.stderr.write('Something went wrong!')\n"
|
1596
1615
|
" exit(1)\n");
|
1597
1616
|
|
1598
|
-
setLogLevel(
|
1617
|
+
setLogLevel(LVL_CRIT);
|
1599
1618
|
pool->asyncGet(options, callback);
|
1600
1619
|
EVENTUALLY(5,
|
1601
1620
|
result = number == 1;
|
@@ -1664,8 +1683,8 @@ namespace tut {
|
|
1664
1683
|
result = number == 3;
|
1665
1684
|
);
|
1666
1685
|
ensure_equals(pool->getProcessCount(), 2u);
|
1667
|
-
SuperGroupPtr superGroup1 = pool->superGroups.
|
1668
|
-
SuperGroupPtr superGroup2 = pool->superGroups.
|
1686
|
+
SuperGroupPtr superGroup1 = pool->superGroups.lookupCopy("stub/rack");
|
1687
|
+
SuperGroupPtr superGroup2 = pool->superGroups.lookupCopy("stub/rack");
|
1669
1688
|
ensure_equals(superGroup1->defaultGroup->enabledCount, 1);
|
1670
1689
|
ensure_equals(superGroup2->defaultGroup->enabledCount, 1);
|
1671
1690
|
}
|
@@ -1705,6 +1724,7 @@ namespace tut {
|
|
1705
1724
|
Options options = createOptions();
|
1706
1725
|
options.appRoot = "tmp.wsgi";
|
1707
1726
|
options.minProcesses = 3;
|
1727
|
+
options.statThrottleRate = 0;
|
1708
1728
|
|
1709
1729
|
// Trigger spawn loop and freeze it at the point where it's spawning
|
1710
1730
|
// the second process.
|
@@ -1749,6 +1769,7 @@ namespace tut {
|
|
1749
1769
|
Options options = createOptions();
|
1750
1770
|
options.appRoot = "tmp.wsgi";
|
1751
1771
|
options.minProcesses = 2;
|
1772
|
+
options.statThrottleRate = 0;
|
1752
1773
|
pool->asyncGet(options, callback);
|
1753
1774
|
EVENTUALLY(2,
|
1754
1775
|
result = pool->getProcessCount() == 2;
|
@@ -1802,7 +1823,7 @@ namespace tut {
|
|
1802
1823
|
"exit(1)\n");
|
1803
1824
|
|
1804
1825
|
retainSessions = true;
|
1805
|
-
setLogLevel(
|
1826
|
+
setLogLevel(LVL_CRIT);
|
1806
1827
|
pool->asyncGet(options, callback);
|
1807
1828
|
pool->asyncGet(options, callback);
|
1808
1829
|
pool->asyncGet(options, callback);
|
@@ -1848,7 +1869,7 @@ namespace tut {
|
|
1848
1869
|
"sys.stderr.write('Something went wrong!')\n"
|
1849
1870
|
"exit(1)\n");
|
1850
1871
|
try {
|
1851
|
-
setLogLevel(
|
1872
|
+
setLogLevel(LVL_CRIT);
|
1852
1873
|
currentSession = pool->get(options, &ticket);
|
1853
1874
|
fail("SpawnException expected");
|
1854
1875
|
} catch (const SpawnException &) {
|
@@ -2025,9 +2046,11 @@ namespace tut {
|
|
2025
2046
|
options.appType = "wsgi";
|
2026
2047
|
options.startupFile = "passenger_wsgi.py";
|
2027
2048
|
options.spawnMethod = "direct";
|
2049
|
+
options.statThrottleRate = 0;
|
2028
2050
|
|
2029
2051
|
SessionPtr session = pool->get(options, &ticket);
|
2030
|
-
string gupid
|
2052
|
+
string gupid(session->getProcess()->gupid,
|
2053
|
+
session->getProcess()->gupidSize);
|
2031
2054
|
session.reset();
|
2032
2055
|
pool->detachProcess(gupid);
|
2033
2056
|
touchFile("tmp.wsgi/tmp/restart.txt", 1);
|