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
|
diff -uNr httpd-2.0.46/acinclude.m4 httpd-2.0.46-woodchip/acinclude.m4
--- httpd-2.0.46/acinclude.m4 2002-11-29 06:05:57.000000000 -0500
+++ httpd-2.0.46-woodchip/acinclude.m4 2003-05-28 19:43:56.000000000 -0400
@@ -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.46/modules/ssl/config.m4 httpd-2.0.46-woodchip/modules/ssl/config.m4
--- httpd-2.0.46/modules/ssl/config.m4 2002-03-29 02:36:01.000000000 -0500
+++ httpd-2.0.46-woodchip/modules/ssl/config.m4 2003-05-28 19:43:56.000000000 -0400
@@ -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.46/os/unix/unixd.c httpd-2.0.46-woodchip/os/unix/unixd.c
--- httpd-2.0.46/os/unix/unixd.c 2003-05-15 16:28:18.000000000 -0400
+++ httpd-2.0.46-woodchip/os/unix/unixd.c 2003-05-28 19:43:56.000000000 -0400
@@ -243,23 +243,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.46/support/apachectl.in httpd-2.0.46-woodchip/support/apachectl.in
--- httpd-2.0.46/support/apachectl.in 2003-02-03 12:32:08.000000000 -0500
+++ httpd-2.0.46-woodchip/support/apachectl.in 2003-05-28 19:43:56.000000000 -0400
@@ -28,7 +28,8 @@
# -------------------- --------------------
#
# the path to your httpd binary, including options if necessary
-HTTPD='@exp_sbindir@/@progname@'
+. /etc/conf.d/apache2
+HTTPD="@exp_sbindir@/@progname@ ${APACHE2_OPTS}"
#
# pick up any necessary environment variables
if test -f @exp_bindir@/envvars; then
diff -uNr httpd-2.0.46/support/apxs.in httpd-2.0.46-woodchip/support/apxs.in
--- httpd-2.0.46/support/apxs.in 2003-05-21 07:39:52.000000000 -0400
+++ httpd-2.0.46-woodchip/support/apxs.in 2003-05-28 19:43:56.000000000 -0400
@@ -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) = @_;
|