]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Print better debug information when executing rediswho_command Closes #2369
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 12 Dec 2018 00:44:35 +0000 (19:44 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 12 Dec 2018 00:44:35 +0000 (19:44 -0500)
src/modules/rlm_rediswho/rlm_rediswho.c

index 6d9e85c8b91af6dfc5b5fc1e5a7a88d1e2b1f35d..2bd521473559d2b94cb949e8c781268a1cdae79f 100644 (file)
@@ -147,17 +147,26 @@ static int rediswho_command(rlm_rediswho_t const *inst, REQUEST *request, char c
        }
        if (!fr_cond_assert(reply)) goto error;
 
+       /*
+        *      Write the response to the debug log
+        */
+       fr_redis_reply_print(L_DBG_LVL_2, reply, request, 0);
+
        switch (reply->type) {
-       case REDIS_REPLY_INTEGER:
-               RDEBUG2("Query response %lld", reply->integer);
-               if (reply->integer > 0) ret = reply->integer;
+       case REDIS_REPLY_ERROR:
                break;
 
-       case REDIS_REPLY_STRING:
-               REDEBUG2("Query response %s", reply->str);
+       case REDIS_REPLY_INTEGER:
+               if (reply->integer > 0) ret = reply->integer;
                break;
 
+       /*
+        *      We don't know to interpret this, the user has probably messed
+        *      up the queries, so print an error message and fail.
+        */
        default:
+               REDEBUG("Expected type \"integer\" got type \"%s\"",
+                       fr_int2str(redis_reply_types, reply->type, "<UNKNOWN>"));
                break;
        }
        fr_redis_reply_free(reply);