From: hno <> Date: Wed, 17 Oct 2001 23:09:08 +0000 (+0000) Subject: Namespace cleanup of the digest and ntlm schemes X-Git-Tag: SQUID_3_0_PRE1~1350 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c78aa6676200e65af26fbb832b15baf51fe22551;p=thirdparty%2Fsquid.git Namespace cleanup of the digest and ntlm schemes --- diff --git a/src/auth/digest/auth_digest.cc b/src/auth/digest/auth_digest.cc index db26058563..73cb0dd874 100644 --- a/src/auth/digest/auth_digest.cc +++ b/src/auth/digest/auth_digest.cc @@ -1,6 +1,6 @@ /* - * $Id: auth_digest.cc,v 1.7 2001/10/17 12:41:52 hno Exp $ + * $Id: auth_digest.cc,v 1.8 2001/10/17 17:09:08 hno Exp $ * * DEBUG: section 29 Authenticator * AUTHOR: Robert Collins @@ -42,6 +42,8 @@ #include "rfc2617.h" #include "auth_digest.h" +extern AUTHSSETUP authSchemeSetup_digest; + static void authenticateStateFree(authenticateStateData * r) { @@ -80,9 +82,9 @@ static hash_table *digest_nonce_cache; static auth_digest_config *digestConfig = NULL; static int authdigest_initialised = 0; -MemPool *digest_user_pool = NULL; -MemPool *digest_request_pool = NULL; -MemPool *digest_nonce_pool = NULL; +static MemPool *digest_user_pool = NULL; +static MemPool *digest_request_pool = NULL; +static MemPool *digest_nonce_pool = NULL; CBDATA_TYPE(authenticateStateData); @@ -94,23 +96,25 @@ CBDATA_TYPE(authenticateStateData); static void authenticateDigestNonceCacheCleanup(void *data); static digest_nonce_h *authenticateDigestNonceFindNonce(const char *nonceb64); -digest_nonce_h *authenticateDigestNonceNew(); -void authenticateDigestNonceDelete(digest_nonce_h * nonce); -void authenticateDigestNonceSetup(); -void authenticateDigestNonceShutdown(); -void authenticateDigestNonceReconfigure(); -const char *authenticateDigestNonceNonceb64(digest_nonce_h * nonce); -int authDigestNonceIsValid(digest_nonce_h * nonce, char nc[9]); -int authDigestNonceIsStale(digest_nonce_h * nonce); -void authDigestNonceEncode(digest_nonce_h * nonce); -int authDigestNonceLastRequest(digest_nonce_h * nonce); -void authDigestNonceLink(digest_nonce_h * nonce); -void authDigestNonceUnlink(digest_nonce_h * nonce); -int authDigestNonceLinks(digest_nonce_h * nonce); -void authDigestNonceUserUnlink(digest_nonce_h * nonce); -void authDigestNoncePurge(digest_nonce_h * nonce); +static digest_nonce_h *authenticateDigestNonceNew(); +static void authenticateDigestNonceDelete(digest_nonce_h * nonce); +static void authenticateDigestNonceSetup(); +static void authenticateDigestNonceShutdown(); +static void authenticateDigestNonceReconfigure(); +static const char *authenticateDigestNonceNonceb64(digest_nonce_h * nonce); +static int authDigestNonceIsValid(digest_nonce_h * nonce, char nc[9]); +static int authDigestNonceIsStale(digest_nonce_h * nonce); +static void authDigestNonceEncode(digest_nonce_h * nonce); +static int authDigestNonceLastRequest(digest_nonce_h * nonce); +static void authDigestNonceLink(digest_nonce_h * nonce); +static void authDigestNonceUnlink(digest_nonce_h * nonce); +#if NOT_USED +static int authDigestNonceLinks(digest_nonce_h * nonce); +#endif +static void authDigestNonceUserUnlink(digest_nonce_h * nonce); +static void authDigestNoncePurge(digest_nonce_h * nonce); -void +static void authDigestNonceEncode(digest_nonce_h * nonce) { if (!nonce) @@ -120,7 +124,7 @@ authDigestNonceEncode(digest_nonce_h * nonce) nonce->hash.key = xstrdup(base64_encode_bin((char *) &(nonce->noncedata), sizeof(digest_nonce_data))); } -digest_nonce_h * +static digest_nonce_h * authenticateDigestNonceNew() { digest_nonce_h *newnonce = memPoolAlloc(digest_nonce_pool); @@ -190,7 +194,7 @@ authenticateDigestNonceNew() return newnonce; } -void +static void authenticateDigestNonceDelete(digest_nonce_h * nonce) { if (nonce) { @@ -205,7 +209,7 @@ authenticateDigestNonceDelete(digest_nonce_h * nonce) } } -void +static void authenticateDigestNonceSetup() { if (!digest_nonce_pool) @@ -217,7 +221,7 @@ authenticateDigestNonceSetup() } } -void +static void authenticateDigestNonceShutdown() { /* @@ -240,12 +244,12 @@ authenticateDigestNonceShutdown() debug(29, 2) ("authenticateDigestNonceShutdown: Nonce cache shutdown\n"); } -void +static void authenticateDigestNonceReconfigure() { } -void +static void authenticateDigestNonceCacheCleanup(void *data) { /* @@ -277,7 +281,7 @@ authenticateDigestNonceCacheCleanup(void *data) eventAdd("Digest none cache maintenance", authenticateDigestNonceCacheCleanup, NULL, digestConfig->nonceGCInterval, 1); } -void +static void authDigestNonceLink(digest_nonce_h * nonce) { assert(nonce != NULL); @@ -285,15 +289,17 @@ authDigestNonceLink(digest_nonce_h * nonce) debug(29, 9) ("authDigestNonceLink: nonce '%d' now at '%d'.\n", nonce, nonce->references); } -int +#if NOT_USED +static int authDigestNonceLinks(digest_nonce_h * nonce) { if (!nonce) return -1; return nonce->references; } +#endif -void +static void authDigestNonceUnlink(digest_nonce_h * nonce) { assert(nonce != NULL); @@ -307,7 +313,7 @@ authDigestNonceUnlink(digest_nonce_h * nonce) authenticateDigestNonceDelete(nonce); } -const char * +static const char * authenticateDigestNonceNonceb64(digest_nonce_h * nonce) { if (!nonce) @@ -315,7 +321,7 @@ authenticateDigestNonceNonceb64(digest_nonce_h * nonce) return nonce->hash.key; } -digest_nonce_h * +static digest_nonce_h * authenticateDigestNonceFindNonce(const char *nonceb64) { digest_nonce_h *nonce = NULL; @@ -329,7 +335,7 @@ authenticateDigestNonceFindNonce(const char *nonceb64) return nonce; } -int +static int authDigestNonceIsValid(digest_nonce_h * nonce, char nc[9]) { int intnc; @@ -351,7 +357,7 @@ authDigestNonceIsValid(digest_nonce_h * nonce, char nc[9]) return -1; } -int +static int authDigestNonceIsStale(digest_nonce_h * nonce) { /* do we have a nonce ? */ @@ -378,7 +384,7 @@ authDigestNonceIsStale(digest_nonce_h * nonce) } /* return -1 if the digest will be stale on the next request */ -int +static int authDigestNonceLastRequest(digest_nonce_h * nonce) { if (!nonce) @@ -395,7 +401,7 @@ authDigestNonceLastRequest(digest_nonce_h * nonce) return 0; } -void +static void authDigestNoncePurge(digest_nonce_h * nonce) { if (!nonce) @@ -411,13 +417,15 @@ authDigestNoncePurge(digest_nonce_h * nonce) /* USER related functions */ -int +#if NOT_USED +static int authDigestUsercmpname(digest_user_h * u1, digest_user_h * u2) { return strcmp(u1->username, u2->username); } +#endif -auth_user_t * +static auth_user_t * authDigestUserFindUsername(const char *username) { auth_user_hash_pointer *usernamehash; @@ -436,20 +444,20 @@ authDigestUserFindUsername(const char *username) return NULL; } -digest_user_h * +static digest_user_h * authDigestUserNew() { return memPoolAlloc(digest_user_pool); } -void +static void authDigestUserSetup() { if (!digest_user_pool) digest_user_pool = memPoolCreate("Digest Scheme User Data", sizeof(digest_user_h)); } -void +static void authDigestUserShutdown() { /* @@ -476,7 +484,7 @@ authDigestUserShutdown() /* request related functions */ /* delete the digest reuqest structure. Does NOT delete related structures */ -void +static void authDigestRequestDelete(digest_request_h * digest_request) { if (digest_request->nonceb64) @@ -502,14 +510,14 @@ authDigestRequestDelete(digest_request_h * digest_request) memPoolFree(digest_request_pool, digest_request); } -void +static void authDigestAURequestFree(auth_user_request_t * auth_user_request) { if (auth_user_request->scheme_data != NULL) authDigestRequestDelete((digest_request_h *) auth_user_request->scheme_data); } -digest_request_h * +static digest_request_h * authDigestRequestNew() { digest_request_h *tmp; @@ -518,14 +526,14 @@ authDigestRequestNew() return tmp; } -void +static void authDigestRequestSetup() { if (!digest_request_pool) digest_request_pool = memPoolCreate("Digest Scheme Request Data", sizeof(digest_request_h)); } -void +static void authDigestRequestShutdown() { /* No requests should be in progress when we get here */ @@ -537,7 +545,7 @@ authDigestRequestShutdown() } -void +static void authDigestDone(void) { if (digestauthenticators) @@ -605,12 +613,12 @@ authSchemeSetup_digest(authscheme_entry_t * authscheme) authscheme->authConnLastHeader = NULL; } -int +static int authenticateDigestActive() { return (authdigest_initialised == 1) ? 1 : 0; } -int +static int authDigestConfigured() { if ((digestConfig != NULL) && (digestConfig->authenticate != NULL) && @@ -620,7 +628,7 @@ authDigestConfigured() return 0; } -int +static int authDigestAuthenticated(auth_user_request_t * auth_user_request) { digest_user_h *digest_user = auth_user_request->auth_user->scheme_data; @@ -700,7 +708,7 @@ authenticateDigestAuthenticateUser(auth_user_request_t * auth_user_request, requ return; } -int +static int authenticateDigestDirection(auth_user_request_t * auth_user_request) { digest_request_h *digest_request; @@ -724,7 +732,7 @@ authenticateDigestDirection(auth_user_request_t * auth_user_request) } /* add the [proxy]authorisation header */ -void +static void authDigestAddHeader(auth_user_request_t * auth_user_request, HttpReply * rep, int accel) { int type; @@ -753,7 +761,7 @@ authDigestAddHeader(auth_user_request_t * auth_user_request, HttpReply * rep, in #if WAITING_FOR_TE /* add the [proxy]authorisation header */ -void +static void authDigestAddTrailer(auth_user_request_t * auth_user_request, HttpReply * rep, int accel) { int type; @@ -795,7 +803,7 @@ authenticateDigestFixHeader(auth_user_request_t * auth_user_request, HttpReply * } } -void +static void authenticateDigestUserFree(auth_user_t * auth_user) { digest_user_h *digest_user = auth_user->scheme_data; @@ -943,7 +951,7 @@ authenticateDigestStats(StoreEntry * sentry) /* NonceUserUnlink: remove the reference to auth_user and unlink the node from the list */ -void +static void authDigestNonceUserUnlink(digest_nonce_h * nonce) { digest_user_h *digest_user; @@ -975,7 +983,7 @@ authDigestNonceUserUnlink(digest_nonce_h * nonce) /* authDigestUserLinkNonce: add a nonce to a given user's struct */ -void +static void authDigestUserLinkNonce(auth_user_t * auth_user, digest_nonce_h * nonce) { dlink_node *node; @@ -1002,7 +1010,7 @@ authDigestUserLinkNonce(auth_user_t * auth_user, digest_nonce_h * nonce) } /* authenticateDigestUsername: return a pointer to the username in the */ -char * +static char * authenticateDigestUsername(auth_user_t * auth_user) { digest_user_h *digest_user = auth_user->scheme_data; @@ -1012,7 +1020,7 @@ authenticateDigestUsername(auth_user_t * auth_user) } /* setup the necessary info to log the username */ -void +static void authDigestLogUsername(auth_user_request_t * auth_user_request, char *username) { auth_user_t *auth_user; diff --git a/src/auth/ntlm/auth_ntlm.cc b/src/auth/ntlm/auth_ntlm.cc index cb413fbdb9..8ff92cfe70 100644 --- a/src/auth/ntlm/auth_ntlm.cc +++ b/src/auth/ntlm/auth_ntlm.cc @@ -1,6 +1,6 @@ /* - * $Id: auth_ntlm.cc,v 1.13 2001/10/17 12:41:52 hno Exp $ + * $Id: auth_ntlm.cc,v 1.14 2001/10/17 17:09:08 hno Exp $ * * DEBUG: section 29 NTLM Authenticator * AUTHOR: Robert Collins @@ -41,6 +41,8 @@ #include "squid.h" #include "auth_ntlm.h" +extern AUTHSSETUP authSchemeSetup_ntlm; + static void authenticateStateFree(authenticateStateData * r) { @@ -80,9 +82,9 @@ CBDATA_TYPE(authenticateStateData); static int authntlm_initialised = 0; -MemPool *ntlm_helper_state_pool = NULL; -MemPool *ntlm_user_pool = NULL; -MemPool *ntlm_request_pool = NULL; +static MemPool *ntlm_helper_state_pool = NULL; +static MemPool *ntlm_user_pool = NULL; +static MemPool *ntlm_request_pool = NULL; static auth_ntlm_config *ntlmConfig = NULL; static hash_table *proxy_auth_cache = NULL; @@ -93,7 +95,7 @@ static hash_table *proxy_auth_cache = NULL; * */ -void +static void authNTLMDone(void) { debug(29, 2) ("authNTLMDone: shutting down NTLM authentication.\n"); @@ -124,7 +126,7 @@ authNTLMDone(void) } /* free any allocated configuration details */ -void +static void authNTLMFreeConfig(authScheme * scheme) { if (ntlmConfig == NULL) @@ -255,14 +257,14 @@ authNTLMInit(authScheme * scheme) } } -int +static int authenticateNTLMActive() { return (authntlm_initialised == 1) ? 1 : 0; } -int +static int authNTLMConfigured() { if ((ntlmConfig != NULL) && (ntlmConfig->authenticate != NULL) && (ntlmConfig->authenticateChildren != 0) && (ntlmConfig->challengeuses > -1) && (ntlmConfig->challengelifetime > -1)) { @@ -275,7 +277,7 @@ authNTLMConfigured() /* NTLM Scheme */ -int +static int authenticateNTLMDirection(auth_user_request_t * auth_user_request) { ntlm_request_t *ntlm_request = auth_user_request->scheme_data; @@ -301,7 +303,7 @@ authenticateNTLMDirection(auth_user_request_t * auth_user_request) * must be first. To ensure that, the configure use --enable-auth=ntlm, anything * else. */ -void +static void authenticateNTLMFixErrorHeader(auth_user_request_t * auth_user_request, HttpReply * rep, http_hdr_type type, request_t * request) { ntlm_request_t *ntlm_request; @@ -341,7 +343,7 @@ authenticateNTLMFixErrorHeader(auth_user_request_t * auth_user_request, HttpRepl } } -void +static void authNTLMRequestFree(ntlm_request_t * ntlm_request) { if (!ntlm_request) @@ -360,7 +362,7 @@ authNTLMRequestFree(ntlm_request_t * ntlm_request) memPoolFree(ntlm_request_pool, ntlm_request); } -void +static void authNTLMAURequestFree(auth_user_request_t * auth_user_request) { if (auth_user_request->scheme_data) @@ -368,7 +370,7 @@ authNTLMAURequestFree(auth_user_request_t * auth_user_request) auth_user_request->scheme_data = NULL; } -void +static void authenticateNTLMFreeUser(auth_user_t * auth_user) { dlink_node *link, *tmplink; @@ -617,7 +619,7 @@ authenticateNTLMStats(StoreEntry * sentry) } /* is a particular challenge still valid ? */ -int +static int authenticateNTLMValidChallenge(ntlm_helper_state_t * helperstate) { debug(29, 9) ("authenticateNTLMValidChallenge: Challenge is %s\n", helperstate->challenge ? "Valid" : "Invalid"); @@ -627,7 +629,7 @@ authenticateNTLMValidChallenge(ntlm_helper_state_t * helperstate) } /* does our policy call for changing the challenge now? */ -int +static int authenticateNTLMChangeChallenge_p(ntlm_helper_state_t * helperstate) { /* don't check for invalid challenges just for expiry choices */ @@ -774,7 +776,7 @@ authenticateNTLMStart(auth_user_request_t * auth_user_request, RH * handler, voi } /* callback used by stateful helper routines */ -int +static int authenticateNTLMHelperServerAvailable(void *data) { ntlm_helper_state_t *statedata = data; @@ -791,7 +793,7 @@ authenticateNTLMHelperServerAvailable(void *data) return 0; } -void +static void authenticateNTLMHelperServerOnEmpty(void *data) { ntlm_helper_state_t *statedata = data; @@ -810,7 +812,7 @@ authenticateNTLMHelperServerOnEmpty(void *data) /* clear the NTLM helper of being reserved for future requests */ -void +static void authenticateNTLMReleaseServer(auth_user_request_t * auth_user_request) { ntlm_request_t *ntlm_request; @@ -823,7 +825,7 @@ authenticateNTLMReleaseServer(auth_user_request_t * auth_user_request) } /* clear any connection related authentication details */ -void +static void authenticateNTLMOnCloseConnection(ConnStateData * conn) { ntlm_request_t *ntlm_request; @@ -848,7 +850,7 @@ authenticateNTLMOnCloseConnection(ConnStateData * conn) } /* authenticateUserUsername: return a pointer to the username in the */ -char * +static char * authenticateNTLMUsername(auth_user_t * auth_user) { ntlm_user_t *ntlm_user = auth_user->scheme_data; @@ -860,7 +862,7 @@ authenticateNTLMUsername(auth_user_t * auth_user) /* NTLMLastHeader: return a pointer to the last header used in authenticating * the request/conneciton */ -const char * +static const char * NTLMLastHeader(auth_user_request_t * auth_user_request) { ntlm_request_t *ntlm_request; @@ -875,7 +877,7 @@ NTLMLastHeader(auth_user_request_t * auth_user_request) * Auth_user structure. */ -void +static void authenticateDecodeNTLMAuth(auth_user_request_t * auth_user_request, const char *proxy_auth) { dlink_node *node; @@ -895,7 +897,7 @@ authenticateDecodeNTLMAuth(auth_user_request_t * auth_user_request, const char * return; } -int +static int authenticateNTLMcmpUsername(ntlm_user_t * u1, ntlm_user_t * u2) { return strcmp(u1->username, u2->username); @@ -906,7 +908,7 @@ authenticateNTLMcmpUsername(ntlm_user_t * u1, ntlm_user_t * u2) * and sends the same response to squid on a single select cycle. * Check for this and if found ignore the new link */ -void +static void authenticateProxyAuthCacheAddLink(const char *key, auth_user_t * auth_user) { auth_user_hash_pointer *proxy_auth_hash; @@ -928,7 +930,7 @@ authenticateProxyAuthCacheAddLink(const char *key, auth_user_t * auth_user) } -int +static int authNTLMAuthenticated(auth_user_request_t * auth_user_request) { ntlm_request_t *ntlm_request = auth_user_request->scheme_data;