X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=common%2Fauth.c;h=240ac470b6b7774039d75a48ccc807b3eb1d2b3a;hb=35f91ea7421eb9bb1e6d024086be46eb0d7befb0;hp=ca4017eaaa00c24abde6fbcaf322c5c618879e37;hpb=fa9730eaa94460f9e64c55f10bc9be38db228c87;p=blerg.git diff --git a/common/auth.c b/common/auth.c index ca4017e..240ac47 100644 --- a/common/auth.c +++ b/common/auth.c @@ -347,6 +347,7 @@ char * auth_login(const char *username, const char *password) { int auth_logout(const char *username, const char *token) { char filename[FILENAME_MAX]; struct stringring *sr; + int ret; if (!valid_name(username)) return 0; @@ -359,10 +360,10 @@ int auth_logout(const char *username, const char *token) { if (sr == NULL) { return 0; } - stringring_remove(sr, token); + ret = stringring_remove(sr, token); stringring_close(sr); - return 1; + return ret; } int auth_check_token(const char *username, const char *given_token) { @@ -379,6 +380,10 @@ int auth_check_token(const char *username, const char *given_token) { return 0; } ret = (stringring_find(sr, given_token, AUTHENTICATION_TIMEOUT) != -1); + if (ret == 1) { + /* Update token timestamp */ + stringring_touch(sr, given_token); + } stringring_close(sr); return ret;