passenger 4.0.27 → 4.0.28

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.

Files changed (156) hide show
  1. data.tar.gz.asc +7 -7
  2. data/.gitignore +1 -0
  3. data/NEWS +22 -0
  4. data/build/preprocessor.rb +10 -0
  5. data/build/rpm.rb +74 -65
  6. data/debian.template/rules.template +8 -0
  7. data/dev/copy_boost_headers.rb +11 -2
  8. data/doc/Users guide Apache.idmap.txt +161 -145
  9. data/doc/Users guide Apache.txt +12 -1
  10. data/doc/Users guide Nginx.idmap.txt +142 -126
  11. data/doc/Users guide Nginx.txt +14 -1
  12. data/doc/Users guide Standalone.txt +1 -0
  13. data/doc/users_guide_snippets/environment_variables.txt +1 -1
  14. data/doc/users_guide_snippets/installation.txt +2 -0
  15. data/doc/users_guide_snippets/tips.txt +118 -0
  16. data/ext/apache2/Configuration.cpp +0 -6
  17. data/ext/apache2/Configuration.hpp +0 -5
  18. data/ext/apache2/ConfigurationCommands.cpp +7 -0
  19. data/ext/apache2/ConfigurationFields.hpp +2 -0
  20. data/ext/apache2/ConfigurationSetters.cpp +24 -0
  21. data/ext/apache2/CreateDirConfig.cpp +1 -0
  22. data/ext/apache2/Hooks.cpp +0 -1
  23. data/ext/apache2/MergeDirConfig.cpp +7 -0
  24. data/ext/apache2/SetHeaders.cpp +5 -1
  25. data/ext/boost/cregex.hpp +39 -0
  26. data/ext/boost/libs/regex/src/c_regex_traits.cpp +193 -0
  27. data/ext/boost/libs/regex/src/cpp_regex_traits.cpp +117 -0
  28. data/ext/boost/libs/regex/src/cregex.cpp +660 -0
  29. data/ext/boost/libs/regex/src/instances.cpp +32 -0
  30. data/ext/boost/libs/regex/src/internals.hpp +35 -0
  31. data/ext/boost/libs/regex/src/posix_api.cpp +296 -0
  32. data/ext/boost/libs/regex/src/regex.cpp +227 -0
  33. data/ext/boost/libs/regex/src/regex_debug.cpp +59 -0
  34. data/ext/boost/libs/regex/src/regex_raw_buffer.cpp +72 -0
  35. data/ext/boost/libs/regex/src/regex_traits_defaults.cpp +692 -0
  36. data/ext/boost/libs/regex/src/static_mutex.cpp +179 -0
  37. data/ext/boost/libs/regex/src/wc_regex_traits.cpp +301 -0
  38. data/ext/boost/libs/regex/src/wide_posix_api.cpp +315 -0
  39. data/ext/boost/libs/regex/src/winstances.cpp +35 -0
  40. data/ext/boost/regex.h +100 -0
  41. data/ext/boost/regex.hpp +37 -0
  42. data/ext/boost/regex/concepts.hpp +1128 -0
  43. data/ext/boost/regex/config.hpp +435 -0
  44. data/ext/boost/regex/config/borland.hpp +72 -0
  45. data/ext/boost/regex/config/cwchar.hpp +207 -0
  46. data/ext/boost/regex/mfc.hpp +190 -0
  47. data/ext/boost/regex/pattern_except.hpp +100 -0
  48. data/ext/boost/regex/pending/object_cache.hpp +165 -0
  49. data/ext/boost/regex/pending/static_mutex.hpp +179 -0
  50. data/ext/boost/regex/pending/unicode_iterator.hpp +776 -0
  51. data/ext/boost/regex/regex_traits.hpp +35 -0
  52. data/ext/boost/regex/user.hpp +93 -0
  53. data/ext/boost/regex/v4/basic_regex.hpp +782 -0
  54. data/ext/boost/regex/v4/basic_regex_creator.hpp +1571 -0
  55. data/ext/boost/regex/v4/basic_regex_parser.hpp +2874 -0
  56. data/ext/boost/regex/v4/c_regex_traits.hpp +211 -0
  57. data/ext/boost/regex/v4/char_regex_traits.hpp +81 -0
  58. data/ext/boost/regex/v4/cpp_regex_traits.hpp +1099 -0
  59. data/ext/boost/regex/v4/cregex.hpp +330 -0
  60. data/ext/boost/regex/v4/error_type.hpp +59 -0
  61. data/ext/boost/regex/v4/fileiter.hpp +455 -0
  62. data/ext/boost/regex/v4/instances.hpp +222 -0
  63. data/ext/boost/regex/v4/iterator_category.hpp +91 -0
  64. data/ext/boost/regex/v4/iterator_traits.hpp +135 -0
  65. data/ext/boost/regex/v4/match_flags.hpp +138 -0
  66. data/ext/boost/regex/v4/match_results.hpp +702 -0
  67. data/ext/boost/regex/v4/mem_block_cache.hpp +99 -0
  68. data/ext/boost/regex/v4/perl_matcher.hpp +587 -0
  69. data/ext/boost/regex/v4/perl_matcher_common.hpp +996 -0
  70. data/ext/boost/regex/v4/perl_matcher_non_recursive.hpp +1642 -0
  71. data/ext/boost/regex/v4/perl_matcher_recursive.hpp +991 -0
  72. data/ext/boost/regex/v4/primary_transform.hpp +146 -0
  73. data/ext/boost/regex/v4/protected_call.hpp +81 -0
  74. data/ext/boost/regex/v4/regbase.hpp +180 -0
  75. data/ext/boost/regex/v4/regex.hpp +202 -0
  76. data/ext/boost/regex/v4/regex_format.hpp +1156 -0
  77. data/ext/boost/regex/v4/regex_fwd.hpp +73 -0
  78. data/ext/boost/regex/v4/regex_grep.hpp +155 -0
  79. data/ext/boost/regex/v4/regex_iterator.hpp +201 -0
  80. data/ext/boost/regex/v4/regex_match.hpp +382 -0
  81. data/ext/boost/regex/v4/regex_merge.hpp +93 -0
  82. data/ext/boost/regex/v4/regex_raw_buffer.hpp +210 -0
  83. data/ext/boost/regex/v4/regex_replace.hpp +99 -0
  84. data/ext/boost/regex/v4/regex_search.hpp +217 -0
  85. data/ext/boost/regex/v4/regex_split.hpp +172 -0
  86. data/ext/boost/regex/v4/regex_token_iterator.hpp +342 -0
  87. data/ext/boost/regex/v4/regex_traits.hpp +189 -0
  88. data/ext/boost/regex/v4/regex_traits_defaults.hpp +371 -0
  89. data/ext/boost/regex/v4/regex_workaround.hpp +232 -0
  90. data/ext/boost/regex/v4/states.hpp +301 -0
  91. data/ext/boost/regex/v4/sub_match.hpp +512 -0
  92. data/ext/boost/regex/v4/syntax_type.hpp +105 -0
  93. data/ext/boost/regex/v4/u32regex_iterator.hpp +193 -0
  94. data/ext/boost/regex/v4/u32regex_token_iterator.hpp +377 -0
  95. data/ext/boost/regex/v4/w32_regex_traits.hpp +741 -0
  96. data/ext/boost/regex_fwd.hpp +33 -0
  97. data/ext/common/AgentsStarter.h +0 -11
  98. data/ext/common/ApplicationPool2/Common.h +1 -7
  99. data/ext/common/ApplicationPool2/DirectSpawner.h +3 -3
  100. data/ext/common/ApplicationPool2/Group.h +166 -69
  101. data/ext/common/ApplicationPool2/Implementation.cpp +55 -10
  102. data/ext/common/ApplicationPool2/Options.h +45 -10
  103. data/ext/common/ApplicationPool2/PipeWatcher.h +1 -2
  104. data/ext/common/ApplicationPool2/Pool.h +29 -7
  105. data/ext/common/ApplicationPool2/Process.h +22 -3
  106. data/ext/common/ApplicationPool2/Session.h +1 -0
  107. data/ext/common/ApplicationPool2/SmartSpawner.h +5 -10
  108. data/ext/common/ApplicationPool2/Spawner.h +10 -15
  109. data/ext/common/ApplicationPool2/SuperGroup.h +10 -9
  110. data/ext/common/Constants.h +1 -3
  111. data/ext/common/Hooks.h +193 -0
  112. data/ext/common/Logging.cpp +67 -2
  113. data/ext/common/Logging.h +23 -1
  114. data/ext/common/Utils.cpp +0 -21
  115. data/ext/common/Utils.h +0 -42
  116. data/ext/common/Utils/CachedFileStat.hpp +1 -1
  117. data/ext/common/Utils/StrIntUtils.h +61 -14
  118. data/ext/common/Utils/StringMap.h +4 -0
  119. data/ext/common/agents/HelperAgent/AgentOptions.h +4 -4
  120. data/ext/common/agents/HelperAgent/Main.cpp +2 -3
  121. data/ext/common/agents/HelperAgent/RequestHandler.h +65 -2
  122. data/ext/common/agents/LoggingAgent/FilterSupport.h +3 -1
  123. data/ext/common/agents/Watchdog/Main.cpp +8 -72
  124. data/ext/nginx/CacheLocationConfig.c +29 -1
  125. data/ext/nginx/Configuration.c +0 -12
  126. data/ext/nginx/Configuration.h +0 -1
  127. data/ext/nginx/ConfigurationCommands.c +10 -0
  128. data/ext/nginx/ConfigurationFields.h +2 -0
  129. data/ext/nginx/CreateLocationConfig.c +4 -0
  130. data/ext/nginx/MergeLocationConfig.c +6 -0
  131. data/ext/oxt/system_calls.cpp +7 -1
  132. data/ext/oxt/system_calls.hpp +7 -7
  133. data/helper-scripts/node-loader.js +6 -2
  134. data/helper-scripts/rack-loader.rb +5 -2
  135. data/helper-scripts/rack-preloader.rb +5 -2
  136. data/lib/phusion_passenger.rb +1 -1
  137. data/lib/phusion_passenger/apache2/config_options.rb +8 -0
  138. data/lib/phusion_passenger/constants.rb +0 -1
  139. data/lib/phusion_passenger/nginx/config_options.rb +9 -2
  140. data/lib/phusion_passenger/platform_info/apache.rb +2 -1
  141. data/lib/phusion_passenger/platform_info/compiler.rb +15 -1
  142. data/lib/phusion_passenger/platform_info/cxx_portability.rb +2 -0
  143. data/node_lib/phusion_passenger/httplib_emulation.js +85 -17
  144. data/node_lib/phusion_passenger/request_handler.js +10 -2
  145. data/rpm/Vagrantfile +32 -0
  146. data/rpm/get_distro_id.py +4 -0
  147. data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +2 -2
  148. data/test/cxx/ApplicationPool2/PoolTest.cpp +60 -9
  149. data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +2 -6
  150. data/test/cxx/CachedFileStatTest.cpp +5 -5
  151. data/test/cxx/RequestHandlerTest.cpp +3 -6
  152. data/test/cxx/UtilsTest.cpp +30 -0
  153. data/test/node/httplib_emulation_spec.js +491 -0
  154. data/test/node/spec_helper.js +25 -0
  155. metadata +78 -2
  156. metadata.gz.asc +7 -7
@@ -1,27 +1,52 @@
1
1
  var util = require('util');
2
2
  var EventEmitter = require('events').EventEmitter;
3
+ var assert = require('assert');
3
4
  require('should');
4
5
 
5
6
 
6
7
  function FakeStream() {
7
8
  EventEmitter.call(this);
8
9
  this.paused = false;
10
+ this.connection = {};
9
11
  }
10
12
 
11
13
  util.inherits(FakeStream, EventEmitter);
12
14
 
13
15
  FakeStream.prototype.resume = function() {
14
16
  this.paused = false;
17
+ this.flowing = true;
15
18
  }
16
19
 
17
20
  FakeStream.prototype.pause = function() {
18
21
  this.paused = true;
22
+ this.flowing = false;
23
+ }
24
+
25
+ FakeStream.prototype.on = function(event, listener) {
26
+ EventEmitter.prototype.on.call(this, event, listener);
27
+ // If listening to data, and it has not explicitly been paused,
28
+ // then call resume to start the flow of data.
29
+ if (event == 'data' && this.flowing !== false) {
30
+ this.resume();
31
+ }
19
32
  }
20
33
 
21
34
  exports.FakeStream = FakeStream;
22
35
 
23
36
 
24
37
  var Helper = {
38
+ eventually: function(timeout, check, done) {
39
+ var startTime = new Date();
40
+ var id = setInterval(function() {
41
+ if (check()) {
42
+ clearInterval(id);
43
+ done();
44
+ } else if (new Date() - startTime > timeout) {
45
+ clearInterval(id);
46
+ assert.fail("Something which should eventually happen never happened");
47
+ }
48
+ }, 10);
49
+ }
25
50
  };
26
51
 
27
52
  exports.Helper = Helper;
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: passenger
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.27
4
+ version: 4.0.28
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-12-05 00:00:00.000000000 Z
12
+ date: 2013-12-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -306,6 +306,7 @@ files:
306
306
  - rpm/doc/footer.shtml
307
307
  - rpm/doc/header.shtml
308
308
  - rpm/doc/README.nginx-alternatives
309
+ - rpm/get_distro_id.py
309
310
  - rpm/nginx-alternatives.spec
310
311
  - rpm/passenger-release.spec
311
312
  - rpm/passenger.spec
@@ -322,6 +323,7 @@ files:
322
323
  - rpm/release/mocksetup-first.sh
323
324
  - rpm/release/mocksetup.sh
324
325
  - rpm/release/RPM-GPG-KEY-stealthymonkeys
326
+ - rpm/Vagrantfile
325
327
  - helper-scripts/backtrace-sanitizer.rb
326
328
  - helper-scripts/classic-rails-loader.rb
327
329
  - helper-scripts/classic-rails-preloader.rb
@@ -403,6 +405,7 @@ files:
403
405
  - ext/common/EventedServer.h
404
406
  - ext/common/Exceptions.h
405
407
  - ext/common/FileDescriptor.h
408
+ - ext/common/Hooks.h
406
409
  - ext/common/Logging.h
407
410
  - ext/common/MessageClient.h
408
411
  - ext/common/MessageReadersWriters.h
@@ -643,6 +646,7 @@ files:
643
646
  - ext/boost/config/warning_disable.hpp
644
647
  - ext/boost/config.hpp
645
648
  - ext/boost/container/container_fwd.hpp
649
+ - ext/boost/cregex.hpp
646
650
  - ext/boost/cstdint.hpp
647
651
  - ext/boost/current_function.hpp
648
652
  - ext/boost/date_time/adjust_functors.hpp
@@ -801,6 +805,20 @@ files:
801
805
  - ext/boost/iterator.hpp
802
806
  - ext/boost/lexical_cast.hpp
803
807
  - ext/boost/libs/atomic/lockpool.cpp
808
+ - ext/boost/libs/regex/src/c_regex_traits.cpp
809
+ - ext/boost/libs/regex/src/cpp_regex_traits.cpp
810
+ - ext/boost/libs/regex/src/cregex.cpp
811
+ - ext/boost/libs/regex/src/instances.cpp
812
+ - ext/boost/libs/regex/src/internals.hpp
813
+ - ext/boost/libs/regex/src/posix_api.cpp
814
+ - ext/boost/libs/regex/src/regex.cpp
815
+ - ext/boost/libs/regex/src/regex_debug.cpp
816
+ - ext/boost/libs/regex/src/regex_raw_buffer.cpp
817
+ - ext/boost/libs/regex/src/regex_traits_defaults.cpp
818
+ - ext/boost/libs/regex/src/static_mutex.cpp
819
+ - ext/boost/libs/regex/src/wc_regex_traits.cpp
820
+ - ext/boost/libs/regex/src/wide_posix_api.cpp
821
+ - ext/boost/libs/regex/src/winstances.cpp
804
822
  - ext/boost/libs/system/src/error_code.cpp
805
823
  - ext/boost/libs/system/src/local_free_on_destruction.hpp
806
824
  - ext/boost/libs/thread/src/future.cpp
@@ -2025,6 +2043,63 @@ files:
2025
2043
  - ext/boost/ratio/ratio.hpp
2026
2044
  - ext/boost/ratio/ratio_fwd.hpp
2027
2045
  - ext/boost/ref.hpp
2046
+ - ext/boost/regex/concepts.hpp
2047
+ - ext/boost/regex/config/borland.hpp
2048
+ - ext/boost/regex/config/cwchar.hpp
2049
+ - ext/boost/regex/config.hpp
2050
+ - ext/boost/regex/mfc.hpp
2051
+ - ext/boost/regex/pattern_except.hpp
2052
+ - ext/boost/regex/pending/object_cache.hpp
2053
+ - ext/boost/regex/pending/static_mutex.hpp
2054
+ - ext/boost/regex/pending/unicode_iterator.hpp
2055
+ - ext/boost/regex/regex_traits.hpp
2056
+ - ext/boost/regex/user.hpp
2057
+ - ext/boost/regex/v4/basic_regex.hpp
2058
+ - ext/boost/regex/v4/basic_regex_creator.hpp
2059
+ - ext/boost/regex/v4/basic_regex_parser.hpp
2060
+ - ext/boost/regex/v4/c_regex_traits.hpp
2061
+ - ext/boost/regex/v4/char_regex_traits.hpp
2062
+ - ext/boost/regex/v4/cpp_regex_traits.hpp
2063
+ - ext/boost/regex/v4/cregex.hpp
2064
+ - ext/boost/regex/v4/error_type.hpp
2065
+ - ext/boost/regex/v4/fileiter.hpp
2066
+ - ext/boost/regex/v4/instances.hpp
2067
+ - ext/boost/regex/v4/iterator_category.hpp
2068
+ - ext/boost/regex/v4/iterator_traits.hpp
2069
+ - ext/boost/regex/v4/match_flags.hpp
2070
+ - ext/boost/regex/v4/match_results.hpp
2071
+ - ext/boost/regex/v4/mem_block_cache.hpp
2072
+ - ext/boost/regex/v4/perl_matcher.hpp
2073
+ - ext/boost/regex/v4/perl_matcher_common.hpp
2074
+ - ext/boost/regex/v4/perl_matcher_non_recursive.hpp
2075
+ - ext/boost/regex/v4/perl_matcher_recursive.hpp
2076
+ - ext/boost/regex/v4/primary_transform.hpp
2077
+ - ext/boost/regex/v4/protected_call.hpp
2078
+ - ext/boost/regex/v4/regbase.hpp
2079
+ - ext/boost/regex/v4/regex.hpp
2080
+ - ext/boost/regex/v4/regex_format.hpp
2081
+ - ext/boost/regex/v4/regex_fwd.hpp
2082
+ - ext/boost/regex/v4/regex_grep.hpp
2083
+ - ext/boost/regex/v4/regex_iterator.hpp
2084
+ - ext/boost/regex/v4/regex_match.hpp
2085
+ - ext/boost/regex/v4/regex_merge.hpp
2086
+ - ext/boost/regex/v4/regex_raw_buffer.hpp
2087
+ - ext/boost/regex/v4/regex_replace.hpp
2088
+ - ext/boost/regex/v4/regex_search.hpp
2089
+ - ext/boost/regex/v4/regex_split.hpp
2090
+ - ext/boost/regex/v4/regex_token_iterator.hpp
2091
+ - ext/boost/regex/v4/regex_traits.hpp
2092
+ - ext/boost/regex/v4/regex_traits_defaults.hpp
2093
+ - ext/boost/regex/v4/regex_workaround.hpp
2094
+ - ext/boost/regex/v4/states.hpp
2095
+ - ext/boost/regex/v4/sub_match.hpp
2096
+ - ext/boost/regex/v4/syntax_type.hpp
2097
+ - ext/boost/regex/v4/u32regex_iterator.hpp
2098
+ - ext/boost/regex/v4/u32regex_token_iterator.hpp
2099
+ - ext/boost/regex/v4/w32_regex_traits.hpp
2100
+ - ext/boost/regex.h
2101
+ - ext/boost/regex.hpp
2102
+ - ext/boost/regex_fwd.hpp
2028
2103
  - ext/boost/scoped_array.hpp
2029
2104
  - ext/boost/scoped_ptr.hpp
2030
2105
  - ext/boost/shared_array.hpp
@@ -2509,6 +2584,7 @@ files:
2509
2584
  - test/ruby/utils/hosts_file_parser.rb
2510
2585
  - test/ruby/utils/unseekable_socket_spec.rb
2511
2586
  - test/ruby/utils_spec.rb
2587
+ - test/node/httplib_emulation_spec.js
2512
2588
  - test/node/line_reader_spec.js
2513
2589
  - test/node/spec_helper.js
2514
2590
  - test/integration_tests/apache2_tests.rb
metadata.gz.asc CHANGED
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABAgAGBQJSoJfRAAoJECrHRaUKISqM/j0IAJbxv5UWZxTICe0kyJOinOR3
6
- biccIqm1CN9UPHv9RavwralUWLnhXYXeHY3YoXTvl0yXwnoYkO2zDHc/pUn+CXj0
7
- XZYb8+7Nj/iwoYZJiFRTOQnb7CE1d244dEEwE5JL/eSu6H53DIboJtY8Ako2yWBa
8
- zZu4Ijq6Zz8Cv5PIp1+lVa3n4ZSBN5+/rqFYhO9CYwOlI04++CxM36f1LUGh0BkT
9
- ujwIa11aOXjO4HKi1bqRF1dhkK/T7iLy7ZMRWK5G5f+SGVZ78fCN7Fr2w7OfsPPo
10
- xwsiB/cZj/y/+b0ir8AF7icuGuxS9Ixbw7Ru1GvivDY4kghug7X3Vnhx987HKOg=
11
- =NuX6
5
+ iQEcBAABAgAGBQJSqk+mAAoJECrHRaUKISqMEfEH/AkQj1HVp+X6SAtqLxf04I2F
6
+ SdBLamPRIlUFZ7uMpzhCVlEiLkCYTRh4btcpO0CI1p6f22YOlL7oxwLfA8ogM052
7
+ CQvsp0GOZcSXDoAKpT+42lGOP8j3EHQABLkFDtl3z5nXwNLsYZ3Dy8XimqUWpgwF
8
+ KPPonJpAuyBWK5nWtJp9AfbMrFGWXC2Ixl86bEhsQPmS9IvWoxF+5VA47lo9rbo3
9
+ gVX9bIzh6YHoYbCPcQsuKkNgaWjZtpzcpVta3qDRbcRDP3OVsUTn0XGuQZathuwd
10
+ p5TrceY4jlXzpiA2+AWo7rPuTGnXrDtSY62AEiBMQNuefhY7eQO3qMd/8iFaaLs=
11
+ =yRII
12
12
  -----END PGP SIGNATURE-----