I checked, it is in one line. I have attached the sqlcounter file.

Jake He


On Tue, May 13, 2014 at 3:55 PM, Russell Mike <radius.sir@gmail.com> wrote:
Hi


On Tue, May 13, 2014 at 1:31 AM, * <zhex900@gmail.com> wrote:
Hi,

I followed your instructions. Now I get the following errors:

(2)   [-sql] = ok
(2)   [expiration] = noop
(2)   [logintime] = noop
(2) WARNING: pap : Auth-Type already set.  Not setting to PAP
(2)   [pap] = noop
(2) dailycounter : Entering module authorize code
(2) ERROR: dailycounter : %{sql:SELECT SUM(acctsessiontime) FROM radacct WHERE username = '%{User-Name}' AND acctstarttime BETWEEN FROM_UNIXTIME('%b') AND FROM_UNIXTIME('%e')}
(2) ERROR: dailycounter :                                                                                                                         ^ Invalid variable expansion
(2)   [dailycounter] = fail
(2)  } #  authorize = fail
(2) Using Post-Auth-Type Reject

/etc/freeradius/mods-enabled/sqlcounter 

sqlcounter dailycounter{
        counter_name = "Daily-Session-Time"
        check_name = "Max-Daily-Session"
        reply_name = "Session-Timeout"
        sql_module_instance = "sql"
        key = "User-Name"
        reset = "daily"
        cache-size = 5000
        query = "SELECT SUM(acctsessiontime) FROM radacct WHERE username = '%{${
key}}' AND acctstarttime BETWEEN FROM_UNIXTIME('%b') AND FROM_UNIXTIME('%e')"
}

Could you please make sure if the above query is in one line or use "\" to break the line. it is indicating some wrong expression in the query. carefully check your daily counter. it would work.

On Mon, May 12, 2014 at 11:27 PM, Russell Mike <radius.sir@gmail.com> wrote:
Do the following


STEP 1:

nano counters.conf

sqlcounter dailycounter {

                counter-name = "Daily-Session-Time"

                check-name = "Max-Daily-Session"

                reply-name = "Session-Timeout"

                sqlmod-inst = "sql"

                key = "User-Name"

                reset = "daily"

                cache-size = 5000

                query = "SELECT SUM(acctsessiontime) FROM radacct WHERE username = '%{%k}' AND acctstarttime BETWEEN FROM_UNIXTIME('%b') AND FROM_UNIXTIME('%e')"

}


STEP 2:

nano radiusd.conf

instantiate {

        dailycounter

}


STEP 3: 

nano sites-available/default

authorize {

 dailycounter

}


STEP 4: 

accounting {

sql

}

STEP 5: LOOK, THIS MUST BE CHECK & REPLY ITEM NOT CHECK ONLY. BOB IS ALLOWED FOR 60 MINUTES, VALUE IS IN SECONDS. 

Max-Daily-Session := 3600


STEP 6: Restart Radius Daemon

RM --


On Mon, May 12, 2014 at 11:28 AM, * <zhex900@gmail.com> wrote:

Hi,

I have to follow this tutorial to get the the session limit working. But looking at the debug output it seems the sql counter is not executed. No Session-Timeout is sent to NAS as well.

Accounting is working fine. I can see all the accounting information radacct time.

Here is my configuration. Please let me know if I should provide more information.

Jake He

FreeRADIUS V. 3

mods-enabled/sqlcounter

sqlcounter noresetcounter {
        sql_module_instance = sql
        #dialect = ${sql_module_instance}.dialect
        dialect = mysql
        counter_name = Daily-Session-Time
        check_name = Max-Daily-Session
        reply_name = Session-Timeout
        key = User-Name
        reset = never
        query = “SELECT SUM(AcctSessionTime) FROM radacct where UserName=’%{%k}’”

sites-enabled/default:

authorize {

preprocess
chap
mschap
suffix
eap
files
sql
pap
noresetcounter
}

radcheck:
Max-Daily-Session:=60 for the user bob


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html