--------------------- PatchSet 1114 Date: 2001/01/06 13:31:53 Author: rbcollins Branch: auth_rewrite Tag: (none) Log: debug level tidy up & config dump function implementation Members: src/authenticate.c:1.1.1.3.12.17.2.22->1.1.1.3.12.17.2.23 src/cache_cf.c:1.1.1.3.4.1.2.9.2.12->1.1.1.3.4.1.2.9.2.13 src/client_side.c:1.1.1.3.4.1.2.30.2.13->1.1.1.3.4.1.2.30.2.14 src/structs.h:1.1.1.3.4.1.2.26.2.22->1.1.1.3.4.1.2.26.2.23 src/typedefs.h:1.1.1.3.12.13.2.15->1.1.1.3.12.13.2.16 src/auth/basic/auth_basic.c:1.1.2.18->1.1.2.19 Index: squid/src/authenticate.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/authenticate.c,v retrieving revision 1.1.1.3.12.17.2.22 retrieving revision 1.1.1.3.12.17.2.23 diff -u -r1.1.1.3.12.17.2.22 -r1.1.1.3.12.17.2.23 --- squid/src/authenticate.c 5 Jan 2001 23:43:58 -0000 1.1.1.3.12.17.2.22 +++ squid/src/authenticate.c 6 Jan 2001 13:31:53 -0000 1.1.1.3.12.17.2.23 @@ -1,6 +1,6 @@ /* - * $Id: authenticate.c,v 1.1.1.3.12.17.2.22 2001/01/05 23:43:58 rbcollins Exp $ + * $Id: authenticate.c,v 1.1.1.3.12.17.2.23 2001/01/06 13:31:53 rbcollins Exp $ * * DEBUG: section 29 Authenticator * AUTHOR: Duane Wessels @@ -93,7 +93,7 @@ //checked by aclMatchProxy. assert(proxy_auth != NULL); assert(auth_user_request != NULL); /* we need this created for us. */ - debug(29, 6) ("authenticateDecodeAuth: header = '%s'\n", proxy_auth); + debug(29, 9) ("authenticateDecodeAuth: header = '%s'\n", proxy_auth); if (authenticateAuthSchemeConfigured(proxy_auth)) { /* we're configured to use this scheme - but is it active ? */ @@ -134,7 +134,6 @@ } } } -CBDATA_TYPE(authenticateStateData); /**** PUBLIC FUNCTIONS (ALL GENERIC!) ****/ @@ -144,7 +143,7 @@ { assert(auth_user_request); assert(handler); - debug(29,5)("authenticateStart: auth_user_request '%d'\n", auth_user_request); + debug(29,9)("authenticateStart: auth_user_request '%d'\n", auth_user_request); if (auth_user_request->auth_user->auth_module>0) authscheme_list[auth_user_request->auth_user->auth_module-1].authStart(auth_user_request, handler, data); else @@ -158,21 +157,21 @@ int authenticateValidateUser(auth_user_request_t * auth_user_request) { - debug(29,6) ("authenticateValidateUser: Validating Auth_user request '%d'.\n",auth_user_request); + debug(29,9) ("authenticateValidateUser: Validating Auth_user request '%d'.\n",auth_user_request); if (auth_user_request == NULL) { - debug(29,6) ("authenticateValidateUser: Auth_user_request was NULL!\n"); + debug(29,4) ("authenticateValidateUser: Auth_user_request was NULL!\n"); return 0; } if (auth_user_request->auth_user == NULL) { - debug(29,6) ("authenticateValidateUser: No associated auth_user structure\n"); + debug(29,4) ("authenticateValidateUser: No associated auth_user structure\n"); return 0; } if (auth_user_request->auth_user->auth_type == AUTH_UNKNOWN) { - debug(29,6) ("authenticateValidateUser: Auth_user '%d' uses unknown scheme.\n",auth_user_request->auth_user); + debug(29,4) ("authenticateValidateUser: Auth_user '%d' uses unknown scheme.\n",auth_user_request->auth_user); return 0; } if (auth_user_request->auth_user->auth_type == AUTH_BROKEN) { - debug(29,6) ("authenticateValidateUser: Auth_user '%d' is broken for it's scheme.\n",auth_user_request->auth_user); + debug(29,4) ("authenticateValidateUser: Auth_user '%d' is broken for it's scheme.\n",auth_user_request->auth_user); return 0; } /* any other sanity checks that we need in the future */ @@ -180,7 +179,7 @@ /* Thus should a module call to something like authValidate */ /* finally return ok */ - debug(29,6) ("authenticateValidateUser: Validated Auth_user request '%d'.\n",auth_user_request); + debug(29,4) ("authenticateValidateUser: Validated Auth_user request '%d'.\n",auth_user_request); return 1; } @@ -216,7 +215,7 @@ authenticateAuthUserRequestFree(auth_user_request_t * auth_user_request) { dlink_node *link; - debug(29,6)("authenticateAuthUserRequestFree: freeing request %d\n",auth_user_request); + debug(29,5)("authenticateAuthUserRequestFree: freeing request %d\n",auth_user_request); if (!auth_user_request) return; assert (auth_user_request->references==0); @@ -274,7 +273,7 @@ auth_user_hash_pointer *proxy_auth_hash = NULL; #endif auth_user_request_t *auth_user_request = authenticateAuthUserRequestNew(); - /* and lock for the request instance */ + /* and lock for the callers instance */ authenticateAuthUserRequestLock(auth_user_request); authenticateDecodeAuth(proxy_auth, auth_user_request); #if 0 @@ -382,14 +381,14 @@ int i =0,rv =0; for (i = 0; authscheme_list && authscheme_list[i].typestr; i++) if (authscheme_list[i].Active()) rv++; - debug(29,3)("authenticateActiveSchemeCount: %d active.\n",rv); + debug(29,9)("authenticateActiveSchemeCount: %d active.\n",rv); return rv; } int authenticateSchemeCount() { int i =0,rv =0; for (i = 0; authscheme_list && authscheme_list[i].typestr; i++) rv++; - debug(29,3)("authenticateSchemeCount: %d active.\n",rv); + debug(29,9)("authenticateSchemeCount: %d active.\n",rv); return rv; } @@ -420,13 +419,13 @@ authenticateShutdown(void) { int i; - debug(29,6) ("authenticateShutdown: shutting down auth schemes\n"); + debug(29,2) ("authenticateShutdown: shutting down auth schemes\n"); /* find the currently known authscheme types */ for (i = 0; authscheme_list && authscheme_list[i].typestr; i++) { if (authscheme_list[i].donefunc !=NULL) authscheme_list[i].donefunc(); else - debug(29,5) ("authenticateShutdown: scheme %s has not registered a shutdown function.\n", authscheme_list[i].typestr); + debug(29,2) ("authenticateShutdown: scheme %s has not registered a shutdown function.\n", authscheme_list[i].typestr); authscheme_list[i].typestr=NULL; } } @@ -518,7 +517,7 @@ authscheme_list[scheme->Id].authFixHeader(auth_user_request,rep,type, request); else - debug(29,8)("authenticateFixHeader: Configured scheme %s not Active\n",scheme->typestr); + debug(29,4)("authenticateFixHeader: Configured scheme %s not Active\n",scheme->typestr); } } } @@ -538,44 +537,44 @@ void authenticateAuthUserLock(auth_user_t *auth_user) { - debug (29,6) ("authenticateAuthUserLock auth_user '%d'.\n",auth_user); + debug (29,9) ("authenticateAuthUserLock auth_user '%d'.\n",auth_user); assert(auth_user!=NULL); auth_user->references++; - debug (29,6) ("authenticateAuthUserLock auth_user '%d' now at '%d'.\n",auth_user, auth_user->references); + debug (29,9) ("authenticateAuthUserLock auth_user '%d' now at '%d'.\n",auth_user, auth_user->references); } void authenticateAuthUserUnlock(auth_user_t *auth_user) { - debug (29,6) ("authenticateAuthUserUnlock auth_user '%d'.\n",auth_user); + debug (29,9) ("authenticateAuthUserUnlock auth_user '%d'.\n",auth_user); assert(auth_user!=NULL); if (auth_user->references>0){ auth_user->references--; } else { debug(29,1) ("Attempt to lower Auth User %d refcount below 0!\n",auth_user); } - debug (29,6) ("authenticateAuthUserUnlock auth_user '%d' now at '%d'.\n",auth_user, auth_user->references); + debug (29,9) ("authenticateAuthUserUnlock auth_user '%d' now at '%d'.\n",auth_user, auth_user->references); if (auth_user->references==0) authenticateFreeProxyAuthUser(auth_user); } void authenticateAuthUserRequestLock(auth_user_request_t *auth_user_request) { - debug (29,6) ("authenticateAuthUserRequestLock auth_user request '%d'.\n",auth_user_request); + debug (29,9) ("authenticateAuthUserRequestLock auth_user request '%d'.\n",auth_user_request); assert(auth_user_request!=NULL); auth_user_request->references++; - debug (29,6) ("authenticateAuthUserRequestLock auth_user request '%d' now at '%d'.\n",auth_user_request, auth_user_request->references); + debug (29,9) ("authenticateAuthUserRequestLock auth_user request '%d' now at '%d'.\n",auth_user_request, auth_user_request->references); } void authenticateAuthUserRequestUnlock(auth_user_request_t *auth_user_request) { - debug (29,6) ("authenticateAuthUserRequestUnlock auth_user request '%d'.\n",auth_user_request); + debug (29,9) ("authenticateAuthUserRequestUnlock auth_user request '%d'.\n",auth_user_request); assert(auth_user_request != NULL); if (auth_user_request->references>0){ auth_user_request->references--; } else { debug(29,1) ("Attempt to lower Auth User request %d refcount below 0!\n",auth_user_request); } - debug (29,6) ("authenticateAuthUserRequestUnlock auth_user_request '%d' now at '%d'.\n",auth_user_request, auth_user_request->references); + debug (29,9) ("authenticateAuthUserRequestUnlock auth_user_request '%d' now at '%d'.\n",auth_user_request, auth_user_request->references); if (auth_user_request->references==0) { /* not locked anymore */ authenticateAuthUserRequestFree(auth_user_request); @@ -600,7 +599,7 @@ auth_user_request_t * auth_user_request; /* XXX combine two authuser structs. Incomplete: it should merge in hash references too and ask the module to merge in scheme data*/ - debug (29,6) ("authenticateAuthUserMerge auth_user '%d' into auth_user '%d'.\n",from,to); + debug (29,5) ("authenticateAuthUserMerge auth_user '%d' into auth_user '%d'.\n",from,to); link = from->requests.head; while (link) { @@ -626,12 +625,12 @@ #endif dlink_node *link, *tmplink; assert(data !=NULL); - debug(29,6) ("authenticateFreeProxyAuthUser: Freeing auth_user '%d' with refcount '%d'.\n",u,u->references); + debug(29,5) ("authenticateFreeProxyAuthUser: Freeing auth_user '%d' with refcount '%d'.\n",u,u->references); assert(u->references==0); /* were they linked in by username ? */ if (u->usernamehash) { assert(u->usernamehash->auth_user == u); - debug(29,6) ("authenticateFreeProxyAuthUser: removing usernamehash entry '%d'\n",u->usernamehash); + debug(29,5) ("authenticateFreeProxyAuthUser: removing usernamehash entry '%d'\n",u->usernamehash); hash_remove_link(proxy_auth_username_cache, (hash_link *) u->usernamehash); /* don't free the key as we use the same user string as the auth_user @@ -656,7 +655,7 @@ /* remove any outstanding requests */ link = u->requests.head; while (link) { - debug(29,6) ("authenticateFreeProxyAuthUser: removing request entry '%d'\n",link->data); + debug(29,5) ("authenticateFreeProxyAuthUser: removing request entry '%d'\n",link->data); auth_user_request = link->data; tmplink = link; link=link->next; @@ -710,17 +709,17 @@ /* if we need to have inpedendent expiry clauses, insert a module call * here */ - debug(29,6) ("authenticateProxyUserCacheCleanup: Cache entry:\n\tType: %d\n\tUsername: %s\n\texpires: %d\n\treferences: %d\n", auth_user->auth_type, username, auth_user->expiretime+ Config.authenticateTTL,auth_user->references); + debug(29,4) ("authenticateProxyUserCacheCleanup: Cache entry:\n\tType: %d\n\tUsername: %s\n\texpires: %d\n\treferences: %d\n", auth_user->auth_type, username, auth_user->expiretime+ Config.authenticateTTL,auth_user->references); if (auth_user->expiretime + Config.authenticateTTL <= current_time.tv_sec) { - debug(29,3)("authenticateProxyUserCacheCleanup: Removing user %s from cache due to timeout.\n",username); + debug(29,5)("authenticateProxyUserCacheCleanup: Removing user %s from cache due to timeout.\n",username); /* the minus 1 accounts for the cache lock */ if ((authenticateAuthUserInuse(auth_user)-1)) - debug(29,3)("authenticateProxyUserCacheCleanup: this cache entry has expired AND has a non-zero ref count.\n"); + debug(29,4)("authenticateProxyUserCacheCleanup: this cache entry has expired AND has a non-zero ref count.\n"); else authenticateAuthUserUnlock(auth_user); } } - debug(29,6) ("authenticateProxyUserCacheCleanup: Finished cleaning the user cache.\n"); + debug(29,3) ("authenticateProxyUserCacheCleanup: Finished cleaning the user cache.\n"); eventAdd("User Cache Maintenance", authenticateProxyUserCacheCleanup, NULL, Config.authenticateGCInterval, 1); } @@ -734,12 +733,12 @@ auth_user_hash_pointer *usernamehash; auth_user_t *auth_user; char * username=NULL; - debug(29,1) ("authenticateUserCacheRestart: Clearing config dependent cache data.\n"); + debug(29,3) ("authenticateUserCacheRestart: Clearing config dependent cache data.\n"); hash_first(proxy_auth_username_cache); while ((usernamehash=((auth_user_hash_pointer *)hash_next(proxy_auth_username_cache)))) { auth_user=usernamehash->auth_user; username=authenticateUserUsername(auth_user); - debug(29,3) ("authenticateUserCacheRestat: Clearing cache ACL results for user: %s\n", username); + debug(29,5) ("authenticateUserCacheRestat: Clearing cache ACL results for user: %s\n", username); aclCacheMatchFlush(&auth_user->proxy_match_cache); } Index: squid/src/cache_cf.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/cache_cf.c,v retrieving revision 1.1.1.3.4.1.2.9.2.12 retrieving revision 1.1.1.3.4.1.2.9.2.13 diff -u -r1.1.1.3.4.1.2.9.2.12 -r1.1.1.3.4.1.2.9.2.13 --- squid/src/cache_cf.c 5 Jan 2001 22:45:27 -0000 1.1.1.3.4.1.2.9.2.12 +++ squid/src/cache_cf.c 6 Jan 2001 13:31:53 -0000 1.1.1.3.4.1.2.9.2.13 @@ -1,6 +1,6 @@ /* - * $Id: cache_cf.c,v 1.1.1.3.4.1.2.9.2.12 2001/01/05 22:45:27 rbcollins Exp $ + * $Id: cache_cf.c,v 1.1.1.3.4.1.2.9.2.13 2001/01/06 13:31:53 rbcollins Exp $ * * DEBUG: section 3 Configuration File Parsing * AUTHOR: Harvest Derived @@ -1033,15 +1033,14 @@ } static void -dump_authparam(StoreEntry * entry, const char *name, authConfig swap) +dump_authparam(StoreEntry * entry, const char *name, authConfig cfg) { - fatalf("haha\n"); -// SwapDir *s; -// int i; -// for (i = 0; i < swap.n_configured; i++) { -// s = swap.swapDirs + i; -// s->dump(entry, name, s); -// } + authScheme *scheme; + int i; + for (i = 0; i < cfg.n_configured; i++) { + scheme = cfg.schemes + i; + authscheme_list[scheme->Id].dump(entry, name, scheme); + } } static void Index: squid/src/client_side.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/client_side.c,v retrieving revision 1.1.1.3.4.1.2.30.2.13 retrieving revision 1.1.1.3.4.1.2.30.2.14 diff -u -r1.1.1.3.4.1.2.30.2.13 -r1.1.1.3.4.1.2.30.2.14 --- squid/src/client_side.c 5 Jan 2001 22:45:27 -0000 1.1.1.3.4.1.2.30.2.13 +++ squid/src/client_side.c 6 Jan 2001 13:31:53 -0000 1.1.1.3.4.1.2.30.2.14 @@ -1,6 +1,6 @@ /* - * $Id: client_side.c,v 1.1.1.3.4.1.2.30.2.13 2001/01/05 22:45:27 rbcollins Exp $ + * $Id: client_side.c,v 1.1.1.3.4.1.2.30.2.14 2001/01/06 13:31:53 rbcollins Exp $ * * DEBUG: section 33 Client-side Routines * AUTHOR: Duane Wessels @@ -766,7 +766,10 @@ http->al.headers.request = xstrdup(mb.buf); http->al.hier = request->hier; if (request->auth_user_request) - http->al.cache.authuser = authenticateUserRequestUsername(request->auth_user_request); + { + http->al.cache.authuser = xstrdup(authenticateUserRequestUsername(request->auth_user_request)); + authenticateAuthUserRequestUnlock(request->auth_user_request); + } #if 0 if (request->authuser[0]) http->al.cache.authuser = request->authuser; Index: squid/src/structs.h =================================================================== RCS file: /cvsroot/squid-sf//squid/src/structs.h,v retrieving revision 1.1.1.3.4.1.2.26.2.22 retrieving revision 1.1.1.3.4.1.2.26.2.23 diff -u -r1.1.1.3.4.1.2.26.2.22 -r1.1.1.3.4.1.2.26.2.23 --- squid/src/structs.h 5 Jan 2001 10:33:43 -0000 1.1.1.3.4.1.2.26.2.22 +++ squid/src/structs.h 6 Jan 2001 13:31:53 -0000 1.1.1.3.4.1.2.26.2.23 @@ -1,6 +1,6 @@ /* - * $Id: structs.h,v 1.1.1.3.4.1.2.26.2.22 2001/01/05 10:33:43 rbcollins Exp $ + * $Id: structs.h,v 1.1.1.3.4.1.2.26.2.23 2001/01/06 13:31:53 rbcollins Exp $ * * * SQUID Internet Object Cache http://squid.nlanr.net/Squid/ @@ -129,6 +129,7 @@ AUTHSADDTRAILER *AddTrailer; AUTHSAUTHED *authenticated; AUTHSAUTHUSER *authAuthenticate; + AUTHSDUMP *dump; AUTHSFIXERR *authFixHeader; AUTHSFREE *FreeUser; AUTHSFREECONFIG *freeconfig; Index: squid/src/typedefs.h =================================================================== RCS file: /cvsroot/squid-sf//squid/src/typedefs.h,v retrieving revision 1.1.1.3.12.13.2.15 retrieving revision 1.1.1.3.12.13.2.16 diff -u -r1.1.1.3.12.13.2.15 -r1.1.1.3.12.13.2.16 --- squid/src/typedefs.h 5 Jan 2001 22:45:28 -0000 1.1.1.3.12.13.2.15 +++ squid/src/typedefs.h 6 Jan 2001 13:31:53 -0000 1.1.1.3.12.13.2.16 @@ -1,6 +1,6 @@ /* - * $Id: typedefs.h,v 1.1.1.3.12.13.2.15 2001/01/05 22:45:28 rbcollins Exp $ + * $Id: typedefs.h,v 1.1.1.3.12.13.2.16 2001/01/06 13:31:53 rbcollins Exp $ * * * SQUID Internet Object Cache http://squid.nlanr.net/Squid/ @@ -299,6 +299,7 @@ typedef void AUTHSAUTHUSER(auth_user_request_t *, request_t *, ConnStateData *, http_hdr_type); typedef void AUTHSDECODE(auth_user_request_t *, const char *); typedef int AUTHSDIRECTION(auth_user_request_t *); +typedef void AUTHSDUMP(StoreEntry *, const char *, authScheme *); typedef void AUTHSFIXERR(auth_user_request_t *, HttpReply *, http_hdr_type, request_t *); typedef void AUTHSADDHEADER(auth_user_request_t *, HttpReply *, int); typedef void AUTHSADDTRAILER(auth_user_request_t *, HttpReply *, int); Index: squid/src/auth/basic/auth_basic.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/auth/basic/auth_basic.c,v retrieving revision 1.1.2.18 retrieving revision 1.1.2.19 diff -u -r1.1.2.18 -r1.1.2.19 --- squid/src/auth/basic/auth_basic.c 5 Jan 2001 22:45:28 -0000 1.1.2.18 +++ squid/src/auth/basic/auth_basic.c 6 Jan 2001 13:31:53 -0000 1.1.2.19 @@ -55,6 +55,7 @@ static AUTHSAUTHUSER authenticateBasicAuthenticateUser; static AUTHSDIRECTION authenticateBasicDirection; static AUTHSDECODE authenticateBasicDecodeAuth; +static AUTHSDUMP authBasicCfgDump; static AUTHSFIXERR authenticateBasicFixErrorHeader; static AUTHSFREE authenticateBasicFreeUser; static AUTHSFREECONFIG authBasicFreeConfig; @@ -97,6 +98,7 @@ assert(!authbasic_initialised); authscheme->Active =authenticateBasicActive; authscheme->parse =authBasicParse; + authscheme->dump =authBasicCfgDump; authscheme->init =authBasicInit; authscheme->authAuthenticate = authenticateBasicAuthenticateUser; authscheme->authenticated= authenticateBasicAuthenticated; @@ -132,7 +134,7 @@ basic_data *basic_auth=auth_user_request->auth_user->scheme_data; if ((auth_user_request->auth_user->flags.credentials_ok==1) && (basic_auth->credentials_checkedtime+basicConfig->credentialsTTL > squid_curtime)) return 1; - debug (29, 7) ("User not authenticated or credentials need rechecking.\n"); + debug (29, 4) ("User not authenticated or credentials need rechecking.\n"); return 0; } @@ -168,7 +170,7 @@ /* are we about to recheck the credentials externally? */ if ((basic_auth->credentials_checkedtime+basicConfig->credentialsTTL)<=squid_curtime) { - debug(29,6)("authBasicAuthenticate: credentials expired - rechecking\n"); + debug(29,4)("authBasicAuthenticate: credentials expired - rechecking\n"); return; } #if 0 @@ -177,7 +179,7 @@ #endif /* we have been through the external helper, and the credentials haven't expired */ - debug(29, 4) ("authenticateBasicAuthenticateuser: user '%s' authenticated\n", + debug(29, 9) ("authenticateBasicAuthenticateuser: user '%s' authenticated\n", basic_auth->username); /* Decode now takes care of finding the auth_user struct in the cache */ @@ -247,7 +249,7 @@ authenticateBasicFixErrorHeader(auth_user_request_t *auth_user_request, HttpReply *rep, http_hdr_type type, request_t * request){ if (basicConfig->authenticate) { - debug(29, 5) ("authenticateFixErrorHeader: Sending type:%d header: 'Basic realm=\"%s\"'\n",type,basicConfig->basicAuthRealm); + debug(29, 9) ("authenticateFixErrorHeader: Sending type:%d header: 'Basic realm=\"%s\"'\n",type,basicConfig->basicAuthRealm); httpHeaderPutStrf(&rep->header, type, "Basic realm=\"%s\"", basicConfig->basicAuthRealm); } } @@ -270,7 +272,7 @@ void authenticateBasicFreeUser(auth_user_t *auth_user) { basic_data * basic_auth = auth_user->scheme_data; - debug(29,6) ("authenticateBasicFreeUser: Clearing Basic scheme data\n"); + debug(29,5) ("authenticateBasicFreeUser: Clearing Basic scheme data\n"); if (basic_auth->username) xfree(basic_auth->username); if (basic_auth->passwd) @@ -288,7 +290,7 @@ auth_basic_queue_node *node,*tmpnode; int valid; char *t = NULL; - debug(29, 5) ("authenticateBasicHandleReply: {%s}\n", reply ? reply : ""); + debug(29, 9) ("authenticateBasicHandleReply: {%s}\n", reply ? reply : ""); if (reply) { if ((t = strchr(reply, ' '))) *t = '\0'; @@ -327,6 +329,24 @@ } static void +authBasicCfgDump(StoreEntry *entry, const char * name, authScheme *scheme) +{ + auth_basic_config *config=scheme->scheme_data; + wordlist *list=config->authenticate; + storeAppendPrintf(entry, "%s %s", name, "basic"); + while (list !=NULL) + { + storeAppendPrintf(entry, "%s ", list->key); + list = list->next; + } + storeAppendPrintf(entry, "\n%s %s realm='%s'\n%s %s children=%d\n%s %s credentialsttl=%d seconds\n", + name, "basic", config->basicAuthRealm, + name, "basic", config->authenticateChildren, + name, "basic", config->credentialsTTL); + +} + +static void authBasicParse(authScheme *scheme, int n_configured, char *param_str) { if (scheme->scheme_data==NULL) @@ -456,20 +476,20 @@ * Oezguer Kesim */ strtok(cleartext, "\r\n"); - debug(29, 6) ("authenticateBasicDecodeAuth: cleartext = '%s'\n", cleartext); + debug(29, 9) ("authenticateBasicDecodeAuth: cleartext = '%s'\n", cleartext); local_basic.username = xstrndup(cleartext, USER_IDENT_SZ); xfree(cleartext); if ((cleartext = strchr(local_basic.username, ':')) != NULL) *(cleartext)++ = '\0'; local_basic.passwd=cleartext; if (cleartext == NULL) { - debug(29, 2) ("authenticateBasicDecodeAuth: no password in proxy authorization header '%s'\n", + debug(29, 4) ("authenticateBasicDecodeAuth: no password in proxy authorization header '%s'\n", proxy_auth); local_basic.passwd=NULL; auth_user_request->message=xstrdup("no password was present in the HTTP [proxy-]authorization header. This is most likely a browser bug"); } else if (*cleartext == '\0') { - debug(29, 2) ("authenticateBasicDecodeAuth: Disallowing empty password," + debug(29, 4) ("authenticateBasicDecodeAuth: Disallowing empty password," "user is '%s'\n", local_basic.username); local_basic.passwd=NULL; auth_user_request->message=xstrdup("Request denied because you provided an empty password. Users MUST have a password."); @@ -482,7 +502,7 @@ if (local_basic.username) { /* log the username */ - debug(29,6)("authBasicDecodeAuth: Creating new user for logging '%s'\n",local_basic.username); + debug(29,9)("authBasicDecodeAuth: Creating new user for logging '%s'\n",local_basic.username); /* new auth_user */ auth_user=authenticateAuthUserNew("basic"); /* new scheme data */ @@ -517,7 +537,7 @@ if ((auth_user=authBasicAuthUserFindUsername(local_basic.username))== NULL) { /* the user doesn't exist in the username cache yet */ - debug(29,6)("authBasicDecodeAuth: Creating new user '%s'\n",local_basic.username); + debug(29,9)("authBasicDecodeAuth: Creating new user '%s'\n",local_basic.username); /* new auth_user */ auth_user=authenticateAuthUserNew("basic"); /* new scheme data */ @@ -540,12 +560,12 @@ } else { - debug(29,6)("authBasicDecodeAuth: Found user '%s' in the user cache as '%d'\n",local_basic.username,auth_user); + debug(29,9)("authBasicDecodeAuth: Found user '%s' in the user cache as '%d'\n",local_basic.username,auth_user); xfree(local_basic.username); basic_auth=auth_user->scheme_data; if (strcmp(local_basic.passwd,basic_auth->passwd)) { - debug(29,5)("authBasicDecodeAuth: new password found. Updating in user master record and resetting auth state to unchecked\n"); + debug(29,4)("authBasicDecodeAuth: new password found. Updating in user master record and resetting auth state to unchecked\n"); auth_user->flags.credentials_ok=0; xfree(basic_auth->passwd); basic_auth->passwd=local_basic.passwd; @@ -600,7 +620,7 @@ assert(auth_user_request->auth_user->auth_type==AUTH_BASIC); assert(auth_user_request->auth_user->scheme_data != NULL); basic_auth = auth_user_request->auth_user->scheme_data; - debug(29, 5) ("authenticateStart: '%s:%s'\n", basic_auth->username, + debug(29, 9) ("authenticateStart: '%s:%s'\n", basic_auth->username, basic_auth->passwd); if (basicConfig->authenticate == NULL) { handler(data, NULL);