]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Fixup autload in rlm_sqlcounter
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 22 May 2018 10:34:28 +0000 (16:34 +0600)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 22 May 2018 10:34:28 +0000 (16:34 +0600)
src/modules/rlm_sqlcounter/rlm_sqlcounter.c

index e0d6dd6a94515ab0307397f7eb41bbb6e116c561..13f712d45f2d5bd4cb4ed0a8c4648fbaa9479a3a 100644 (file)
@@ -100,11 +100,13 @@ fr_dict_autoload_t rlm_sqlcounter_dict[] = {
 };
 
 static fr_dict_attr_t const *attr_user_name;
+static fr_dict_attr_t const *attr_reply_message;
 static fr_dict_attr_t const *attr_session_timeout;
 
 extern fr_dict_attr_autoload_t rlm_sqlcounter_dict_attr[];
 fr_dict_attr_autoload_t rlm_sqlcounter_dict_attr[] = {
        { .out = &attr_user_name, .name = "User-Name", .type = FR_TYPE_STRING, .dict = &dict_radius },
+       { .out = &attr_reply_message, .name = "Reply-Message", .type = FR_TYPE_STRING, .dict = &dict_radius },
        { .out = &attr_session_timeout, .name = "Session-Timeout", .type = FR_TYPE_UINT32, .dict = &dict_radius },
        { NULL }
 };
@@ -473,9 +475,13 @@ static rlm_rcode_t CC_HINT(nonnull) mod_authorize(void *instance, UNUSED void *t
         *      Check if check item > counter
         */
        if (limit->vp_uint64 <= counter) {
+               VALUE_PAIR *vp;
+
                /* User is denied access, send back a reply message */
                snprintf(msg, sizeof(msg), "Your maximum %s usage time has been reached", inst->reset);
-               pair_make_reply("Reply-Message", msg, T_OP_EQ);
+
+               MEM(pair_update_reply(&vp, attr_reply_message) >= 0);
+               fr_pair_value_strcpy(vp, msg);
 
                REDEBUG2("Maximum %s usage time reached", inst->reset);
                REDEBUG2("Rejecting user, %s value (%" PRIu64 ") is less than counter value (%" PRIu64 ")",