passenger 3.0.2 → 3.0.3

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 (220) hide show
  1. data/NEWS +29 -0
  2. data/build/agents.rb +1 -0
  3. data/build/apache2.rb +2 -1
  4. data/build/cxx_tests.rb +7 -0
  5. data/build/rpm.rb +17 -22
  6. data/doc/cxxapi/Constants_8h_source.html +1 -1
  7. data/doc/cxxapi/Exceptions_8h_source.html +18 -4
  8. data/doc/cxxapi/Logging_8h_source.html +332 -262
  9. data/doc/cxxapi/annotated.html +1 -0
  10. data/doc/cxxapi/classes.html +4 -4
  11. data/doc/cxxapi/group__Exceptions.html +2 -0
  12. data/doc/cxxapi/hierarchy.html +1 -0
  13. data/doc/cxxapi/inherit__graph__35.map +1 -3
  14. data/doc/cxxapi/inherit__graph__35.md5 +1 -1
  15. data/doc/cxxapi/inherit__graph__35.png +0 -0
  16. data/doc/cxxapi/inherit__graph__36.map +3 -1
  17. data/doc/cxxapi/inherit__graph__36.md5 +1 -1
  18. data/doc/cxxapi/inherit__graph__36.png +0 -0
  19. data/doc/cxxapi/inherit__graph__37.map +1 -1
  20. data/doc/cxxapi/inherit__graph__37.md5 +1 -1
  21. data/doc/cxxapi/inherit__graph__37.png +0 -0
  22. data/doc/cxxapi/inherit__graph__38.map +1 -1
  23. data/doc/cxxapi/inherit__graph__38.md5 +1 -1
  24. data/doc/cxxapi/inherit__graph__38.png +0 -0
  25. data/doc/cxxapi/inherit__graph__39.map +1 -1
  26. data/doc/cxxapi/inherit__graph__39.md5 +1 -1
  27. data/doc/cxxapi/inherit__graph__39.png +0 -0
  28. data/doc/cxxapi/inherit__graph__40.map +1 -1
  29. data/doc/cxxapi/inherit__graph__40.md5 +1 -1
  30. data/doc/cxxapi/inherit__graph__40.png +0 -0
  31. data/doc/cxxapi/inherits.html +9 -6
  32. data/doc/cxxapi/namespacePassenger.html +2 -0
  33. data/doc/cxxapi/tree.html +2 -0
  34. data/doc/rdoc/classes/ConditionVariable.html +215 -0
  35. data/doc/rdoc/classes/Exception.html +120 -0
  36. data/doc/rdoc/classes/GC.html +113 -0
  37. data/doc/rdoc/classes/IO.html +221 -0
  38. data/doc/rdoc/classes/PhusionPassenger.html +397 -0
  39. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +180 -0
  40. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +647 -0
  41. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +654 -0
  42. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/InvalidPassword.html +92 -0
  43. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +97 -0
  44. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +96 -0
  45. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +97 -0
  46. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +96 -0
  47. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +619 -0
  48. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +142 -0
  49. data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats.html +368 -0
  50. data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats/Process.html +231 -0
  51. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance.html +588 -0
  52. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/CorruptedDirectoryError.html +92 -0
  53. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/GenerationsAbsentError.html +92 -0
  54. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Group.html +147 -0
  55. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Process.html +279 -0
  56. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/RoleDeniedError.html +92 -0
  57. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/StaleDirectoryError.html +92 -0
  58. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Stats.html +123 -0
  59. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/UnsupportedGenerationStructureVersionError.html +92 -0
  60. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger.html +368 -0
  61. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/Log.html +299 -0
  62. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/SharedData.html +206 -0
  63. data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +155 -0
  64. data/doc/rdoc/classes/PhusionPassenger/AppProcess.html +367 -0
  65. data/doc/rdoc/classes/PhusionPassenger/ClassicRails.html +95 -0
  66. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner.html +351 -0
  67. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner/Error.html +98 -0
  68. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/CGIFixed.html +200 -0
  69. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner.html +410 -0
  70. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner/Error.html +98 -0
  71. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/RequestHandler.html +156 -0
  72. data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions.html +115 -0
  73. data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions/AnalyticsLogging.html +202 -0
  74. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +172 -0
  75. data/doc/rdoc/classes/PhusionPassenger/DebugLogging.html +273 -0
  76. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +145 -0
  77. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +162 -0
  78. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +141 -0
  79. data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +92 -0
  80. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +673 -0
  81. data/doc/rdoc/classes/PhusionPassenger/MessageChannel/InvalidHashError.html +92 -0
  82. data/doc/rdoc/classes/PhusionPassenger/MessageClient.html +415 -0
  83. data/doc/rdoc/classes/PhusionPassenger/NativeSupportLoader.html +134 -0
  84. data/doc/rdoc/classes/PhusionPassenger/Packaging.html +129 -0
  85. data/doc/rdoc/classes/PhusionPassenger/PlatformInfo.html +1972 -0
  86. data/doc/rdoc/classes/PhusionPassenger/Plugin.html +237 -0
  87. data/doc/rdoc/classes/PhusionPassenger/Rack.html +91 -0
  88. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +312 -0
  89. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner/Error.html +98 -0
  90. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +218 -0
  91. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions.html +114 -0
  92. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging.html +259 -0
  93. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ACExtension.html +139 -0
  94. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ASBenchmarkableExtension.html +118 -0
  95. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ExceptionLogger.html +135 -0
  96. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +378 -0
  97. data/doc/rdoc/classes/PhusionPassenger/Standalone.html +111 -0
  98. data/doc/rdoc/classes/PhusionPassenger/Standalone/AppFinder.html +252 -0
  99. data/doc/rdoc/classes/PhusionPassenger/Standalone/Command.html +161 -0
  100. data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile.html +368 -0
  101. data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile/DisallowedContextError.html +132 -0
  102. data/doc/rdoc/classes/PhusionPassenger/Standalone/HelpCommand.html +151 -0
  103. data/doc/rdoc/classes/PhusionPassenger/Standalone/Main.html +189 -0
  104. data/doc/rdoc/classes/PhusionPassenger/Standalone/PackageRuntimeCommand.html +177 -0
  105. data/doc/rdoc/classes/PhusionPassenger/Standalone/RuntimeInstaller.html +341 -0
  106. data/doc/rdoc/classes/PhusionPassenger/Standalone/StartCommand.html +203 -0
  107. data/doc/rdoc/classes/PhusionPassenger/Standalone/StatusCommand.html +156 -0
  108. data/doc/rdoc/classes/PhusionPassenger/Standalone/StopCommand.html +168 -0
  109. data/doc/rdoc/classes/PhusionPassenger/Standalone/Utils.html +86 -0
  110. data/doc/rdoc/classes/PhusionPassenger/Standalone/VersionCommand.html +135 -0
  111. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +125 -0
  112. data/doc/rdoc/classes/PhusionPassenger/Utils.html +1543 -0
  113. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher.html +204 -0
  114. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/DirInfo.html +171 -0
  115. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/FileInfo.html +140 -0
  116. data/doc/rdoc/classes/PhusionPassenger/Utils/HostsFileParser.html +260 -0
  117. data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +194 -0
  118. data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html +265 -0
  119. data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html +120 -0
  120. data/doc/rdoc/classes/PhusionPassenger/Utils/UnseekableSocket.html +561 -0
  121. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +140 -0
  122. data/doc/rdoc/classes/PhusionPassenger/WSGI.html +89 -0
  123. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +182 -0
  124. data/doc/rdoc/classes/Process.html +115 -0
  125. data/doc/rdoc/classes/Signal.html +139 -0
  126. data/doc/rdoc/created.rid +1 -0
  127. data/doc/rdoc/files/DEVELOPERS_TXT.html +280 -0
  128. data/doc/rdoc/files/README.html +157 -0
  129. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +130 -0
  130. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +135 -0
  131. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +126 -0
  132. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +128 -0
  133. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/memory_stats_rb.html +126 -0
  134. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/server_instance_rb.html +132 -0
  135. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +122 -0
  136. data/doc/rdoc/files/lib/phusion_passenger/analytics_logger_rb.html +129 -0
  137. data/doc/rdoc/files/lib/phusion_passenger/app_process_rb.html +127 -0
  138. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/application_spawner_rb.html +141 -0
  139. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/cgi_fixed_rb.html +126 -0
  140. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/framework_spawner_rb.html +146 -0
  141. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/request_handler_rb.html +125 -0
  142. data/doc/rdoc/files/lib/phusion_passenger/classic_rails_extensions/init_rb.html +132 -0
  143. data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +126 -0
  144. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +122 -0
  145. data/doc/rdoc/files/lib/phusion_passenger/debug_logging_rb.html +122 -0
  146. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +147 -0
  147. data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +122 -0
  148. data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +127 -0
  149. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +120 -0
  150. data/doc/rdoc/files/lib/phusion_passenger/message_client_rb.html +127 -0
  151. data/doc/rdoc/files/lib/phusion_passenger/native_support_rb.html +132 -0
  152. data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +122 -0
  153. data/doc/rdoc/files/lib/phusion_passenger/platform_info/apache_rb.html +127 -0
  154. data/doc/rdoc/files/lib/phusion_passenger/platform_info/binary_compatibility_rb.html +129 -0
  155. data/doc/rdoc/files/lib/phusion_passenger/platform_info/compiler_rb.html +127 -0
  156. data/doc/rdoc/files/lib/phusion_passenger/platform_info/curl_rb.html +126 -0
  157. data/doc/rdoc/files/lib/phusion_passenger/platform_info/documentation_tools_rb.html +126 -0
  158. data/doc/rdoc/files/lib/phusion_passenger/platform_info/linux_rb.html +126 -0
  159. data/doc/rdoc/files/lib/phusion_passenger/platform_info/operating_system_rb.html +127 -0
  160. data/doc/rdoc/files/lib/phusion_passenger/platform_info/ruby_rb.html +128 -0
  161. data/doc/rdoc/files/lib/phusion_passenger/platform_info/zlib_rb.html +126 -0
  162. data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +122 -0
  163. data/doc/rdoc/files/lib/phusion_passenger/plugin_rb.html +127 -0
  164. data/doc/rdoc/files/lib/phusion_passenger/public_api_rb.html +127 -0
  165. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +137 -0
  166. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +125 -0
  167. data/doc/rdoc/files/lib/phusion_passenger/rails3_extensions/init_rb.html +127 -0
  168. data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +122 -0
  169. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +160 -0
  170. data/doc/rdoc/files/lib/phusion_passenger/standalone/app_finder_rb.html +127 -0
  171. data/doc/rdoc/files/lib/phusion_passenger/standalone/command_rb.html +136 -0
  172. data/doc/rdoc/files/lib/phusion_passenger/standalone/config_file_rb.html +126 -0
  173. data/doc/rdoc/files/lib/phusion_passenger/standalone/help_command_rb.html +126 -0
  174. data/doc/rdoc/files/lib/phusion_passenger/standalone/main_rb.html +126 -0
  175. data/doc/rdoc/files/lib/phusion_passenger/standalone/package_runtime_command_rb.html +127 -0
  176. data/doc/rdoc/files/lib/phusion_passenger/standalone/runtime_installer_rb.html +133 -0
  177. data/doc/rdoc/files/lib/phusion_passenger/standalone/start_command_rb.html +136 -0
  178. data/doc/rdoc/files/lib/phusion_passenger/standalone/status_command_rb.html +126 -0
  179. data/doc/rdoc/files/lib/phusion_passenger/standalone/stop_command_rb.html +126 -0
  180. data/doc/rdoc/files/lib/phusion_passenger/standalone/utils_rb.html +126 -0
  181. data/doc/rdoc/files/lib/phusion_passenger/standalone/version_command_rb.html +127 -0
  182. data/doc/rdoc/files/lib/phusion_passenger/utils/file_system_watcher_rb.html +126 -0
  183. data/doc/rdoc/files/lib/phusion_passenger/utils/hosts_file_parser_rb.html +120 -0
  184. data/doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html +100 -0
  185. data/doc/rdoc/files/lib/phusion_passenger/utils/tmpdir_rb.html +122 -0
  186. data/doc/rdoc/files/lib/phusion_passenger/utils/unseekable_socket_rb.html +126 -0
  187. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +179 -0
  188. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +132 -0
  189. data/doc/rdoc/fr_class_index.html +139 -0
  190. data/doc/rdoc/fr_file_index.html +108 -0
  191. data/doc/rdoc/fr_method_index.html +439 -0
  192. data/doc/rdoc/index.html +26 -0
  193. data/doc/rdoc/rdoc-style.css +187 -0
  194. data/ext/apache2/Configuration.cpp +41 -0
  195. data/ext/apache2/Configuration.hpp +19 -0
  196. data/ext/apache2/Hooks.cpp +67 -5
  197. data/ext/common/Constants.h +1 -1
  198. data/ext/common/Exceptions.h +14 -0
  199. data/ext/common/Logging.h +76 -6
  200. data/ext/common/LoggingAgent/FilterSupport.h +1317 -0
  201. data/ext/common/LoggingAgent/LoggingServer.h +93 -4
  202. data/ext/common/LoggingAgent/RemoteSender.h +5 -5
  203. data/ext/common/Utils/StrIntUtils.cpp +12 -1
  204. data/ext/common/Utils/StrIntUtils.h +2 -1
  205. data/ext/common/Utils/StringMap.h +100 -0
  206. data/ext/nginx/Configuration.c +0 -1
  207. data/ext/nginx/ContentHandler.c +33 -7
  208. data/lib/phusion_passenger.rb +2 -2
  209. data/lib/phusion_passenger/abstract_request_handler.rb +5 -0
  210. data/lib/phusion_passenger/analytics_logger.rb +77 -11
  211. data/lib/phusion_passenger/dependencies.rb +11 -1
  212. data/lib/phusion_passenger/platform_info.rb +1 -1
  213. data/lib/phusion_passenger/utils.rb +9 -1
  214. data/test/cxx/FilterSupportTest.cpp +276 -0
  215. data/test/cxx/LoggingTest.cpp +28 -0
  216. data/test/cxx/StringMapTest.cpp +70 -0
  217. data/test/integration_tests/cgi_environment_spec.rb +10 -0
  218. metadata +170 -8
  219. data/ext/common/libboost_oxt/aggregate.cpp +0 -10
  220. data/ext/common/libpassenger_common/aggregate.cpp +0 -15
@@ -910,5 +910,33 @@ namespace tut {
910
910
  ensure(fileExists(filename));
911
911
  }
912
912
 
913
+ TEST_METHOD(33) {
914
+ // A transaction is only written to the sink if it passes all given filters.
915
+ // Test logging of new transaction.
916
+ SystemTime::forceAll(YESTERDAY);
917
+
918
+ AnalyticsLogPtr log = logger->newTransaction("foobar", "requests", "",
919
+ "uri == \"/foo\""
920
+ "\1"
921
+ "uri != \"/bar\"");
922
+ log->message("URI: /foo");
923
+ log->message("transaction 1");
924
+ log->flushToDiskAfterClose(true);
925
+ log.reset();
926
+
927
+ log = logger->newTransaction("foobar", "requests", "",
928
+ "uri == \"/foo\""
929
+ "\1"
930
+ "uri == \"/bar\"");
931
+ log->message("URI: /foo");
932
+ log->message("transaction 2");
933
+ log->flushToDiskAfterClose(true);
934
+ log.reset();
935
+
936
+ string data = readAll(loggingDir + "/1/" FOOBAR_LOCALHOST_PREFIX "/requests/2010/01/12/12/log.txt");
937
+ ensure("(1)", data.find("transaction 1\n") != string::npos);
938
+ ensure("(2)", data.find("transaction 2\n") == string::npos);
939
+ }
940
+
913
941
  /************************************/
914
942
  }
@@ -0,0 +1,70 @@
1
+ #include "TestSupport.h"
2
+ #include "Utils/StringMap.h"
3
+ #include <string>
4
+
5
+ using namespace Passenger;
6
+ using namespace std;
7
+
8
+ namespace tut {
9
+ struct StringMapTest {
10
+ };
11
+
12
+ DEFINE_TEST_GROUP(StringMapTest);
13
+
14
+ TEST_METHOD(1) {
15
+ // get()ing a nonexistant key returns the default value.
16
+ StringMap<string> m;
17
+ ensure_equals(m.get("hello"), "");
18
+ }
19
+
20
+ TEST_METHOD(2) {
21
+ // set() works.
22
+ StringMap<string> m;
23
+ m.set("hello", "world");
24
+ m.set("foo", "bar");
25
+ ensure_equals(m.get("hello"), "world");
26
+ ensure_equals(m.get("foo"), "bar");
27
+ ensure_equals(m.get("something"), "");
28
+ }
29
+
30
+ TEST_METHOD(3) {
31
+ // set() overwrites old value.
32
+ StringMap<string> m;
33
+ m.set("hello", "world");
34
+ m.set("foo", "bar");
35
+ m.set("hello", "new world");
36
+ ensure_equals(m.get("hello"), "new world");
37
+ ensure_equals(m.get("foo"), "bar");
38
+ }
39
+
40
+ TEST_METHOD(4) {
41
+ // The key is interned so changing the original has no effect.
42
+ StringMap<string> m;
43
+ char key1[] = "hello";
44
+ char key2[] = "world";
45
+
46
+ m.set(key1, "xxx");
47
+ m.set(key2, "yyy");
48
+
49
+ key1[4] = 'p';
50
+ strcpy(key2, "zzzzz");
51
+
52
+ ensure_equals(m.get("hello"), "xxx");
53
+ ensure_equals(m.get("hellp"), "");
54
+
55
+ ensure_equals(m.get("world"), "yyy");
56
+ ensure_equals(m.get("zzzzz"), "");
57
+ }
58
+
59
+ TEST_METHOD(5) {
60
+ // remove() works.
61
+ StringMap<string> m;
62
+ m.set("hello", "world");
63
+ m.set("foo", "bar");
64
+
65
+ ensure(m.remove("hello"));
66
+ ensure_equals(m.get("hello"), "");
67
+ ensure_equals(m.get("foo"), "bar");
68
+ ensure(!m.remove("hello"));
69
+ }
70
+ }
@@ -4,11 +4,21 @@ shared_examples_for "CGI environment variables compliance" do
4
4
  cgi_envs.should include("REQUEST_URI = #{@base_uri}/welcome/cgi_environment?foo=escaped%20string\n")
5
5
  end
6
6
 
7
+ specify "REQUEST_URI contains the original escaped URI" do
8
+ cgi_envs = get('/welcome/cgi_environment/%C3%BC?foo=escaped%20string')
9
+ cgi_envs.downcase.should include("request_uri = #{@base_uri}/welcome/cgi_environment/%c3%bc?foo=escaped%20string\n")
10
+ end
11
+
7
12
  specify "PATH_INFO contains the request URI without the base URI and without the query string" do
8
13
  cgi_envs = get('/welcome/cgi_environment?foo=escaped%20string')
9
14
  cgi_envs.should include("PATH_INFO = /welcome/cgi_environment\n")
10
15
  end
11
16
 
17
+ specify "PATH_INFO contains the original escaped URI" do
18
+ cgi_envs = get('/welcome/cgi_environment/%C3%BC')
19
+ cgi_envs.downcase.should include("path_info = /welcome/cgi_environment/%c3%bc\n")
20
+ end
21
+
12
22
  specify "QUERY_STRING contains the query string" do
13
23
  cgi_envs = get('/welcome/cgi_environment?foo=escaped%20string')
14
24
  cgi_envs.should include("QUERY_STRING = foo=escaped%20string\n")
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: passenger
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
5
- prerelease: false
4
+ hash: 1
5
+ prerelease:
6
6
  segments:
7
7
  - 3
8
8
  - 0
9
- - 2
10
- version: 3.0.2
9
+ - 3
10
+ version: 3.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Phusion - http://www.phusion.nl/
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-12-16 00:00:00 +01:00
18
+ date: 2011-02-24 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -744,6 +744,166 @@ files:
744
744
  - doc/images/spawn_server_architecture.svg
745
745
  - doc/images/typical_isolated_web_application.png
746
746
  - doc/images/typical_isolated_web_application.svg
747
+ - doc/rdoc/classes/ConditionVariable.html
748
+ - doc/rdoc/classes/Exception.html
749
+ - doc/rdoc/classes/GC.html
750
+ - doc/rdoc/classes/IO.html
751
+ - doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html
752
+ - doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html
753
+ - doc/rdoc/classes/PhusionPassenger/AbstractServer/InvalidPassword.html
754
+ - doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html
755
+ - doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html
756
+ - doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html
757
+ - doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html
758
+ - doc/rdoc/classes/PhusionPassenger/AbstractServer.html
759
+ - doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html
760
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats/Process.html
761
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats.html
762
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/CorruptedDirectoryError.html
763
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/GenerationsAbsentError.html
764
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Group.html
765
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Process.html
766
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/RoleDeniedError.html
767
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/StaleDirectoryError.html
768
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Stats.html
769
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/UnsupportedGenerationStructureVersionError.html
770
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance.html
771
+ - doc/rdoc/classes/PhusionPassenger/AdminTools.html
772
+ - doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/Log.html
773
+ - doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/SharedData.html
774
+ - doc/rdoc/classes/PhusionPassenger/AnalyticsLogger.html
775
+ - doc/rdoc/classes/PhusionPassenger/AppInitError.html
776
+ - doc/rdoc/classes/PhusionPassenger/AppProcess.html
777
+ - doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner/Error.html
778
+ - doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner.html
779
+ - doc/rdoc/classes/PhusionPassenger/ClassicRails/CGIFixed.html
780
+ - doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner/Error.html
781
+ - doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner.html
782
+ - doc/rdoc/classes/PhusionPassenger/ClassicRails/RequestHandler.html
783
+ - doc/rdoc/classes/PhusionPassenger/ClassicRails.html
784
+ - doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions/AnalyticsLogging.html
785
+ - doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions.html
786
+ - doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html
787
+ - doc/rdoc/classes/PhusionPassenger/DebugLogging.html
788
+ - doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html
789
+ - doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html
790
+ - doc/rdoc/classes/PhusionPassenger/InitializationError.html
791
+ - doc/rdoc/classes/PhusionPassenger/InvalidPath.html
792
+ - doc/rdoc/classes/PhusionPassenger/MessageChannel/InvalidHashError.html
793
+ - doc/rdoc/classes/PhusionPassenger/MessageChannel.html
794
+ - doc/rdoc/classes/PhusionPassenger/MessageClient.html
795
+ - doc/rdoc/classes/PhusionPassenger/NativeSupportLoader.html
796
+ - doc/rdoc/classes/PhusionPassenger/Packaging.html
797
+ - doc/rdoc/classes/PhusionPassenger/PlatformInfo.html
798
+ - doc/rdoc/classes/PhusionPassenger/Plugin.html
799
+ - doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner/Error.html
800
+ - doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html
801
+ - doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html
802
+ - doc/rdoc/classes/PhusionPassenger/Rack.html
803
+ - doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ACExtension.html
804
+ - doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ASBenchmarkableExtension.html
805
+ - doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ExceptionLogger.html
806
+ - doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging.html
807
+ - doc/rdoc/classes/PhusionPassenger/Rails3Extensions.html
808
+ - doc/rdoc/classes/PhusionPassenger/SpawnManager.html
809
+ - doc/rdoc/classes/PhusionPassenger/Standalone/AppFinder.html
810
+ - doc/rdoc/classes/PhusionPassenger/Standalone/Command.html
811
+ - doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile/DisallowedContextError.html
812
+ - doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile.html
813
+ - doc/rdoc/classes/PhusionPassenger/Standalone/HelpCommand.html
814
+ - doc/rdoc/classes/PhusionPassenger/Standalone/Main.html
815
+ - doc/rdoc/classes/PhusionPassenger/Standalone/PackageRuntimeCommand.html
816
+ - doc/rdoc/classes/PhusionPassenger/Standalone/RuntimeInstaller.html
817
+ - doc/rdoc/classes/PhusionPassenger/Standalone/StartCommand.html
818
+ - doc/rdoc/classes/PhusionPassenger/Standalone/StatusCommand.html
819
+ - doc/rdoc/classes/PhusionPassenger/Standalone/StopCommand.html
820
+ - doc/rdoc/classes/PhusionPassenger/Standalone/Utils.html
821
+ - doc/rdoc/classes/PhusionPassenger/Standalone/VersionCommand.html
822
+ - doc/rdoc/classes/PhusionPassenger/Standalone.html
823
+ - doc/rdoc/classes/PhusionPassenger/UnknownError.html
824
+ - doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/DirInfo.html
825
+ - doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/FileInfo.html
826
+ - doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher.html
827
+ - doc/rdoc/classes/PhusionPassenger/Utils/HostsFileParser.html
828
+ - doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html
829
+ - doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html
830
+ - doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html
831
+ - doc/rdoc/classes/PhusionPassenger/Utils/UnseekableSocket.html
832
+ - doc/rdoc/classes/PhusionPassenger/Utils.html
833
+ - doc/rdoc/classes/PhusionPassenger/VersionNotFound.html
834
+ - doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html
835
+ - doc/rdoc/classes/PhusionPassenger/WSGI.html
836
+ - doc/rdoc/classes/PhusionPassenger.html
837
+ - doc/rdoc/classes/Process.html
838
+ - doc/rdoc/classes/Signal.html
839
+ - doc/rdoc/created.rid
840
+ - doc/rdoc/files/DEVELOPERS_TXT.html
841
+ - doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html
842
+ - doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html
843
+ - doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html
844
+ - doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html
845
+ - doc/rdoc/files/lib/phusion_passenger/admin_tools/memory_stats_rb.html
846
+ - doc/rdoc/files/lib/phusion_passenger/admin_tools/server_instance_rb.html
847
+ - doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html
848
+ - doc/rdoc/files/lib/phusion_passenger/analytics_logger_rb.html
849
+ - doc/rdoc/files/lib/phusion_passenger/app_process_rb.html
850
+ - doc/rdoc/files/lib/phusion_passenger/classic_rails/application_spawner_rb.html
851
+ - doc/rdoc/files/lib/phusion_passenger/classic_rails/cgi_fixed_rb.html
852
+ - doc/rdoc/files/lib/phusion_passenger/classic_rails/framework_spawner_rb.html
853
+ - doc/rdoc/files/lib/phusion_passenger/classic_rails/request_handler_rb.html
854
+ - doc/rdoc/files/lib/phusion_passenger/classic_rails_extensions/init_rb.html
855
+ - doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html
856
+ - doc/rdoc/files/lib/phusion_passenger/constants_rb.html
857
+ - doc/rdoc/files/lib/phusion_passenger/debug_logging_rb.html
858
+ - doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html
859
+ - doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html
860
+ - doc/rdoc/files/lib/phusion_passenger/html_template_rb.html
861
+ - doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html
862
+ - doc/rdoc/files/lib/phusion_passenger/message_client_rb.html
863
+ - doc/rdoc/files/lib/phusion_passenger/native_support_rb.html
864
+ - doc/rdoc/files/lib/phusion_passenger/packaging_rb.html
865
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/apache_rb.html
866
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/binary_compatibility_rb.html
867
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/compiler_rb.html
868
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/curl_rb.html
869
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/documentation_tools_rb.html
870
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/linux_rb.html
871
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/operating_system_rb.html
872
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/ruby_rb.html
873
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/zlib_rb.html
874
+ - doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html
875
+ - doc/rdoc/files/lib/phusion_passenger/plugin_rb.html
876
+ - doc/rdoc/files/lib/phusion_passenger/public_api_rb.html
877
+ - doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html
878
+ - doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html
879
+ - doc/rdoc/files/lib/phusion_passenger/rails3_extensions/init_rb.html
880
+ - doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html
881
+ - doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html
882
+ - doc/rdoc/files/lib/phusion_passenger/standalone/app_finder_rb.html
883
+ - doc/rdoc/files/lib/phusion_passenger/standalone/command_rb.html
884
+ - doc/rdoc/files/lib/phusion_passenger/standalone/config_file_rb.html
885
+ - doc/rdoc/files/lib/phusion_passenger/standalone/help_command_rb.html
886
+ - doc/rdoc/files/lib/phusion_passenger/standalone/main_rb.html
887
+ - doc/rdoc/files/lib/phusion_passenger/standalone/package_runtime_command_rb.html
888
+ - doc/rdoc/files/lib/phusion_passenger/standalone/runtime_installer_rb.html
889
+ - doc/rdoc/files/lib/phusion_passenger/standalone/start_command_rb.html
890
+ - doc/rdoc/files/lib/phusion_passenger/standalone/status_command_rb.html
891
+ - doc/rdoc/files/lib/phusion_passenger/standalone/stop_command_rb.html
892
+ - doc/rdoc/files/lib/phusion_passenger/standalone/utils_rb.html
893
+ - doc/rdoc/files/lib/phusion_passenger/standalone/version_command_rb.html
894
+ - doc/rdoc/files/lib/phusion_passenger/utils/file_system_watcher_rb.html
895
+ - doc/rdoc/files/lib/phusion_passenger/utils/hosts_file_parser_rb.html
896
+ - doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html
897
+ - doc/rdoc/files/lib/phusion_passenger/utils/tmpdir_rb.html
898
+ - doc/rdoc/files/lib/phusion_passenger/utils/unseekable_socket_rb.html
899
+ - doc/rdoc/files/lib/phusion_passenger/utils_rb.html
900
+ - doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html
901
+ - doc/rdoc/files/README.html
902
+ - doc/rdoc/fr_class_index.html
903
+ - doc/rdoc/fr_file_index.html
904
+ - doc/rdoc/fr_method_index.html
905
+ - doc/rdoc/index.html
906
+ - doc/rdoc/rdoc-style.css
747
907
  - doc/Security of user switching support.html
748
908
  - doc/Security of user switching support.txt
749
909
  - doc/template/horo.rb
@@ -787,8 +947,6 @@ files:
787
947
  - ext/common/AgentBase.cpp
788
948
  - ext/common/AgentsStarter.cpp
789
949
  - ext/common/BCrypt.cpp
790
- - ext/common/libboost_oxt/aggregate.cpp
791
- - ext/common/libpassenger_common/aggregate.cpp
792
950
  - ext/common/Logging.cpp
793
951
  - ext/common/LoggingAgent/Main.cpp
794
952
  - ext/common/Utils/Base64.cpp
@@ -822,6 +980,7 @@ files:
822
980
  - ext/common/Logging.h
823
981
  - ext/common/LoggingAgent/ChangeNotifier.h
824
982
  - ext/common/LoggingAgent/DataStoreId.h
983
+ - ext/common/LoggingAgent/FilterSupport.h
825
984
  - ext/common/LoggingAgent/LoggingServer.h
826
985
  - ext/common/LoggingAgent/RemoteSender.h
827
986
  - ext/common/MessageChannel.h
@@ -848,6 +1007,7 @@ files:
848
1007
  - ext/common/Utils/MemZeroGuard.h
849
1008
  - ext/common/Utils/ProcessMetricsCollector.h
850
1009
  - ext/common/Utils/ScopeGuard.h
1010
+ - ext/common/Utils/StringMap.h
851
1011
  - ext/common/Utils/StrIntUtils.h
852
1012
  - ext/common/Utils/SystemTime.h
853
1013
  - ext/common/Utils/Timer.h
@@ -1602,6 +1762,7 @@ files:
1602
1762
  - test/cxx/EventedClientTest.cpp
1603
1763
  - test/cxx/FileChangeCheckerTest.cpp
1604
1764
  - test/cxx/FileDescriptorTest.cpp
1765
+ - test/cxx/FilterSupportTest.cpp
1605
1766
  - test/cxx/HttpStatusExtractorTest.cpp
1606
1767
  - test/cxx/IOUtilsTest.cpp
1607
1768
  - test/cxx/LoggingTest.cpp
@@ -1614,6 +1775,7 @@ files:
1614
1775
  - test/cxx/ServerInstanceDirTest.cpp
1615
1776
  - test/cxx/SpawnManagerTest.cpp
1616
1777
  - test/cxx/StaticStringTest.cpp
1778
+ - test/cxx/StringMapTest.cpp
1617
1779
  - test/cxx/SystemTimeTest.cpp
1618
1780
  - test/cxx/TestSupport.cpp
1619
1781
  - test/cxx/UtilsTest.cpp
@@ -2009,7 +2171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2009
2171
  requirements: []
2010
2172
 
2011
2173
  rubyforge_project: passenger
2012
- rubygems_version: 1.3.7
2174
+ rubygems_version: 1.5.2
2013
2175
  signing_key:
2014
2176
  specification_version: 3
2015
2177
  summary: Easy and robust Ruby web application deployment
@@ -1,10 +0,0 @@
1
-
2
- #ifndef _GNU_SOURCE
3
- #define _GNU_SOURCE
4
- #endif
5
- #include "boost/src/pthread/once.cpp"
6
- #include "boost/src/pthread/thread.cpp"
7
- #include "oxt/backtrace.cpp"
8
- #include "oxt/system_calls.cpp"
9
- #include "oxt/thread.cpp"
10
- #include "oxt/tracable_exception.cpp"
@@ -1,15 +0,0 @@
1
-
2
- #ifndef _GNU_SOURCE
3
- #define _GNU_SOURCE
4
- #endif
5
- #include "common/AccountsDatabase.cpp"
6
- #include "common/AgentBase.cpp"
7
- #include "common/AgentsStarter.cpp"
8
- #include "common/Logging.cpp"
9
- #include "common/Utils.cpp"
10
- #include "common/Utils/Base64.cpp"
11
- #include "common/Utils/CachedFileStat.cpp"
12
- #include "common/Utils/IOUtils.cpp"
13
- #include "common/Utils/MD5.cpp"
14
- #include "common/Utils/StrIntUtils.cpp"
15
- #include "common/Utils/SystemTime.cpp"