libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit a3527f080a807060ddc4ae4bb4e395194c1bfd16
parent 628a28d6072acdfccf6237eca6743ac0caf7e921
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Sun,  1 May 2022 15:59:14 +0300

check_nonce_nc(): improved readability, fixed comments

Diffstat:
Msrc/microhttpd/digestauth.c | 8+++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/microhttpd/digestauth.c b/src/microhttpd/digestauth.c @@ -614,6 +614,8 @@ check_nonce_nc (struct MHD_Connection *connection, if ( (0 != memcmp (nn->nonce, nonce, noncelen)) || (0 != nn->nonce[noncelen]) ) ret = false; /* Nonce does not match, fail */ + else if (nc == nn->nc) + ret = false; /* 'nc' was already used */ /* Note that we use 64 here, as we do not store the bit for 'nn->nc' itself in 'nn->nmask' */ else if ( (nc < nn->nc) && @@ -625,11 +627,11 @@ check_nonce_nc (struct MHD_Connection *connection, nn->nmask |= (1LLU << (nn->nc - nc - 1)); ret = true; } - else if (nc <= nn->nc) - ret = false; /* Nonce does not match, fail */ + else if (nc < nn->nc) + ret = false; /* 'nc' does not match, fail */ else { - /* Nonce is larger, shift bitmask and bump limit */ + /* 'nc' is larger, shift bitmask and bump limit */ if (64 > nc - nn->nc) nn->nmask <<= (nc - nn->nc); /* small jump, less than mask width */ else