passenger 3.0.0.pre1 → 3.0.0.pre2

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 (189) hide show
  1. data/DEVELOPERS.TXT +2 -2
  2. data/NEWS +2 -2
  3. data/Rakefile +1 -1
  4. data/build/packaging.rb +1 -1
  5. data/doc/Users guide Apache.html +22 -22
  6. data/doc/Users guide Apache.txt +2 -2
  7. data/doc/Users guide Nginx.html +14 -14
  8. data/doc/Users guide Nginx.txt +3 -2
  9. data/doc/Users guide Standalone.html +1 -1
  10. data/doc/cxxapi/Constants_8h_source.html +1 -1
  11. data/doc/cxxapi/ResourceLocator_8h_source.html +1 -1
  12. data/doc/rdoc/classes/ConditionVariable.html +215 -0
  13. data/doc/rdoc/classes/Exception.html +120 -0
  14. data/doc/rdoc/classes/GC.html +113 -0
  15. data/doc/rdoc/classes/IO.html +221 -0
  16. data/doc/rdoc/classes/PhusionPassenger.html +368 -0
  17. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +180 -0
  18. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +647 -0
  19. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +654 -0
  20. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/InvalidPassword.html +92 -0
  21. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +97 -0
  22. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +96 -0
  23. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +97 -0
  24. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +96 -0
  25. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +619 -0
  26. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +142 -0
  27. data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats.html +368 -0
  28. data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats/Process.html +231 -0
  29. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance.html +588 -0
  30. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/CorruptedDirectoryError.html +92 -0
  31. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/GenerationsAbsentError.html +92 -0
  32. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Group.html +147 -0
  33. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Process.html +279 -0
  34. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/RoleDeniedError.html +92 -0
  35. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/StaleDirectoryError.html +92 -0
  36. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Stats.html +123 -0
  37. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/UnsupportedGenerationStructureVersionError.html +92 -0
  38. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger.html +341 -0
  39. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/Log.html +294 -0
  40. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/SharedData.html +199 -0
  41. data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +155 -0
  42. data/doc/rdoc/classes/PhusionPassenger/AppProcess.html +367 -0
  43. data/doc/rdoc/classes/PhusionPassenger/ClassicRails.html +95 -0
  44. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner.html +351 -0
  45. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner/Error.html +98 -0
  46. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/CGIFixed.html +200 -0
  47. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner.html +410 -0
  48. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner/Error.html +98 -0
  49. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/RequestHandler.html +156 -0
  50. data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions.html +115 -0
  51. data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions/AnalyticsLogging.html +202 -0
  52. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +172 -0
  53. data/doc/rdoc/classes/PhusionPassenger/DebugLogging.html +273 -0
  54. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +145 -0
  55. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +162 -0
  56. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +141 -0
  57. data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +92 -0
  58. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +673 -0
  59. data/doc/rdoc/classes/PhusionPassenger/MessageChannel/InvalidHashError.html +92 -0
  60. data/doc/rdoc/classes/PhusionPassenger/MessageClient.html +415 -0
  61. data/doc/rdoc/classes/PhusionPassenger/NativeSupport.html +494 -0
  62. data/doc/rdoc/classes/PhusionPassenger/NativeSupport/FileSystemWatcher.html +96 -0
  63. data/doc/rdoc/classes/PhusionPassenger/Packaging.html +129 -0
  64. data/doc/rdoc/classes/PhusionPassenger/PlatformInfo.html +1758 -0
  65. data/doc/rdoc/classes/PhusionPassenger/Plugin.html +237 -0
  66. data/doc/rdoc/classes/PhusionPassenger/Rack.html +91 -0
  67. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +312 -0
  68. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner/Error.html +98 -0
  69. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +218 -0
  70. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions.html +114 -0
  71. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging.html +256 -0
  72. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ACExtension.html +139 -0
  73. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ASBenchmarkableExtension.html +118 -0
  74. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ExceptionLogger.html +135 -0
  75. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +378 -0
  76. data/doc/rdoc/classes/PhusionPassenger/Standalone.html +111 -0
  77. data/doc/rdoc/classes/PhusionPassenger/Standalone/AppFinder.html +252 -0
  78. data/doc/rdoc/classes/PhusionPassenger/Standalone/Command.html +161 -0
  79. data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile.html +368 -0
  80. data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile/DisallowedContextError.html +132 -0
  81. data/doc/rdoc/classes/PhusionPassenger/Standalone/HelpCommand.html +151 -0
  82. data/doc/rdoc/classes/PhusionPassenger/Standalone/Main.html +189 -0
  83. data/doc/rdoc/classes/PhusionPassenger/Standalone/PackageRuntimeCommand.html +177 -0
  84. data/doc/rdoc/classes/PhusionPassenger/Standalone/RuntimeInstaller.html +341 -0
  85. data/doc/rdoc/classes/PhusionPassenger/Standalone/StartCommand.html +203 -0
  86. data/doc/rdoc/classes/PhusionPassenger/Standalone/StatusCommand.html +156 -0
  87. data/doc/rdoc/classes/PhusionPassenger/Standalone/StopCommand.html +168 -0
  88. data/doc/rdoc/classes/PhusionPassenger/Standalone/Utils.html +86 -0
  89. data/doc/rdoc/classes/PhusionPassenger/Standalone/VersionCommand.html +135 -0
  90. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +125 -0
  91. data/doc/rdoc/classes/PhusionPassenger/Utils.html +1468 -0
  92. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher.html +204 -0
  93. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/DirInfo.html +171 -0
  94. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/FileInfo.html +140 -0
  95. data/doc/rdoc/classes/PhusionPassenger/Utils/HostsFileParser.html +260 -0
  96. data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +169 -0
  97. data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html +265 -0
  98. data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html +120 -0
  99. data/doc/rdoc/classes/PhusionPassenger/Utils/UnseekableSocket.html +561 -0
  100. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +140 -0
  101. data/doc/rdoc/classes/PhusionPassenger/WSGI.html +89 -0
  102. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +182 -0
  103. data/doc/rdoc/classes/Process.html +115 -0
  104. data/doc/rdoc/classes/Signal.html +139 -0
  105. data/doc/rdoc/created.rid +1 -0
  106. data/doc/rdoc/files/DEVELOPERS_TXT.html +276 -0
  107. data/doc/rdoc/files/README.html +157 -0
  108. data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +92 -0
  109. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +130 -0
  110. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +135 -0
  111. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +126 -0
  112. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +128 -0
  113. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/memory_stats_rb.html +126 -0
  114. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/server_instance_rb.html +132 -0
  115. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +122 -0
  116. data/doc/rdoc/files/lib/phusion_passenger/analytics_logger_rb.html +129 -0
  117. data/doc/rdoc/files/lib/phusion_passenger/app_process_rb.html +127 -0
  118. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/application_spawner_rb.html +141 -0
  119. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/cgi_fixed_rb.html +126 -0
  120. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/framework_spawner_rb.html +146 -0
  121. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/request_handler_rb.html +125 -0
  122. data/doc/rdoc/files/lib/phusion_passenger/classic_rails_extensions/init_rb.html +132 -0
  123. data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +126 -0
  124. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +122 -0
  125. data/doc/rdoc/files/lib/phusion_passenger/debug_logging_rb.html +122 -0
  126. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +147 -0
  127. data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +122 -0
  128. data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +127 -0
  129. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +120 -0
  130. data/doc/rdoc/files/lib/phusion_passenger/message_client_rb.html +127 -0
  131. data/doc/rdoc/files/lib/phusion_passenger/native_support_rb.html +131 -0
  132. data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +122 -0
  133. data/doc/rdoc/files/lib/phusion_passenger/platform_info/apache_rb.html +127 -0
  134. data/doc/rdoc/files/lib/phusion_passenger/platform_info/binary_compatibility_rb.html +129 -0
  135. data/doc/rdoc/files/lib/phusion_passenger/platform_info/compiler_rb.html +126 -0
  136. data/doc/rdoc/files/lib/phusion_passenger/platform_info/curl_rb.html +126 -0
  137. data/doc/rdoc/files/lib/phusion_passenger/platform_info/documentation_tools_rb.html +126 -0
  138. data/doc/rdoc/files/lib/phusion_passenger/platform_info/linux_rb.html +126 -0
  139. data/doc/rdoc/files/lib/phusion_passenger/platform_info/operating_system_rb.html +127 -0
  140. data/doc/rdoc/files/lib/phusion_passenger/platform_info/ruby_rb.html +128 -0
  141. data/doc/rdoc/files/lib/phusion_passenger/platform_info/zlib_rb.html +126 -0
  142. data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +122 -0
  143. data/doc/rdoc/files/lib/phusion_passenger/plugin_rb.html +127 -0
  144. data/doc/rdoc/files/lib/phusion_passenger/public_api_rb.html +127 -0
  145. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +137 -0
  146. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +125 -0
  147. data/doc/rdoc/files/lib/phusion_passenger/rails3_extensions/init_rb.html +127 -0
  148. data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +122 -0
  149. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +160 -0
  150. data/doc/rdoc/files/lib/phusion_passenger/standalone/app_finder_rb.html +127 -0
  151. data/doc/rdoc/files/lib/phusion_passenger/standalone/command_rb.html +135 -0
  152. data/doc/rdoc/files/lib/phusion_passenger/standalone/config_file_rb.html +126 -0
  153. data/doc/rdoc/files/lib/phusion_passenger/standalone/help_command_rb.html +126 -0
  154. data/doc/rdoc/files/lib/phusion_passenger/standalone/main_rb.html +126 -0
  155. data/doc/rdoc/files/lib/phusion_passenger/standalone/package_runtime_command_rb.html +127 -0
  156. data/doc/rdoc/files/lib/phusion_passenger/standalone/runtime_installer_rb.html +132 -0
  157. data/doc/rdoc/files/lib/phusion_passenger/standalone/start_command_rb.html +136 -0
  158. data/doc/rdoc/files/lib/phusion_passenger/standalone/status_command_rb.html +126 -0
  159. data/doc/rdoc/files/lib/phusion_passenger/standalone/stop_command_rb.html +126 -0
  160. data/doc/rdoc/files/lib/phusion_passenger/standalone/utils_rb.html +126 -0
  161. data/doc/rdoc/files/lib/phusion_passenger/standalone/version_command_rb.html +127 -0
  162. data/doc/rdoc/files/lib/phusion_passenger/utils/file_system_watcher_rb.html +126 -0
  163. data/doc/rdoc/files/lib/phusion_passenger/utils/hosts_file_parser_rb.html +120 -0
  164. data/doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html +100 -0
  165. data/doc/rdoc/files/lib/phusion_passenger/utils/tmpdir_rb.html +122 -0
  166. data/doc/rdoc/files/lib/phusion_passenger/utils/unseekable_socket_rb.html +126 -0
  167. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +179 -0
  168. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +132 -0
  169. data/doc/rdoc/fr_class_index.html +139 -0
  170. data/doc/rdoc/fr_file_index.html +109 -0
  171. data/doc/rdoc/fr_method_index.html +435 -0
  172. data/doc/rdoc/index.html +26 -0
  173. data/doc/rdoc/rdoc-style.css +187 -0
  174. data/ext/apache2/Configuration.hpp +1 -1
  175. data/ext/apache2/Hooks.cpp +24 -2
  176. data/ext/common/AgentsStarter.hpp +57 -20
  177. data/ext/common/Constants.h +1 -1
  178. data/ext/common/ResourceLocator.h +1 -1
  179. data/ext/common/Utils/MemZeroGuard.h +1 -1
  180. data/ext/phusion_passenger/native_support.c +1 -1
  181. data/lib/phusion_passenger.rb +2 -2
  182. data/lib/phusion_passenger/abstract_installer.rb +1 -1
  183. data/lib/phusion_passenger/platform_info/apache.rb +3 -0
  184. data/lib/phusion_passenger/platform_info/binary_compatibility.rb +3 -1
  185. data/lib/phusion_passenger/platform_info/compiler.rb +25 -2
  186. data/lib/phusion_passenger/platform_info/ruby.rb +88 -14
  187. data/lib/phusion_passenger/templates/standalone/config.erb +9 -16
  188. metadata +166 -5
  189. data/ext/common/Utils/foo.cpp +0 -10
@@ -26,7 +26,7 @@
26
26
  #define _PASSENGER_CONSTANTS_H_
27
27
 
28
28
  /* Don't forget to update lib/phusion_passenger.rb too. */
29
- #define PASSENGER_VERSION "3.0.0.pre1"
29
+ #define PASSENGER_VERSION "3.0.0.pre2"
30
30
 
31
31
  #define FEEDBACK_FD 3
32
32
 
@@ -74,7 +74,7 @@ public:
74
74
  if (nativelyPackaged) {
75
75
  return "/usr/share/phusion-passenger/certificates";
76
76
  } else {
77
- return root + "/misc/certificates";
77
+ return root + "/misc";
78
78
  }
79
79
  }
80
80
  };
@@ -76,7 +76,7 @@ public:
76
76
  */
77
77
  MemZeroGuard(string &str) {
78
78
  this->data = NULL;
79
- this->size = NULL;
79
+ this->size = 0;
80
80
  this->str = &str;
81
81
  }
82
82
 
@@ -472,7 +472,7 @@ f_generic_writev(VALUE fd, VALUE *array_of_components, unsigned int count) {
472
472
  vector_offset = 0;
473
473
  for (i = 0; i < count; i++) {
474
474
  components = array_of_components[i];
475
- for (j = 0; j < RARRAY_LEN(components); j++) {
475
+ for (j = 0; j < (unsigned int) RARRAY_LEN(components); j++) {
476
476
  str = rb_ary_entry(components, j);
477
477
  str = rb_obj_as_string(str);
478
478
  total_size += (unsigned int) RSTRING_LEN(str);
@@ -25,7 +25,7 @@ module PhusionPassenger
25
25
  ###### Version numbers ######
26
26
 
27
27
  # Phusion Passenger version number. Don't forget to edit ext/common/Constants.h too.
28
- VERSION_STRING = '3.0.0.pre1'
28
+ VERSION_STRING = '3.0.0.pre2'
29
29
 
30
30
  PREFERRED_NGINX_VERSION = '0.7.67'
31
31
  PREFERRED_PCRE_VERSION = '8.02'
@@ -92,7 +92,7 @@ module PhusionPassenger
92
92
  # Location of the Apache 2 module.
93
93
  APACHE2_MODULE = File.join(SOURCE_ROOT, "ext", "apache2", "mod_passenger.so")
94
94
  else
95
- SOURCE_ROOT = NATIVELY_PACKAGED_SOURCE_DIR
95
+ SOURCE_ROOT = NATIVELY_PACKAGED_SOURCE_ROOT
96
96
  NATIVE_SUPPORT_DIR = NATIVELY_PACKAGED_NATIVE_SUPPORT_DIR
97
97
  DOCDIR = NATIVELY_PACKAGED_DOCDIR
98
98
  AGENTS_DIR = NATIVELY_PACKAGED_AGENTS_DIR
@@ -226,7 +226,7 @@ private
226
226
  if PlatformInfo.find_command("wget")
227
227
  return sh("wget", "-O", output, url)
228
228
  else
229
- return sh("curl", url, "-L", "-o", output)
229
+ return sh("curl", url, "-f", "-L", "-o", output)
230
230
  end
231
231
  end
232
232
  end
@@ -165,6 +165,9 @@ module PlatformInfo
165
165
  flags = ["-fPIC"]
166
166
  if compiler_supports_visibility_flag?
167
167
  flags << "-fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED"
168
+ if compiler_visibility_flag_generates_warnings?
169
+ flags << "-Wno-attributes"
170
+ end
168
171
  end
169
172
  if with_apr_flags
170
173
  flags << apr_flags
@@ -34,7 +34,9 @@ module PlatformInfo
34
34
  # be running on a different architectural mode than the default one.
35
35
  def self.cpu_architecture
36
36
  result = `uname -p`.strip
37
- if result == "unknown"
37
+ # On some systems 'uname -p' returns something like
38
+ # 'Intel(R) Pentium(R) M processor 1400MHz'.
39
+ if result == "unknown" || result =~ / /
38
40
  result = `uname -m`.strip
39
41
  end
40
42
  return result
@@ -26,11 +26,34 @@ require 'phusion_passenger/platform_info'
26
26
  module PhusionPassenger
27
27
 
28
28
  module PlatformInfo
29
+ def self.cc
30
+ return ENV['CC'] || "gcc"
31
+ end
32
+
33
+ def self.cxx
34
+ return ENV['CXX'] || "g++"
35
+ end
36
+
29
37
  def self.compiler_supports_visibility_flag?
30
38
  return try_compile(:c, '', '-fvisibility=hidden')
31
39
  end
32
40
  memoize :compiler_supports_visibility_flag?, true
33
41
 
42
+ # Returns whether compiling C++ with -fvisibility=hidden might result
43
+ # in tons of useless warnings, like this:
44
+ # http://code.google.com/p/phusion-passenger/issues/detail?id=526
45
+ # This appears to be a bug in older g++ versions:
46
+ # http://gcc.gnu.org/ml/gcc-patches/2006-07/msg00861.html
47
+ # Warnings should be suppressed with -Wno-attributes.
48
+ def self.compiler_visibility_flag_generates_warnings?
49
+ if `#{cxx} -v 2>&1` =~ /gcc version (.*?)/
50
+ return $1 <= "4.1.2"
51
+ else
52
+ return false
53
+ end
54
+ end
55
+ memoize :compiler_visibility_flag_generates_warnings?, true
56
+
34
57
  # Compiler flags that should be used for compiling every C/C++ program,
35
58
  # for portability reasons. These flags should be specified as last
36
59
  # when invoking the compiler.
@@ -131,9 +154,9 @@ module PlatformInfo
131
154
  private
132
155
  def self.try_compile(language, source, flags = nil)
133
156
  if language == :c
134
- compiler = 'gcc'
157
+ compiler = cc
135
158
  elsif language == :cxx
136
- compiler = 'g++'
159
+ compiler = cxx
137
160
  else
138
161
  raise ArgumentError,"Unsupported language '#{language}'"
139
162
  end
@@ -27,6 +27,15 @@ require 'phusion_passenger/platform_info'
27
27
  module PhusionPassenger
28
28
 
29
29
  module PlatformInfo
30
+ # Store original $GEM_HOME value so that even if the app customizes
31
+ # $GEM_HOME we can still work with the original value.
32
+ gem_home = ENV['GEM_HOME']
33
+ if gem_home
34
+ gem_home = gem_home.strip.freeze
35
+ gem_home = nil if gem_home.empty?
36
+ end
37
+ GEM_HOME = gem_home
38
+
30
39
  if defined?(::RUBY_ENGINE)
31
40
  RUBY_ENGINE = ::RUBY_ENGINE
32
41
  else
@@ -37,23 +46,26 @@ module PlatformInfo
37
46
  # In case of RVM this function will return the path to the RVM wrapper script
38
47
  # that executes the current Ruby interpreter in the currently active gem set.
39
48
  def self.ruby_command
40
- @@ruby_command ||= begin
41
- filename = ruby_executable
42
- if filename =~ %r{(.*)/.rvm/rubies/(.+?)/bin/(.+)}
43
- home = $1
44
- name = $2
45
- exename = $3
46
- if !ENV['rvm_gemset_name'].to_s.empty?
47
- name << "@#{ENV['rvm_gemset_name']}"
48
- end
49
- new_filename = "#{home}/.rvm/wrappers/#{name}/#{exename}"
50
- if File.exist?(new_filename)
51
- filename = new_filename
52
- end
49
+ if in_rvm?
50
+ name = rvm_ruby_string
51
+ dir = rvm_path
52
+ if name && dir
53
+ return "#{dir}/wrappers/#{name}/ruby"
54
+ else
55
+ # Something's wrong with the user's RVM installation.
56
+ # Raise an error so that the user knows this instead of
57
+ # having things fail randomly later on.
58
+ # 'name' is guaranteed to be non-nil because rvm_ruby_string
59
+ # already raises an exception on error.
60
+ raise "Your RVM installation appears to be broken: the RVM " +
61
+ "path cannot be found. Please fix your RVM installation " +
62
+ "or contact the RVM developers for support."
53
63
  end
54
- filename
64
+ else
65
+ return ruby_executable
55
66
  end
56
67
  end
68
+ memoize :ruby_command
57
69
 
58
70
  # Returns the full path to the current Ruby interpreter's executable file.
59
71
  # This might not be the actual correct command to use for invoking the Ruby
@@ -122,6 +134,68 @@ module PlatformInfo
122
134
  return Config::CONFIG['bindir'].include?('/.rvm/')
123
135
  end
124
136
 
137
+ # If the current Ruby interpreter is managed by RVM, returns the
138
+ # directory in which RVM places its working files. Otherwise returns
139
+ # nil.
140
+ def self.rvm_path
141
+ if in_rvm?
142
+ [ENV['rvm_path'], "~/.rvm", "/usr/local/rvm"].each do |path|
143
+ next if path.nil?
144
+ path = File.expand_path(path)
145
+ return path if File.directory?(path)
146
+ end
147
+ end
148
+ return nil
149
+ end
150
+ memoize :rvm_path
151
+
152
+ # If the current Ruby interpreter is managed by RVM, returns the
153
+ # RVM name which identifies the current Ruby interpreter plus the
154
+ # currently active gemset, e.g. something like this:
155
+ # "ruby-1.9.2-p0@mygemset"
156
+ #
157
+ # Returns nil otherwise.
158
+ def self.rvm_ruby_string
159
+ if in_rvm?
160
+ # RVM used to export the necessary information through
161
+ # environment variables, but doesn't always do that anymore
162
+ # in the latest versions in order to fight env var pollution.
163
+ # Scanning $LOAD_PATH seems to be the only way to obtain
164
+ # the information.
165
+
166
+ # Getting the RVM name of the Ruby interpreter ("ruby-1.9.2")
167
+ # isn't so hard, we can extract it from the #ruby_executable
168
+ # string. Getting the gemset name is a bit harder, so let's
169
+ # try various strategies...
170
+
171
+ # $GEM_HOME usually contains the gem set name.
172
+ if GEM_HOME && GEM_HOME.include?("rvm/gems/")
173
+ return File.basename(GEM_HOME)
174
+ end
175
+
176
+ # User somehow managed to nuke $GEM_HOME. Extract info
177
+ # from $LOAD_PATH.
178
+ matching_path = $LOAD_PATH.find_all do |item|
179
+ item.include?("rvm/gems/")
180
+ end
181
+ if matching_path
182
+ subpath = matching_path.to_s.gsub(/^.*rvm\/gems\//, '')
183
+ result = subpath.split('/').first
184
+ return result if result
185
+ end
186
+
187
+ # On Ruby 1.9, $LOAD_PATH does not contain any gem paths until
188
+ # at least one gem has been required so the above can fail.
189
+ # We're out of options now, we can't detect the gem set.
190
+ # Raise an exception so that the user knows what's going on
191
+ # instead of having things fail in obscure ways later.
192
+ raise "Unable to autodetect the currently active RVM gem " +
193
+ "set name. Please contact this program's author for support."
194
+ end
195
+ return nil
196
+ end
197
+ memoize :rvm_ruby_string
198
+
125
199
  # Returns either 'sudo' or 'rvmsudo' depending on whether the current
126
200
  # Ruby interpreter is managed by RVM.
127
201
  def self.ruby_sudo_command
@@ -1,8 +1,8 @@
1
1
  master_process on;
2
2
  worker_processes 1;
3
3
  daemon on;
4
- error_log <%= @options[:log_file] %>;
5
- pid <%= @options[:pid_file] %>;
4
+ error_log '<%= @options[:log_file] %>';
5
+ pid '<%= @options[:pid_file] %>';
6
6
  <% if @options[:user] %>user <%= @options[:user] %> <%= default_group_for(@options[:user]) %>;<% end %>
7
7
 
8
8
  events {
@@ -10,11 +10,11 @@ events {
10
10
  }
11
11
 
12
12
  http {
13
- include <%= nginx_dir %>/conf/mime.types;
14
- client_body_temp_path <%= @temp_dir %>/client;
15
- proxy_temp_path <%= @temp_dir %>/proxy;
13
+ include '<%= nginx_dir %>/conf/mime.types';
14
+ client_body_temp_path '<%= @temp_dir %>/client';
15
+ proxy_temp_path '<%= @temp_dir %>/proxy';
16
16
  passenger_ruby <%= PlatformInfo.ruby_command %>;
17
- passenger_root <%= passenger_root %>;
17
+ passenger_root '<%= passenger_root %>';
18
18
  passenger_abort_on_startup_error on;
19
19
  passenger_user_switching off;
20
20
  passenger_max_pool_size <%= @options[:max_pool_size] %>;
@@ -35,14 +35,14 @@ http {
35
35
  # Default server entry.
36
36
  server {
37
37
  listen <%= nginx_listen_address %>;
38
- root <%= LIBDIR %>/phusion_passenger/templates/standalone_default_root;
38
+ root '<%= LIBDIR %>/phusion_passenger/templates/standalone_default_root';
39
39
  }
40
40
  <% end %>
41
41
 
42
42
  <% if @options[:ping_port] %>
43
43
  server {
44
44
  listen <%= nginx_listen_address(true) %>;
45
- root <%= LIBDIR %>/phusion_passenger/templates/standalone_default_root;
45
+ root '<%= LIBDIR %>/phusion_passenger/templates/standalone_default_root';
46
46
  }
47
47
  <% end %>
48
48
 
@@ -50,20 +50,13 @@ http {
50
50
  server {
51
51
  listen <%= @options[:address] %>:<%= @options[:port] %>;
52
52
  server_name <%= app[:server_names].join(' ') %>;
53
- root <%= app[:root] %>/public;
53
+ root '<%= app[:root] %>/public';
54
54
  passenger_enabled on;
55
55
  rails_env <%= app[:env] %>;
56
56
  passenger_spawn_method <%= app[:spawn_method] %>;
57
57
  <% if app[:min_instances] %>passenger_min_instances <%= app[:min_instances] %>;<% end %>
58
58
  <% if app[:analytics] %>passenger_analytics on;<% end %>
59
59
  <% if app[:debugger] %>passenger_debugger on;<% end %>
60
- <%
61
- # The following is to make Tower Top work. In Phusion Passenger Standalone we don't
62
- # care about inter-app security because it's meant for simple use cases; we
63
- # don't even support user switching. People who care about inter-app security
64
- # should just use Phusion Passenger for Apache or Nginx.
65
- %>
66
- passenger_app_rights inspect_basic_info;
67
60
  }
68
61
  <% end %>
69
62
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: passenger
3
3
  version: !ruby/object:Gem::Version
4
- hash: -1876988208
4
+ hash: -1876988207
5
5
  prerelease: true
6
6
  segments:
7
7
  - 3
8
8
  - 0
9
9
  - 0
10
- - pre1
11
- version: 3.0.0.pre1
10
+ - pre2
11
+ version: 3.0.0.pre2
12
12
  platform: ruby
13
13
  authors:
14
14
  - Phusion - http://www.phusion.nl/
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2010-09-14 00:00:00 +02:00
19
+ date: 2010-09-17 00:00:00 +02:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -735,6 +735,168 @@ files:
735
735
  - doc/images/spawn_server_architecture.svg
736
736
  - doc/images/typical_isolated_web_application.png
737
737
  - doc/images/typical_isolated_web_application.svg
738
+ - doc/rdoc/classes/ConditionVariable.html
739
+ - doc/rdoc/classes/Exception.html
740
+ - doc/rdoc/classes/GC.html
741
+ - doc/rdoc/classes/IO.html
742
+ - doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html
743
+ - doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html
744
+ - doc/rdoc/classes/PhusionPassenger/AbstractServer/InvalidPassword.html
745
+ - doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html
746
+ - doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html
747
+ - doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html
748
+ - doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html
749
+ - doc/rdoc/classes/PhusionPassenger/AbstractServer.html
750
+ - doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html
751
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats/Process.html
752
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats.html
753
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/CorruptedDirectoryError.html
754
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/GenerationsAbsentError.html
755
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Group.html
756
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Process.html
757
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/RoleDeniedError.html
758
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/StaleDirectoryError.html
759
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Stats.html
760
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/UnsupportedGenerationStructureVersionError.html
761
+ - doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance.html
762
+ - doc/rdoc/classes/PhusionPassenger/AdminTools.html
763
+ - doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/Log.html
764
+ - doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/SharedData.html
765
+ - doc/rdoc/classes/PhusionPassenger/AnalyticsLogger.html
766
+ - doc/rdoc/classes/PhusionPassenger/AppInitError.html
767
+ - doc/rdoc/classes/PhusionPassenger/AppProcess.html
768
+ - doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner/Error.html
769
+ - doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner.html
770
+ - doc/rdoc/classes/PhusionPassenger/ClassicRails/CGIFixed.html
771
+ - doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner/Error.html
772
+ - doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner.html
773
+ - doc/rdoc/classes/PhusionPassenger/ClassicRails/RequestHandler.html
774
+ - doc/rdoc/classes/PhusionPassenger/ClassicRails.html
775
+ - doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions/AnalyticsLogging.html
776
+ - doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions.html
777
+ - doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html
778
+ - doc/rdoc/classes/PhusionPassenger/DebugLogging.html
779
+ - doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html
780
+ - doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html
781
+ - doc/rdoc/classes/PhusionPassenger/InitializationError.html
782
+ - doc/rdoc/classes/PhusionPassenger/InvalidPath.html
783
+ - doc/rdoc/classes/PhusionPassenger/MessageChannel/InvalidHashError.html
784
+ - doc/rdoc/classes/PhusionPassenger/MessageChannel.html
785
+ - doc/rdoc/classes/PhusionPassenger/MessageClient.html
786
+ - doc/rdoc/classes/PhusionPassenger/NativeSupport/FileSystemWatcher.html
787
+ - doc/rdoc/classes/PhusionPassenger/NativeSupport.html
788
+ - doc/rdoc/classes/PhusionPassenger/Packaging.html
789
+ - doc/rdoc/classes/PhusionPassenger/PlatformInfo.html
790
+ - doc/rdoc/classes/PhusionPassenger/Plugin.html
791
+ - doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner/Error.html
792
+ - doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html
793
+ - doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html
794
+ - doc/rdoc/classes/PhusionPassenger/Rack.html
795
+ - doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ACExtension.html
796
+ - doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ASBenchmarkableExtension.html
797
+ - doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ExceptionLogger.html
798
+ - doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging.html
799
+ - doc/rdoc/classes/PhusionPassenger/Rails3Extensions.html
800
+ - doc/rdoc/classes/PhusionPassenger/SpawnManager.html
801
+ - doc/rdoc/classes/PhusionPassenger/Standalone/AppFinder.html
802
+ - doc/rdoc/classes/PhusionPassenger/Standalone/Command.html
803
+ - doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile/DisallowedContextError.html
804
+ - doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile.html
805
+ - doc/rdoc/classes/PhusionPassenger/Standalone/HelpCommand.html
806
+ - doc/rdoc/classes/PhusionPassenger/Standalone/Main.html
807
+ - doc/rdoc/classes/PhusionPassenger/Standalone/PackageRuntimeCommand.html
808
+ - doc/rdoc/classes/PhusionPassenger/Standalone/RuntimeInstaller.html
809
+ - doc/rdoc/classes/PhusionPassenger/Standalone/StartCommand.html
810
+ - doc/rdoc/classes/PhusionPassenger/Standalone/StatusCommand.html
811
+ - doc/rdoc/classes/PhusionPassenger/Standalone/StopCommand.html
812
+ - doc/rdoc/classes/PhusionPassenger/Standalone/Utils.html
813
+ - doc/rdoc/classes/PhusionPassenger/Standalone/VersionCommand.html
814
+ - doc/rdoc/classes/PhusionPassenger/Standalone.html
815
+ - doc/rdoc/classes/PhusionPassenger/UnknownError.html
816
+ - doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/DirInfo.html
817
+ - doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/FileInfo.html
818
+ - doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher.html
819
+ - doc/rdoc/classes/PhusionPassenger/Utils/HostsFileParser.html
820
+ - doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html
821
+ - doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html
822
+ - doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html
823
+ - doc/rdoc/classes/PhusionPassenger/Utils/UnseekableSocket.html
824
+ - doc/rdoc/classes/PhusionPassenger/Utils.html
825
+ - doc/rdoc/classes/PhusionPassenger/VersionNotFound.html
826
+ - doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html
827
+ - doc/rdoc/classes/PhusionPassenger/WSGI.html
828
+ - doc/rdoc/classes/PhusionPassenger.html
829
+ - doc/rdoc/classes/Process.html
830
+ - doc/rdoc/classes/Signal.html
831
+ - doc/rdoc/created.rid
832
+ - doc/rdoc/files/DEVELOPERS_TXT.html
833
+ - doc/rdoc/files/ext/phusion_passenger/native_support_c.html
834
+ - doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html
835
+ - doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html
836
+ - doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html
837
+ - doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html
838
+ - doc/rdoc/files/lib/phusion_passenger/admin_tools/memory_stats_rb.html
839
+ - doc/rdoc/files/lib/phusion_passenger/admin_tools/server_instance_rb.html
840
+ - doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html
841
+ - doc/rdoc/files/lib/phusion_passenger/analytics_logger_rb.html
842
+ - doc/rdoc/files/lib/phusion_passenger/app_process_rb.html
843
+ - doc/rdoc/files/lib/phusion_passenger/classic_rails/application_spawner_rb.html
844
+ - doc/rdoc/files/lib/phusion_passenger/classic_rails/cgi_fixed_rb.html
845
+ - doc/rdoc/files/lib/phusion_passenger/classic_rails/framework_spawner_rb.html
846
+ - doc/rdoc/files/lib/phusion_passenger/classic_rails/request_handler_rb.html
847
+ - doc/rdoc/files/lib/phusion_passenger/classic_rails_extensions/init_rb.html
848
+ - doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html
849
+ - doc/rdoc/files/lib/phusion_passenger/constants_rb.html
850
+ - doc/rdoc/files/lib/phusion_passenger/debug_logging_rb.html
851
+ - doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html
852
+ - doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html
853
+ - doc/rdoc/files/lib/phusion_passenger/html_template_rb.html
854
+ - doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html
855
+ - doc/rdoc/files/lib/phusion_passenger/message_client_rb.html
856
+ - doc/rdoc/files/lib/phusion_passenger/native_support_rb.html
857
+ - doc/rdoc/files/lib/phusion_passenger/packaging_rb.html
858
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/apache_rb.html
859
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/binary_compatibility_rb.html
860
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/compiler_rb.html
861
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/curl_rb.html
862
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/documentation_tools_rb.html
863
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/linux_rb.html
864
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/operating_system_rb.html
865
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/ruby_rb.html
866
+ - doc/rdoc/files/lib/phusion_passenger/platform_info/zlib_rb.html
867
+ - doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html
868
+ - doc/rdoc/files/lib/phusion_passenger/plugin_rb.html
869
+ - doc/rdoc/files/lib/phusion_passenger/public_api_rb.html
870
+ - doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html
871
+ - doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html
872
+ - doc/rdoc/files/lib/phusion_passenger/rails3_extensions/init_rb.html
873
+ - doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html
874
+ - doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html
875
+ - doc/rdoc/files/lib/phusion_passenger/standalone/app_finder_rb.html
876
+ - doc/rdoc/files/lib/phusion_passenger/standalone/command_rb.html
877
+ - doc/rdoc/files/lib/phusion_passenger/standalone/config_file_rb.html
878
+ - doc/rdoc/files/lib/phusion_passenger/standalone/help_command_rb.html
879
+ - doc/rdoc/files/lib/phusion_passenger/standalone/main_rb.html
880
+ - doc/rdoc/files/lib/phusion_passenger/standalone/package_runtime_command_rb.html
881
+ - doc/rdoc/files/lib/phusion_passenger/standalone/runtime_installer_rb.html
882
+ - doc/rdoc/files/lib/phusion_passenger/standalone/start_command_rb.html
883
+ - doc/rdoc/files/lib/phusion_passenger/standalone/status_command_rb.html
884
+ - doc/rdoc/files/lib/phusion_passenger/standalone/stop_command_rb.html
885
+ - doc/rdoc/files/lib/phusion_passenger/standalone/utils_rb.html
886
+ - doc/rdoc/files/lib/phusion_passenger/standalone/version_command_rb.html
887
+ - doc/rdoc/files/lib/phusion_passenger/utils/file_system_watcher_rb.html
888
+ - doc/rdoc/files/lib/phusion_passenger/utils/hosts_file_parser_rb.html
889
+ - doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html
890
+ - doc/rdoc/files/lib/phusion_passenger/utils/tmpdir_rb.html
891
+ - doc/rdoc/files/lib/phusion_passenger/utils/unseekable_socket_rb.html
892
+ - doc/rdoc/files/lib/phusion_passenger/utils_rb.html
893
+ - doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html
894
+ - doc/rdoc/files/README.html
895
+ - doc/rdoc/fr_class_index.html
896
+ - doc/rdoc/fr_file_index.html
897
+ - doc/rdoc/fr_method_index.html
898
+ - doc/rdoc/index.html
899
+ - doc/rdoc/rdoc-style.css
738
900
  - doc/Security of user switching support.html
739
901
  - doc/Security of user switching support.txt
740
902
  - doc/template/horo.rb
@@ -772,7 +934,6 @@ files:
772
934
  - ext/common/LoggingAgent/Main.cpp
773
935
  - ext/common/Utils/Base64.cpp
774
936
  - ext/common/Utils/CachedFileStat.cpp
775
- - ext/common/Utils/foo.cpp
776
937
  - ext/common/Utils/IOUtils.cpp
777
938
  - ext/common/Utils/MD5.cpp
778
939
  - ext/common/Utils/StrIntUtils.cpp