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
@@ -1,44 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Member List</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- </div>
29
- <div class="contents">
30
- <h1>Passenger::Process Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1Process.html">Passenger::Process</a>, including all inherited members.<table>
31
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1Process.html#ace9e949fa460ce09228cc08d76fc38e7">getAppRoot</a>() const </td><td><a class="el" href="classPassenger_1_1Process.html">Passenger::Process</a></td><td><code> [inline]</code></td></tr>
32
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1Process.html#a002791d7909d4d7a6566eb26ec491552">getConnectPassword</a>() const </td><td><a class="el" href="classPassenger_1_1Process.html">Passenger::Process</a></td><td><code> [inline]</code></td></tr>
33
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1Process.html#a308fa4c3bf80e4d3d48a3c833b9e3205">getDetachKey</a>() const </td><td><a class="el" href="classPassenger_1_1Process.html">Passenger::Process</a></td><td><code> [inline]</code></td></tr>
34
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1Process.html#a6997775fdfa7c0d9e681102bd044c40b">getGupid</a>() const </td><td><a class="el" href="classPassenger_1_1Process.html">Passenger::Process</a></td><td><code> [inline]</code></td></tr>
35
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1Process.html#afc1b82c05e963fee7e58445b152ca784">getPid</a>() const </td><td><a class="el" href="classPassenger_1_1Process.html">Passenger::Process</a></td><td><code> [inline]</code></td></tr>
36
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1Process.html#afe06f5be540203452a5e787da15ee5e4">getServerSockets</a>() const </td><td><a class="el" href="classPassenger_1_1Process.html">Passenger::Process</a></td><td><code> [inline]</code></td></tr>
37
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1Process.html#a4df3ce126ba64c864c1759d916f25635">newSession</a>(const StandardSession::CloseCallback &amp;closeCallback=StandardSession::CloseCallback(), bool initiateNow=true)</td><td><a class="el" href="classPassenger_1_1Process.html">Passenger::Process</a></td><td><code> [inline]</code></td></tr>
38
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1Process.html#a52c89242f2ff9298f302b4e2f75aea8f">Process</a>(const string &amp;appRoot, pid_t pid, int ownerPipe, const SocketInfoMap &amp;serverSockets, const string &amp;detachKey, const string &amp;connectPassword, const string &amp;gupid, const function&lt; void()&gt; &amp;destructionCallback=function&lt; void()&gt;())</td><td><a class="el" href="classPassenger_1_1Process.html">Passenger::Process</a></td><td><code> [inline]</code></td></tr>
39
- </table></div>
40
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
41
- <a href="http://www.doxygen.org/index.html">
42
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
43
- </body>
44
- </html>
@@ -1,290 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Passenger::Process Class Reference</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="classPassenger_1_1Process.html">Process</a>
29
- </div>
30
- </div>
31
- <div class="contents">
32
- <h1>Passenger::Process Class Reference<br/>
33
- <small>
34
- [<a class="el" href="group__Support.html">Apache-independent support classes and function</a>]</small>
35
- </h1><!-- doxytag: class="Passenger::Process" -->
36
- <p>Represents a single application process, as spawned by <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a> or by ApplicationPool::Interface::get().
37
- <a href="#_details">More...</a></p>
38
-
39
- <p><code>#include &lt;<a class="el" href="Process_8h_source.html">Process.h</a>&gt;</code></p>
40
-
41
- <p><a href="classPassenger_1_1Process-members.html">List of all members.</a></p>
42
- <table border="0" cellpadding="0" cellspacing="0">
43
- <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
44
- <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Process.html#a52c89242f2ff9298f302b4e2f75aea8f">Process</a> (const string &amp;appRoot, pid_t pid, int ownerPipe, const SocketInfoMap &amp;serverSockets, const string &amp;detachKey, const string &amp;connectPassword, const string &amp;gupid, const function&lt; void()&gt; &amp;destructionCallback=function&lt; void()&gt;())</td></tr>
45
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a new <a class="el" href="classPassenger_1_1Process.html" title="Represents a single application process, as spawned by SpawnManager or by ApplicationPool::Interface...">Process</a> object. <a href="#a52c89242f2ff9298f302b4e2f75aea8f"></a><br/></td></tr>
46
- <tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Process.html#ace9e949fa460ce09228cc08d76fc38e7">getAppRoot</a> () const </td></tr>
47
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the application root for this application process. <a href="#ace9e949fa460ce09228cc08d76fc38e7"></a><br/></td></tr>
48
- <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc1b82c05e963fee7e58445b152ca784"></a><!-- doxytag: member="Passenger::Process::getPid" ref="afc1b82c05e963fee7e58445b152ca784" args="() const " -->
49
- pid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Process.html#afc1b82c05e963fee7e58445b152ca784">getPid</a> () const </td></tr>
50
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the process ID of this application process. <br/></td></tr>
51
- <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a308fa4c3bf80e4d3d48a3c833b9e3205"></a><!-- doxytag: member="Passenger::Process::getDetachKey" ref="a308fa4c3bf80e4d3d48a3c833b9e3205" args="() const " -->
52
- string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Process.html#a308fa4c3bf80e4d3d48a3c833b9e3205">getDetachKey</a> () const </td></tr>
53
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns this process's detach key. <br/></td></tr>
54
- <tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Process.html#a002791d7909d4d7a6566eb26ec491552">getConnectPassword</a> () const </td></tr>
55
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns this process's connect password. <a href="#a002791d7909d4d7a6566eb26ec491552"></a><br/></td></tr>
56
- <tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Process.html#a6997775fdfa7c0d9e681102bd044c40b">getGupid</a> () const </td></tr>
57
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns this process's gupid. <a href="#a6997775fdfa7c0d9e681102bd044c40b"></a><br/></td></tr>
58
- <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe06f5be540203452a5e787da15ee5e4"></a><!-- doxytag: member="Passenger::Process::getServerSockets" ref="afe06f5be540203452a5e787da15ee5e4" args="() const " -->
59
- const SocketInfoMap *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Process.html#afe06f5be540203452a5e787da15ee5e4">getServerSockets</a> () const </td></tr>
60
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a map containing all server sockets that this process listens on. <br/></td></tr>
61
- <tr><td class="memItemLeft" align="right" valign="top">SessionPtr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Process.html#a4df3ce126ba64c864c1759d916f25635">newSession</a> (const StandardSession::CloseCallback &amp;closeCallback=StandardSession::CloseCallback(), bool initiateNow=true)</td></tr>
62
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Request a new session from this application process by connecting to its main server socket. <a href="#a4df3ce126ba64c864c1759d916f25635"></a><br/></td></tr>
63
- </table>
64
- <hr/><a name="_details"></a><h2>Detailed Description</h2>
65
- <p>Represents a single application process, as spawned by <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a> or by ApplicationPool::Interface::get(). </p>
66
- <hr/><h2>Constructor &amp; Destructor Documentation</h2>
67
- <a class="anchor" id="a52c89242f2ff9298f302b4e2f75aea8f"></a><!-- doxytag: member="Passenger::Process::Process" ref="a52c89242f2ff9298f302b4e2f75aea8f" args="(const string &amp;appRoot, pid_t pid, int ownerPipe, const SocketInfoMap &amp;serverSockets, const string &amp;detachKey, const string &amp;connectPassword, const string &amp;gupid, const function&lt; void()&gt; &amp;destructionCallback=function&lt; void()&gt;())" -->
68
- <div class="memitem">
69
- <div class="memproto">
70
- <table class="memname">
71
- <tr>
72
- <td class="memname">Passenger::Process::Process </td>
73
- <td>(</td>
74
- <td class="paramtype">const string &amp;&nbsp;</td>
75
- <td class="paramname"> <em>appRoot</em>, </td>
76
- </tr>
77
- <tr>
78
- <td class="paramkey"></td>
79
- <td></td>
80
- <td class="paramtype">pid_t&nbsp;</td>
81
- <td class="paramname"> <em>pid</em>, </td>
82
- </tr>
83
- <tr>
84
- <td class="paramkey"></td>
85
- <td></td>
86
- <td class="paramtype">int&nbsp;</td>
87
- <td class="paramname"> <em>ownerPipe</em>, </td>
88
- </tr>
89
- <tr>
90
- <td class="paramkey"></td>
91
- <td></td>
92
- <td class="paramtype">const SocketInfoMap &amp;&nbsp;</td>
93
- <td class="paramname"> <em>serverSockets</em>, </td>
94
- </tr>
95
- <tr>
96
- <td class="paramkey"></td>
97
- <td></td>
98
- <td class="paramtype">const string &amp;&nbsp;</td>
99
- <td class="paramname"> <em>detachKey</em>, </td>
100
- </tr>
101
- <tr>
102
- <td class="paramkey"></td>
103
- <td></td>
104
- <td class="paramtype">const string &amp;&nbsp;</td>
105
- <td class="paramname"> <em>connectPassword</em>, </td>
106
- </tr>
107
- <tr>
108
- <td class="paramkey"></td>
109
- <td></td>
110
- <td class="paramtype">const string &amp;&nbsp;</td>
111
- <td class="paramname"> <em>gupid</em>, </td>
112
- </tr>
113
- <tr>
114
- <td class="paramkey"></td>
115
- <td></td>
116
- <td class="paramtype">const function&lt; void()&gt; &amp;&nbsp;</td>
117
- <td class="paramname"> <em>destructionCallback</em> = <code>function&lt;void&nbsp;()&gt;()</code></td><td>&nbsp;</td>
118
- </tr>
119
- <tr>
120
- <td></td>
121
- <td>)</td>
122
- <td></td><td></td><td><code> [inline]</code></td>
123
- </tr>
124
- </table>
125
- </div>
126
- <div class="memdoc">
127
-
128
- <p>Construct a new <a class="el" href="classPassenger_1_1Process.html" title="Represents a single application process, as spawned by SpawnManager or by ApplicationPool::Interface...">Process</a> object. </p>
129
- <dl><dt><b>Parameters:</b></dt><dd>
130
- <table border="0" cellspacing="2" cellpadding="0">
131
- <tr><td valign="top"></td><td valign="top"><em>appRoot</em>&nbsp;</td><td>The application root of an application. This must be a valid directory, but the path does not have to be absolute. </td></tr>
132
- <tr><td valign="top"></td><td valign="top"><em>pid</em>&nbsp;</td><td>The process ID of this application process. </td></tr>
133
- <tr><td valign="top"></td><td valign="top"><em>ownerPipe</em>&nbsp;</td><td>The owner pipe of this application process. </td></tr>
134
- <tr><td valign="top"></td><td valign="top"><em>serverSockets</em>&nbsp;</td><td>All the server sockets that this process listens on. There must a server socket with the name 'main'. </td></tr>
135
- <tr><td valign="top"></td><td valign="top"><em>detachKey</em>&nbsp;</td><td>A detach key. Used by the ApplicationPool algorithm. </td></tr>
136
- <tr><td valign="top"></td><td valign="top"><em>connectPassword</em>&nbsp;</td><td>The password to use when connecting to this process. Must be valid ASCII. </td></tr>
137
- <tr><td valign="top"></td><td valign="top"><em>gupid</em>&nbsp;</td><td>A string which uniquely identifies this process. </td></tr>
138
- <tr><td valign="top"></td><td valign="top"><em>destructionCallback</em>&nbsp;</td><td>A callback to be called when this <a class="el" href="classPassenger_1_1Process.html" title="Represents a single application process, as spawned by SpawnManager or by ApplicationPool::Interface...">Process</a> is destroyed. </td></tr>
139
- </table>
140
- </dd>
141
- </dl>
142
- <dl><dt><b>Exceptions:</b></dt><dd>
143
- <table border="0" cellspacing="2" cellpadding="0">
144
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1ArgumentException.html" title="Indicates that a specified argument is incorrect or violates a requirement.">ArgumentException</a></em>&nbsp;</td><td>If serverSockets has no socket named 'main'. </td></tr>
145
- </table>
146
- </dd>
147
- </dl>
148
-
149
- </div>
150
- </div>
151
- <hr/><h2>Member Function Documentation</h2>
152
- <a class="anchor" id="ace9e949fa460ce09228cc08d76fc38e7"></a><!-- doxytag: member="Passenger::Process::getAppRoot" ref="ace9e949fa460ce09228cc08d76fc38e7" args="() const " -->
153
- <div class="memitem">
154
- <div class="memproto">
155
- <table class="memname">
156
- <tr>
157
- <td class="memname">string Passenger::Process::getAppRoot </td>
158
- <td>(</td>
159
- <td class="paramname"></td>
160
- <td>&nbsp;)&nbsp;</td>
161
- <td> const<code> [inline]</code></td>
162
- </tr>
163
- </table>
164
- </div>
165
- <div class="memdoc">
166
-
167
- <p>Returns the application root for this application process. </p>
168
- <p>See the constructor for information about the application root. </p>
169
-
170
- </div>
171
- </div>
172
- <a class="anchor" id="a002791d7909d4d7a6566eb26ec491552"></a><!-- doxytag: member="Passenger::Process::getConnectPassword" ref="a002791d7909d4d7a6566eb26ec491552" args="() const " -->
173
- <div class="memitem">
174
- <div class="memproto">
175
- <table class="memname">
176
- <tr>
177
- <td class="memname">string Passenger::Process::getConnectPassword </td>
178
- <td>(</td>
179
- <td class="paramname"></td>
180
- <td>&nbsp;)&nbsp;</td>
181
- <td> const<code> [inline]</code></td>
182
- </tr>
183
- </table>
184
- </div>
185
- <div class="memdoc">
186
-
187
- <p>Returns this process's connect password. </p>
188
- <p>This password is guaranteed to be valid ASCII. </p>
189
-
190
- </div>
191
- </div>
192
- <a class="anchor" id="a6997775fdfa7c0d9e681102bd044c40b"></a><!-- doxytag: member="Passenger::Process::getGupid" ref="a6997775fdfa7c0d9e681102bd044c40b" args="() const " -->
193
- <div class="memitem">
194
- <div class="memproto">
195
- <table class="memname">
196
- <tr>
197
- <td class="memname">string Passenger::Process::getGupid </td>
198
- <td>(</td>
199
- <td class="paramname"></td>
200
- <td>&nbsp;)&nbsp;</td>
201
- <td> const<code> [inline]</code></td>
202
- </tr>
203
- </table>
204
- </div>
205
- <div class="memdoc">
206
-
207
- <p>Returns this process's gupid. </p>
208
- <p>This is like a PID, but does not rotate and is even unique over multiple servers. </p>
209
-
210
- </div>
211
- </div>
212
- <a class="anchor" id="a4df3ce126ba64c864c1759d916f25635"></a><!-- doxytag: member="Passenger::Process::newSession" ref="a4df3ce126ba64c864c1759d916f25635" args="(const StandardSession::CloseCallback &amp;closeCallback=StandardSession::CloseCallback(), bool initiateNow=true)" -->
213
- <div class="memitem">
214
- <div class="memproto">
215
- <table class="memname">
216
- <tr>
217
- <td class="memname">SessionPtr Passenger::Process::newSession </td>
218
- <td>(</td>
219
- <td class="paramtype">const StandardSession::CloseCallback &amp;&nbsp;</td>
220
- <td class="paramname"> <em>closeCallback</em> = <code>StandardSession::CloseCallback()</code>, </td>
221
- </tr>
222
- <tr>
223
- <td class="paramkey"></td>
224
- <td></td>
225
- <td class="paramtype">bool&nbsp;</td>
226
- <td class="paramname"> <em>initiateNow</em> = <code>true</code></td><td>&nbsp;</td>
227
- </tr>
228
- <tr>
229
- <td></td>
230
- <td>)</td>
231
- <td></td><td></td><td><code> [inline]</code></td>
232
- </tr>
233
- </table>
234
- </div>
235
- <div class="memdoc">
236
-
237
- <p>Request a new session from this application process by connecting to its main server socket. </p>
238
- <p>This session represents the life time of a single request/response pair, and can be used to send the request data to the application process, as well as receiving the response data.</p>
239
- <p>The use of connect() is demonstrated in the following example. </p>
240
- <div class="fragment"><pre class="fragment"> <span class="comment">// Request a new session from the process.</span>
241
- SessionPtr session = process-&gt;newSession(...);
242
-
243
- <span class="comment">// Send the request headers and request body data.</span>
244
- session-&gt;sendHeaders(...);
245
- session-&gt;sendBodyBlock(...);
246
- <span class="comment">// Done sending data, so we close the writer channel.</span>
247
- session-&gt;shutdownWriter();
248
-
249
- <span class="comment">// Now read the HTTP response.</span>
250
- <span class="keywordtype">string</span> responseData = readAllDataFromSocket(session-&gt;getReader());
251
- <span class="comment">// Done reading data, so we close the reader channel.</span>
252
- session-&gt;shutdownReader();
253
-
254
- <span class="comment">// This session has now finished, so we close the session by resetting</span>
255
- <span class="comment">// the smart pointer to NULL (thereby destroying the Session object).</span>
256
- session.reset();
257
-
258
- <span class="comment">// We can connect to a Process multiple times. Just make sure</span>
259
- <span class="comment">// the previous session is closed.</span>
260
- session = process-&gt;newSession(...);
261
- </pre></div><p>You <b>must</b> close a session when you no longer need it. If you call connect() without having properly closed a previous session, you might cause a deadlock because the application process may be waiting for you to close the previous session.</p>
262
- <dl><dt><b>Parameters:</b></dt><dd>
263
- <table border="0" cellspacing="2" cellpadding="0">
264
- <tr><td valign="top"></td><td valign="top"><em>closeCallback</em>&nbsp;</td><td>A function which will be called when the session has been closed. </td></tr>
265
- <tr><td valign="top"></td><td valign="top"><em>initiateNow</em>&nbsp;</td><td>Whether the session should be initiated immediately. If set to false then you must call <code>initiate()</code> on the session before it's usable. </td></tr>
266
- </table>
267
- </dd>
268
- </dl>
269
- <dl class="return"><dt><b>Returns:</b></dt><dd>A smart pointer to a <a class="el" href="classPassenger_1_1Session.html" title="Represents a single request/response pair of an application process.">Session</a> object, which represents the created session. </dd></dl>
270
- <dl class="post"><dt><b>Postcondition:</b></dt><dd>result-&gt;initiated() == initiateNow </dd></dl>
271
- <dl><dt><b>Exceptions:</b></dt><dd>
272
- <table border="0" cellspacing="2" cellpadding="0">
273
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call.">SystemException</a></em>&nbsp;</td><td>Something went wrong during session initiation. </td></tr>
274
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1IOException.html" title="Represents an error that occured during an I/O operation.">IOException</a></em>&nbsp;</td><td>Something went wrong during session initiation. </td></tr>
275
- <tr><td valign="top"></td><td valign="top"><em>boost::thread_interrupted</em>&nbsp;</td><td></td></tr>
276
- </table>
277
- </dd>
278
- </dl>
279
-
280
- </div>
281
- </div>
282
- <hr/>The documentation for this class was generated from the following file:<ul>
283
- <li><a class="el" href="Process_8h_source.html">Process.h</a></li>
284
- </ul>
285
- </div>
286
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
287
- <a href="http://www.doxygen.org/index.html">
288
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
289
- </body>
290
- </html>
@@ -1,37 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Member List</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- </div>
29
- <div class="contents">
30
- <h1>Passenger::RandomGenerator Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1RandomGenerator.html">Passenger::RandomGenerator</a>, including all inherited members.<table>
31
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1RandomGenerator.html#ad9d9a489f6dbfabafb35da326f5ed967">generateAsciiString</a>(unsigned int size)</td><td><a class="el" href="classPassenger_1_1RandomGenerator.html">Passenger::RandomGenerator</a></td><td><code> [inline]</code></td></tr>
32
- </table></div>
33
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
34
- <a href="http://www.doxygen.org/index.html">
35
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
36
- </body>
37
- </html>
@@ -1,79 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Passenger::RandomGenerator Class Reference</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="classPassenger_1_1RandomGenerator.html">RandomGenerator</a>
29
- </div>
30
- </div>
31
- <div class="contents">
32
- <h1>Passenger::RandomGenerator Class Reference</h1><!-- doxytag: class="Passenger::RandomGenerator" -->
33
- <p>A random data generator.
34
- <a href="#_details">More...</a></p>
35
-
36
- <p><code>#include &lt;<a class="el" href="RandomGenerator_8h_source.html">RandomGenerator.h</a>&gt;</code></p>
37
-
38
- <p><a href="classPassenger_1_1RandomGenerator-members.html">List of all members.</a></p>
39
- <table border="0" cellpadding="0" cellspacing="0">
40
- <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
41
- <tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1RandomGenerator.html#ad9d9a489f6dbfabafb35da326f5ed967">generateAsciiString</a> (unsigned int size)</td></tr>
42
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generates a random string of <em>size</em> bytes which is also valid ASCII. <a href="#ad9d9a489f6dbfabafb35da326f5ed967"></a><br/></td></tr>
43
- </table>
44
- <hr/><a name="_details"></a><h2>Detailed Description</h2>
45
- <p>A random data generator. </p>
46
- <p>Data is generated using /dev/urandom, and is cryptographically secure. Unlike rand() and friends, <a class="el" href="classPassenger_1_1RandomGenerator.html" title="A random data generator.">RandomGenerator</a> does not require seeding.</p>
47
- <p>The reason why <a class="el" href="classPassenger_1_1RandomGenerator.html" title="A random data generator.">RandomGenerator</a> isn't a singleton is because opening /dev/urandom is *very* slow on Mac OS X and OpenBSD. Each object of this class caches the /dev/urandom file handle.</p>
48
- <p>This class is thread-safe as long as there are no concurrent calls to reopen() or close(). </p>
49
- <hr/><h2>Member Function Documentation</h2>
50
- <a class="anchor" id="ad9d9a489f6dbfabafb35da326f5ed967"></a><!-- doxytag: member="Passenger::RandomGenerator::generateAsciiString" ref="ad9d9a489f6dbfabafb35da326f5ed967" args="(unsigned int size)" -->
51
- <div class="memitem">
52
- <div class="memproto">
53
- <table class="memname">
54
- <tr>
55
- <td class="memname">string Passenger::RandomGenerator::generateAsciiString </td>
56
- <td>(</td>
57
- <td class="paramtype">unsigned int&nbsp;</td>
58
- <td class="paramname"> <em>size</em></td>
59
- <td>&nbsp;)&nbsp;</td>
60
- <td><code> [inline]</code></td>
61
- </tr>
62
- </table>
63
- </div>
64
- <div class="memdoc">
65
-
66
- <p>Generates a random string of <em>size</em> bytes which is also valid ASCII. </p>
67
- <p>The result consists only of the characters A-Z, a-z and 0-9, and therefore the total number of possibilities given a size of N is 62**N. However not every character has an equal chance of being chosen: a-i have 5/256 chance of being chosen, while other characters have 4/256 chance of being chosen. Therefore, to match the entropy of a random binary string of size N, one should choose a <em>size</em> which yields slightly more possibilities than 2**N. </p>
68
-
69
- </div>
70
- </div>
71
- <hr/>The documentation for this class was generated from the following file:<ul>
72
- <li><a class="el" href="RandomGenerator_8h_source.html">RandomGenerator.h</a></li>
73
- </ul>
74
- </div>
75
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
76
- <a href="http://www.doxygen.org/index.html">
77
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
78
- </body>
79
- </html>