<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    I have been trying to get freeradius + mysql to play nice together
    for the past few days and no mater what HOW TO or Tutorial I follow
    the end result is the same when I run radtest from the command line
    I get "Access-Reject". In the HOW TO/Tutorials I have followed I was
    told to make my /etc/raddb/sites-available/default like the
    following:
    <br>
    <br>
    authorize {
    <br>
        sql
    <br>
    }
    <br>
    authenticate {
    <br>
    }
    <br>
    preacct {
    <br>
        acct_unique
    <br>
    }
    <br>
    accounting {
    <br>
        sql
    <br>
    }
    <br>
    session {
    <br>
        sql
    <br>
    }
    <br>
    post-auth {
    <br>
    }
    <br>
    pre-proxy {
    <br>
    }
    <br>
    post-proxy {
    <br>
    }
    <br>
    <br>
    and add the information to clients.conf and sql.conf, and it seems
    to be working for I get database requests when I run radiusd -X and
    run radtest. My mysql tables look like the following:
    <br>
    <br>
    mysql> select * from radcheck;
    <br>
+----+----------+--------------+----+----------------------------------+
    <br>
    | id | username | attribute    | op |
    value                            |
    <br>
+----+----------+--------------+----+----------------------------------+
    <br>
    |  1 | testuser | MD5-Password | := |
    179ad45c6ce2cb97cf1029e212046e81 |
    <br>
+----+----------+--------------+----+----------------------------------+
    <br>
    1 row in set (0.00 sec)
    <br>
    <br>
    I have also tried this with Attribute set to Cleartext-Password and
    op set to == with the same result.
    <br>
    <br>
    mysql> select * from radgroupcheck;
    <br>
    +----+-------------+-----------+----+---------+
    <br>
    | id | groupname   | attribute | op | value   |
    <br>
    +----+-------------+-----------+----+---------+
    <br>
    |  1 | normalusers | Auth-Type | := | MS-CHAP |
    <br>
    +----+-------------+-----------+----+---------+
    <br>
    1 row in set (0.00 sec)
    <br>
    <br>
    mysql> select * from radgroupreply;
    <br>
    +----+-------------+--------------------+----+---------------------+
    <br>
    | id | groupname   | attribute          | op | value               |
    <br>
    +----+-------------+--------------------+----+---------------------+
    <br>
    |  1 | normalusers | Framed-Compression | =  | Van-Jacobson-TCP-IP |
    <br>
    +----+-------------+--------------------+----+---------------------+
    <br>
    1 row in set (0.00 sec)
    <br>
    <br>
    mysql> select * from radpostauth;
    <br>
+----+----------+--------------+---------------+---------------------+
    <br>
    | id | username | pass         | reply         | authdate           
    |
    <br>
+----+----------+--------------+---------------+---------------------+
    <br>
    |  1 | testuser | testuserpass | Access-Reject | 2010-12-16 23:45:22
    |
    <br>
    |  2 | testuser | testuserpass | Access-Reject | 2010-12-16 23:52:18
    |
    <br>
    |  3 | testuser | testuserpass | Access-Reject | 2010-12-17 00:24:07
    |
    <br>
    |  4 | root     | changed     | Access-Accept | 2010-12-17 01:28:43
    |
    <br>
    |  5 | user1    | password1    | Access-Reject | 2010-12-17 01:29:01
    |
    <br>
    |  6 | root     | changed     | Access-Accept | 2010-12-17 01:38:59
    |
    <br>
    |  7 | todd     | changed     | Access-Accept | 2010-12-17 01:41:16
    |
    <br>
    |  8 | user1    | password1    | Access-Reject | 2010-12-17 02:06:47
    |
    <br>
    |  9 | user1    | password1    | Access-Reject | 2010-12-17 02:18:37
    |
    <br>
    | 10 | testuser | testpass     | Access-Reject | 2010-12-17 05:05:05
    |
    <br>
    | 11 | testuser | testpass     | Access-Reject | 2010-12-17 05:10:04
    |
    <br>
    | 12 | testuser | testpass     | Access-Reject | 2010-12-17 05:24:06
    |
    <br>
    | 13 | testuser | testpass     | Access-Reject | 2010-12-17 05:35:10
    |
    <br>
    | 14 | testuser | testpass     | Access-Reject | 2010-12-17 06:09:40
    |
    <br>
    | 15 | testuser | testpass     | Access-Reject | 2010-12-17 06:28:45
    |
    <br>
    | 16 | testuser | testpass     | Access-Reject | 2010-12-17 06:43:24
    |
    <br>
+----+----------+--------------+---------------+---------------------+
    <br>
    16 rows in set (0.00 sec)
    <br>
    <br>
    The Access-Accepts that I got here is when I switched it to use the
    /etc/passwd file.
    <br>
    <br>
    mysql> select * from radreply;
    <br>
    +----+----------+-------------------+----+-----------+
    <br>
    | id | username | attribute         | op | value     |
    <br>
    +----+----------+-------------------+----+-----------+
    <br>
    |  1 | testuser | Framed-IP-Address | =  | 127.0.0.1 |
    <br>
    +----+----------+-------------------+----+-----------+
    <br>
    1 row in set (0.00 sec)
    <br>
    <br>
    mysql> select * from radusergroup;
    <br>
    +----------+-------------+----------+
    <br>
    | username | groupname   | priority |
    <br>
    +----------+-------------+----------+
    <br>
    | testuser | normalusers |        1 |
    <br>
    +----------+-------------+----------+
    <br>
    1 row in set (0.00 sec)
    <br>
    <br>
    When I start freeradius in debug mode (radiusd -X) I get the
    following:
    <br>
    <br>
    root@krazy:/etc/raddb# radiusd -X
    <br>
    FreeRADIUS Version 2.1.10, for host x86_64-unknown-linux-gnu, built
    on Dec 12 2010 at 00:37:40
    <br>
    Copyright (C) 1999-2009 The FreeRADIUS server project and
    contributors.
    <br>
    There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
    <br>
    PARTICULAR PURPOSE.
    <br>
    You may redistribute copies of FreeRADIUS under the terms of the
    <br>
    GNU General Public License v2.
    <br>
    Starting - reading configuration files ...
    <br>
    including configuration file /etc/raddb/radiusd.conf
    <br>
    including configuration file /etc/raddb/proxy.conf
    <br>
    including configuration file /etc/raddb/clients.conf
    <br>
    including files in directory <i class="moz-txt-slash"><span
        class="moz-txt-tag">/</span>etc/raddb/modules<span
        class="moz-txt-tag">/</span></i>
    <br>
    including configuration file /etc/raddb/modules/smbpasswd
    <br>
    including configuration file /etc/raddb/modules/mac2ip
    <br>
    including configuration file /etc/raddb/modules/inner-eap
    <br>
    including configuration file /etc/raddb/modules/pam
    <br>
    including configuration file /etc/raddb/modules/ippool
    <br>
    including configuration file /etc/raddb/modules/detail.log
    <br>
    including configuration file /etc/raddb/modules/unix
    <br>
    including configuration file /etc/raddb/modules/dynamic_clients
    <br>
    including configuration file
    /etc/raddb/modules/sqlcounter_expire_on_login
    <br>
    including configuration file /etc/raddb/modules/detail.example.com
    <br>
    including configuration file /etc/raddb/modules/preprocess
    <br>
    including configuration file /etc/raddb/modules/perl
    <br>
    including configuration file /etc/raddb/modules/always
    <br>
    including configuration file /etc/raddb/modules/krb5
    <br>
    including configuration file /etc/raddb/modules/digest
    <br>
    including configuration file /etc/raddb/modules/realm
    <br>
    including configuration file /etc/raddb/modules/radutmp
    <br>
    including configuration file /etc/raddb/modules/expr
    <br>
    including configuration file /etc/raddb/modules/detail
    <br>
    including configuration file /etc/raddb/modules/etc_group
    <br>
    including configuration file /etc/raddb/modules/cui
    <br>
    including configuration file /etc/raddb/modules/ldap
    <br>
    including configuration file /etc/raddb/modules/linelog
    <br>
    including configuration file /etc/raddb/modules/policy
    <br>
    including configuration file /etc/raddb/modules/echo
    <br>
    including configuration file /etc/raddb/modules/exec
    <br>
    including configuration file /etc/raddb/modules/wimax
    <br>
    including configuration file /etc/raddb/modules/sql_log
    <br>
    including configuration file /etc/raddb/modules/otp
    <br>
    including configuration file /etc/raddb/modules/logintime
    <br>
    including configuration file /etc/raddb/modules/attr_filter
    <br>
    including configuration file /etc/raddb/modules/pap
    <br>
    including configuration file /etc/raddb/modules/acct_unique
    <br>
    including configuration file /etc/raddb/modules/opendirectory
    <br>
    including configuration file /etc/raddb/modules/mac2vlan
    <br>
    including configuration file /etc/raddb/modules/passwd
    <br>
    including configuration file /etc/raddb/modules/mschap
    <br>
    including configuration file /etc/raddb/modules/checkval
    <br>
    including configuration file /etc/raddb/modules/files
    <br>
    including configuration file /etc/raddb/modules/expiration
    <br>
    including configuration file /etc/raddb/modules/smsotp
    <br>
    including configuration file /etc/raddb/modules/chap
    <br>
    including configuration file /etc/raddb/modules/sradutmp
    <br>
    including configuration file /etc/raddb/modules/counter
    <br>
    including configuration file /etc/raddb/modules/ntlm_auth
    <br>
    including configuration file /etc/raddb/modules/attr_rewrite
    <br>
    including configuration file /etc/raddb/eap.conf
    <br>
    including configuration file /etc/raddb/sql.conf
    <br>
    including configuration file /etc/raddb/sql/mysql/dialup.conf
    <br>
    including configuration file /etc/raddb/policy.conf
    <br>
    including files in directory <i class="moz-txt-slash"><span
        class="moz-txt-tag">/</span>etc/raddb/sites-enabled<span
        class="moz-txt-tag">/</span></i>
    <br>
    including configuration file /etc/raddb/sites-enabled/default
    <br>
    including configuration file /etc/raddb/sites-enabled/inner-tunnel
    <br>
    including configuration file /etc/raddb/sites-enabled/control-socket
    <br>
    main {
    <br>
            allow_core_dumps = no
    <br>
    }
    <br>
    including dictionary file /etc/raddb/dictionary
    <br>
    main {
    <br>
            prefix = "/usr/local"
    <br>
            localstatedir = "/var"
    <br>
            logdir = "/var/log/radius"
    <br>
            libdir = "<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>usr/local/lib<span
        class="moz-txt-tag">/</span></i>"
    <br>
            radacctdir = "/var/log/radius/radacct"
    <br>
            hostname_lookups = no
    <br>
            max_request_time = 30
    <br>
            cleanup_delay = 5
    <br>
            max_requests = 1024
    <br>
            pidfile = "/var/run/radiusd/radiusd.pid"
    <br>
            checkrad = "/usr/local/sbin/checkrad"
    <br>
            debug_level = 0
    <br>
            proxy_requests = no
    <br>
     log {
    <br>
            stripped_names = no
    <br>
            auth = no
    <br>
            auth_badpass = no
    <br>
            auth_goodpass = no
    <br>
     }
    <br>
     security {
    <br>
            max_attributes = 200
    <br>
            reject_delay = 1
    <br>
            status_server = yes
    <br>
     }
    <br>
    }
    <br>
    radiusd: #### Loading Realms and Home Servers ####
    <br>
     proxy server {
    <br>
            retry_delay = 5
    <br>
            retry_count = 3
    <br>
            default_fallback = no
    <br>
            dead_time = 120
    <br>
            wake_all_if_all_dead = no
    <br>
     }
    <br>
     home_server localhost {
    <br>
            ipaddr = 127.0.0.1
    <br>
            port = 1812
    <br>
            type = "auth"
    <br>
            secret = "testing123"
    <br>
            response_window = 20
    <br>
            max_outstanding = 65536
    <br>
            require_message_authenticator = yes
    <br>
            zombie_period = 40
    <br>
            status_check = "status-server"
    <br>
            ping_interval = 30
    <br>
            check_interval = 30
    <br>
            num_answers_to_alive = 3
    <br>
            num_pings_to_alive = 3
    <br>
            revive_interval = 120
    <br>
            status_check_timeout = 4
    <br>
            irt = 2
    <br>
            mrt = 16
    <br>
            mrc = 5
    <br>
            mrd = 30
    <br>
     }
    <br>
     home_server_pool my_auth_failover {
    <br>
            type = fail-over
    <br>
            home_server = localhost
    <br>
     }
    <br>
     realm example.com {
    <br>
            auth_pool = my_auth_failover
    <br>
     }
    <br>
     realm LOCAL {
    <br>
     }
    <br>
    radiusd: #### Loading Clients ####
    <br>
     client localhost {
    <br>
            ipaddr = 127.0.0.1
    <br>
            require_message_authenticator = no
    <br>
            secret = "testing123"
    <br>
            nastype = "other"
    <br>
     }
    <br>
    radiusd: #### Instantiating modules ####
    <br>
     instantiate {
    <br>
     Module: Linked to module rlm_exec
    <br>
     Module: Instantiating module "exec" from file
    /etc/raddb/modules/exec
    <br>
      exec {
    <br>
            wait = no
    <br>
            input_pairs = "request"
    <br>
            shell_escape = yes
    <br>
      }
    <br>
     Module: Linked to module rlm_expr
    <br>
     Module: Instantiating module "expr" from file
    /etc/raddb/modules/expr
    <br>
     Module: Linked to module rlm_expiration
    <br>
     Module: Instantiating module "expiration" from file
    /etc/raddb/modules/expiration
    <br>
      expiration {
    <br>
            reply-message = "Password Has Expired  "
    <br>
      }
    <br>
     Module: Linked to module rlm_logintime
    <br>
     Module: Instantiating module "logintime" from file
    /etc/raddb/modules/logintime
    <br>
      logintime {
    <br>
            reply-message = "You are calling outside your allowed
    timespan  "
    <br>
            minimum-timeout = 60
    <br>
      }
    <br>
     }
    <br>
    radiusd: #### Loading Virtual Servers ####
    <br>
    server inner-tunnel { # from file
    /etc/raddb/sites-enabled/inner-tunnel
    <br>
     modules {
    <br>
     Module: Checking authenticate {...} for more modules to load
    <br>
     Module: Linked to module rlm_pap
    <br>
     Module: Instantiating module "pap" from file /etc/raddb/modules/pap
    <br>
      pap {
    <br>
            encryption_scheme = "auto"
    <br>
            auto_header = no
    <br>
      }
    <br>
     Module: Linked to module rlm_chap
    <br>
     Module: Instantiating module "chap" from file
    /etc/raddb/modules/chap
    <br>
     Module: Linked to module rlm_mschap
    <br>
     Module: Instantiating module "mschap" from file
    /etc/raddb/modules/mschap
    <br>
      mschap {
    <br>
            use_mppe = yes
    <br>
            require_encryption = no
    <br>
            require_strong = no
    <br>
            with_ntdomain_hack = no
    <br>
      }
    <br>
     Module: Linked to module rlm_unix
    <br>
     Module: Instantiating module "unix" from file
    /etc/raddb/modules/unix
    <br>
      unix {
    <br>
            radwtmp = "/var/log/radius/radwtmp"
    <br>
      }
    <br>
     Module: Linked to module rlm_eap
    <br>
     Module: Instantiating module "eap" from file /etc/raddb/eap.conf
    <br>
      eap {
    <br>
            default_eap_type = "peap"
    <br>
            timer_expire = 60
    <br>
            ignore_unknown_eap_types = no
    <br>
            cisco_accounting_username_bug = no
    <br>
            max_sessions = 4096
    <br>
      }
    <br>
     Module: Linked to sub-module rlm_eap_md5
    <br>
     Module: Instantiating eap-md5
    <br>
     Module: Linked to sub-module rlm_eap_leap
    <br>
     Module: Instantiating eap-leap
    <br>
     Module: Linked to sub-module rlm_eap_gtc
    <br>
     Module: Instantiating eap-gtc
    <br>
       gtc {
    <br>
            challenge = "Password: "
    <br>
            auth_type = "PAP"
    <br>
       }
    <br>
     Module: Linked to sub-module rlm_eap_tls
    <br>
     Module: Instantiating eap-tls
    <br>
       tls {
    <br>
            rsa_key_exchange = no
    <br>
            dh_key_exchange = yes
    <br>
            rsa_key_length = 512
    <br>
            dh_key_length = 512
    <br>
            verify_depth = 0
    <br>
            CA_path = "/etc/raddb/certs"
    <br>
            pem_file_type = yes
    <br>
            private_key_file = "/etc/raddb/certs/server.pem"
    <br>
            certificate_file = "/etc/raddb/certs/server.pem"
    <br>
            CA_file = "/etc/raddb/certs/ca.pem"
    <br>
            private_key_password = "whatever"
    <br>
            dh_file = "/etc/raddb/certs/dh"
    <br>
            random_file = "/etc/raddb/certs/random"
    <br>
            fragment_size = 1024
    <br>
            include_length = yes
    <br>
            check_crl = no
    <br>
            cipher_list = "DEFAULT"
    <br>
            make_cert_command = "/etc/raddb/certs/bootstrap"
    <br>
        cache {
    <br>
            enable = no
    <br>
            lifetime = 24
    <br>
            max_entries = 255
    <br>
        }
    <br>
        verify {
    <br>
        }
    <br>
       }
    <br>
     Module: Linked to sub-module rlm_eap_ttls
    <br>
     Module: Instantiating eap-ttls
    <br>
       ttls {
    <br>
            default_eap_type = "md5"
    <br>
            copy_request_to_tunnel = no
    <br>
            use_tunneled_reply = no
    <br>
            virtual_server = "inner-tunnel"
    <br>
            include_length = yes
    <br>
       }
    <br>
     Module: Linked to sub-module rlm_eap_peap
    <br>
     Module: Instantiating eap-peap
    <br>
       peap {
    <br>
            default_eap_type = "mschapv2"
    <br>
            copy_request_to_tunnel = no
    <br>
            use_tunneled_reply = no
    <br>
            proxy_tunneled_request_as_eap = yes
    <br>
       }
    <br>
     Module: Linked to sub-module rlm_eap_mschapv2
    <br>
     Module: Instantiating eap-mschapv2
    <br>
       mschapv2 {
    <br>
            with_ntdomain_hack = no
    <br>
       }
    <br>
     Module: Checking authorize {...} for more modules to load
    <br>
     Module: Linked to module rlm_sql
    <br>
     Module: Instantiating module "sql" from file /etc/raddb/sql.conf
    <br>
      sql {
    <br>
            driver = "rlm_sql_mysql"
    <br>
            server = "localhost"
    <br>
            port = ""
    <br>
            login = "radius"
    <br>
            password = "neffadmin"
    <br>
            radius_db = "radius"
    <br>
            read_groups = yes
    <br>
            sqltrace = yes
    <br>
            sqltracefile = "/var/log/radius/sqltrace.sql"
    <br>
            readclients = yes
    <br>
            deletestalesessions = yes
    <br>
            num_sql_socks = 5
    <br>
            lifetime = 0
    <br>
            max_queries = 0
    <br>
            sql_user_name = "%{Stripped-User-Name}"
    <br>
            default_user_profile = "DEFAULT"
    <br>
            nas_query = "SELECT id, nasname, shortname, type, secret,
    server FROM nas"
    <br>
            authorize_check_query = "SELECT id, username, attribute,
    value, op           FROM radcheck           WHERE username =
    '%{SQL-User-Name}'           ORDER BY id"
    <br>
            authorize_reply_query = "SELECT id, username, attribute,
    value, op           FROM radreply           WHERE username =
    '%{SQL-User-Name}'           ORDER BY id"
    <br>
            authorize_group_check_query = "SELECT id, groupname,
    attribute,           Value, op           FROM
    radgroupcheck           WHERE groupname = '%{Sql-Group}'          
    ORDER BY id"
    <br>
            authorize_group_reply_query = "SELECT id, groupname,
    attribute,           value, op           FROM
    radgroupreply           WHERE groupname = '%{Sql-Group}'          
    ORDER BY id"
    <br>
            accounting_onoff_query = "          UPDATE radacct          
    SET              acctstoptime       =  '%S',             
    acctsessiontime    =  unix_timestamp('%S')
    -                                   
    unix_timestamp(acctstarttime),              acctterminatecause = 
    '%{Acct-Terminate-Cause}',              acctstopdelay      = 
    %{%{Acct-Delay-Time}:-0}           WHERE acctstoptime IS
    NULL           AND nasipaddress      = 
    '%{NAS-IP-Address}'           AND acctstarttime <= '%S'"
    <br>
            accounting_update_query = "           UPDATE
    radacct           SET              framedipaddress =
    '%{Framed-IP-Address}',              acctsessiontime     =
    '%{Acct-Session-Time}',              acctinputoctets     =
    '%{%{Acct-Input-Gigawords}:-0}' << 32
    |                                   
    '%{%{Acct-Input-Octets}:-0}',              acctoutputoctets    =
    '%{%{Acct-Output-Gigawords}:-0}' << 32
    |                                   
    '%{%{Acct-Output-Octets}:-0}'           WHERE acctsessionid =
    '%{Acct-Session-Id}'           AND username        =
    '%{SQL-User-Name}'           AND nasipaddress    =
    '%{NAS-IP-Address}'"
    <br>
            accounting_update_query_alt = "           INSERT INTO
    radacct             (acctsessionid,    acctuniqueid,     
    username,              realm,            nasipaddress,     
    nasportid,              nasporttype,      acctstarttime,    
    acctsessiontime,              acctauthentic,    connectinfo_start,
    acctinputoctets,              acctoutputoctets, calledstationid,  
    callingstationid,              servicetype,      framedprotocol,   
    framedipaddress,              acctstartdelay,  
    xascendsessionsvrkey)           VALUES            
    ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}',             
    '%{SQL-User-Name}',              '%{Realm}', '%{NAS-IP-Address}',
    '%{NAS-Port}',              '%{NAS-Port-Type}',             
    DATE_SUB('%S',                       INTERVAL
    (%{%{Acct-Session-Time}:-0} +                                
    %{%{Acct-Delay-Time}:-0}) SECOND),                      
    '%{Acct-Session-Time}',              '%{Acct-Authentic}',
    '',              '%{%{Acct-Input-Gigawords}:-0}' << 32
    |              '%{%{Acct-Input-Octets}:-0}',             
    '%{%{Acct-Output-Gigawords}:-0}' << 32 |             
    '%{%{Acct-Output-Octets}:-0}',              '%{Called-Station-Id}',
    '%{Calling-Station-Id}',              '%{Service-Type}',
    '%{Framed-Protocol}',             
    '%{Framed-IP-Address}',              '0',
    '%{X-Ascend-Session-Svr-Key}')"
    <br>
            accounting_start_query = "           INSERT INTO
    radacct             (acctsessionid,    acctuniqueid,    
    username,              realm,            nasipaddress,    
    nasportid,              nasporttype,      acctstarttime,   
    acctstoptime,              acctsessiontime,  acctauthentic,   
    connectinfo_start,              connectinfo_stop, acctinputoctets, 
    acctoutputoctets,              calledstationid,  callingstationid,
    acctterminatecause,              servicetype,      framedprotocol,  
    framedipaddress,              acctstartdelay,   acctstopdelay,   
    xascendsessionsvrkey)           VALUES            
    ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}',             
    '%{SQL-User-Name}',              '%{Realm}', '%{NAS-IP-Address}',
    '%{NAS-Port}',              '%{NAS-Port-Type}', '%S',
    NULL,              '0', '%{Acct-Authentic}',
    '%{Connect-Info}',              '', '0', '0',             
    '%{Called-Station-Id}', '%{Calling-Station-Id}', '',             
    '%{Service-Type}', '%{Framed-Protocol}',
    '%{Framed-IP-Address}',              '%{%{Acct-Delay-Time}:-0}',
    '0', '%{X-Ascend-Session-Svr-Key}')"
    <br>
            accounting_start_query_alt = "           UPDATE radacct
    SET              acctstarttime     = '%S',             
    acctstartdelay    = '%{%{Acct-Delay-Time}:-0}',             
    connectinfo_start = '%{Connect-Info}'           WHERE acctsessionid 
    = '%{Acct-Session-Id}'           AND username         =
    '%{SQL-User-Name}'           AND nasipaddress     =
    '%{NAS-IP-Address}'"
    <br>
            accounting_stop_query = "           UPDATE radacct
    SET              acctstoptime       = '%S',             
    acctsessiontime    = '%{Acct-Session-Time}',             
    acctinputoctets    = '%{%{Acct-Input-Gigawords}:-0}' << 32
    |                                  
    '%{%{Acct-Input-Octets}:-0}',              acctoutputoctets   =
    '%{%{Acct-Output-Gigawords}:-0}' << 32
    |                                  
    '%{%{Acct-Output-Octets}:-0}',              acctterminatecause =
    '%{Acct-Terminate-Cause}',              acctstopdelay      =
    '%{%{Acct-Delay-Time}:-0}',              connectinfo_stop   =
    '%{Connect-Info}'           WHERE acctsessionid   =
    '%{Acct-Session-Id}'           AND username          =
    '%{SQL-User-Name}'           AND nasipaddress      =
    '%{NAS-IP-Address}'"
    <br>
            accounting_stop_query_alt = "           INSERT INTO
    radacct             (acctsessionid, acctuniqueid,
    username,              realm, nasipaddress, nasportid,             
    nasporttype, acctstarttime, acctstoptime,             
    acctsessiontime, acctauthentic, connectinfo_start,             
    connectinfo_stop, acctinputoctets, acctoutputoctets,             
    calledstationid, callingstationid, acctterminatecause,             
    servicetype, framedprotocol, framedipaddress,             
    acctstartdelay, acctstopdelay)           VALUES            
    ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}',             
    '%{SQL-User-Name}',              '%{Realm}', '%{NAS-IP-Address}',
    '%{NAS-Port}',              '%{NAS-Port-Type}',             
    DATE_SUB('%S',                  INTERVAL (%{%{Acct-Session-Time}:-0}
    +                  %{%{Acct-Delay-Time}:-0}) SECOND),             
    '%S', '%{Acct-Session-Time}', '%{Acct-Authentic}', '',             
    '%{Connect-Info}',              '%{%{Acct-Input-Gigawords}:-0}'
    << 32 |             
    '%{%{Acct-Input-Octets}:-0}',             
    '%{%{Acct-Output-Gigawords}:-0}' << 32 |             
    '%{%{Acct-Output-Octets}:-0}',              '%{Called-Station-Id}',
    '%{Calling-Station-Id}',             
    '%{Acct-Terminate-Cause}',              '%{Service-Type}',
    '%{Framed-Protocol}', '%{Framed-IP-Address}',              '0',
    '%{%{Acct-Delay-Time}:-0}')"
    <br>
            group_membership_query = "SELECT groupname           FROM
    radusergroup           WHERE username = '%{SQL-User-Name}'          
    ORDER BY priority"
    <br>
            connect_failure_retry_delay = 60
    <br>
            simul_count_query = ""
    <br>
            simul_verify_query = "SELECT radacctid, acctsessionid,
    username,                                nasipaddress, nasportid,
    framedipaddress,                                callingstationid,
    framedprotocol                                FROM
    radacct                                WHERE username =
    '%{SQL-User-Name}'                                AND acctstoptime
    IS NULL"
    <br>
            postauth_query = "INSERT INTO
    radpostauth                           (username, pass, reply,
    authdate)                           VALUES
    (                          
    '%{User-Name}',                          
    '%{%{User-Password}:-%{Chap-Password}}',                          
    '%{reply:Packet-Type}', '%S')"
    <br>
            safe-characters =
    "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_:
    /"
    <br>
      }
    <br>
    rlm_sql (sql): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded
    and linked
    <br>
    rlm_sql (sql): Attempting to connect to radius@localhost:/radius
    <br>
    rlm_sql (sql): starting 0
    <br>
    rlm_sql (sql): Attempting to connect rlm_sql_mysql #0
    <br>
    rlm_sql_mysql: Starting connect to MySQL server for #0
    <br>
    rlm_sql (sql): Connected new DB handle, #0
    <br>
    rlm_sql (sql): starting 1
    <br>
    rlm_sql (sql): Attempting to connect rlm_sql_mysql #1
    <br>
    rlm_sql_mysql: Starting connect to MySQL server for #1
    <br>
    rlm_sql (sql): Connected new DB handle, #1
    <br>
    rlm_sql (sql): starting 2
    <br>
    rlm_sql (sql): Attempting to connect rlm_sql_mysql #2
    <br>
    rlm_sql_mysql: Starting connect to MySQL server for #2
    <br>
    rlm_sql (sql): Connected new DB handle, #2
    <br>
    rlm_sql (sql): starting 3
    <br>
    rlm_sql (sql): Attempting to connect rlm_sql_mysql #3
    <br>
    rlm_sql_mysql: Starting connect to MySQL server for #3
    <br>
    rlm_sql (sql): Connected new DB handle, #3
    <br>
    rlm_sql (sql): starting 4
    <br>
    rlm_sql (sql): Attempting to connect rlm_sql_mysql #4
    <br>
    rlm_sql_mysql: Starting connect to MySQL server for #4
    <br>
    rlm_sql (sql): Connected new DB handle, #4
    <br>
    rlm_sql (sql): Processing generate_sql_clients
    <br>
    rlm_sql (sql) in generate_sql_clients: query is SELECT id, nasname,
    shortname, type, secret, server FROM nas
    <br>
    rlm_sql (sql): Reserving sql socket id: 4
    <br>
    rlm_sql_mysql: query:  SELECT id, nasname, shortname, type, secret,
    server FROM nas
    <br>
    rlm_sql (sql): Released sql socket id: 4
    <br>
     Module: Checking session {...} for more modules to load
    <br>
     Module: Linked to module rlm_radutmp
    <br>
     Module: Instantiating module "radutmp" from file
    /etc/raddb/modules/radutmp
    <br>
      radutmp {
    <br>
            filename = "/var/log/radius/radutmp"
    <br>
            username = "%{User-Name}"
    <br>
            case_sensitive = yes
    <br>
            check_with_nas = yes
    <br>
            perm = 384
    <br>
            callerid = yes
    <br>
      }
    <br>
     Module: Checking post-proxy {...} for more modules to load
    <br>
     Module: Checking post-auth {...} for more modules to load
    <br>
     Module: Linked to module rlm_attr_filter
    <br>
     Module: Instantiating module "attr_filter.access_reject" from file
    /etc/raddb/modules/attr_filter
    <br>
      attr_filter attr_filter.access_reject {
    <br>
            attrsfile = "/etc/raddb/attrs.access_reject"
    <br>
            key = "%{User-Name}"
    <br>
      }
    <br>
     } # modules
    <br>
    } # server
    <br>
    server { # from file /etc/raddb/radiusd.conf
    <br>
     modules {
    <br>
     Module: Checking authorize {...} for more modules to load
    <br>
     Module: Checking preacct {...} for more modules to load
    <br>
     Module: Linked to module rlm_acct_unique
    <br>
     Module: Instantiating module "acct_unique" from file
    /etc/raddb/modules/acct_unique
    <br>
      acct_unique {
    <br>
            key = "User-Name, Acct-Session-Id, NAS-IP-Address,
    Client-IP-Address, NAS-Port"
    <br>
      }
    <br>
     Module: Checking accounting {...} for more modules to load
    <br>
     Module: Checking session {...} for more modules to load
    <br>
     Module: Checking post-auth {...} for more modules to load
    <br>
     } # modules
    <br>
    } # server
    <br>
    radiusd: #### Opening IP addresses and Ports ####
    <br>
    listen {
    <br>
            type = "auth"
    <br>
            ipaddr = *
    <br>
            port = 0
    <br>
    }
    <br>
    listen {
    <br>
            type = "acct"
    <br>
            ipaddr = *
    <br>
            port = 0
    <br>
    }
    <br>
    listen {
    <br>
            type = "control"
    <br>
     listen {
    <br>
            socket = "/var/run/radiusd/radiusd.sock"
    <br>
     }
    <br>
    }
    <br>
    listen {
    <br>
            type = "auth"
    <br>
            ipaddr = 127.0.0.1
    <br>
            port = 18120
    <br>
    }
    <br>
    Listening on authentication address * port 1812
    <br>
    Listening on accounting address * port 1813
    <br>
    Listening on command file /var/run/radiusd/radiusd.sock
    <br>
    Listening on authentication address 127.0.0.1 port 18120 as server
    inner-tunnel
    <br>
    Ready to process requests.
    <br>
    <br>
    And when I run radtest testuser testpass localhost 1812 testing123
    in another window I get the following output in the radiusd -X
    window:
    <br>
    <br>
    rad_recv: Access-Request packet from host 127.0.0.1 port 58413,
    id=90, length=60
    <br>
            User-Name = "testuser"
    <br>
            User-Password = "testpass"
    <br>
            NAS-IP-Address = 127.0.0.1
    <br>
            NAS-Port = 1812
    <br>
    # Executing section authorize from file
    /etc/raddb/sites-enabled/default
    <br>
    +- entering group authorize {...}
    <br>
    [sql]   expand: %{Stripped-User-Name} ->
    <br>
    [sql] sql_set_user escaped user --> ''
    <br>
    rlm_sql (sql): Reserving sql socket id: 3
    <br>
    [sql]   expand: SELECT id, username, attribute, value, op          
    FROM radcheck           WHERE username =
    '%{SQL-User-Name}'           ORDER BY id -> SELECT id, username,
    attribute, value, op           FROM radcheck           WHERE
    username = ''           ORDER BY id
    <br>
    rlm_sql_mysql: query:  SELECT id, username, attribute, value,
    op           FROM radcheck           WHERE username = ''          
    ORDER BY id
    <br>
    [sql]   expand: SELECT groupname           FROM
    radusergroup           WHERE username = '%{SQL-User-Name}'          
    ORDER BY priority -> SELECT groupname           FROM
    radusergroup           WHERE username = ''           ORDER BY
    priority
    <br>
    rlm_sql_mysql: query:  SELECT groupname           FROM
    radusergroup           WHERE username = ''           ORDER BY
    priority
    <br>
    [sql] Checking profile DEFAULT
    <br>
    [sql] sql_set_user escaped user --> 'DEFAULT'
    <br>
    [sql]   expand: SELECT groupname           FROM
    radusergroup           WHERE username = '%{SQL-User-Name}'          
    ORDER BY priority -> SELECT groupname           FROM
    radusergroup           WHERE username = 'DEFAULT'           ORDER BY
    priority
    <br>
    rlm_sql_mysql: query:  SELECT groupname           FROM
    radusergroup           WHERE username = 'DEFAULT'           ORDER BY
    priority
    <br>
    rlm_sql (sql): Released sql socket id: 3
    <br>
    [sql] User  not found
    <br>
    ++[sql] returns notfound
    <br>
    ERROR: No authenticate method (Auth-Type) found for the request:
    Rejecting the user
    <br>
    Failed to authenticate the user.
    <br>
    Using Post-Auth-Type Reject
    <br>
    # Executing group from file /etc/raddb/sites-enabled/default
    <br>
    +- entering group REJECT {...}
    <br>
    [sql]   expand: %{Stripped-User-Name} ->
    <br>
    [sql] sql_set_user escaped user --> ''
    <br>
    [sql]   expand: %{User-Password} -> testpass
    <br>
    [sql]   expand: INSERT INTO radpostauth                          
    (username, pass, reply, authdate)                           VALUES
    (                          
    '%{User-Name}',                          
    '%{%{User-Password}:-%{Chap-Password}}',                          
    '%{reply:Packet-Type}', '%S') -> INSERT INTO
    radpostauth                           (username, pass, reply,
    authdate)                           VALUES
    (                           'testuser',                          
    'testpass',                           'Access-Reject', '2010-12-17
    07:21:15')
    <br>
    [sql]   expand: /var/log/radius/sqltrace.sql ->
    /var/log/radius/sqltrace.sql
    <br>
    rlm_sql (sql) in sql_postauth: query is INSERT INTO
    radpostauth                           (username, pass, reply,
    authdate)                           VALUES
    (                           'testuser',                          
    'testpass',                           'Access-Reject', '2010-12-17
    07:21:15')
    <br>
    rlm_sql (sql): Reserving sql socket id: 2
    <br>
    rlm_sql_mysql: query:  INSERT INTO
    radpostauth                           (username, pass, reply,
    authdate)                           VALUES
    (                           'testuser',                          
    'testpass',                           'Access-Reject', '2010-12-17
    07:21:15')
    <br>
    rlm_sql (sql): Released sql socket id: 2
    <br>
    ++[sql] returns ok
    <br>
    [attr_filter.access_reject]     expand: %{User-Name} -> testuser
    <br>
     attr_filter: Matched entry DEFAULT at line 11
    <br>
    ++[attr_filter.access_reject] returns updated
    <br>
    Delaying reject of request 0 for 1 seconds
    <br>
    Going to the next request
    <br>
    Waking up in 0.9 seconds.
    <br>
    Sending delayed reject for request 0
    <br>
    Sending Access-Reject of id 90 to 127.0.0.1 port 58413
    <br>
    Waking up in 4.9 seconds.
    <br>
    Cleaning up request 0 ID 90 with timestamp +152
    <br>
    Ready to process requests.
    <br>
    <br>
    And in the window where I ran radtest I get a Access-Reject
    <br>
    <br>
    radtest testuser testpass localhost 1812 testing123
    <br>
    Sending Access-Request of id 90 to 127.0.0.1 port 1812
    <br>
            User-Name = "testuser"
    <br>
            User-Password = "testpass"
    <br>
            NAS-IP-Address = 127.0.0.1
    <br>
            NAS-Port = 1812
    <br>
    rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=90,
    length=20
    <br>
    <br>
    I not sure how to fix this I been searching for days with no luck.
  </body>
</html>