passenger 5.0.14 → 5.0.15

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 (70) hide show
  1. checksums.yaml +8 -8
  2. checksums.yaml.gz.asc +7 -7
  3. data.tar.gz.asc +7 -7
  4. data/CHANGELOG +9 -0
  5. data/INSTALL.md +1 -1
  6. data/LICENSE +1 -1
  7. data/README.md +1 -1
  8. data/bin/passenger-install-apache2-module +6 -10
  9. data/bin/passenger-install-nginx-module +6 -9
  10. data/doc/CloudLicensingConfiguration.html +1 -216
  11. data/doc/CloudLicensingConfiguration.txt.md +1 -192
  12. data/doc/Design and Architecture.html +4 -4
  13. data/doc/Design and Architecture.txt +4 -4
  14. data/doc/ServerOptimizationGuide.html +1 -489
  15. data/doc/ServerOptimizationGuide.txt.md +1 -399
  16. data/doc/Users guide Apache.html +594 -6720
  17. data/doc/Users guide Apache.idmap.txt +15 -12
  18. data/doc/Users guide Apache.txt +113 -2047
  19. data/doc/Users guide Nginx.html +565 -6720
  20. data/doc/Users guide Nginx.idmap.txt +15 -12
  21. data/doc/Users guide Nginx.txt +94 -1862
  22. data/doc/Users guide Standalone.html +53 -2183
  23. data/doc/Users guide Standalone.idmap.txt +9 -6
  24. data/doc/Users guide Standalone.txt +16 -360
  25. data/doc/Users guide.html +3 -145
  26. data/doc/Users guide.txt +2 -54
  27. data/doc/users_guide_snippets/analysis_and_system_maintenance.txt +36 -175
  28. data/doc/users_guide_snippets/appendix_c_spawning_methods.txt +9 -215
  29. data/doc/users_guide_snippets/environment_variables.txt +11 -243
  30. data/doc/users_guide_snippets/installation.txt +66 -946
  31. data/doc/users_guide_snippets/rackup_specifications.txt +1 -75
  32. data/doc/users_guide_snippets/support_information.txt +1 -48
  33. data/doc/users_guide_snippets/tips.txt +103 -704
  34. data/doc/users_guide_snippets/troubleshooting/default.txt +16 -130
  35. data/doc/users_guide_snippets/troubleshooting/rails.txt +15 -12
  36. data/doc/users_guide_snippets/under_the_hood/relationship_with_ruby.txt +2 -113
  37. data/ext/apache2/Configuration.hpp +2 -2
  38. data/ext/apache2/Hooks.cpp +2 -2
  39. data/ext/common/AgentsStarter.h +18 -10
  40. data/ext/common/ApplicationPool2/ErrorRenderer.h +0 -3
  41. data/ext/common/ApplicationPool2/Options.h +8 -1
  42. data/ext/common/Constants.h +3 -9
  43. data/ext/common/agent/Core/RequestHandler/InitRequest.cpp +2 -0
  44. data/ext/common/agent/Watchdog/Main.cpp +1 -1
  45. data/ext/nginx/ContentHandler.c +2 -3
  46. data/ext/nginx/config +2 -2
  47. data/lib/phusion_passenger.rb +1 -22
  48. data/lib/phusion_passenger/abstract_installer.rb +10 -10
  49. data/lib/phusion_passenger/config/agent_compiler.rb +5 -5
  50. data/lib/phusion_passenger/config/nginx_engine_compiler.rb +4 -4
  51. data/lib/phusion_passenger/config/validate_install_command.rb +3 -3
  52. data/lib/phusion_passenger/constants.rb +1 -5
  53. data/lib/phusion_passenger/loader_shared_helpers.rb +16 -5
  54. data/lib/phusion_passenger/platform_info/apache_detector.rb +2 -2
  55. data/lib/phusion_passenger/public_api.rb +11 -2
  56. data/lib/phusion_passenger/request_handler/thread_handler.rb +2 -3
  57. data/lib/phusion_passenger/ruby_core_io_enhancements.rb +4 -1
  58. data/lib/phusion_passenger/standalone/start_command.rb +1 -1
  59. data/resources/oss-binaries.phusionpassenger.com.crt +124 -0
  60. data/resources/templates/apache2/deployment_example.txt.erb +5 -23
  61. data/resources/templates/apache2/installing_against_a_different_apache.txt.erb +3 -4
  62. data/resources/templates/apache2/possible_solutions_for_compilation_and_installation_problems.txt.erb +3 -3
  63. data/resources/templates/apache2/rpm_installation_recommended.txt.erb +1 -1
  64. data/resources/templates/installer_common/low_amount_of_memory_warning.txt.erb +4 -5
  65. data/resources/templates/nginx/deployment_example.txt.erb +5 -17
  66. data/resources/templates/nginx/possible_solutions_for_compilation_and_installation_problems.txt.erb +3 -3
  67. data/resources/templates/standalone/config.erb +1 -1
  68. data/resources/templates/undisclosed_error.html.template +4 -11
  69. metadata +2 -2
  70. metadata.gz.asc +7 -7
@@ -38,8 +38,6 @@
38
38
 
39
39
  #define AGENT_EXE "PassengerAgent"
40
40
 
41
- #define APACHE2_DOC_URL "https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html"
42
-
43
41
  #define DEB_APACHE_MODULE_PACKAGE "libapache2-mod-passenger"
44
42
 
45
43
  #define DEB_DEV_PACKAGE "passenger-dev"
@@ -64,6 +62,8 @@
64
62
 
65
63
  #define DEFAULT_HTTP_SERVER_LISTEN_ADDRESS "tcp://127.0.0.1:3000"
66
64
 
65
+ #define DEFAULT_INTEGRATION_MODE "standalone"
66
+
67
67
  #define DEFAULT_LOG_LEVEL 3
68
68
 
69
69
  #define DEFAULT_MAX_POOL_SIZE 6
@@ -108,14 +108,10 @@
108
108
 
109
109
  #define GLOBAL_NAMESPACE_DIRNAME "passenger"
110
110
 
111
- #define INDEX_DOC_URL "https://www.phusionpassenger.com/documentation/Users%20guide.html"
112
-
113
111
  #define MESSAGE_SERVER_MAX_PASSWORD_SIZE 100
114
112
 
115
113
  #define MESSAGE_SERVER_MAX_USERNAME_SIZE 100
116
114
 
117
- #define NGINX_DOC_URL "https://www.phusionpassenger.com/documentation/Users%20guide%20Nginx.html"
118
-
119
115
  #define PASSENGER_API_VERSION "0.2"
120
116
 
121
117
  #define PASSENGER_API_VERSION_MAJOR 0
@@ -124,7 +120,7 @@
124
120
 
125
121
  #define PASSENGER_DEFAULT_USER "nobody"
126
122
 
127
- #define PASSENGER_VERSION "5.0.14"
123
+ #define PASSENGER_VERSION "5.0.15"
128
124
 
129
125
  #define POOL_HELPER_THREAD_STACK_SIZE 262144
130
126
 
@@ -154,8 +150,6 @@
154
150
 
155
151
  #define SHORT_PROGRAM_NAME "Passenger"
156
152
 
157
- #define STANDALONE_DOC_URL "https://www.phusionpassenger.com/documentation/Users%20guide%20Standalone.html"
158
-
159
153
  #define STANDALONE_NGINX_CONFIGURE_OPTIONS "--with-cc-opt='-Wno-error' --without-http_fastcgi_module --without-http_scgi_module --without-http_uwsgi_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module"
160
154
 
161
155
  #define SUPPORT_URL "https://www.phusionpassenger.com/documentation_and_support"
@@ -219,6 +219,8 @@ fillPoolOptionsFromAgentsOptions(Options &options) {
219
219
  }
220
220
 
221
221
  options.logLevel = getLogLevel();
222
+ options.integrationMode = agentsOptions->get("integration_mode",
223
+ false, DEFAULT_INTEGRATION_MODE);
222
224
  options.ustRouterAddress = ustRouterAddress;
223
225
  options.ustRouterUsername = P_STATIC_STRING("logging");
224
226
  options.ustRouterPassword = ustRouterPassword;
@@ -799,7 +799,7 @@ setAgentsOptionsDefaults() {
799
799
  options.set("default_group",
800
800
  inferDefaultGroup(options.get("default_user")));
801
801
  }
802
- options.setDefault("integration_mode", "standalone");
802
+ options.setDefault("integration_mode", DEFAULT_INTEGRATION_MODE);
803
803
  if (options.get("integration_mode") == "standalone") {
804
804
  options.setDefault("standalone_engine", "builtin");
805
805
  }
@@ -1426,9 +1426,8 @@ passenger_content_handler(ngx_http_request_t *r)
1426
1426
  ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0,
1427
1427
  "%s; This error means that the Nginx worker process (PID %d, "
1428
1428
  "running as UID %d) does not have permission to access this file. "
1429
- "Please read the manual to learn how to fix this problem: "
1430
- "section 'Troubleshooting' -> 'Upon accessing the web app, Nginx "
1431
- "reports a \"Permission denied\" error'; Extra info",
1429
+ "Please read this page to learn how to fix this problem: "
1430
+ "https://www.phusionpassenger.com/library/admin/nginx/troubleshooting/?a=upon-accessing-the-web-app-nginx-reports-a-permission-denied-error; Extra info",
1432
1431
  error.message,
1433
1432
  (int) getpid(),
1434
1433
  (int) getuid());
@@ -1,8 +1,8 @@
1
1
  # passenger-config is run with the 'ruby' command in $PATH, even when natively packaged,
2
2
  # so we check whether 'ruby' is correctly in $PATH.
3
3
  if ! ruby -v >/dev/null 2>/dev/null; then
4
- echo '*** ERROR: Cannot find the "ruby" command in $PATH. Please fix your $PATH. You can learn more about $PATH at: https://www.phusionpassenger.com/documentation/Users%20guide%20Nginx.html#_the_path_environment_variable'
5
- echo '*** Do you think that you set $PATH correctly, and you happen to be using sudo or rvmsudo? Read this: https://www.phusionpassenger.com/documentation/Users%20guide%20Nginx.html#env_vars_and_sudo'
4
+ echo '*** ERROR: Cannot find the "ruby" command in $PATH. Please fix your $PATH. You can learn more about $PATH at: https://www.phusionpassenger.com/library/indepth/environment_variables.html#the-path-environment-variable'
5
+ echo '*** Do you think that you set $PATH correctly, and you happen to be using sudo or rvmsudo? Read this: https://www.phusionpassenger.com/library/indepth/environment_variables.html#environment-variables-and-sudo'
6
6
  exit 1
7
7
  fi
8
8
 
@@ -30,7 +30,7 @@ module PhusionPassenger
30
30
 
31
31
  PACKAGE_NAME = 'passenger'
32
32
  # Run 'rake ext/common/Constants.h' after changing this number.
33
- VERSION_STRING = '5.0.14'
33
+ VERSION_STRING = '5.0.15'
34
34
 
35
35
  PREFERRED_NGINX_VERSION = '1.8.0'
36
36
  NGINX_SHA256_CHECKSUM = '23cca1239990c818d8f6da118320c4979aadf5386deda691b1b7c2c96b9df3d5'
@@ -207,30 +207,9 @@ module PhusionPassenger
207
207
  return nil
208
208
  end
209
209
 
210
- def self.index_doc_path
211
- return "#{doc_dir}/#{INDEX_DOC_NAME}"
212
- end
213
-
214
- def self.apache2_doc_path
215
- return "#{doc_dir}/#{APACHE2_DOC_NAME}"
216
- end
217
-
218
- def self.nginx_doc_path
219
- return "#{doc_dir}/#{NGINX_DOC_NAME}"
220
- end
221
-
222
- def self.standalone_doc_path
223
- return "#{doc_dir}/#{STANDALONE_DOC_NAME}"
224
- end
225
-
226
210
 
227
211
  ###### Other resource locations ######
228
212
 
229
- INDEX_DOC_NAME = "Users guide.html".freeze
230
- APACHE2_DOC_NAME = "Users guide Apache.html".freeze
231
- NGINX_DOC_NAME = "Users guide Nginx.html".freeze
232
- STANDALONE_DOC_NAME = "Users guide Standalone.html".freeze
233
-
234
213
  def self.binaries_sites
235
214
  return [
236
215
  { :url => "https://oss-binaries.phusionpassenger.com/binaries/passenger/by_release".freeze,
@@ -1,5 +1,5 @@
1
1
  # Phusion Passenger - https://www.phusionpassenger.com/
2
- # Copyright (c) 2010-2014 Phusion
2
+ # Copyright (c) 2010-2015 Phusion
3
3
  #
4
4
  # "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
5
5
  #
@@ -49,6 +49,7 @@ module PhusionPassenger
49
49
  # installer.run
50
50
  class AbstractInstaller
51
51
  PASSENGER_WEBSITE = "https://www.phusionpassenger.com"
52
+ PASSENGER_LIBRARY_URL = "https://www.phusionpassenger.com/library/"
52
53
  PHUSION_WEBSITE = "www.phusion.nl"
53
54
 
54
55
  # Create an AbstractInstaller. All options will be stored as instance
@@ -119,12 +120,12 @@ module PhusionPassenger
119
120
  STDOUT.flush
120
121
  end
121
122
 
122
- def users_guide_path
123
- return PhusionPassenger.index_doc_path
123
+ def install_doc_url
124
+ "https://www.phusionpassenger.com/library/install/"
124
125
  end
125
126
 
126
- def users_guide_url
127
- return INDEX_DOC_URL
127
+ def troubleshooting_doc_url
128
+ "https://www.phusionpassenger.com/library/admin/troubleshooting/"
128
129
  end
129
130
 
130
131
  def dependencies
@@ -170,10 +171,10 @@ module PhusionPassenger
170
171
  puts
171
172
  end
172
173
  puts "If the aforementioned instructions didn't solve your problem, then please take"
173
- puts "a look at the Users Guide:"
174
+ puts "a look at our documentation for troubleshooting tips:"
174
175
  puts
175
- puts " <yellow>#{users_guide_path}</yellow>"
176
- puts " <yellow>#{users_guide_url}</yellow>"
176
+ puts " <yellow>#{install_doc_url}</yellow>"
177
+ puts " <yellow>#{troubleshooting_doc_url}</yellow>"
177
178
  return false
178
179
  end
179
180
  end
@@ -241,8 +242,7 @@ module PhusionPassenger
241
242
  :current => ram_mb + swap_mb,
242
243
  :ram => ram_mb,
243
244
  :swap => swap_mb,
244
- :doc_path => users_guide_path,
245
- :doc_url => users_guide_url
245
+ :install_doc_url => install_doc_url
246
246
  wait
247
247
  end
248
248
  end
@@ -1,7 +1,7 @@
1
1
  # encoding: utf-8
2
2
  #
3
3
  # Phusion Passenger - https://www.phusionpassenger.com/
4
- # Copyright (c) 2010-2014 Phusion
4
+ # Copyright (c) 2010-2015 Phusion
5
5
  #
6
6
  # "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
7
7
  #
@@ -56,12 +56,12 @@ module PhusionPassenger
56
56
  return [specs, ids]
57
57
  end
58
58
 
59
- def users_guide_path
60
- return PhusionPassenger.standalone_doc_path
59
+ def install_doc_url
60
+ "https://www.phusionpassenger.com/library/install/standalone/"
61
61
  end
62
62
 
63
- def users_guide_url
64
- return STANDALONE_DOC_URL
63
+ def troubleshooting_doc_url
64
+ "https://www.phusionpassenger.com/library/admin/standalone/troubleshooting/"
65
65
  end
66
66
 
67
67
  def run_steps
@@ -61,12 +61,12 @@ module PhusionPassenger
61
61
  return [specs, ids]
62
62
  end
63
63
 
64
- def users_guide_path
65
- return PhusionPassenger.standalone_doc_path
64
+ def install_doc_url
65
+ "https://www.phusionpassenger.com/library/install/standalone/"
66
66
  end
67
67
 
68
- def users_guide_url
69
- return STANDALONE_DOC_URL
68
+ def troubleshooting_doc_url
69
+ "https://www.phusionpassenger.com/library/admin/standalone/troubleshooting/"
70
70
  end
71
71
 
72
72
  def run_steps
@@ -219,7 +219,7 @@ module PhusionPassenger
219
219
 
220
220
  Learn more at about PATH at:
221
221
 
222
- #{NGINX_DOC_URL}#_the_path_environment_variable
222
+ https://www.phusionpassenger.com/library/indepth/environment_variables.html#the-path-environment-variable
223
223
  }
224
224
  end
225
225
  end
@@ -352,10 +352,10 @@ module PhusionPassenger
352
352
  log " Re-run this program with: <b>--apxs2-path '#{result.apxs2}'</b>"
353
353
  end
354
354
  log ""
355
- log "You may also want to read the \"Installation\" section of the manual for"
355
+ log "You may also want to read the \"Installation\" section of Passenger Library"
356
356
  log "installation troubleshooting:"
357
357
  log ""
358
- log " #{APACHE2_DOC_URL}"
358
+ log " https://www.phusionpassenger.com/library/install/apache/"
359
359
  log ""
360
360
  log "If you keep having problems installing, please visit the following website for"
361
361
  log "support:"
@@ -26,7 +26,6 @@ module PhusionPassenger
26
26
  UNION_STATION_REQUEST_TRANSACTION = "UNION_STATION_REQUEST_TRANSACTION".freeze
27
27
  PASSENGER_TXN_ID = "PASSENGER_TXN_ID".freeze
28
28
  PASSENGER_APP_GROUP_NAME = "PASSENGER_APP_GROUP_NAME".freeze
29
- PASSENGER_UNION_STATION_KEY = "UNION_STATION_KEY".freeze
30
29
  RACK_HIJACK_IO = "rack.hijack_io".freeze
31
30
 
32
31
  LVL_CRIT = 0
@@ -44,6 +43,7 @@ module PhusionPassenger
44
43
  module SharedConstants
45
44
  # Default config values
46
45
  DEFAULT_LOG_LEVEL = 3
46
+ DEFAULT_INTEGRATION_MODE = "standalone"
47
47
  DEFAULT_RUBY = "ruby"
48
48
  DEFAULT_PYTHON = "python"
49
49
  DEFAULT_NODEJS = "node"
@@ -97,10 +97,6 @@ module PhusionPassenger
97
97
  SHORT_PROGRAM_NAME = "Passenger"
98
98
  SERVER_TOKEN_NAME = "Phusion_Passenger"
99
99
  FLYING_PASSENGER_NAME = "Flying Passenger"
100
- INDEX_DOC_URL = "https://www.phusionpassenger.com/documentation/Users%20guide.html"
101
- APACHE2_DOC_URL = "https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html"
102
- NGINX_DOC_URL = "https://www.phusionpassenger.com/documentation/Users%20guide%20Nginx.html"
103
- STANDALONE_DOC_URL = "https://www.phusionpassenger.com/documentation/Users%20guide%20Standalone.html"
104
100
  SUPPORT_URL = "https://www.phusionpassenger.com/documentation_and_support"
105
101
  ENTERPRISE_URL = "https://www.phusionpassenger.com/enterprise"
106
102
  GLOBAL_NAMESPACE_DIRNAME = PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME_
@@ -46,15 +46,25 @@ module PhusionPassenger
46
46
  def check_rvm_using_wrapper_script(options)
47
47
  ruby = options["ruby"]
48
48
  if ruby =~ %r(/\.?rvm/) && ruby =~ %r(/bin/ruby$)
49
- raise "You've set the `PassengerRuby` (Apache) or `passenger_ruby` (Nginx) option to '#{ruby}'. " +
49
+ case options["integration_mode"] || DEFAULT_INTEGRATION_MODE
50
+ when "nginx"
51
+ passenger_ruby = "passenger_ruby"
52
+ passenger_ruby_doc = "https://www.phusionpassenger.com/library/config/nginx/reference/#setting_correct_passenger_ruby_value"
53
+ when "apache"
54
+ passenger_ruby = "PassengerRuby"
55
+ passenger_ruby_doc = "https://www.phusionpassenger.com/library/config/apache/reference/#setting_correct_passenger_ruby_value"
56
+ when "standalone"
57
+ passenger_ruby = "--ruby"
58
+ passenger_ruby_doc = "https://www.phusionpassenger.com/library/config/standalone/reference/#setting_correct_passenger_ruby_value"
59
+ end
60
+
61
+ raise "You've set the `#{passenger_ruby}` option to '#{ruby}'. " +
50
62
  "However, because you are using RVM, this is not allowed: the option must point to " +
51
63
  "an RVM wrapper script, not a raw Ruby binary. This is because RVM is implemented " +
52
64
  "through various environment variables, which are set through the wrapper script.\n" +
53
65
  "\n" +
54
- "To find out the correct value for `PassengerRuby`/`passenger_ruby`, please read:\n\n" +
55
- " #{APACHE2_DOC_URL}#PassengerRuby\n\n" +
56
- " #{NGINX_DOC_URL}#PassengerRuby\n\n" +
57
- "Scroll to section 'RVM helper tool'.\n" +
66
+ "To find out the correct value for `#{passenger_ruby}`, please read:\n\n" +
67
+ " #{passenger_ruby_doc}\n" +
58
68
  "\n-------------------------\n"
59
69
  end
60
70
  end
@@ -213,6 +223,7 @@ module PhusionPassenger
213
223
  # Instantiate the Union Station core if requested. Can be nil.
214
224
  PhusionPassenger.require_passenger_lib 'union_station/core'
215
225
  options["union_station_core"] = UnionStation::Core.new_from_options(options)
226
+ PhusionPassenger.union_station_key = options["union_station_key"]
216
227
  end
217
228
 
218
229
  def run_load_path_setup_code(options)
@@ -234,11 +234,11 @@ module PhusionPassenger
234
234
  log " #{apache2_dev_install_instructions}"
235
235
  log ""
236
236
  log "If you are sure that you have Apache installed, please read the documentation:"
237
- log "<b>#{APACHE2_DOC_URL}#forcing_location_of_command_line_tools_and_dependencies</b>"
237
+ log "<b>https://www.phusionpassenger.com/library/install/apache/customizing_compilation_process.html#forcing-location-of-command-line-tools-and-dependencies</b>"
238
238
  elsif @results.size > 1
239
239
  log "<yellow>WARNING: You have multiple Apache installations on your system!</yellow>"
240
240
  log "You are strongly recommended to read this section of the documentation:"
241
- log "<b>#{APACHE2_DOC_URL}#multiple_apache_installs</b>"
241
+ log "<b>https://www.phusionpassenger.com/install/apache/multiple_apache_installs.html</b>"
242
242
  end
243
243
  end
244
244
 
@@ -1,5 +1,5 @@
1
1
  # Phusion Passenger - https://www.phusionpassenger.com/
2
- # Copyright (c) 2010-2013 Phusion
2
+ # Copyright (c) 2010-2015 Phusion
3
3
  #
4
4
  # "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
5
5
  #
@@ -30,6 +30,7 @@ module PhusionPassenger
30
30
  @@event_after_installing_signal_handlers = []
31
31
  @@event_oob_work = []
32
32
  @@advertised_concurrency_level = nil
33
+ @@union_station_key = nil
33
34
 
34
35
  def on_event(name, &block)
35
36
  callback_list_for_event(name) << block
@@ -57,6 +58,14 @@ module PhusionPassenger
57
58
  @@advertised_concurrency_level = value
58
59
  end
59
60
 
61
+ def union_station_key
62
+ @@union_station_key
63
+ end
64
+
65
+ def union_station_key=(value)
66
+ @@union_station_key = value
67
+ end
68
+
60
69
  def measure_and_log_event(env, name)
61
70
  transaction = lookup_union_station_web_transaction(env)
62
71
  if transaction
@@ -80,7 +89,7 @@ module PhusionPassenger
80
89
  transaction = core.new_transaction(
81
90
  env[PASSENGER_APP_GROUP_NAME],
82
91
  :exceptions,
83
- env[PASSENGER_UNION_STATION_KEY])
92
+ union_station_key)
84
93
  begin
85
94
  request_txn_id = env[PASSENGER_TXN_ID]
86
95
  message = exception.message
@@ -320,17 +320,16 @@ module PhusionPassenger
320
320
 
321
321
  if @union_station_core && headers[PASSENGER_TXN_ID]
322
322
  txn_id = headers[PASSENGER_TXN_ID]
323
- union_station_key = headers[PASSENGER_UNION_STATION_KEY]
324
323
  transaction = @union_station_core.continue_transaction(txn_id,
325
324
  @app_group_name,
326
- :requests, union_station_key)
325
+ :requests,
326
+ PhusionPassenger.union_station_key)
327
327
  headers[UNION_STATION_REQUEST_TRANSACTION] = transaction
328
328
  headers[UNION_STATION_CORE] = @union_station_core
329
329
  headers[PASSENGER_APP_GROUP_NAME] = @app_group_name
330
330
  Thread.current[UNION_STATION_REQUEST_TRANSACTION] = transaction
331
331
  Thread.current[UNION_STATION_CORE] = @union_station_core
332
332
  Thread.current[PASSENGER_TXN_ID] = txn_id
333
- Thread.current[PASSENGER_UNION_STATION_KEY] = union_station_key
334
333
  if OBJECT_SPACE_SUPPORTS_LIVE_OBJECTS
335
334
  transaction.message("Initial objects on heap: #{ObjectSpace.live_objects}")
336
335
  end
@@ -91,7 +91,10 @@ class IO
91
91
 
92
92
  if IO.method_defined?(:close_on_exec=)
93
93
  def close_on_exec!
94
- self.close_on_exec = true
94
+ begin
95
+ self.close_on_exec = true
96
+ rescue NotImplementedError
97
+ end
95
98
  end
96
99
  else
97
100
  require 'fcntl'
@@ -652,7 +652,7 @@ module PhusionPassenger
652
652
  else
653
653
  puts "You can stop #{PROGRAM_NAME} Standalone by pressing Ctrl-C."
654
654
  end
655
- puts "Problems? Check #{STANDALONE_DOC_URL}#troubleshooting"
655
+ puts "Problems? Check https://www.phusionpassenger.com/library/admin/standalone/troubleshooting/"
656
656
  puts "==============================================================================="
657
657
  end
658
658
 
@@ -122,3 +122,127 @@ Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
122
122
  c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
123
123
  mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
124
124
  -----END CERTIFICATE-----
125
+ -----BEGIN CERTIFICATE-----
126
+ MIIFiDCCBHCgAwIBAgIRAKKbTg2s/HrxiepdR5rZv4QwDQYJKoZIhvcNAQELBQAw
127
+ gZAxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
128
+ BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTYwNAYD
129
+ VQQDEy1DT01PRE8gUlNBIERvbWFpbiBWYWxpZGF0aW9uIFNlY3VyZSBTZXJ2ZXIg
130
+ Q0EwHhcNMTUwNzI4MDAwMDAwWhcNMTgwODA2MjM1OTU5WjBlMSEwHwYDVQQLExhE
131
+ b21haW4gQ29udHJvbCBWYWxpZGF0ZWQxFDASBgNVBAsTC1Bvc2l0aXZlU1NMMSow
132
+ KAYDVQQDEyFvc3MtYmluYXJpZXMucGh1c2lvbnBhc3Nlbmdlci5jb20wggEiMA0G
133
+ CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCxYQhjyYbSmZbksniq40HF2qg7qK7E
134
+ yDQ2gFJ9FPLWde2fqJSZctVRkAcXSV4nT6nyQt0c+VYWH739fZjUkswCkBCt/Hdp
135
+ i1qtHK9bd8300HZtejOn5CVR9NluQAIEl3YAPfIKUCkiv/objKlirckS2GTlwuYs
136
+ tJG05/8Iy8a3zh2yjrvH3OndIwGlLQ5Nq7bvSVt/etaaS94Xzz9vmUDb1YACmrAX
137
+ j+wYY8Dq5cs/1iBZTbgZmoDSn4kW3eCTbdS/o6nJXZ5GP2WihDTdilZo+KuTAO0G
138
+ 49wqXuYZx7LzGNPGDqdKE15sax/pPk6OtmeUrjr7ldvk76mfEOGV2PgZAgMBAAGj
139
+ ggIFMIICATAfBgNVHSMEGDAWgBSQr2o6lFoL2JDqElZz30O0Oija5zAdBgNVHQ4E
140
+ FgQUXjRYhHKq+0A0QsE/8+WznCY2d5QwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB
141
+ /wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCME8GA1UdIARIMEYw
142
+ OgYLKwYBBAGyMQECAgcwKzApBggrBgEFBQcCARYdaHR0cHM6Ly9zZWN1cmUuY29t
143
+ b2RvLmNvbS9DUFMwCAYGZ4EMAQIBMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly9j
144
+ cmwuY29tb2RvY2EuY29tL0NPTU9ET1JTQURvbWFpblZhbGlkYXRpb25TZWN1cmVT
145
+ ZXJ2ZXJDQS5jcmwwgYUGCCsGAQUFBwEBBHkwdzBPBggrBgEFBQcwAoZDaHR0cDov
146
+ L2NydC5jb21vZG9jYS5jb20vQ09NT0RPUlNBRG9tYWluVmFsaWRhdGlvblNlY3Vy
147
+ ZVNlcnZlckNBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2Eu
148
+ Y29tMFMGA1UdEQRMMEqCIW9zcy1iaW5hcmllcy5waHVzaW9ucGFzc2VuZ2VyLmNv
149
+ bYIld3d3Lm9zcy1iaW5hcmllcy5waHVzaW9ucGFzc2VuZ2VyLmNvbTANBgkqhkiG
150
+ 9w0BAQsFAAOCAQEAN5jHMCPEdkPx1EucWb5+N0iL8PqPUfeQB9i8fkuJSj8IceAF
151
+ Qr2xmJ6QSlX3x+vmc4qGKXIFULTiIZqmG2MpkrF5sjbnOWhIW93mtlaaiH5W5fII
152
+ dKZtOShvb0UAe4hZHqL2dPG3gxJxR1Q385cRJOcu0aiKsUrEjIPn9sI84CcDdQEw
153
+ zq/fztS84yAUdPzpLimUA7HGrTIqvg1WtzNbGQBPNGx9vS3VE2CAhMthY6aJrYz7
154
+ 5XsZBPGchSixoy6KN/gaSDG1GL7inihl0RKByWjGrco8ns5JWFIIuU9zMYhzHKi7
155
+ vs1Ik9trJfi3nx3E0AsIsCmgkcx5ziAVbb2qJA==
156
+ -----END CERTIFICATE-----
157
+ -----BEGIN CERTIFICATE-----
158
+ MIIGCDCCA/CgAwIBAgIQKy5u6tl1NmwUim7bo3yMBzANBgkqhkiG9w0BAQwFADCB
159
+ hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
160
+ A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
161
+ BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMjEy
162
+ MDAwMDAwWhcNMjkwMjExMjM1OTU5WjCBkDELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
163
+ EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
164
+ Q09NT0RPIENBIExpbWl0ZWQxNjA0BgNVBAMTLUNPTU9ETyBSU0EgRG9tYWluIFZh
165
+ bGlkYXRpb24gU2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
166
+ ADCCAQoCggEBAI7CAhnhoFmk6zg1jSz9AdDTScBkxwtiBUUWOqigwAwCfx3M28Sh
167
+ bXcDow+G+eMGnD4LgYqbSRutA776S9uMIO3Vzl5ljj4Nr0zCsLdFXlIvNN5IJGS0
168
+ Qa4Al/e+Z96e0HqnU4A7fK31llVvl0cKfIWLIpeNs4TgllfQcBhglo/uLQeTnaG6
169
+ ytHNe+nEKpooIZFNb5JPJaXyejXdJtxGpdCsWTWM/06RQ1A/WZMebFEh7lgUq/51
170
+ UHg+TLAchhP6a5i84DuUHoVS3AOTJBhuyydRReZw3iVDpA3hSqXttn7IzW3uLh0n
171
+ c13cRTCAquOyQQuvvUSH2rnlG51/ruWFgqUCAwEAAaOCAWUwggFhMB8GA1UdIwQY
172
+ MBaAFLuvfgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBSQr2o6lFoL2JDqElZz
173
+ 30O0Oija5zAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNV
174
+ HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwGwYDVR0gBBQwEjAGBgRVHSAAMAgG
175
+ BmeBDAECATBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vY3JsLmNvbW9kb2NhLmNv
176
+ bS9DT01PRE9SU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDBxBggrBgEFBQcB
177
+ AQRlMGMwOwYIKwYBBQUHMAKGL2h0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9E
178
+ T1JTQUFkZFRydXN0Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21v
179
+ ZG9jYS5jb20wDQYJKoZIhvcNAQEMBQADggIBAE4rdk+SHGI2ibp3wScF9BzWRJ2p
180
+ mj6q1WZmAT7qSeaiNbz69t2Vjpk1mA42GHWx3d1Qcnyu3HeIzg/3kCDKo2cuH1Z/
181
+ e+FE6kKVxF0NAVBGFfKBiVlsit2M8RKhjTpCipj4SzR7JzsItG8kO3KdY3RYPBps
182
+ P0/HEZrIqPW1N+8QRcZs2eBelSaz662jue5/DJpmNXMyYE7l3YphLG5SEXdoltMY
183
+ dVEVABt0iN3hxzgEQyjpFv3ZBdRdRydg1vs4O2xyopT4Qhrf7W8GjEXCBgCq5Ojc
184
+ 2bXhc3js9iPc0d1sjhqPpepUfJa3w/5Vjo1JXvxku88+vZbrac2/4EjxYoIQ5QxG
185
+ V/Iz2tDIY+3GH5QFlkoakdH368+PUq4NCNk+qKBR6cGHdNXJ93SrLlP7u3r7l+L4
186
+ HyaPs9Kg4DdbKDsx5Q5XLVq4rXmsXiBmGqW5prU5wfWYQ//u+aen/e7KJD2AFsQX
187
+ j4rBYKEMrltDR5FL1ZoXX/nUh8HCjLfn4g8wGTeGrODcQgPmlKidrv0PJFGUzpII
188
+ 0fxQ8ANAe4hZ7Q7drNJ3gjTcBpUC2JD5Leo31Rpg0Gcg19hCC0Wvgmje3WYkN5Ap
189
+ lBlGGSW4gNfL1IYoakRwJiNiqZ+Gb7+6kHDSVneFeO/qJakXzlByjAA6quPbYzSf
190
+ +AZxAeKCINT+b72x
191
+ -----END CERTIFICATE-----
192
+ -----BEGIN CERTIFICATE-----
193
+ MIIFdDCCBFygAwIBAgIQJ2buVutJ846r13Ci/ITeIjANBgkqhkiG9w0BAQwFADBv
194
+ MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
195
+ ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
196
+ eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow
197
+ gYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
198
+ BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSswKQYD
199
+ VQQDEyJDT01PRE8gUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkq
200
+ hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkehUktIKVrGsDSTdxc9EZ3SZKzejfSNw
201
+ AHG8U9/E+ioSj0t/EFa9n3Byt2F/yUsPF6c947AEYe7/EZfH9IY+Cvo+XPmT5jR6
202
+ 2RRr55yzhaCCenavcZDX7P0N+pxs+t+wgvQUfvm+xKYvT3+Zf7X8Z0NyvQwA1onr
203
+ ayzT7Y+YHBSrfuXjbvzYqOSSJNpDa2K4Vf3qwbxstovzDo2a5JtsaZn4eEgwRdWt
204
+ 4Q08RWD8MpZRJ7xnw8outmvqRsfHIKCxH2XeSAi6pE6p8oNGN4Tr6MyBSENnTnIq
205
+ m1y9TBsoilwie7SrmNnu4FGDwwlGTm0+mfqVF9p8M1dBPI1R7Qu2XK8sYxrfV8g/
206
+ vOldxJuvRZnio1oktLqpVj3Pb6r/SVi+8Kj/9Lit6Tf7urj0Czr56ENCHonYhMsT
207
+ 8dm74YlguIwoVqwUHZwK53Hrzw7dPamWoUi9PPevtQ0iTMARgexWO/bTouJbt7IE
208
+ IlKVgJNp6I5MZfGRAy1wdALqi2cVKWlSArvX31BqVUa/oKMoYX9w0MOiqiwhqkfO
209
+ KJwGRXa/ghgntNWutMtQ5mv0TIZxMOmm3xaG4Nj/QN370EKIf6MzOi5cHkERgWPO
210
+ GHFrK+ymircxXDpqR+DDeVnWIBqv8mqYqnK8V0rSS527EPywTEHl7R09XiidnMy/
211
+ s1Hap0flhFMCAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTvA73g
212
+ JMtUGjAdBgNVHQ4EFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQD
213
+ AgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1UdHwQ9
214
+ MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVy
215
+ bmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6
216
+ Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAGS/g/FfmoXQ
217
+ zbihKVcN6Fr30ek+8nYEbvFScLsePP9NDXRqzIGCJdPDoCpdTPW6i6FtxFQJdcfj
218
+ Jw5dhHk3QBN39bSsHNA7qxcS1u80GH4r6XnTq1dFDK8o+tDb5VCViLvfhVdpfZLY
219
+ Uspzgb8c8+a4bmYRBbMelC1/kZWSWfFMzqORcUx8Rww7Cxn2obFshj5cqsQugsv5
220
+ B5a6SE2Q8pTIqXOi6wZ7I53eovNNVZ96YUWYGGjHXkBrI/V5eu+MtWuLt29G9Hvx
221
+ PUsE2JOAWVrgQSQdso8VYFhH2+9uRv0V9dlfmrPb2LjkQLPNlzmuhbsdjrzch5vR
222
+ pu/xO28QOG8=
223
+ -----END CERTIFICATE-----
224
+ -----BEGIN CERTIFICATE-----
225
+ MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
226
+ MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
227
+ IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
228
+ MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
229
+ FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
230
+ bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
231
+ dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
232
+ H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
233
+ uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
234
+ mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
235
+ a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
236
+ E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
237
+ WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
238
+ VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
239
+ Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
240
+ cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
241
+ IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
242
+ AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
243
+ YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
244
+ 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
245
+ Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
246
+ c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
247
+ mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
248
+ -----END CERTIFICATE-----