passenger 4.0.16 → 4.0.17
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 +10 -0
- data/build/debian.rb +23 -15
- data/build/packaging.rb +11 -3
- data/build/preprocessor.rb +7 -4
- data/debian.template/control.template +18 -16
- data/debian.template/locations.ini.template +1 -1
- data/debian.template/{ruby-passenger-dev.install.template → passenger-dev.install.template} +0 -0
- data/debian.template/passenger-doc.install.template +2 -0
- data/debian.template/{ruby-passenger.docs → passenger.docs} +0 -0
- data/debian.template/{ruby-passenger.install.template → passenger.install.template} +0 -0
- data/debian.template/{ruby-passenger.manpages → passenger.manpages} +0 -0
- data/doc/Users guide Apache.txt +1 -1
- data/doc/Users guide Nginx.txt +1 -1
- data/doc/users_guide_snippets/installation.txt +3 -3
- data/ext/common/Constants.h +1 -1
- data/ext/common/Utils/MD5.h +7 -2
- data/ext/common/agents/HelperAgent/RequestHandler.h +4 -2
- data/ext/ruby/extconf.rb +1 -0
- data/ext/ruby/passenger_native_support.c +15 -3
- data/lib/phusion_passenger.rb +1 -1
- data/test/integration_tests/native_packaging_spec.rb +1 -1
- metadata +7 -7
- metadata.gz.asc +7 -7
- data/debian.template/ruby-passenger-doc.install.template +0 -2
data.tar.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
|
+
iQEcBAABAgAGBQJSLtLBAAoJECrHRaUKISqMKaMIAIcjl+ySg+pTg2eXZ/VBZM1l
|
6
|
+
go4SMxBUG+vBZvwnRUnFKPi1kR2uWcY9+kWnw92gMC0iRAQUKO/rgroN3FE4Igti
|
7
|
+
mF9OPKGkacZUdzTHZxP60KbzWqT9GcAWiixC+6mX5WuzGUtzGpJUkmCWzghbhhxs
|
8
|
+
baqJA86yn3RVF4qZ1weYBSIyZZJi2boC8Z/qEXW/RR0ebbcZ2SZj3JvcHEFY7sxi
|
9
|
+
0HmlLC+XifIJMEoubnQQeAz7urgTf5aVGn9nDYHu5ccuFGp1CEI81mlki35A2Q2f
|
10
|
+
dJoagg6cdh46RYHLvYnAYAecWWL5m6zvLk+nSWTX82jW0Ak7DTSlUQc/LS9lNNc=
|
11
|
+
=8iM+
|
12
12
|
-----END PGP SIGNATURE-----
|
data/NEWS
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
Release 4.0.17
|
2
|
+
--------------
|
3
|
+
|
4
|
+
* Fixed compilation problems on GCC 4.8 systems, such as Arch Linux 2013.04.
|
5
|
+
Fixes issue #941.
|
6
|
+
* Fixed some deprecation warnings when compiling the Ruby native extension
|
7
|
+
on Ruby 2.0.0.
|
8
|
+
* Fixed some Union Station-related stability issues.
|
9
|
+
|
10
|
+
|
1
11
|
Release 4.0.16
|
2
12
|
--------------
|
3
13
|
|
data/build/debian.rb
CHANGED
@@ -28,7 +28,7 @@ require 'build/preprocessor'
|
|
28
28
|
# If you change the default distribution list, don't forget to update the configuration
|
29
29
|
# file in passenger_apt_automation too: https://github.com/phusion/passenger_apt_automation
|
30
30
|
ALL_DISTRIBUTIONS = string_option("DEBIAN_DISTROS", "raring precise lucid").split(/[ ,]/)
|
31
|
-
DEBIAN_NAME = "
|
31
|
+
DEBIAN_NAME = "passenger"
|
32
32
|
DEBIAN_EPOCH = 1
|
33
33
|
DEBIAN_ARCHS = string_option("DEBIAN_ARCHS", "i386 amd64").split(/[ ,]/)
|
34
34
|
DEBIAN_ORIG_TARBALL_FILES = lambda { PhusionPassenger::Packaging.debian_orig_tarball_files }
|
@@ -108,8 +108,8 @@ end
|
|
108
108
|
|
109
109
|
desc "(Re)install the Debian binary packages built for local testing"
|
110
110
|
task 'debian:dev:reinstall' do
|
111
|
-
package_names = ["
|
112
|
-
"
|
111
|
+
package_names = ["passenger", "passenger-dev",
|
112
|
+
"passenger-doc", "libapache2-mod-passenger"]
|
113
113
|
package_names.each do |name|
|
114
114
|
if Dir["#{PKG_DIR}/#{name}_*.deb"].size > 1
|
115
115
|
abort "Please ensure that #{PKG_DIR} only has 1 version of the Phusion Passenger packages."
|
@@ -158,17 +158,29 @@ def pbuilder_base_name(distribution, arch)
|
|
158
158
|
end
|
159
159
|
end
|
160
160
|
|
161
|
-
|
162
|
-
task 'debian:binary_packages' do
|
161
|
+
def create_debian_binary_package_task(distribution, arch)
|
162
|
+
task "debian:binary_package:#{distribution}_#{arch}" => 'debian:binary_packages:check' do
|
163
|
+
base_name = "#{DEBIAN_NAME}_#{PACKAGE_VERSION}-1~#{distribution}1"
|
164
|
+
sh "cd #{PKG_DIR}/official && pbuilder-dist #{distribution} #{arch} build #{base_name}.dsc"
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
DEBIAN_BINARY_PACKAGE_TASKS = []
|
169
|
+
ALL_DISTRIBUTIONS.each do |distribution|
|
170
|
+
DEBIAN_ARCHS.each do |arch|
|
171
|
+
task = create_debian_binary_package_task(distribution, arch)
|
172
|
+
DEBIAN_BINARY_PACKAGE_TASKS << task
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
task 'debian:binary_packages:check' do
|
163
177
|
pkg_dir = "#{PKG_DIR}/official"
|
164
178
|
if !File.exist?(pkg_dir)
|
165
179
|
abort "Please run rake debian:source_packages first."
|
166
180
|
end
|
167
181
|
|
168
|
-
all_distributions = [string_option('DISTRO') || ALL_DISTRIBUTIONS].flatten
|
169
182
|
pbuilder_dir = File.expand_path("~/pbuilder")
|
170
|
-
|
171
|
-
all_distributions.each do |distribution|
|
183
|
+
ALL_DISTRIBUTIONS.each do |distribution|
|
172
184
|
DEBIAN_ARCHS.each do |arch|
|
173
185
|
pbase_name = pbuilder_base_name(distribution, arch) + "-base.tgz"
|
174
186
|
if !File.exist?("#{pbuilder_dir}/#{pbase_name}")
|
@@ -177,15 +189,11 @@ task 'debian:binary_packages' do
|
|
177
189
|
end
|
178
190
|
end
|
179
191
|
end
|
180
|
-
|
181
|
-
all_distributions.each do |distribution|
|
182
|
-
base_name = "#{DEBIAN_NAME}_#{PACKAGE_VERSION}-1~#{distribution}1"
|
183
|
-
DEBIAN_ARCHS.each do |arch|
|
184
|
-
sh "cd #{pkg_dir} && pbuilder-dist #{distribution} #{arch} build #{base_name}.dsc"
|
185
|
-
end
|
186
|
-
end
|
187
192
|
end
|
188
193
|
|
194
|
+
desc "Build official Debian binary packages"
|
195
|
+
task 'debian:binary_packages' => DEBIAN_BINARY_PACKAGE_TASKS
|
196
|
+
|
189
197
|
desc "Clean Debian packaging products, except for orig tarball"
|
190
198
|
task 'debian:clean' do
|
191
199
|
files = Dir["#{PKG_DIR}/*.{changes,build,deb,dsc,upload}"]
|
data/build/packaging.rb
CHANGED
@@ -129,8 +129,12 @@ task 'package:release' => ['package:set_official', 'package:gem', 'package:tarba
|
|
129
129
|
sha1 = File.open("#{PKG_DIR}/passenger-#{version}.tar.gz", "rb") do |f|
|
130
130
|
Digest::SHA1.hexdigest(f.read)
|
131
131
|
end
|
132
|
-
|
133
|
-
sh "
|
132
|
+
homebrew_dir = "/tmp/homebrew"
|
133
|
+
sh "rm -rf #{homebrew_dir}"
|
134
|
+
sh "git clone git@github.com:phusion/homebrew.git #{homebrew_dir}"
|
135
|
+
sh "cd #{homebrew_dir} && git remote add mxcl https://github.com/mxcl/homebrew.git"
|
136
|
+
sh "cd #{homebrew_dir} && git fetch mxcl"
|
137
|
+
sh "cd #{homebrew_dir} && git reset --hard mxcl/master"
|
134
138
|
formula = File.read("/tmp/homebrew/Library/Formula/passenger.rb")
|
135
139
|
formula.gsub!(/passenger-.+?\.tar\.gz/, "passenger-#{version}.tar.gz") ||
|
136
140
|
abort("Unable to substitute Homebrew formula tarball filename")
|
@@ -139,11 +143,14 @@ task 'package:release' => ['package:set_official', 'package:gem', 'package:tarba
|
|
139
143
|
File.open("/tmp/homebrew/Library/Formula/passenger.rb", "w") do |f|
|
140
144
|
f.write(formula)
|
141
145
|
end
|
142
|
-
sh "cd
|
146
|
+
sh "cd #{homebrew_dir} && git commit -a -m 'passenger #{version}'"
|
147
|
+
sh "cd #{homebrew_dir} && git push -f"
|
148
|
+
sh "cd #{homebrew_dir} && hub pull-request 'Update passenger to version #{version}' -b mxcl:master"
|
143
149
|
|
144
150
|
puts "Initiating building of Debian packages"
|
145
151
|
command = "cd /srv/passenger_apt_automation && " +
|
146
152
|
"chpst -L /tmp/passenger_apt_automation.lock " +
|
153
|
+
"/tools/silence-unless-failed " +
|
147
154
|
"./new_release https://github.com/phusion/passenger.git passenger.repo passenger.apt release-#{version}"
|
148
155
|
sh "ssh psg_apt_automation@juvia-helper.phusion.nl at now <<<'#{command}'"
|
149
156
|
|
@@ -165,6 +172,7 @@ task 'package:release' => ['package:set_official', 'package:gem', 'package:tarba
|
|
165
172
|
git_url = `git config remote.origin.url`.strip
|
166
173
|
command = "cd /srv/passenger_apt_automation && " +
|
167
174
|
"chpst -L /tmp/passenger_apt_automation.lock " +
|
175
|
+
"/tools/silence-unless-failed " +
|
168
176
|
"./new_release #{git_url} passenger-enterprise.repo passenger-enterprise.apt enterprise-#{version}"
|
169
177
|
sh "ssh psg_apt_automation@juvia-helper.phusion.nl at now <<<'#{command}'"
|
170
178
|
|
data/build/preprocessor.rb
CHANGED
@@ -70,10 +70,11 @@ class Preprocessor
|
|
70
70
|
end
|
71
71
|
the_binding = create_binding(variables)
|
72
72
|
context = []
|
73
|
+
@filename = filename
|
73
74
|
@lineno = 1
|
74
75
|
@indentation = 0
|
75
76
|
|
76
|
-
each_line(filename) do |line|
|
77
|
+
each_line(filename, the_binding) do |line|
|
77
78
|
debug("context=#{context.inspect}, line=#{line.inspect}")
|
78
79
|
|
79
80
|
name, args_string, cmd_indentation = recognize_command(line)
|
@@ -144,6 +145,8 @@ class Preprocessor
|
|
144
145
|
else
|
145
146
|
terminate "#endif is not allowed outside #if block"
|
146
147
|
end
|
148
|
+
when "DEBHELPER"
|
149
|
+
output.puts(line)
|
147
150
|
when "", nil
|
148
151
|
# Either a comment or not a preprocessor command.
|
149
152
|
case context.last
|
@@ -227,11 +230,11 @@ private
|
|
227
230
|
end
|
228
231
|
end
|
229
232
|
|
230
|
-
def each_line(filename)
|
233
|
+
def each_line(filename, the_binding)
|
231
234
|
data = File.open(filename, 'r') do |f|
|
232
235
|
erb = ERB.new(f.read, nil, "-")
|
233
236
|
erb.filename = filename
|
234
|
-
erb.result(
|
237
|
+
erb.result(the_binding)
|
235
238
|
end
|
236
239
|
data.each_line do |line|
|
237
240
|
yield line.chomp
|
@@ -312,6 +315,6 @@ private
|
|
312
315
|
end
|
313
316
|
|
314
317
|
def terminate(message)
|
315
|
-
abort "*** ERROR: line #{@lineno}: #{message}"
|
318
|
+
abort "*** ERROR: #{@filename} line #{@lineno}: #{message}"
|
316
319
|
end
|
317
320
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
Source:
|
1
|
+
Source: passenger
|
2
2
|
Section: ruby
|
3
3
|
Priority: optional
|
4
4
|
Maintainer: John Leach <john@brightbox.co.uk>
|
@@ -20,29 +20,31 @@ Vcs-Git: git://github.com/phusion/passenger.git
|
|
20
20
|
Vcs-Browser: https://github.com/phusion/passenger
|
21
21
|
XS-Ruby-Versions: all
|
22
22
|
|
23
|
-
Package:
|
23
|
+
Package: passenger
|
24
24
|
Architecture: any
|
25
25
|
Depends: ${shlibs:Depends}, ${misc:Depends}, ruby | ruby-interpreter,
|
26
26
|
rubygems (>= 1.2), ruby-rack, ruby-daemon-controller
|
27
|
-
Recommends:
|
27
|
+
Recommends: passenger-doc (= ${binary:Version}), passenger-dev (= ${binary:Version}),
|
28
28
|
crash-watch
|
29
29
|
Suggests: python
|
30
|
-
Breaks: libapache2-mod-passenger (<<
|
31
|
-
passenger-common1.8, passenger-common1.9.1
|
32
|
-
Replaces: libapache2-mod-passenger (<<
|
33
|
-
passenger-common1.8, passenger-common1.9.1
|
30
|
+
Breaks: libapache2-mod-passenger (<< <%= DEBIAN_EPOCH %>:<%= PACKAGE_VERSION %>), passenger-common,
|
31
|
+
passenger-common1.8, passenger-common1.9.1, ruby-passenger
|
32
|
+
Replaces: libapache2-mod-passenger (<< <%= DEBIAN_EPOCH %>:<%= PACKAGE_VERSION %>), passenger-common,
|
33
|
+
passenger-common1.8, passenger-common1.9.1, ruby-passenger
|
34
|
+
Provides: ruby-passenger
|
34
35
|
Description: Rails and Rack support for Apache2 and Nginx
|
35
36
|
Phusion Passenger — a.k.a. mod_rails or mod_rack — makes
|
36
37
|
deployment of Ruby web applications, such as those built on the
|
37
38
|
revolutionary Ruby on Rails web framework, a breeze.
|
38
39
|
|
39
|
-
Package:
|
40
|
+
Package: passenger-dev
|
40
41
|
Architecture: any
|
41
42
|
Depends: ${shlibs:Depends}, ${misc:Depends}, ruby | ruby-interpreter,
|
42
|
-
|
43
|
+
passenger (= ${binary:Version})
|
43
44
|
Suggests: python
|
44
|
-
Replaces: passenger-dev
|
45
|
-
|
45
|
+
Replaces: ruby-passenger-dev
|
46
|
+
Conflicts: ruby-passenger-dev
|
47
|
+
Provides: ruby-passenger-dev
|
46
48
|
Description: Rails and Rack support for Apache2 and Nginx
|
47
49
|
Phusion Passenger — a.k.a. mod_rails or mod_rack — makes
|
48
50
|
deployment of Ruby web applications, such as those built on the
|
@@ -55,7 +57,7 @@ Architecture: any
|
|
55
57
|
Section: web
|
56
58
|
Depends: ${shlibs:Depends}, ${misc:Depends}, apache2-mpm-worker (>= 2.2.9-9) |
|
57
59
|
apache2-mpm-prefork (>= 2.2.9-9) | apache2-mpm-itk (>= 2.2.9-9) | apache2-mpm-event (>= 2.2.9-9),
|
58
|
-
|
60
|
+
passenger (= ${binary:Version})
|
59
61
|
Description: Rails and Rack support for Apache2
|
60
62
|
Phusion Passenger — a.k.a. mod_rails or mod_rack — makes
|
61
63
|
deployment of Ruby web applications, such as those built on the
|
@@ -63,14 +65,14 @@ Description: Rails and Rack support for Apache2
|
|
63
65
|
.
|
64
66
|
This package contains the Apache 2 module required by Phusion Passenger.
|
65
67
|
|
66
|
-
Package:
|
68
|
+
Package: passenger-doc
|
67
69
|
Section: doc
|
68
70
|
Architecture: all
|
69
71
|
Depends: ${misc:Depends}
|
70
72
|
Suggests: www-browser
|
71
|
-
Provides: passenger-doc
|
72
|
-
Conflicts: passenger-doc
|
73
|
-
Replaces: passenger-doc
|
73
|
+
Provides: ruby-passenger-doc
|
74
|
+
Conflicts: ruby-passenger-doc
|
75
|
+
Replaces: ruby-passenger-doc
|
74
76
|
Description: Rails and Rack support for Apache2 - Documentation
|
75
77
|
Phusion Passenger — a.k.a. mod_rails or mod_rack — makes
|
76
78
|
deployment of Ruby web applications, such as those built on the
|
@@ -6,7 +6,7 @@ lib_dir=/usr/lib/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>
|
|
6
6
|
helper_scripts_dir=/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/helper-scripts
|
7
7
|
resources_dir=/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>
|
8
8
|
include_dir=/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/include
|
9
|
-
doc_dir=/usr/share/doc/
|
9
|
+
doc_dir=/usr/share/doc/passenger
|
10
10
|
ruby_libdir=/usr/lib/ruby/vendor_ruby
|
11
11
|
apache2_module_path=/usr/lib/apache2/modules/mod_passenger.so
|
12
12
|
ruby_extension_source_dir=/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/ruby_extension_source
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/doc/Users guide Apache.txt
CHANGED
@@ -1132,7 +1132,7 @@ include::users_guide_snippets/enterprise_only.txt[]
|
|
1132
1132
|
|
1133
1133
|
Specifies the I/O concurrency model that should be used for application processes. Phusion Passenger supports two concurrency models:
|
1134
1134
|
|
1135
|
-
* 'process' - single-threaded, multi-processed I/O concurrency. Each application process only has a single thread and can only handle 1 request at a time. This is the concurrency model that Ruby applications traditionally used. It has excellent compatiblity (can work with applications that are not designed to be thread-safe) but is unsuitable workloads in which the application has to wait for a lot of external I/O (e.g. HTTP API calls), and uses more memory because each process has a large memory overhead.
|
1135
|
+
* 'process' - single-threaded, multi-processed I/O concurrency. Each application process only has a single thread and can only handle 1 request at a time. This is the concurrency model that Ruby applications traditionally used. It has excellent compatiblity (can work with applications that are not designed to be thread-safe) but is unsuitable for workloads in which the application has to wait for a lot of external I/O (e.g. HTTP API calls), and uses more memory because each process has a large memory overhead.
|
1136
1136
|
* 'thread' - multi-threaded, multi-processed I/O concurrency. Each application process has multiple threads (customizable via <<PassengerThreadCount,PassengerThreadCount>>). This model provides much better I/O concurrency and uses less memory because threads share memory with each other within the same process. However, using this model may cause compatibility problems if the application is not designed to be thread-safe.
|
1137
1137
|
|
1138
1138
|
This option may occur in the following places:
|
data/doc/Users guide Nginx.txt
CHANGED
@@ -1274,7 +1274,7 @@ include::users_guide_snippets/enterprise_only.txt[]
|
|
1274
1274
|
|
1275
1275
|
Specifies the I/O concurrency model that should be used for application processes. Phusion Passenger supports two concurrency models:
|
1276
1276
|
|
1277
|
-
* 'process' - single-threaded, multi-processed I/O concurrency. Each application process only has a single thread and can only handle 1 request at a time. This is the concurrency model that Ruby applications traditionally used. It has excellent compatiblity (can work with applications that are not designed to be thread-safe) but is unsuitable workloads in which the application has to wait for a lot of external I/O (e.g. HTTP API calls), and uses more memory because each process has a large memory overhead.
|
1277
|
+
* 'process' - single-threaded, multi-processed I/O concurrency. Each application process only has a single thread and can only handle 1 request at a time. This is the concurrency model that Ruby applications traditionally used. It has excellent compatiblity (can work with applications that are not designed to be thread-safe) but is unsuitable for workloads in which the application has to wait for a lot of external I/O (e.g. HTTP API calls), and uses more memory because each process has a large memory overhead.
|
1278
1278
|
* 'thread' - multi-threaded, multi-processed I/O concurrency. Each application process has multiple threads (customizable via <<PassengerThreadCount,passenger_thread_count>>). This model provides much better I/O concurrency and uses less memory because threads share memory with each other within the same process. However, using this model may cause compatibility problems if the application is not designed to be thread-safe.
|
1279
1279
|
|
1280
1280
|
This option may occur in the following places:
|
@@ -68,15 +68,15 @@ gem install passenger --version 3.9.1.beta --pre
|
|
68
68
|
|
69
69
|
.Enterprise
|
70
70
|
|
71
|
-
First, download the *license key* from the link:phusionpassenger.com/orders[Customer Area] and save it as '/etc/passenger-enterprise-license'.
|
71
|
+
First, download the *license key* from the link:https://www.phusionpassenger.com/orders[Customer Area] and save it as '/etc/passenger-enterprise-license'.
|
72
72
|
|
73
73
|
Next, add the Phusion Passenger Enterprise gem server to your RubyGems source list:
|
74
74
|
|
75
75
|
------------------------------------------
|
76
|
-
gem source --add https://YOUR_ORDER_REFERENCE:YOUR_PASSWORD@www.phusionpassenger.com/enterprise_gems
|
76
|
+
gem source --add https://YOUR_ORDER_REFERENCE:YOUR_PASSWORD@www.phusionpassenger.com/enterprise_gems/
|
77
77
|
------------------------------------------
|
78
78
|
|
79
|
-
Substitute 'YOUR_ORDER_REFERENCE' and 'YOUR_PASSWORD' with your link:phusionpassenger.com/orders[Customer Area] login credentials.
|
79
|
+
Substitute 'YOUR_ORDER_REFERENCE' and 'YOUR_PASSWORD' with your link:https://www.phusionpassenger.com/orders[Customer Area] login credentials. And notice the **trailing slash** in the URL! It is very important.
|
80
80
|
|
81
81
|
Finally, install the latest gem to obtain the files for the latest stable version of the open source Phusion Passenger:
|
82
82
|
|
data/ext/common/Constants.h
CHANGED
data/ext/common/Utils/MD5.h
CHANGED
@@ -69,8 +69,13 @@
|
|
69
69
|
* efficiently on either one than if ARCH_IS_BIG_ENDIAN is defined.
|
70
70
|
*/
|
71
71
|
|
72
|
-
|
73
|
-
typedef
|
72
|
+
#ifdef __cplusplus
|
73
|
+
typedef boost::uint8_t md5_byte_t; /* 8-bit byte */
|
74
|
+
typedef boost::uint32_t md5_word_t; /* 32-bit word */
|
75
|
+
#else
|
76
|
+
typedef uint8_t md5_byte_t; /* 8-bit byte */
|
77
|
+
typedef uint32_t md5_word_t; /* 32-bit word */
|
78
|
+
#endif
|
74
79
|
|
75
80
|
/** Size of an MD5 checksum, in bytes. */
|
76
81
|
#define MD5_SIZE 16
|
@@ -1722,10 +1722,12 @@ private:
|
|
1722
1722
|
return;
|
1723
1723
|
}
|
1724
1724
|
|
1725
|
-
client->options.analytics = true;
|
1726
|
-
client->options.unionStationKey = key;
|
1727
1725
|
client->options.logger = loggerFactory->newTransaction(
|
1728
1726
|
options.getAppGroupName(), "requests", key, filters);
|
1727
|
+
if (!client->options.logger->isNull()) {
|
1728
|
+
client->options.analytics = true;
|
1729
|
+
client->options.unionStationKey = key;
|
1730
|
+
}
|
1729
1731
|
|
1730
1732
|
client->beginScopeLog(&client->scopeLogs.requestProcessing, "request processing");
|
1731
1733
|
|
data/ext/ruby/extconf.rb
CHANGED
@@ -77,6 +77,10 @@
|
|
77
77
|
/* Linux doesn't define IOV_MAX in limits.h for some reason. */
|
78
78
|
#define IOV_MAX sysconf(_SC_IOV_MAX)
|
79
79
|
#endif
|
80
|
+
#ifdef HAVE_RB_THREAD_IO_BLOCKING_REGION
|
81
|
+
/* Ruby doesn't define this function in its headers */
|
82
|
+
VALUE rb_thread_io_blocking_region(rb_blocking_function_t *func, void *data1, int fd);
|
83
|
+
#endif
|
80
84
|
|
81
85
|
static VALUE mPassenger;
|
82
86
|
static VALUE mNativeSupport;
|
@@ -311,8 +315,13 @@ f_generic_writev(VALUE fd, VALUE *array_of_components, unsigned int count) {
|
|
311
315
|
writev_wrapper_data.filedes = fd_num;
|
312
316
|
writev_wrapper_data.iov = groups[i].io_vectors;
|
313
317
|
writev_wrapper_data.iovcnt = groups[i].count;
|
314
|
-
|
315
|
-
|
318
|
+
#ifdef HAVE_RB_THREAD_IO_BLOCKING_REGION
|
319
|
+
ret = (int) rb_thread_io_blocking_region(writev_wrapper,
|
320
|
+
&writev_wrapper_data, fd_num);
|
321
|
+
#else
|
322
|
+
ret = (int) rb_thread_blocking_region(writev_wrapper,
|
323
|
+
&writev_wrapper_data, RUBY_UBF_IO, 0);
|
324
|
+
#endif
|
316
325
|
#endif
|
317
326
|
if (ret == -1) {
|
318
327
|
/* If the error is something like EAGAIN, yield to another
|
@@ -724,11 +733,14 @@ fs_watcher_wait_fd(VALUE _fd) {
|
|
724
733
|
static VALUE
|
725
734
|
fs_watcher_read_byte_from_fd(VALUE _arg) {
|
726
735
|
FSWatcherReadByteData *data = (FSWatcherReadByteData *) _arg;
|
727
|
-
#
|
736
|
+
#if defined(TRAP_BEG)
|
728
737
|
TRAP_BEG;
|
729
738
|
data->ret = read(data->fd, &data->byte, 1);
|
730
739
|
TRAP_END;
|
731
740
|
data->error = errno;
|
741
|
+
#elif defined(HAVE_RB_THREAD_IO_BLOCKING_REGION)
|
742
|
+
rb_thread_io_blocking_region(fs_watcher_read_byte_from_fd_wrapper,
|
743
|
+
data, data->fd);
|
732
744
|
#else
|
733
745
|
rb_thread_blocking_region(fs_watcher_read_byte_from_fd_wrapper,
|
734
746
|
data, RUBY_UBF_IO, 0);
|
data/lib/phusion_passenger.rb
CHANGED
@@ -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 = '4.0.
|
33
|
+
VERSION_STRING = '4.0.17'
|
34
34
|
|
35
35
|
PREFERRED_NGINX_VERSION = '1.4.2'
|
36
36
|
NGINX_SHA256_CHECKSUM = '5361ffb7b0ebf8b1a04369bc3d1295eaed091680c1c58115f88d56c8e51f3611'
|
@@ -43,7 +43,7 @@ BINDIR = "/usr/bin"
|
|
43
43
|
SBINDIR = "/usr/sbin"
|
44
44
|
INCLUDEDIR = "/usr/share/#{PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME}/include"
|
45
45
|
NGINX_ADDON_DIR = "/usr/share/#{PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME}/ngx_http_passenger_module"
|
46
|
-
DOCDIR = "/usr/share/doc/
|
46
|
+
DOCDIR = "/usr/share/doc/passenger"
|
47
47
|
RESOURCESDIR = "/usr/share/#{PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME}"
|
48
48
|
RUBY_EXTENSION_SOURCE_DIR = "/usr/share/#{PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME}/ruby_extension_source"
|
49
49
|
AGENTS_DIR = "/usr/lib/#{PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME}/agents"
|
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.17
|
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-09-
|
12
|
+
date: 2013-09-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -271,16 +271,16 @@ files:
|
|
271
271
|
- debian.template/libapache2-mod-passenger.postinst
|
272
272
|
- debian.template/libapache2-mod-passenger.prerm
|
273
273
|
- debian.template/locations.ini.template
|
274
|
+
- debian.template/passenger-dev.install.template
|
275
|
+
- debian.template/passenger-doc.install.template
|
274
276
|
- debian.template/passenger.conf
|
277
|
+
- debian.template/passenger.docs
|
278
|
+
- debian.template/passenger.install.template
|
275
279
|
- debian.template/passenger.load
|
280
|
+
- debian.template/passenger.manpages
|
276
281
|
- debian.template/patches/series
|
277
282
|
- debian.template/README.Debian
|
278
283
|
- debian.template/repack.sh
|
279
|
-
- debian.template/ruby-passenger-dev.install.template
|
280
|
-
- debian.template/ruby-passenger-doc.install.template
|
281
|
-
- debian.template/ruby-passenger.docs
|
282
|
-
- debian.template/ruby-passenger.install.template
|
283
|
-
- debian.template/ruby-passenger.manpages
|
284
284
|
- debian.template/rules.template
|
285
285
|
- debian.template/source/format
|
286
286
|
- debian.template/watch
|
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
|
+
iQEcBAABAgAGBQJSLtLBAAoJECrHRaUKISqMyXoH/jA+BtiR4so10B+sZh6P1YVY
|
6
|
+
rmjhCHnigmgM22lYr/Pa37XosOXx/gNF2SRbseVxTCq47JhYjklx5xVV/PAyYkDn
|
7
|
+
KZUf6ahrqhn9UGjQHaDCefqchldEklibj+CP/3VzCpNafK0q9r9MMCioNWj5oYbZ
|
8
|
+
RxW6HIJ3DNdbrPi9S3TelkxtOGBnNGJhHC6LfDjFMWo5Wufe0ESF5S6JzPjfBoiN
|
9
|
+
F32GGnkfSJXN8ZrCb9yAtw7LHCFCwZNJEgBs2HEntO69R2RzRSOyPGlEAWAIggmz
|
10
|
+
Zr8qsANTZhPUmiTq3OVj9ezmz4gWzuwJWar9qwyKxAUjvf95w6CzJyl9r1wm8Vk=
|
11
|
+
=+Cn0
|
12
12
|
-----END PGP SIGNATURE-----
|