]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
remove '&' from rediswho
authorAlan T. DeKok <aland@freeradius.org>
Thu, 6 Mar 2025 15:11:53 +0000 (10:11 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 6 Mar 2025 16:49:39 +0000 (11:49 -0500)
and complain if the queries are missing

doc/antora/modules/reference/pages/raddb/mods-available/rediswho.adoc
raddb/mods-available/rediswho
src/modules/rlm_rediswho/rlm_rediswho.c

index 8013639ef5d91f07f270967c99c73620ca158a53..bd5dcab50a9be9a6344211c8969442a40da53c4e 100644 (file)
@@ -104,17 +104,17 @@ rediswho {
        trim_count = 15
        expire_time = 86400
        Start {
-               insert = "LPUSH %{User-Name} %l,%{Acct-Session-Id},%{&NAS-IP-Address || &NAS-IPv6-Address},%{Acct-Session-Time},%{Framed-IP-Address},%{&Acct-Input-Gigawords || 0},%{&Acct-Output-Gigawords || 0},%{&Acct-Input-Octets || 0},%{&Acct-Output-Octets || 0}"
+               insert = "LPUSH %{User-Name} %l,%{Acct-Session-Id},%{NAS-IP-Address || NAS-IPv6-Address},%{Acct-Session-Time},%{Framed-IP-Address},%{Acct-Input-Gigawords || 0},%{Acct-Output-Gigawords || 0},%{Acct-Input-Octets || 0},%{Acct-Output-Octets || 0}"
                trim =   "LTRIM %{User-Name} 0 ${..trim_count}"
                expire = "EXPIRE %{User-Name} ${..expire_time}"
        }
        Interim-Update {
-               insert = "LPUSH %{User-Name} %l,%{Acct-Session-Id},%{&NAS-IP-Address || &NAS-IPv6-Address},%{Acct-Session-Time},%{Framed-IP-Address},%{&Acct-Input-Gigawords || 0},%{&Acct-Output-Gigawords || 0},%{&Acct-Input-Octets || 0},%{&Acct-Output-Octets || 0}"
+               insert = "LPUSH %{User-Name} %l,%{Acct-Session-Id},%{NAS-IP-Address || NAS-IPv6-Address},%{Acct-Session-Time},%{Framed-IP-Address},%{Acct-Input-Gigawords || 0},%{Acct-Output-Gigawords || 0},%{Acct-Input-Octets || 0},%{Acct-Output-Octets || 0}"
                trim =   "LTRIM %{User-Name} 0 ${..trim_count}"
                expire = "EXPIRE %{User-Name} ${..expire_time}"
        }
        Stop {
-               insert = "LPUSH %{User-Name} %l,%{Acct-Session-Id},%{&NAS-IP-Address || &NAS-IPv6-Address},%{Acct-Session-Time},%{Framed-IP-Address},%{&Acct-Input-Gigawords || 0},%{&Acct-Output-Gigawords || 0},%{&Acct-Input-Octets || 0},%{&Acct-Output-Octets || 0}"
+               insert = "LPUSH %{User-Name} %l,%{Acct-Session-Id},%{NAS-IP-Address || NAS-IPv6-Address},%{Acct-Session-Time},%{Framed-IP-Address},%{Acct-Input-Gigawords || 0},%{Acct-Output-Gigawords || 0},%{Acct-Input-Octets || 0},%{Acct-Output-Octets || 0}"
                trim =   "LTRIM %{User-Name} 0 ${..trim_count}"
                expire = "EXPIRE %{User-Name} ${..expire_time}"
        }
index 8e0777eede9fe130b99f0c4500a1f6e554c48db8..9a7853443b560f0c3e7dbb90a958aa901c05745c 100644 (file)
@@ -83,7 +83,7 @@ rediswho {
        #  ### Start
        #
        Start {
-               insert = "LPUSH %{User-Name} %l,%{Acct-Session-Id},%{&NAS-IP-Address || &NAS-IPv6-Address},%{Acct-Session-Time},%{Framed-IP-Address},%{&Acct-Input-Gigawords || 0},%{&Acct-Output-Gigawords || 0},%{&Acct-Input-Octets || 0},%{&Acct-Output-Octets || 0}"
+               insert = "LPUSH %{User-Name} %l,%{Acct-Session-Id},%{NAS-IP-Address || NAS-IPv6-Address},%{Acct-Session-Time},%{Framed-IP-Address},%{Acct-Input-Gigawords || 0},%{Acct-Output-Gigawords || 0},%{Acct-Input-Octets || 0},%{Acct-Output-Octets || 0}"
                trim =   "LTRIM %{User-Name} 0 ${..trim_count}"
                expire = "EXPIRE %{User-Name} ${..expire_time}"
        }
@@ -92,7 +92,7 @@ rediswho {
        #  ### Interim-Update
        #
        Interim-Update {
-               insert = "LPUSH %{User-Name} %l,%{Acct-Session-Id},%{&NAS-IP-Address || &NAS-IPv6-Address},%{Acct-Session-Time},%{Framed-IP-Address},%{&Acct-Input-Gigawords || 0},%{&Acct-Output-Gigawords || 0},%{&Acct-Input-Octets || 0},%{&Acct-Output-Octets || 0}"
+               insert = "LPUSH %{User-Name} %l,%{Acct-Session-Id},%{NAS-IP-Address || NAS-IPv6-Address},%{Acct-Session-Time},%{Framed-IP-Address},%{Acct-Input-Gigawords || 0},%{Acct-Output-Gigawords || 0},%{Acct-Input-Octets || 0},%{Acct-Output-Octets || 0}"
                trim =   "LTRIM %{User-Name} 0 ${..trim_count}"
                expire = "EXPIRE %{User-Name} ${..expire_time}"
        }
@@ -101,7 +101,7 @@ rediswho {
        #  ### Stop
        #
        Stop {
-               insert = "LPUSH %{User-Name} %l,%{Acct-Session-Id},%{&NAS-IP-Address || &NAS-IPv6-Address},%{Acct-Session-Time},%{Framed-IP-Address},%{&Acct-Input-Gigawords || 0},%{&Acct-Output-Gigawords || 0},%{&Acct-Input-Octets || 0},%{&Acct-Output-Octets || 0}"
+               insert = "LPUSH %{User-Name} %l,%{Acct-Session-Id},%{NAS-IP-Address || NAS-IPv6-Address},%{Acct-Session-Time},%{Framed-IP-Address},%{Acct-Input-Gigawords || 0},%{Acct-Output-Gigawords || 0},%{Acct-Input-Octets || 0},%{Acct-Output-Octets || 0}"
                trim =   "LTRIM %{User-Name} 0 ${..trim_count}"
                expire = "EXPIRE %{User-Name} ${..expire_time}"
        }
index 1c8a9200957305b9d3be94ddf8a30077c6fad248..a8c3ebe8ab9c3b3319ce81fb27abfca92eb38d7f 100644 (file)
@@ -186,7 +186,7 @@ static unlang_action_t mod_accounting_all(rlm_rcode_t *p_result, rlm_rediswho_t
        if (ret < 0) RETURN_MODULE_FAIL;
 
        /* Only trim if necessary */
-       if ((inst->trim_count >= 0) && (ret > inst->trim_count)) {
+       if (trim && (inst->trim_count >= 0) && (ret > inst->trim_count)) {
                if (rediswho_command(inst, request, trim) < 0) RETURN_MODULE_FAIL;
        }
 
@@ -226,6 +226,16 @@ static unlang_action_t CC_HINT(nonnull) mod_accounting(rlm_rcode_t *p_result, mo
        trim = cf_pair_value(cf_pair_find(cs, "trim"));
        expire = cf_pair_value(cf_pair_find(cs, "expire"));
 
+       if (!insert) {
+               RDEBUG("No 'insert' query - ignoring");
+               RETURN_MODULE_NOOP;
+       }
+
+       if (!expire) {
+               RDEBUG("No 'expire' query - ignoring");
+               RETURN_MODULE_NOOP;
+       }
+
        return mod_accounting_all(&rcode, inst, request, insert, trim, expire);
 }