From cb5c5d19dc6fdea913e78194251d012913d70560 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 14 Aug 2014 12:59:28 +0200 Subject: [PATCH] access: fix access_get_hashed() the '*' user handling --- src/access.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/access.c b/src/access.c index 7026fbaa..be05a14c 100644 --- a/src/access.c +++ b/src/access.c @@ -389,14 +389,16 @@ access_get_hashed(const char *username, const uint8_t digest[20], if(!netmask_verify(ae, src)) continue; /* IP based access mismatches */ - SHA1_Init(&shactx); - SHA1_Update(&shactx, (const uint8_t *)ae->ae_password, - strlen(ae->ae_password)); - SHA1_Update(&shactx, challenge, 32); - SHA1_Final(d, &shactx); + if(ae->ae_username[0] != '*') { + SHA1_Init(&shactx); + SHA1_Update(&shactx, (const uint8_t *)ae->ae_password, + strlen(ae->ae_password)); + SHA1_Update(&shactx, challenge, 32); + SHA1_Final(d, &shactx); - if(strcmp(ae->ae_username, username) || memcmp(d, digest, 20)) - continue; + if(strcmp(ae->ae_username, username) || memcmp(d, digest, 20)) + continue; + } a->aa_match = 1; access_update(a, ae);