1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
diff -uNr httpd-2.0.44/acinclude.m4 httpd-2.0.44-woodchip/acinclude.m4
--- httpd-2.0.44/acinclude.m4 2002-11-29 06:05:57.000000000 -0500
+++ httpd-2.0.44-woodchip/acinclude.m4 2003-01-21 21:57:05.000000000 -0500
@@ -60,6 +60,7 @@
APACHE_SUBST(HTTPD_LDFLAGS)
APACHE_SUBST(UTIL_LDFLAGS)
APACHE_SUBST(LIBS)
+ APACHE_SUBST(SSL_LIBS)
APACHE_SUBST(DEFS)
APACHE_SUBST(INCLUDES)
APACHE_SUBST(NOTEST_CPPFLAGS)
@@ -190,7 +191,7 @@
])dnl
dnl
-dnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config]]]])
+dnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config[, libs]]]]])
dnl
dnl default is one of:
dnl yes -- enabled by default. user must explicitly disable.
@@ -266,7 +267,7 @@
fi
shared="";;
esac
- APACHE_MODPATH_ADD($1, $shared, $3)
+ APACHE_MODPATH_ADD($1, $shared, $3,, $7)
fi
])dnl
@@ -488,7 +489,7 @@
APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_ssltk_libdir])
fi
fi
- APR_ADDTO(LIBS, [-lssl -lcrypto])
+ APR_ADDTO(SSL_LIBS, [-lssl -lcrypto])
ap_cv_ssltk="$ap_ssltk_base"
fi
])
diff -uNr httpd-2.0.44/docs/man/suexec.8 httpd-2.0.44-woodchip/docs/man/suexec.8
--- httpd-2.0.44/docs/man/suexec.8 2002-03-13 15:47:41.000000000 -0500
+++ httpd-2.0.44-woodchip/docs/man/suexec.8 2003-01-21 22:06:10.000000000 -0500
@@ -1,4 +1,4 @@
-.TH suexec 8 "March 2001"
+.TH suexec2 8 "March 2001"
.\" The Apache Software License, Version 1.1
.\"
.\" Copyright (c) 2000-2002 The Apache Software Foundation. All rights
@@ -51,25 +51,25 @@
.\" <http://www.apache.org/>.
.\"
.SH NAME
-suexec \- Switch User For Exec
+suexec2 \- Switch User For Exec
.SH SYNOPSIS
-.B suexec -V
+.B suexec2 -V
.PP
No other synopsis for usage, because this program
is otherwise only used internally by the Apache HTTP server.
.PP
.SH DESCRIPTION
-.B suexec
-is the "wrapper" support program for the suexec behaviour for the
+.B suexec2
+is the "wrapper" support program for the suexec2 behaviour for the
Apache HTTP server. It is run from within the server automatically
to switch the user when an external program has to be run under a
-different user. For more information about suexec, see the online
+different user. For more information about suexec2, see the online
document `Apache suexec Support' on the HTTP server project's
Web site at http://httpd.apache.org/docs/suexec.html .
.SH OPTIONS
.IP -V
-Display the list of compile-time settings used when \fBsuexec\fP
+Display the list of compile-time settings used when \fBsuexec2\fP
was built. No other action is taken.
.PD
.SH SEE ALSO
-.BR httpd(8)
+.BR apache2(8)
diff -uNr httpd-2.0.44/modules/ssl/config.m4 httpd-2.0.44-woodchip/modules/ssl/config.m4
--- httpd-2.0.44/modules/ssl/config.m4 2002-03-29 02:36:01.000000000 -0500
+++ httpd-2.0.44-woodchip/modules/ssl/config.m4 2003-01-21 22:14:29.000000000 -0500
@@ -79,7 +79,7 @@
APACHE_CHECK_SSL_TOOLKIT
AC_CHECK_FUNCS(SSL_set_state)
AC_CHECK_FUNCS(SSL_set_cert_store)
-])
+], [\$(SSL_LIBS)])
dnl # end of module specific part
APACHE_MODPATH_FINISH
diff -uNr httpd-2.0.44/os/unix/unixd.c httpd-2.0.44-woodchip/os/unix/unixd.c
--- httpd-2.0.44/os/unix/unixd.c 2002-06-27 06:47:49.000000000 -0400
+++ httpd-2.0.44-woodchip/os/unix/unixd.c 2003-01-21 22:15:01.000000000 -0500
@@ -228,23 +228,20 @@
AP_DECLARE(void) unixd_pre_config(apr_pool_t *ptemp)
{
- apr_finfo_t wrapper;
+ struct stat wrapper;
unixd_config.user_name = DEFAULT_USER;
unixd_config.user_id = ap_uname2id(DEFAULT_USER);
unixd_config.group_id = ap_gname2id(DEFAULT_GROUP);
/* Check for suexec */
- unixd_config.suexec_enabled = 0;
- if ((apr_stat(&wrapper, SUEXEC_BIN,
- APR_FINFO_NORM, ptemp)) != APR_SUCCESS) {
- return;
- }
-
- /* XXX - apr_stat is incapable of checking suid bits (grumble) */
- /* if ((wrapper.filetype & S_ISUID) && wrapper.user == 0) { */
+ if (stat(SUEXEC_BIN, &wrapper) == 0 &&
+ (wrapper.st_mode & S_ISUID) && wrapper.st_uid == 0) {
unixd_config.suexec_enabled = 1;
- /* } */
+ } else {
+ unixd_config.suexec_enabled = 0;
+ }
+
}
diff -uNr httpd-2.0.44/support/apxs.in httpd-2.0.44-woodchip/support/apxs.in
--- httpd-2.0.44/support/apxs.in 2002-09-19 01:43:16.000000000 -0400
+++ httpd-2.0.44-woodchip/support/apxs.in 2003-01-21 22:21:44.000000000 -0500
@@ -237,19 +237,6 @@
($httpd = $0) =~ s:support/apxs$::;
}
-unless (-x "$httpd") {
- error("$httpd not found or not executable");
- exit 1;
-}
-
-unless (grep /mod_so/, `. $envvars && $httpd -l`) {
- error("Sorry, no shared object support for Apache");
- error("available under your platform. Make sure");
- error("the Apache module mod_so is compiled into");
- error("your server binary `$httpd'.");
- exit 1;
-}
-
sub get_config_vars{
my ($file, $rh_config) = @_;
|