libmicrohttpd

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

commit c0bb909f0a54c7cb41e0e9e0fb936ed8fa79fdc5
parent f473462465f0a4044fb8f37e1064dc08fb45fc17
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Sun,  1 May 2022 16:57:58 +0300

check_nonce_nc(): additionally improved readability, fixed comments

Diffstat:
Msrc/microhttpd/digestauth.c | 23+++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/src/microhttpd/digestauth.c b/src/microhttpd/digestauth.c @@ -619,18 +619,21 @@ check_nonce_nc (struct MHD_Connection *connection, 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) && - (nc + 64 >= nn->nc) && - (0 == ((1LLU << (nn->nc - nc - 1)) & nn->nmask)) ) + else if (nc < nn->nc) { - /* Out-of-order nonce, but within 64-bit bitmask, set bit */ - nn->nmask |= (1LLU << (nn->nc - nc - 1)); - ret = true; + /* Note that we use 64 here, as we do not store the + bit for 'nn->nc' itself in 'nn->nmask' */ + if ( (nc + 64 >= nn->nc) && + (0 == ((1LLU << (nn->nc - nc - 1)) & nn->nmask)) ) + { + /* Out-of-order nonce, but within 64-bit bitmask, set bit */ + nn->nmask |= (1LLU << (nn->nc - nc - 1)); + ret = true; + } + else + /* 'nc' was already used or too old (more then 64 values ago) */ + ret = false; } - else if (nc < nn->nc) - ret = false; /* 'nc' does not match, fail */ else { /* 'nc' is larger, shift bitmask and bump limit */