X-Git-Url: http://git.hcoop.net/hcoop/zz_old/modwaklog.git/blobdiff_plain/5d0827ae932728589a9494a98dc8c8df1a267285..2b27f55bad20a69597f2a7661e17f3091a587e92:/mod_waklog.c diff --git a/mod_waklog.c b/mod_waklog.c index d953c27..99f1de6 100644 --- a/mod_waklog.c +++ b/mod_waklog.c @@ -742,6 +742,27 @@ set_auth ( server_rec *s, request_rec *r, int self, char *principal, char *keyta } +int get_cfg_usertokens(waklog_config *cfg) +{ + if (cfg->usertokens==WAKLOG_UNSET) + return 0; /* default */ + return cfg->usertokens; +} + +int get_cfg_protect(waklog_config *cfg) +{ + if (cfg->protect==WAKLOG_UNSET) + return 0; /* default */ + return cfg->protect; +} + +int get_cfg_disable_token_cache(waklog_config *cfg) +{ + if (cfg->disable_token_cache==WAKLOG_UNSET) + return 0; /* default */ + return cfg->disable_token_cache; +} + static void * waklog_create_server_config (MK_POOL * p, server_rec * s) @@ -1306,8 +1327,14 @@ waklog_init_handler (apr_pool_t * p, apr_pool_t * plog, /* mmap the region */ if ( ( sharedspace = (struct sharedspace_s *) mmap ( NULL, sizeof(struct sharedspace_s), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0 ) ) != MAP_FAILED ) { + int err = 0; log_error( APLOG_MARK, APLOG_DEBUG, 0, s, "mod_waklog: shared mmap region ok %d", sharedspace ); - close(fd); + err = unlink(cache_file); + if (err) { + log_error( APLOG_MARK, APLOG_ERR, 0, s, "mod_waklog: unable to delete %s due to %d", cache_file, errno); + } else { + log_error( APLOG_MARK, APLOG_DEBUG, 0, s, "mod_waklog: shared cache unlinked (will be deleted when Apache quits)"); + } } else { log_error( APLOG_MARK, APLOG_DEBUG, 0, s, "mod_waklog: mmap failed %d", errno ); exit(errno); @@ -1491,7 +1518,7 @@ waklog_phase0 (request_rec * r) cfg = retrieve_config(r); - if ( cfg->protect && cfg->principal ) { + if ( get_cfg_protect(cfg) && cfg->principal ) { log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, "mod_waklog: phase0 using user %s", cfg->principal); set_auth(r->server, r, 0, cfg->principal, cfg->keytab, 0); } else if ( cfg->default_principal ) { @@ -1520,7 +1547,7 @@ waklog_phase1 (request_rec * r) cfg = retrieve_config(r); - if ( cfg->protect && cfg->principal ) { + if ( get_cfg_protect(cfg) && cfg->principal ) { log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, "mod_waklog: phase1 using user %s", cfg->principal); set_auth(r->server, r, 0, cfg->principal, cfg->keytab, 0); } else if ( cfg->default_principal ) { @@ -1543,7 +1570,7 @@ waklog_phase3 (request_rec * r) cfg = retrieve_config(r); - if ( cfg->protect && cfg->principal ) { + if ( get_cfg_protect(cfg) && cfg->principal ) { log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, "mod_waklog: phase3 using user %s", cfg->principal); set_auth(r->server, r, 0, cfg->principal, cfg->keytab, 0); } else if ( cfg->default_principal ) { @@ -1566,7 +1593,7 @@ waklog_phase6 (request_rec * r) cfg = retrieve_config(r); - if ( cfg->protect && cfg->principal ) { + if ( get_cfg_protect(cfg) && cfg->principal ) { log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, "mod_waklog: phase6 using user %s", cfg->principal); set_auth(r->server, r, 0, cfg->principal, cfg->keytab, 0); } else if ( cfg->default_principal ) { @@ -1590,10 +1617,10 @@ waklog_phase7 (request_rec * r) cfg = retrieve_config (r); - if ( cfg->protect && cfg->usertokens ) { + if ( get_cfg_protect(cfg) && get_cfg_usertokens(cfg) ) { log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, "mod_waklog: phase7 using usertokens"); rc = set_auth( r->server, r, 1, NULL, NULL, 0); - } else if ( cfg->protect && cfg->principal ) { + } else if ( get_cfg_protect(cfg) && cfg->principal ) { log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, "mod_waklog: phase7 using user %s", cfg->principal); rc = set_auth( r->server, r, 0, cfg->principal, cfg->keytab, 0); } else if ( cfg->default_principal ) {