X-Git-Url: https://git.hcoop.net/hcoop/debian/libapache-mod-waklog.git/blobdiff_plain/c049d83d91fe23f92e633950f5a78dab59e0d09c..a67931de957d54ebb6f0a10dfcd0918e6247e95c:/mod_waklog.c diff --git a/mod_waklog.c b/mod_waklog.c index bf1becf..6574655 100644 --- a/mod_waklog.c +++ b/mod_waklog.c @@ -10,6 +10,8 @@ #ifdef sun #include +#include +#include #elif linux #define use_pthreads #include @@ -31,9 +33,6 @@ /********************* APACHE1 ******************************************************************************/ #ifndef APACHE2 #include "ap_config.h" -#if defined(sun) -#include -#endif /* sun */ #include #define MK_POOL pool #define MK_TABLE_GET ap_table_get @@ -46,6 +45,7 @@ module waklog_module; /********************* APACHE2 ******************************************************************************/ #else +#include "http_connection.h" #include #include #define ap_pcalloc apr_pcalloc @@ -71,7 +71,7 @@ const char *userdata_key = "waklog_init"; /**************************************************************************************************/ #include -#include +#include #include @@ -164,18 +164,6 @@ int renewcount = 0; #define getModConfig(P, X) P = (waklog_config *) ap_get_module_config( (X)->module_config, &waklog_module ); -#include - -#if defined(sun) -#include -#endif /* sun */ -#include -#include -#include -#include -#include -#include - static void log_error (const char *file, int line, int level, int status, @@ -311,7 +299,7 @@ set_auth ( server_rec *s, request_rec *r, int self, char *principal, char *keyta #ifdef APACHE2 if ( ! ( r && r->connection && r->user )) { log_error(APLOG_MARK, APLOG_ERR, 0, s, "mod_waklog: self authentication selected, but no data available"); - log_error(APLOG_MARK, APLOG_ERR, 0, s, "mod_waklog: r->user=%s", (r->user==NULL ? "null" : r->user==NULL)); + log_error(APLOG_MARK, APLOG_ERR, 0, s, "mod_waklog: r->user=%s", (r->user==NULL ? "null" : r->user)); return -1; } @@ -346,7 +334,7 @@ set_auth ( server_rec *s, request_rec *r, int self, char *principal, char *keyta } #endif - log_error(APLOG_MARK, APLOG_DEBUG, 0, s, "mod_waklog: set_auth: k5user=%s", k5user ? k5user : "NULL"); + log_error(APLOG_MARK, APLOG_DEBUG, 0, s, "mod_waklog: set_auth: k5user=%s", k5user); mytime = time(0); /* see if we should just go ahead and ignore this call, since we already should be set to these @@ -417,7 +405,7 @@ set_auth ( server_rec *s, request_rec *r, int self, char *principal, char *keyta } /* if 'usecached' isn't set, we've got to get our tokens from somewhere... */ - if (( ! usecached ) && ( k5user )) { + if ( ! usecached ) { /* clear out the creds structure */ memset((void *) &v5creds, 0, sizeof(v5creds)); @@ -1116,7 +1104,7 @@ waklog_child_init (server_rec * s, MK_POOL * p) } if ( pag_for_children ) { - setpag (); + k_setpag (); } getModConfig (cfg, s); @@ -1186,7 +1174,15 @@ token_cleanup (void *data) return 0; } +/* This function doesn't return anything but is passed to ap_bspawn_child on + * Apache 1 which expects it to return a pid as an int. For want of better + * understanding, err on the side of not changing Apache 1 code while fixing + * the compile warning on Apache 2. */ +#ifdef APACHE2 +static void +#else static int +#endif waklog_child_routine (void *data, child_info * pinfo) { int i; @@ -1327,7 +1323,10 @@ waklog_init_handler (apr_pool_t * p, apr_pool_t * plog, struct sharedspace_s bob; log_error(APLOG_MARK, APLOG_ERR, 0, s, "mod_waklog: sizing our cache file %d to %d", fd, sizeof(struct sharedspace_s) ); memset( &bob, 0, sizeof(struct sharedspace_s)); - write(fd, &bob, sizeof(struct sharedspace_s)); + if ( write(fd, &bob, sizeof(struct sharedspace_s)) != sizeof(struct sharedspace_s) ) { + log_error(APLOG_MARK, APLOG_ERR, 0, s, "mod_waklog: failed to write to our cache file %s (%d)", cache_file, errno ); + exit(errno); + } log_error(APLOG_MARK, APLOG_ERR, 0, s, "mod_waklog: done sizing our cache file to %d", sizeof(struct sharedspace_s) ); } @@ -1354,7 +1353,7 @@ waklog_init_handler (apr_pool_t * p, apr_pool_t * plog, #define locktype rwlock_t #endif - if ( sharedlock = ( locktype * ) mmap ( NULL, sizeof(locktype), PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANON, -1, 0 ) ) { + if ( ( sharedlock = ( locktype * ) mmap ( NULL, sizeof(locktype), PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANON, -1, 0 ) ) != NULL ) { #ifndef use_pthreads rwlock_init(sharedlock, USYNC_PROCESS, NULL ); #else