Hi,
the backport below is in this form invalid ...

Am 14.02.2011 21:18, schrieb [email protected]:
Author: trawick
Date: Mon Feb 14 20:18:20 2011
New Revision: 1070639

URL: http://svn.apache.org/viewvc?rev=1070639&view=rev
Log:
backport from trunk r1033519:

*) suEXEC: Add Suexec directive to disable suEXEC without renaming the
    binary (Suexec Off), or force startup failure if suEXEC is required
    but not supported (Suexec On).

Submitted by: trawick
Reviewed by: covener, wrowe

Modified:
     httpd/httpd/branches/2.2.x/CHANGES
     httpd/httpd/branches/2.2.x/STATUS
     httpd/httpd/branches/2.2.x/docs/manual/mod/core.xml
     httpd/httpd/branches/2.2.x/docs/manual/mod/mod_suexec.xml
     httpd/httpd/branches/2.2.x/os/unix/unixd.c
     httpd/httpd/branches/2.2.x/os/unix/unixd.h
     httpd/httpd/branches/2.2.x/server/core.c

Modified: httpd/httpd/branches/2.2.x/server/core.c
URL: 
http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/server/core.c?rev=1070639&r1=1070638&r2=1070639&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/server/core.c (original)
+++ httpd/httpd/branches/2.2.x/server/core.c Mon Feb 14 20:18:20 2011
@@ -3483,6 +3483,10 @@ AP_INIT_TAKE1("EnableExceptionHook", ap_
  #endif
  AP_INIT_TAKE1("TraceEnable", set_trace_enable, NULL, RSRC_CONF,
                "'on' (default), 'off' or 'extended' to trace request body 
content"),
+#ifdef SUEXEC_BIN
+AP_INIT_FLAG("Suexec", unixd_set_suexec, NULL, RSRC_CONF,
+             "Enable or disable suEXEC support"),
+#endif
  { NULL }
  };
this one breaks NetWare build:
### mwccnlm Compiler:
#    File: server\core.c
# ----------------------
# 3488: { "Suexec", unixd_set_suexec, ((void *) 0), 128, FLAG, "Enable or disable suEXEC support" }
#   Error:                             ^
#   undefined identifier 'unixd_set_suexec'

Errors caused tool to abort.

the ifdef is pretty much useless since we define SUEXEC_BIN unconditionally for all platforms in httpd.h:
/** The path to the suExec wrapper, can be overridden in Configuration */
#ifndef SUEXEC_BIN
#define SUEXEC_BIN  HTTPD_ROOT "/bin/suexec"
#endif

and so I wonder how Win32 might pass this ....
anyway, we need to fix it. What is preferred?
1. move the SUEXEC_BIN define to $platform/os.h (and left undefined for platforms which doint support suexec)
2. change to 'if !defined(NETWARE)' in core.c
3. move the whole unix stuff into a mod_unixd as it is in trunk (that would be then another backport I guess)

?

Gün.


Reply via email to