mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
www-apache/passenger: remove obsolete files
Package-Manager: portage-2.2.20.1
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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}/"
|
||||
|
||||
@@ -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
|
||||
@@ -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}"
|
||||
@@ -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)
|
||||
@@ -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.
|
||||
@@ -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);
|
||||
@@ -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}"
|
||||
Reference in New Issue
Block a user