Argh, it seems that module/proxy/scgi.h is missing in 2.4.x (added in trunk by r1592615), hence :
proxy_util.c:25:18: error: scgi.h: No such file or directory proxy_util.c:3491: error: ‘SCGI_DEF_PORT’ undeclared here (not in a function) On Tue, Jun 3, 2014 at 2:14 PM, <[email protected]> wrote: > Author: jim > Date: Tue Jun 3 12:14:22 2014 > New Revision: 1599501 > > URL: http://svn.apache.org/r1599501 > Log: > Merge r1546730, r1583008, r1571369, r1552130, r1578760, r1592615, r1592632, > r1595321, r1550302, r1550307, r1585435 from trunk: > > fix whitespace in a debug message > > s/comment/self-documenting/ > > normalize an ugly construct which somehow manages to return the correct value > > This is annoying to see in a casual "LogLevel debug foo:traceX ..." > > > > > Use 'apr_table_setn' instead of 'apr_table_set' when possible in order to > save memory. > > Follow-up to r1592529: > > Define default port for "scgi" schemes (as chosen by > mod_proxy_scgi) in a common location. > > Suggested by: jailletc36 > > > fix Doxygen markup error > > Submitted by: jailletc36 > > > Tweak a AP_DEBUG_ASSERT condition. > Valid index to use 'req_header_var_names' are 0...6 > > mod_auth_form: Add a debug message when the fields on a form are not > recognised. > > > mod_auth_form: Make the trace logging consistent through the notes, session > and form authentication steps. > > > mod_auth_form: update empty log tags. > Submitted by: trawick, covener, jailletc36, trawick, trawick, jailletc36, > minfrin, minfrin, ylavic > Reviewed/backported by: jim > > Modified: > httpd/httpd/branches/2.4.x/ (props changed) > httpd/httpd/branches/2.4.x/CHANGES > httpd/httpd/branches/2.4.x/STATUS > httpd/httpd/branches/2.4.x/modules/aaa/mod_auth_form.c > httpd/httpd/branches/2.4.x/modules/filters/mod_ext_filter.c > httpd/httpd/branches/2.4.x/modules/mappers/mod_rewrite.c > httpd/httpd/branches/2.4.x/modules/metadata/mod_headers.c > httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_http.c > httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_scgi.c > httpd/httpd/branches/2.4.x/modules/proxy/proxy_util.c > httpd/httpd/branches/2.4.x/server/mpm/event/event.c > httpd/httpd/branches/2.4.x/server/util_expr_eval.c > > Propchange: httpd/httpd/branches/2.4.x/ > ------------------------------------------------------------------------------ > Merged > /httpd/httpd/trunk:r1546730,1550302,1550307,1552130,1571369,1578760,1583008,1585435,1592615,1592632,1595321 > > Modified: httpd/httpd/branches/2.4.x/CHANGES > URL: > http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/CHANGES?rev=1599501&r1=1599500&r2=1599501&view=diff > ============================================================================== > --- httpd/httpd/branches/2.4.x/CHANGES [utf-8] (original) > +++ httpd/httpd/branches/2.4.x/CHANGES [utf-8] Tue Jun 3 12:14:22 2014 > @@ -2,6 +2,9 @@ > > Changes with Apache 2.4.10 > > + *) mod_auth_form: Add a debug message when the fields on a form are not > + recognised. [Graham Leggett] > + > *) mod_proxy_wstunnel: Fix the use of SSL connections with the "wss:" > scheme. PR55320. [Alex Liu <alex.leo.ca gmail.com>] > > > Modified: httpd/httpd/branches/2.4.x/STATUS > URL: > http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/STATUS?rev=1599501&r1=1599500&r2=1599501&view=diff > ============================================================================== > --- httpd/httpd/branches/2.4.x/STATUS (original) > +++ httpd/httpd/branches/2.4.x/STATUS Tue Jun 3 12:14:22 2014 > @@ -100,32 +100,6 @@ RELEASE SHOWSTOPPERS: > PATCHES ACCEPTED TO BACKPORT FROM TRUNK: > [ start all new proposals below, under PATCHES PROPOSED. ] > > - * Easy patches - synch with trunk > - mpm/event: fix whitespace in a debug message > - mod_ext_filter: self document some apr_sleep usages > - mod_rewrite: normalize an ugly construct which somehow manages to > return the correct value > - mod_header: This is annoying to see in a casual "LogLevel debug > foo:traceX ..." > - mod_proxy_http: Use 'apr_table_setn' instead of 'apr_table_set' when > possible in order to save memory. > - mod_proxy_scgi: Define default port for "scgi" schemes (as chosen by > mod_proxy_scgi) in a common location. > - mod_proxy_scgi: fix Doxygen markup error > - util_expr_eval: Tweak a AP_DEBUG_ASSERT condition. > - mod_auth_form: Add a debug message when the fields on a form are not > recognised. > - mod_auth_form: Make the trace logging consistent through the notes, > session and form authentication steps. > - mod_auth_form: update empty log tags. > - trunk patch: > - http://svn.apache.org/r1546730 > - http://svn.apache.org/r1583008 > - http://svn.apache.org/r1571369 > - http://svn.apache.org/r1552130 > - http://svn.apache.org/r1578760 > - http://svn.apache.org/r1592615 > - http://svn.apache.org/r1592632 > - http://svn.apache.org/r1595321 > - http://svn.apache.org/r1550302 > - http://svn.apache.org/r1550307 > - http://svn.apache.org/r1585435 > - 2.4.x patch: http://people.apache.org/~jailletc36/backport7.patch > - +1: jailletc36, jim, ylavic > > > PATCHES PROPOSED TO BACKPORT FROM TRUNK: > > Modified: httpd/httpd/branches/2.4.x/modules/aaa/mod_auth_form.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/aaa/mod_auth_form.c?rev=1599501&r1=1599500&r2=1599501&view=diff > ============================================================================== > --- httpd/httpd/branches/2.4.x/modules/aaa/mod_auth_form.c (original) > +++ httpd/httpd/branches/2.4.x/modules/aaa/mod_auth_form.c Tue Jun 3 > 12:14:22 2014 > @@ -505,7 +505,7 @@ static void get_notes_auth(request_rec * > r->user = (char *) *user; > } > > - ap_log_rerror(APLOG_MARK, APLOG_TRACE6, 0, r, > + ap_log_rerror(APLOG_MARK, APLOG_TRACE1, 0, r, > "from notes: user: %s, pw: %s, method: %s, mimetype: %s", > user ? *user : "<null>", pw ? *pw : "<null>", > method ? *method : "<null>", mimetype ? *mimetype : > "<null>"); > @@ -566,7 +566,7 @@ static apr_status_t get_session_auth(req > r->user = (char *) *user; > } > > - ap_log_rerror(APLOG_MARK, APLOG_TRACE2, 0, r, > + ap_log_rerror(APLOG_MARK, APLOG_TRACE1, 0, r, > "from session: " MOD_SESSION_USER ": %s, " MOD_SESSION_PW > ": %s, " MOD_AUTH_FORM_HASH ": %s", > user ? *user : "<null>", pw ? *pw : "<null>", > @@ -668,13 +668,33 @@ static int get_form_auth(request_rec * r > } > } > > + ap_log_rerror(APLOG_MARK, APLOG_TRACE1, 0, r, > + "from form: user: %s, pw: %s, method: %s, mimetype: %s, > location: %s", > + sent_user ? *sent_user : "<null>", sent_pw ? *sent_pw : > "<null>", > + sent_method ? *sent_method : "<null>", > + sent_mimetype ? *sent_mimetype : "<null>", > + sent_loc ? *sent_loc : "<null>"); > + > /* set the user, even though the user is unauthenticated at this point */ > - if (*sent_user) { > + if (sent_user && *sent_user) { > r->user = (char *) *sent_user; > } > > /* a missing username or missing password means auth denied */ > - if (!sent_user || !*sent_user || !sent_pw || !*sent_pw) { > + if (!sent_user || !*sent_user) { > + > + ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, > + "form parsed, but username field '%s' was missing or > empty, unauthorized", > + username); > + > + return HTTP_UNAUTHORIZED; > + } > + if (!sent_pw || !*sent_pw) { > + > + ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, > + "form parsed, but password field '%s' was missing or > empty, unauthorized", > + password); > + > return HTTP_UNAUTHORIZED; > } > > @@ -1262,7 +1282,7 @@ static int authenticate_form_post_config > ap_session_get_fn = APR_RETRIEVE_OPTIONAL_FN(ap_session_get); > ap_session_set_fn = APR_RETRIEVE_OPTIONAL_FN(ap_session_set); > if (!ap_session_load_fn || !ap_session_get_fn || !ap_session_set_fn) > { > - ap_log_error(APLOG_MARK, APLOG_CRIT, 0, NULL, APLOGNO() > + ap_log_error(APLOG_MARK, APLOG_CRIT, 0, NULL, APLOGNO(02617) > "You must load mod_session to enable the mod_auth_form " > "functions"); > return !OK; > @@ -1273,7 +1293,7 @@ static int authenticate_form_post_config > ap_request_insert_filter_fn = > APR_RETRIEVE_OPTIONAL_FN(ap_request_insert_filter); > ap_request_remove_filter_fn = > APR_RETRIEVE_OPTIONAL_FN(ap_request_remove_filter); > if (!ap_request_insert_filter_fn || !ap_request_remove_filter_fn) { > - ap_log_error(APLOG_MARK, APLOG_CRIT, 0, NULL, APLOGNO() > + ap_log_error(APLOG_MARK, APLOG_CRIT, 0, NULL, APLOGNO(02618) > "You must load mod_request to enable the mod_auth_form " > "functions"); > return !OK; > > Modified: httpd/httpd/branches/2.4.x/modules/filters/mod_ext_filter.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/filters/mod_ext_filter.c?rev=1599501&r1=1599500&r2=1599501&view=diff > ============================================================================== > --- httpd/httpd/branches/2.4.x/modules/filters/mod_ext_filter.c (original) > +++ httpd/httpd/branches/2.4.x/modules/filters/mod_ext_filter.c Tue Jun 3 > 12:14:22 2014 > @@ -715,7 +715,7 @@ static apr_status_t pass_data_to_filter( > /* Yuck... I'd really like to wait until I can read > * or write, but instead I have to sleep and try again > */ > - apr_sleep(100000); /* 100 milliseconds */ > + apr_sleep(apr_time_from_msec(100)); > ap_log_rerror(APLOG_MARK, APLOG_TRACE6, 0, f->r, > "apr_sleep()"); > #endif /* APR_FILES_AS_SOCKETS */ > } > > Modified: httpd/httpd/branches/2.4.x/modules/mappers/mod_rewrite.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/mappers/mod_rewrite.c?rev=1599501&r1=1599500&r2=1599501&view=diff > ============================================================================== > --- httpd/httpd/branches/2.4.x/modules/mappers/mod_rewrite.c (original) > +++ httpd/httpd/branches/2.4.x/modules/mappers/mod_rewrite.c Tue Jun 3 > 12:14:22 2014 > @@ -2633,7 +2633,7 @@ static apr_status_t rewritelock_remove(v > apr_global_mutex_destroy(rewrite_mapr_lock_acquire); > rewrite_mapr_lock_acquire = NULL; > } > - return(0); > + return APR_SUCCESS; > } > > > > Modified: httpd/httpd/branches/2.4.x/modules/metadata/mod_headers.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/metadata/mod_headers.c?rev=1599501&r1=1599500&r2=1599501&view=diff > ============================================================================== > --- httpd/httpd/branches/2.4.x/modules/metadata/mod_headers.c (original) > +++ httpd/httpd/branches/2.4.x/modules/metadata/mod_headers.c Tue Jun 3 > 12:14:22 2014 > @@ -870,7 +870,7 @@ static apr_status_t ap_headers_output_fi > headers_conf *dirconf = ap_get_module_config(f->r->per_dir_config, > &headers_module); > > - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, f->r->server, APLOGNO(01502) > + ap_log_error(APLOG_MARK, APLOG_TRACE2, 0, f->r->server, APLOGNO(01502) > "headers: ap_headers_output_filter()"); > > /* do the fixup */ > > Modified: httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_http.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_http.c?rev=1599501&r1=1599500&r2=1599501&view=diff > ============================================================================== > --- httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_http.c (original) > +++ httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_http.c Tue Jun 3 > 12:14:22 2014 > @@ -1306,7 +1306,7 @@ apr_status_t ap_proxy_http_process_respo > "error reading status line from remote " > "server %s:%d", backend->hostname, backend->port); > if (APR_STATUS_IS_TIMEUP(rc)) { > - apr_table_set(r->notes, "proxy_timedout", "1"); > + apr_table_setn(r->notes, "proxy_timedout", "1"); > ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(01103) > "read timeout"); > if (do_100_continue) { > return ap_proxyerror(r, HTTP_SERVICE_UNAVAILABLE, > "Timeout on 100-Continue"); > > Modified: httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_scgi.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_scgi.c?rev=1599501&r1=1599500&r2=1599501&view=diff > ============================================================================== > --- httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_scgi.c (original) > +++ httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_scgi.c Tue Jun 3 > 12:14:22 2014 > @@ -37,13 +37,13 @@ > #include "util_script.h" > > #include "mod_proxy.h" > +#include "scgi.h" > > > #define SCHEME "scgi" > #define PROXY_FUNCTION "SCGI" > #define SCGI_MAGIC "SCGI" > #define SCGI_PROTOCOL_VERSION "1" > -#define SCGI_DEFAULT_PORT (4000) > > /* just protect from typos */ > #define CONTENT_LENGTH "CONTENT_LENGTH" > @@ -183,7 +183,7 @@ static int scgi_canon(request_rec *r, ch > } > url += sizeof(SCHEME); /* Keep slashes */ > > - port = def_port = SCGI_DEFAULT_PORT; > + port = def_port = SCGI_DEF_PORT; > > err = ap_proxy_canon_netloc(r->pool, &url, NULL, NULL, &host, &port); > if (err) { > > Modified: httpd/httpd/branches/2.4.x/modules/proxy/proxy_util.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/proxy/proxy_util.c?rev=1599501&r1=1599500&r2=1599501&view=diff > ============================================================================== > --- httpd/httpd/branches/2.4.x/modules/proxy/proxy_util.c (original) > +++ httpd/httpd/branches/2.4.x/modules/proxy/proxy_util.c Tue Jun 3 12:14:22 > 2014 > @@ -22,6 +22,7 @@ > #include "apr_hash.h" > #include "proxy_util.h" > #include "ajp.h" > +#include "scgi.h" > > #if APR_HAVE_UNISTD_H > #include <unistd.h> /* for getpid() */ > @@ -3487,7 +3488,7 @@ static proxy_schemes_t pschemes[] = > { > {"fcgi", 8000}, > {"ajp", AJP13_DEF_PORT}, > - {"scgi", 4000}, > + {"scgi", SCGI_DEF_PORT}, > { NULL, 0xFFFF } /* unknown port */ > }; > > > Modified: httpd/httpd/branches/2.4.x/server/mpm/event/event.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/server/mpm/event/event.c?rev=1599501&r1=1599500&r2=1599501&view=diff > ============================================================================== > --- httpd/httpd/branches/2.4.x/server/mpm/event/event.c (original) > +++ httpd/httpd/branches/2.4.x/server/mpm/event/event.c Tue Jun 3 12:14:22 > 2014 > @@ -1633,7 +1633,7 @@ static void * APR_THREAD_FUNC listener_t > disable_listensocks(process_slot); > listeners_disabled = 1; > ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, ap_server_conf, > - "All workers busy, not accepting new conns" > + "All workers busy, not accepting new conns " > "in this process"); > } > else if ( (int)apr_atomic_read32(&connection_count) > > Modified: httpd/httpd/branches/2.4.x/server/util_expr_eval.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/server/util_expr_eval.c?rev=1599501&r1=1599500&r2=1599501&view=diff > ============================================================================== > --- httpd/httpd/branches/2.4.x/server/util_expr_eval.c (original) > +++ httpd/httpd/branches/2.4.x/server/util_expr_eval.c Tue Jun 3 12:14:22 > 2014 > @@ -1396,13 +1396,13 @@ static const char *request_var_fn(ap_exp > } > > static const char *req_header_var_names[] = { > - "HTTP_USER_AGENT", > - "HTTP_PROXY_CONNECTION", > - "HTTP_REFERER", > - "HTTP_COOKIE", > - "HTTP_FORWARDED", > - "HTTP_HOST", > - "HTTP_ACCEPT", > + "HTTP_USER_AGENT", /* 0 */ > + "HTTP_PROXY_CONNECTION", /* 1 */ > + "HTTP_REFERER", /* 2 */ > + "HTTP_COOKIE", /* 3 */ > + "HTTP_FORWARDED", /* 4 */ > + "HTTP_HOST", /* 5 */ > + "HTTP_ACCEPT", /* 6 */ > NULL > }; > > @@ -1422,7 +1422,7 @@ static const char *req_header_var_fn(ap_ > int index = (varname - req_header_var_names); > const char *name; > > - AP_DEBUG_ASSERT(index < 6); > + AP_DEBUG_ASSERT(index < 7); > if (!ctx->r) > return ""; > > >
