passenger 4.0.5 → 4.0.6

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 (162) hide show
  1. data.tar.gz.asc +7 -7
  2. data/.travis.yml +1 -2
  3. data/CONTRIBUTING.md +20 -5
  4. data/CONTRIBUTORS +67 -0
  5. data/LICENSE +1 -1
  6. data/NEWS +48 -0
  7. data/Rakefile +2 -2
  8. data/bin/passenger-config +18 -0
  9. data/bin/passenger-install-apache2-module +2 -0
  10. data/bin/passenger-install-nginx-module +11 -12
  11. data/bin/passenger-memory-stats +2 -0
  12. data/bin/passenger-status +152 -69
  13. data/build/agents.rb +1 -5
  14. data/build/basics.rb +26 -13
  15. data/build/cplusplus_support.rb +9 -0
  16. data/build/debian.rb +129 -0
  17. data/build/documentation.rb +6 -2
  18. data/build/integration_tests.rb +13 -2
  19. data/build/misc.rb +16 -0
  20. data/build/packaging.rb +67 -51
  21. data/build/preprocessor.rb +314 -0
  22. data/build/test_basics.rb +1 -0
  23. data/{debian → debian.template}/README.Debian +0 -0
  24. data/{debian → debian.template}/changelog +131 -0
  25. data/debian.template/compat +1 -0
  26. data/debian.template/control +71 -0
  27. data/debian.template/copyright +385 -0
  28. data/debian.template/libapache2-mod-passenger.install +3 -0
  29. data/{debian → debian.template}/libapache2-mod-passenger.postinst +0 -0
  30. data/{debian → debian.template}/libapache2-mod-passenger.prerm +0 -0
  31. data/debian.template/locations.ini +12 -0
  32. data/debian.template/passenger.conf +4 -0
  33. data/{debian → debian.template}/passenger.load +0 -0
  34. data/debian.template/patches/series +0 -0
  35. data/debian.template/repack.sh +42 -0
  36. data/debian.template/ruby-passenger-dev.install +3 -0
  37. data/debian.template/ruby-passenger-doc.install +2 -0
  38. data/debian.template/ruby-passenger.docs +4 -0
  39. data/debian.template/ruby-passenger.install +11 -0
  40. data/debian.template/ruby-passenger.manpages +4 -0
  41. data/debian.template/rules.template +35 -0
  42. data/debian.template/source/format +1 -0
  43. data/debian.template/watch +3 -0
  44. data/dev/run_travis.sh +46 -46
  45. data/doc/Architectural overview.html +2 -2
  46. data/doc/Packaging.html +27 -18
  47. data/doc/Packaging.txt.md +27 -18
  48. data/doc/Security of user switching support.html +2 -2
  49. data/doc/Users guide Apache.html +881 -95
  50. data/doc/Users guide Apache.idmap.txt +48 -6
  51. data/doc/Users guide Apache.txt +13 -1
  52. data/doc/Users guide Nginx.html +1063 -190
  53. data/doc/Users guide Nginx.idmap.txt +89 -45
  54. data/doc/Users guide Nginx.txt +45 -0
  55. data/doc/Users guide Standalone.html +7 -7
  56. data/doc/users_guide_snippets/alternative_for_flying_passenger.txt +1 -0
  57. data/doc/users_guide_snippets/environment_variables.txt +221 -0
  58. data/doc/users_guide_snippets/installation.txt +66 -17
  59. data/doc/users_guide_snippets/support_information.txt +3 -3
  60. data/doc/users_guide_snippets/tips.txt +352 -40
  61. data/ext/common/Account.h +4 -3
  62. data/ext/common/AccountsDatabase.h +6 -6
  63. data/ext/common/AgentsStarter.h +1 -13
  64. data/ext/common/ApplicationPool2/DirectSpawner.h +4 -4
  65. data/ext/common/ApplicationPool2/DummySpawner.h +1 -1
  66. data/ext/common/ApplicationPool2/Group.h +9 -4
  67. data/ext/common/ApplicationPool2/Implementation.cpp +6 -1
  68. data/ext/common/ApplicationPool2/Options.h +65 -37
  69. data/ext/common/ApplicationPool2/Pool.h +91 -41
  70. data/ext/common/ApplicationPool2/Process.h +6 -6
  71. data/ext/common/ApplicationPool2/SmartSpawner.h +14 -14
  72. data/ext/common/ApplicationPool2/Socket.h +1 -1
  73. data/ext/common/ApplicationPool2/Spawner.h +24 -16
  74. data/ext/common/ApplicationPool2/SpawnerFactory.h +9 -1
  75. data/ext/common/ApplicationPool2/SuperGroup.h +1 -1
  76. data/ext/common/Constants.h +1 -1
  77. data/ext/common/Logging.cpp +12 -7
  78. data/ext/common/MessageServer.h +7 -12
  79. data/ext/common/MultiLibeio.cpp +5 -5
  80. data/ext/common/ResourceLocator.h +2 -6
  81. data/ext/common/ServerInstanceDir.h +37 -10
  82. data/ext/common/UnionStation.h +10 -10
  83. data/ext/common/Utils.cpp +30 -4
  84. data/ext/common/Utils.h +7 -0
  85. data/ext/common/Utils/BlockingQueue.h +2 -2
  86. data/ext/common/Utils/Lock.h +2 -2
  87. data/ext/common/Utils/MessagePassing.h +2 -2
  88. data/ext/common/Utils/Timer.h +4 -4
  89. data/ext/common/agents/HelperAgent/AgentOptions.h +2 -0
  90. data/ext/common/agents/HelperAgent/Main.cpp +57 -16
  91. data/ext/common/agents/HelperAgent/RequestHandler.h +4 -1
  92. data/ext/common/agents/LoggingAgent/AdminController.h +91 -0
  93. data/ext/common/agents/LoggingAgent/LoggingServer.h +46 -29
  94. data/ext/common/agents/LoggingAgent/Main.cpp +43 -16
  95. data/ext/common/agents/LoggingAgent/RemoteSender.h +7 -7
  96. data/ext/common/agents/Watchdog/AgentWatcher.cpp +11 -11
  97. data/ext/common/agents/Watchdog/LoggingAgentWatcher.cpp +3 -1
  98. data/ext/common/agents/Watchdog/Main.cpp +62 -0
  99. data/ext/libeio/config.guess +206 -167
  100. data/ext/libeio/config.sub +142 -68
  101. data/ext/libev/config.guess +304 -290
  102. data/ext/libev/config.sub +198 -77
  103. data/ext/nginx/config +4 -0
  104. data/ext/nginx/ngx_http_passenger_module.c +1 -0
  105. data/ext/oxt/implementation.cpp +4 -4
  106. data/lib/phusion_passenger.rb +14 -5
  107. data/lib/phusion_passenger/abstract_installer.rb +41 -0
  108. data/lib/phusion_passenger/admin_tools/server_instance.rb +48 -39
  109. data/lib/phusion_passenger/message_client.rb +31 -7
  110. data/lib/phusion_passenger/native_support.rb +35 -12
  111. data/lib/phusion_passenger/packaging.rb +16 -2
  112. data/lib/phusion_passenger/platform_info/binary_compatibility.rb +6 -31
  113. data/lib/phusion_passenger/platform_info/operating_system.rb +1 -1
  114. data/lib/phusion_passenger/preloader_shared_helpers.rb +3 -1
  115. data/lib/phusion_passenger/request_handler.rb +1 -1
  116. data/lib/phusion_passenger/standalone/command.rb +6 -6
  117. data/lib/phusion_passenger/standalone/main.rb +23 -8
  118. data/lib/phusion_passenger/standalone/package_runtime_command.rb +9 -5
  119. data/lib/phusion_passenger/standalone/runtime_installer.rb +9 -10
  120. data/lib/phusion_passenger/standalone/start_command.rb +20 -4
  121. data/resources/templates/installer_common/freebsd9_broken_cxx_runtime.txt.erb +19 -0
  122. data/resources/templates/installer_common/low_amount_of_memory_warning.txt.erb +22 -0
  123. data/resources/templates/standalone/config.erb +3 -2
  124. data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +4 -4
  125. data/test/cxx/ApplicationPool2/PoolTest.cpp +1 -1
  126. data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +7 -7
  127. data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +9 -9
  128. data/test/cxx/EventedBufferedInputTest.cpp +17 -17
  129. data/test/cxx/RequestHandlerTest.cpp +5 -5
  130. data/test/cxx/ServerInstanceDirTest.cpp +3 -1
  131. data/test/cxx/TestSupport.h +4 -4
  132. data/test/cxx/UnionStationTest.cpp +3 -1
  133. data/test/cxx/UtilsTest.cpp +2 -0
  134. data/test/integration_tests/apache2_tests.rb +2 -2
  135. data/test/integration_tests/native_packaging_spec.rb +170 -0
  136. data/test/ruby/spec_helper.rb +0 -1
  137. data/test/stub/apache2/httpd.conf.erb +1 -1
  138. data/test/stub/nginx/nginx.conf.erb +1 -0
  139. data/test/support/apache2_controller.rb +1 -1
  140. data/test/support/placebo-preloader.rb +1 -1
  141. data/test/support/test_helper.rb +5 -2
  142. metadata +32 -26
  143. metadata.gz.asc +7 -7
  144. data/debian/compat +0 -1
  145. data/debian/control +0 -49
  146. data/debian/copyright +0 -20
  147. data/debian/libapache2-mod-passenger.install +0 -1
  148. data/debian/passenger-common.install +0 -4
  149. data/debian/passenger.conf +0 -4
  150. data/debian/prerm +0 -2
  151. data/debian/rules +0 -37
  152. data/debian/watch +0 -3
  153. data/dev/googlecode_upload.py +0 -265
  154. data/ext/common/agents/HelperAgent/BacktracesServer.h +0 -60
  155. data/resources/templates/nginx/not_available_when_natively_packaged.txt.erb +0 -8
  156. data/test/stub/rails3.1/app/assets/javascripts/application.js +0 -9
  157. data/test/stub/rails3.2/app/assets/javascripts/application.js +0 -15
  158. data/test/stub/rails_apps/2.3/mycook/public/javascripts/application.js +0 -2
  159. data/test/stub/rails_apps/2.3/mycook/public/javascripts/controls.js +0 -963
  160. data/test/stub/rails_apps/2.3/mycook/public/javascripts/dragdrop.js +0 -973
  161. data/test/stub/rails_apps/2.3/mycook/public/javascripts/effects.js +0 -1128
  162. data/test/stub/rails_apps/2.3/mycook/public/javascripts/prototype.js +0 -4320
@@ -0,0 +1 @@
1
+ 7
@@ -0,0 +1,71 @@
1
+ Source: ruby-passenger
2
+ Section: ruby
3
+ Priority: optional
4
+ Maintainer: John Leach <john@brightbox.co.uk>
5
+ Uploaders: Phusion <info@phusion.nl>, Hongli Lai <hongli@phusion.nl>
6
+ Build-Depends: debhelper (>= 7.0.50~), rake,
7
+ ruby1.8, ruby1.8-dev, rubygems, ruby1.9.1, ruby1.9.1-dev,
8
+ apache2-mpm-worker | apache2-mpm, apache2-threaded-dev,
9
+ libapr1-dev, libcurl4-openssl-dev, libev-dev (>= 1:4.0.0)
10
+ Standards-Version: 3.9.3
11
+ Homepage: https://www.phusionpassenger.com/
12
+ Vcs-Git: git://github.com/johnl/deb-passenger.git
13
+ Vcs-Browser: https://github.com/johnl/deb-passenger
14
+ XS-Ruby-Versions: all
15
+
16
+ Package: ruby-passenger
17
+ Architecture: any
18
+ Depends: ${shlibs:Depends}, ${misc:Depends}, ruby | ruby-interpreter, rubygems (>= 1.2), ruby-rack
19
+ Recommends: ruby-passenger-doc (= ${binary:Version})
20
+ Suggests: python
21
+ Breaks: libapache2-mod-passenger (<< 1:3.9.1), passenger-common,
22
+ passenger-common1.8, passenger-common1.9.1
23
+ Replaces: libapache2-mod-passenger (<< 1:3.9.1),
24
+ passenger-common, passenger-common1.8, passenger-common1.9.1
25
+ Description: Rails and Rack support for Apache2 and Nginx
26
+ Phusion Passenger — a.k.a. mod_rails or mod_rack — makes
27
+ deployment of Ruby web applications, such as those built on the
28
+ revolutionary Ruby on Rails web framework, a breeze.
29
+
30
+ Package: ruby-passenger-dev
31
+ Architecture: any
32
+ Depends: ${shlibs:Depends}, ${misc:Depends}, ruby | ruby-interpreter,
33
+ ruby-passenger (= ${binary:Version})
34
+ Suggests: python
35
+ Replaces: passenger-dev
36
+ Breaks: passenger-dev
37
+ Description: Rails and Rack support for Apache2 and Nginx
38
+ Phusion Passenger — a.k.a. mod_rails or mod_rack — makes
39
+ deployment of Ruby web applications, such as those built on the
40
+ revolutionary Ruby on Rails web framework, a breeze.
41
+ .
42
+ This package provides the development dependencies, for building the NGINX module
43
+
44
+ Package: libapache2-mod-passenger
45
+ Architecture: any
46
+ Section: web
47
+ Depends: ${shlibs:Depends}, ${misc:Depends}, apache2-mpm-worker (>= 2.2.9-9) |
48
+ apache2-mpm-prefork (>= 2.2.9-9) | apache2-mpm-itk (>= 2.2.9-9) | apache2-mpm-event (>= 2.2.9-9),
49
+ ruby-passenger (= ${binary:Version})
50
+ Description: Rails and Rack support for Apache2
51
+ Phusion Passenger — a.k.a. mod_rails or mod_rack — makes
52
+ deployment of Ruby web applications, such as those built on the
53
+ revolutionary Ruby on Rails web framework, a breeze.
54
+ .
55
+ This package contains the Apache 2 module required by Phusion Passenger.
56
+
57
+ Package: ruby-passenger-doc
58
+ Section: doc
59
+ Architecture: all
60
+ Depends: ${misc:Depends}
61
+ Suggests: www-browser
62
+ Provides: passenger-doc
63
+ Conflicts: passenger-doc
64
+ Replaces: passenger-doc
65
+ Description: Rails and Rack support for Apache2 - Documentation
66
+ Phusion Passenger — a.k.a. mod_rails or mod_rack — makes
67
+ deployment of Ruby web applications, such as those built on the
68
+ revolutionary Ruby on Rails web framework, a breeze.
69
+ .
70
+ This package provides the documentation for Phusion Passenger.
71
+
@@ -0,0 +1,385 @@
1
+ This package was debianized by Leandro Nunes dos Santos <leandronunes@safernet.org.br> on
2
+ Mon, 29 Sep 2008 19:36:41 -0300.
3
+
4
+ It incorporates packaging work done by Neil Wilson <neil@brightbox.co.uk>
5
+
6
+ Some further refined packaging work was done by David Moreno <david@axiombox.com> and
7
+ Micah Anderson <micah@riseup.net>.
8
+
9
+ It was downloaded from http://www.modrails.com/install.html
10
+
11
+ Upstream Authors: Hongli Lai <hongli@plan99.net>
12
+ Ninh Bui <ninh.bui@gmail.com>
13
+
14
+ Copyright:
15
+
16
+ Copyright (C) 2008 Hongli Lai & Ninh Bui
17
+
18
+ License:
19
+
20
+ Phusion Passenger is licensed under the GNU General Public License (GPL)
21
+ version 2, and *only* version 2 (i.e. not version 3 or any later versions).
22
+
23
+ In addition to the GNU General Public License v2 licensing terms, we explicitly
24
+ grand you the permission to run any application on top of Phusion Passenger,
25
+ regardless of the application's own licensing terms. The application will not
26
+ be bound to the terms of the GPL in any way. That is, the GPL only applies to
27
+ Phusion Passenger itself, and not to applications that are run through Phusion
28
+ Passenger.
29
+
30
+ We also explicitly allow Apache to load the Phusion Passenger Apache module,
31
+ without Apache or any other loaded modules needing to be released under the
32
+ terms of the GPL.
33
+
34
+ On Debian systems, the full text of the GNU General Public License can be
35
+ found at /usr/share/common-licenses/GPL.
36
+
37
+
38
+ This package also contains a modified version of Boost library:
39
+
40
+ Copyright:
41
+
42
+ The individual copyright and license statements generally appear in
43
+ library headers, though a few appear in other files. For more detailed
44
+ copyright information, see debian/copyright file from Debian boost package.
45
+
46
+ License:
47
+
48
+ Boost Software License - Version 1.0 - August 17th, 2003
49
+
50
+ Permission is hereby granted, free of charge, to any person or organization
51
+ obtaining a copy of the software and accompanying documentation covered by
52
+ this license (the "Software") to use, reproduce, display, distribute,
53
+ execute, and transmit the Software, and to prepare derivative works of the
54
+ Software, and to permit third-parties to whom the Software is furnished to
55
+ do so, all subject to the following:
56
+
57
+ The copyright notices in the Software and this entire statement, including
58
+ the above license grant, this restriction and the following disclaimer,
59
+ must be included in all copies of the Software, in whole or in part, and
60
+ all derivative works of the Software, unless such copies or derivative
61
+ works are solely in the form of machine-executable object code generated by
62
+ a source language processor.
63
+
64
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
65
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
66
+ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
67
+ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
68
+ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
69
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
70
+ DEALINGS IN THE SOFTWARE.
71
+
72
+ The file lib/phusion_passenger/railz/cgi_fixed.rb license is as follows:
73
+
74
+ # Copyright (c) 2004 Zed A. Shaw
75
+ #
76
+ # Permission is hereby granted, free of charge, to any person obtaining
77
+ # a copy of this software and associated documentation files (the
78
+ # "Software"), to deal in the Software without restriction, including
79
+ # without limitation the rights to use, copy, modify, merge, publish,
80
+ # distribute, sublicense, and/or sell copies of the Software, and to
81
+ # permit persons to whom the Software is furnished to do so, subject to
82
+ # the following conditions:
83
+ #
84
+ # The above copyright notice and this permission notice shall be
85
+ # included in all copies or substantial portions of the Software.
86
+ #
87
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
88
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
89
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
90
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
91
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
92
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
93
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
94
+
95
+ All files under ext/oxt are licensed under the MIT license and are
96
+ Copyright (c) 2008 Phusion:
97
+
98
+ *
99
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
100
+ * of this software and associated documentation files (the "Software"), to deal
101
+ * in the Software without restriction, including without limitation the rights
102
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
103
+ * copies of the Software, and to permit persons to whom the Software is
104
+ * furnished to do so, subject to the following conditions:
105
+ *
106
+ * The above copyright notice and this permission notice shall be included in
107
+ * all copies or substantial portions of the Software.
108
+ *
109
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
110
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
111
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
112
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
113
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
114
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
115
+ * THE SOFTWARE.
116
+
117
+ Rack is also vendored with this version of Passenger under the following terms:
118
+
119
+ Copyright (c) 2007, 2008, 2009 Christian Neukirchen <purl.org/net/chneukirchen>
120
+
121
+ Permission is hereby granted, free of charge, to any person obtaining a copy
122
+ of this software and associated documentation files (the "Software"), to
123
+ deal in the Software without restriction, including without limitation the
124
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
125
+ sell copies of the Software, and to permit persons to whom the Software is
126
+ furnished to do so, subject to the following conditions:
127
+
128
+ The above copyright notice and this permission notice shall be included in
129
+ all copies or substantial portions of the Software.
130
+
131
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
132
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
133
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
134
+ THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
135
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
136
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
137
+
138
+ All files located under ext/common hold the same Copyright and license
139
+ as the main Passenger source (Copyright (C) 2008 Hongli Lai & Ninh Bui
140
+ and GPLv2 only), except where noted below:
141
+
142
+ ext/common/Base65.[cpp,h] is Copyright (C) 2004-2008 René Nyffenegger:
143
+
144
+ * Modified by Phusion for inclusion in Phusion Passenger.
145
+ *
146
+ * This source code is provided 'as-is', without any express or implied
147
+ * warranty. In no event will the author be held liable for any damages
148
+ * arising from the use of this software.
149
+ *
150
+ * Permission is granted to anyone to use this software for any purpose,
151
+ * including commercial applications, and to alter it and redistribute it
152
+ * freely, subject to the following restrictions:
153
+ *
154
+ * 1. The origin of this source code must not be misrepresented; you must not
155
+ * claim that you wrote the original source code. If you use this source code
156
+ * in a product, an acknowledgment in the product documentation would be
157
+ * appreciated but is not required.
158
+ *
159
+ * 2. Altered source versions must be plainly marked as such, and must not be
160
+ * misrepresented as being the original source code.
161
+ *
162
+ * 3. This notice may not be removed or altered from any source distribution.
163
+ *
164
+ * René Nyffenegger rene.nyffenegger@adp-gmbh.ch
165
+ *
166
+ */
167
+ ---------------------------------------------------------------------------
168
+ All files located under ext/apache2 hold the same Copyright and license
169
+ as the main Passenger source (Copyright (C) 2008 Hongli Lai & Ninh Bui
170
+ and GPLv2 only), except where noted below:
171
+
172
+ A few functions in ext/apache2/Hooks.cpp are based on the source code of
173
+ mod_scgi version 1.9. Its license is included in this file.
174
+ Please note that these licensing terms *only* encompass those few
175
+ functions, and not Passenger as a whole.
176
+
177
+ The functions which are based on mod_scgi's code are as follows:
178
+ - Hooks::prepareRequest(). Although our version looks nothing like the
179
+ original, the idea of checking for the file's existance from the
180
+ map_to_storage/fixups hook is inspired by mod_scgi's code.
181
+ - Hooks::handleRequest(). Although our version looks nothing like the original,
182
+ the idea of passing the backend process's socket file descriptor up to the
183
+ bucket brigade chain is inspired by mod_scgi's code.
184
+ - Hooks::http2env(), Hooks::lookupName(), Hooks::lookupHeader(),
185
+ Hooks::lookupEnv(), Hooks::addHeader(): Copied from mod_scgi's functions that
186
+ are named similarly. Slightly modified to make the coding style consistent
187
+ with the rest of Phusion Passenger.
188
+ - Hooks::sendHeaders(): Based for the most part on mod_scgi's send_headers()
189
+ function.
190
+
191
+ ------------------------------------------------------------------------
192
+ CNRI OPEN SOURCE LICENSE AGREEMENT
193
+
194
+ IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. BY
195
+ COPYING, INSTALLING OR OTHERWISE USING SCGI-1.9 SOFTWARE, YOU ARE
196
+ DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE
197
+ AGREEMENT.
198
+
199
+ 1. This LICENSE AGREEMENT is between Corporation for National
200
+ Research Initiatives, having an office at 1895 Preston White
201
+ Drive, Reston, VA 20191 ("CNRI"), and the Individual or
202
+ Organization ("Licensee") copying, installing or otherwise using
203
+ scgi-1.9 software in source or binary form and its associated
204
+ documentation ("scgi-1.9").
205
+
206
+ 2. Subject to the terms and conditions of this License Agreement,
207
+ CNRI hereby grants Licensee a nonexclusive, royalty-free, world-
208
+ wide license to reproduce, analyze, test, perform and/or display
209
+ publicly, prepare derivative works, distribute, and otherwise use
210
+ scgi-1.9 alone or in any derivative version, provided, however,
211
+ that CNRI's License Agreement and CNRI's notice of copyright,
212
+ i.e., "Copyright (c) 2004 Corporation for National Research
213
+ Initiatives; All Rights Reserved" are retained in scgi-1.9 alone
214
+ or in any derivative version prepared by Licensee.
215
+
216
+ 3. In the event Licensee prepares a derivative work that is based on
217
+ or incorporates scgi-1.9 or any part thereof, and wants to make
218
+ the derivative work available to others as provided herein, then
219
+ Licensee hereby agrees to include in any such work a brief
220
+ summary of the changes made to scgi-1.9.
221
+
222
+ 4. CNRI is making scgi-1.9 available to Licensee on an "AS IS"
223
+ basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
224
+ IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO
225
+ AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY
226
+ OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF SCGI-1.9
227
+ WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
228
+
229
+ 5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF SCGI-
230
+ 1.9 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
231
+ AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING SCGI-
232
+ 1.9, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE
233
+ POSSIBILITY THEREOF.
234
+
235
+ 6. This License Agreement will automatically terminate upon a
236
+ material breach of its terms and conditions.
237
+
238
+ 7. This License Agreement shall be governed by and interpreted in
239
+ all respects by the law of the State of Virginia, excluding
240
+ Virginia's conflict of law provisions. Nothing in this License
241
+ Agreement shall be deemed to create any relationship of agency,
242
+ partnership, or joint venture between CNRI and Licensee. This
243
+ License Agreement does not grant permission to use CNRI
244
+ trademarks or trade name in a trademark sense to endorse or
245
+ promote products or services of Licensee, or any third party.
246
+
247
+ 8. By copying, installing or otherwise using scgi-1.9, Licensee
248
+ agrees to be bound by the terms and conditions of this License
249
+ Agreement.
250
+
251
+ ---------------------------------------------------------------------------
252
+ All files located under ext/nginx hold the same Copyright and license
253
+ as the main Passenger source (Copyright (C) 2008 Hongli Lai & Ninh Bui
254
+ and GPLv2 only), except where noted below:
255
+
256
+ ext/nginx/Configuration.[c,h], ContentHandler.[c,h],
257
+ ngx_http_passenger_module.[c,h] and StaticContentHandler.h is:
258
+
259
+ /* Copyright (C) Igor Sysoev
260
+ * Copyright (C) 2007 Manlio Perillo (manlio.perillo@gmail.com)
261
+ * Copyright (C) 2008, 2009 Phusion
262
+ *
263
+ * Redistribution and use in source and binary forms, with or without
264
+ * modification, are permitted provided that the following conditions
265
+ * are met:
266
+ * 1. Redistributions of source code must retain the above copyright
267
+ * notice, this list of conditions and the following disclaimer.
268
+ * 2. Redistributions in binary form must reproduce the above copyright
269
+ * notice, this list of conditions and the following disclaimer in the
270
+ * documentation and/or other materials provided with the distribution.
271
+ *
272
+ * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
273
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
274
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
275
+ * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
276
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
277
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
278
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
279
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
280
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
281
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
282
+ * SUCH DAMAGE.
283
+ */
284
+
285
+ ext/nginx/StaticContentHandler.c is:
286
+ /*
287
+ * Copyright (C) Igor Sysoev
288
+ * Copyright (C) 2009 Phusion
289
+ *
290
+ * Redistribution and use in source and binary forms, with or without
291
+ * modification, are permitted provided that the following conditions
292
+ * are met:
293
+ * 1. Redistributions of source code must retain the above copyright
294
+ * notice, this list of conditions and the following disclaimer.
295
+ * 2. Redistributions in binary form must reproduce the above copyright
296
+ * notice, this list of conditions and the following disclaimer in the
297
+ * documentation and/or other materials provided with the distribution.
298
+ *
299
+ * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
300
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
301
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
302
+ * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
303
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
304
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
305
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
306
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
307
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
308
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
309
+ * SUCH DAMAGE.
310
+ */
311
+
312
+ -----------------------------------------------------------------------------
313
+
314
+ All files located under test hold the same Copyright and license
315
+ as the main Passenger source (Copyright (C) 2008 Hongli Lai & Ninh Bui
316
+ and GPLv2 only), except where noted below:
317
+
318
+ test/stub/rails_apps/mycookbook/public/javascripts/controls.js is:
319
+
320
+ // Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
321
+ // (c) 2005-2007 Ivan Krstic (http://blogs.law.harvard.edu/ivan)
322
+ // (c) 2005-2007 Jon Tirsen (http://www.tirsen.com)
323
+ // Contributors:
324
+ // Richard Livsey
325
+ // Rahul Bhargava
326
+ // Rob Wills
327
+ //
328
+ // script.aculo.us is freely distributable under the terms of an MIT-style license.
329
+ // For details, see the script.aculo.us web site: http://script.aculo.us/
330
+
331
+ test/stub/rails_apps/mycookbook/public/javascripts/dragdrop.js is:
332
+
333
+ // Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
334
+ // (c) 2005-2007 Sammi Williams (http://www.oriontransfer.co.nz, sammi@oriontransfer.co.nz)
335
+ //
336
+ // script.aculo.us is freely distributable under the terms of an MIT-style license.
337
+ // For details, see the script.aculo.us web site: http://script.aculo.us/
338
+
339
+ test/stub/rails_apps/mycookbook/public/javascripts/effects.js is:
340
+
341
+ // Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
342
+ // Contributors:
343
+ // Justin Palmer (http://encytemedia.com/)
344
+ // Mark Pilgrim (http://diveintomark.org/)
345
+ // Martin Bialasinki
346
+ //
347
+ // script.aculo.us is freely distributable under the terms of an MIT-style license.
348
+ // For details, see the script.aculo.us web site: http://script.aculo.us/
349
+
350
+ test/stub/rails_apps/mycookbook/public/javascripts/prototype.js is:
351
+
352
+ /* Prototype JavaScript framework, version 1.6.0.1
353
+ * (c) 2005-2007 Sam Stephenson
354
+ *
355
+ * Prototype is freely distributable under the terms of an MIT-style license.
356
+ * For details, see the Prototype web site: http://www.prototypejs.org/
357
+ */
358
+
359
+ test/support/tut.h and tut_reporter.h is Copyright 2002-2006 Vladimir Dyuzhev:
360
+
361
+ * http://tut-framework.sourceforge.net/
362
+ *
363
+ *
364
+ * Redistribution and use in source and binary forms, with or without
365
+ * modification, are permitted provided that the following conditions are met:
366
+ *
367
+ * Redistributions of source code must retain the above copyright notice, this
368
+ * list of conditions and the following disclaimer.
369
+ * Redistributions in binary form must reproduce the above copyright notice,
370
+ * this list of conditions and the following disclaimer in the documentation
371
+ * and/or other materials provided with the distribution.
372
+ *
373
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
374
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
375
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
376
+ * AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
377
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
378
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
379
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
380
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
381
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
382
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
383
+ */
384
+
385
+