passenger 5.0.4 → 5.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.
- checksums.yaml +8 -8
- checksums.yaml.gz.asc +7 -7
- data.tar.gz.asc +7 -7
- data/.editorconfig +10 -0
- data/CHANGELOG +21 -0
- data/build/agents.rb +2 -2
- data/build/apache2.rb +6 -5
- data/build/common_library.rb +22 -7
- data/build/cxx_tests.rb +0 -3
- data/build/misc.rb +1 -1
- data/dev/parse_file_descriptor_log +119 -0
- data/doc/CloudLicensingConfiguration.html +387 -0
- data/doc/Design and Architecture.html +2430 -0
- data/doc/Packaging.html +488 -0
- data/doc/Security of user switching support.html +1833 -0
- data/doc/ServerOptimizationGuide.html +659 -0
- data/doc/ServerOptimizationGuide.txt.md +8 -0
- data/doc/Users guide Apache.html +9116 -0
- data/doc/Users guide Apache.idmap.txt +6 -2
- data/doc/Users guide Apache.txt +26 -7
- data/doc/Users guide Nginx.html +9025 -0
- data/doc/Users guide Nginx.idmap.txt +7 -3
- data/doc/Users guide Nginx.txt +29 -6
- data/doc/Users guide Standalone.html +3983 -0
- data/doc/Users guide.html +1748 -0
- data/doc/users_guide_snippets/installation.txt +4 -4
- data/ext/apache2/Configuration.cpp +16 -5
- data/ext/apache2/Configuration.hpp +4 -2
- data/ext/apache2/Hooks.cpp +44 -19
- data/ext/boost/libs/thread/src/pthread/once.cpp +2 -0
- data/ext/boost/libs/thread/src/pthread/once_atomic.cpp +6 -0
- data/ext/common/AgentsStarter.h +3 -2
- data/ext/common/ApplicationPool2/DirectSpawner.h +14 -4
- data/ext/common/ApplicationPool2/DummySpawner.h +12 -7
- data/ext/common/ApplicationPool2/Implementation.cpp +1 -1
- data/ext/common/ApplicationPool2/Process.h +2 -1
- data/ext/common/ApplicationPool2/Session.h +6 -6
- data/ext/common/ApplicationPool2/SmartSpawner.h +19 -4
- data/ext/common/ApplicationPool2/Socket.h +59 -27
- data/ext/common/ApplicationPool2/Spawner.h +2 -2
- data/ext/common/BackgroundEventLoop.cpp +6 -1
- data/ext/common/Constants.h +1 -1
- data/ext/common/EventedClient.h +1 -1
- data/ext/common/EventedServer.h +2 -2
- data/ext/common/FileDescriptor.h +25 -6
- data/ext/common/Logging.cpp +107 -52
- data/ext/common/Logging.h +146 -19
- data/ext/common/MessageClient.h +2 -2
- data/ext/common/MessageServer.h +3 -2
- data/ext/common/RandomGenerator.h +8 -7
- data/ext/common/SafeLibev.h +5 -1
- data/ext/common/ServerKit/AcceptLoadBalancer.h +9 -4
- data/ext/common/ServerKit/FdSinkChannel.h +5 -2
- data/ext/common/ServerKit/FdSourceChannel.h +5 -2
- data/ext/common/ServerKit/FileBufferedChannel.h +2 -0
- data/ext/common/ServerKit/FileBufferedFdSinkChannel.h +7 -2
- data/ext/common/ServerKit/HttpServer.h +6 -0
- data/ext/common/ServerKit/Server.h +40 -3
- data/ext/common/StaticString.h +20 -0
- data/ext/common/UnionStation/Connection.h +3 -1
- data/ext/common/UnionStation/Core.h +6 -4
- data/ext/common/Utils.cpp +4 -3
- data/ext/common/Utils/DateParsing.h +19 -5
- data/ext/common/Utils/FastStringStream.h +183 -0
- data/ext/common/Utils/IOUtils.cpp +47 -28
- data/ext/common/Utils/IOUtils.h +56 -12
- data/ext/common/Utils/MessagePassing.h +3 -3
- data/ext/common/Utils/ProcessMetricsCollector.h +2 -2
- data/ext/common/Utils/ScopeGuard.h +16 -5
- data/ext/common/Utils/SpeedMeter.h +2 -2
- data/ext/common/Utils/StrIntUtils.cpp +6 -6
- data/ext/common/Utils/StrIntUtils.h +2 -1
- data/ext/common/agents/Base.cpp +56 -4
- data/ext/common/agents/Base.h +2 -1
- data/ext/common/agents/HelperAgent/AdminServer.h +122 -11
- data/ext/common/agents/HelperAgent/Main.cpp +16 -5
- data/ext/common/agents/HelperAgent/OptionParser.h +7 -1
- data/ext/common/agents/HelperAgent/RequestHandler.h +1 -1
- data/ext/common/agents/HelperAgent/RequestHandler/Hooks.cpp +10 -1
- data/ext/common/agents/HelperAgent/RequestHandler/Request.h +8 -0
- data/ext/common/agents/HelperAgent/RequestHandler/TurboCaching.h +4 -3
- data/ext/common/agents/LoggingAgent/AdminServer.h +57 -11
- data/ext/common/agents/LoggingAgent/LoggingServer.h +3 -3
- data/ext/common/agents/LoggingAgent/Main.cpp +11 -3
- data/ext/common/agents/Watchdog/AdminServer.h +53 -11
- data/ext/common/agents/Watchdog/AgentWatcher.cpp +3 -3
- data/ext/common/agents/Watchdog/Main.cpp +13 -6
- data/ext/libeio/ecb.h +1 -1
- data/ext/libev/ev.c +13 -1
- data/ext/libev/ev.h +3 -0
- data/ext/nginx/Configuration.c +28 -6
- data/ext/nginx/Configuration.h +2 -1
- data/ext/nginx/ngx_http_passenger_module.c +5 -4
- data/ext/oxt/dynamic_thread_group.hpp +38 -5
- data/lib/phusion_passenger.rb +1 -1
- data/lib/phusion_passenger/common_library.rb +9 -5
- data/lib/phusion_passenger/config/reopen_logs_command.rb +2 -2
- data/lib/phusion_passenger/packaging.rb +23 -37
- data/passenger.gemspec +21 -21
- metadata +4 -453
- metadata.gz.asc +7 -7
- data/.gitignore +0 -68
- data/.travis.yml +0 -16
- data/Gemfile +0 -17
- data/Gemfile.lock +0 -39
- data/Vagrantfile +0 -54
- data/debian.template/README.Debian +0 -15
- data/debian.template/changelog +0 -316
- data/debian.template/compat +0 -1
- data/debian.template/control.erb +0 -91
- data/debian.template/copyright +0 -385
- data/debian.template/libapache2-mod-passenger.install +0 -3
- data/debian.template/libapache2-mod-passenger.postinst +0 -36
- data/debian.template/libapache2-mod-passenger.prerm +0 -15
- data/debian.template/locations.ini.erb +0 -14
- data/debian.template/passenger-dev.install.erb +0 -3
- data/debian.template/passenger-doc.install.erb +0 -2
- data/debian.template/passenger.conf +0 -6
- data/debian.template/passenger.docs +0 -4
- data/debian.template/passenger.install.erb +0 -14
- data/debian.template/passenger.load +0 -3
- data/debian.template/passenger.manpages +0 -3
- data/debian.template/patches/series +0 -0
- data/debian.template/rules.erb +0 -76
- data/debian.template/source/format +0 -1
- data/ext/common/EventedBufferedInput.h +0 -458
- data/packaging/rpm/LICENSE.txt +0 -19
- data/packaging/rpm/Makefile +0 -13
- data/packaging/rpm/README.md +0 -41
- data/packaging/rpm/Vagrantfile +0 -38
- data/packaging/rpm/Vagrantfile.centos +0 -30
- data/packaging/rpm/build +0 -170
- data/packaging/rpm/create_project +0 -41
- data/packaging/rpm/git_update +0 -88
- data/packaging/rpm/image/Dockerfile +0 -37
- data/packaging/rpm/image/Gemfile +0 -3
- data/packaging/rpm/image/Gemfile.lock +0 -12
- data/packaging/rpm/image/RPM-GPG-KEY-amazon-ga +0 -19
- data/packaging/rpm/image/amazon2014-i386.cfg +0 -96
- data/packaging/rpm/image/amazon2014-x86_64.cfg +0 -96
- data/packaging/rpm/image/site-defaults.cfg +0 -168
- data/packaging/rpm/internal/build_tasks.rb +0 -238
- data/packaging/rpm/internal/dummygpg +0 -11
- data/packaging/rpm/internal/exec_build +0 -42
- data/packaging/rpm/internal/get_distro_arch +0 -14
- data/packaging/rpm/internal/get_distro_id +0 -10
- data/packaging/rpm/internal/git_update +0 -27
- data/packaging/rpm/internal/inituidgid +0 -17
- data/packaging/rpm/internal/my_init +0 -344
- data/packaging/rpm/internal/python27 +0 -3
- data/packaging/rpm/internal/repo_update +0 -46
- data/packaging/rpm/internal/setuser +0 -26
- data/packaging/rpm/internal/tracking_helper +0 -40
- data/packaging/rpm/jenkins_release +0 -99
- data/packaging/rpm/lib/build_tasks_support.rb +0 -402
- data/packaging/rpm/lib/preprocessor.rb +0 -341
- data/packaging/rpm/nginx_spec/404.html +0 -119
- data/packaging/rpm/nginx_spec/50x.html +0 -119
- data/packaging/rpm/nginx_spec/index.html +0 -116
- data/packaging/rpm/nginx_spec/nginx-auto-cc-gcc.patch +0 -13
- data/packaging/rpm/nginx_spec/nginx-logo.png +0 -0
- data/packaging/rpm/nginx_spec/nginx-upgrade +0 -13
- data/packaging/rpm/nginx_spec/nginx-upgrade.8 +0 -151
- data/packaging/rpm/nginx_spec/nginx.conf +0 -131
- data/packaging/rpm/nginx_spec/nginx.init +0 -144
- data/packaging/rpm/nginx_spec/nginx.logrotate +0 -13
- data/packaging/rpm/nginx_spec/nginx.service +0 -15
- data/packaging/rpm/nginx_spec/nginx.spec.template +0 -560
- data/packaging/rpm/nginx_spec/nginx.sysconfig +0 -4
- data/packaging/rpm/nginx_spec/passenger.conf +0 -9
- data/packaging/rpm/nginx_spec/poweredby.png +0 -0
- data/packaging/rpm/passenger_spec/apache-passenger.conf.in +0 -26
- data/packaging/rpm/passenger_spec/config.json +0 -30
- data/packaging/rpm/passenger_spec/passenger.logrotate +0 -7
- data/packaging/rpm/passenger_spec/passenger.spec.template +0 -478
- data/packaging/rpm/passenger_spec/passenger_dynamic_thread_group.patch +0 -16
- data/packaging/rpm/passenger_spec/passenger_tests_default_config_example.patch +0 -44
- data/packaging/rpm/passenger_spec/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch +0 -21
- data/packaging/rpm/repo_update +0 -114
- data/packaging/rpm/setup-system +0 -61
- data/packaging/rpm/shell +0 -10
- data/test/.rspec +0 -4
- data/test/config.json.example +0 -42
- data/test/config.json.rpm-automation +0 -15
- data/test/config.json.travis +0 -15
- data/test/config.json.vagrant +0 -30
- data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +0 -124
- data/test/cxx/ApplicationPool2/OptionsTest.cpp +0 -30
- data/test/cxx/ApplicationPool2/PoolTest.cpp +0 -2062
- data/test/cxx/ApplicationPool2/ProcessTest.cpp +0 -130
- data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +0 -243
- data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +0 -823
- data/test/cxx/BufferedIOTest.cpp +0 -364
- data/test/cxx/CachedFileStatTest.cpp +0 -402
- data/test/cxx/CxxTestMain.cpp +0 -181
- data/test/cxx/DataStructures/LStringTest.cpp +0 -275
- data/test/cxx/DataStructures/StringKeyTableTest.cpp +0 -199
- data/test/cxx/DateParsingTest.cpp +0 -75
- data/test/cxx/DechunkerTest.cpp +0 -250
- data/test/cxx/EventedBufferedInputTest.cpp +0 -758
- data/test/cxx/EventedClientTest.cpp +0 -523
- data/test/cxx/FileChangeCheckerTest.cpp +0 -331
- data/test/cxx/FileDescriptorTest.cpp +0 -69
- data/test/cxx/FilterSupportTest.cpp +0 -433
- data/test/cxx/IOUtilsTest.cpp +0 -861
- data/test/cxx/MemoryKit/MbufTest.cpp +0 -213
- data/test/cxx/MessageIOTest.cpp +0 -360
- data/test/cxx/MessagePassingTest.cpp +0 -81
- data/test/cxx/MessageReadersWritersTest.cpp +0 -576
- data/test/cxx/MessageServerTest.cpp +0 -393
- data/test/cxx/ProcessMetricsCollectorTest.cpp +0 -123
- data/test/cxx/RequestHandlerTest.cpp +0 -1463
- data/test/cxx/ResponseCacheTest.cpp +0 -322
- data/test/cxx/ServerKit/ChannelTest.cpp +0 -1467
- data/test/cxx/ServerKit/CookieUtilsTest.cpp +0 -274
- data/test/cxx/ServerKit/FileBufferedChannelTest.cpp +0 -992
- data/test/cxx/ServerKit/HeaderTableTest.cpp +0 -177
- data/test/cxx/ServerKit/HttpServerTest.cpp +0 -1580
- data/test/cxx/ServerKit/ServerTest.cpp +0 -408
- data/test/cxx/StaticStringTest.cpp +0 -220
- data/test/cxx/StringMapTest.cpp +0 -131
- data/test/cxx/SystemTimeTest.cpp +0 -37
- data/test/cxx/TemplateTest.cpp +0 -118
- data/test/cxx/TestSupport.cpp +0 -207
- data/test/cxx/TestSupport.h +0 -333
- data/test/cxx/UnionStationTest.cpp +0 -741
- data/test/cxx/Utils/StrIntUtilsTest.cpp +0 -39
- data/test/cxx/UtilsTest.cpp +0 -672
- data/test/cxx/VariantMapTest.cpp +0 -191
- data/test/gdbinit.example +0 -34
- data/test/integration_tests/apache2_tests.rb +0 -585
- data/test/integration_tests/downloaded_binaries_tests.rb +0 -185
- data/test/integration_tests/native_packaging_spec.rb +0 -368
- data/test/integration_tests/nginx_tests.rb +0 -402
- data/test/integration_tests/shared/example_webapp_tests.rb +0 -289
- data/test/integration_tests/source_packaging_test.rb +0 -201
- data/test/integration_tests/spec_helper.rb +0 -22
- data/test/integration_tests/standalone_tests.rb +0 -392
- data/test/node/line_reader_spec.js +0 -338
- data/test/node/spec_helper.js +0 -65
- data/test/oxt/backtrace_test.cpp +0 -88
- data/test/oxt/counter.hpp +0 -55
- data/test/oxt/dynamic_thread_group_test.cpp +0 -131
- data/test/oxt/oxt_test_main.cpp +0 -27
- data/test/oxt/spin_lock_test.cpp +0 -59
- data/test/oxt/syscall_interruption_test.cpp +0 -39
- data/test/ruby/debug_logging_spec.rb +0 -145
- data/test/ruby/message_channel_spec.rb +0 -196
- data/test/ruby/rack/loader_spec.rb +0 -42
- data/test/ruby/rack/preloader_spec.rb +0 -48
- data/test/ruby/rails3.0/loader_spec.rb +0 -26
- data/test/ruby/rails3.0/preloader_spec.rb +0 -32
- data/test/ruby/rails3.1/loader_spec.rb +0 -26
- data/test/ruby/rails3.1/preloader_spec.rb +0 -32
- data/test/ruby/rails3.2/loader_spec.rb +0 -26
- data/test/ruby/rails3.2/preloader_spec.rb +0 -32
- data/test/ruby/rails4.0/loader_spec.rb +0 -28
- data/test/ruby/rails4.0/preloader_spec.rb +0 -34
- data/test/ruby/rails4.1/loader_spec.rb +0 -28
- data/test/ruby/rails4.1/preloader_spec.rb +0 -34
- data/test/ruby/request_handler_spec.rb +0 -747
- data/test/ruby/shared/loader_sharedspec.rb +0 -247
- data/test/ruby/shared/rails/union_station_extensions_sharedspec.rb +0 -357
- data/test/ruby/shared/ruby_loader_sharedspec.rb +0 -55
- data/test/ruby/spec_helper.rb +0 -114
- data/test/ruby/standalone/runtime_installer_spec.rb +0 -402
- data/test/ruby/union_station_spec.rb +0 -288
- data/test/ruby/utils/file_system_watcher_spec.rb +0 -229
- data/test/ruby/utils/hosts_file_parser.rb +0 -258
- data/test/ruby/utils/tee_input_spec.rb +0 -235
- data/test/ruby/utils/unseekable_socket_spec.rb +0 -66
- data/test/ruby/utils_spec.rb +0 -41
- data/test/stub/apache2/httpd.conf.erb +0 -122
- data/test/stub/apache2/mime.types +0 -748
- data/test/stub/garbage1.dat +0 -0
- data/test/stub/garbage2.dat +0 -0
- data/test/stub/garbage3.dat +0 -0
- data/test/stub/http_request.yml +0 -23
- data/test/stub/index.html +0 -1
- data/test/stub/nginx/koi-utf +0 -109
- data/test/stub/nginx/koi-win +0 -103
- data/test/stub/nginx/mime.types +0 -70
- data/test/stub/nginx/nginx.conf.erb +0 -70
- data/test/stub/nginx/win-utf +0 -126
- data/test/stub/node/app.js +0 -133
- data/test/stub/node/public/.gitignore +0 -0
- data/test/stub/node/tmp/.gitignore +0 -0
- data/test/stub/rack/config.ru +0 -95
- data/test/stub/rack/library.rb +0 -16
- data/test/stub/rack/public/.gitignore +0 -0
- data/test/stub/rack/start.rb +0 -52
- data/test/stub/rack/tmp/.gitignore +0 -0
- data/test/stub/rails3.0/.gitignore +0 -4
- data/test/stub/rails3.0/Gemfile +0 -22
- data/test/stub/rails3.0/Gemfile.lock +0 -80
- data/test/stub/rails3.0/Rakefile +0 -10
- data/test/stub/rails3.0/app/controllers/application_controller.rb +0 -4
- data/test/stub/rails3.0/app/helpers/application_helper.rb +0 -2
- data/test/stub/rails3.0/app/views/layouts/application.html.erb +0 -14
- data/test/stub/rails3.0/config.ru +0 -4
- data/test/stub/rails3.0/config/application.rb +0 -48
- data/test/stub/rails3.0/config/boot.rb +0 -13
- data/test/stub/rails3.0/config/database.yml +0 -22
- data/test/stub/rails3.0/config/environment.rb +0 -5
- data/test/stub/rails3.0/config/environments/development.rb +0 -19
- data/test/stub/rails3.0/config/environments/production.rb +0 -48
- data/test/stub/rails3.0/config/environments/test.rb +0 -32
- data/test/stub/rails3.0/config/initializers/backtrace_silencers.rb +0 -7
- data/test/stub/rails3.0/config/initializers/inflections.rb +0 -10
- data/test/stub/rails3.0/config/initializers/mime_types.rb +0 -5
- data/test/stub/rails3.0/config/initializers/passenger.rb +0 -2
- data/test/stub/rails3.0/config/initializers/secret_token.rb +0 -7
- data/test/stub/rails3.0/config/initializers/session_store.rb +0 -8
- data/test/stub/rails3.0/config/locales/en.yml +0 -5
- data/test/stub/rails3.0/config/routes.rb +0 -58
- data/test/stub/rails3.0/db/seeds.rb +0 -7
- data/test/stub/rails3.0/doc/README_FOR_APP +0 -2
- data/test/stub/rails3.0/lib/tasks/.gitkeep +0 -0
- data/test/stub/rails3.0/log/.gitignore +0 -0
- data/test/stub/rails3.0/public/404.html +0 -26
- data/test/stub/rails3.0/public/422.html +0 -26
- data/test/stub/rails3.0/public/500.html +0 -26
- data/test/stub/rails3.0/public/favicon.ico +0 -0
- data/test/stub/rails3.0/public/index.html +0 -279
- data/test/stub/rails3.0/public/robots.txt +0 -5
- data/test/stub/rails3.0/public/stylesheets/.gitkeep +0 -0
- data/test/stub/rails3.0/script/rails +0 -9
- data/test/stub/rails3.0/test/performance/browsing_test.rb +0 -9
- data/test/stub/rails3.0/test/test_helper.rb +0 -13
- data/test/stub/rails3.0/vendor/plugins/.gitkeep +0 -0
- data/test/stub/rails3.1/.gitignore +0 -15
- data/test/stub/rails3.1/Gemfile +0 -37
- data/test/stub/rails3.1/Gemfile.lock +0 -115
- data/test/stub/rails3.1/README +0 -261
- data/test/stub/rails3.1/Rakefile +0 -7
- data/test/stub/rails3.1/app/assets/images/rails.png +0 -0
- data/test/stub/rails3.1/app/assets/stylesheets/application.css +0 -7
- data/test/stub/rails3.1/app/controllers/application_controller.rb +0 -3
- data/test/stub/rails3.1/app/helpers/application_helper.rb +0 -2
- data/test/stub/rails3.1/app/mailers/.gitkeep +0 -0
- data/test/stub/rails3.1/app/models/.gitkeep +0 -0
- data/test/stub/rails3.1/app/views/layouts/application.html.erb +0 -14
- data/test/stub/rails3.1/config.ru +0 -4
- data/test/stub/rails3.1/config/application.rb +0 -48
- data/test/stub/rails3.1/config/boot.rb +0 -6
- data/test/stub/rails3.1/config/database.yml +0 -25
- data/test/stub/rails3.1/config/environment.rb +0 -5
- data/test/stub/rails3.1/config/environments/development.rb +0 -30
- data/test/stub/rails3.1/config/environments/production.rb +0 -60
- data/test/stub/rails3.1/config/environments/test.rb +0 -39
- data/test/stub/rails3.1/config/initializers/backtrace_silencers.rb +0 -7
- data/test/stub/rails3.1/config/initializers/inflections.rb +0 -10
- data/test/stub/rails3.1/config/initializers/mime_types.rb +0 -5
- data/test/stub/rails3.1/config/initializers/passenger.rb +0 -2
- data/test/stub/rails3.1/config/initializers/secret_token.rb +0 -7
- data/test/stub/rails3.1/config/initializers/session_store.rb +0 -8
- data/test/stub/rails3.1/config/initializers/wrap_parameters.rb +0 -14
- data/test/stub/rails3.1/config/locales/en.yml +0 -5
- data/test/stub/rails3.1/config/routes.rb +0 -58
- data/test/stub/rails3.1/db/seeds.rb +0 -7
- data/test/stub/rails3.1/doc/README_FOR_APP +0 -2
- data/test/stub/rails3.1/lib/assets/.gitkeep +0 -0
- data/test/stub/rails3.1/lib/tasks/.gitkeep +0 -0
- data/test/stub/rails3.1/log/.gitkeep +0 -0
- data/test/stub/rails3.1/public/404.html +0 -26
- data/test/stub/rails3.1/public/422.html +0 -26
- data/test/stub/rails3.1/public/500.html +0 -26
- data/test/stub/rails3.1/public/favicon.ico +0 -0
- data/test/stub/rails3.1/public/index.html +0 -241
- data/test/stub/rails3.1/public/robots.txt +0 -5
- data/test/stub/rails3.1/script/rails +0 -6
- data/test/stub/rails3.1/test/fixtures/.gitkeep +0 -0
- data/test/stub/rails3.1/test/functional/.gitkeep +0 -0
- data/test/stub/rails3.1/test/integration/.gitkeep +0 -0
- data/test/stub/rails3.1/test/performance/browsing_test.rb +0 -12
- data/test/stub/rails3.1/test/test_helper.rb +0 -13
- data/test/stub/rails3.1/test/unit/.gitkeep +0 -0
- data/test/stub/rails3.1/vendor/assets/stylesheets/.gitkeep +0 -0
- data/test/stub/rails3.1/vendor/plugins/.gitkeep +0 -0
- data/test/stub/rails3.2/.gitignore +0 -15
- data/test/stub/rails3.2/Gemfile +0 -39
- data/test/stub/rails3.2/Gemfile.lock +0 -113
- data/test/stub/rails3.2/Rakefile +0 -7
- data/test/stub/rails3.2/app/assets/images/rails.png +0 -0
- data/test/stub/rails3.2/app/assets/stylesheets/application.css +0 -13
- data/test/stub/rails3.2/app/controllers/application_controller.rb +0 -3
- data/test/stub/rails3.2/app/helpers/application_helper.rb +0 -2
- data/test/stub/rails3.2/app/mailers/.gitkeep +0 -0
- data/test/stub/rails3.2/app/models/.gitkeep +0 -0
- data/test/stub/rails3.2/app/views/layouts/application.html.erb +0 -14
- data/test/stub/rails3.2/config.ru +0 -4
- data/test/stub/rails3.2/config/application.rb +0 -62
- data/test/stub/rails3.2/config/boot.rb +0 -6
- data/test/stub/rails3.2/config/database.yml +0 -25
- data/test/stub/rails3.2/config/environment.rb +0 -5
- data/test/stub/rails3.2/config/environments/development.rb +0 -37
- data/test/stub/rails3.2/config/environments/production.rb +0 -67
- data/test/stub/rails3.2/config/environments/test.rb +0 -37
- data/test/stub/rails3.2/config/initializers/backtrace_silencers.rb +0 -7
- data/test/stub/rails3.2/config/initializers/inflections.rb +0 -15
- data/test/stub/rails3.2/config/initializers/mime_types.rb +0 -5
- data/test/stub/rails3.2/config/initializers/passenger.rb +0 -2
- data/test/stub/rails3.2/config/initializers/secret_token.rb +0 -7
- data/test/stub/rails3.2/config/initializers/session_store.rb +0 -8
- data/test/stub/rails3.2/config/initializers/wrap_parameters.rb +0 -14
- data/test/stub/rails3.2/config/locales/en.yml +0 -5
- data/test/stub/rails3.2/config/routes.rb +0 -58
- data/test/stub/rails3.2/db/seeds.rb +0 -7
- data/test/stub/rails3.2/doc/README_FOR_APP +0 -2
- data/test/stub/rails3.2/lib/assets/.gitkeep +0 -0
- data/test/stub/rails3.2/lib/tasks/.gitkeep +0 -0
- data/test/stub/rails3.2/log/.gitkeep +0 -0
- data/test/stub/rails3.2/public/404.html +0 -26
- data/test/stub/rails3.2/public/422.html +0 -26
- data/test/stub/rails3.2/public/500.html +0 -25
- data/test/stub/rails3.2/public/favicon.ico +0 -0
- data/test/stub/rails3.2/public/index.html +0 -241
- data/test/stub/rails3.2/public/robots.txt +0 -5
- data/test/stub/rails3.2/script/rails +0 -6
- data/test/stub/rails3.2/test/fixtures/.gitkeep +0 -0
- data/test/stub/rails3.2/test/functional/.gitkeep +0 -0
- data/test/stub/rails3.2/test/integration/.gitkeep +0 -0
- data/test/stub/rails3.2/test/performance/browsing_test.rb +0 -12
- data/test/stub/rails3.2/test/test_helper.rb +0 -13
- data/test/stub/rails3.2/test/unit/.gitkeep +0 -0
- data/test/stub/rails3.2/vendor/assets/stylesheets/.gitkeep +0 -0
- data/test/stub/rails3.2/vendor/plugins/.gitkeep +0 -0
- data/test/stub/rails4.0/.gitignore +0 -16
- data/test/stub/rails4.0/Gemfile +0 -45
- data/test/stub/rails4.0/Gemfile.lock +0 -126
- data/test/stub/rails4.0/README.rdoc +0 -28
- data/test/stub/rails4.0/Rakefile +0 -6
- data/test/stub/rails4.0/app/assets/images/.keep +0 -0
- data/test/stub/rails4.0/app/assets/javascripts/application.js +0 -16
- data/test/stub/rails4.0/app/assets/stylesheets/application.css +0 -13
- data/test/stub/rails4.0/app/controllers/application_controller.rb +0 -5
- data/test/stub/rails4.0/app/controllers/concerns/.keep +0 -0
- data/test/stub/rails4.0/app/helpers/application_helper.rb +0 -2
- data/test/stub/rails4.0/app/mailers/.keep +0 -0
- data/test/stub/rails4.0/app/models/.keep +0 -0
- data/test/stub/rails4.0/app/models/concerns/.keep +0 -0
- data/test/stub/rails4.0/app/views/layouts/application.html.erb +0 -14
- data/test/stub/rails4.0/bin/bundle +0 -3
- data/test/stub/rails4.0/bin/rails +0 -4
- data/test/stub/rails4.0/bin/rake +0 -4
- data/test/stub/rails4.0/config.ru +0 -4
- data/test/stub/rails4.0/config/application.rb +0 -23
- data/test/stub/rails4.0/config/boot.rb +0 -4
- data/test/stub/rails4.0/config/database.yml +0 -25
- data/test/stub/rails4.0/config/environment.rb +0 -5
- data/test/stub/rails4.0/config/environments/development.rb +0 -29
- data/test/stub/rails4.0/config/environments/production.rb +0 -80
- data/test/stub/rails4.0/config/environments/test.rb +0 -36
- data/test/stub/rails4.0/config/initializers/backtrace_silencers.rb +0 -7
- data/test/stub/rails4.0/config/initializers/filter_parameter_logging.rb +0 -4
- data/test/stub/rails4.0/config/initializers/inflections.rb +0 -16
- data/test/stub/rails4.0/config/initializers/mime_types.rb +0 -5
- data/test/stub/rails4.0/config/initializers/passenger.rb +0 -2
- data/test/stub/rails4.0/config/initializers/secret_token.rb +0 -12
- data/test/stub/rails4.0/config/initializers/session_store.rb +0 -3
- data/test/stub/rails4.0/config/initializers/wrap_parameters.rb +0 -14
- data/test/stub/rails4.0/config/locales/en.yml +0 -23
- data/test/stub/rails4.0/config/routes.rb +0 -57
- data/test/stub/rails4.0/db/seeds.rb +0 -7
- data/test/stub/rails4.0/lib/assets/.keep +0 -0
- data/test/stub/rails4.0/lib/tasks/.keep +0 -0
- data/test/stub/rails4.0/log/.keep +0 -0
- data/test/stub/rails4.0/public/404.html +0 -58
- data/test/stub/rails4.0/public/422.html +0 -58
- data/test/stub/rails4.0/public/500.html +0 -57
- data/test/stub/rails4.0/public/favicon.ico +0 -0
- data/test/stub/rails4.0/public/robots.txt +0 -5
- data/test/stub/rails4.0/test/controllers/.keep +0 -0
- data/test/stub/rails4.0/test/fixtures/.keep +0 -0
- data/test/stub/rails4.0/test/helpers/.keep +0 -0
- data/test/stub/rails4.0/test/integration/.keep +0 -0
- data/test/stub/rails4.0/test/mailers/.keep +0 -0
- data/test/stub/rails4.0/test/models/.keep +0 -0
- data/test/stub/rails4.0/test/test_helper.rb +0 -15
- data/test/stub/rails4.0/vendor/assets/javascripts/.keep +0 -0
- data/test/stub/rails4.0/vendor/assets/stylesheets/.keep +0 -0
- data/test/stub/rails4.1/.gitignore +0 -16
- data/test/stub/rails4.1/Gemfile +0 -45
- data/test/stub/rails4.1/Gemfile.lock +0 -129
- data/test/stub/rails4.1/README.rdoc +0 -28
- data/test/stub/rails4.1/Rakefile +0 -6
- data/test/stub/rails4.1/app/assets/images/.keep +0 -0
- data/test/stub/rails4.1/app/assets/javascripts/application.js +0 -16
- data/test/stub/rails4.1/app/assets/stylesheets/application.css +0 -13
- data/test/stub/rails4.1/app/controllers/application_controller.rb +0 -5
- data/test/stub/rails4.1/app/controllers/concerns/.keep +0 -0
- data/test/stub/rails4.1/app/helpers/application_helper.rb +0 -2
- data/test/stub/rails4.1/app/mailers/.keep +0 -0
- data/test/stub/rails4.1/app/models/.keep +0 -0
- data/test/stub/rails4.1/app/models/concerns/.keep +0 -0
- data/test/stub/rails4.1/app/views/layouts/application.html.erb +0 -14
- data/test/stub/rails4.1/bin/bundle +0 -3
- data/test/stub/rails4.1/bin/rails +0 -4
- data/test/stub/rails4.1/bin/rake +0 -4
- data/test/stub/rails4.1/config.ru +0 -4
- data/test/stub/rails4.1/config/application.rb +0 -23
- data/test/stub/rails4.1/config/boot.rb +0 -4
- data/test/stub/rails4.1/config/database.yml +0 -25
- data/test/stub/rails4.1/config/environment.rb +0 -5
- data/test/stub/rails4.1/config/environments/development.rb +0 -29
- data/test/stub/rails4.1/config/environments/production.rb +0 -80
- data/test/stub/rails4.1/config/environments/test.rb +0 -36
- data/test/stub/rails4.1/config/initializers/backtrace_silencers.rb +0 -7
- data/test/stub/rails4.1/config/initializers/filter_parameter_logging.rb +0 -4
- data/test/stub/rails4.1/config/initializers/inflections.rb +0 -16
- data/test/stub/rails4.1/config/initializers/mime_types.rb +0 -5
- data/test/stub/rails4.1/config/initializers/passenger.rb +0 -5
- data/test/stub/rails4.1/config/initializers/secret_token.rb +0 -12
- data/test/stub/rails4.1/config/initializers/session_store.rb +0 -3
- data/test/stub/rails4.1/config/initializers/wrap_parameters.rb +0 -14
- data/test/stub/rails4.1/config/locales/en.yml +0 -23
- data/test/stub/rails4.1/config/routes.rb +0 -57
- data/test/stub/rails4.1/db/seeds.rb +0 -7
- data/test/stub/rails4.1/lib/assets/.keep +0 -0
- data/test/stub/rails4.1/lib/tasks/.keep +0 -0
- data/test/stub/rails4.1/log/.keep +0 -0
- data/test/stub/rails4.1/public/404.html +0 -58
- data/test/stub/rails4.1/public/422.html +0 -58
- data/test/stub/rails4.1/public/500.html +0 -57
- data/test/stub/rails4.1/public/favicon.ico +0 -0
- data/test/stub/rails4.1/public/robots.txt +0 -5
- data/test/stub/rails4.1/test/controllers/.keep +0 -0
- data/test/stub/rails4.1/test/fixtures/.keep +0 -0
- data/test/stub/rails4.1/test/helpers/.keep +0 -0
- data/test/stub/rails4.1/test/integration/.keep +0 -0
- data/test/stub/rails4.1/test/mailers/.keep +0 -0
- data/test/stub/rails4.1/test/models/.keep +0 -0
- data/test/stub/rails4.1/test/test_helper.rb +0 -15
- data/test/stub/rails4.1/vendor/assets/javascripts/.keep +0 -0
- data/test/stub/rails4.1/vendor/assets/stylesheets/.keep +0 -0
- data/test/stub/start_error.pl +0 -24
- data/test/stub/upload_data.txt +0 -494
- data/test/stub/wsgi/passenger_wsgi.py +0 -212
- data/test/stub/wsgi/public/.gitignore +0 -0
- data/test/stub/wsgi/tmp/.gitignore +0 -0
- data/test/support/allocate_memory.c +0 -14
- data/test/support/apache2_controller.rb +0 -258
- data/test/support/multipart.rb +0 -62
- data/test/support/nginx_controller.rb +0 -97
- data/test/support/placebo-preloader.rb +0 -88
- data/test/support/test_helper.rb +0 -455
- data/test/support/valgrind.h +0 -2539
- data/test/tut/tut.h +0 -1310
- data/test/tut/tut_reporter.h +0 -256
- data/test/valgrind-osx.supp +0 -7
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2010-
|
3
|
+
* Copyright (c) 2010-2015 Phusion
|
4
4
|
*
|
5
5
|
* "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
|
6
6
|
*
|
@@ -233,18 +233,20 @@ resolveHostname(const string &hostname, unsigned int port, bool shuffle) {
|
|
233
233
|
}
|
234
234
|
|
235
235
|
int
|
236
|
-
createServer(const StaticString &address, unsigned int backlogSize, bool autoDelete
|
236
|
+
createServer(const StaticString &address, unsigned int backlogSize, bool autoDelete,
|
237
|
+
const char *file, unsigned int line)
|
238
|
+
{
|
237
239
|
TRACE_POINT();
|
238
240
|
switch (getSocketAddressType(address)) {
|
239
241
|
case SAT_UNIX:
|
240
242
|
return createUnixServer(parseUnixSocketAddress(address),
|
241
|
-
backlogSize, autoDelete);
|
243
|
+
backlogSize, autoDelete, file, line);
|
242
244
|
case SAT_TCP: {
|
243
245
|
string host;
|
244
246
|
unsigned short port;
|
245
247
|
|
246
248
|
parseTcpSocketAddress(address, host, port);
|
247
|
-
return createTcpServer(host.c_str(), port, backlogSize);
|
249
|
+
return createTcpServer(host.c_str(), port, backlogSize, file, line);
|
248
250
|
}
|
249
251
|
default:
|
250
252
|
throw ArgumentException(string("Unknown address type for '") + address + "'");
|
@@ -252,7 +254,9 @@ createServer(const StaticString &address, unsigned int backlogSize, bool autoDel
|
|
252
254
|
}
|
253
255
|
|
254
256
|
int
|
255
|
-
createUnixServer(const StaticString &filename, unsigned int backlogSize, bool autoDelete
|
257
|
+
createUnixServer(const StaticString &filename, unsigned int backlogSize, bool autoDelete,
|
258
|
+
const char *file, unsigned int line)
|
259
|
+
{
|
256
260
|
struct sockaddr_un addr;
|
257
261
|
int fd, ret;
|
258
262
|
|
@@ -269,7 +273,7 @@ createUnixServer(const StaticString &filename, unsigned int backlogSize, bool au
|
|
269
273
|
throw SystemException("Cannot create a Unix socket file descriptor", e);
|
270
274
|
}
|
271
275
|
|
272
|
-
FdGuard guard(fd, true);
|
276
|
+
FdGuard guard(fd, file, line, true);
|
273
277
|
addr.sun_family = AF_LOCAL;
|
274
278
|
strncpy(addr.sun_path, filename.c_str(), filename.size());
|
275
279
|
addr.sun_path[filename.size()] = '\0';
|
@@ -307,7 +311,9 @@ createUnixServer(const StaticString &filename, unsigned int backlogSize, bool au
|
|
307
311
|
}
|
308
312
|
|
309
313
|
int
|
310
|
-
createTcpServer(const char *address, unsigned short port, unsigned int backlogSize
|
314
|
+
createTcpServer(const char *address, unsigned short port, unsigned int backlogSize,
|
315
|
+
const char *file, unsigned int line)
|
316
|
+
{
|
311
317
|
struct sockaddr_in addr;
|
312
318
|
int fd, ret, optval;
|
313
319
|
|
@@ -334,7 +340,7 @@ createTcpServer(const char *address, unsigned short port, unsigned int backlogSi
|
|
334
340
|
throw SystemException("Cannot create a TCP socket file descriptor", e);
|
335
341
|
}
|
336
342
|
|
337
|
-
FdGuard guard(fd, true);
|
343
|
+
FdGuard guard(fd, file, line, true);
|
338
344
|
ret = syscalls::bind(fd, (const struct sockaddr *) &addr, sizeof(addr));
|
339
345
|
if (ret == -1) {
|
340
346
|
int e = errno;
|
@@ -372,17 +378,17 @@ createTcpServer(const char *address, unsigned short port, unsigned int backlogSi
|
|
372
378
|
}
|
373
379
|
|
374
380
|
int
|
375
|
-
connectToServer(const StaticString &address) {
|
381
|
+
connectToServer(const StaticString &address, const char *file, unsigned int line) {
|
376
382
|
TRACE_POINT();
|
377
383
|
switch (getSocketAddressType(address)) {
|
378
384
|
case SAT_UNIX:
|
379
|
-
return connectToUnixServer(parseUnixSocketAddress(address));
|
385
|
+
return connectToUnixServer(parseUnixSocketAddress(address), file, line);
|
380
386
|
case SAT_TCP: {
|
381
387
|
string host;
|
382
388
|
unsigned short port;
|
383
389
|
|
384
390
|
parseTcpSocketAddress(address, host, port);
|
385
|
-
return connectToTcpServer(host, port);
|
391
|
+
return connectToTcpServer(host, port, file, line);
|
386
392
|
}
|
387
393
|
default:
|
388
394
|
throw ArgumentException(string("Unknown address type for '") + address + "'");
|
@@ -390,14 +396,16 @@ connectToServer(const StaticString &address) {
|
|
390
396
|
}
|
391
397
|
|
392
398
|
int
|
393
|
-
connectToUnixServer(const StaticString &filename
|
399
|
+
connectToUnixServer(const StaticString &filename, const char *file,
|
400
|
+
unsigned int line)
|
401
|
+
{
|
394
402
|
int fd = syscalls::socket(PF_UNIX, SOCK_STREAM, 0);
|
395
403
|
if (fd == -1) {
|
396
404
|
int e = errno;
|
397
405
|
throw SystemException("Cannot create a Unix socket file descriptor", e);
|
398
406
|
}
|
399
407
|
|
400
|
-
FdGuard guard(fd, true);
|
408
|
+
FdGuard guard(fd, file, line, true);
|
401
409
|
int ret;
|
402
410
|
struct sockaddr_un addr;
|
403
411
|
|
@@ -449,8 +457,10 @@ connectToUnixServer(const StaticString &filename) {
|
|
449
457
|
}
|
450
458
|
|
451
459
|
void
|
452
|
-
setupNonBlockingUnixSocket(NUnix_State &state, const StaticString &filename
|
453
|
-
|
460
|
+
setupNonBlockingUnixSocket(NUnix_State &state, const StaticString &filename,
|
461
|
+
const char *file, unsigned int line)
|
462
|
+
{
|
463
|
+
state.fd.assign(syscalls::socket(PF_UNIX, SOCK_STREAM, 0), file, line);
|
454
464
|
if (state.fd == -1) {
|
455
465
|
int e = errno;
|
456
466
|
throw SystemException("Cannot create a Unix socket file descriptor", e);
|
@@ -494,7 +504,9 @@ connectToUnixServer(NUnix_State &state) {
|
|
494
504
|
}
|
495
505
|
|
496
506
|
int
|
497
|
-
connectToTcpServer(const StaticString &hostname, unsigned int port
|
507
|
+
connectToTcpServer(const StaticString &hostname, unsigned int port,
|
508
|
+
const char *file, unsigned int line)
|
509
|
+
{
|
498
510
|
struct addrinfo hints, *res;
|
499
511
|
int ret, e, fd;
|
500
512
|
|
@@ -543,11 +555,15 @@ connectToTcpServer(const StaticString &hostname, unsigned int port) {
|
|
543
555
|
throw SystemException(message, e);
|
544
556
|
}
|
545
557
|
|
558
|
+
P_LOG_FILE_DESCRIPTOR_OPEN3(fd, file, line);
|
559
|
+
|
546
560
|
return fd;
|
547
561
|
}
|
548
562
|
|
549
563
|
void
|
550
|
-
setupNonBlockingTcpSocket(NTCP_State &state, const StaticString &hostname, int port
|
564
|
+
setupNonBlockingTcpSocket(NTCP_State &state, const StaticString &hostname, int port,
|
565
|
+
const char *file, unsigned int line)
|
566
|
+
{
|
551
567
|
int ret;
|
552
568
|
|
553
569
|
memset(&state.hints, 0, sizeof(state.hints));
|
@@ -565,7 +581,7 @@ setupNonBlockingTcpSocket(NTCP_State &state, const StaticString &hostname, int p
|
|
565
581
|
throw IOException(message);
|
566
582
|
}
|
567
583
|
|
568
|
-
state.fd
|
584
|
+
state.fd.assign(syscalls::socket(PF_INET, SOCK_STREAM, 0), file, line);
|
569
585
|
if (state.fd == -1) {
|
570
586
|
int e = errno;
|
571
587
|
throw SystemException("Cannot create a TCP socket file descriptor", e);
|
@@ -605,19 +621,22 @@ connectToTcpServer(NTCP_State &state) {
|
|
605
621
|
}
|
606
622
|
|
607
623
|
void
|
608
|
-
setupNonBlockingSocket(NConnect_State &state, const StaticString &address
|
624
|
+
setupNonBlockingSocket(NConnect_State &state, const StaticString &address,
|
625
|
+
const char *file, unsigned int line)
|
626
|
+
{
|
609
627
|
TRACE_POINT();
|
610
628
|
state.type = getSocketAddressType(address);
|
611
629
|
switch (state.type) {
|
612
630
|
case SAT_UNIX:
|
613
|
-
setupNonBlockingUnixSocket(state.s_unix, parseUnixSocketAddress(address)
|
631
|
+
setupNonBlockingUnixSocket(state.s_unix, parseUnixSocketAddress(address),
|
632
|
+
file, line);
|
614
633
|
break;
|
615
634
|
case SAT_TCP: {
|
616
635
|
string host;
|
617
636
|
unsigned short port;
|
618
637
|
|
619
638
|
parseTcpSocketAddress(address, host, port);
|
620
|
-
setupNonBlockingTcpSocket(state.s_tcp, host, port);
|
639
|
+
setupNonBlockingTcpSocket(state.s_tcp, host, port, file, line);
|
621
640
|
break;
|
622
641
|
}
|
623
642
|
default:
|
@@ -638,7 +657,7 @@ connectToServer(NConnect_State &state) {
|
|
638
657
|
}
|
639
658
|
|
640
659
|
SocketPair
|
641
|
-
createUnixSocketPair() {
|
660
|
+
createUnixSocketPair(const char *file, unsigned int line) {
|
642
661
|
int fds[2];
|
643
662
|
FileDescriptor sockets[2];
|
644
663
|
|
@@ -646,14 +665,14 @@ createUnixSocketPair() {
|
|
646
665
|
int e = errno;
|
647
666
|
throw SystemException("Cannot create a Unix socket pair", e);
|
648
667
|
} else {
|
649
|
-
sockets[0]
|
650
|
-
sockets[1]
|
668
|
+
sockets[0].assign(fds[0], file, line);
|
669
|
+
sockets[1].assign(fds[1], file, line);
|
651
670
|
return SocketPair(sockets[0], sockets[1]);
|
652
671
|
}
|
653
672
|
}
|
654
673
|
|
655
674
|
Pipe
|
656
|
-
createPipe() {
|
675
|
+
createPipe(const char *file, unsigned int line) {
|
657
676
|
int fds[2];
|
658
677
|
FileDescriptor p[2];
|
659
678
|
|
@@ -661,8 +680,8 @@ createPipe() {
|
|
661
680
|
int e = errno;
|
662
681
|
throw SystemException("Cannot create a pipe", e);
|
663
682
|
} else {
|
664
|
-
p[0]
|
665
|
-
p[1]
|
683
|
+
p[0].assign(fds[0], file, line);
|
684
|
+
p[1].assign(fds[1], file, line);
|
666
685
|
return Pipe(p[0], p[1]);
|
667
686
|
}
|
668
687
|
}
|
@@ -1151,7 +1170,7 @@ string
|
|
1151
1170
|
readAll(const string &filename) {
|
1152
1171
|
FILE *f = fopen(filename.c_str(), "rb");
|
1153
1172
|
if (f != NULL) {
|
1154
|
-
StdioGuard guard(f);
|
1173
|
+
StdioGuard guard(f, NULL, 0);
|
1155
1174
|
return readAll(fileno(f));
|
1156
1175
|
} else {
|
1157
1176
|
int e = errno;
|
data/ext/common/Utils/IOUtils.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2010 Phusion
|
3
|
+
* Copyright (c) 2010-2015 Phusion
|
4
4
|
*
|
5
5
|
* "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
|
6
6
|
*
|
@@ -135,6 +135,9 @@ vector<string> resolveHostname(const string &hostname,
|
|
135
135
|
* @param autoDelete If <tt>address</tt> is a Unix socket that already exists,
|
136
136
|
* whether that should be deleted. Otherwise this argument
|
137
137
|
* is ignored.
|
138
|
+
* @param file The name of the source file that called this function,
|
139
|
+
* for file descriptor logging purposes.
|
140
|
+
* @param line The line in the source file that called this function.
|
138
141
|
* @return The file descriptor of the newly created server socket.
|
139
142
|
* @throws ArgumentException The given address cannot be parsed.
|
140
143
|
* @throws RuntimeException Something went wrong.
|
@@ -144,7 +147,9 @@ vector<string> resolveHostname(const string &hostname,
|
|
144
147
|
*/
|
145
148
|
int createServer(const StaticString &address,
|
146
149
|
unsigned int backlogSize = 0,
|
147
|
-
bool autoDelete = true
|
150
|
+
bool autoDelete = true,
|
151
|
+
const char *file = __FILE__,
|
152
|
+
unsigned int line = __LINE__);
|
148
153
|
|
149
154
|
/**
|
150
155
|
* Create a new Unix server socket which is bounded to <tt>filename</tt>.
|
@@ -153,6 +158,9 @@ int createServer(const StaticString &address,
|
|
153
158
|
* @param backlogSize The size of the socket's backlog. Specify 0 to use the
|
154
159
|
* platform's maximum allowed backlog size.
|
155
160
|
* @param autoDelete Whether <tt>filename</tt> should be deleted, if it already exists.
|
161
|
+
* @param file The name of the source file that called this function,
|
162
|
+
* for file descriptor logging purposes.
|
163
|
+
* @param line The line in the source file that called this function.
|
156
164
|
* @return The file descriptor of the newly created Unix server socket.
|
157
165
|
* @throws RuntimeException Something went wrong.
|
158
166
|
* @throws SystemException Something went wrong while creating the Unix server socket.
|
@@ -161,7 +169,9 @@ int createServer(const StaticString &address,
|
|
161
169
|
*/
|
162
170
|
int createUnixServer(const StaticString &filename,
|
163
171
|
unsigned int backlogSize = 0,
|
164
|
-
bool autoDelete = true
|
172
|
+
bool autoDelete = true,
|
173
|
+
const char *file = __FILE__,
|
174
|
+
unsigned int line = __LINE__);
|
165
175
|
|
166
176
|
/**
|
167
177
|
* Create a new TCP server socket which is bounded to the given address and port.
|
@@ -172,6 +182,9 @@ int createUnixServer(const StaticString &filename,
|
|
172
182
|
* select a free port.
|
173
183
|
* @param backlogSize The size of the socket's backlog. Specify 0 to use the
|
174
184
|
* platform's maximum allowed backlog size.
|
185
|
+
* @param file The name of the source file that called this function,
|
186
|
+
* for file descriptor logging purposes.
|
187
|
+
* @param line The line in the source file that called this function.
|
175
188
|
* @return The file descriptor of the newly created server socket.
|
176
189
|
* @throws SystemException Something went wrong while creating the server socket.
|
177
190
|
* @throws ArgumentException The given address cannot be parsed.
|
@@ -180,12 +193,17 @@ int createUnixServer(const StaticString &filename,
|
|
180
193
|
*/
|
181
194
|
int createTcpServer(const char *address = "0.0.0.0",
|
182
195
|
unsigned short port = 0,
|
183
|
-
unsigned int backlogSize = 0
|
196
|
+
unsigned int backlogSize = 0,
|
197
|
+
const char *file = __FILE__,
|
198
|
+
unsigned int line = __LINE__);
|
184
199
|
|
185
200
|
/**
|
186
201
|
* Connect to a server at the given address in a blocking manner.
|
187
202
|
*
|
188
203
|
* @param address An address as accepted by getSocketAddressType().
|
204
|
+
* @param file The name of the source file that called this function,
|
205
|
+
* for file descriptor logging purposes.
|
206
|
+
* @param line The line in the source file that called this function.
|
189
207
|
* @return The file descriptor of the connected client socket.
|
190
208
|
* @throws ArgumentException Unknown address type.
|
191
209
|
* @throws RuntimeException Something went wrong.
|
@@ -194,32 +212,41 @@ int createTcpServer(const char *address = "0.0.0.0",
|
|
194
212
|
* @throws boost::thread_interrupted A system call has been interrupted.
|
195
213
|
* @ingroup Support
|
196
214
|
*/
|
197
|
-
int connectToServer(const StaticString &address
|
215
|
+
int connectToServer(const StaticString &address, const char *file,
|
216
|
+
unsigned int line);
|
198
217
|
|
199
218
|
/**
|
200
219
|
* Connect to a Unix server socket at <tt>filename</tt> in a blocking manner.
|
201
220
|
*
|
202
221
|
* @param filename The filename of the socket to connect to.
|
222
|
+
* @param file The name of the source file that called this function,
|
223
|
+
* for file descriptor logging purposes.
|
224
|
+
* @param line The line in the source file that called this function.
|
203
225
|
* @return The file descriptor of the connected client socket.
|
204
226
|
* @throws RuntimeException Something went wrong.
|
205
227
|
* @throws SystemException Something went wrong while connecting to the Unix server.
|
206
228
|
* @throws boost::thread_interrupted A system call has been interrupted.
|
207
229
|
* @ingroup Support
|
208
230
|
*/
|
209
|
-
int connectToUnixServer(const StaticString &filename
|
231
|
+
int connectToUnixServer(const StaticString &filename, const char *file,
|
232
|
+
unsigned int line);
|
210
233
|
|
211
234
|
/**
|
212
235
|
* Connect to a TCP server socket at the given host name and port in a blocking manner.
|
213
236
|
*
|
214
237
|
* @param hostname The host name of the TCP server.
|
215
238
|
* @param port The port number of the TCP server.
|
239
|
+
* @param file The name of the source file that called this function,
|
240
|
+
* for file descriptor logging purposes.
|
241
|
+
* @param line The line in the source file that called this function.
|
216
242
|
* @return The file descriptor of the connected client socket.
|
217
243
|
* @throws IOException Something went wrong while connecting to the Unix server.
|
218
244
|
* @throws SystemException Something went wrong while connecting to the server.
|
219
245
|
* @throws boost::thread_interrupted A system call has been interrupted.
|
220
246
|
* @ingroup Support
|
221
247
|
*/
|
222
|
-
int connectToTcpServer(const StaticString &hostname, unsigned int port
|
248
|
+
int connectToTcpServer(const StaticString &hostname, unsigned int port,
|
249
|
+
const char *file, unsigned int line);
|
223
250
|
|
224
251
|
/** State structure for non-blocking connectToUnixServer(). */
|
225
252
|
struct NUnix_State {
|
@@ -233,12 +260,16 @@ struct NUnix_State {
|
|
233
260
|
*
|
234
261
|
* @param state A state structure.
|
235
262
|
* @param filename The filename of the socket to connect to.
|
263
|
+
* @param file The name of the source file that called this function,
|
264
|
+
* for file descriptor logging purposes.
|
265
|
+
* @param line The line in the source file that called this function.
|
236
266
|
* @throws SystemException Something went wrong.
|
237
267
|
* @throws boost::thread_interrupted A system call has been interrupted.
|
238
268
|
* @ingroup Support
|
239
269
|
*/
|
240
270
|
void setupNonBlockingUnixSocket(NUnix_State & restrict_ref state,
|
241
|
-
const StaticString & restrict_ref filename
|
271
|
+
const StaticString & restrict_ref filename, const char *file,
|
272
|
+
unsigned int line);
|
242
273
|
|
243
274
|
/**
|
244
275
|
* Connect a Unix domain socket in non-blocking mode.
|
@@ -280,6 +311,9 @@ struct NTCP_State {
|
|
280
311
|
* @param state A state structure.
|
281
312
|
* @param hostname The host name of the TCP server.
|
282
313
|
* @param port The port number of the TCP server.
|
314
|
+
* @param file The name of the source file that called this function,
|
315
|
+
* for file descriptor logging purposes.
|
316
|
+
* @param line The line in the source file that called this function.
|
283
317
|
* @throws IOException Something went wrong.
|
284
318
|
* @throws SystemException Something went wrong.
|
285
319
|
* @throws boost::thread_interrupted A system call has been interrupted.
|
@@ -287,7 +321,7 @@ struct NTCP_State {
|
|
287
321
|
*/
|
288
322
|
void setupNonBlockingTcpSocket(NTCP_State & restrict_ref state,
|
289
323
|
const StaticString & restrict_ref hostname,
|
290
|
-
int port);
|
324
|
+
int port, const char *file, unsigned int line);
|
291
325
|
|
292
326
|
/**
|
293
327
|
* Connect a TCP socket in non-blocking mode.
|
@@ -312,6 +346,9 @@ struct NConnect_State {
|
|
312
346
|
*
|
313
347
|
* @param A state structure.
|
314
348
|
* @param address An address as accepted by getSocketAddressType().
|
349
|
+
* @param file The name of the source file that called this function,
|
350
|
+
* for file descriptor logging purposes.
|
351
|
+
* @param line The line in the source file that called this function.
|
315
352
|
* @throws ArgumentException Unknown address type.
|
316
353
|
* @throws RuntimeException Something went wrong.
|
317
354
|
* @throws SystemException Something went wrong.
|
@@ -320,7 +357,8 @@ struct NConnect_State {
|
|
320
357
|
* @ingroup Support
|
321
358
|
*/
|
322
359
|
void setupNonBlockingSocket(NConnect_State & restrict_ref state,
|
323
|
-
const StaticString & restrict_ref address
|
360
|
+
const StaticString & restrict_ref address, const char *file,
|
361
|
+
unsigned int line);
|
324
362
|
|
325
363
|
/**
|
326
364
|
* Connect a socket in non-blocking mode.
|
@@ -338,18 +376,24 @@ bool connectToServer(NConnect_State &state);
|
|
338
376
|
/**
|
339
377
|
* Creates a Unix domain socket pair.
|
340
378
|
*
|
379
|
+
* @param file The name of the source file that called this function,
|
380
|
+
* for file descriptor logging purposes.
|
381
|
+
* @param line The line in the source file that called this function.
|
341
382
|
* @throws SystemException
|
342
383
|
* @throws boost::thread_interrupted
|
343
384
|
*/
|
344
|
-
SocketPair createUnixSocketPair();
|
385
|
+
SocketPair createUnixSocketPair(const char *file, unsigned int line);
|
345
386
|
|
346
387
|
/**
|
347
388
|
* Creates a pipe.
|
348
389
|
*
|
390
|
+
* @param file The name of the source file that called this function,
|
391
|
+
* for file descriptor logging purposes.
|
392
|
+
* @param line The line in the source file that called this function.
|
349
393
|
* @throws SystemException
|
350
394
|
* @throws boost::thread_interrupted
|
351
395
|
*/
|
352
|
-
Pipe createPipe();
|
396
|
+
Pipe createPipe(const char *file, unsigned int line);
|
353
397
|
|
354
398
|
/**
|
355
399
|
* Waits at most <tt>*timeout</tt> microseconds for the file descriptor to become readable.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2012 Phusion
|
3
|
+
* Copyright (c) 2012-2015 Phusion
|
4
4
|
*
|
5
5
|
* "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
|
6
6
|
*
|
@@ -112,7 +112,7 @@ struct Message {
|
|
112
112
|
}
|
113
113
|
|
114
114
|
void sendReply(const string &name) {
|
115
|
-
sendReply(make_shared<Message>(name));
|
115
|
+
sendReply(boost::make_shared<Message>(name));
|
116
116
|
}
|
117
117
|
};
|
118
118
|
|
@@ -205,7 +205,7 @@ public:
|
|
205
205
|
}
|
206
206
|
|
207
207
|
void send(const string &name) {
|
208
|
-
send(make_shared<Message>(name));
|
208
|
+
send(boost::make_shared<Message>(name));
|
209
209
|
}
|
210
210
|
|
211
211
|
const MessagePtr peek(const string &name) const {
|