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.
- data/NEWS +27 -0
- data/README +1 -1
- data/bin/passenger-install-nginx-module +3 -1
- data/build/config.rb +2 -1
- data/build/cxx_tests.rb +7 -3
- data/build/documentation.rb +5 -40
- data/build/nginx.rb +0 -1
- data/build/packaging.rb +0 -6
- data/build/rake_extensions.rb +5 -0
- data/doc/Architectural overview.html +344 -77
- data/doc/Security of user switching support.html +338 -71
- data/doc/Users guide Apache with comments.html +4830 -0
- data/doc/Users guide Apache.html +695 -428
- data/doc/Users guide Apache.idmap.txt +80 -0
- data/doc/Users guide Apache.txt +5 -5
- data/doc/Users guide Nginx.html +591 -313
- data/doc/Users guide Nginx.txt +9 -3
- data/doc/Users guide Standalone.html +344 -77
- data/ext/boost/src/pthread/thread.cpp +1 -1
- data/ext/common/AccountsDatabase.h +1 -1
- data/ext/common/Constants.h +2 -2
- data/ext/common/Logging.h +2 -1
- data/ext/common/LoggingAgent/FilterSupport.h +107 -3
- data/ext/common/Session.h +1 -1
- data/ext/common/Utils.cpp +2 -0
- data/ext/common/Utils/Dechunker.h +232 -0
- data/ext/common/Utils/HttpHeaderBufferer.h +165 -0
- data/ext/common/Utils/StrIntUtils.cpp +51 -15
- data/ext/common/Utils/StrIntUtils.h +3 -0
- data/ext/common/Utils/StreamBoyerMooreHorspool.h +506 -0
- data/ext/nginx/Configuration.c +36 -282
- data/ext/nginx/ContentHandler.c +17 -0
- data/ext/nginx/HelperAgent.cpp +397 -39
- data/ext/oxt/tracable_exception.cpp +3 -1
- data/ext/ruby/extconf.rb +1 -0
- data/ext/ruby/passenger_native_support.c +3 -0
- data/helper-scripts/prespawn +113 -31
- data/lib/phusion_passenger.rb +2 -2
- data/lib/phusion_passenger/standalone/runtime_installer.rb +3 -2
- data/lib/phusion_passenger/standalone/start_command.rb +12 -12
- data/test/cxx/DechunkerTest.cpp +216 -0
- data/test/cxx/FilterSupportTest.cpp +31 -4
- data/test/cxx/HttpHeaderBuffererTest.cpp +203 -0
- data/test/cxx/UtilsTest.cpp +46 -3
- data/test/integration_tests/hello_world_rack_spec.rb +7 -0
- data/test/stub/rack/config.ru +6 -1
- data/test/stub/rails_apps/1.2/empty/public/dispatch.cgi +1 -1
- data/test/stub/rails_apps/1.2/empty/public/dispatch.fcgi +1 -1
- data/test/stub/rails_apps/1.2/empty/public/dispatch.rb +1 -1
- data/test/stub/rails_apps/2.0/empty/public/dispatch.cgi +1 -1
- data/test/stub/rails_apps/2.0/empty/public/dispatch.fcgi +1 -1
- data/test/stub/rails_apps/2.0/empty/public/dispatch.rb +1 -1
- data/test/stub/rails_apps/2.2/empty/public/dispatch.cgi +1 -1
- data/test/stub/rails_apps/2.2/empty/public/dispatch.fcgi +1 -1
- data/test/stub/rails_apps/2.2/empty/public/dispatch.rb +1 -1
- metadata +20 -403
- data/doc/Doxyfile +0 -241
- data/doc/cxxapi/AbstractSpawnManager_8h_source.html +0 -141
- data/doc/cxxapi/Account_8h_source.html +0 -206
- data/doc/cxxapi/AccountsDatabase_8h_source.html +0 -161
- data/doc/cxxapi/AgentBase_8h_source.html +0 -70
- data/doc/cxxapi/AgentsStarter_8h_source.html +0 -112
- data/doc/cxxapi/BCrypt_8h_source.html +0 -104
- data/doc/cxxapi/Blowfish_8h_source.html +0 -134
- data/doc/cxxapi/Bucket_8h_source.html +0 -118
- data/doc/cxxapi/Constants_8h_source.html +0 -79
- data/doc/cxxapi/ContentHandler_8h_source.html +0 -95
- data/doc/cxxapi/DirectoryMapper_8h_source.html +0 -311
- data/doc/cxxapi/EventedClient_8h_source.html +0 -733
- data/doc/cxxapi/EventedMessageServer_8h_source.html +0 -358
- data/doc/cxxapi/EventedServer_8h_source.html +0 -326
- data/doc/cxxapi/Exceptions_8h_source.html +0 -393
- data/doc/cxxapi/FileDescriptor_8h_source.html +0 -324
- data/doc/cxxapi/Hooks_8h_source.html +0 -76
- data/doc/cxxapi/HttpStatusExtractor_8h_source.html +0 -382
- data/doc/cxxapi/IniFile_8h_source.html +0 -527
- data/doc/cxxapi/Logging_8h_source.html +0 -796
- data/doc/cxxapi/MessageChannel_8h_source.html +0 -776
- data/doc/cxxapi/MessageClient_8h_source.html +0 -328
- data/doc/cxxapi/MessageReadersWriters_8h_source.html +0 -539
- data/doc/cxxapi/MessageServer_8h_source.html +0 -612
- data/doc/cxxapi/PoolOptions_8h_source.html +0 -549
- data/doc/cxxapi/Process_8h_source.html +0 -286
- data/doc/cxxapi/RandomGenerator_8h_source.html +0 -191
- data/doc/cxxapi/ResourceLocator_8h_source.html +0 -166
- data/doc/cxxapi/SafeLibev_8h_source.html +0 -180
- data/doc/cxxapi/ScgiRequestParser_8h_source.html +0 -406
- data/doc/cxxapi/ServerInstanceDir_8h_source.html +0 -378
- data/doc/cxxapi/Session_8h_source.html +0 -501
- data/doc/cxxapi/SpawnManager_8h_source.html +0 -647
- data/doc/cxxapi/StaticContentHandler_8h_source.html +0 -69
- data/doc/cxxapi/StaticString_8h_source.html +0 -329
- data/doc/cxxapi/StringListCreator_8h_source.html +0 -114
- data/doc/cxxapi/Utils_8h_source.html +0 -469
- data/doc/cxxapi/annotated.html +0 -87
- data/doc/cxxapi/apache2_2Configuration_8h_source.html +0 -82
- data/doc/cxxapi/classAgentWatcher-members.html +0 -54
- data/doc/cxxapi/classAgentWatcher.html +0 -419
- data/doc/cxxapi/classClient-members.html +0 -38
- data/doc/cxxapi/classClient.html +0 -123
- data/doc/cxxapi/classHooks-members.html +0 -40
- data/doc/cxxapi/classHooks.html +0 -153
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager-members.html +0 -40
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager.html +0 -187
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1ArgumentException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1ArgumentException.html +0 -56
- data/doc/cxxapi/classPassenger_1_1ArrayMessage-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1ArrayMessage.html +0 -113
- data/doc/cxxapi/classPassenger_1_1BufferedUpload-members.html +0 -38
- data/doc/cxxapi/classPassenger_1_1BufferedUpload.html +0 -112
- data/doc/cxxapi/classPassenger_1_1BusyException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1BusyException.html +0 -54
- data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +0 -51
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +0 -41
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +0 -223
- data/doc/cxxapi/classPassenger_1_1EOFException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1EOFException.html +0 -61
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1EventFd-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1EventFd.html +0 -52
- data/doc/cxxapi/classPassenger_1_1EventedClient-members.html +0 -59
- data/doc/cxxapi/classPassenger_1_1EventedClient.html +0 -531
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer.html +0 -59
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1EventedServer-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1EventedServer.html +0 -93
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +0 -41
- data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +0 -178
- data/doc/cxxapi/classPassenger_1_1FileDescriptorPair-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1FileDescriptorPair.html +0 -52
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +0 -58
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +0 -41
- data/doc/cxxapi/classPassenger_1_1FileSystemException.html +0 -66
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor-members.html +0 -39
- data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor.html +0 -128
- data/doc/cxxapi/classPassenger_1_1IOException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1IOException.html +0 -61
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +0 -4
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +0 -57
- data/doc/cxxapi/classPassenger_1_1MessageChannel.html +0 -839
- data/doc/cxxapi/classPassenger_1_1MessageServer-members.html +0 -49
- data/doc/cxxapi/classPassenger_1_1MessageServer.html +0 -407
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext.html +0 -58
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext-members.html +0 -41
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext.html +0 -165
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler-members.html +0 -39
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler.html +0 -173
- data/doc/cxxapi/classPassenger_1_1Process-members.html +0 -44
- data/doc/cxxapi/classPassenger_1_1Process.html +0 -290
- data/doc/cxxapi/classPassenger_1_1RandomGenerator-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1RandomGenerator.html +0 -79
- data/doc/cxxapi/classPassenger_1_1ResourceLocator-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1ResourceLocator.html +0 -51
- data/doc/cxxapi/classPassenger_1_1RuntimeException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1RuntimeException.html +0 -54
- data/doc/cxxapi/classPassenger_1_1SafeLibev-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1SafeLibev.html +0 -51
- data/doc/cxxapi/classPassenger_1_1ScalarMessage-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1ScalarMessage.html +0 -76
- data/doc/cxxapi/classPassenger_1_1ScgiRequestParser-members.html +0 -50
- data/doc/cxxapi/classPassenger_1_1ScgiRequestParser.html +0 -285
- data/doc/cxxapi/classPassenger_1_1SecurityException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1SecurityException.html +0 -56
- data/doc/cxxapi/classPassenger_1_1Session-members.html +0 -53
- data/doc/cxxapi/classPassenger_1_1Session.html +0 -556
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +0 -39
- data/doc/cxxapi/classPassenger_1_1SpawnException.html +0 -101
- data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +0 -42
- data/doc/cxxapi/classPassenger_1_1SpawnManager.html +0 -292
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1StandardSession-members.html +0 -54
- data/doc/cxxapi/classPassenger_1_1StandardSession.html +0 -394
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1StaticString-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1StaticString.html +0 -56
- data/doc/cxxapi/classPassenger_1_1SyntaxError-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1SyntaxError.html +0 -54
- data/doc/cxxapi/classPassenger_1_1SystemException-members.html +0 -40
- data/doc/cxxapi/classPassenger_1_1SystemException.html +0 -155
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +0 -4
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException-members.html +0 -40
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException.html +0 -61
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1TimeoutException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1TimeoutException.html +0 -54
- data/doc/cxxapi/classPassenger_1_1Uint16Message-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1Uint16Message.html +0 -51
- data/doc/cxxapi/classPassenger_1_1Uint32Message-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1Uint32Message.html +0 -51
- data/doc/cxxapi/classServer-members.html +0 -36
- data/doc/cxxapi/classServer.html +0 -49
- data/doc/cxxapi/classServerInstanceDirToucher-members.html +0 -36
- data/doc/cxxapi/classServerInstanceDirToucher.html +0 -47
- data/doc/cxxapi/classes.html +0 -52
- data/doc/cxxapi/definitions_8h_source.html +0 -36
- data/doc/cxxapi/doxygen.css +0 -532
- data/doc/cxxapi/doxygen.png +0 -0
- data/doc/cxxapi/files.html +0 -76
- 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 +0 -103
- data/doc/cxxapi/functions_0x62.html +0 -82
- data/doc/cxxapi/functions_0x63.html +0 -102
- data/doc/cxxapi/functions_0x64.html +0 -102
- data/doc/cxxapi/functions_0x65.html +0 -88
- data/doc/cxxapi/functions_0x66.html +0 -100
- data/doc/cxxapi/functions_0x67.html +0 -167
- data/doc/cxxapi/functions_0x68.html +0 -88
- data/doc/cxxapi/functions_0x69.html +0 -96
- data/doc/cxxapi/functions_0x6b.html +0 -80
- data/doc/cxxapi/functions_0x6c.html +0 -88
- data/doc/cxxapi/functions_0x6d.html +0 -88
- data/doc/cxxapi/functions_0x6e.html +0 -86
- data/doc/cxxapi/functions_0x6f.html +0 -94
- data/doc/cxxapi/functions_0x70.html +0 -94
- data/doc/cxxapi/functions_0x72.html +0 -110
- data/doc/cxxapi/functions_0x73.html +0 -171
- data/doc/cxxapi/functions_0x74.html +0 -85
- data/doc/cxxapi/functions_0x75.html +0 -85
- data/doc/cxxapi/functions_0x77.html +0 -92
- data/doc/cxxapi/functions_0x7e.html +0 -79
- data/doc/cxxapi/functions_enum.html +0 -49
- data/doc/cxxapi/functions_eval.html +0 -67
- data/doc/cxxapi/functions_func.html +0 -531
- data/doc/cxxapi/functions_vars.html +0 -278
- data/doc/cxxapi/graph_legend.dot +0 -22
- data/doc/cxxapi/graph_legend.html +0 -92
- data/doc/cxxapi/graph_legend.png +0 -0
- data/doc/cxxapi/group__Core.html +0 -46
- data/doc/cxxapi/group__Core.map +0 -3
- data/doc/cxxapi/group__Core.png +0 -0
- data/doc/cxxapi/group__Exceptions.html +0 -53
- data/doc/cxxapi/group__Hooks.html +0 -42
- data/doc/cxxapi/group__Hooks.map +0 -3
- data/doc/cxxapi/group__Hooks.png +0 -0
- data/doc/cxxapi/group__Support.html +0 -538
- data/doc/cxxapi/hierarchy.html +0 -101
- data/doc/cxxapi/index.html +0 -16
- data/doc/cxxapi/inherit__graph__0.map +0 -3
- data/doc/cxxapi/inherit__graph__0.md5 +0 -1
- data/doc/cxxapi/inherit__graph__0.png +0 -0
- data/doc/cxxapi/inherit__graph__1.map +0 -3
- data/doc/cxxapi/inherit__graph__1.md5 +0 -1
- data/doc/cxxapi/inherit__graph__1.png +0 -0
- data/doc/cxxapi/inherit__graph__10.map +0 -3
- data/doc/cxxapi/inherit__graph__10.md5 +0 -1
- data/doc/cxxapi/inherit__graph__10.png +0 -0
- data/doc/cxxapi/inherit__graph__11.map +0 -4
- data/doc/cxxapi/inherit__graph__11.md5 +0 -1
- data/doc/cxxapi/inherit__graph__11.png +0 -0
- data/doc/cxxapi/inherit__graph__12.map +0 -3
- data/doc/cxxapi/inherit__graph__12.md5 +0 -1
- data/doc/cxxapi/inherit__graph__12.png +0 -0
- data/doc/cxxapi/inherit__graph__13.map +0 -3
- data/doc/cxxapi/inherit__graph__13.md5 +0 -1
- data/doc/cxxapi/inherit__graph__13.png +0 -0
- data/doc/cxxapi/inherit__graph__14.map +0 -3
- data/doc/cxxapi/inherit__graph__14.md5 +0 -1
- data/doc/cxxapi/inherit__graph__14.png +0 -0
- data/doc/cxxapi/inherit__graph__15.map +0 -3
- data/doc/cxxapi/inherit__graph__15.md5 +0 -1
- data/doc/cxxapi/inherit__graph__15.png +0 -0
- data/doc/cxxapi/inherit__graph__16.map +0 -5
- data/doc/cxxapi/inherit__graph__16.md5 +0 -1
- data/doc/cxxapi/inherit__graph__16.png +0 -0
- data/doc/cxxapi/inherit__graph__17.map +0 -3
- data/doc/cxxapi/inherit__graph__17.md5 +0 -1
- data/doc/cxxapi/inherit__graph__17.png +0 -0
- data/doc/cxxapi/inherit__graph__18.map +0 -3
- data/doc/cxxapi/inherit__graph__18.md5 +0 -1
- data/doc/cxxapi/inherit__graph__18.png +0 -0
- data/doc/cxxapi/inherit__graph__19.map +0 -4
- data/doc/cxxapi/inherit__graph__19.md5 +0 -1
- data/doc/cxxapi/inherit__graph__19.png +0 -0
- data/doc/cxxapi/inherit__graph__2.map +0 -3
- data/doc/cxxapi/inherit__graph__2.md5 +0 -1
- data/doc/cxxapi/inherit__graph__2.png +0 -0
- data/doc/cxxapi/inherit__graph__20.map +0 -3
- data/doc/cxxapi/inherit__graph__20.md5 +0 -1
- data/doc/cxxapi/inherit__graph__20.png +0 -0
- data/doc/cxxapi/inherit__graph__21.map +0 -3
- data/doc/cxxapi/inherit__graph__21.md5 +0 -1
- data/doc/cxxapi/inherit__graph__21.png +0 -0
- data/doc/cxxapi/inherit__graph__22.map +0 -3
- data/doc/cxxapi/inherit__graph__22.md5 +0 -1
- data/doc/cxxapi/inherit__graph__22.png +0 -0
- data/doc/cxxapi/inherit__graph__23.map +0 -3
- data/doc/cxxapi/inherit__graph__23.md5 +0 -1
- data/doc/cxxapi/inherit__graph__23.png +0 -0
- data/doc/cxxapi/inherit__graph__24.map +0 -3
- data/doc/cxxapi/inherit__graph__24.md5 +0 -1
- data/doc/cxxapi/inherit__graph__24.png +0 -0
- data/doc/cxxapi/inherit__graph__25.map +0 -3
- data/doc/cxxapi/inherit__graph__25.md5 +0 -1
- data/doc/cxxapi/inherit__graph__25.png +0 -0
- data/doc/cxxapi/inherit__graph__26.map +0 -3
- data/doc/cxxapi/inherit__graph__26.md5 +0 -1
- data/doc/cxxapi/inherit__graph__26.png +0 -0
- data/doc/cxxapi/inherit__graph__27.map +0 -3
- data/doc/cxxapi/inherit__graph__27.md5 +0 -1
- data/doc/cxxapi/inherit__graph__27.png +0 -0
- data/doc/cxxapi/inherit__graph__28.map +0 -3
- data/doc/cxxapi/inherit__graph__28.md5 +0 -1
- data/doc/cxxapi/inherit__graph__28.png +0 -0
- data/doc/cxxapi/inherit__graph__29.map +0 -3
- data/doc/cxxapi/inherit__graph__29.md5 +0 -1
- data/doc/cxxapi/inherit__graph__29.png +0 -0
- data/doc/cxxapi/inherit__graph__3.map +0 -4
- data/doc/cxxapi/inherit__graph__3.md5 +0 -1
- data/doc/cxxapi/inherit__graph__3.png +0 -0
- data/doc/cxxapi/inherit__graph__30.map +0 -3
- data/doc/cxxapi/inherit__graph__30.md5 +0 -1
- data/doc/cxxapi/inherit__graph__30.png +0 -0
- data/doc/cxxapi/inherit__graph__31.map +0 -4
- data/doc/cxxapi/inherit__graph__31.md5 +0 -1
- data/doc/cxxapi/inherit__graph__31.png +0 -0
- data/doc/cxxapi/inherit__graph__32.map +0 -3
- data/doc/cxxapi/inherit__graph__32.md5 +0 -1
- data/doc/cxxapi/inherit__graph__32.png +0 -0
- data/doc/cxxapi/inherit__graph__33.map +0 -3
- data/doc/cxxapi/inherit__graph__33.md5 +0 -1
- data/doc/cxxapi/inherit__graph__33.png +0 -0
- data/doc/cxxapi/inherit__graph__34.map +0 -3
- data/doc/cxxapi/inherit__graph__34.md5 +0 -1
- data/doc/cxxapi/inherit__graph__34.png +0 -0
- data/doc/cxxapi/inherit__graph__35.map +0 -3
- data/doc/cxxapi/inherit__graph__35.md5 +0 -1
- data/doc/cxxapi/inherit__graph__35.png +0 -0
- data/doc/cxxapi/inherit__graph__36.map +0 -5
- data/doc/cxxapi/inherit__graph__36.md5 +0 -1
- data/doc/cxxapi/inherit__graph__36.png +0 -0
- data/doc/cxxapi/inherit__graph__37.map +0 -3
- data/doc/cxxapi/inherit__graph__37.md5 +0 -1
- data/doc/cxxapi/inherit__graph__37.png +0 -0
- data/doc/cxxapi/inherit__graph__38.map +0 -3
- data/doc/cxxapi/inherit__graph__38.md5 +0 -1
- data/doc/cxxapi/inherit__graph__38.png +0 -0
- data/doc/cxxapi/inherit__graph__39.map +0 -3
- data/doc/cxxapi/inherit__graph__39.md5 +0 -1
- data/doc/cxxapi/inherit__graph__39.png +0 -0
- data/doc/cxxapi/inherit__graph__4.map +0 -3
- data/doc/cxxapi/inherit__graph__4.md5 +0 -1
- data/doc/cxxapi/inherit__graph__4.png +0 -0
- data/doc/cxxapi/inherit__graph__40.map +0 -3
- data/doc/cxxapi/inherit__graph__40.md5 +0 -1
- data/doc/cxxapi/inherit__graph__40.png +0 -0
- data/doc/cxxapi/inherit__graph__41.map +0 -3
- data/doc/cxxapi/inherit__graph__41.md5 +0 -1
- data/doc/cxxapi/inherit__graph__41.png +0 -0
- data/doc/cxxapi/inherit__graph__5.map +0 -3
- data/doc/cxxapi/inherit__graph__5.md5 +0 -1
- data/doc/cxxapi/inherit__graph__5.png +0 -0
- data/doc/cxxapi/inherit__graph__6.map +0 -3
- data/doc/cxxapi/inherit__graph__6.md5 +0 -1
- data/doc/cxxapi/inherit__graph__6.png +0 -0
- data/doc/cxxapi/inherit__graph__7.map +0 -3
- data/doc/cxxapi/inherit__graph__7.md5 +0 -1
- data/doc/cxxapi/inherit__graph__7.png +0 -0
- data/doc/cxxapi/inherit__graph__8.map +0 -3
- data/doc/cxxapi/inherit__graph__8.md5 +0 -1
- data/doc/cxxapi/inherit__graph__8.png +0 -0
- data/doc/cxxapi/inherit__graph__9.map +0 -3
- data/doc/cxxapi/inherit__graph__9.md5 +0 -1
- data/doc/cxxapi/inherit__graph__9.png +0 -0
- data/doc/cxxapi/inherits.html +0 -165
- data/doc/cxxapi/main.html +0 -28
- data/doc/cxxapi/modules.html +0 -36
- data/doc/cxxapi/namespacePassenger.html +0 -585
- data/doc/cxxapi/namespacemembers.html +0 -190
- data/doc/cxxapi/namespacemembers_enum.html +0 -48
- data/doc/cxxapi/namespacemembers_eval.html +0 -57
- data/doc/cxxapi/namespacemembers_func.html +0 -114
- data/doc/cxxapi/namespacemembers_type.html +0 -54
- data/doc/cxxapi/namespaces.html +0 -37
- data/doc/cxxapi/nginx_2Configuration_8h_source.html +0 -126
- data/doc/cxxapi/ngx__http__passenger__module_8h_source.html +0 -95
- data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard-members.html +0 -36
- data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html +0 -51
- data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +0 -67
- data/doc/cxxapi/structPassenger_1_1PoolOptions.html +0 -647
- data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash-members.html +0 -36
- data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash.html +0 -51
- 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 +0 -105
- data/doc/cxxapi/tree.html +0 -249
- data/doc/template/horo.rb +0 -613
- data/ext/libev/config.h +0 -122
- data/ext/nginx/HttpStatusExtractor.h +0 -351
@@ -1,16 +1,35 @@
|
|
1
|
-
<!DOCTYPE html
|
2
|
-
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
4
3
|
<head>
|
5
|
-
<meta http-equiv="Content-Type" content="
|
6
|
-
<meta name="generator" content="AsciiDoc 8.6.
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
5
|
+
<meta name="generator" content="AsciiDoc 8.6.5">
|
7
6
|
<title>Security of user switching support in Passenger</title>
|
8
7
|
<style type="text/css">
|
9
|
-
/* Debug borders */
|
10
|
-
p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
|
11
8
|
/*
|
12
|
-
|
13
|
-
|
9
|
+
* AsciiDoc 'flask' theme for xhtml11 and html5 backends. A shameless knock-off
|
10
|
+
* of the Flask website styling (http://flask.pocoo.org/docs/).
|
11
|
+
*
|
12
|
+
* The implementation is straight-forward, consisting of the asciidoc.css file
|
13
|
+
* followed by theme specific overrides.
|
14
|
+
*
|
15
|
+
* */
|
16
|
+
|
17
|
+
|
18
|
+
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
19
|
+
|
20
|
+
/* Default font. */
|
21
|
+
body {
|
22
|
+
font-family: Georgia,serif;
|
23
|
+
}
|
24
|
+
|
25
|
+
/* Title font. */
|
26
|
+
h1, h2, h3, h4, h5, h6,
|
27
|
+
div.title, caption.title,
|
28
|
+
thead, p.table.header,
|
29
|
+
#toctitle,
|
30
|
+
#author, #revnumber, #revdate, #revremark,
|
31
|
+
#footer {
|
32
|
+
font-family: Arial,Helvetica,sans-serif;
|
14
33
|
}
|
15
34
|
|
16
35
|
body {
|
@@ -35,13 +54,8 @@ strong {
|
|
35
54
|
color: #083194;
|
36
55
|
}
|
37
56
|
|
38
|
-
tt {
|
39
|
-
color: navy;
|
40
|
-
}
|
41
|
-
|
42
57
|
h1, h2, h3, h4, h5, h6 {
|
43
58
|
color: #527bbd;
|
44
|
-
font-family: sans-serif;
|
45
59
|
margin-top: 1.2em;
|
46
60
|
margin-bottom: 0.5em;
|
47
61
|
line-height: 1.3;
|
@@ -59,9 +73,11 @@ h3 {
|
|
59
73
|
h3 + * {
|
60
74
|
clear: left;
|
61
75
|
}
|
76
|
+
h5 {
|
77
|
+
font-size: 1.0em;
|
78
|
+
}
|
62
79
|
|
63
80
|
div.sectionbody {
|
64
|
-
font-family: serif;
|
65
81
|
margin-left: 0;
|
66
82
|
}
|
67
83
|
|
@@ -77,45 +93,44 @@ p {
|
|
77
93
|
ul, ol, li > p {
|
78
94
|
margin-top: 0;
|
79
95
|
}
|
96
|
+
ul > li { color: #aaa; }
|
97
|
+
ul > li > * { color: black; }
|
80
98
|
|
81
99
|
pre {
|
82
100
|
padding: 0;
|
83
101
|
margin: 0;
|
84
102
|
}
|
85
103
|
|
86
|
-
|
104
|
+
#author {
|
87
105
|
color: #527bbd;
|
88
|
-
font-family: sans-serif;
|
89
106
|
font-weight: bold;
|
90
107
|
font-size: 1.1em;
|
91
108
|
}
|
92
|
-
|
109
|
+
#email {
|
93
110
|
}
|
94
|
-
|
95
|
-
font-family: sans-serif;
|
111
|
+
#revnumber, #revdate, #revremark {
|
96
112
|
}
|
97
113
|
|
98
|
-
|
99
|
-
font-family: sans-serif;
|
114
|
+
#footer {
|
100
115
|
font-size: small;
|
101
116
|
border-top: 2px solid silver;
|
102
117
|
padding-top: 0.5em;
|
103
118
|
margin-top: 4.0em;
|
104
119
|
}
|
105
|
-
|
120
|
+
#footer-text {
|
106
121
|
float: left;
|
107
122
|
padding-bottom: 0.5em;
|
108
123
|
}
|
109
|
-
|
124
|
+
#footer-badges {
|
110
125
|
float: right;
|
111
126
|
padding-bottom: 0.5em;
|
112
127
|
}
|
113
128
|
|
114
|
-
|
129
|
+
#preamble {
|
115
130
|
margin-top: 1.5em;
|
116
131
|
margin-bottom: 1.5em;
|
117
132
|
}
|
118
|
-
div.
|
133
|
+
div.imageblock, div.exampleblock, div.verseblock,
|
119
134
|
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
120
135
|
div.admonitionblock {
|
121
136
|
margin-top: 1.0em;
|
@@ -135,7 +150,6 @@ div.content { /* Block element content. */
|
|
135
150
|
/* Block element titles. */
|
136
151
|
div.title, caption.title {
|
137
152
|
color: #527bbd;
|
138
|
-
font-family: sans-serif;
|
139
153
|
font-weight: bold;
|
140
154
|
text-align: left;
|
141
155
|
margin-top: 1.0em;
|
@@ -157,13 +171,15 @@ div.content + div.title {
|
|
157
171
|
|
158
172
|
div.sidebarblock > div.content {
|
159
173
|
background: #ffffee;
|
160
|
-
border: 1px solid
|
174
|
+
border: 1px solid #dddddd;
|
175
|
+
border-left: 4px solid #f0f0f0;
|
161
176
|
padding: 0.5em;
|
162
177
|
}
|
163
178
|
|
164
179
|
div.listingblock > div.content {
|
165
|
-
border: 1px solid
|
166
|
-
|
180
|
+
border: 1px solid #dddddd;
|
181
|
+
border-left: 5px solid #f0f0f0;
|
182
|
+
background: #f8f8f8;
|
167
183
|
padding: 0.5em;
|
168
184
|
}
|
169
185
|
|
@@ -171,7 +187,7 @@ div.quoteblock, div.verseblock {
|
|
171
187
|
padding-left: 1.0em;
|
172
188
|
margin-left: 1.0em;
|
173
189
|
margin-right: 10%;
|
174
|
-
border-left: 5px solid #
|
190
|
+
border-left: 5px solid #f0f0f0;
|
175
191
|
color: #777777;
|
176
192
|
}
|
177
193
|
|
@@ -182,6 +198,7 @@ div.quoteblock > div.attribution {
|
|
182
198
|
|
183
199
|
div.verseblock > pre.content {
|
184
200
|
font-family: inherit;
|
201
|
+
font-size: inherit;
|
185
202
|
}
|
186
203
|
div.verseblock > div.attribution {
|
187
204
|
padding-top: 0.75em;
|
@@ -254,36 +271,12 @@ div.compact div, div.compact div {
|
|
254
271
|
margin-bottom: 0.1em;
|
255
272
|
}
|
256
273
|
|
257
|
-
div.tableblock > table {
|
258
|
-
border: 3px solid #527bbd;
|
259
|
-
}
|
260
|
-
thead, p.table.header {
|
261
|
-
font-family: sans-serif;
|
262
|
-
font-weight: bold;
|
263
|
-
color: #527bbd;
|
264
|
-
}
|
265
274
|
tfoot {
|
266
275
|
font-weight: bold;
|
267
276
|
}
|
268
277
|
td > div.verse {
|
269
278
|
white-space: pre;
|
270
279
|
}
|
271
|
-
p.table {
|
272
|
-
margin-top: 0;
|
273
|
-
}
|
274
|
-
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
275
|
-
div.tableblock > table[frame="void"] {
|
276
|
-
border-style: none;
|
277
|
-
}
|
278
|
-
div.tableblock > table[frame="hsides"] {
|
279
|
-
border-left-style: none;
|
280
|
-
border-right-style: none;
|
281
|
-
}
|
282
|
-
div.tableblock > table[frame="vsides"] {
|
283
|
-
border-top-style: none;
|
284
|
-
border-bottom-style: none;
|
285
|
-
}
|
286
|
-
|
287
280
|
|
288
281
|
div.hdlist {
|
289
282
|
margin-top: 0.8em;
|
@@ -350,16 +343,15 @@ div.colist td img {
|
|
350
343
|
}
|
351
344
|
|
352
345
|
@media print {
|
353
|
-
|
346
|
+
#footer-badges { display: none; }
|
354
347
|
}
|
355
348
|
|
356
|
-
|
349
|
+
#toc {
|
357
350
|
margin-bottom: 2.5em;
|
358
351
|
}
|
359
352
|
|
360
|
-
|
353
|
+
#toctitle {
|
361
354
|
color: #527bbd;
|
362
|
-
font-family: sans-serif;
|
363
355
|
font-size: 1.1em;
|
364
356
|
font-weight: bold;
|
365
357
|
margin-top: 1.0em;
|
@@ -383,10 +375,223 @@ div.toclevel4 {
|
|
383
375
|
font-size: 0.9em;
|
384
376
|
}
|
385
377
|
|
378
|
+
span.aqua { color: aqua; }
|
379
|
+
span.black { color: black; }
|
380
|
+
span.blue { color: blue; }
|
381
|
+
span.fuchsia { color: fuchsia; }
|
382
|
+
span.gray { color: gray; }
|
383
|
+
span.green { color: green; }
|
384
|
+
span.lime { color: lime; }
|
385
|
+
span.maroon { color: maroon; }
|
386
|
+
span.navy { color: navy; }
|
387
|
+
span.olive { color: olive; }
|
388
|
+
span.purple { color: purple; }
|
389
|
+
span.red { color: red; }
|
390
|
+
span.silver { color: silver; }
|
391
|
+
span.teal { color: teal; }
|
392
|
+
span.white { color: white; }
|
393
|
+
span.yellow { color: yellow; }
|
394
|
+
|
395
|
+
span.aqua-background { background: aqua; }
|
396
|
+
span.black-background { background: black; }
|
397
|
+
span.blue-background { background: blue; }
|
398
|
+
span.fuchsia-background { background: fuchsia; }
|
399
|
+
span.gray-background { background: gray; }
|
400
|
+
span.green-background { background: green; }
|
401
|
+
span.lime-background { background: lime; }
|
402
|
+
span.maroon-background { background: maroon; }
|
403
|
+
span.navy-background { background: navy; }
|
404
|
+
span.olive-background { background: olive; }
|
405
|
+
span.purple-background { background: purple; }
|
406
|
+
span.red-background { background: red; }
|
407
|
+
span.silver-background { background: silver; }
|
408
|
+
span.teal-background { background: teal; }
|
409
|
+
span.white-background { background: white; }
|
410
|
+
span.yellow-background { background: yellow; }
|
411
|
+
|
412
|
+
span.big { font-size: 2em; }
|
413
|
+
span.small { font-size: 0.6em; }
|
414
|
+
|
415
|
+
span.underline { text-decoration: underline; }
|
416
|
+
span.overline { text-decoration: overline; }
|
417
|
+
span.line-through { text-decoration: line-through; }
|
418
|
+
|
419
|
+
|
420
|
+
/*
|
421
|
+
* xhtml11 specific
|
422
|
+
*
|
423
|
+
* */
|
424
|
+
|
425
|
+
tt {
|
426
|
+
font-family: monospace;
|
427
|
+
font-size: inherit;
|
428
|
+
color: navy;
|
429
|
+
}
|
430
|
+
|
431
|
+
div.tableblock {
|
432
|
+
margin-top: 1.0em;
|
433
|
+
margin-bottom: 1.5em;
|
434
|
+
}
|
435
|
+
div.tableblock > table {
|
436
|
+
border: 3px solid #527bbd;
|
437
|
+
}
|
438
|
+
thead, p.table.header {
|
439
|
+
font-weight: bold;
|
440
|
+
color: #527bbd;
|
441
|
+
}
|
442
|
+
p.table {
|
443
|
+
margin-top: 0;
|
444
|
+
}
|
445
|
+
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
446
|
+
div.tableblock > table[frame="void"] {
|
447
|
+
border-style: none;
|
448
|
+
}
|
449
|
+
div.tableblock > table[frame="hsides"] {
|
450
|
+
border-left-style: none;
|
451
|
+
border-right-style: none;
|
452
|
+
}
|
453
|
+
div.tableblock > table[frame="vsides"] {
|
454
|
+
border-top-style: none;
|
455
|
+
border-bottom-style: none;
|
456
|
+
}
|
457
|
+
|
458
|
+
|
459
|
+
/*
|
460
|
+
* html5 specific
|
461
|
+
*
|
462
|
+
* */
|
463
|
+
|
464
|
+
.monospaced {
|
465
|
+
font-family: monospace;
|
466
|
+
font-size: inherit;
|
467
|
+
color: navy;
|
468
|
+
}
|
469
|
+
|
470
|
+
table.tableblock {
|
471
|
+
margin-top: 1.0em;
|
472
|
+
margin-bottom: 1.5em;
|
473
|
+
}
|
474
|
+
thead, p.tableblock.header {
|
475
|
+
font-weight: bold;
|
476
|
+
color: #527bbd;
|
477
|
+
}
|
478
|
+
p.tableblock {
|
479
|
+
margin-top: 0;
|
480
|
+
}
|
481
|
+
table.tableblock {
|
482
|
+
border-width: 3px;
|
483
|
+
border-spacing: 0px;
|
484
|
+
border-style: solid;
|
485
|
+
border-color: #527bbd;
|
486
|
+
border-collapse: collapse;
|
487
|
+
}
|
488
|
+
th.tableblock, td.tableblock {
|
489
|
+
border-width: 1px;
|
490
|
+
padding: 4px;
|
491
|
+
border-style: solid;
|
492
|
+
border-color: #527bbd;
|
493
|
+
}
|
494
|
+
|
495
|
+
table.tableblock.frame-topbot {
|
496
|
+
border-left-style: hidden;
|
497
|
+
border-right-style: hidden;
|
498
|
+
}
|
499
|
+
table.tableblock.frame-sides {
|
500
|
+
border-top-style: hidden;
|
501
|
+
border-bottom-style: hidden;
|
502
|
+
}
|
503
|
+
table.tableblock.frame-none {
|
504
|
+
border-style: hidden;
|
505
|
+
}
|
506
|
+
|
507
|
+
th.tableblock.halign-left, td.tableblock.halign-left {
|
508
|
+
text-align: left;
|
509
|
+
}
|
510
|
+
th.tableblock.halign-center, td.tableblock.halign-center {
|
511
|
+
text-align: center;
|
512
|
+
}
|
513
|
+
th.tableblock.halign-right, td.tableblock.halign-right {
|
514
|
+
text-align: right;
|
515
|
+
}
|
516
|
+
|
517
|
+
th.tableblock.valign-top, td.tableblock.valign-top {
|
518
|
+
vertical-align: top;
|
519
|
+
}
|
520
|
+
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
521
|
+
vertical-align: middle;
|
522
|
+
}
|
523
|
+
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
524
|
+
vertical-align: bottom;
|
525
|
+
}
|
526
|
+
|
527
|
+
|
528
|
+
/*
|
529
|
+
* Theme specific overrides of the preceding (asciidoc.css) CSS.
|
530
|
+
*
|
531
|
+
*/
|
532
|
+
body {
|
533
|
+
font-family: Garamond, Georgia, serif;
|
534
|
+
font-size: 17px;
|
535
|
+
color: #3E4349;
|
536
|
+
line-height: 1.3em;
|
537
|
+
}
|
538
|
+
h1, h2, h3, h4, h5, h6,
|
539
|
+
div.title, caption.title,
|
540
|
+
thead, p.table.header,
|
541
|
+
#toctitle,
|
542
|
+
#author, #revnumber, #revdate, #revremark,
|
543
|
+
#footer {
|
544
|
+
font-family: Garmond, Georgia, serif;
|
545
|
+
font-weight: normal;
|
546
|
+
border-bottom-width: 0;
|
547
|
+
color: #3E4349;
|
548
|
+
}
|
549
|
+
div.title, caption.title { color: #596673; font-weight: bold; }
|
550
|
+
h1 { font-size: 240%; }
|
551
|
+
h2 { font-size: 180%; }
|
552
|
+
h3 { font-size: 150%; }
|
553
|
+
h4 { font-size: 130%; }
|
554
|
+
h5 { font-size: 100%; }
|
555
|
+
h6 { font-size: 100%; }
|
556
|
+
#header h1 { margin-top: 0; }
|
557
|
+
#toc {
|
558
|
+
color: #444444;
|
559
|
+
line-height: 1.5;
|
560
|
+
padding-top: 1.5em;
|
561
|
+
}
|
562
|
+
#toctitle {
|
563
|
+
font-size: 20px;
|
564
|
+
}
|
565
|
+
#toc a {
|
566
|
+
border-bottom: 1px dotted #999999;
|
567
|
+
color: #444444 !important;
|
568
|
+
text-decoration: none !important;
|
569
|
+
}
|
570
|
+
#toc a:hover {
|
571
|
+
border-bottom: 1px solid #6D4100;
|
572
|
+
color: #6D4100 !important;
|
573
|
+
text-decoration: none !important;
|
574
|
+
}
|
575
|
+
div.toclevel1 { margin-top: 0.2em; font-size: 16px; }
|
576
|
+
div.toclevel2 { margin-top: 0.15em; font-size: 14px; }
|
577
|
+
em, dt, td.hdlist1 { color: black; }
|
578
|
+
strong { color: #3E4349; }
|
579
|
+
a { color: #004B6B; text-decoration: none; border-bottom: 1px dotted #004B6B; }
|
580
|
+
a:visited { color: #615FA0; border-bottom: 1px dotted #615FA0; }
|
581
|
+
a:hover { color: #6D4100; border-bottom: 1px solid #6D4100; }
|
582
|
+
div.tableblock > table, table.tableblock { border: 3px solid #E8E8E8; }
|
583
|
+
th.tableblock, td.tableblock { border: 1px solid #E8E8E8; }
|
584
|
+
ul > li > * { color: #3E4349; }
|
585
|
+
pre, tt, .monospaced { font-family: Consolas,Menlo,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace; }
|
586
|
+
tt, .monospaced { font-size: 0.9em; color: black;
|
587
|
+
}
|
588
|
+
div.exampleblock > div.content, div.sidebarblock > div.content, div.listingblock > div.content { border-width: 0 0 0 3px; border-color: #E8E8E8; }
|
589
|
+
div.verseblock { border-left-width: 0; margin-left: 3em; }
|
590
|
+
div.quoteblock { border-left-width: 3px; margin-left: 0; margin-right: 0;}
|
591
|
+
div.admonitionblock td.content { border-left: 3px solid #E8E8E8; }
|
386
592
|
</style>
|
387
593
|
<script type="text/javascript">
|
388
594
|
/*<![CDATA[*/
|
389
|
-
window.onload = function(){asciidoc.footnotes(); asciidoc.toc(3);}
|
390
595
|
var asciidoc = { // Namespace.
|
391
596
|
|
392
597
|
/////////////////////////////////////////////////////////////////////
|
@@ -448,6 +653,25 @@ toc: function (toclevels) {
|
|
448
653
|
}
|
449
654
|
|
450
655
|
var toc = document.getElementById("toc");
|
656
|
+
if (!toc) {
|
657
|
+
return;
|
658
|
+
}
|
659
|
+
|
660
|
+
// Delete existing TOC entries in case we're reloading the TOC.
|
661
|
+
var tocEntriesToRemove = [];
|
662
|
+
var i;
|
663
|
+
for (i = 0; i < toc.childNodes.length; i++) {
|
664
|
+
var entry = toc.childNodes[i];
|
665
|
+
if (entry.nodeName == 'DIV'
|
666
|
+
&& entry.getAttribute("class")
|
667
|
+
&& entry.getAttribute("class").match(/^toclevel/))
|
668
|
+
tocEntriesToRemove.push(entry);
|
669
|
+
}
|
670
|
+
for (i = 0; i < tocEntriesToRemove.length; i++) {
|
671
|
+
toc.removeChild(tocEntriesToRemove[i]);
|
672
|
+
}
|
673
|
+
|
674
|
+
// Rebuild TOC entries.
|
451
675
|
var entries = tocEntries(document.getElementById("content"), toclevels);
|
452
676
|
for (var i = 0; i < entries.length; ++i) {
|
453
677
|
var entry = entries[i];
|
@@ -475,24 +699,44 @@ toc: function (toclevels) {
|
|
475
699
|
*/
|
476
700
|
|
477
701
|
footnotes: function () {
|
478
|
-
|
702
|
+
// Delete existing footnote entries in case we're reloading the footnodes.
|
703
|
+
var i;
|
479
704
|
var noteholder = document.getElementById("footnotes");
|
705
|
+
if (!noteholder) {
|
706
|
+
return;
|
707
|
+
}
|
708
|
+
var entriesToRemove = [];
|
709
|
+
for (i = 0; i < noteholder.childNodes.length; i++) {
|
710
|
+
var entry = noteholder.childNodes[i];
|
711
|
+
if (entry.nodeName == 'DIV' && entry.getAttribute("class") == "footnote")
|
712
|
+
entriesToRemove.push(entry);
|
713
|
+
}
|
714
|
+
for (i = 0; i < entriesToRemove.length; i++) {
|
715
|
+
noteholder.removeChild(entriesToRemove[i]);
|
716
|
+
}
|
717
|
+
|
718
|
+
// Rebuild footnote entries.
|
719
|
+
var cont = document.getElementById("content");
|
480
720
|
var spans = cont.getElementsByTagName("span");
|
481
721
|
var refs = {};
|
482
722
|
var n = 0;
|
483
723
|
for (i=0; i<spans.length; i++) {
|
484
724
|
if (spans[i].className == "footnote") {
|
485
725
|
n++;
|
486
|
-
|
487
|
-
|
488
|
-
|
726
|
+
var note = spans[i].getAttribute("data-note");
|
727
|
+
if (!note) {
|
728
|
+
// Use [\s\S] in place of . so multi-line matches work.
|
729
|
+
// Because JavaScript has no s (dotall) regex flag.
|
730
|
+
note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
|
731
|
+
spans[i].innerHTML =
|
732
|
+
"[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
|
733
|
+
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
734
|
+
spans[i].setAttribute("data-note", note);
|
735
|
+
}
|
489
736
|
noteholder.innerHTML +=
|
490
737
|
"<div class='footnote' id='_footnote_" + n + "'>" +
|
491
738
|
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
|
492
739
|
n + "</a>. " + note + "</div>";
|
493
|
-
spans[i].innerHTML =
|
494
|
-
"[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
|
495
|
-
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
496
740
|
var id =spans[i].getAttribute("id");
|
497
741
|
if (id != null) refs["#"+id] = n;
|
498
742
|
}
|
@@ -512,9 +756,32 @@ footnotes: function () {
|
|
512
756
|
}
|
513
757
|
}
|
514
758
|
}
|
759
|
+
},
|
760
|
+
|
761
|
+
install: function(toclevels) {
|
762
|
+
var timerId;
|
763
|
+
|
764
|
+
function reinstall() {
|
765
|
+
asciidoc.footnotes();
|
766
|
+
if (toclevels) {
|
767
|
+
asciidoc.toc(toclevels);
|
768
|
+
}
|
769
|
+
}
|
770
|
+
|
771
|
+
function reinstallAndRemoveTimer() {
|
772
|
+
clearInterval(timerId);
|
773
|
+
reinstall();
|
774
|
+
}
|
775
|
+
|
776
|
+
timerId = setInterval(reinstall, 500);
|
777
|
+
if (document.addEventListener)
|
778
|
+
document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
|
779
|
+
else
|
780
|
+
window.onload = reinstallAndRemoveTimer;
|
515
781
|
}
|
516
782
|
|
517
783
|
}
|
784
|
+
asciidoc.install(3);
|
518
785
|
/*]]>*/
|
519
786
|
</script>
|
520
787
|
</head>
|
@@ -533,7 +800,7 @@ footnotes: function () {
|
|
533
800
|
<div class="admonitionblock">
|
534
801
|
<table><tr>
|
535
802
|
<td class="icon">
|
536
|
-
<img src="./images/icons/tip.png" alt="Tip"
|
803
|
+
<img src="./images/icons/tip.png" alt="Tip">
|
537
804
|
</td>
|
538
805
|
<td class="content">It is strongly recommended that you first read our
|
539
806
|
<a href="Architectural%20overview.html">Architectural Overview</a>.</td>
|
@@ -680,7 +947,7 @@ i.e. it will use a password file for authorization.</p></div>
|
|
680
947
|
server. This spawn server is also responsible for preloading the Rails
|
681
948
|
framework and the Rails application code, in order to speed up the spawning
|
682
949
|
of Rails applications. See the design document of the spawn server for details.
|
683
|
-
The spawn server never calls <
|
950
|
+
The spawn server never calls <span class="monospaced">exec()</span>: doing so will make preloading useless.
|
684
951
|
If Passenger is to use a setuid $X wrapper, then it must start the spawn
|
685
952
|
server via the wrapper. The spawn server itself cannot use the wrapper.</p></div>
|
686
953
|
<div class="paragraph"><p>However, doing so will make preloading less efficient. Passenger will be forced
|
@@ -707,7 +974,7 @@ communicate with the spawn server via a non-anonymous channel, such as a named
|
|
707
974
|
Unix socket. Because other processes can access this channel, it can introduce
|
708
975
|
potential security problems. Note that passing information via program arguments
|
709
976
|
is not secure: it is possible to view that information with tools like <em>ps</em>,
|
710
|
-
or (on Linux) by reading the file <
|
977
|
+
or (on Linux) by reading the file <span class="monospaced">/proc/$PID/cmdline</span>.</p></div>
|
711
978
|
<div class="paragraph"><p>So it seems <em>sudo</em> is not a viable alternative.</p></div>
|
712
979
|
</div>
|
713
980
|
<div class="sect2">
|
@@ -759,7 +1026,7 @@ feel free to discuss it with us.</p></div>
|
|
759
1026
|
</div>
|
760
1027
|
</div>
|
761
1028
|
</div>
|
762
|
-
<div id="footnotes"><hr
|
1029
|
+
<div id="footnotes"><hr></div>
|
763
1030
|
<div id="footer">
|
764
1031
|
<div id="footer-text">
|
765
1032
|
Last updated 2010-09-25 20:09:08 CEST
|