Fixes for 2.4 API. --- mod_auth_kerb-5.4/src/mod_auth_kerb.c.httpd24 +++ mod_auth_kerb-5.4/src/mod_auth_kerb.c @@ -179,6 +179,16 @@ static apr_global_mutex_t *s4u2proxy_loc #define PROXYREQ_PROXY STD_PROXY #endif +#if MODULE_MAGIC_NUMBER_MAJOR >= 20100606 +/* 2.4.x or later */ +#define WITH_HTTPD24 1 +#define client_ip(r) ((r)->useragent_ip) +APLOG_USE_MODULE(auth_kerb); +#else +#define client_ip(r) ((r)->connection->remote_ip) +#define ap_unixd_set_global_mutex_perms unixd_set_global_mutex_perms +#endif + /*************************************************************************** Auth Configuration Structure ***************************************************************************/ @@ -383,7 +393,11 @@ cmd_delegationlock(cmd_parms *cmd, void } static void -log_rerror(const char *file, int line, int level, int status, +log_rerror(const char *file, int line, +#ifdef WITH_HTTPD24 + int module_index, +#endif + int level, int status, const request_rec *r, const char *fmt, ...) { char errstr[1024]; @@ -394,7 +408,9 @@ log_rerror(const char *file, int line, i va_end(ap); -#ifdef STANDARD20_MODULE_STUFF +#if defined(WITH_HTTPD24) + ap_log_rerror(file, line, module_index, level, status, r, "%s", errstr); +#elif defined(STANDARD20_MODULE_STUFF) ap_log_rerror(file, line, level | APLOG_NOERRNO, status, r, "%s", errstr); #else ap_log_rerror(file, line, level | APLOG_NOERRNO, r, "%s", errstr); @@ -1860,8 +1876,8 @@ already_succeeded(request_rec *r, char * char keyname[1024]; snprintf(keyname, sizeof(keyname) - 1, - "mod_auth_kerb::connection::%s::%ld", r->connection->remote_ip, - r->connection->id); + "mod_auth_kerb::connection::%s::%ld", client_ip(r), + r->connection->id); if (apr_pool_userdata_get((void**)&conn_data, keyname, r->connection->pool) != 0) return NULL; @@ -2014,7 +2030,7 @@ kerb_authenticate_user(request_rec *r) prevauth->last_return = ret; snprintf(keyname, sizeof(keyname) - 1, "mod_auth_kerb::connection::%s::%ld", - r->connection->remote_ip, r->connection->id); + client_ip(r), r->connection->id); apr_pool_userdata_set(prevauth, keyname, NULL, r->connection->pool); } @@ -2073,7 +2089,7 @@ s4u2proxylock_create(server_rec *s, apr_ } #ifdef AP_NEED_SET_MUTEX_PERMS - rc = unixd_set_global_mutex_perms(s4u2proxy_lock); + rc = ap_unixd_set_global_mutex_perms(s4u2proxy_lock); if (rc != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_CRIT, rc, s, "mod_auth_kerb: Parent could not set permissions "