Received: (from majordom@localhost) by hyperreal.org (8.8.5/8.8.5) id QAA15619; Sun, 31 Aug 1997 16:05:38 -0700 (PDT) Received: (from randy@localhost) by hyperreal.org (8.8.5/8.8.5) id QAA15608 for apache-cvs; Sun, 31 Aug 1997 16:05:35 -0700 (PDT) Date: Sun, 31 Aug 1997 16:05:35 -0700 (PDT) From: Randy Terbush Message-Id: <199708312305.QAA15608@hyperreal.org> To: apache-cvs@hyperreal.org Subject: cvs commit: apachen/src/modules/standard mod_digest.c Sender: apache-cvs-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org randy 97/08/31 16:05:34 Modified: src/modules/standard mod_digest.c Log: Convert log_*() to aplog_error(). Style changes. Revision Changes Path 1.21 +108 -105 apachen/src/modules/standard/mod_digest.c Index: mod_digest.c =================================================================== RCS file: /export/home/cvs/apachen/src/modules/standard/mod_digest.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- mod_digest.c 1997/08/18 13:12:11 1.20 +++ mod_digest.c 1997/08/31 23:05:33 1.21 @@ -98,15 +98,16 @@ module MODULE_VAR_EXPORT digest_module; -char *get_hash(request_rec *r, char *user, char *auth_pwfile) +char *get_hash (request_rec *r, char *user, char *auth_pwfile) { FILE *f; char l[MAX_STRING_LEN]; const char *rpw; char *w, *x; - if(!(f=pfopen(r->pool, auth_pwfile, "r"))) { - log_reason ("Could not open password file", auth_pwfile, r); + if (!(f=pfopen(r->pool, auth_pwfile, "r"))) { + aplog_error(APLOG_MARK, APLOG_ERR, r->server, + "Could not open password file: %s", auth_pwfile); return NULL; } while(!(cfg_getline(l,MAX_STRING_LEN,f))) { @@ -126,113 +127,115 @@ /* Parse the Authorization header, if it exists */ -int get_digest_rec(request_rec *r, digest_header_rec *response) { - const char *auth_line = table_get(r->headers_in, "Authorization"); - int l; - int s = 0, vk = 0, vv = 0; - char *t, *key, *value; - - if (!(t = auth_type(r)) || strcasecmp(t, "Digest")) - return DECLINED; - - if (!auth_name (r)) { - log_reason ("need AuthName", r->uri, r); - return SERVER_ERROR; - } - - if (!auth_line) { - note_digest_auth_failure (r); - return AUTH_REQUIRED; - } - - if (strcmp(getword (r->pool, &auth_line, ' '), "Digest")) { - /* Client tried to authenticate using wrong auth scheme */ - log_reason ("client used wrong authentication scheme", r->uri, r); - note_digest_auth_failure (r); - return AUTH_REQUIRED; - } +int get_digest_rec (request_rec *r, digest_header_rec *response) +{ + const char *auth_line = table_get(r->headers_in, "Authorization"); + int l; + int s = 0, vk = 0, vv = 0; + char *t, *key, *value; + + if (!(t = auth_type(r)) || strcasecmp(t, "Digest")) + return DECLINED; + + if (!auth_name (r)) { + aplog_error(APLOG_MARK, APLOG_ERR, r->server, "need AuthName: %s", r->uri); + return SERVER_ERROR; + } + + if (!auth_line) { + note_digest_auth_failure (r); + return AUTH_REQUIRED; + } + + if (strcmp(getword(r->pool, &auth_line, ' '), "Digest")) { + /* Client tried to authenticate using wrong auth scheme */ + aplog_error(APLOG_MARK, APLOG_ERR, r->server, + "client used wrong authentication scheme: %s", r->uri); + note_digest_auth_failure(r); + return AUTH_REQUIRED; + } - l = strlen(auth_line); + l = strlen(auth_line); - key=palloc(r->pool,l); - value=palloc(r->pool,l); + key = palloc(r->pool,l); + value = palloc(r->pool,l); - /* There's probably a better way to do this, but for the time being... */ + /* There's probably a better way to do this, but for the time being... */ #define D_KEY 0 #define D_VALUE 1 #define D_STRING 2 #define D_EXIT -1 - while (s != D_EXIT) { - switch (s) { - case D_STRING: - if (auth_line[0] == '\"') { - s = D_VALUE; - } - else { - value[vv] = auth_line[0]; - vv++; - } - auth_line++; - break; - - case D_VALUE: - if (isalnum(auth_line[0])) { - value[vv] = auth_line[0]; - vv++; - } - else if (auth_line[0] == '\"') { - s = D_STRING; - } - else { - value[vv] = '\0'; - - if (!strcasecmp(key, "username")) - response->username = pstrdup(r->pool, value); - else if (!strcasecmp(key, "realm")) - response->realm = pstrdup(r->pool, value); - else if (!strcasecmp(key, "nonce")) - response->nonce = pstrdup(r->pool, value); - else if (!strcasecmp(key, "uri")) - response->requested_uri = pstrdup(r->pool, value); - else if (!strcasecmp(key, "response")) - response->digest = pstrdup(r->pool, value); - - vv = 0; - s = D_KEY; - } - auth_line++; - break; - - case D_KEY: - if (isalnum(auth_line[0])) { - key[vk] = auth_line[0]; - vk++; - } - else if (auth_line[0] == '=') { - key[vk] = '\0'; - vk = 0; - s = D_VALUE; - } - auth_line++; - break; - } - - if (auth_line[-1] == '\0') - s = D_EXIT; - } - - if (!response->username || !response->realm || !response->nonce || - !response->requested_uri || !response->digest) { - note_digest_auth_failure (r); - return AUTH_REQUIRED; - } + while (s != D_EXIT) { + switch (s) { + case D_STRING: + if (auth_line[0] == '\"') { + s = D_VALUE; + } + else { + value[vv] = auth_line[0]; + vv++; + } + auth_line++; + break; + + case D_VALUE: + if (isalnum(auth_line[0])) { + value[vv] = auth_line[0]; + vv++; + } + else if (auth_line[0] == '\"') { + s = D_STRING; + } + else { + value[vv] = '\0'; + + if (!strcasecmp(key, "username")) + response->username = pstrdup(r->pool, value); + else if (!strcasecmp(key, "realm")) + response->realm = pstrdup(r->pool, value); + else if (!strcasecmp(key, "nonce")) + response->nonce = pstrdup(r->pool, value); + else if (!strcasecmp(key, "uri")) + response->requested_uri = pstrdup(r->pool, value); + else if (!strcasecmp(key, "response")) + response->digest = pstrdup(r->pool, value); + + vv = 0; + s = D_KEY; + } + auth_line++; + break; + + case D_KEY: + if (isalnum(auth_line[0])) { + key[vk] = auth_line[0]; + vk++; + } + else if (auth_line[0] == '=') { + key[vk] = '\0'; + vk = 0; + s = D_VALUE; + } + auth_line++; + break; + } + + if (auth_line[-1] == '\0') + s = D_EXIT; + } + + if (!response->username || !response->realm || !response->nonce || + !response->requested_uri || !response->digest) { + note_digest_auth_failure (r); + return AUTH_REQUIRED; + } - r->connection->user = response->username; - r->connection->auth_type = "Digest"; + r->connection->user = response->username; + r->connection->auth_type = "Digest"; - return OK; + return OK; } /* The actual MD5 code... whee */ @@ -277,15 +280,15 @@ return DECLINED; if (!(a1 = get_hash(r, c->user, sec->pwfile))) { - ap_snprintf(errstr, sizeof(errstr), "user %s not found",c->user); - log_reason (errstr, r->uri, r); - note_digest_auth_failure (r); + ap_snprintf(errstr, sizeof(errstr), "user %s not found", c->user); + aplog_error(APLOG_MARK, APLOG_ERR, r->server, "%s: %s", errstr, r->uri); + note_digest_auth_failure(r); return AUTH_REQUIRED; } /* anyone know where the prototype for crypt is? */ - if(strcmp(response->digest, find_digest(r, response, a1))) { - ap_snprintf(errstr, sizeof(errstr), "user %s: password mismatch",c->user); - log_reason (errstr, r->uri, r); + if (strcmp(response->digest, find_digest(r, response, a1))) { + ap_snprintf(errstr, sizeof(errstr), "user %s: password mismatch", c->user); + aplog_error(APLOG_MARK, APLOG_ERR, r->server, "%s: %s", errstr, r->uri); note_digest_auth_failure (r); return AUTH_REQUIRED; }