passenger 3.0.7 → 3.0.8

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 (439) hide show
  1. data/NEWS +27 -0
  2. data/README +1 -1
  3. data/bin/passenger-install-nginx-module +3 -1
  4. data/build/config.rb +2 -1
  5. data/build/cxx_tests.rb +7 -3
  6. data/build/documentation.rb +5 -40
  7. data/build/nginx.rb +0 -1
  8. data/build/packaging.rb +0 -6
  9. data/build/rake_extensions.rb +5 -0
  10. data/doc/Architectural overview.html +344 -77
  11. data/doc/Security of user switching support.html +338 -71
  12. data/doc/Users guide Apache with comments.html +4830 -0
  13. data/doc/Users guide Apache.html +695 -428
  14. data/doc/Users guide Apache.idmap.txt +80 -0
  15. data/doc/Users guide Apache.txt +5 -5
  16. data/doc/Users guide Nginx.html +591 -313
  17. data/doc/Users guide Nginx.txt +9 -3
  18. data/doc/Users guide Standalone.html +344 -77
  19. data/ext/boost/src/pthread/thread.cpp +1 -1
  20. data/ext/common/AccountsDatabase.h +1 -1
  21. data/ext/common/Constants.h +2 -2
  22. data/ext/common/Logging.h +2 -1
  23. data/ext/common/LoggingAgent/FilterSupport.h +107 -3
  24. data/ext/common/Session.h +1 -1
  25. data/ext/common/Utils.cpp +2 -0
  26. data/ext/common/Utils/Dechunker.h +232 -0
  27. data/ext/common/Utils/HttpHeaderBufferer.h +165 -0
  28. data/ext/common/Utils/StrIntUtils.cpp +51 -15
  29. data/ext/common/Utils/StrIntUtils.h +3 -0
  30. data/ext/common/Utils/StreamBoyerMooreHorspool.h +506 -0
  31. data/ext/nginx/Configuration.c +36 -282
  32. data/ext/nginx/ContentHandler.c +17 -0
  33. data/ext/nginx/HelperAgent.cpp +397 -39
  34. data/ext/oxt/tracable_exception.cpp +3 -1
  35. data/ext/ruby/extconf.rb +1 -0
  36. data/ext/ruby/passenger_native_support.c +3 -0
  37. data/helper-scripts/prespawn +113 -31
  38. data/lib/phusion_passenger.rb +2 -2
  39. data/lib/phusion_passenger/standalone/runtime_installer.rb +3 -2
  40. data/lib/phusion_passenger/standalone/start_command.rb +12 -12
  41. data/test/cxx/DechunkerTest.cpp +216 -0
  42. data/test/cxx/FilterSupportTest.cpp +31 -4
  43. data/test/cxx/HttpHeaderBuffererTest.cpp +203 -0
  44. data/test/cxx/UtilsTest.cpp +46 -3
  45. data/test/integration_tests/hello_world_rack_spec.rb +7 -0
  46. data/test/stub/rack/config.ru +6 -1
  47. data/test/stub/rails_apps/1.2/empty/public/dispatch.cgi +1 -1
  48. data/test/stub/rails_apps/1.2/empty/public/dispatch.fcgi +1 -1
  49. data/test/stub/rails_apps/1.2/empty/public/dispatch.rb +1 -1
  50. data/test/stub/rails_apps/2.0/empty/public/dispatch.cgi +1 -1
  51. data/test/stub/rails_apps/2.0/empty/public/dispatch.fcgi +1 -1
  52. data/test/stub/rails_apps/2.0/empty/public/dispatch.rb +1 -1
  53. data/test/stub/rails_apps/2.2/empty/public/dispatch.cgi +1 -1
  54. data/test/stub/rails_apps/2.2/empty/public/dispatch.fcgi +1 -1
  55. data/test/stub/rails_apps/2.2/empty/public/dispatch.rb +1 -1
  56. metadata +20 -403
  57. data/doc/Doxyfile +0 -241
  58. data/doc/cxxapi/AbstractSpawnManager_8h_source.html +0 -141
  59. data/doc/cxxapi/Account_8h_source.html +0 -206
  60. data/doc/cxxapi/AccountsDatabase_8h_source.html +0 -161
  61. data/doc/cxxapi/AgentBase_8h_source.html +0 -70
  62. data/doc/cxxapi/AgentsStarter_8h_source.html +0 -112
  63. data/doc/cxxapi/BCrypt_8h_source.html +0 -104
  64. data/doc/cxxapi/Blowfish_8h_source.html +0 -134
  65. data/doc/cxxapi/Bucket_8h_source.html +0 -118
  66. data/doc/cxxapi/Constants_8h_source.html +0 -79
  67. data/doc/cxxapi/ContentHandler_8h_source.html +0 -95
  68. data/doc/cxxapi/DirectoryMapper_8h_source.html +0 -311
  69. data/doc/cxxapi/EventedClient_8h_source.html +0 -733
  70. data/doc/cxxapi/EventedMessageServer_8h_source.html +0 -358
  71. data/doc/cxxapi/EventedServer_8h_source.html +0 -326
  72. data/doc/cxxapi/Exceptions_8h_source.html +0 -393
  73. data/doc/cxxapi/FileDescriptor_8h_source.html +0 -324
  74. data/doc/cxxapi/Hooks_8h_source.html +0 -76
  75. data/doc/cxxapi/HttpStatusExtractor_8h_source.html +0 -382
  76. data/doc/cxxapi/IniFile_8h_source.html +0 -527
  77. data/doc/cxxapi/Logging_8h_source.html +0 -796
  78. data/doc/cxxapi/MessageChannel_8h_source.html +0 -776
  79. data/doc/cxxapi/MessageClient_8h_source.html +0 -328
  80. data/doc/cxxapi/MessageReadersWriters_8h_source.html +0 -539
  81. data/doc/cxxapi/MessageServer_8h_source.html +0 -612
  82. data/doc/cxxapi/PoolOptions_8h_source.html +0 -549
  83. data/doc/cxxapi/Process_8h_source.html +0 -286
  84. data/doc/cxxapi/RandomGenerator_8h_source.html +0 -191
  85. data/doc/cxxapi/ResourceLocator_8h_source.html +0 -166
  86. data/doc/cxxapi/SafeLibev_8h_source.html +0 -180
  87. data/doc/cxxapi/ScgiRequestParser_8h_source.html +0 -406
  88. data/doc/cxxapi/ServerInstanceDir_8h_source.html +0 -378
  89. data/doc/cxxapi/Session_8h_source.html +0 -501
  90. data/doc/cxxapi/SpawnManager_8h_source.html +0 -647
  91. data/doc/cxxapi/StaticContentHandler_8h_source.html +0 -69
  92. data/doc/cxxapi/StaticString_8h_source.html +0 -329
  93. data/doc/cxxapi/StringListCreator_8h_source.html +0 -114
  94. data/doc/cxxapi/Utils_8h_source.html +0 -469
  95. data/doc/cxxapi/annotated.html +0 -87
  96. data/doc/cxxapi/apache2_2Configuration_8h_source.html +0 -82
  97. data/doc/cxxapi/classAgentWatcher-members.html +0 -54
  98. data/doc/cxxapi/classAgentWatcher.html +0 -419
  99. data/doc/cxxapi/classClient-members.html +0 -38
  100. data/doc/cxxapi/classClient.html +0 -123
  101. data/doc/cxxapi/classHooks-members.html +0 -40
  102. data/doc/cxxapi/classHooks.html +0 -153
  103. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager-members.html +0 -40
  104. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager.html +0 -187
  105. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.map +0 -3
  106. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.md5 +0 -1
  107. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.png +0 -0
  108. data/doc/cxxapi/classPassenger_1_1ArgumentException-members.html +0 -36
  109. data/doc/cxxapi/classPassenger_1_1ArgumentException.html +0 -56
  110. data/doc/cxxapi/classPassenger_1_1ArrayMessage-members.html +0 -37
  111. data/doc/cxxapi/classPassenger_1_1ArrayMessage.html +0 -113
  112. data/doc/cxxapi/classPassenger_1_1BufferedUpload-members.html +0 -38
  113. data/doc/cxxapi/classPassenger_1_1BufferedUpload.html +0 -112
  114. data/doc/cxxapi/classPassenger_1_1BusyException-members.html +0 -36
  115. data/doc/cxxapi/classPassenger_1_1BusyException.html +0 -54
  116. data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +0 -36
  117. data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +0 -51
  118. data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +0 -41
  119. data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +0 -223
  120. data/doc/cxxapi/classPassenger_1_1EOFException-members.html +0 -36
  121. data/doc/cxxapi/classPassenger_1_1EOFException.html +0 -61
  122. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.map +0 -3
  123. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.md5 +0 -1
  124. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.png +0 -0
  125. data/doc/cxxapi/classPassenger_1_1EventFd-members.html +0 -36
  126. data/doc/cxxapi/classPassenger_1_1EventFd.html +0 -52
  127. data/doc/cxxapi/classPassenger_1_1EventedClient-members.html +0 -59
  128. data/doc/cxxapi/classPassenger_1_1EventedClient.html +0 -531
  129. data/doc/cxxapi/classPassenger_1_1EventedMessageServer-members.html +0 -37
  130. data/doc/cxxapi/classPassenger_1_1EventedMessageServer.html +0 -59
  131. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.map +0 -3
  132. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.md5 +0 -1
  133. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.png +0 -0
  134. data/doc/cxxapi/classPassenger_1_1EventedServer-members.html +0 -37
  135. data/doc/cxxapi/classPassenger_1_1EventedServer.html +0 -93
  136. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.map +0 -3
  137. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.md5 +0 -1
  138. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.png +0 -0
  139. data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +0 -41
  140. data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +0 -178
  141. data/doc/cxxapi/classPassenger_1_1FileDescriptorPair-members.html +0 -36
  142. data/doc/cxxapi/classPassenger_1_1FileDescriptorPair.html +0 -52
  143. data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +0 -36
  144. data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +0 -58
  145. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +0 -3
  146. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +0 -1
  147. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
  148. data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +0 -41
  149. data/doc/cxxapi/classPassenger_1_1FileSystemException.html +0 -66
  150. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.map +0 -3
  151. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.md5 +0 -1
  152. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
  153. data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor-members.html +0 -39
  154. data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor.html +0 -128
  155. data/doc/cxxapi/classPassenger_1_1IOException-members.html +0 -36
  156. data/doc/cxxapi/classPassenger_1_1IOException.html +0 -61
  157. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +0 -4
  158. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +0 -1
  159. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
  160. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +0 -57
  161. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +0 -839
  162. data/doc/cxxapi/classPassenger_1_1MessageServer-members.html +0 -49
  163. data/doc/cxxapi/classPassenger_1_1MessageServer.html +0 -407
  164. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext-members.html +0 -36
  165. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext.html +0 -58
  166. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.map +0 -3
  167. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.md5 +0 -1
  168. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.png +0 -0
  169. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext-members.html +0 -41
  170. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext.html +0 -165
  171. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.map +0 -3
  172. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.md5 +0 -1
  173. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.png +0 -0
  174. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler-members.html +0 -39
  175. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler.html +0 -173
  176. data/doc/cxxapi/classPassenger_1_1Process-members.html +0 -44
  177. data/doc/cxxapi/classPassenger_1_1Process.html +0 -290
  178. data/doc/cxxapi/classPassenger_1_1RandomGenerator-members.html +0 -37
  179. data/doc/cxxapi/classPassenger_1_1RandomGenerator.html +0 -79
  180. data/doc/cxxapi/classPassenger_1_1ResourceLocator-members.html +0 -36
  181. data/doc/cxxapi/classPassenger_1_1ResourceLocator.html +0 -51
  182. data/doc/cxxapi/classPassenger_1_1RuntimeException-members.html +0 -36
  183. data/doc/cxxapi/classPassenger_1_1RuntimeException.html +0 -54
  184. data/doc/cxxapi/classPassenger_1_1SafeLibev-members.html +0 -36
  185. data/doc/cxxapi/classPassenger_1_1SafeLibev.html +0 -51
  186. data/doc/cxxapi/classPassenger_1_1ScalarMessage-members.html +0 -37
  187. data/doc/cxxapi/classPassenger_1_1ScalarMessage.html +0 -76
  188. data/doc/cxxapi/classPassenger_1_1ScgiRequestParser-members.html +0 -50
  189. data/doc/cxxapi/classPassenger_1_1ScgiRequestParser.html +0 -285
  190. data/doc/cxxapi/classPassenger_1_1SecurityException-members.html +0 -36
  191. data/doc/cxxapi/classPassenger_1_1SecurityException.html +0 -56
  192. data/doc/cxxapi/classPassenger_1_1Session-members.html +0 -53
  193. data/doc/cxxapi/classPassenger_1_1Session.html +0 -556
  194. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.map +0 -3
  195. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.md5 +0 -1
  196. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.png +0 -0
  197. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +0 -39
  198. data/doc/cxxapi/classPassenger_1_1SpawnException.html +0 -101
  199. data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +0 -42
  200. data/doc/cxxapi/classPassenger_1_1SpawnManager.html +0 -292
  201. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.map +0 -3
  202. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.md5 +0 -1
  203. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.png +0 -0
  204. data/doc/cxxapi/classPassenger_1_1StandardSession-members.html +0 -54
  205. data/doc/cxxapi/classPassenger_1_1StandardSession.html +0 -394
  206. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.map +0 -3
  207. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.md5 +0 -1
  208. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.png +0 -0
  209. data/doc/cxxapi/classPassenger_1_1StaticString-members.html +0 -36
  210. data/doc/cxxapi/classPassenger_1_1StaticString.html +0 -56
  211. data/doc/cxxapi/classPassenger_1_1SyntaxError-members.html +0 -36
  212. data/doc/cxxapi/classPassenger_1_1SyntaxError.html +0 -54
  213. data/doc/cxxapi/classPassenger_1_1SystemException-members.html +0 -40
  214. data/doc/cxxapi/classPassenger_1_1SystemException.html +0 -155
  215. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +0 -4
  216. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +0 -1
  217. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
  218. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException-members.html +0 -40
  219. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException.html +0 -61
  220. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.map +0 -3
  221. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.md5 +0 -1
  222. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.png +0 -0
  223. data/doc/cxxapi/classPassenger_1_1TimeoutException-members.html +0 -36
  224. data/doc/cxxapi/classPassenger_1_1TimeoutException.html +0 -54
  225. data/doc/cxxapi/classPassenger_1_1Uint16Message-members.html +0 -36
  226. data/doc/cxxapi/classPassenger_1_1Uint16Message.html +0 -51
  227. data/doc/cxxapi/classPassenger_1_1Uint32Message-members.html +0 -36
  228. data/doc/cxxapi/classPassenger_1_1Uint32Message.html +0 -51
  229. data/doc/cxxapi/classServer-members.html +0 -36
  230. data/doc/cxxapi/classServer.html +0 -49
  231. data/doc/cxxapi/classServerInstanceDirToucher-members.html +0 -36
  232. data/doc/cxxapi/classServerInstanceDirToucher.html +0 -47
  233. data/doc/cxxapi/classes.html +0 -52
  234. data/doc/cxxapi/definitions_8h_source.html +0 -36
  235. data/doc/cxxapi/doxygen.css +0 -532
  236. data/doc/cxxapi/doxygen.png +0 -0
  237. data/doc/cxxapi/files.html +0 -76
  238. data/doc/cxxapi/ftv2blank.png +0 -0
  239. data/doc/cxxapi/ftv2doc.png +0 -0
  240. data/doc/cxxapi/ftv2folderclosed.png +0 -0
  241. data/doc/cxxapi/ftv2folderopen.png +0 -0
  242. data/doc/cxxapi/ftv2lastnode.png +0 -0
  243. data/doc/cxxapi/ftv2link.png +0 -0
  244. data/doc/cxxapi/ftv2mlastnode.png +0 -0
  245. data/doc/cxxapi/ftv2mnode.png +0 -0
  246. data/doc/cxxapi/ftv2node.png +0 -0
  247. data/doc/cxxapi/ftv2plastnode.png +0 -0
  248. data/doc/cxxapi/ftv2pnode.png +0 -0
  249. data/doc/cxxapi/ftv2vertline.png +0 -0
  250. data/doc/cxxapi/functions.html +0 -103
  251. data/doc/cxxapi/functions_0x62.html +0 -82
  252. data/doc/cxxapi/functions_0x63.html +0 -102
  253. data/doc/cxxapi/functions_0x64.html +0 -102
  254. data/doc/cxxapi/functions_0x65.html +0 -88
  255. data/doc/cxxapi/functions_0x66.html +0 -100
  256. data/doc/cxxapi/functions_0x67.html +0 -167
  257. data/doc/cxxapi/functions_0x68.html +0 -88
  258. data/doc/cxxapi/functions_0x69.html +0 -96
  259. data/doc/cxxapi/functions_0x6b.html +0 -80
  260. data/doc/cxxapi/functions_0x6c.html +0 -88
  261. data/doc/cxxapi/functions_0x6d.html +0 -88
  262. data/doc/cxxapi/functions_0x6e.html +0 -86
  263. data/doc/cxxapi/functions_0x6f.html +0 -94
  264. data/doc/cxxapi/functions_0x70.html +0 -94
  265. data/doc/cxxapi/functions_0x72.html +0 -110
  266. data/doc/cxxapi/functions_0x73.html +0 -171
  267. data/doc/cxxapi/functions_0x74.html +0 -85
  268. data/doc/cxxapi/functions_0x75.html +0 -85
  269. data/doc/cxxapi/functions_0x77.html +0 -92
  270. data/doc/cxxapi/functions_0x7e.html +0 -79
  271. data/doc/cxxapi/functions_enum.html +0 -49
  272. data/doc/cxxapi/functions_eval.html +0 -67
  273. data/doc/cxxapi/functions_func.html +0 -531
  274. data/doc/cxxapi/functions_vars.html +0 -278
  275. data/doc/cxxapi/graph_legend.dot +0 -22
  276. data/doc/cxxapi/graph_legend.html +0 -92
  277. data/doc/cxxapi/graph_legend.png +0 -0
  278. data/doc/cxxapi/group__Core.html +0 -46
  279. data/doc/cxxapi/group__Core.map +0 -3
  280. data/doc/cxxapi/group__Core.png +0 -0
  281. data/doc/cxxapi/group__Exceptions.html +0 -53
  282. data/doc/cxxapi/group__Hooks.html +0 -42
  283. data/doc/cxxapi/group__Hooks.map +0 -3
  284. data/doc/cxxapi/group__Hooks.png +0 -0
  285. data/doc/cxxapi/group__Support.html +0 -538
  286. data/doc/cxxapi/hierarchy.html +0 -101
  287. data/doc/cxxapi/index.html +0 -16
  288. data/doc/cxxapi/inherit__graph__0.map +0 -3
  289. data/doc/cxxapi/inherit__graph__0.md5 +0 -1
  290. data/doc/cxxapi/inherit__graph__0.png +0 -0
  291. data/doc/cxxapi/inherit__graph__1.map +0 -3
  292. data/doc/cxxapi/inherit__graph__1.md5 +0 -1
  293. data/doc/cxxapi/inherit__graph__1.png +0 -0
  294. data/doc/cxxapi/inherit__graph__10.map +0 -3
  295. data/doc/cxxapi/inherit__graph__10.md5 +0 -1
  296. data/doc/cxxapi/inherit__graph__10.png +0 -0
  297. data/doc/cxxapi/inherit__graph__11.map +0 -4
  298. data/doc/cxxapi/inherit__graph__11.md5 +0 -1
  299. data/doc/cxxapi/inherit__graph__11.png +0 -0
  300. data/doc/cxxapi/inherit__graph__12.map +0 -3
  301. data/doc/cxxapi/inherit__graph__12.md5 +0 -1
  302. data/doc/cxxapi/inherit__graph__12.png +0 -0
  303. data/doc/cxxapi/inherit__graph__13.map +0 -3
  304. data/doc/cxxapi/inherit__graph__13.md5 +0 -1
  305. data/doc/cxxapi/inherit__graph__13.png +0 -0
  306. data/doc/cxxapi/inherit__graph__14.map +0 -3
  307. data/doc/cxxapi/inherit__graph__14.md5 +0 -1
  308. data/doc/cxxapi/inherit__graph__14.png +0 -0
  309. data/doc/cxxapi/inherit__graph__15.map +0 -3
  310. data/doc/cxxapi/inherit__graph__15.md5 +0 -1
  311. data/doc/cxxapi/inherit__graph__15.png +0 -0
  312. data/doc/cxxapi/inherit__graph__16.map +0 -5
  313. data/doc/cxxapi/inherit__graph__16.md5 +0 -1
  314. data/doc/cxxapi/inherit__graph__16.png +0 -0
  315. data/doc/cxxapi/inherit__graph__17.map +0 -3
  316. data/doc/cxxapi/inherit__graph__17.md5 +0 -1
  317. data/doc/cxxapi/inherit__graph__17.png +0 -0
  318. data/doc/cxxapi/inherit__graph__18.map +0 -3
  319. data/doc/cxxapi/inherit__graph__18.md5 +0 -1
  320. data/doc/cxxapi/inherit__graph__18.png +0 -0
  321. data/doc/cxxapi/inherit__graph__19.map +0 -4
  322. data/doc/cxxapi/inherit__graph__19.md5 +0 -1
  323. data/doc/cxxapi/inherit__graph__19.png +0 -0
  324. data/doc/cxxapi/inherit__graph__2.map +0 -3
  325. data/doc/cxxapi/inherit__graph__2.md5 +0 -1
  326. data/doc/cxxapi/inherit__graph__2.png +0 -0
  327. data/doc/cxxapi/inherit__graph__20.map +0 -3
  328. data/doc/cxxapi/inherit__graph__20.md5 +0 -1
  329. data/doc/cxxapi/inherit__graph__20.png +0 -0
  330. data/doc/cxxapi/inherit__graph__21.map +0 -3
  331. data/doc/cxxapi/inherit__graph__21.md5 +0 -1
  332. data/doc/cxxapi/inherit__graph__21.png +0 -0
  333. data/doc/cxxapi/inherit__graph__22.map +0 -3
  334. data/doc/cxxapi/inherit__graph__22.md5 +0 -1
  335. data/doc/cxxapi/inherit__graph__22.png +0 -0
  336. data/doc/cxxapi/inherit__graph__23.map +0 -3
  337. data/doc/cxxapi/inherit__graph__23.md5 +0 -1
  338. data/doc/cxxapi/inherit__graph__23.png +0 -0
  339. data/doc/cxxapi/inherit__graph__24.map +0 -3
  340. data/doc/cxxapi/inherit__graph__24.md5 +0 -1
  341. data/doc/cxxapi/inherit__graph__24.png +0 -0
  342. data/doc/cxxapi/inherit__graph__25.map +0 -3
  343. data/doc/cxxapi/inherit__graph__25.md5 +0 -1
  344. data/doc/cxxapi/inherit__graph__25.png +0 -0
  345. data/doc/cxxapi/inherit__graph__26.map +0 -3
  346. data/doc/cxxapi/inherit__graph__26.md5 +0 -1
  347. data/doc/cxxapi/inherit__graph__26.png +0 -0
  348. data/doc/cxxapi/inherit__graph__27.map +0 -3
  349. data/doc/cxxapi/inherit__graph__27.md5 +0 -1
  350. data/doc/cxxapi/inherit__graph__27.png +0 -0
  351. data/doc/cxxapi/inherit__graph__28.map +0 -3
  352. data/doc/cxxapi/inherit__graph__28.md5 +0 -1
  353. data/doc/cxxapi/inherit__graph__28.png +0 -0
  354. data/doc/cxxapi/inherit__graph__29.map +0 -3
  355. data/doc/cxxapi/inherit__graph__29.md5 +0 -1
  356. data/doc/cxxapi/inherit__graph__29.png +0 -0
  357. data/doc/cxxapi/inherit__graph__3.map +0 -4
  358. data/doc/cxxapi/inherit__graph__3.md5 +0 -1
  359. data/doc/cxxapi/inherit__graph__3.png +0 -0
  360. data/doc/cxxapi/inherit__graph__30.map +0 -3
  361. data/doc/cxxapi/inherit__graph__30.md5 +0 -1
  362. data/doc/cxxapi/inherit__graph__30.png +0 -0
  363. data/doc/cxxapi/inherit__graph__31.map +0 -4
  364. data/doc/cxxapi/inherit__graph__31.md5 +0 -1
  365. data/doc/cxxapi/inherit__graph__31.png +0 -0
  366. data/doc/cxxapi/inherit__graph__32.map +0 -3
  367. data/doc/cxxapi/inherit__graph__32.md5 +0 -1
  368. data/doc/cxxapi/inherit__graph__32.png +0 -0
  369. data/doc/cxxapi/inherit__graph__33.map +0 -3
  370. data/doc/cxxapi/inherit__graph__33.md5 +0 -1
  371. data/doc/cxxapi/inherit__graph__33.png +0 -0
  372. data/doc/cxxapi/inherit__graph__34.map +0 -3
  373. data/doc/cxxapi/inherit__graph__34.md5 +0 -1
  374. data/doc/cxxapi/inherit__graph__34.png +0 -0
  375. data/doc/cxxapi/inherit__graph__35.map +0 -3
  376. data/doc/cxxapi/inherit__graph__35.md5 +0 -1
  377. data/doc/cxxapi/inherit__graph__35.png +0 -0
  378. data/doc/cxxapi/inherit__graph__36.map +0 -5
  379. data/doc/cxxapi/inherit__graph__36.md5 +0 -1
  380. data/doc/cxxapi/inherit__graph__36.png +0 -0
  381. data/doc/cxxapi/inherit__graph__37.map +0 -3
  382. data/doc/cxxapi/inherit__graph__37.md5 +0 -1
  383. data/doc/cxxapi/inherit__graph__37.png +0 -0
  384. data/doc/cxxapi/inherit__graph__38.map +0 -3
  385. data/doc/cxxapi/inherit__graph__38.md5 +0 -1
  386. data/doc/cxxapi/inherit__graph__38.png +0 -0
  387. data/doc/cxxapi/inherit__graph__39.map +0 -3
  388. data/doc/cxxapi/inherit__graph__39.md5 +0 -1
  389. data/doc/cxxapi/inherit__graph__39.png +0 -0
  390. data/doc/cxxapi/inherit__graph__4.map +0 -3
  391. data/doc/cxxapi/inherit__graph__4.md5 +0 -1
  392. data/doc/cxxapi/inherit__graph__4.png +0 -0
  393. data/doc/cxxapi/inherit__graph__40.map +0 -3
  394. data/doc/cxxapi/inherit__graph__40.md5 +0 -1
  395. data/doc/cxxapi/inherit__graph__40.png +0 -0
  396. data/doc/cxxapi/inherit__graph__41.map +0 -3
  397. data/doc/cxxapi/inherit__graph__41.md5 +0 -1
  398. data/doc/cxxapi/inherit__graph__41.png +0 -0
  399. data/doc/cxxapi/inherit__graph__5.map +0 -3
  400. data/doc/cxxapi/inherit__graph__5.md5 +0 -1
  401. data/doc/cxxapi/inherit__graph__5.png +0 -0
  402. data/doc/cxxapi/inherit__graph__6.map +0 -3
  403. data/doc/cxxapi/inherit__graph__6.md5 +0 -1
  404. data/doc/cxxapi/inherit__graph__6.png +0 -0
  405. data/doc/cxxapi/inherit__graph__7.map +0 -3
  406. data/doc/cxxapi/inherit__graph__7.md5 +0 -1
  407. data/doc/cxxapi/inherit__graph__7.png +0 -0
  408. data/doc/cxxapi/inherit__graph__8.map +0 -3
  409. data/doc/cxxapi/inherit__graph__8.md5 +0 -1
  410. data/doc/cxxapi/inherit__graph__8.png +0 -0
  411. data/doc/cxxapi/inherit__graph__9.map +0 -3
  412. data/doc/cxxapi/inherit__graph__9.md5 +0 -1
  413. data/doc/cxxapi/inherit__graph__9.png +0 -0
  414. data/doc/cxxapi/inherits.html +0 -165
  415. data/doc/cxxapi/main.html +0 -28
  416. data/doc/cxxapi/modules.html +0 -36
  417. data/doc/cxxapi/namespacePassenger.html +0 -585
  418. data/doc/cxxapi/namespacemembers.html +0 -190
  419. data/doc/cxxapi/namespacemembers_enum.html +0 -48
  420. data/doc/cxxapi/namespacemembers_eval.html +0 -57
  421. data/doc/cxxapi/namespacemembers_func.html +0 -114
  422. data/doc/cxxapi/namespacemembers_type.html +0 -54
  423. data/doc/cxxapi/namespaces.html +0 -37
  424. data/doc/cxxapi/nginx_2Configuration_8h_source.html +0 -126
  425. data/doc/cxxapi/ngx__http__passenger__module_8h_source.html +0 -95
  426. data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard-members.html +0 -36
  427. data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html +0 -51
  428. data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +0 -67
  429. data/doc/cxxapi/structPassenger_1_1PoolOptions.html +0 -647
  430. data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash-members.html +0 -36
  431. data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash.html +0 -51
  432. data/doc/cxxapi/tab_b.gif +0 -0
  433. data/doc/cxxapi/tab_l.gif +0 -0
  434. data/doc/cxxapi/tab_r.gif +0 -0
  435. data/doc/cxxapi/tabs.css +0 -105
  436. data/doc/cxxapi/tree.html +0 -249
  437. data/doc/template/horo.rb +0 -613
  438. data/ext/libev/config.h +0 -122
  439. data/ext/nginx/HttpStatusExtractor.h +0 -351
@@ -276,7 +276,7 @@ Nginx binary.
276
276
 
277
277
 
278
278
  [[deploying_a_ror_app]]
279
- == Deploying a Ruby on Rails application ==
279
+ == Deploying a Ruby on Rails 1.x or 2.x (but NOT Rails >= 3) application ==
280
280
 
281
281
  Suppose you have a Ruby on Rails application in '/webapps/mycook', and you own
282
282
  the domain 'www.mycook.com'. You can either deploy your application to the
@@ -409,7 +409,7 @@ See <<capistrano,Capistrano recipe>>.
409
409
 
410
410
 
411
411
  [[deploying_a_rack_app]]
412
- == Deploying a Rack-based Ruby application ==
412
+ == Deploying a Rack-based Ruby application (including Rails >= 3) ==
413
413
 
414
414
  Phusion Passenger supports arbitrary Ruby web applications that follow the
415
415
  link:http://rack.rubyforge.org/[Rack] interface.
@@ -826,6 +826,12 @@ This option may occur in the following places:
826
826
 
827
827
  In each place, it may be specified at most once. The default value is 'on'.
828
828
 
829
+ ==== passenger_buffer_size ====
830
+ ==== passenger_buffers ====
831
+ ==== passenger_busy_buffer_size ====
832
+ These options have the same effect as proxy_module's similarly named options.
833
+ They can be used to modify the maximum allowed HTTP header size.
834
+
829
835
  === Security options ===
830
836
  [[PassengerUserSwitching]]
831
837
  ==== passenger_user_switching <on|off> ====
@@ -836,7 +842,7 @@ The default value is 'on'.
836
842
 
837
843
  ==== passenger_user <username> ====
838
844
  If <<user_switching,user switching support>> is enabled, then Phusion Passenger will
839
- by default run the web application as the owner if the file 'config/environment.rb'
845
+ by default run the web application as the owner of the file 'config/environment.rb'
840
846
  (for Rails apps) or 'config.ru' (for Rack apps). This option allows you to override
841
847
  that behavior and explicitly set a user to run the web application as, regardless
842
848
  of the ownership of 'environment.rb'/'config.ru'.
@@ -1,16 +1,35 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
1
+ <!DOCTYPE html>
2
+ <html lang="en">
4
3
  <head>
5
- <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
6
- <meta name="generator" content="AsciiDoc 8.6.1" />
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <meta name="generator" content="AsciiDoc 8.6.5">
7
6
  <title>Phusion Passenger Standalone users guide</title>
8
7
  <style type="text/css">
9
- /* Debug borders */
10
- p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
11
8
  /*
12
- border: 1px solid red;
13
- */
9
+ * AsciiDoc 'flask' theme for xhtml11 and html5 backends. A shameless knock-off
10
+ * of the Flask website styling (http://flask.pocoo.org/docs/).
11
+ *
12
+ * The implementation is straight-forward, consisting of the asciidoc.css file
13
+ * followed by theme specific overrides.
14
+ *
15
+ * */
16
+
17
+
18
+ /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
19
+
20
+ /* Default font. */
21
+ body {
22
+ font-family: Georgia,serif;
23
+ }
24
+
25
+ /* Title font. */
26
+ h1, h2, h3, h4, h5, h6,
27
+ div.title, caption.title,
28
+ thead, p.table.header,
29
+ #toctitle,
30
+ #author, #revnumber, #revdate, #revremark,
31
+ #footer {
32
+ font-family: Arial,Helvetica,sans-serif;
14
33
  }
15
34
 
16
35
  body {
@@ -35,13 +54,8 @@ strong {
35
54
  color: #083194;
36
55
  }
37
56
 
38
- tt {
39
- color: navy;
40
- }
41
-
42
57
  h1, h2, h3, h4, h5, h6 {
43
58
  color: #527bbd;
44
- font-family: sans-serif;
45
59
  margin-top: 1.2em;
46
60
  margin-bottom: 0.5em;
47
61
  line-height: 1.3;
@@ -59,9 +73,11 @@ h3 {
59
73
  h3 + * {
60
74
  clear: left;
61
75
  }
76
+ h5 {
77
+ font-size: 1.0em;
78
+ }
62
79
 
63
80
  div.sectionbody {
64
- font-family: serif;
65
81
  margin-left: 0;
66
82
  }
67
83
 
@@ -77,45 +93,44 @@ p {
77
93
  ul, ol, li > p {
78
94
  margin-top: 0;
79
95
  }
96
+ ul > li { color: #aaa; }
97
+ ul > li > * { color: black; }
80
98
 
81
99
  pre {
82
100
  padding: 0;
83
101
  margin: 0;
84
102
  }
85
103
 
86
- span#author {
104
+ #author {
87
105
  color: #527bbd;
88
- font-family: sans-serif;
89
106
  font-weight: bold;
90
107
  font-size: 1.1em;
91
108
  }
92
- span#email {
109
+ #email {
93
110
  }
94
- span#revnumber, span#revdate, span#revremark {
95
- font-family: sans-serif;
111
+ #revnumber, #revdate, #revremark {
96
112
  }
97
113
 
98
- div#footer {
99
- font-family: sans-serif;
114
+ #footer {
100
115
  font-size: small;
101
116
  border-top: 2px solid silver;
102
117
  padding-top: 0.5em;
103
118
  margin-top: 4.0em;
104
119
  }
105
- div#footer-text {
120
+ #footer-text {
106
121
  float: left;
107
122
  padding-bottom: 0.5em;
108
123
  }
109
- div#footer-badges {
124
+ #footer-badges {
110
125
  float: right;
111
126
  padding-bottom: 0.5em;
112
127
  }
113
128
 
114
- div#preamble {
129
+ #preamble {
115
130
  margin-top: 1.5em;
116
131
  margin-bottom: 1.5em;
117
132
  }
118
- div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
133
+ div.imageblock, div.exampleblock, div.verseblock,
119
134
  div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
120
135
  div.admonitionblock {
121
136
  margin-top: 1.0em;
@@ -135,7 +150,6 @@ div.content { /* Block element content. */
135
150
  /* Block element titles. */
136
151
  div.title, caption.title {
137
152
  color: #527bbd;
138
- font-family: sans-serif;
139
153
  font-weight: bold;
140
154
  text-align: left;
141
155
  margin-top: 1.0em;
@@ -157,13 +171,15 @@ div.content + div.title {
157
171
 
158
172
  div.sidebarblock > div.content {
159
173
  background: #ffffee;
160
- border: 1px solid silver;
174
+ border: 1px solid #dddddd;
175
+ border-left: 4px solid #f0f0f0;
161
176
  padding: 0.5em;
162
177
  }
163
178
 
164
179
  div.listingblock > div.content {
165
- border: 1px solid silver;
166
- background: #f4f4f4;
180
+ border: 1px solid #dddddd;
181
+ border-left: 5px solid #f0f0f0;
182
+ background: #f8f8f8;
167
183
  padding: 0.5em;
168
184
  }
169
185
 
@@ -171,7 +187,7 @@ div.quoteblock, div.verseblock {
171
187
  padding-left: 1.0em;
172
188
  margin-left: 1.0em;
173
189
  margin-right: 10%;
174
- border-left: 5px solid #dddddd;
190
+ border-left: 5px solid #f0f0f0;
175
191
  color: #777777;
176
192
  }
177
193
 
@@ -182,6 +198,7 @@ div.quoteblock > div.attribution {
182
198
 
183
199
  div.verseblock > pre.content {
184
200
  font-family: inherit;
201
+ font-size: inherit;
185
202
  }
186
203
  div.verseblock > div.attribution {
187
204
  padding-top: 0.75em;
@@ -254,36 +271,12 @@ div.compact div, div.compact div {
254
271
  margin-bottom: 0.1em;
255
272
  }
256
273
 
257
- div.tableblock > table {
258
- border: 3px solid #527bbd;
259
- }
260
- thead, p.table.header {
261
- font-family: sans-serif;
262
- font-weight: bold;
263
- color: #527bbd;
264
- }
265
274
  tfoot {
266
275
  font-weight: bold;
267
276
  }
268
277
  td > div.verse {
269
278
  white-space: pre;
270
279
  }
271
- p.table {
272
- margin-top: 0;
273
- }
274
- /* Because the table frame attribute is overriden by CSS in most browsers. */
275
- div.tableblock > table[frame="void"] {
276
- border-style: none;
277
- }
278
- div.tableblock > table[frame="hsides"] {
279
- border-left-style: none;
280
- border-right-style: none;
281
- }
282
- div.tableblock > table[frame="vsides"] {
283
- border-top-style: none;
284
- border-bottom-style: none;
285
- }
286
-
287
280
 
288
281
  div.hdlist {
289
282
  margin-top: 0.8em;
@@ -350,16 +343,15 @@ div.colist td img {
350
343
  }
351
344
 
352
345
  @media print {
353
- div#footer-badges { display: none; }
346
+ #footer-badges { display: none; }
354
347
  }
355
348
 
356
- div#toc {
349
+ #toc {
357
350
  margin-bottom: 2.5em;
358
351
  }
359
352
 
360
- div#toctitle {
353
+ #toctitle {
361
354
  color: #527bbd;
362
- font-family: sans-serif;
363
355
  font-size: 1.1em;
364
356
  font-weight: bold;
365
357
  margin-top: 1.0em;
@@ -383,10 +375,223 @@ div.toclevel4 {
383
375
  font-size: 0.9em;
384
376
  }
385
377
 
378
+ span.aqua { color: aqua; }
379
+ span.black { color: black; }
380
+ span.blue { color: blue; }
381
+ span.fuchsia { color: fuchsia; }
382
+ span.gray { color: gray; }
383
+ span.green { color: green; }
384
+ span.lime { color: lime; }
385
+ span.maroon { color: maroon; }
386
+ span.navy { color: navy; }
387
+ span.olive { color: olive; }
388
+ span.purple { color: purple; }
389
+ span.red { color: red; }
390
+ span.silver { color: silver; }
391
+ span.teal { color: teal; }
392
+ span.white { color: white; }
393
+ span.yellow { color: yellow; }
394
+
395
+ span.aqua-background { background: aqua; }
396
+ span.black-background { background: black; }
397
+ span.blue-background { background: blue; }
398
+ span.fuchsia-background { background: fuchsia; }
399
+ span.gray-background { background: gray; }
400
+ span.green-background { background: green; }
401
+ span.lime-background { background: lime; }
402
+ span.maroon-background { background: maroon; }
403
+ span.navy-background { background: navy; }
404
+ span.olive-background { background: olive; }
405
+ span.purple-background { background: purple; }
406
+ span.red-background { background: red; }
407
+ span.silver-background { background: silver; }
408
+ span.teal-background { background: teal; }
409
+ span.white-background { background: white; }
410
+ span.yellow-background { background: yellow; }
411
+
412
+ span.big { font-size: 2em; }
413
+ span.small { font-size: 0.6em; }
414
+
415
+ span.underline { text-decoration: underline; }
416
+ span.overline { text-decoration: overline; }
417
+ span.line-through { text-decoration: line-through; }
418
+
419
+
420
+ /*
421
+ * xhtml11 specific
422
+ *
423
+ * */
424
+
425
+ tt {
426
+ font-family: monospace;
427
+ font-size: inherit;
428
+ color: navy;
429
+ }
430
+
431
+ div.tableblock {
432
+ margin-top: 1.0em;
433
+ margin-bottom: 1.5em;
434
+ }
435
+ div.tableblock > table {
436
+ border: 3px solid #527bbd;
437
+ }
438
+ thead, p.table.header {
439
+ font-weight: bold;
440
+ color: #527bbd;
441
+ }
442
+ p.table {
443
+ margin-top: 0;
444
+ }
445
+ /* Because the table frame attribute is overriden by CSS in most browsers. */
446
+ div.tableblock > table[frame="void"] {
447
+ border-style: none;
448
+ }
449
+ div.tableblock > table[frame="hsides"] {
450
+ border-left-style: none;
451
+ border-right-style: none;
452
+ }
453
+ div.tableblock > table[frame="vsides"] {
454
+ border-top-style: none;
455
+ border-bottom-style: none;
456
+ }
457
+
458
+
459
+ /*
460
+ * html5 specific
461
+ *
462
+ * */
463
+
464
+ .monospaced {
465
+ font-family: monospace;
466
+ font-size: inherit;
467
+ color: navy;
468
+ }
469
+
470
+ table.tableblock {
471
+ margin-top: 1.0em;
472
+ margin-bottom: 1.5em;
473
+ }
474
+ thead, p.tableblock.header {
475
+ font-weight: bold;
476
+ color: #527bbd;
477
+ }
478
+ p.tableblock {
479
+ margin-top: 0;
480
+ }
481
+ table.tableblock {
482
+ border-width: 3px;
483
+ border-spacing: 0px;
484
+ border-style: solid;
485
+ border-color: #527bbd;
486
+ border-collapse: collapse;
487
+ }
488
+ th.tableblock, td.tableblock {
489
+ border-width: 1px;
490
+ padding: 4px;
491
+ border-style: solid;
492
+ border-color: #527bbd;
493
+ }
494
+
495
+ table.tableblock.frame-topbot {
496
+ border-left-style: hidden;
497
+ border-right-style: hidden;
498
+ }
499
+ table.tableblock.frame-sides {
500
+ border-top-style: hidden;
501
+ border-bottom-style: hidden;
502
+ }
503
+ table.tableblock.frame-none {
504
+ border-style: hidden;
505
+ }
506
+
507
+ th.tableblock.halign-left, td.tableblock.halign-left {
508
+ text-align: left;
509
+ }
510
+ th.tableblock.halign-center, td.tableblock.halign-center {
511
+ text-align: center;
512
+ }
513
+ th.tableblock.halign-right, td.tableblock.halign-right {
514
+ text-align: right;
515
+ }
516
+
517
+ th.tableblock.valign-top, td.tableblock.valign-top {
518
+ vertical-align: top;
519
+ }
520
+ th.tableblock.valign-middle, td.tableblock.valign-middle {
521
+ vertical-align: middle;
522
+ }
523
+ th.tableblock.valign-bottom, td.tableblock.valign-bottom {
524
+ vertical-align: bottom;
525
+ }
526
+
527
+
528
+ /*
529
+ * Theme specific overrides of the preceding (asciidoc.css) CSS.
530
+ *
531
+ */
532
+ body {
533
+ font-family: Garamond, Georgia, serif;
534
+ font-size: 17px;
535
+ color: #3E4349;
536
+ line-height: 1.3em;
537
+ }
538
+ h1, h2, h3, h4, h5, h6,
539
+ div.title, caption.title,
540
+ thead, p.table.header,
541
+ #toctitle,
542
+ #author, #revnumber, #revdate, #revremark,
543
+ #footer {
544
+ font-family: Garmond, Georgia, serif;
545
+ font-weight: normal;
546
+ border-bottom-width: 0;
547
+ color: #3E4349;
548
+ }
549
+ div.title, caption.title { color: #596673; font-weight: bold; }
550
+ h1 { font-size: 240%; }
551
+ h2 { font-size: 180%; }
552
+ h3 { font-size: 150%; }
553
+ h4 { font-size: 130%; }
554
+ h5 { font-size: 100%; }
555
+ h6 { font-size: 100%; }
556
+ #header h1 { margin-top: 0; }
557
+ #toc {
558
+ color: #444444;
559
+ line-height: 1.5;
560
+ padding-top: 1.5em;
561
+ }
562
+ #toctitle {
563
+ font-size: 20px;
564
+ }
565
+ #toc a {
566
+ border-bottom: 1px dotted #999999;
567
+ color: #444444 !important;
568
+ text-decoration: none !important;
569
+ }
570
+ #toc a:hover {
571
+ border-bottom: 1px solid #6D4100;
572
+ color: #6D4100 !important;
573
+ text-decoration: none !important;
574
+ }
575
+ div.toclevel1 { margin-top: 0.2em; font-size: 16px; }
576
+ div.toclevel2 { margin-top: 0.15em; font-size: 14px; }
577
+ em, dt, td.hdlist1 { color: black; }
578
+ strong { color: #3E4349; }
579
+ a { color: #004B6B; text-decoration: none; border-bottom: 1px dotted #004B6B; }
580
+ a:visited { color: #615FA0; border-bottom: 1px dotted #615FA0; }
581
+ a:hover { color: #6D4100; border-bottom: 1px solid #6D4100; }
582
+ div.tableblock > table, table.tableblock { border: 3px solid #E8E8E8; }
583
+ th.tableblock, td.tableblock { border: 1px solid #E8E8E8; }
584
+ ul > li > * { color: #3E4349; }
585
+ pre, tt, .monospaced { font-family: Consolas,Menlo,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace; }
586
+ tt, .monospaced { font-size: 0.9em; color: black;
587
+ }
588
+ div.exampleblock > div.content, div.sidebarblock > div.content, div.listingblock > div.content { border-width: 0 0 0 3px; border-color: #E8E8E8; }
589
+ div.verseblock { border-left-width: 0; margin-left: 3em; }
590
+ div.quoteblock { border-left-width: 3px; margin-left: 0; margin-right: 0;}
591
+ div.admonitionblock td.content { border-left: 3px solid #E8E8E8; }
386
592
  </style>
387
593
  <script type="text/javascript">
388
594
  /*<![CDATA[*/
389
- window.onload = function(){asciidoc.footnotes(); asciidoc.toc(3);}
390
595
  var asciidoc = { // Namespace.
391
596
 
392
597
  /////////////////////////////////////////////////////////////////////
@@ -448,6 +653,25 @@ toc: function (toclevels) {
448
653
  }
449
654
 
450
655
  var toc = document.getElementById("toc");
656
+ if (!toc) {
657
+ return;
658
+ }
659
+
660
+ // Delete existing TOC entries in case we're reloading the TOC.
661
+ var tocEntriesToRemove = [];
662
+ var i;
663
+ for (i = 0; i < toc.childNodes.length; i++) {
664
+ var entry = toc.childNodes[i];
665
+ if (entry.nodeName == 'DIV'
666
+ && entry.getAttribute("class")
667
+ && entry.getAttribute("class").match(/^toclevel/))
668
+ tocEntriesToRemove.push(entry);
669
+ }
670
+ for (i = 0; i < tocEntriesToRemove.length; i++) {
671
+ toc.removeChild(tocEntriesToRemove[i]);
672
+ }
673
+
674
+ // Rebuild TOC entries.
451
675
  var entries = tocEntries(document.getElementById("content"), toclevels);
452
676
  for (var i = 0; i < entries.length; ++i) {
453
677
  var entry = entries[i];
@@ -475,24 +699,44 @@ toc: function (toclevels) {
475
699
  */
476
700
 
477
701
  footnotes: function () {
478
- var cont = document.getElementById("content");
702
+ // Delete existing footnote entries in case we're reloading the footnodes.
703
+ var i;
479
704
  var noteholder = document.getElementById("footnotes");
705
+ if (!noteholder) {
706
+ return;
707
+ }
708
+ var entriesToRemove = [];
709
+ for (i = 0; i < noteholder.childNodes.length; i++) {
710
+ var entry = noteholder.childNodes[i];
711
+ if (entry.nodeName == 'DIV' && entry.getAttribute("class") == "footnote")
712
+ entriesToRemove.push(entry);
713
+ }
714
+ for (i = 0; i < entriesToRemove.length; i++) {
715
+ noteholder.removeChild(entriesToRemove[i]);
716
+ }
717
+
718
+ // Rebuild footnote entries.
719
+ var cont = document.getElementById("content");
480
720
  var spans = cont.getElementsByTagName("span");
481
721
  var refs = {};
482
722
  var n = 0;
483
723
  for (i=0; i<spans.length; i++) {
484
724
  if (spans[i].className == "footnote") {
485
725
  n++;
486
- // Use [\s\S] in place of . so multi-line matches work.
487
- // Because JavaScript has no s (dotall) regex flag.
488
- note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
726
+ var note = spans[i].getAttribute("data-note");
727
+ if (!note) {
728
+ // Use [\s\S] in place of . so multi-line matches work.
729
+ // Because JavaScript has no s (dotall) regex flag.
730
+ note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
731
+ spans[i].innerHTML =
732
+ "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
733
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
734
+ spans[i].setAttribute("data-note", note);
735
+ }
489
736
  noteholder.innerHTML +=
490
737
  "<div class='footnote' id='_footnote_" + n + "'>" +
491
738
  "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
492
739
  n + "</a>. " + note + "</div>";
493
- spans[i].innerHTML =
494
- "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
495
- "' title='View footnote' class='footnote'>" + n + "</a>]";
496
740
  var id =spans[i].getAttribute("id");
497
741
  if (id != null) refs["#"+id] = n;
498
742
  }
@@ -512,9 +756,32 @@ footnotes: function () {
512
756
  }
513
757
  }
514
758
  }
759
+ },
760
+
761
+ install: function(toclevels) {
762
+ var timerId;
763
+
764
+ function reinstall() {
765
+ asciidoc.footnotes();
766
+ if (toclevels) {
767
+ asciidoc.toc(toclevels);
768
+ }
769
+ }
770
+
771
+ function reinstallAndRemoveTimer() {
772
+ clearInterval(timerId);
773
+ reinstall();
774
+ }
775
+
776
+ timerId = setInterval(reinstall, 500);
777
+ if (document.addEventListener)
778
+ document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
779
+ else
780
+ window.onload = reinstallAndRemoveTimer;
515
781
  }
516
782
 
517
783
  }
784
+ asciidoc.install(3);
518
785
  /*]]>*/
519
786
  </script>
520
787
  </head>
@@ -531,7 +798,7 @@ footnotes: function () {
531
798
  <div class="sectionbody">
532
799
  <div class="paragraph"><p><span class="image">
533
800
  <a class="image" href="http://www.phusion.nl/">
534
- <img src="images/phusion_banner.png" alt="images/phusion_banner.png" />
801
+ <img src="images/phusion_banner.png" alt="images/phusion_banner.png">
535
802
  </a>
536
803
  </span></p></div>
537
804
  <div class="paragraph"><p>Phusion Passenger Standalone is a web server that allows one to run Ruby web applications.
@@ -570,8 +837,8 @@ Can listen on a Unix socket, for use in reverse proxy setups.
570
837
  <h2 id="_installation">1. Installation</h2>
571
838
  <div class="sectionbody">
572
839
  <div class="listingblock">
573
- <div class="content">
574
- <pre><tt>gem install passenger</tt></pre>
840
+ <div class="content monospaced">
841
+ <pre>gem install passenger</pre>
575
842
  </div></div>
576
843
  </div>
577
844
  </div>
@@ -580,20 +847,20 @@ Can listen on a Unix socket, for use in reverse proxy setups.
580
847
  <div class="sectionbody">
581
848
  <div class="paragraph"><p>Go to your application&#8217;s root directory, and run:</p></div>
582
849
  <div class="listingblock">
583
- <div class="content">
584
- <pre><tt>passenger start</tt></pre>
850
+ <div class="content monospaced">
851
+ <pre>passenger start</pre>
585
852
  </div></div>
586
853
  <div class="paragraph"><p>This will start Phusion Passenger on port 3000. If you want to run it on a different port,
587
- use the <tt>-p</tt> option, e.g.:</p></div>
854
+ use the <span class="monospaced">-p</span> option, e.g.:</p></div>
588
855
  <div class="listingblock">
589
- <div class="content">
590
- <pre><tt>sudo passenger start -p 80</tt></pre>
856
+ <div class="content monospaced">
857
+ <pre>sudo passenger start -p 80</pre>
591
858
  </div></div>
592
- <div class="paragraph"><p>See <tt>--help</tt> for all available options.</p></div>
859
+ <div class="paragraph"><p>See <span class="monospaced">--help</span> for all available options.</p></div>
593
860
  </div>
594
861
  </div>
595
862
  </div>
596
- <div id="footnotes"><hr /></div>
863
+ <div id="footnotes"><hr></div>
597
864
  <div id="footer">
598
865
  <div id="footer-text">
599
866
  Last updated 2010-12-05 20:52:52 CET