passenger 4.0.14 → 4.0.16
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- data.tar.gz.asc +7 -7
- data/NEWS +69 -0
- data/bin/passenger-install-apache2-module +7 -1
- data/bin/passenger-install-nginx-module +18 -1
- data/build/apache2.rb +25 -1
- data/build/basics.rb +7 -4
- data/build/debian.rb +72 -25
- data/build/nginx.rb +24 -0
- data/build/packaging.rb +45 -3
- data/debian.template/{control → control.template} +17 -8
- data/debian.template/ruby-passenger.install.template +1 -0
- data/debian.template/rules.template +9 -3
- data/dev/run_travis.sh +14 -0
- data/doc/Users guide Apache.idmap.txt +64 -48
- data/doc/Users guide Apache.txt +127 -93
- data/doc/Users guide Nginx.idmap.txt +46 -28
- data/doc/Users guide Nginx.txt +100 -12
- data/doc/images/{conservative_spawning.png → direct_spawning.png} +0 -0
- data/doc/images/{conservative_spawning.svg → direct_spawning.svg} +0 -0
- data/doc/users_guide_snippets/installation.txt +107 -66
- data/doc/users_guide_snippets/passenger_spawn_method.txt +1 -1
- data/doc/users_guide_snippets/rvm_helper_tool.txt +0 -12
- data/doc/users_guide_snippets/tips.txt +70 -3
- data/doc/users_guide_snippets/under_the_hood/page_caching_support.txt +2 -0
- data/doc/users_guide_snippets/under_the_hood/relationship_with_ruby.txt +114 -0
- data/ext/apache2/Configuration.cpp +53 -101
- data/ext/apache2/Configuration.hpp +19 -41
- data/ext/apache2/ConfigurationCommands.cpp +95 -0
- data/ext/apache2/ConfigurationCommands.cpp.erb +91 -0
- data/ext/apache2/ConfigurationFields.hpp +59 -0
- data/ext/apache2/ConfigurationFields.hpp.erb +89 -0
- data/ext/apache2/ConfigurationSetters.cpp +223 -0
- data/ext/apache2/ConfigurationSetters.cpp.erb +126 -0
- data/ext/apache2/CreateDirConfig.cpp +50 -0
- data/ext/apache2/CreateDirConfig.cpp.erb +71 -0
- data/ext/apache2/Hooks.cpp +6 -0
- data/ext/apache2/MergeDirConfig.cpp +103 -0
- data/ext/apache2/MergeDirConfig.cpp.erb +81 -0
- data/ext/common/ApplicationPool2/AppTypes.cpp +2 -0
- data/ext/common/ApplicationPool2/AppTypes.h +2 -0
- data/ext/common/ApplicationPool2/Common.h +1 -1
- data/ext/common/ApplicationPool2/Group.h +56 -7
- data/ext/common/ApplicationPool2/Implementation.cpp +133 -31
- data/ext/common/ApplicationPool2/Options.h +23 -2
- data/ext/common/ApplicationPool2/Pool.h +8 -1
- data/ext/common/ApplicationPool2/Process.h +9 -0
- data/ext/common/ApplicationPool2/Session.h +1 -0
- data/ext/common/ApplicationPool2/Spawner.h +21 -19
- data/ext/common/ApplicationPool2/SuperGroup.h +1 -1
- data/ext/common/Constants.h +21 -17
- data/ext/common/Constants.h.erb +1 -1
- data/ext/common/Exceptions.h +19 -0
- data/ext/common/ServerInstanceDir.h +8 -4
- data/ext/common/Utils.cpp +33 -1
- data/ext/common/Utils.h +14 -0
- data/ext/common/Utils/StrIntUtils.cpp +16 -0
- data/ext/common/Utils/StrIntUtils.h +5 -0
- data/ext/common/agents/HelperAgent/Main.cpp +5 -5
- data/ext/common/agents/HelperAgent/RequestHandler.h +94 -45
- data/ext/common/agents/LoggingAgent/Main.cpp +10 -26
- data/ext/common/agents/Watchdog/Main.cpp +4 -15
- data/ext/nginx/CacheLocationConfig.c +501 -0
- data/ext/nginx/CacheLocationConfig.c.erb +140 -0
- data/ext/nginx/Configuration.c +29 -453
- data/ext/nginx/Configuration.h +3 -21
- data/ext/nginx/ConfigurationCommands.c +501 -0
- data/ext/nginx/ConfigurationCommands.c.erb +136 -0
- data/ext/nginx/ConfigurationFields.h +89 -0
- data/ext/nginx/ConfigurationFields.h.erb +85 -0
- data/ext/nginx/ContentHandler.c +3 -166
- data/ext/nginx/CreateLocationConfig.c +146 -0
- data/ext/nginx/CreateLocationConfig.c.erb +70 -0
- data/ext/nginx/MergeLocationConfig.c +166 -0
- data/ext/nginx/MergeLocationConfig.c.erb +72 -0
- data/ext/nginx/config +4 -0
- data/ext/oxt/detail/tracable_exception_disabled.hpp +21 -1
- data/ext/oxt/detail/tracable_exception_enabled.hpp +4 -1
- data/ext/oxt/implementation.cpp +7 -1
- data/ext/oxt/macros.hpp +9 -7
- data/helper-scripts/backtrace-sanitizer.rb +23 -0
- data/helper-scripts/classic-rails-loader.rb +23 -0
- data/helper-scripts/classic-rails-preloader.rb +23 -0
- data/helper-scripts/download_binaries/extconf.rb +10 -5
- data/helper-scripts/meteor-loader.rb +127 -0
- data/helper-scripts/node-loader.js +1 -1
- data/helper-scripts/rack-preloader.rb +23 -0
- data/helper-scripts/system-memory-stats.py +22 -0
- data/helper-scripts/touch-dir.sh +48 -0
- data/lib/phusion_passenger.rb +1 -1
- data/lib/phusion_passenger/apache2/config_options.rb +104 -0
- data/lib/phusion_passenger/constants.rb +8 -0
- data/lib/phusion_passenger/native_support.rb +9 -1
- data/lib/phusion_passenger/nginx/config_options.rb +328 -0
- data/lib/phusion_passenger/packaging.rb +2 -2
- data/lib/phusion_passenger/platform_info/apache.rb +8 -0
- data/lib/phusion_passenger/platform_info/compiler.rb +2 -2
- data/lib/phusion_passenger/rails3_extensions/init.rb +19 -4
- data/lib/phusion_passenger/ruby_core_enhancements.rb +4 -1
- data/lib/phusion_passenger/standalone/app_finder.rb +3 -2
- data/lib/phusion_passenger/standalone/command.rb +1 -0
- data/lib/phusion_passenger/standalone/runtime_installer.rb +1 -6
- data/lib/phusion_passenger/standalone/runtime_locator.rb +9 -2
- data/lib/phusion_passenger/standalone/start_command.rb +45 -9
- data/lib/phusion_passenger/utils.rb +4 -1
- data/resources/templates/{nginx → installer_common}/run_installer_as_root.txt.erb +3 -1
- data/resources/templates/nginx/nginx_module_sources_not_available.txt.erb +6 -0
- data/resources/templates/standalone/config.erb +8 -8
- data/test/cxx/ApplicationPool2/PoolTest.cpp +120 -3
- data/test/cxx/RequestHandlerTest.cpp +66 -3
- data/test/integration_tests/native_packaging_spec.rb +41 -0
- data/test/integration_tests/nginx_tests.rb +1 -0
- data/test/integration_tests/standalone_tests.rb +4 -0
- data/test/ruby/shared/rails/analytics_logging_extensions_sharedspec.rb +22 -0
- data/test/stub/rails3.0/config/initializers/passenger.rb +2 -1
- data/test/stub/rails3.1/config/initializers/passenger.rb +2 -1
- data/test/stub/rails3.2/config/initializers/passenger.rb +2 -1
- data/test/stub/rails4.0/config/initializers/passenger.rb +5 -1
- data/test/stub/wsgi/passenger_wsgi.py +5 -0
- metadata +32 -7
- metadata.gz.asc +7 -7
- data/resources/templates/apache2/run_installer_as_root.txt.erb +0 -8
@@ -31,6 +31,7 @@ namespace tut {
|
|
31
31
|
BackgroundEventLoop bg;
|
32
32
|
SpawnerFactoryPtr spawnerFactory;
|
33
33
|
PoolPtr pool;
|
34
|
+
Pool::DebugSupportPtr debug;
|
34
35
|
shared_ptr<RequestHandler> handler;
|
35
36
|
FileDescriptor connection;
|
36
37
|
map<string, string> defaultHeaders;
|
@@ -73,6 +74,11 @@ namespace tut {
|
|
73
74
|
bg.start();
|
74
75
|
}
|
75
76
|
|
77
|
+
void initPoolDebugging() {
|
78
|
+
pool->initDebugging();
|
79
|
+
debug = pool->debugSupport;
|
80
|
+
}
|
81
|
+
|
76
82
|
FileDescriptor &connect() {
|
77
83
|
connection = connectToUnixServer(serverFilename);
|
78
84
|
return connection;
|
@@ -802,9 +808,9 @@ namespace tut {
|
|
802
808
|
// Get a reference to the orignal process and verify oobw has been requested.
|
803
809
|
ProcessPtr origProcess;
|
804
810
|
{
|
805
|
-
|
811
|
+
LockGuard l(pool->syncher);
|
806
812
|
origProcess = pool->superGroups.get(wsgiAppPath)->defaultGroup->disablingProcesses.front();
|
807
|
-
ensure(origProcess->oobwStatus == Process::
|
813
|
+
ensure("OOBW requested", origProcess->oobwStatus == Process::OOBW_IN_PROGRESS);
|
808
814
|
}
|
809
815
|
ensure("sanity check", origPid == origProcess->pid); // just a sanity check
|
810
816
|
|
@@ -817,7 +823,7 @@ namespace tut {
|
|
817
823
|
"PATH_INFO", "/pid",
|
818
824
|
NULL);
|
819
825
|
string response = readAll(connection);
|
820
|
-
ensure(containsSubstring(response, "Status: 200 OK\r\n"));
|
826
|
+
ensure("status is 200", containsSubstring(response, "Status: 200 OK\r\n"));
|
821
827
|
pid = atoi(stripHeaders(response));
|
822
828
|
result = (pid != origPid);
|
823
829
|
);
|
@@ -851,6 +857,63 @@ namespace tut {
|
|
851
857
|
ensure(result.find("Date: ") != string::npos);
|
852
858
|
}
|
853
859
|
|
860
|
+
TEST_METHOD(48) {
|
861
|
+
set_test_name("It should write an appropriate response if the request queue is overflown");
|
862
|
+
|
863
|
+
initPoolDebugging();
|
864
|
+
debug->restarting = false;
|
865
|
+
debug->spawning = false;
|
866
|
+
debug->testOverflowRequestQueue = true;
|
867
|
+
init();
|
868
|
+
connect();
|
869
|
+
sendHeaders(defaultHeaders,
|
870
|
+
"PASSENGER_APP_ROOT", wsgiAppPath.c_str(),
|
871
|
+
"PATH_INFO", "/",
|
872
|
+
NULL);
|
873
|
+
string response = readAll(connection);
|
874
|
+
ensure(response.find("Status: 503 Service Unavailable") != string::npos);
|
875
|
+
ensure(response.find("This website is under heavy load") != string::npos);
|
876
|
+
}
|
877
|
+
|
878
|
+
TEST_METHOD(49) {
|
879
|
+
set_test_name("It should use the status code dictated by PASSENGER_REQUEST_QUEUE_OVERFLOW_STATUS_CODE "
|
880
|
+
"if the request queue is overflown");
|
881
|
+
|
882
|
+
initPoolDebugging();
|
883
|
+
debug->restarting = false;
|
884
|
+
debug->spawning = false;
|
885
|
+
debug->testOverflowRequestQueue = true;
|
886
|
+
init();
|
887
|
+
connect();
|
888
|
+
sendHeaders(defaultHeaders,
|
889
|
+
"PASSENGER_APP_ROOT", wsgiAppPath.c_str(),
|
890
|
+
"PATH_INFO", "/",
|
891
|
+
"PASSENGER_REQUEST_QUEUE_OVERFLOW_STATUS_CODE", "504",
|
892
|
+
NULL);
|
893
|
+
string response = readAll(connection);
|
894
|
+
ensure(response.find("Status: 504 Gateway Timeout") != string::npos);
|
895
|
+
ensure(response.find("This website is under heavy load") != string::npos);
|
896
|
+
}
|
897
|
+
|
898
|
+
TEST_METHOD(50) {
|
899
|
+
set_test_name("PASSENGER_REQUEST_QUEUE_OVERFLOW_STATUS_CODE should work even if it is an unknown code");
|
900
|
+
|
901
|
+
initPoolDebugging();
|
902
|
+
debug->restarting = false;
|
903
|
+
debug->spawning = false;
|
904
|
+
debug->testOverflowRequestQueue = true;
|
905
|
+
init();
|
906
|
+
connect();
|
907
|
+
sendHeaders(defaultHeaders,
|
908
|
+
"PASSENGER_APP_ROOT", wsgiAppPath.c_str(),
|
909
|
+
"PATH_INFO", "/",
|
910
|
+
"PASSENGER_REQUEST_QUEUE_OVERFLOW_STATUS_CODE", "604",
|
911
|
+
NULL);
|
912
|
+
string response = readAll(connection);
|
913
|
+
ensure(response.find("Status: 604 Unknown Reason-Phrase") != string::npos);
|
914
|
+
ensure(response.find("This website is under heavy load") != string::npos);
|
915
|
+
}
|
916
|
+
|
854
917
|
// Test small response buffering.
|
855
918
|
// Test large response buffering.
|
856
919
|
}
|
@@ -35,6 +35,9 @@ abort "Please set the LOCATIONS_INI environment variable to the right locations.
|
|
35
35
|
source_root = File.expand_path("../..", File.dirname(__FILE__))
|
36
36
|
$LOAD_PATH.unshift("#{source_root}/lib")
|
37
37
|
require 'phusion_passenger'
|
38
|
+
require 'tmpdir'
|
39
|
+
require 'fileutils'
|
40
|
+
require 'open-uri'
|
38
41
|
|
39
42
|
BINDIR = "/usr/bin"
|
40
43
|
SBINDIR = "/usr/sbin"
|
@@ -60,6 +63,12 @@ describe "A natively packaged Phusion Passenger" do
|
|
60
63
|
return capture_output("which #{command}")
|
61
64
|
end
|
62
65
|
|
66
|
+
def sh(*command)
|
67
|
+
if !system(*command)
|
68
|
+
abort "Command failed: #{command.join(' ')}"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
63
72
|
specify "locations.ini only refers to existent filesystem locations" do
|
64
73
|
File.read(LOCATIONS_INI).split("\n").each do |line|
|
65
74
|
if line =~ /=/
|
@@ -199,4 +208,36 @@ describe "A natively packaged Phusion Passenger" do
|
|
199
208
|
output.should include("PassengerRoot #{LOCATIONS_INI}")
|
200
209
|
end
|
201
210
|
end
|
211
|
+
|
212
|
+
describe "Passenger Standalone" do
|
213
|
+
it "is in #{BINDIR}" do
|
214
|
+
which("passenger").should == "#{BINDIR}/passenger"
|
215
|
+
end
|
216
|
+
|
217
|
+
it "works" do
|
218
|
+
Dir.mktmpdir do |dir|
|
219
|
+
File.chmod(0755, dir)
|
220
|
+
Dir.chdir(dir) do
|
221
|
+
File.open("config.ru", "w") do |f|
|
222
|
+
f.write(%Q{
|
223
|
+
app = lambda do |env|
|
224
|
+
[200, { "Content-Type" => "text/plain" }, ["ok"]]
|
225
|
+
end
|
226
|
+
run app
|
227
|
+
})
|
228
|
+
end
|
229
|
+
Dir.mkdir("public")
|
230
|
+
Dir.mkdir("tmp")
|
231
|
+
sh("passenger start --no-compile-runtime -p 4000 -d >/dev/null")
|
232
|
+
begin
|
233
|
+
open("http://127.0.0.1:4000/") do |f|
|
234
|
+
f.read.should == "ok"
|
235
|
+
end
|
236
|
+
ensure
|
237
|
+
sh("passenger stop -p 4000")
|
238
|
+
end
|
239
|
+
end
|
240
|
+
end
|
241
|
+
end
|
242
|
+
end
|
202
243
|
end
|
@@ -281,6 +281,7 @@ describe "Phusion Passenger for Nginx" do
|
|
281
281
|
create_nginx_controller
|
282
282
|
@server = "http://passenger.test:#{@nginx.port}"
|
283
283
|
@stub = RackStub.new('rack')
|
284
|
+
@nginx.set(:max_pool_size => 2)
|
284
285
|
@nginx.add_server do |server|
|
285
286
|
server[:server_name] = "passenger.test"
|
286
287
|
server[:root] = "#{@stub.full_app_root}/public"
|
@@ -13,6 +13,8 @@ ENV['PATH'] = "#{PhusionPassenger.bin_dir}:#{ENV['PATH']}"
|
|
13
13
|
# This environment variable changes Passenger Standalone's behavior,
|
14
14
|
# so ensure that it's not set.
|
15
15
|
ENV.delete('PASSENGER_DEBUG')
|
16
|
+
ENV['PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY'] = '0'
|
17
|
+
ENV['PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY'] = '0'
|
16
18
|
|
17
19
|
describe "Passenger Standalone" do
|
18
20
|
after :each do
|
@@ -234,7 +236,9 @@ describe "Passenger Standalone" do
|
|
234
236
|
File.exist?("#{PhusionPassenger.source_root}/buildout").should be_false
|
235
237
|
|
236
238
|
test_serving_application("#{command} --no-compile-runtime")
|
239
|
+
File.exist?("#{PhusionPassenger.source_root}/buildout").should be_false
|
237
240
|
ensure
|
241
|
+
FileUtils.rm_rf("#{PhusionPassenger.source_root}/buildout")
|
238
242
|
File.rename("#{PhusionPassenger.source_root}/buildout.renamed",
|
239
243
|
"#{PhusionPassenger.source_root}/buildout")
|
240
244
|
end
|
@@ -167,6 +167,28 @@ shared_examples_for "analytics logging extensions for Rails" do
|
|
167
167
|
log =~ /END: DB BENCHMARK: .* \(.*\)$/
|
168
168
|
end
|
169
169
|
end
|
170
|
+
|
171
|
+
it "applies event preprocessor to log events" do
|
172
|
+
File.write("#{@stub.app_root}/app/controllers/foo_controller.rb", %Q{
|
173
|
+
class FooController < ActionController::Base
|
174
|
+
def index
|
175
|
+
db = ActiveRecord::Base.connection
|
176
|
+
db.execute("CREATE TABLE foobar (id INT)--secret")
|
177
|
+
db.execute("INSERT INTO foobar VALUES (1)")
|
178
|
+
render :nothing => true
|
179
|
+
end
|
180
|
+
end
|
181
|
+
})
|
182
|
+
start!(@options.merge("active_record" => true))
|
183
|
+
send_request_to_app("PATH_INFO" => "/foo")
|
184
|
+
extra_info_regex = Regexp.escape(base64("SQL\nCREATE TABLE foobar (id INT)--PASSWORD"))
|
185
|
+
eventually(5) do
|
186
|
+
flush_logging_agent(@logging_agent_password, @socket_address)
|
187
|
+
log = read_log
|
188
|
+
log =~ /BEGIN: DB BENCHMARK: .* \(.*\) #{extra_info_regex}$/ &&
|
189
|
+
log =~ /END: DB BENCHMARK: .* \(.*\)$/
|
190
|
+
end
|
191
|
+
end
|
170
192
|
|
171
193
|
it "logs failed SQL queries" do
|
172
194
|
File.write("#{@stub.app_root}/app/controllers/foo_controller.rb", %Q{
|
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
event_preprocessor = lambda { |e| e.payload[:sql].gsub!("secret","PASSWORD") if e.payload[:sql] }
|
2
|
+
PhusionPassenger.install_framework_extensions!(:event_preprocessor => event_preprocessor ) if defined?(PhusionPassenger)
|
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
event_preprocessor = lambda { |e| e.payload[:sql].gsub!("secret","PASSWORD") if e.payload[:sql] }
|
2
|
+
PhusionPassenger.install_framework_extensions!(:event_preprocessor => event_preprocessor ) if defined?(PhusionPassenger)
|
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
event_preprocessor = lambda { |e| e.payload[:sql].gsub!("secret","PASSWORD") if e.payload[:sql] }
|
2
|
+
PhusionPassenger.install_framework_extensions!(:event_preprocessor => event_preprocessor ) if defined?(PhusionPassenger)
|
@@ -60,6 +60,11 @@ def application(env, start_response):
|
|
60
60
|
i += 1
|
61
61
|
start_response(status, [('Content-Type', 'text/html'), ('Transfer-Encoding', 'chunked')])
|
62
62
|
return body()
|
63
|
+
elif path == '/sleep':
|
64
|
+
sleep_time = float(env.get('HTTP_X_SLEEP', 5))
|
65
|
+
time.sleep(sleep_time)
|
66
|
+
status = 200
|
67
|
+
body = 'ok'
|
63
68
|
elif path == '/blob':
|
64
69
|
size = int(env.get('HTTP_X_SIZE', 1024 * 1024 * 10))
|
65
70
|
def body():
|
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.
|
4
|
+
version: 4.0.16
|
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
|
+
date: 2013-09-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -109,6 +109,7 @@ files:
|
|
109
109
|
- lib/phusion_passenger/admin_tools/server_instance.rb
|
110
110
|
- lib/phusion_passenger/admin_tools.rb
|
111
111
|
- lib/phusion_passenger/analytics_logger.rb
|
112
|
+
- lib/phusion_passenger/apache2/config_options.rb
|
112
113
|
- lib/phusion_passenger/classic_rails/cgi_fixed.rb
|
113
114
|
- lib/phusion_passenger/classic_rails/thread_handler_extension.rb
|
114
115
|
- lib/phusion_passenger/common_library.rb
|
@@ -119,6 +120,7 @@ files:
|
|
119
120
|
- lib/phusion_passenger/message_channel.rb
|
120
121
|
- lib/phusion_passenger/message_client.rb
|
121
122
|
- lib/phusion_passenger/native_support.rb
|
123
|
+
- lib/phusion_passenger/nginx/config_options.rb
|
122
124
|
- lib/phusion_passenger/packaging.rb
|
123
125
|
- lib/phusion_passenger/platform_info/apache.rb
|
124
126
|
- lib/phusion_passenger/platform_info/apache_detector.rb
|
@@ -182,8 +184,8 @@ files:
|
|
182
184
|
- doc/DebuggingAndStressTesting.md
|
183
185
|
- doc/definitions.h
|
184
186
|
- doc/images/by_sa.png
|
185
|
-
- doc/images/
|
186
|
-
- doc/images/
|
187
|
+
- doc/images/direct_spawning.png
|
188
|
+
- doc/images/direct_spawning.svg
|
187
189
|
- doc/images/glyphicons-halflings-white.png
|
188
190
|
- doc/images/glyphicons-halflings.png
|
189
191
|
- doc/images/icons/callouts/1.png
|
@@ -256,13 +258,14 @@ files:
|
|
256
258
|
- doc/users_guide_snippets/support_information.txt
|
257
259
|
- doc/users_guide_snippets/tips.txt
|
258
260
|
- doc/users_guide_snippets/under_the_hood/page_caching_support.txt
|
261
|
+
- doc/users_guide_snippets/under_the_hood/relationship_with_ruby.txt
|
259
262
|
- man/passenger-config.1
|
260
263
|
- man/passenger-memory-stats.8
|
261
264
|
- man/passenger-status.8
|
262
265
|
- man/passenger-stress-test.1
|
263
266
|
- debian.template/changelog
|
264
267
|
- debian.template/compat
|
265
|
-
- debian.template/control
|
268
|
+
- debian.template/control.template
|
266
269
|
- debian.template/copyright
|
267
270
|
- debian.template/libapache2-mod-passenger.install
|
268
271
|
- debian.template/libapache2-mod-passenger.postinst
|
@@ -308,11 +311,13 @@ files:
|
|
308
311
|
- helper-scripts/classic-rails-loader.rb
|
309
312
|
- helper-scripts/classic-rails-preloader.rb
|
310
313
|
- helper-scripts/download_binaries/extconf.rb
|
314
|
+
- helper-scripts/meteor-loader.rb
|
311
315
|
- helper-scripts/node-loader.js
|
312
316
|
- helper-scripts/prespawn
|
313
317
|
- helper-scripts/rack-loader.rb
|
314
318
|
- helper-scripts/rack-preloader.rb
|
315
319
|
- helper-scripts/system-memory-stats.py
|
320
|
+
- helper-scripts/touch-dir.sh
|
316
321
|
- helper-scripts/wsgi-loader.py
|
317
322
|
- helper-scripts/wsgi-preloader.py
|
318
323
|
- ext/common/agents/Base.cpp
|
@@ -440,21 +445,41 @@ files:
|
|
440
445
|
- ext/common/Constants.h.erb
|
441
446
|
- ext/apache2/Bucket.cpp
|
442
447
|
- ext/apache2/Configuration.cpp
|
448
|
+
- ext/apache2/ConfigurationCommands.cpp
|
449
|
+
- ext/apache2/ConfigurationSetters.cpp
|
450
|
+
- ext/apache2/CreateDirConfig.cpp
|
443
451
|
- ext/apache2/Hooks.cpp
|
452
|
+
- ext/apache2/MergeDirConfig.cpp
|
444
453
|
- ext/apache2/Bucket.h
|
445
454
|
- ext/apache2/Configuration.h
|
446
455
|
- ext/apache2/DirectoryMapper.h
|
447
456
|
- ext/apache2/Hooks.h
|
448
457
|
- ext/apache2/Configuration.hpp
|
458
|
+
- ext/apache2/ConfigurationFields.hpp
|
449
459
|
- ext/apache2/mod_passenger.c
|
460
|
+
- ext/apache2/ConfigurationCommands.cpp.erb
|
461
|
+
- ext/apache2/ConfigurationFields.hpp.erb
|
462
|
+
- ext/apache2/ConfigurationSetters.cpp.erb
|
463
|
+
- ext/apache2/CreateDirConfig.cpp.erb
|
464
|
+
- ext/apache2/MergeDirConfig.cpp.erb
|
465
|
+
- ext/nginx/CacheLocationConfig.c
|
450
466
|
- ext/nginx/Configuration.c
|
467
|
+
- ext/nginx/ConfigurationCommands.c
|
451
468
|
- ext/nginx/ContentHandler.c
|
469
|
+
- ext/nginx/CreateLocationConfig.c
|
470
|
+
- ext/nginx/MergeLocationConfig.c
|
452
471
|
- ext/nginx/ngx_http_passenger_module.c
|
453
472
|
- ext/nginx/StaticContentHandler.c
|
454
473
|
- ext/nginx/Configuration.h
|
474
|
+
- ext/nginx/ConfigurationFields.h
|
455
475
|
- ext/nginx/ContentHandler.h
|
456
476
|
- ext/nginx/ngx_http_passenger_module.h
|
457
477
|
- ext/nginx/StaticContentHandler.h
|
478
|
+
- ext/nginx/CacheLocationConfig.c.erb
|
479
|
+
- ext/nginx/ConfigurationCommands.c.erb
|
480
|
+
- ext/nginx/ConfigurationFields.h.erb
|
481
|
+
- ext/nginx/CreateLocationConfig.c.erb
|
482
|
+
- ext/nginx/MergeLocationConfig.c.erb
|
458
483
|
- ext/nginx/config
|
459
484
|
- ext/boost/algorithm/string/case_conv.hpp
|
460
485
|
- ext/boost/algorithm/string/compare.hpp
|
@@ -2256,26 +2281,26 @@ files:
|
|
2256
2281
|
- resources/templates/apache2/deployment_example.txt.erb
|
2257
2282
|
- resources/templates/apache2/no_write_permission_to_passenger_root.txt.erb
|
2258
2283
|
- resources/templates/apache2/possible_solutions_for_compilation_and_installation_problems.txt.erb
|
2259
|
-
- resources/templates/apache2/run_installer_as_root.txt.erb
|
2260
2284
|
- resources/templates/apache2/welcome.txt.erb
|
2261
2285
|
- resources/templates/error_layout.css
|
2262
2286
|
- resources/templates/error_layout.html.template
|
2263
2287
|
- resources/templates/general_error.html.template
|
2264
2288
|
- resources/templates/general_error_with_html.html.template
|
2265
2289
|
- resources/templates/installer_common/low_amount_of_memory_warning.txt.erb
|
2290
|
+
- resources/templates/installer_common/run_installer_as_root.txt.erb
|
2266
2291
|
- resources/templates/nginx/ask_for_extra_configure_flags.txt.erb
|
2267
2292
|
- resources/templates/nginx/cannot_write_to_dir.txt.erb
|
2268
2293
|
- resources/templates/nginx/config_snippets.txt.erb
|
2269
2294
|
- resources/templates/nginx/config_snippets_inserted.txt.erb
|
2270
2295
|
- resources/templates/nginx/confirm_extra_configure_flags.txt.erb
|
2271
2296
|
- resources/templates/nginx/deployment_example.txt.erb
|
2297
|
+
- resources/templates/nginx/nginx_module_sources_not_available.txt.erb
|
2272
2298
|
- resources/templates/nginx/pcre_checksum_could_not_be_verified.txt.erb
|
2273
2299
|
- resources/templates/nginx/pcre_could_not_be_downloaded.txt.erb
|
2274
2300
|
- resources/templates/nginx/pcre_could_not_be_extracted.txt.erb
|
2275
2301
|
- resources/templates/nginx/possible_solutions_for_compilation_and_installation_problems.txt.erb
|
2276
2302
|
- resources/templates/nginx/possible_solutions_for_download_and_extraction_problems.txt.erb
|
2277
2303
|
- resources/templates/nginx/query_download_and_install.txt.erb
|
2278
|
-
- resources/templates/nginx/run_installer_as_root.txt.erb
|
2279
2304
|
- resources/templates/nginx/welcome.txt.erb
|
2280
2305
|
- resources/templates/standalone/cannot_write_to_dir.txt.erb
|
2281
2306
|
- resources/templates/standalone/config.erb
|
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
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
=
|
5
|
+
iQEcBAABAgAGBQJSKZrGAAoJECrHRaUKISqMSgEH/0piSIDZIAab2vN4/ds5hfCC
|
6
|
+
FcOPzSBreoKcCGVZlY+HBnS5DIRMpYr9OYhIUtJUHWxAcyfdSvU5MoaCRHFvVFEK
|
7
|
+
s2j+gtX22SccQBfukx50d6EVBOTh8r7Aq0/Uq8EDqkq8Zd/1UcB3xcfRDhQ73OXW
|
8
|
+
Tqe/KC7zlXw4JEClvw3s9gFOUepXWCTQex2fnkmDLNm3PQIGVc+ePuCFAbZK97gj
|
9
|
+
L7O8Ug3lYJ1WdLQKPTx64Z2GXq5IWPnq6zTvCfzDvuSnI+UCC5K7ZBtpKk5973el
|
10
|
+
V8Ii+y0/wdLxeWztBdDHEeQAhnEqZHRRAaDCAUhXSmFeD5nJM+dcLCZQCexvnCM=
|
11
|
+
=0YE2
|
12
12
|
-----END PGP SIGNATURE-----
|
@@ -1,8 +0,0 @@
|
|
1
|
-
<red>Permission problems</red>
|
2
|
-
|
3
|
-
This installer must be able to write to the following directory:
|
4
|
-
|
5
|
-
<b><%= @path || ::PASSENGER_ROOT %></b>
|
6
|
-
|
7
|
-
But it can't do that, because you're running the installer as <b><%= `whoami`.strip %></b>.
|
8
|
-
Please re-run this installer as <b>root</b>.
|