mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-11-14 16:07:25 +00:00
1 parent
5b427f6daa
commit
5b3749ca14
15 files changed
+5
-555
No files matched your search
@@ -1,74 +0,0 @@
|
||||
|
||||
* modules/loggers/mod_log_debug.c: Mark private globals as static.
|
||||
http://svn.apache.org/viewvc?view=revision&revision=1326980
|
||||
|
||||
* modules/filters/sed1.c: Mark private globals as static const.
|
||||
(command): Change p3 pointer to const.
|
||||
http://svn.apache.org/viewvc?view=revision&revision=1326984
|
||||
|
||||
* modules/filters/config.m4: Prevent libsed internals from polluting
|
||||
the global symbol namespace.
|
||||
http://svn.apache.org/viewvc?view=revision&revision=1326991
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
--- httpd-2.4.2/modules/loggers/mod_log_debug.c
|
||||
+++ httpd-2.4.2/modules/loggers/mod_log_debug.c
|
||||
@@ -35,8 +35,8 @@
|
||||
apr_array_header_t *entries;
|
||||
} log_debug_dirconf;
|
||||
|
||||
-const char *allhooks = "all";
|
||||
-const char * const hooks[] = {
|
||||
+static const char *allhooks = "all";
|
||||
+static const char * const hooks[] = {
|
||||
"log_transaction", /* 0 */
|
||||
"quick_handler", /* 1 */
|
||||
"handler", /* 2 */
|
||||
--- httpd-2.4.2/modules/filters/sed1.c
|
||||
+++ httpd-2.4.2/modules/filters/sed1.c
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "apr_strings.h"
|
||||
#include "regexp.h"
|
||||
|
||||
-char *trans[040] = {
|
||||
+static const char *const trans[040] = {
|
||||
"\\01",
|
||||
"\\02",
|
||||
"\\03",
|
||||
@@ -58,7 +58,7 @@
|
||||
"\\36",
|
||||
"\\37"
|
||||
};
|
||||
-char rub[] = {"\\177"};
|
||||
+static const char rub[] = {"\\177"};
|
||||
|
||||
extern int sed_step(char *p1, char *p2, int circf, step_vars_storage *vars);
|
||||
static int substitute(sed_eval_t *eval, sed_reptr_t *ipc,
|
||||
@@ -692,7 +692,8 @@
|
||||
step_vars_storage *step_vars)
|
||||
{
|
||||
int i;
|
||||
- char *p1, *p2, *p3;
|
||||
+ char *p1, *p2;
|
||||
+ const char *p3;
|
||||
int length;
|
||||
char sz[32]; /* 32 bytes enough to store 64 bit integer in decimal */
|
||||
apr_status_t rv = APR_SUCCESS;
|
||||
--- httpd-2.4.2/modules/filters/config.m4
|
||||
+++ httpd-2.4.2/modules/filters/config.m4
|
||||
@@ -16,7 +16,13 @@
|
||||
APACHE_MODULE(substitute, response content rewrite-like filtering, , , most)
|
||||
|
||||
sed_obj="mod_sed.lo sed0.lo sed1.lo regexp.lo"
|
||||
-APACHE_MODULE(sed, filter request and/or response bodies through sed, $sed_obj, , most)
|
||||
+APACHE_MODULE(sed, filter request and/or response bodies through sed, $sed_obj, , most, [
|
||||
+ if test "x$enable_sed" = "xshared"; then
|
||||
+ # The only symbol which needs to be exported is the module
|
||||
+ # structure, so ask libtool to hide libsed internals:
|
||||
+ APR_ADDTO(MOD_SED_LDADD, [-export-symbols-regex sed_module])
|
||||
+ fi
|
||||
+])
|
||||
|
||||
if test "$ac_cv_ebcdic" = "yes"; then
|
||||
# mod_charset_lite can be very useful on an ebcdic system,
|
||||
@@ -1,87 +0,0 @@
|
||||
|
||||
* server/mpm_unix.c (dummy_connection): Use a TLS 1.0 close_notify
|
||||
alert if the chosen listener is configured for https; not perfect
|
||||
but better than sending an HTTP request. Adjust comments.
|
||||
http://svn.apache.org/viewvc?view=revision&revision=1327036
|
||||
|
||||
* server/mpm_unix.c (dummy_connection): Fix spello.
|
||||
http://svn.apache.org/viewvc?view=revision&revision=1327080
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
--- httpd-2.4.2/server/mpm_unix.c
|
||||
+++ httpd-2.4.2/server/mpm_unix.c
|
||||
@@ -501,14 +501,14 @@
|
||||
return rv;
|
||||
}
|
||||
|
||||
-/* This function connects to the server, then immediately closes the connection.
|
||||
- * This permits the MPM to skip the poll when there is only one listening
|
||||
- * socket, because it provides a alternate way to unblock an accept() when
|
||||
- * the pod is used.
|
||||
- */
|
||||
+/* This function connects to the server and sends enough data to
|
||||
+ * ensure the child wakes up and processes a new connection. This
|
||||
+ * permits the MPM to skip the poll when there is only one listening
|
||||
+ * socket, because it provides a alternate way to unblock an accept()
|
||||
+ * when the pod is used. */
|
||||
static apr_status_t dummy_connection(ap_pod_t *pod)
|
||||
{
|
||||
- char *srequest;
|
||||
+ const char *data;
|
||||
apr_status_t rv;
|
||||
apr_socket_t *sock;
|
||||
apr_pool_t *p;
|
||||
@@ -574,24 +574,37 @@
|
||||
return rv;
|
||||
}
|
||||
|
||||
- /* Create the request string. We include a User-Agent so that
|
||||
- * adminstrators can track down the cause of the odd-looking
|
||||
- * requests in their logs.
|
||||
- */
|
||||
- srequest = apr_pstrcat(p, "OPTIONS * HTTP/1.0\r\nUser-Agent: ",
|
||||
+ if (lp->protocol && strcasecmp(lp->protocol, "https") == 0) {
|
||||
+ /* Send a TLS 1.0 close_notify alert. This is perhaps the
|
||||
+ * "least wrong" way to open and cleanly terminate an SSL
|
||||
+ * connection. It should "work" without noisy error logs if
|
||||
+ * the server actually expects SSLv3/TLSv1. With
|
||||
+ * SSLv23_server_method() OpenSSL's SSL_accept() fails
|
||||
+ * ungracefully on receipt of this message, since it requires
|
||||
+ * an 11-byte ClientHello message and this is too short. */
|
||||
+ static const unsigned char tls10_close_notify[7] = {
|
||||
+ '\x15', /* TLSPlainText.type = Alert (21) */
|
||||
+ '\x03', '\x01', /* TLSPlainText.version = {3, 1} */
|
||||
+ '\x00', '\x02', /* TLSPlainText.length = 2 */
|
||||
+ '\x01', /* Alert.level = warning (1) */
|
||||
+ '\x00' /* Alert.description = close_notify (0) */
|
||||
+ };
|
||||
+ data = (const char *)tls10_close_notify;
|
||||
+ len = sizeof(tls10_close_notify);
|
||||
+ }
|
||||
+ else /* ... XXX other request types here? */ {
|
||||
+ /* Create an HTTP request string. We include a User-Agent so
|
||||
+ * that adminstrators can track down the cause of the
|
||||
+ * odd-looking requests in their logs. A complete request is
|
||||
+ * used since kernel-level filtering may require that much
|
||||
+ * data before returning from accept(). */
|
||||
+ data = apr_pstrcat(p, "OPTIONS * HTTP/1.0\r\nUser-Agent: ",
|
||||
ap_get_server_description(),
|
||||
" (internal dummy connection)\r\n\r\n", NULL);
|
||||
+ len = strlen(data);
|
||||
+ }
|
||||
|
||||
- /* Since some operating systems support buffering of data or entire
|
||||
- * requests in the kernel, we send a simple request, to make sure
|
||||
- * the server pops out of a blocking accept().
|
||||
- */
|
||||
- /* XXX: This is HTTP specific. We should look at the Protocol for each
|
||||
- * listener, and send the correct type of request to trigger any Accept
|
||||
- * Filters.
|
||||
- */
|
||||
- len = strlen(srequest);
|
||||
- apr_socket_send(sock, srequest, &len);
|
||||
+ apr_socket_send(sock, data, &len);
|
||||
apr_socket_close(sock);
|
||||
apr_pool_destroy(p);
|
||||
|
||||
@@ -1,350 +0,0 @@
|
||||
|
||||
* support/suexec.c: Add gcc format-string attributes to logging
|
||||
functions.
|
||||
(main): Always print uid/gid as unsigned long, and cast to avoid
|
||||
warnings (which somewhat defeats the point of the format string
|
||||
attrs, but is necessary since the size of gid/uid varies).
|
||||
http://svn.apache.org/viewvc?view=revision&revision=1337344
|
||||
|
||||
|
||||
|
||||
suexec: Add support for logging to syslog as an alternative to a
|
||||
logfile.
|
||||
|
||||
* support/suexec.c (err_output) [AP_LOG_SYSLOG]: Log to syslog.
|
||||
(main): Close syslog fd if open, before execv. Add -V output
|
||||
for AP_LOG_SYSLOG.
|
||||
|
||||
* configure.in: Add --with-suexec-syslog argument; allow
|
||||
--without-suexec-logfile to omit definition of AP_LOG_EXEC.
|
||||
|
||||
http://svn.apache.org/viewvc?view=revision&revision=1341905
|
||||
|
||||
|
||||
|
||||
suexec: Support use of setgid/setuid capability bits on Linux, a
|
||||
weaker set of privileges than the full setuid/setgid root binary.
|
||||
|
||||
* configure.in: Add --enable-suexec-capabilites flag.
|
||||
|
||||
* Makefile.in: If configured, use setcap instead of chmod 7555 on
|
||||
installed suexec binary.
|
||||
|
||||
* modules/arch/unix/mod_unixd.c (unixd_pre_config): Drop test for
|
||||
setuid bit if capability bits are used.
|
||||
|
||||
* docs/manual/: Add docs.
|
||||
|
||||
http://svn.apache.org/viewvc?view=revision&revision=1342065
|
||||
|
||||
|
||||
|
||||
* docs/manual/suexec.html.en: Update for syslog logging.
|
||||
|
||||
http://svn.apache.org/viewvc?view=revision&revision=1341930
|
||||
|
||||
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
--- httpd-2.4.2/configure.in.r1337344+
|
||||
+++ httpd-2.4.2/configure.in
|
||||
@@ -700,7 +700,24 @@ APACHE_HELP_STRING(--with-suexec-gidmin,
|
||||
|
||||
AC_ARG_WITH(suexec-logfile,
|
||||
APACHE_HELP_STRING(--with-suexec-logfile,Set the logfile),[
|
||||
- AC_DEFINE_UNQUOTED(AP_LOG_EXEC, "$withval", [SuExec log file] ) ] )
|
||||
+ if test "x$withval" = "xyes"; then
|
||||
+ AC_DEFINE_UNQUOTED(AP_LOG_EXEC, "$withval", [SuExec log file])
|
||||
+ fi
|
||||
+])
|
||||
+
|
||||
+AC_ARG_WITH(suexec-syslog,
|
||||
+APACHE_HELP_STRING(--with-suexec-syslog,Set the logfile),[
|
||||
+ if test $withval = "yes"; then
|
||||
+ if test "x${with_suexec_logfile}" != "xno"; then
|
||||
+ AC_MSG_NOTICE([hint: use "--without-suexec-logfile --with-suexec-syslog"])
|
||||
+ AC_MSG_ERROR([suexec does not support both logging to file and syslog])
|
||||
+ fi
|
||||
+ AC_CHECK_FUNCS([vsyslog], [], [
|
||||
+ AC_MSG_ERROR([cannot support syslog from suexec without vsyslog()])])
|
||||
+ AC_DEFINE(AP_LOG_SYSLOG, 1, [SuExec log to syslog])
|
||||
+ fi
|
||||
+])
|
||||
+
|
||||
|
||||
AC_ARG_WITH(suexec-safepath,
|
||||
APACHE_HELP_STRING(--with-suexec-safepath,Set the safepath),[
|
||||
@@ -710,6 +727,15 @@ AC_ARG_WITH(suexec-umask,
|
||||
APACHE_HELP_STRING(--with-suexec-umask,umask for suexec'd process),[
|
||||
AC_DEFINE_UNQUOTED(AP_SUEXEC_UMASK, 0$withval, [umask for suexec'd process] ) ] )
|
||||
|
||||
+INSTALL_SUEXEC=setuid
|
||||
+AC_ARG_ENABLE([suexec-capabilities],
|
||||
+APACHE_HELP_STRING(--enable-suexec-capabilities,Use Linux capability bits not setuid root suexec), [
|
||||
+INSTALL_SUEXEC=caps
|
||||
+AC_DEFINE(AP_SUEXEC_CAPABILITIES, 1,
|
||||
+ [Enable if suexec is installed with Linux capabilities, not setuid])
|
||||
+])
|
||||
+APACHE_SUBST(INSTALL_SUEXEC)
|
||||
+
|
||||
dnl APR should go after the other libs, so the right symbols can be picked up
|
||||
if test x${apu_found} != xobsolete; then
|
||||
AP_LIBS="$AP_LIBS `$apu_config --avoid-ldap --link-libtool`"
|
||||
--- httpd-2.4.2/docs/manual/suexec.html.en.r1337344+
|
||||
+++ httpd-2.4.2/docs/manual/suexec.html.en
|
||||
@@ -369,6 +369,21 @@
|
||||
together with the <code>--enable-suexec</code> option to let
|
||||
APACI accept your request for using the suEXEC feature.</dd>
|
||||
|
||||
+ <dt><code>--enable-suexec-capabilities</code></dt>
|
||||
+
|
||||
+ <dd><strong>Linux specific:</strong> Normally,
|
||||
+ the <code>suexec</code> binary is installed "setuid/setgid
|
||||
+ root", which allows it to run with the full privileges of the
|
||||
+ root user. If this option is used, the <code>suexec</code>
|
||||
+ binary will instead be installed with only the setuid/setgid
|
||||
+ "capability" bits set, which is the subset of full root
|
||||
+ priviliges required for suexec operation. Note that
|
||||
+ the <code>suexec</code> binary may not be able to write to a log
|
||||
+ file in this mode; it is recommended that the
|
||||
+ <code>--with-suexec-syslog --without-suexec-logfile</code>
|
||||
+ options are used in conjunction with this mode, so that syslog
|
||||
+ logging is used instead.</dd>
|
||||
+
|
||||
<dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
|
||||
|
||||
<dd>The path to the <code>suexec</code> binary must be hard-coded
|
||||
@@ -430,6 +445,12 @@
|
||||
"<code>suexec_log</code>" and located in your standard logfile
|
||||
directory (<code>--logfiledir</code>).</dd>
|
||||
|
||||
+ <dt><code>--with-suexec-syslog</code></dt>
|
||||
+
|
||||
+ <dd>If defined, suexec will log notices and errors to syslog
|
||||
+ instead of a logfile. This option must be combined
|
||||
+ with <code>--without-suexec-logfile</code>.</dd>
|
||||
+
|
||||
<dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
|
||||
|
||||
<dd>Define a safe PATH environment to pass to CGI
|
||||
@@ -546,9 +567,12 @@
|
||||
|
||||
<p>The suEXEC wrapper will write log information
|
||||
to the file defined with the <code>--with-suexec-logfile</code>
|
||||
- option as indicated above. If you feel you have configured and
|
||||
- installed the wrapper properly, have a look at this log and the
|
||||
- error_log for the server to see where you may have gone astray.</p>
|
||||
+ option as indicated above, or to syslog if <code>--with-suexec-syslog</code>
|
||||
+ is used. If you feel you have configured and
|
||||
+ installed the wrapper properly, have a look at the log and the
|
||||
+ error_log for the server to see where you may have gone astray.
|
||||
+ The output of <code>"suexec -V"</code> will show the options
|
||||
+ used to compile suexec, if using a binary distribution.</p>
|
||||
|
||||
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
||||
<div class="section">
|
||||
@@ -615,4 +639,4 @@
|
||||
</div><div id="footer">
|
||||
<p class="apache">Copyright 2012 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
|
||||
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
|
||||
-</body></html>
|
||||
\ No newline at end of file
|
||||
+</body></html>
|
||||
--- httpd-2.4.2/Makefile.in.r1337344+
|
||||
+++ httpd-2.4.2/Makefile.in
|
||||
@@ -236,11 +236,22 @@ install-man:
|
||||
cd $(DESTDIR)$(manualdir) && find . -name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \
|
||||
fi
|
||||
|
||||
-install-suexec:
|
||||
+install-suexec: install-suexec-binary install-suexec-$(INSTALL_SUEXEC)
|
||||
+
|
||||
+install-suexec-binary:
|
||||
@if test -f $(builddir)/support/suexec; then \
|
||||
test -d $(DESTDIR)$(sbindir) || $(MKINSTALLDIRS) $(DESTDIR)$(sbindir); \
|
||||
$(INSTALL_PROGRAM) $(top_builddir)/support/suexec $(DESTDIR)$(sbindir); \
|
||||
- chmod 4755 $(DESTDIR)$(sbindir)/suexec; \
|
||||
+ fi
|
||||
+
|
||||
+install-suexec-setuid:
|
||||
+ @if test -f $(builddir)/support/suexec; then \
|
||||
+ chmod 4755 $(DESTDIR)$(sbindir)/suexec; \
|
||||
+ fi
|
||||
+
|
||||
+install-suexec-caps:
|
||||
+ @if test -f $(builddir)/support/suexec; then \
|
||||
+ setcap 'cap_setuid,cap_setgid+pe' $(DESTDIR)$(sbindir)/suexec; \
|
||||
fi
|
||||
|
||||
suexec:
|
||||
--- httpd-2.4.2/modules/arch/unix/mod_unixd.c.r1337344+
|
||||
+++ httpd-2.4.2/modules/arch/unix/mod_unixd.c
|
||||
@@ -284,6 +284,13 @@ unixd_set_suexec(cmd_parms *cmd, void *d
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+#ifdef AP_SUEXEC_CAPABILITIES
|
||||
+/* If suexec is using capabilities, don't test for the setuid bit. */
|
||||
+#define SETUID_TEST(finfo) (1)
|
||||
+#else
|
||||
+#define SETUID_TEST(finfo) (finfo.protection & APR_USETID)
|
||||
+#endif
|
||||
+
|
||||
static int
|
||||
unixd_pre_config(apr_pool_t *pconf, apr_pool_t *plog,
|
||||
apr_pool_t *ptemp)
|
||||
@@ -300,7 +307,7 @@ unixd_pre_config(apr_pool_t *pconf, apr_
|
||||
ap_unixd_config.suexec_enabled = 0;
|
||||
if ((apr_stat(&wrapper, SUEXEC_BIN, APR_FINFO_NORM, ptemp))
|
||||
== APR_SUCCESS) {
|
||||
- if ((wrapper.protection & APR_USETID) && wrapper.user == 0
|
||||
+ if (SETUID_TEST(wrapper) && wrapper.user == 0
|
||||
&& (access(SUEXEC_BIN, R_OK|X_OK) == 0)) {
|
||||
ap_unixd_config.suexec_enabled = 1;
|
||||
ap_unixd_config.suexec_disabled_reason = "";
|
||||
--- httpd-2.4.2/support/suexec.c.r1337344+
|
||||
+++ httpd-2.4.2/support/suexec.c
|
||||
@@ -58,6 +58,10 @@
|
||||
#include <grp.h>
|
||||
#endif
|
||||
|
||||
+#ifdef AP_LOG_SYSLOG
|
||||
+#include <syslog.h>
|
||||
+#endif
|
||||
+
|
||||
#if defined(PATH_MAX)
|
||||
#define AP_MAXPATH PATH_MAX
|
||||
#elif defined(MAXPATHLEN)
|
||||
@@ -69,7 +73,12 @@
|
||||
#define AP_ENVBUF 256
|
||||
|
||||
extern char **environ;
|
||||
+
|
||||
+#ifdef AP_LOG_SYSLOG
|
||||
+static int log_open;
|
||||
+#else
|
||||
static FILE *log = NULL;
|
||||
+#endif
|
||||
|
||||
static const char *const safe_env_lst[] =
|
||||
{
|
||||
@@ -128,10 +137,23 @@ static const char *const safe_env_lst[]
|
||||
NULL
|
||||
};
|
||||
|
||||
+static void log_err(const char *fmt,...)
|
||||
+ __attribute__((format(printf,1,2)));
|
||||
+static void log_no_err(const char *fmt,...)
|
||||
+ __attribute__((format(printf,1,2)));
|
||||
+static void err_output(int is_error, const char *fmt, va_list ap)
|
||||
+ __attribute__((format(printf,2,0)));
|
||||
|
||||
static void err_output(int is_error, const char *fmt, va_list ap)
|
||||
{
|
||||
-#ifdef AP_LOG_EXEC
|
||||
+#if defined(AP_LOG_SYSLOG)
|
||||
+ if (!log_open) {
|
||||
+ openlog("suexec", LOG_PID, LOG_DAEMON);
|
||||
+ log_open = 1;
|
||||
+ }
|
||||
+
|
||||
+ vsyslog(is_error ? LOG_ERR : LOG_INFO, fmt, ap);
|
||||
+#elif defined(AP_LOG_EXEC)
|
||||
time_t timevar;
|
||||
struct tm *lt;
|
||||
|
||||
@@ -263,7 +285,7 @@ int main(int argc, char *argv[])
|
||||
*/
|
||||
uid = getuid();
|
||||
if ((pw = getpwuid(uid)) == NULL) {
|
||||
- log_err("crit: invalid uid: (%ld)\n", uid);
|
||||
+ log_err("crit: invalid uid: (%lu)\n", (unsigned long)uid);
|
||||
exit(102);
|
||||
}
|
||||
/*
|
||||
@@ -289,7 +311,9 @@ int main(int argc, char *argv[])
|
||||
#ifdef AP_HTTPD_USER
|
||||
fprintf(stderr, " -D AP_HTTPD_USER=\"%s\"\n", AP_HTTPD_USER);
|
||||
#endif
|
||||
-#ifdef AP_LOG_EXEC
|
||||
+#if defined(AP_LOG_SYSLOG)
|
||||
+ fprintf(stderr, " -D AP_LOG_SYSLOG\n");
|
||||
+#elif defined(AP_LOG_EXEC)
|
||||
fprintf(stderr, " -D AP_LOG_EXEC=\"%s\"\n", AP_LOG_EXEC);
|
||||
#endif
|
||||
#ifdef AP_SAFE_PATH
|
||||
@@ -440,7 +464,7 @@ int main(int argc, char *argv[])
|
||||
* a UID less than AP_UID_MIN. Tsk tsk.
|
||||
*/
|
||||
if ((uid == 0) || (uid < AP_UID_MIN)) {
|
||||
- log_err("cannot run as forbidden uid (%d/%s)\n", uid, cmd);
|
||||
+ log_err("cannot run as forbidden uid (%lu/%s)\n", (unsigned long)uid, cmd);
|
||||
exit(107);
|
||||
}
|
||||
|
||||
@@ -449,7 +473,7 @@ int main(int argc, char *argv[])
|
||||
* or as a GID less than AP_GID_MIN. Tsk tsk.
|
||||
*/
|
||||
if ((gid == 0) || (gid < AP_GID_MIN)) {
|
||||
- log_err("cannot run as forbidden gid (%d/%s)\n", gid, cmd);
|
||||
+ log_err("cannot run as forbidden gid (%lu/%s)\n", (unsigned long)gid, cmd);
|
||||
exit(108);
|
||||
}
|
||||
|
||||
@@ -460,7 +484,7 @@ int main(int argc, char *argv[])
|
||||
* and setgid() to the target group. If unsuccessful, error out.
|
||||
*/
|
||||
if (((setgid(gid)) != 0) || (initgroups(actual_uname, gid) != 0)) {
|
||||
- log_err("failed to setgid (%ld: %s)\n", gid, cmd);
|
||||
+ log_err("failed to setgid (%lu: %s)\n", (unsigned long)gid, cmd);
|
||||
exit(109);
|
||||
}
|
||||
|
||||
@@ -468,7 +492,7 @@ int main(int argc, char *argv[])
|
||||
* setuid() to the target user. Error out on fail.
|
||||
*/
|
||||
if ((setuid(uid)) != 0) {
|
||||
- log_err("failed to setuid (%ld: %s)\n", uid, cmd);
|
||||
+ log_err("failed to setuid (%lu: %s)\n", (unsigned long)uid, cmd);
|
||||
exit(110);
|
||||
}
|
||||
|
||||
@@ -556,11 +580,11 @@ int main(int argc, char *argv[])
|
||||
(gid != dir_info.st_gid) ||
|
||||
(uid != prg_info.st_uid) ||
|
||||
(gid != prg_info.st_gid)) {
|
||||
- log_err("target uid/gid (%ld/%ld) mismatch "
|
||||
- "with directory (%ld/%ld) or program (%ld/%ld)\n",
|
||||
- uid, gid,
|
||||
- dir_info.st_uid, dir_info.st_gid,
|
||||
- prg_info.st_uid, prg_info.st_gid);
|
||||
+ log_err("target uid/gid (%lu/%lu) mismatch "
|
||||
+ "with directory (%lu/%lu) or program (%lu/%lu)\n",
|
||||
+ (unsigned long)uid, (unsigned long)gid,
|
||||
+ (unsigned long)dir_info.st_uid, (unsigned long)dir_info.st_gid,
|
||||
+ (unsigned long)prg_info.st_uid, (unsigned long)prg_info.st_gid);
|
||||
exit(120);
|
||||
}
|
||||
/*
|
||||
@@ -585,6 +609,12 @@ int main(int argc, char *argv[])
|
||||
#endif /* AP_SUEXEC_UMASK */
|
||||
|
||||
/* Be sure to close the log file so the CGI can't mess with it. */
|
||||
+#ifdef AP_LOG_SYSLOG
|
||||
+ if (log_open) {
|
||||
+ closelog();
|
||||
+ log_open = 0;
|
||||
+ }
|
||||
+#else
|
||||
if (log != NULL) {
|
||||
#if APR_HAVE_FCNTL_H
|
||||
/*
|
||||
@@ -606,6 +636,7 @@ int main(int argc, char *argv[])
|
||||
log = NULL;
|
||||
#endif
|
||||
}
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* Execute the command, replacing our image with its own.
|
||||
@@ -1,35 +0,0 @@
|
||||
|
||||
* server/main.c (main): Bail out *before* signalling the server
|
||||
if the config is bad. (as per the claim in the docs!)
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=814645
|
||||
http://svn.apache.org/viewvc?view=revision&revision=1328345
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
--- httpd-2.4.2/server/main.c.restart
|
||||
+++ httpd-2.4.2/server/main.c
|
||||
@@ -671,6 +671,11 @@ int main(int argc, const char * const ar
|
||||
}
|
||||
}
|
||||
|
||||
+ /* If our config failed, deal with that here. */
|
||||
+ if (rv != OK) {
|
||||
+ destroy_and_exit_process(process, 1);
|
||||
+ }
|
||||
+
|
||||
signal_server = APR_RETRIEVE_OPTIONAL_FN(ap_signal_server);
|
||||
if (signal_server) {
|
||||
int exit_status;
|
||||
@@ -680,11 +685,6 @@ int main(int argc, const char * const ar
|
||||
}
|
||||
}
|
||||
|
||||
- /* If our config failed, deal with that here. */
|
||||
- if (rv != OK) {
|
||||
- destroy_and_exit_process(process, 1);
|
||||
- }
|
||||
-
|
||||
apr_pool_clear(plog);
|
||||
|
||||
if ( ap_run_open_logs(pconf, plog, ptemp, ap_server_conf) != OK) {
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+2
-2
@@ -14,8 +14,8 @@ SRC_URI = "http://www.apache.org/dist/httpd/httpd-${PV}.tar.bz2"
|
||||
S = "${WORKDIR}/httpd-${PV}"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=eff226ae95d0516d6210ed77dfdf2dcc"
|
||||
SRC_URI[md5sum] = "6bb12f726e22656f0ad2baf91f1f8329"
|
||||
SRC_URI[sha256sum] = "5382f9c507d3d02706e33d6308ea041f39e8511b5948aef0ca188df8f90159b8"
|
||||
SRC_URI[md5sum] = "87aaf7bc7e8715f0455997bb8c6791aa"
|
||||
SRC_URI[sha256sum] = "d82102b9c111f1892fb20a2bccf4370de579c6521b2f172ed0b36f2759fb249e"
|
||||
|
||||
do_configure () {
|
||||
./configure --with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
|
||||
+3
-7
@@ -5,26 +5,22 @@ HOMEPAGE = "http://httpd.apache.org/"
|
||||
DEPENDS = "libtool-native apache2-native openssl expat pcre apr apr-util"
|
||||
SECTION = "net"
|
||||
LICENSE = "Apache-2.0"
|
||||
PR = "r3"
|
||||
PR = "r0"
|
||||
|
||||
SRC_URI = "http://www.apache.org/dist/httpd/httpd-${PV}.tar.bz2 \
|
||||
file://server-makefile.patch \
|
||||
file://httpd-2.4.1-corelimit.patch \
|
||||
file://httpd-2.4.1-export.patch \
|
||||
file://httpd-2.4.1-selinux.patch \
|
||||
file://httpd-2.4.2-r1326980+.patch \
|
||||
file://httpd-2.4.2-r1327036+.patch \
|
||||
file://httpd-2.4.2-r1332643.patch \
|
||||
file://httpd-2.4.2-r1337344+.patch \
|
||||
file://httpd-2.4.2-restart.patch \
|
||||
file://apache-configure_perlbin.patch \
|
||||
file://replace-lynx-to-curl-in-apachectl-script.patch \
|
||||
file://apache-ssl-ltmain-rpath.patch \
|
||||
file://init"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=eff226ae95d0516d6210ed77dfdf2dcc"
|
||||
SRC_URI[md5sum] = "6bb12f726e22656f0ad2baf91f1f8329"
|
||||
SRC_URI[sha256sum] = "5382f9c507d3d02706e33d6308ea041f39e8511b5948aef0ca188df8f90159b8"
|
||||
SRC_URI[md5sum] = "87aaf7bc7e8715f0455997bb8c6791aa"
|
||||
SRC_URI[sha256sum] = "d82102b9c111f1892fb20a2bccf4370de579c6521b2f172ed0b36f2759fb249e"
|
||||
|
||||
S = "${WORKDIR}/httpd-${PV}"
|
||||
|
||||
Reference in new issue
Block a user