passenger 3.0.4 → 3.0.5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- data/NEWS +27 -0
- data/build/common_library.rb +4 -0
- data/doc/ApplicationPool algorithm.txt +1 -1
- data/doc/cxxapi/AbstractSpawnManager_8h_source.html +141 -0
- data/doc/cxxapi/Account_8h_source.html +206 -0
- data/doc/cxxapi/AccountsDatabase_8h_source.html +161 -0
- data/doc/cxxapi/AgentBase_8h_source.html +70 -0
- data/doc/cxxapi/AgentsStarter_8h_source.html +112 -0
- data/doc/cxxapi/BCrypt_8h_source.html +104 -0
- data/doc/cxxapi/Blowfish_8h_source.html +134 -0
- data/doc/cxxapi/Bucket_8h_source.html +118 -0
- data/doc/cxxapi/Constants_8h_source.html +79 -0
- data/doc/cxxapi/ContentHandler_8h_source.html +95 -0
- data/doc/cxxapi/DirectoryMapper_8h_source.html +311 -0
- data/doc/cxxapi/EventedClient_8h_source.html +733 -0
- data/doc/cxxapi/EventedMessageServer_8h_source.html +358 -0
- data/doc/cxxapi/EventedServer_8h_source.html +326 -0
- data/doc/cxxapi/Exceptions_8h_source.html +393 -0
- data/doc/cxxapi/FileDescriptor_8h_source.html +324 -0
- data/doc/cxxapi/Hooks_8h_source.html +76 -0
- data/doc/cxxapi/HttpStatusExtractor_8h_source.html +382 -0
- data/doc/cxxapi/IniFile_8h_source.html +527 -0
- data/doc/cxxapi/Logging_8h_source.html +796 -0
- data/doc/cxxapi/MessageChannel_8h_source.html +776 -0
- data/doc/cxxapi/MessageClient_8h_source.html +328 -0
- data/doc/cxxapi/MessageReadersWriters_8h_source.html +539 -0
- data/doc/cxxapi/MessageServer_8h_source.html +612 -0
- data/doc/cxxapi/PoolOptions_8h_source.html +549 -0
- data/doc/cxxapi/Process_8h_source.html +286 -0
- data/doc/cxxapi/RandomGenerator_8h_source.html +191 -0
- data/doc/cxxapi/ResourceLocator_8h_source.html +166 -0
- data/doc/cxxapi/SafeLibev_8h_source.html +180 -0
- data/doc/cxxapi/ScgiRequestParser_8h_source.html +406 -0
- data/doc/cxxapi/ServerInstanceDir_8h_source.html +378 -0
- data/doc/cxxapi/Session_8h_source.html +501 -0
- data/doc/cxxapi/SpawnManager_8h_source.html +647 -0
- data/doc/cxxapi/StaticContentHandler_8h_source.html +68 -0
- data/doc/cxxapi/StaticString_8h_source.html +329 -0
- data/doc/cxxapi/StringListCreator_8h_source.html +114 -0
- data/doc/cxxapi/Utils_8h_source.html +459 -0
- data/doc/cxxapi/annotated.html +87 -0
- data/doc/cxxapi/apache2_2Configuration_8h_source.html +82 -0
- data/doc/cxxapi/classAgentWatcher-members.html +54 -0
- data/doc/cxxapi/classAgentWatcher.html +419 -0
- data/doc/cxxapi/classClient-members.html +38 -0
- data/doc/cxxapi/classClient.html +123 -0
- data/doc/cxxapi/classHooks-members.html +40 -0
- data/doc/cxxapi/classHooks.html +153 -0
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager-members.html +40 -0
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager.html +187 -0
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.map +3 -0
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1ArgumentException-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1ArgumentException.html +56 -0
- data/doc/cxxapi/classPassenger_1_1ArrayMessage-members.html +37 -0
- data/doc/cxxapi/classPassenger_1_1ArrayMessage.html +113 -0
- data/doc/cxxapi/classPassenger_1_1BufferedUpload-members.html +38 -0
- data/doc/cxxapi/classPassenger_1_1BufferedUpload.html +112 -0
- data/doc/cxxapi/classPassenger_1_1BusyException-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1BusyException.html +54 -0
- data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +51 -0
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +41 -0
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +223 -0
- data/doc/cxxapi/classPassenger_1_1EOFException-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1EOFException.html +61 -0
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.map +3 -0
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1EventFd-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1EventFd.html +52 -0
- data/doc/cxxapi/classPassenger_1_1EventedClient-members.html +59 -0
- data/doc/cxxapi/classPassenger_1_1EventedClient.html +531 -0
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer-members.html +37 -0
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer.html +59 -0
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.map +3 -0
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1EventedServer-members.html +37 -0
- data/doc/cxxapi/classPassenger_1_1EventedServer.html +93 -0
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.map +3 -0
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +41 -0
- data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +178 -0
- data/doc/cxxapi/classPassenger_1_1FileDescriptorPair-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1FileDescriptorPair.html +52 -0
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +58 -0
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +3 -0
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +41 -0
- data/doc/cxxapi/classPassenger_1_1FileSystemException.html +66 -0
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.map +3 -0
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor-members.html +39 -0
- data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor.html +128 -0
- data/doc/cxxapi/classPassenger_1_1IOException-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1IOException.html +61 -0
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +4 -0
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +57 -0
- data/doc/cxxapi/classPassenger_1_1MessageChannel.html +839 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer-members.html +49 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer.html +407 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext.html +58 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.map +3 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext-members.html +41 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext.html +165 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.map +3 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler-members.html +39 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler.html +173 -0
- data/doc/cxxapi/classPassenger_1_1Process-members.html +44 -0
- data/doc/cxxapi/classPassenger_1_1Process.html +290 -0
- data/doc/cxxapi/classPassenger_1_1RandomGenerator-members.html +37 -0
- data/doc/cxxapi/classPassenger_1_1RandomGenerator.html +79 -0
- data/doc/cxxapi/classPassenger_1_1ResourceLocator-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1ResourceLocator.html +51 -0
- data/doc/cxxapi/classPassenger_1_1RuntimeException-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1RuntimeException.html +54 -0
- data/doc/cxxapi/classPassenger_1_1SafeLibev-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1SafeLibev.html +51 -0
- data/doc/cxxapi/classPassenger_1_1ScalarMessage-members.html +37 -0
- data/doc/cxxapi/classPassenger_1_1ScalarMessage.html +76 -0
- data/doc/cxxapi/classPassenger_1_1ScgiRequestParser-members.html +50 -0
- data/doc/cxxapi/classPassenger_1_1ScgiRequestParser.html +285 -0
- data/doc/cxxapi/classPassenger_1_1SecurityException-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1SecurityException.html +56 -0
- data/doc/cxxapi/classPassenger_1_1Session-members.html +53 -0
- data/doc/cxxapi/classPassenger_1_1Session.html +556 -0
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.map +3 -0
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +39 -0
- data/doc/cxxapi/classPassenger_1_1SpawnException.html +101 -0
- data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +42 -0
- data/doc/cxxapi/classPassenger_1_1SpawnManager.html +292 -0
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.map +3 -0
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1StandardSession-members.html +54 -0
- data/doc/cxxapi/classPassenger_1_1StandardSession.html +394 -0
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.map +3 -0
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1StaticString-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1StaticString.html +56 -0
- data/doc/cxxapi/classPassenger_1_1SyntaxError-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1SyntaxError.html +54 -0
- data/doc/cxxapi/classPassenger_1_1SystemException-members.html +40 -0
- data/doc/cxxapi/classPassenger_1_1SystemException.html +155 -0
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +4 -0
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException-members.html +40 -0
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException.html +61 -0
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.map +3 -0
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1TimeoutException-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1TimeoutException.html +54 -0
- data/doc/cxxapi/classPassenger_1_1Uint16Message-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1Uint16Message.html +51 -0
- data/doc/cxxapi/classPassenger_1_1Uint32Message-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1Uint32Message.html +51 -0
- data/doc/cxxapi/classServer-members.html +36 -0
- data/doc/cxxapi/classServer.html +49 -0
- data/doc/cxxapi/classServerInstanceDirToucher-members.html +36 -0
- data/doc/cxxapi/classServerInstanceDirToucher.html +47 -0
- data/doc/cxxapi/classes.html +52 -0
- data/doc/cxxapi/definitions_8h_source.html +36 -0
- data/doc/cxxapi/doxygen.css +532 -0
- data/doc/cxxapi/doxygen.png +0 -0
- data/doc/cxxapi/files.html +76 -0
- data/doc/cxxapi/ftv2blank.png +0 -0
- data/doc/cxxapi/ftv2doc.png +0 -0
- data/doc/cxxapi/ftv2folderclosed.png +0 -0
- data/doc/cxxapi/ftv2folderopen.png +0 -0
- data/doc/cxxapi/ftv2lastnode.png +0 -0
- data/doc/cxxapi/ftv2link.png +0 -0
- data/doc/cxxapi/ftv2mlastnode.png +0 -0
- data/doc/cxxapi/ftv2mnode.png +0 -0
- data/doc/cxxapi/ftv2node.png +0 -0
- data/doc/cxxapi/ftv2plastnode.png +0 -0
- data/doc/cxxapi/ftv2pnode.png +0 -0
- data/doc/cxxapi/ftv2vertline.png +0 -0
- data/doc/cxxapi/functions.html +103 -0
- data/doc/cxxapi/functions_0x62.html +82 -0
- data/doc/cxxapi/functions_0x63.html +102 -0
- data/doc/cxxapi/functions_0x64.html +102 -0
- data/doc/cxxapi/functions_0x65.html +88 -0
- data/doc/cxxapi/functions_0x66.html +100 -0
- data/doc/cxxapi/functions_0x67.html +167 -0
- data/doc/cxxapi/functions_0x68.html +88 -0
- data/doc/cxxapi/functions_0x69.html +96 -0
- data/doc/cxxapi/functions_0x6b.html +80 -0
- data/doc/cxxapi/functions_0x6c.html +88 -0
- data/doc/cxxapi/functions_0x6d.html +88 -0
- data/doc/cxxapi/functions_0x6e.html +86 -0
- data/doc/cxxapi/functions_0x6f.html +94 -0
- data/doc/cxxapi/functions_0x70.html +94 -0
- data/doc/cxxapi/functions_0x72.html +110 -0
- data/doc/cxxapi/functions_0x73.html +171 -0
- data/doc/cxxapi/functions_0x74.html +85 -0
- data/doc/cxxapi/functions_0x75.html +85 -0
- data/doc/cxxapi/functions_0x77.html +92 -0
- data/doc/cxxapi/functions_0x7e.html +79 -0
- data/doc/cxxapi/functions_enum.html +49 -0
- data/doc/cxxapi/functions_eval.html +67 -0
- data/doc/cxxapi/functions_func.html +531 -0
- data/doc/cxxapi/functions_vars.html +278 -0
- data/doc/cxxapi/graph_legend.dot +22 -0
- data/doc/cxxapi/graph_legend.html +92 -0
- data/doc/cxxapi/graph_legend.png +0 -0
- data/doc/cxxapi/group__Core.html +46 -0
- data/doc/cxxapi/group__Core.map +3 -0
- data/doc/cxxapi/group__Core.png +0 -0
- data/doc/cxxapi/group__Exceptions.html +53 -0
- data/doc/cxxapi/group__Hooks.html +42 -0
- data/doc/cxxapi/group__Hooks.map +3 -0
- data/doc/cxxapi/group__Hooks.png +0 -0
- data/doc/cxxapi/group__Support.html +538 -0
- data/doc/cxxapi/hierarchy.html +101 -0
- data/doc/cxxapi/index.html +16 -0
- data/doc/cxxapi/inherit__graph__0.map +3 -0
- data/doc/cxxapi/inherit__graph__0.md5 +1 -0
- data/doc/cxxapi/inherit__graph__0.png +0 -0
- data/doc/cxxapi/inherit__graph__1.map +3 -0
- data/doc/cxxapi/inherit__graph__1.md5 +1 -0
- data/doc/cxxapi/inherit__graph__1.png +0 -0
- data/doc/cxxapi/inherit__graph__10.map +3 -0
- data/doc/cxxapi/inherit__graph__10.md5 +1 -0
- data/doc/cxxapi/inherit__graph__10.png +0 -0
- data/doc/cxxapi/inherit__graph__11.map +4 -0
- data/doc/cxxapi/inherit__graph__11.md5 +1 -0
- data/doc/cxxapi/inherit__graph__11.png +0 -0
- data/doc/cxxapi/inherit__graph__12.map +3 -0
- data/doc/cxxapi/inherit__graph__12.md5 +1 -0
- data/doc/cxxapi/inherit__graph__12.png +0 -0
- data/doc/cxxapi/inherit__graph__13.map +3 -0
- data/doc/cxxapi/inherit__graph__13.md5 +1 -0
- data/doc/cxxapi/inherit__graph__13.png +0 -0
- data/doc/cxxapi/inherit__graph__14.map +3 -0
- data/doc/cxxapi/inherit__graph__14.md5 +1 -0
- data/doc/cxxapi/inherit__graph__14.png +0 -0
- data/doc/cxxapi/inherit__graph__15.map +3 -0
- data/doc/cxxapi/inherit__graph__15.md5 +1 -0
- data/doc/cxxapi/inherit__graph__15.png +0 -0
- data/doc/cxxapi/inherit__graph__16.map +5 -0
- data/doc/cxxapi/inherit__graph__16.md5 +1 -0
- data/doc/cxxapi/inherit__graph__16.png +0 -0
- data/doc/cxxapi/inherit__graph__17.map +3 -0
- data/doc/cxxapi/inherit__graph__17.md5 +1 -0
- data/doc/cxxapi/inherit__graph__17.png +0 -0
- data/doc/cxxapi/inherit__graph__18.map +3 -0
- data/doc/cxxapi/inherit__graph__18.md5 +1 -0
- data/doc/cxxapi/inherit__graph__18.png +0 -0
- data/doc/cxxapi/inherit__graph__19.map +4 -0
- data/doc/cxxapi/inherit__graph__19.md5 +1 -0
- data/doc/cxxapi/inherit__graph__19.png +0 -0
- data/doc/cxxapi/inherit__graph__2.map +3 -0
- data/doc/cxxapi/inherit__graph__2.md5 +1 -0
- data/doc/cxxapi/inherit__graph__2.png +0 -0
- data/doc/cxxapi/inherit__graph__20.map +3 -0
- data/doc/cxxapi/inherit__graph__20.md5 +1 -0
- data/doc/cxxapi/inherit__graph__20.png +0 -0
- data/doc/cxxapi/inherit__graph__21.map +3 -0
- data/doc/cxxapi/inherit__graph__21.md5 +1 -0
- data/doc/cxxapi/inherit__graph__21.png +0 -0
- data/doc/cxxapi/inherit__graph__22.map +3 -0
- data/doc/cxxapi/inherit__graph__22.md5 +1 -0
- data/doc/cxxapi/inherit__graph__22.png +0 -0
- data/doc/cxxapi/inherit__graph__23.map +3 -0
- data/doc/cxxapi/inherit__graph__23.md5 +1 -0
- data/doc/cxxapi/inherit__graph__23.png +0 -0
- data/doc/cxxapi/inherit__graph__24.map +3 -0
- data/doc/cxxapi/inherit__graph__24.md5 +1 -0
- data/doc/cxxapi/inherit__graph__24.png +0 -0
- data/doc/cxxapi/inherit__graph__25.map +3 -0
- data/doc/cxxapi/inherit__graph__25.md5 +1 -0
- data/doc/cxxapi/inherit__graph__25.png +0 -0
- data/doc/cxxapi/inherit__graph__26.map +3 -0
- data/doc/cxxapi/inherit__graph__26.md5 +1 -0
- data/doc/cxxapi/inherit__graph__26.png +0 -0
- data/doc/cxxapi/inherit__graph__27.map +3 -0
- data/doc/cxxapi/inherit__graph__27.md5 +1 -0
- data/doc/cxxapi/inherit__graph__27.png +0 -0
- data/doc/cxxapi/inherit__graph__28.map +3 -0
- data/doc/cxxapi/inherit__graph__28.md5 +1 -0
- data/doc/cxxapi/inherit__graph__28.png +0 -0
- data/doc/cxxapi/inherit__graph__29.map +3 -0
- data/doc/cxxapi/inherit__graph__29.md5 +1 -0
- data/doc/cxxapi/inherit__graph__29.png +0 -0
- data/doc/cxxapi/inherit__graph__3.map +4 -0
- data/doc/cxxapi/inherit__graph__3.md5 +1 -0
- data/doc/cxxapi/inherit__graph__3.png +0 -0
- data/doc/cxxapi/inherit__graph__30.map +3 -0
- data/doc/cxxapi/inherit__graph__30.md5 +1 -0
- data/doc/cxxapi/inherit__graph__30.png +0 -0
- data/doc/cxxapi/inherit__graph__31.map +4 -0
- data/doc/cxxapi/inherit__graph__31.md5 +1 -0
- data/doc/cxxapi/inherit__graph__31.png +0 -0
- data/doc/cxxapi/inherit__graph__32.map +3 -0
- data/doc/cxxapi/inherit__graph__32.md5 +1 -0
- data/doc/cxxapi/inherit__graph__32.png +0 -0
- data/doc/cxxapi/inherit__graph__33.map +3 -0
- data/doc/cxxapi/inherit__graph__33.md5 +1 -0
- data/doc/cxxapi/inherit__graph__33.png +0 -0
- data/doc/cxxapi/inherit__graph__34.map +3 -0
- data/doc/cxxapi/inherit__graph__34.md5 +1 -0
- data/doc/cxxapi/inherit__graph__34.png +0 -0
- data/doc/cxxapi/inherit__graph__35.map +3 -0
- data/doc/cxxapi/inherit__graph__35.md5 +1 -0
- data/doc/cxxapi/inherit__graph__35.png +0 -0
- data/doc/cxxapi/inherit__graph__36.map +5 -0
- data/doc/cxxapi/inherit__graph__36.md5 +1 -0
- data/doc/cxxapi/inherit__graph__36.png +0 -0
- data/doc/cxxapi/inherit__graph__37.map +3 -0
- data/doc/cxxapi/inherit__graph__37.md5 +1 -0
- data/doc/cxxapi/inherit__graph__37.png +0 -0
- data/doc/cxxapi/inherit__graph__38.map +3 -0
- data/doc/cxxapi/inherit__graph__38.md5 +1 -0
- data/doc/cxxapi/inherit__graph__38.png +0 -0
- data/doc/cxxapi/inherit__graph__39.map +3 -0
- data/doc/cxxapi/inherit__graph__39.md5 +1 -0
- data/doc/cxxapi/inherit__graph__39.png +0 -0
- data/doc/cxxapi/inherit__graph__4.map +3 -0
- data/doc/cxxapi/inherit__graph__4.md5 +1 -0
- data/doc/cxxapi/inherit__graph__4.png +0 -0
- data/doc/cxxapi/inherit__graph__40.map +3 -0
- data/doc/cxxapi/inherit__graph__40.md5 +1 -0
- data/doc/cxxapi/inherit__graph__40.png +0 -0
- data/doc/cxxapi/inherit__graph__41.map +3 -0
- data/doc/cxxapi/inherit__graph__41.md5 +1 -0
- data/doc/cxxapi/inherit__graph__41.png +0 -0
- data/doc/cxxapi/inherit__graph__5.map +3 -0
- data/doc/cxxapi/inherit__graph__5.md5 +1 -0
- data/doc/cxxapi/inherit__graph__5.png +0 -0
- data/doc/cxxapi/inherit__graph__6.map +3 -0
- data/doc/cxxapi/inherit__graph__6.md5 +1 -0
- data/doc/cxxapi/inherit__graph__6.png +0 -0
- data/doc/cxxapi/inherit__graph__7.map +3 -0
- data/doc/cxxapi/inherit__graph__7.md5 +1 -0
- data/doc/cxxapi/inherit__graph__7.png +0 -0
- data/doc/cxxapi/inherit__graph__8.map +3 -0
- data/doc/cxxapi/inherit__graph__8.md5 +1 -0
- data/doc/cxxapi/inherit__graph__8.png +0 -0
- data/doc/cxxapi/inherit__graph__9.map +3 -0
- data/doc/cxxapi/inherit__graph__9.md5 +1 -0
- data/doc/cxxapi/inherit__graph__9.png +0 -0
- data/doc/cxxapi/inherits.html +165 -0
- data/doc/cxxapi/main.html +28 -0
- data/doc/cxxapi/modules.html +36 -0
- data/doc/cxxapi/namespacePassenger.html +553 -0
- data/doc/cxxapi/namespacemembers.html +135 -0
- data/doc/cxxapi/namespacemembers_enum.html +48 -0
- data/doc/cxxapi/namespacemembers_eval.html +57 -0
- data/doc/cxxapi/namespacemembers_func.html +111 -0
- data/doc/cxxapi/namespacemembers_type.html +54 -0
- data/doc/cxxapi/namespaces.html +37 -0
- data/doc/cxxapi/nginx_2Configuration_8h_source.html +126 -0
- data/doc/cxxapi/ngx__http__passenger__module_8h_source.html +94 -0
- data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard-members.html +36 -0
- data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html +51 -0
- data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +67 -0
- data/doc/cxxapi/structPassenger_1_1PoolOptions.html +647 -0
- data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash-members.html +36 -0
- data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash.html +51 -0
- data/doc/cxxapi/tab_b.gif +0 -0
- data/doc/cxxapi/tab_l.gif +0 -0
- data/doc/cxxapi/tab_r.gif +0 -0
- data/doc/cxxapi/tabs.css +105 -0
- data/doc/cxxapi/tree.html +249 -0
- data/doc/rdoc/classes/ConditionVariable.html +215 -0
- data/doc/rdoc/classes/Exception.html +120 -0
- data/doc/rdoc/classes/GC.html +113 -0
- data/doc/rdoc/classes/IO.html +221 -0
- data/doc/rdoc/classes/PhusionPassenger.html +397 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +180 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +647 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +654 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/InvalidPassword.html +92 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +97 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +96 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +97 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +96 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +619 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +142 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats.html +368 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats/Process.html +231 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance.html +588 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/CorruptedDirectoryError.html +92 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/GenerationsAbsentError.html +92 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Group.html +147 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Process.html +279 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/RoleDeniedError.html +92 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/StaleDirectoryError.html +92 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Stats.html +123 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/UnsupportedGenerationStructureVersionError.html +92 -0
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger.html +368 -0
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/Lock.html +194 -0
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/Log.html +299 -0
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/SharedData.html +206 -0
- data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +155 -0
- data/doc/rdoc/classes/PhusionPassenger/AppProcess.html +367 -0
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails.html +95 -0
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner.html +351 -0
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner/Error.html +98 -0
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/CGIFixed.html +200 -0
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner.html +410 -0
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner/Error.html +98 -0
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/RequestHandler.html +156 -0
- data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions.html +115 -0
- data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions/AnalyticsLogging.html +202 -0
- data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +172 -0
- data/doc/rdoc/classes/PhusionPassenger/DebugLogging.html +273 -0
- data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +145 -0
- data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +162 -0
- data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +141 -0
- data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +92 -0
- data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +673 -0
- data/doc/rdoc/classes/PhusionPassenger/MessageChannel/InvalidHashError.html +92 -0
- data/doc/rdoc/classes/PhusionPassenger/MessageClient.html +415 -0
- data/doc/rdoc/classes/PhusionPassenger/NativeSupportLoader.html +134 -0
- data/doc/rdoc/classes/PhusionPassenger/Packaging.html +129 -0
- data/doc/rdoc/classes/PhusionPassenger/PlatformInfo.html +1972 -0
- data/doc/rdoc/classes/PhusionPassenger/Plugin.html +237 -0
- data/doc/rdoc/classes/PhusionPassenger/Rack.html +91 -0
- data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +312 -0
- data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner/Error.html +98 -0
- data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +218 -0
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions.html +114 -0
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging.html +259 -0
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ACExtension.html +139 -0
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ASBenchmarkableExtension.html +118 -0
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ExceptionLogger.html +135 -0
- data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +378 -0
- data/doc/rdoc/classes/PhusionPassenger/Standalone.html +111 -0
- data/doc/rdoc/classes/PhusionPassenger/Standalone/AppFinder.html +252 -0
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Command.html +161 -0
- data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile.html +368 -0
- data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile/DisallowedContextError.html +132 -0
- data/doc/rdoc/classes/PhusionPassenger/Standalone/HelpCommand.html +151 -0
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Main.html +189 -0
- data/doc/rdoc/classes/PhusionPassenger/Standalone/PackageRuntimeCommand.html +177 -0
- data/doc/rdoc/classes/PhusionPassenger/Standalone/RuntimeInstaller.html +341 -0
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StartCommand.html +203 -0
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StatusCommand.html +156 -0
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StopCommand.html +168 -0
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Utils.html +86 -0
- data/doc/rdoc/classes/PhusionPassenger/Standalone/VersionCommand.html +135 -0
- data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +125 -0
- data/doc/rdoc/classes/PhusionPassenger/Utils.html +1543 -0
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher.html +204 -0
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/DirInfo.html +171 -0
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/FileInfo.html +140 -0
- data/doc/rdoc/classes/PhusionPassenger/Utils/HostsFileParser.html +260 -0
- data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +194 -0
- data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html +265 -0
- data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html +120 -0
- data/doc/rdoc/classes/PhusionPassenger/Utils/UnseekableSocket.html +561 -0
- data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +140 -0
- data/doc/rdoc/classes/PhusionPassenger/WSGI.html +89 -0
- data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +182 -0
- data/doc/rdoc/classes/Process.html +115 -0
- data/doc/rdoc/classes/Signal.html +139 -0
- data/doc/rdoc/created.rid +1 -0
- data/doc/rdoc/files/DEVELOPERS_TXT.html +280 -0
- data/doc/rdoc/files/README.html +157 -0
- data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +130 -0
- data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +135 -0
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +128 -0
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools/memory_stats_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools/server_instance_rb.html +132 -0
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/analytics_logger_rb.html +129 -0
- data/doc/rdoc/files/lib/phusion_passenger/app_process_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/application_spawner_rb.html +141 -0
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/cgi_fixed_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/framework_spawner_rb.html +146 -0
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/request_handler_rb.html +125 -0
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails_extensions/init_rb.html +132 -0
- data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/debug_logging_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +147 -0
- data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +120 -0
- data/doc/rdoc/files/lib/phusion_passenger/message_client_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/native_support_rb.html +132 -0
- data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/apache_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/binary_compatibility_rb.html +129 -0
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/compiler_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/curl_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/documentation_tools_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/linux_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/operating_system_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/ruby_rb.html +128 -0
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/zlib_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/plugin_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/public_api_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +137 -0
- data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +125 -0
- data/doc/rdoc/files/lib/phusion_passenger/rails3_extensions/init_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +160 -0
- data/doc/rdoc/files/lib/phusion_passenger/standalone/app_finder_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/standalone/command_rb.html +136 -0
- data/doc/rdoc/files/lib/phusion_passenger/standalone/config_file_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/standalone/help_command_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/standalone/main_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/standalone/package_runtime_command_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/standalone/runtime_installer_rb.html +133 -0
- data/doc/rdoc/files/lib/phusion_passenger/standalone/start_command_rb.html +136 -0
- data/doc/rdoc/files/lib/phusion_passenger/standalone/status_command_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/standalone/stop_command_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/standalone/utils_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/standalone/version_command_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/utils/file_system_watcher_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/utils/hosts_file_parser_rb.html +120 -0
- data/doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html +100 -0
- data/doc/rdoc/files/lib/phusion_passenger/utils/tmpdir_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/utils/unseekable_socket_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +179 -0
- data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +132 -0
- data/doc/rdoc/fr_class_index.html +139 -0
- data/doc/rdoc/fr_file_index.html +108 -0
- data/doc/rdoc/fr_method_index.html +439 -0
- data/doc/rdoc/index.html +26 -0
- data/doc/rdoc/rdoc-style.css +187 -0
- data/ext/apache2/Configuration.cpp +6 -6
- data/ext/apache2/Configuration.hpp +3 -3
- data/ext/apache2/HelperAgent.cpp +1 -1
- data/ext/apache2/Hooks.cpp +3 -3
- data/ext/common/ApplicationPool/Pool.h +1 -1
- data/ext/common/ApplicationPool/Server.h +5 -2
- data/ext/common/Constants.h +1 -1
- data/ext/common/LoggingAgent/FilterSupport.cpp +66 -0
- data/ext/common/LoggingAgent/FilterSupport.h +262 -73
- data/ext/common/LoggingAgent/RemoteSender.h +13 -4
- data/ext/common/Utils/CachedFileStat.cpp +6 -12
- data/ext/common/Utils/CachedFileStat.h +4 -4
- data/ext/common/libboost_oxt/aggregate.cpp +10 -0
- data/ext/common/libpassenger_common/aggregate.cpp +16 -0
- data/ext/nginx/Configuration.c +77 -4
- data/ext/nginx/Configuration.h +2 -1
- data/ext/nginx/ContentHandler.c +32 -4
- data/ext/nginx/HelperAgent.cpp +5 -4
- data/ext/nginx/ngx_http_passenger_module.c +6 -6
- data/ext/nginx/ngx_http_passenger_module.h +5 -5
- data/lib/phusion_passenger.rb +1 -1
- data/lib/phusion_passenger/abstract_request_handler.rb +4 -1
- data/lib/phusion_passenger/classic_rails_extensions/analytics_logging/ac_base_extension.rb +3 -1
- data/lib/phusion_passenger/standalone/runtime_installer.rb +1 -1
- data/lib/phusion_passenger/standalone/start_command.rb +6 -0
- data/lib/phusion_passenger/templates/standalone/config.erb +1 -1
- data/test/cxx/FilterSupportTest.cpp +135 -5
- metadata +547 -4
@@ -79,6 +79,9 @@ private:
|
|
79
79
|
string hostHeader;
|
80
80
|
string responseBody;
|
81
81
|
|
82
|
+
string pingURL;
|
83
|
+
string sinkURL;
|
84
|
+
|
82
85
|
void resetConnection() {
|
83
86
|
if (curl != NULL) {
|
84
87
|
#ifdef HAS_CURL_EASY_RESET
|
@@ -112,8 +115,7 @@ private:
|
|
112
115
|
responseBody.clear();
|
113
116
|
}
|
114
117
|
|
115
|
-
void prepareRequest(const string &
|
116
|
-
string url = string("https://") + ip + ":" + toString(port) + uri;
|
118
|
+
void prepareRequest(const string &url) {
|
117
119
|
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
|
118
120
|
responseBody.clear();
|
119
121
|
}
|
@@ -137,6 +139,13 @@ private:
|
|
137
139
|
throw IOException("Unable to create a CURL linked list");
|
138
140
|
}
|
139
141
|
|
142
|
+
// Older libcurl versions didn't strdup() any option
|
143
|
+
// strings so we need to keep these in memory.
|
144
|
+
pingURL = string("https://") + ip + ":" + toString(port) +
|
145
|
+
"/ping";
|
146
|
+
sinkURL = string("https://") + ip + ":" + toString(port) +
|
147
|
+
"/sink";
|
148
|
+
|
140
149
|
curl = NULL;
|
141
150
|
resetConnection();
|
142
151
|
}
|
@@ -151,7 +160,7 @@ private:
|
|
151
160
|
bool ping() {
|
152
161
|
P_DEBUG("Pinging Union Station gateway " << ip << ":" << port);
|
153
162
|
ScopeGuard guard(boost::bind(&Server::resetConnection, this));
|
154
|
-
prepareRequest(
|
163
|
+
prepareRequest(pingURL);
|
155
164
|
|
156
165
|
curl_easy_setopt(curl, CURLOPT_HTTPGET, 1);
|
157
166
|
if (curl_easy_perform(curl) != 0) {
|
@@ -172,7 +181,7 @@ private:
|
|
172
181
|
|
173
182
|
bool send(const Item &item) {
|
174
183
|
ScopeGuard guard(boost::bind(&Server::resetConnection, this));
|
175
|
-
prepareRequest(
|
184
|
+
prepareRequest(sinkURL);
|
176
185
|
|
177
186
|
struct curl_httppost *post = NULL;
|
178
187
|
struct curl_httppost *last = NULL;
|
@@ -27,29 +27,23 @@
|
|
27
27
|
|
28
28
|
extern "C" {
|
29
29
|
|
30
|
-
|
31
|
-
Passenger::CachedFileStat cfs;
|
32
|
-
|
33
|
-
CachedFileStat(unsigned int maxSize): cfs(maxSize) { }
|
34
|
-
};
|
35
|
-
|
36
|
-
CachedFileStat *
|
30
|
+
PassengerCachedFileStat *
|
37
31
|
cached_file_stat_new(unsigned int max_size) {
|
38
|
-
return new CachedFileStat(max_size);
|
32
|
+
return (PassengerCachedFileStat *) new Passenger::CachedFileStat(max_size);
|
39
33
|
}
|
40
34
|
|
41
35
|
void
|
42
|
-
cached_file_stat_free(
|
43
|
-
delete cstat;
|
36
|
+
cached_file_stat_free(PassengerCachedFileStat *cstat) {
|
37
|
+
delete (Passenger::CachedFileStat *) cstat;
|
44
38
|
}
|
45
39
|
|
46
40
|
int
|
47
|
-
cached_file_stat_perform(
|
41
|
+
cached_file_stat_perform(PassengerCachedFileStat *cstat,
|
48
42
|
const char *filename,
|
49
43
|
struct stat *buf,
|
50
44
|
unsigned int throttle_rate) {
|
51
45
|
try {
|
52
|
-
return cstat->
|
46
|
+
return ((Passenger::CachedFileStat *) cstat)->stat(filename, buf, throttle_rate);
|
53
47
|
} catch (const Passenger::TimeRetrievalException &e) {
|
54
48
|
errno = e.code();
|
55
49
|
return -1;
|
@@ -34,11 +34,11 @@ extern "C" {
|
|
34
34
|
|
35
35
|
/** C bindings for Passenger::CachedFileStat. */
|
36
36
|
|
37
|
-
typedef
|
37
|
+
typedef void PassengerCachedFileStat;
|
38
38
|
|
39
|
-
|
40
|
-
void cached_file_stat_free(
|
41
|
-
int cached_file_stat_perform(
|
39
|
+
PassengerCachedFileStat *cached_file_stat_new(unsigned int max_size);
|
40
|
+
void cached_file_stat_free(PassengerCachedFileStat *cstat);
|
41
|
+
int cached_file_stat_perform(PassengerCachedFileStat *cstat,
|
42
42
|
const char *filename,
|
43
43
|
struct stat *buf,
|
44
44
|
unsigned int throttle_rate);
|
@@ -0,0 +1,10 @@
|
|
1
|
+
|
2
|
+
#ifndef _GNU_SOURCE
|
3
|
+
#define _GNU_SOURCE
|
4
|
+
#endif
|
5
|
+
#include "boost/src/pthread/once.cpp"
|
6
|
+
#include "boost/src/pthread/thread.cpp"
|
7
|
+
#include "oxt/backtrace.cpp"
|
8
|
+
#include "oxt/system_calls.cpp"
|
9
|
+
#include "oxt/thread.cpp"
|
10
|
+
#include "oxt/tracable_exception.cpp"
|
@@ -0,0 +1,16 @@
|
|
1
|
+
|
2
|
+
#ifndef _GNU_SOURCE
|
3
|
+
#define _GNU_SOURCE
|
4
|
+
#endif
|
5
|
+
#include "common/AccountsDatabase.cpp"
|
6
|
+
#include "common/AgentBase.cpp"
|
7
|
+
#include "common/AgentsStarter.cpp"
|
8
|
+
#include "common/Logging.cpp"
|
9
|
+
#include "common/LoggingAgent/FilterSupport.cpp"
|
10
|
+
#include "common/Utils.cpp"
|
11
|
+
#include "common/Utils/Base64.cpp"
|
12
|
+
#include "common/Utils/CachedFileStat.cpp"
|
13
|
+
#include "common/Utils/IOUtils.cpp"
|
14
|
+
#include "common/Utils/MD5.cpp"
|
15
|
+
#include "common/Utils/StrIntUtils.cpp"
|
16
|
+
#include "common/Utils/SystemTime.cpp"
|
data/ext/nginx/Configuration.c
CHANGED
@@ -36,6 +36,7 @@
|
|
36
36
|
#include "Configuration.h"
|
37
37
|
#include "ContentHandler.h"
|
38
38
|
#include "../common/Constants.h"
|
39
|
+
#include "../common/LoggingAgent/FilterSupport.h"
|
39
40
|
|
40
41
|
|
41
42
|
static ngx_str_t headers_to_hide[] = {
|
@@ -268,7 +269,7 @@ passenger_create_loc_conf(ngx_conf_t *cf)
|
|
268
269
|
conf->enabled = NGX_CONF_UNSET;
|
269
270
|
conf->use_global_queue = NGX_CONF_UNSET;
|
270
271
|
conf->friendly_error_pages = NGX_CONF_UNSET;
|
271
|
-
conf->
|
272
|
+
conf->union_station_support = NGX_CONF_UNSET;
|
272
273
|
conf->debugger = NGX_CONF_UNSET;
|
273
274
|
conf->show_version_in_header = NGX_CONF_UNSET;
|
274
275
|
conf->environment.data = NULL;
|
@@ -286,6 +287,7 @@ passenger_create_loc_conf(ngx_conf_t *cf)
|
|
286
287
|
conf->app_rights.data = NULL;
|
287
288
|
conf->app_rights.len = 0;
|
288
289
|
conf->base_uris = NGX_CONF_UNSET_PTR;
|
290
|
+
conf->union_station_filters = NGX_CONF_UNSET_PTR;
|
289
291
|
conf->min_instances = NGX_CONF_UNSET;
|
290
292
|
conf->framework_spawner_idle_time = NGX_CONF_UNSET;
|
291
293
|
conf->app_spawner_idle_time = NGX_CONF_UNSET;
|
@@ -357,6 +359,7 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
|
357
359
|
ngx_uint_t i, j;
|
358
360
|
ngx_array_t hide_headers;
|
359
361
|
ngx_str_t *prev_base_uris, *base_uri;
|
362
|
+
ngx_str_t *prev_union_station_filters, *union_station_filter;
|
360
363
|
ngx_keyval_t *src;
|
361
364
|
ngx_hash_key_t *hk;
|
362
365
|
ngx_hash_init_t hash;
|
@@ -366,7 +369,7 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
|
366
369
|
ngx_conf_merge_value(conf->enabled, prev->enabled, 0);
|
367
370
|
ngx_conf_merge_value(conf->use_global_queue, prev->use_global_queue, 1);
|
368
371
|
ngx_conf_merge_value(conf->friendly_error_pages, prev->friendly_error_pages, 1);
|
369
|
-
ngx_conf_merge_value(conf->
|
372
|
+
ngx_conf_merge_value(conf->union_station_support, prev->union_station_support, 0);
|
370
373
|
ngx_conf_merge_value(conf->debugger, prev->debugger, 0);
|
371
374
|
ngx_conf_merge_value(conf->show_version_in_header, prev->show_version_in_header, 1);
|
372
375
|
ngx_conf_merge_str_value(conf->environment, prev->environment, "production");
|
@@ -397,6 +400,24 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
|
397
400
|
*base_uri = prev_base_uris[i];
|
398
401
|
}
|
399
402
|
}
|
403
|
+
|
404
|
+
if (prev->union_station_filters != NGX_CONF_UNSET_PTR) {
|
405
|
+
if (conf->union_station_filters == NGX_CONF_UNSET_PTR) {
|
406
|
+
conf->union_station_filters = ngx_array_create(cf->pool, 4, sizeof(ngx_str_t));
|
407
|
+
if (conf->union_station_filters == NULL) {
|
408
|
+
return NGX_CONF_ERROR;
|
409
|
+
}
|
410
|
+
}
|
411
|
+
|
412
|
+
prev_union_station_filters = (ngx_str_t *) prev->union_station_filters->elts;
|
413
|
+
for (i = 0; i < prev->union_station_filters->nelts; i++) {
|
414
|
+
union_station_filter = (ngx_str_t *) ngx_array_push(conf->union_station_filters);
|
415
|
+
if (union_station_filter == NULL) {
|
416
|
+
return NGX_CONF_ERROR;
|
417
|
+
}
|
418
|
+
*union_station_filter = prev_union_station_filters[i];
|
419
|
+
}
|
420
|
+
}
|
400
421
|
|
401
422
|
/******************************/
|
402
423
|
/******************************/
|
@@ -840,6 +861,51 @@ passenger_enabled(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
|
840
861
|
return NGX_CONF_OK;
|
841
862
|
}
|
842
863
|
|
864
|
+
char *
|
865
|
+
union_station_filter(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
866
|
+
{
|
867
|
+
char *p = conf;
|
868
|
+
|
869
|
+
ngx_str_t *value, *s;
|
870
|
+
ngx_array_t **a;
|
871
|
+
ngx_conf_post_t *post;
|
872
|
+
char *message;
|
873
|
+
|
874
|
+
a = (ngx_array_t **) (p + cmd->offset);
|
875
|
+
|
876
|
+
if (*a == NGX_CONF_UNSET_PTR) {
|
877
|
+
*a = ngx_array_create(cf->pool, 4, sizeof(ngx_str_t));
|
878
|
+
if (*a == NULL) {
|
879
|
+
return NGX_CONF_ERROR;
|
880
|
+
}
|
881
|
+
}
|
882
|
+
|
883
|
+
s = ngx_array_push(*a);
|
884
|
+
if (s == NULL) {
|
885
|
+
return NGX_CONF_ERROR;
|
886
|
+
}
|
887
|
+
|
888
|
+
value = cf->args->elts;
|
889
|
+
|
890
|
+
*s = value[1];
|
891
|
+
|
892
|
+
if (cmd->post) {
|
893
|
+
post = cmd->post;
|
894
|
+
return post->post_handler(cf, post, s);
|
895
|
+
}
|
896
|
+
|
897
|
+
message = passenger_filter_validate((const char *) value[1].data, value[1].len);
|
898
|
+
if (message != NULL) {
|
899
|
+
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
900
|
+
"Union Station filter syntax error: %s; ",
|
901
|
+
message);
|
902
|
+
free(message);
|
903
|
+
return NGX_CONF_ERROR;
|
904
|
+
}
|
905
|
+
|
906
|
+
return NGX_CONF_OK;
|
907
|
+
}
|
908
|
+
|
843
909
|
static char *
|
844
910
|
set_null_terminated_keyval_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
845
911
|
{
|
@@ -1153,11 +1219,11 @@ const ngx_command_t passenger_commands[] = {
|
|
1153
1219
|
offsetof(passenger_loc_conf_t, app_rights),
|
1154
1220
|
NULL },
|
1155
1221
|
|
1156
|
-
{ ngx_string("
|
1222
|
+
{ ngx_string("union_station_support"),
|
1157
1223
|
NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_FLAG,
|
1158
1224
|
ngx_conf_set_flag_slot,
|
1159
1225
|
NGX_HTTP_LOC_CONF_OFFSET,
|
1160
|
-
offsetof(passenger_loc_conf_t,
|
1226
|
+
offsetof(passenger_loc_conf_t, union_station_support),
|
1161
1227
|
NULL },
|
1162
1228
|
|
1163
1229
|
{ ngx_string("passenger_analytics_log_dir"),
|
@@ -1209,6 +1275,13 @@ const ngx_command_t passenger_commands[] = {
|
|
1209
1275
|
offsetof(passenger_main_conf_t, union_station_gateway_cert),
|
1210
1276
|
NULL },
|
1211
1277
|
|
1278
|
+
{ ngx_string("union_station_filter"),
|
1279
|
+
NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_TAKE1,
|
1280
|
+
union_station_filter,
|
1281
|
+
NGX_HTTP_LOC_CONF_OFFSET,
|
1282
|
+
offsetof(passenger_loc_conf_t, union_station_filters),
|
1283
|
+
NULL },
|
1284
|
+
|
1212
1285
|
{ ngx_string("passenger_debugger"),
|
1213
1286
|
NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_FLAG,
|
1214
1287
|
ngx_conf_set_flag_slot,
|
data/ext/nginx/Configuration.h
CHANGED
@@ -42,7 +42,7 @@ typedef struct {
|
|
42
42
|
ngx_flag_t enabled;
|
43
43
|
ngx_flag_t use_global_queue;
|
44
44
|
ngx_flag_t friendly_error_pages;
|
45
|
-
ngx_flag_t
|
45
|
+
ngx_flag_t union_station_support;
|
46
46
|
ngx_flag_t debugger;
|
47
47
|
ngx_flag_t show_version_in_header;
|
48
48
|
ngx_str_t environment;
|
@@ -56,6 +56,7 @@ typedef struct {
|
|
56
56
|
ngx_int_t app_spawner_idle_time;
|
57
57
|
ngx_str_t union_station_key;
|
58
58
|
ngx_array_t *base_uris;
|
59
|
+
ngx_array_t *union_station_filters;
|
59
60
|
|
60
61
|
/************************************/
|
61
62
|
} passenger_loc_conf_t;
|
data/ext/nginx/ContentHandler.c
CHANGED
@@ -322,6 +322,7 @@ create_request(ngx_http_request_t *r)
|
|
322
322
|
const u_char *app_type_string;
|
323
323
|
size_t app_type_string_len;
|
324
324
|
ngx_str_t escaped_uri;
|
325
|
+
ngx_str_t *union_station_filters = NULL;
|
325
326
|
u_char min_instances_string[12];
|
326
327
|
u_char framework_spawner_idle_time_string[12];
|
327
328
|
u_char app_spawner_idle_time_string[12];
|
@@ -429,8 +430,8 @@ create_request(ngx_http_request_t *r)
|
|
429
430
|
slcf, use_global_queue);
|
430
431
|
ANALYZE_BOOLEAN_CONFIG_LENGTH("PASSENGER_FRIENDLY_ERROR_PAGES",
|
431
432
|
slcf, friendly_error_pages);
|
432
|
-
ANALYZE_BOOLEAN_CONFIG_LENGTH("
|
433
|
-
slcf,
|
433
|
+
ANALYZE_BOOLEAN_CONFIG_LENGTH("UNION_STATION_SUPPORT",
|
434
|
+
slcf, union_station_support);
|
434
435
|
ANALYZE_BOOLEAN_CONFIG_LENGTH("PASSENGER_DEBUGGER",
|
435
436
|
slcf, debugger);
|
436
437
|
ANALYZE_BOOLEAN_CONFIG_LENGTH("PASSENGER_SHOW_VERSION_IN_HEADER",
|
@@ -469,6 +470,19 @@ create_request(ngx_http_request_t *r)
|
|
469
470
|
*end = '\0';
|
470
471
|
len += sizeof("PASSENGER_APP_SPAWNER_IDLE_TIME") +
|
471
472
|
ngx_strlen(app_spawner_idle_time_string) + 1;
|
473
|
+
|
474
|
+
if (slcf->union_station_filters != NGX_CONF_UNSET_PTR && slcf->union_station_filters->nelts > 0) {
|
475
|
+
len += sizeof("UNION_STATION_FILTERS");
|
476
|
+
|
477
|
+
union_station_filters = (ngx_str_t *) slcf->union_station_filters->elts;
|
478
|
+
for (i = 0; i < slcf->union_station_filters->nelts; i++) {
|
479
|
+
if (i != 0) {
|
480
|
+
len++;
|
481
|
+
}
|
482
|
+
len += union_station_filters[i].len;
|
483
|
+
}
|
484
|
+
len++;
|
485
|
+
}
|
472
486
|
|
473
487
|
|
474
488
|
/***********************/
|
@@ -646,8 +660,8 @@ create_request(ngx_http_request_t *r)
|
|
646
660
|
slcf, use_global_queue);
|
647
661
|
SERIALIZE_BOOLEAN_CONFIG_DATA("PASSENGER_FRIENDLY_ERROR_PAGES",
|
648
662
|
slcf, friendly_error_pages);
|
649
|
-
SERIALIZE_BOOLEAN_CONFIG_DATA("
|
650
|
-
slcf,
|
663
|
+
SERIALIZE_BOOLEAN_CONFIG_DATA("UNION_STATION_SUPPORT",
|
664
|
+
slcf, union_station_support);
|
651
665
|
SERIALIZE_BOOLEAN_CONFIG_DATA("PASSENGER_DEBUGGER",
|
652
666
|
slcf, debugger);
|
653
667
|
SERIALIZE_BOOLEAN_CONFIG_DATA("PASSENGER_SHOW_VERSION_IN_HEADER",
|
@@ -693,6 +707,20 @@ create_request(ngx_http_request_t *r)
|
|
693
707
|
b->last = ngx_copy(b->last, app_spawner_idle_time_string,
|
694
708
|
ngx_strlen(app_spawner_idle_time_string) + 1);
|
695
709
|
|
710
|
+
if (slcf->union_station_filters != NGX_CONF_UNSET_PTR && slcf->union_station_filters->nelts > 0) {
|
711
|
+
b->last = ngx_copy(b->last, "UNION_STATION_FILTERS",
|
712
|
+
sizeof("UNION_STATION_FILTERS"));
|
713
|
+
|
714
|
+
for (i = 0; i < slcf->union_station_filters->nelts; i++) {
|
715
|
+
if (i != 0) {
|
716
|
+
b->last = ngx_copy(b->last, "\1", 1);
|
717
|
+
}
|
718
|
+
b->last = ngx_copy(b->last, union_station_filters[i].data,
|
719
|
+
union_station_filters[i].len);
|
720
|
+
}
|
721
|
+
b->last = ngx_copy(b->last, "\0", 1);
|
722
|
+
}
|
723
|
+
|
696
724
|
/***********************/
|
697
725
|
/***********************/
|
698
726
|
|
data/ext/nginx/HelperAgent.cpp
CHANGED
@@ -437,7 +437,7 @@ private:
|
|
437
437
|
}
|
438
438
|
|
439
439
|
try {
|
440
|
-
bool
|
440
|
+
bool useUnionStation = parser.getHeader("UNION_STATION_SUPPORT") == "true";
|
441
441
|
StaticString appGroupName = parser.getHeader("PASSENGER_APP_GROUP_NAME");
|
442
442
|
PoolOptions options;
|
443
443
|
|
@@ -471,11 +471,12 @@ private:
|
|
471
471
|
|
472
472
|
UPDATE_TRACE_POINT();
|
473
473
|
AnalyticsLogPtr log;
|
474
|
-
if (
|
474
|
+
if (useUnionStation) {
|
475
475
|
log = analyticsLogger->newTransaction(
|
476
476
|
options.getAppGroupName(),
|
477
477
|
"requests",
|
478
|
-
parser.getHeader("PASSENGER_UNION_STATION_KEY")
|
478
|
+
parser.getHeader("PASSENGER_UNION_STATION_KEY"),
|
479
|
+
parser.getHeader("UNION_STATION_FILTERS"));
|
479
480
|
options.analytics = true;
|
480
481
|
options.log = log;
|
481
482
|
} else {
|
@@ -521,7 +522,7 @@ private:
|
|
521
522
|
session->getConnectPassword().size() + 1);
|
522
523
|
end += session->getConnectPassword().size() + 1;
|
523
524
|
|
524
|
-
if (
|
525
|
+
if (useUnionStation) {
|
525
526
|
memcpy(end, "PASSENGER_GROUP_NAME", sizeof("PASSENGER_GROUP_NAME"));
|
526
527
|
end += sizeof("PASSENGER_GROUP_NAME");
|
527
528
|
|
@@ -49,12 +49,12 @@
|
|
49
49
|
#define HELPER_SERVER_PASSWORD_SIZE 64
|
50
50
|
|
51
51
|
|
52
|
-
static int
|
53
|
-
ngx_str_t
|
54
|
-
ngx_str_t
|
55
|
-
|
56
|
-
AgentsStarter
|
57
|
-
ngx_cycle_t
|
52
|
+
static int first_start = 1;
|
53
|
+
ngx_str_t passenger_schema_string;
|
54
|
+
ngx_str_t passenger_placeholder_upstream_address;
|
55
|
+
PassengerCachedFileStat *passenger_stat_cache;
|
56
|
+
AgentsStarter *passenger_agents_starter = NULL;
|
57
|
+
ngx_cycle_t *passenger_current_cycle;
|
58
58
|
|
59
59
|
|
60
60
|
/*
|
@@ -46,18 +46,18 @@ extern ngx_module_t ngx_http_passenger_module;
|
|
46
46
|
/**
|
47
47
|
* A static schema string to be assigned to Nginx 'upstream' strctures.
|
48
48
|
*/
|
49
|
-
extern ngx_str_t
|
49
|
+
extern ngx_str_t passenger_schema_string;
|
50
50
|
|
51
|
-
extern ngx_str_t
|
51
|
+
extern ngx_str_t passenger_placeholder_upstream_address;
|
52
52
|
|
53
53
|
/**
|
54
54
|
* A CachedFileStat object used for caching stat() calls.
|
55
55
|
*/
|
56
|
-
extern
|
56
|
+
extern PassengerCachedFileStat *passenger_stat_cache;
|
57
57
|
|
58
|
-
extern AgentsStarter
|
58
|
+
extern AgentsStarter *passenger_agents_starter;
|
59
59
|
|
60
|
-
extern ngx_cycle_t
|
60
|
+
extern ngx_cycle_t *passenger_current_cycle;
|
61
61
|
|
62
62
|
#endif /* _PASSENGER_NGINX_MODULE_H_ */
|
63
63
|
|
data/lib/phusion_passenger.rb
CHANGED
@@ -25,7 +25,7 @@ module PhusionPassenger
|
|
25
25
|
###### Version numbers ######
|
26
26
|
|
27
27
|
# Phusion Passenger version number. Don't forget to edit ext/common/Constants.h too.
|
28
|
-
VERSION_STRING = '3.0.
|
28
|
+
VERSION_STRING = '3.0.5'
|
29
29
|
|
30
30
|
PREFERRED_NGINX_VERSION = '0.8.54'
|
31
31
|
PREFERRED_PCRE_VERSION = '8.10'
|