www-apache/passenger: remove obsolete files

Package-Manager: portage-2.2.20.1
This commit is contained in:
Hans de Graaff
2015-09-28 08:12:31 +02:00
parent 57439b8b17
commit d9b04e6c5c
8 changed files with 0 additions and 370 deletions

View File

@@ -1,33 +0,0 @@
diff -Nuar passenger-2.2.15.orig/Rakefile passenger-2.2.15/Rakefile
--- passenger-2.2.15.orig/Rakefile 2010-11-05 03:19:02.000000000 +0000
+++ passenger-2.2.15/Rakefile 2010-11-05 03:23:45.000000000 +0000
@@ -744,7 +744,7 @@
extdir = "#{libdir}/#{CONFIG['arch']}"
bindir = "#{fakeroot}/usr/bin"
docdir = "#{fakeroot}/usr/share/doc/passenger-#{PACKAGE_VERSION}"
- libexecdir = "#{fakeroot}/usr/lib/phusion_passenger"
+ libexecdir = "#{fakeroot}/usr/libexec/phusion_passenger"
sh "rm -rf #{fakeroot}"
sh "mkdir -p #{fakeroot}"
diff -Nuar passenger-2.2.15.orig/ext/common/Utils.cpp passenger-2.2.15/ext/common/Utils.cpp
--- passenger-2.2.15.orig/ext/common/Utils.cpp 2010-06-24 11:53:02.000000000 +0000
+++ passenger-2.2.15/ext/common/Utils.cpp 2010-11-05 03:22:39.000000000 +0000
@@ -113,7 +113,7 @@
return path;
} else {
path.assign(root);
- path.append("lib/phusion_passenger/passenger-spawn-server");
+ path.append("libexec/phusion_passenger/passenger-spawn-server");
return path;
}
return path;
@@ -152,7 +152,7 @@
return path;
} else {
path.assign(root);
- path.append("lib/phusion_passenger/ApplicationPoolServerExecutable");
+ path.append("libexec/phusion_passenger/ApplicationPoolServerExecutable");
return path;
}
}

View File

@@ -1,42 +0,0 @@
--- Rakefile.~1~ 2009-05-19 11:48:28.236986307 +0200
+++ Rakefile 2009-05-19 11:50:53.000000000 +0200
@@ -38,11 +38,7 @@
CXX = "g++"
LIBEXT = PlatformInfo.library_extension
-if OPTIMIZE
- OPTIMIZATION_FLAGS = "#{PlatformInfo.debugging_cflags} -O2 -DBOOST_DISABLE_ASSERTS"
-else
- OPTIMIZATION_FLAGS = "#{PlatformInfo.debugging_cflags} -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS"
-end
+OPTIMIZATION_FLAGS = "#{ENV['CXXFLAGS']} -DNDEBUG"
# Extra compiler flags that should always be passed to the C/C++ compiler.
# Should be included last in the command string.
@@ -733,15 +729,15 @@
task :fakeroot => [:apache2, :native_support, :doc] do
require 'rbconfig'
include Config
- fakeroot = "pkg/fakeroot"
+ fakeroot = ENV['DISTDIR']
# We don't use CONFIG['archdir'] and the like because we want
# the files to be installed to /usr, and the Ruby interpreter
# on the packaging machine might be in /usr/local.
- libdir = "#{fakeroot}/usr/lib/ruby/#{CONFIG['ruby_version']}"
+ libdir = "#{fakeroot}/#{CONFIG['sitedir']}/#{CONFIG['ruby_version']}"
extdir = "#{libdir}/#{CONFIG['arch']}"
bindir = "#{fakeroot}/usr/bin"
- docdir = "#{fakeroot}/usr/share/doc/phusion_passenger"
+ docdir = "#{fakeroot}/usr/share/doc/passenger-#{PACKAGE_VERSION}"
libexecdir = "#{fakeroot}/usr/lib/phusion_passenger"
sh "rm -rf #{fakeroot}"
@@ -757,7 +753,6 @@
sh "cp bin/* #{bindir}/"
sh "mkdir -p #{libexecdir}"
- sh "cp ext/apache2/mod_passenger.so #{libexecdir}/"
sh "mv #{fakeroot}/usr/bin/passenger-spawn-server #{libexecdir}/"
sh "cp ext/apache2/ApplicationPoolServerExecutable #{libexecdir}/"

View File

@@ -1,63 +0,0 @@
<IfDefine PASSENGER>
LoadModule passenger_module modules/mod_passenger.so
# The location to the Phusion Passenger root directory. This configuration
# option is essential to Phusion Passenger. The correct value is given by the
# installer, and should usually not be changed manually.
PassengerRoot /usr
# This option allows one to specify how much information Phusion Passenger
# should write to the Apache error log file. A higher log level value means
# that more information will be logged.
#
# Possible values are:
#
# 0: Show only errors and warnings.
# 1: Show the most important debugging information. This might be useful for
# system administrators who are trying to figure out the cause of a
# problem.
# 2: Show more debugging information. This is typically only useful for
# developers.
# 3: Show even more debugging information.
PassengerLogLevel 0
# This option allows one to specify the Ruby interpreter to use.
PassengerRuby /usr/bin/ruby
# Whether Passenger should automatically detect whether a virtual host's
# document root is a Ruby on Rails application.
RailsAutoDetect On
# The maximum number of Ruby on Rails application instances that may be
# simultaneously active. A larger number results in higher memory usage, but
# improved ability to handle concurrent HTTP clients.
PassengerMaxPoolSize 20
# The maximum number of seconds that a Ruby on Rails application instance may
# be idle. That is, if an application instance hasn't done anything after the
# given number of seconds, then it will be shutdown in order to conserve
# memory.
PassengerPoolIdleTime 120
# The maximum number of application instances that may be simultaneously active
# for a single application. This helps to make sure that a single application
# will not occupy all available slots in the application pool.
#
# This value must be less than PassengerMaxPoolSize. A value of 0 means that
# there is no limit placed on the number of instances a single application may
# use, i.e. only the global limit of PassengerMaxPoolSize will be enforced.
PassengerMaxInstancesPerApp 0
# When the PassengerUserSwitching option is enabled a Rails application is started
# as the owner of the file config/environment.rb. So if
# /home/webapps/foo/config/environment.rb is owned by joe, then Passenger will
# launch the corresponding Rails application as joe as well.
PassengerUserSwitching On
# Under no circumstances will Rails applications be run as root. If
# environment.rb is owned by root or by an unknown user, then the Rails
# application will run as the user specified by PassengerDefaultUser.
PassengerDefaultUser apache
</IfDefine>
# vim: ts=4 filetype=apache

View File

@@ -1,34 +0,0 @@
--- build/config.rb.~1~ 2010-10-01 12:22:34.000000000 +0200
+++ build/config.rb 2010-11-02 10:56:25.309314070 +0100
@@ -17,11 +17,7 @@
OPTIMIZE = boolean_option("OPTIMIZE")
CC = string_option("CC", "gcc")
CXX = string_option("CXX", "g++")
-if OPTIMIZE
- OPTIMIZATION_FLAGS = "#{PlatformInfo.debugging_cflags} -O2 -DBOOST_DISABLE_ASSERTS".strip
-else
- OPTIMIZATION_FLAGS = "#{PlatformInfo.debugging_cflags} -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS".strip
-end
+OPTIMIZATION_FLAGS = "#{ENV['CXXFLAGS']}"
# Extra compiler flags that should always be passed to the C/C++ compiler.
# Should be included last in the command string, even after PlatformInfo.portability_cflags.
--- build/packaging.rb.~1~ 2010-10-10 20:52:03.000000000 +0200
+++ build/packaging.rb 2010-11-02 11:03:56.944938507 +0100
@@ -87,13 +87,13 @@
require 'rbconfig'
require 'fileutils'
include Config
- fakeroot = "pkg/fakeroot"
+ fakeroot = ENV['DISTDIR']
# We don't use CONFIG['archdir'] and the like because we want
# the files to be installed to /usr, and the Ruby interpreter
# on the packaging machine might be in /usr/local.
- fake_libdir = "#{fakeroot}/usr/lib/ruby/#{CONFIG['ruby_version']}"
- fake_native_support_dir = "#{fakeroot}/usr/lib/ruby/#{CONFIG['ruby_version']}/#{CONFIG['arch']}"
+ fake_libdir = "#{fakeroot}/#{CONFIG['sitedir']}/#{CONFIG['ruby_version']}"
+ fake_native_support_dir = "#{fakeroot}/#{CONFIG['sitedir']}/#{CONFIG['ruby_version']}/#{CONFIG['arch']}"
fake_agents_dir = "#{fakeroot}#{NATIVELY_PACKAGED_AGENTS_DIR}"
fake_helper_scripts_dir = "#{fakeroot}#{NATIVELY_PACKAGED_HELPER_SCRIPTS_DIR}"
fake_docdir = "#{fakeroot}#{NATIVELY_PACKAGED_DOCDIR}"

View File

@@ -1,13 +0,0 @@
--- build/config.rb.~1~ 2010-11-07 11:46:22.257690348 +0100
+++ build/config.rb 2010-11-07 12:41:40.601438803 +0100
@@ -25,7 +25,7 @@
# Extra linker flags that should always be passed to the linker.
# Should be included last in the command string, even after PlatformInfo.portability_ldflags.
-EXTRA_LDFLAGS = ""
+EXTRA_LDFLAGS = "#{ENV['LDFLAGS']}"
# Whether to use the vendored libev or the system one.
-USE_VENDORED_LIBEV = boolean_option("USE_VENDORED_LIBEV", true)
\ No newline at end of file
+USE_VENDORED_LIBEV = boolean_option("USE_VENDORED_LIBEV", true)

View File

@@ -1,10 +0,0 @@
--- build/config.rb.~1~ 2010-11-07 11:46:22.257690348 +0100
+++ build/config.rb 2010-11-07 12:41:40.601438803 +0100
@@ -25,6 +25,6 @@
# Extra linker flags that should always be passed to the linker.
# Should be included last in the command string, even after PlatformInfo.portability_ldflags.
-EXTRA_LDFLAGS = ""
+EXTRA_LDFLAGS = "#{ENV['LDFLAGS']}"
# Whether to use the vendored libev or the system one.

View File

@@ -1,140 +0,0 @@
--- passenger-release-3.0.21.orig/ext/common/LoggingAgent/Main.cpp 2013-05-29 07:09:31.000000000 -0500
+++ passenger-release-3.0.21.orig/ext/common/LoggingAgent/Main.cpp 2013-07-18 09:35:47.514433743 -0500
@@ -265,11 +265,6 @@ main(int argc, char *argv[]) {
ev::sig sigtermWatcher(eventLoop);
ev::sig sigquitWatcher(eventLoop);
- if (feedbackFdAvailable()) {
- feedbackFdWatcher.set<&feedbackFdBecameReadable>();
- feedbackFdWatcher.start(FEEDBACK_FD, ev::READ);
- writeArrayMessage(FEEDBACK_FD, "initialized", NULL);
- }
sigintWatcher.set<&caughtExitSignal>();
sigintWatcher.start(SIGINT);
sigtermWatcher.set<&caughtExitSignal>();
@@ -281,6 +276,11 @@ main(int argc, char *argv[]) {
/********** Initialized! Enter main loop... **********/
P_DEBUG("Logging agent online, listening at " << socketAddress);
+ if (feedbackFdAvailable()) {
+ feedbackFdWatcher.set<&feedbackFdBecameReadable>();
+ feedbackFdWatcher.start(FEEDBACK_FD, ev::READ);
+ writeArrayMessage(FEEDBACK_FD, "initialized", NULL);
+ }
ev_loop(eventLoop, 0);
return exitCode;
} catch (const tracable_exception &e) {
--- passenger-release-3.0.21.orig/ext/common/ServerInstanceDir.h 2013-05-29 07:09:31.000000000 -0500
+++ passenger-release-3.0.21.orig/ext/common/ServerInstanceDir.h 2013-07-18 09:38:54.431808622 -0500
@@ -30,6 +30,7 @@
#include <oxt/backtrace.hpp>
#include <sys/types.h>
+#include <sys/stat.h>
#include <dirent.h>
#include <unistd.h>
#include <pwd.h>
@@ -38,6 +39,7 @@
#include <cstring>
#include <string>
+#include <Logging.h>
#include "Exceptions.h"
#include "Utils.h"
#include "Utils/StrIntUtils.h"
@@ -217,7 +219,69 @@ private:
* rights though, because we want admin tools to be able to list the available
* generations no matter what user they're running as.
*/
- makeDirTree(path, "u=rwxs,g=rx,o=rx");
+ if (owner) {
+ switch (getFileType(path)) {
+ case FT_NONEXISTANT:
+ createDirectory(path);
+ break;
+ case FT_DIRECTORY:
+ verifyDirectoryPermissions(path);
+ break;
+ default:
+ throw RuntimeException("'" + path + "' already exists, and is not a directory");
+ }
+ } else if (getFileType(path) != FT_DIRECTORY) {
+ throw RuntimeException("Server instance directory '" + path +
+ "' does not exist");
+ }
+ }
+
+ void createDirectory(const string &path) const {
+ // We do not use makeDirTree() here. If an attacker creates a directory
+ // just before we do, then we want to abort because we want the directory
+ // to have specific permissions.
+ if (mkdir(path.c_str(), parseModeString("u=rwx,g=rx,o=rx")) == -1) {
+ int e = errno;
+ throw FileSystemException("Cannot create server instance directory '" +
+ path + "'", e, path);
+ }
+ // verifyDirectoryPermissions() checks for the owner/group so we must make
+ // sure the server instance directory has that owner/group, even when the
+ // parent directory has setgid on.
+ if (chown(path.c_str(), geteuid(), getegid()) == -1) {
+ int e = errno;
+ throw FileSystemException("Cannot change the permissions of the server "
+ "instance directory '" + path + "'", e, path);
+ }
+ }
+
+ /**
+ * When reusing an existing server instance directory, check permissions
+ * so that an attacker cannot pre-create a directory with too liberal
+ * permissions.
+ */
+ void verifyDirectoryPermissions(const string &path) {
+ TRACE_POINT();
+ struct stat buf;
+
+ if (stat(path.c_str(), &buf) == -1) {
+ int e = errno;
+ throw FileSystemException("Cannot stat() " + path, e, path);
+ } else if (buf.st_mode != (S_IFDIR | parseModeString("u=rwx,g=rx,o=rx"))) {
+ throw RuntimeException("Tried to reuse existing server instance directory " +
+ path + ", but it has wrong permissions");
+ } else if (buf.st_uid != geteuid() || buf.st_gid != getegid()) {
+ /* The server instance directory is always created by the Watchdog. Its UID/GID never
+ * changes because:
+ * 1. Disabling user switching only lowers the privilege of the HelperAgent.
+ * 2. For the UID/GID to change, the web server must be completely restarted
+ * (not just graceful reload) so that the control process can change its UID/GID.
+ * This causes the PID to change, so that an entirely new server instance
+ * directory is created.
+ */
+ throw RuntimeException("Tried to reuse existing server instance directory " +
+ path + ", but it has wrong owner and group");
+ }
}
bool isDirectory(const string &dir, struct dirent *entry) const {
--- passenger-release-3.0.21.orig/NEWS 2013-05-29 07:09:31.000000000 -0500
+++ passenger-release-3.0.21.orig/NEWS 2013-07-18 08:58:30.943558375 -0500
@@ -8,6 +8,7 @@ Release 3.0.21
* Catch exceptions raised by Rack application objects.
* Fix for CVE-2013-2119. Details can be found in the announcement for version 4.0.5.
* Version 3.0.20 was pulled because its fixes were incomplete.
+ * Fix for CVE-2013-4136. Details can be found in the announcement for version 4.0.8.
Release 3.0.19
--- passenger-release-3.0.21.orig/test/cxx/ServerInstanceDirTest.cpp 2013-05-29 07:09:31.000000000 -0500
+++ passenger-release-3.0.21.orig/test/cxx/ServerInstanceDirTest.cpp 2013-07-18 09:09:50.898433782 -0500
@@ -73,9 +73,11 @@ namespace tut {
}
TEST_METHOD(5) {
- // The destructor doesnn't remove the server instance directory if it
+ // The destructor doesn't remove the server instance directory if it
// wasn't created with the ownership flag or if it's been detached.
string path, path2;
+ makeDirTree(parentDir + "/passenger-test.1234");
+ makeDirTree(parentDir + "/passenger-test.5678");
{
ServerInstanceDir dir(1234, parentDir, false);
ServerInstanceDir dir2(5678, parentDir);

View File

@@ -1,35 +0,0 @@
--- build/config.rb.~1~ 2010-10-01 12:22:34.000000000 +0200
+++ build/config.rb 2010-11-02 10:56:25.309314070 +0100
@@ -17,12 +17,8 @@
OPTIMIZE = boolean_option("OPTIMIZE")
CC = string_option("CC", "gcc")
CXX = string_option("CXX", "g++")
# TODO: consider -fcommon
-if OPTIMIZE
- OPTIMIZATION_FLAGS = "#{PlatformInfo.debugging_cflags} -O2 -DBOOST_DISABLE_ASSERTS".strip
-else
- OPTIMIZATION_FLAGS = "#{PlatformInfo.debugging_cflags} -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS".strip
-end
+OPTIMIZATION_FLAGS = "#{ENV['CXXFLAGS']} -DBOOST_DISABLE_ASSERTS".strip
# Extra compiler flags that should always be passed to the C/C++ compiler.
# Should be included last in the command string, even after PlatformInfo.portability_cflags.
--- build/packaging.rb.~1~ 2010-10-10 20:52:03.000000000 +0200
+++ build/packaging.rb 2010-11-02 11:03:56.944938507 +0100
@@ -87,13 +87,13 @@
require 'rbconfig'
require 'fileutils'
include Config
- fakeroot = "pkg/fakeroot"
+ fakeroot = ENV['DISTDIR']
# We don't use CONFIG['archdir'] and the like because we want
# the files to be installed to /usr, and the Ruby interpreter
# on the packaging machine might be in /usr/local.
- fake_libdir = "#{fakeroot}/usr/lib/ruby/#{CONFIG['ruby_version']}"
- fake_native_support_dir = "#{fakeroot}/usr/lib/ruby/#{CONFIG['ruby_version']}/#{CONFIG['arch']}"
+ fake_libdir = "#{fakeroot}/#{CONFIG['sitedir']}/#{CONFIG['ruby_version']}"
+ fake_native_support_dir = "#{fakeroot}/#{CONFIG['sitedir']}/#{CONFIG['ruby_version']}/#{CONFIG['arch']}"
fake_agents_dir = "#{fakeroot}#{NATIVELY_PACKAGED_AGENTS_DIR}"
fake_helper_scripts_dir = "#{fakeroot}#{NATIVELY_PACKAGED_HELPER_SCRIPTS_DIR}"
fake_docdir = "#{fakeroot}#{NATIVELY_PACKAGED_DOCDIR}"