# HG changeset patch # User Timo Sirainen # Date 1489620938 -7200 # Node ID 4119b7774573db4600350ed4ce8fe9858f77727c # Parent 8b5f6e2ff4a699742bc71a9430c5e35c97b7f449 auth: oauth2 - Clarify token validation success/valid error handling result->error is NULL only if result->success && !result->valid. Also !result->success is the more important error handling case. Write out these cases explicitly so it's easier to understand. diff -r 8b5f6e2ff4a6 -r 4119b7774573 src/auth/db-oauth2.c --- a/src/auth/db-oauth2.c Thu Mar 16 00:42:28 2017 +0200 +++ b/src/auth/db-oauth2.c Thu Mar 16 01:35:38 2017 +0200 @@ -548,12 +548,13 @@ { req->req = NULL; - if (!result->success || !result->valid) { - /* no point going forward */ - enum passdb_result passdb_result = result->success ? - PASSDB_RESULT_PASSWORD_MISMATCH : - PASSDB_RESULT_INTERNAL_FAILURE; - db_oauth2_callback(req, passdb_result, result->error == NULL ? "Invalid token" : result->error); + if (!result->success) { + db_oauth2_callback(req, PASSDB_RESULT_INTERNAL_FAILURE, + result->error); + return; + } else if (!result->valid) { + db_oauth2_callback(req, PASSDB_RESULT_PASSWORD_MISMATCH, + "Invalid token"); return; }