segmentation fault on coa ACK

firing neurons firingneurons at mail.com
Fri May 29 03:59:21 CEST 2015


   Hi,

   Here is the debug log:

   radiusd: FreeRADIUS Version 3.0.4, for host x86_64-redhat-linux-gnu,
   built on Mar  5 2015 at 23:41:36
   Copyright (C) 1999-2014 The FreeRADIUS server project and contributors
   There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
   PARTICULAR PURPOSE
   You may redistribute copies of FreeRADIUS under the terms of the
   GNU General Public License
   For more information about these matters, see the file named COPYRIGHT
   Starting - reading configuration files ...
   including dictionary file /usr/share/freeradius/dictionary
   including dictionary file /usr/share/freeradius/dictionary.dhcp
   including dictionary file /usr/share/freeradius/dictionary.vqp
   including dictionary file /etc/raddb/dictionary
   including configuration file /etc/raddb/radiusd.conf
   including configuration file /etc/raddb/proxy.conf
   including configuration file /etc/raddb/clients.conf
   including files in directory /etc/raddb/mods-enabled/
   including configuration file /etc/raddb/mods-enabled/always
   including configuration file /etc/raddb/mods-enabled/attr_filter
   including configuration file /etc/raddb/mods-enabled/cache_eap
   including configuration file /etc/raddb/mods-enabled/chap
   including configuration file /etc/raddb/mods-enabled/detail
   including configuration file /etc/raddb/mods-enabled/detail.log
   including configuration file /etc/raddb/mods-enabled/dhcp
   including configuration file /etc/raddb/mods-enabled/digest
   including configuration file /etc/raddb/mods-enabled/dynamic_clients
   including configuration file /etc/raddb/mods-enabled/eap
   including configuration file /etc/raddb/mods-enabled/echo
   including configuration file /etc/raddb/mods-enabled/exec
   including configuration file /etc/raddb/mods-enabled/expiration
   including configuration file /etc/raddb/mods-enabled/expr
   including configuration file /etc/raddb/mods-enabled/files
   including configuration file /etc/raddb/mods-enabled/linelog
   including configuration file /etc/raddb/mods-enabled/logintime
   including configuration file /etc/raddb/mods-enabled/mschap
   including configuration file /etc/raddb/mods-enabled/ntlm_auth
   including configuration file /etc/raddb/mods-enabled/pap
   including configuration file /etc/raddb/mods-enabled/passwd
   including configuration file /etc/raddb/mods-enabled/preprocess
   including configuration file /etc/raddb/mods-enabled/radutmp
   including configuration file /etc/raddb/mods-enabled/realm
   including configuration file /etc/raddb/mods-enabled/replicate
   including configuration file /etc/raddb/mods-enabled/soh
   including configuration file /etc/raddb/mods-enabled/sradutmp
   including configuration file /etc/raddb/mods-enabled/unix
   including configuration file /etc/raddb/mods-enabled/unpack
   including configuration file /etc/raddb/mods-enabled/utf8
   including configuration file /etc/raddb/mods-enabled/sql
   including configuration file
   /etc/raddb/mods-config/sql/main/mysql/queries.conf
   including configuration file /etc/raddb/mods-enabled/sqlcounter
   including configuration file
   /etc/raddb/mods-config/sql/counter/mysql/dailycounter.conf
   including configuration file
   /etc/raddb/mods-config/sql/counter/mysql/monthlycounter.conf
   including configuration file
   /etc/raddb/mods-config/sql/counter/mysql/noresetcounter.conf
   including configuration file
   /etc/raddb/mods-config/sql/counter/mysql/monthlybytescounter.conf
   including configuration file
   /etc/raddb/mods-config/sql/counter/mysql/expire_on_login.conf
   including files in directory /etc/raddb/policy.d/
   including configuration file /etc/raddb/policy.d/accounting
   including configuration file /etc/raddb/policy.d/canonicalization
   including configuration file /etc/raddb/policy.d/control
   including configuration file /etc/raddb/policy.d/cui
   including configuration file /etc/raddb/policy.d/debug
   including configuration file /etc/raddb/policy.d/dhcp
   including configuration file /etc/raddb/policy.d/eap
   including configuration file /etc/raddb/policy.d/filter
   including configuration file /etc/raddb/policy.d/operator-name
   including files in directory /etc/raddb/sites-enabled/
   including configuration file /etc/raddb/sites-enabled/default
   including configuration file /etc/raddb/sites-enabled/inner-tunnel
   including configuration file /etc/raddb/sites-enabled/originate-coa
   main {
    security {
        user = "radiusd"
        group = "radiusd"
        allow_core_dumps = no
    }
   }
   main {
       name = "radiusd"
       prefix = "/usr"
       localstatedir = "/var"
       sbindir = "/usr/sbin"
       logdir = "/var/log/radius"
       run_dir = "/var/run/radiusd"
       libdir = "/usr/lib64/freeradius"
       radacctdir = "/var/log/radius/radacct"
       hostname_lookups = no
       max_request_time = 30
       cleanup_delay = 5
       max_requests = 1024
       pidfile = "/var/run/radiusd/radiusd.pid"
       checkrad = "/usr/sbin/checkrad"
       debug_level = 0
       proxy_requests = yes
    log {
        stripped_names = no
        auth = no
        auth_badpass = no
        auth_goodpass = no
        colourise = yes
        msg_denied = "You are already logged in - access denied"
    }
    security {
        max_attributes = 200
        reject_delay = 1
        status_server = yes
    }
   }
   radiusd: #### Loading Realms and Home Servers ####
    proxy server {
        retry_delay = 5
        retry_count = 3
        default_fallback = no
        dead_time = 120
        wake_all_if_all_dead = no
    }
    home_server localhost {
        ipaddr = 127.0.0.1
        port = 1812
        type = "auth"
        secret = <<< secret >>>
        response_window = 20.000000
        response_timeouts = 1
        max_outstanding = 65536
        zombie_period = 40
        status_check = "status-server"
        ping_interval = 30
        check_interval = 30
        check_timeout = 4
        num_answers_to_alive = 3
        revive_interval = 120
     coa {
         irt = 2
         mrt = 16
         mrc = 5
         mrd = 30
     }
     limit {
         max_connections = 16
         max_requests = 0
         lifetime = 0
         idle_timeout = 0
     }
    }
    home_server pfsense_mpd5 {
        ipaddr = x.x.x.129
        port = 3799
        type = "coa"
        secret = <<< secret >>>
        response_window = 30.000000
        response_timeouts = 1
        max_outstanding = 65536
        zombie_period = 40
        status_check = "none"
        ping_interval = 30
        check_interval = 30
        check_timeout = 4
        num_answers_to_alive = 3
        revive_interval = 300
     coa {
         irt = 2
         mrt = 16
         mrc = 5
         mrd = 30
     }
     limit {
         max_connections = 16
         max_requests = 0
         lifetime = 0
         idle_timeout = 0
     }
    }
    home_server localhost-coa {
        ipaddr = 127.0.0.1
        port = 3799
        type = "coa"
        secret = <<< secret >>>
        response_window = 30.000000
        response_timeouts = 1
        max_outstanding = 65536
        zombie_period = 40
        status_check = "none"
        ping_interval = 30
        check_interval = 30
        check_timeout = 4
        num_answers_to_alive = 3
        revive_interval = 300
     coa {
         irt = 2
         mrt = 16
         mrc = 5
         mrd = 30
     }
     limit {
         max_connections = 16
         max_requests = 0
         lifetime = 0
         idle_timeout = 0
     }
    }
    home_server_pool my_auth_failover {
       type = fail-over
       home_server = localhost
    }
    realm example.com {
       auth_pool = my_auth_failover
    }
    realm LOCAL {
    }
   radiusd: #### Loading Clients ####
    client BSDRP {
        ipaddr = x.x.x.129
        require_message_authenticator = no
        secret = <<< secret >>>
        nas_type = "other"
        proto = "*"
     limit {
         max_connections = 16
         lifetime = 0
         idle_timeout = 30
     }
        coa_server = "pfsense_mpd5"
    }
    client localhost_ipv6 {
        ipv6addr = ::1
        require_message_authenticator = no
        secret = <<< secret >>>
     limit {
         max_connections = 16
         lifetime = 0
         idle_timeout = 30
     }
    }
   radiusd: #### Instantiating modules ####
    instantiate {
     # Loaded module rlm_sqlcounter
     # Instantiating module "monthlybytescounter" from file
   /etc/raddb/mods-enabled/sqlcounter
     sqlcounter monthlybytescounter {
         sql_module_instance = "sql"
         key = "User-Name"
         query = "SELECT SUM(AcctInputOctets) + SUM(AcctOutputOctets) FROM
   radacct WHERE UserName='%{User-Name}'"
         reset = "monthly"
         counter_name = "Max-Monthly-Bytes"
         check_name = "Max-Monthly-Bytes"
         reply_name = "Max-Monthly-Bytes"
     }
   rlm_sqlcounter: Current Time: 1432861395 [2015-05-29 06:33:15], Next
   reset 1433097000 [2015-06-01 00:00:00]
   rlm_sqlcounter: Current Time: 1432861395 [2015-05-29 06:33:15], Prev
   reset 1430418600 [2015-05-01 00:00:00]
    }
    modules {
     # Loaded module rlm_always
     # Instantiating module "reject" from file
   /etc/raddb/mods-enabled/always
     always reject {
         rcode = "reject"
         simulcount = 0
         mpp = no
     }
     # Instantiating module "fail" from file
   /etc/raddb/mods-enabled/always
     always fail {
         rcode = "fail"
         simulcount = 0
         mpp = no
     }
     # Instantiating module "ok" from file /etc/raddb/mods-enabled/always
     always ok {
         rcode = "ok"
         simulcount = 0
         mpp = no
     }
     # Instantiating module "handled" from file
   /etc/raddb/mods-enabled/always
     always handled {
         rcode = "handled"
         simulcount = 0
         mpp = no
     }
     # Instantiating module "invalid" from file
   /etc/raddb/mods-enabled/always
     always invalid {
         rcode = "invalid"
         simulcount = 0
         mpp = no
     }
     # Instantiating module "userlock" from file
   /etc/raddb/mods-enabled/always
     always userlock {
         rcode = "userlock"
         simulcount = 0
         mpp = no
     }
     # Instantiating module "notfound" from file
   /etc/raddb/mods-enabled/always
     always notfound {
         rcode = "notfound"
         simulcount = 0
         mpp = no
     }
     # Instantiating module "noop" from file
   /etc/raddb/mods-enabled/always
     always noop {
         rcode = "noop"
         simulcount = 0
         mpp = no
     }
     # Instantiating module "updated" from file
   /etc/raddb/mods-enabled/always
     always updated {
         rcode = "updated"
         simulcount = 0
         mpp = no
     }
     # Loaded module rlm_attr_filter
     # Instantiating module "attr_filter.post-proxy" from file
   /etc/raddb/mods-enabled/attr_filter
     attr_filter attr_filter.post-proxy {
         filename = "/etc/raddb/mods-config/attr_filter/post-proxy"
         key = "%{Realm}"
         relaxed = no
     }
   reading pairlist file /etc/raddb/mods-config/attr_filter/post-proxy
     # Instantiating module "attr_filter.pre-proxy" from file
   /etc/raddb/mods-enabled/attr_filter
     attr_filter attr_filter.pre-proxy {
         filename = "/etc/raddb/mods-config/attr_filter/pre-proxy"
         key = "%{Realm}"
         relaxed = no
     }
   reading pairlist file /etc/raddb/mods-config/attr_filter/pre-proxy
     # Instantiating module "attr_filter.access_reject" from file
   /etc/raddb/mods-enabled/attr_filter
     attr_filter attr_filter.access_reject {
         filename = "/etc/raddb/mods-config/attr_filter/access_reject"
         key = "%{User-Name}"
         relaxed = no
     }
   reading pairlist file /etc/raddb/mods-config/attr_filter/access_reject
     # Instantiating module "attr_filter.access_challenge" from file
   /etc/raddb/mods-enabled/attr_filter
     attr_filter attr_filter.access_challenge {
         filename = "/etc/raddb/mods-config/attr_filter/access_challenge"
         key = "%{User-Name}"
         relaxed = no
     }
   reading pairlist file
   /etc/raddb/mods-config/attr_filter/access_challenge
     # Instantiating module "attr_filter.accounting_response" from file
   /etc/raddb/mods-enabled/attr_filter
     attr_filter attr_filter.accounting_response {
         filename =
   "/etc/raddb/mods-config/attr_filter/accounting_response"
         key = "%{User-Name}"
         relaxed = no
     }
   reading pairlist file
   /etc/raddb/mods-config/attr_filter/accounting_response
     # Loaded module rlm_cache
     # Instantiating module "cache_eap" from file
   /etc/raddb/mods-enabled/cache_eap
     cache cache_eap {
         key = "%{%{control:State}:-%{%{reply:State}:-%{State}}}"
         ttl = 15
         max_entries = 16384
         epoch = 0
         add_stats = no
     }
     # Loaded module rlm_chap
     # Instantiating module "chap" from file /etc/raddb/mods-enabled/chap
     # Loaded module rlm_detail
     # Instantiating module "detail" from file
   /etc/raddb/mods-enabled/detail
     detail {
         filename =
   "/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-
   Address}}/detail-%Y%m%d"
         header = "%t"
         permissions = 384
         locking = no
         log_packet_header = no
     }
     # Instantiating module "auth_log" from file
   /etc/raddb/mods-enabled/detail.log
     detail auth_log {
         filename =
   "/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-
   Address}}/auth-detail-%Y%m%d"
         header = "%t"
         permissions = 384
         locking = no
         log_packet_header = no
     }
   rlm_detail (auth_log): 'User-Password' suppressed, will not appear in
   detail output
     # Instantiating module "reply_log" from file
   /etc/raddb/mods-enabled/detail.log
     detail reply_log {
         filename =
   "/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-
   Address}}/reply-detail-%Y%m%d"
         header = "%t"
         permissions = 384
         locking = no
         log_packet_header = no
     }
     # Instantiating module "pre_proxy_log" from file
   /etc/raddb/mods-enabled/detail.log
     detail pre_proxy_log {
         filename =
   "/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-
   Address}}/pre-proxy-detail-%Y%m%d"
         header = "%t"
         permissions = 384
         locking = no
         log_packet_header = no
     }
     # Instantiating module "post_proxy_log" from file
   /etc/raddb/mods-enabled/detail.log
     detail post_proxy_log {
         filename =
   "/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-
   Address}}/post-proxy-detail-%Y%m%d"
         header = "%t"
         permissions = 384
         locking = no
         log_packet_header = no
     }
     # Loaded module rlm_dhcp
     # Instantiating module "dhcp" from file /etc/raddb/mods-enabled/dhcp
     # Loaded module rlm_digest
     # Instantiating module "digest" from file
   /etc/raddb/mods-enabled/digest
     # Loaded module rlm_dynamic_clients
     # Instantiating module "dynamic_clients" from file
   /etc/raddb/mods-enabled/dynamic_clients
     # Loaded module rlm_eap
     # Instantiating module "eap" from file /etc/raddb/mods-enabled/eap
     eap {
         default_eap_type = "md5"
         timer_expire = 60
         ignore_unknown_eap_types = no
         mod_accounting_username_bug = no
         max_sessions = 1024
     }
      # Linked to sub-module rlm_eap_md5
      # Linked to sub-module rlm_eap_leap
      # Linked to sub-module rlm_eap_gtc
      gtc {
          challenge = "Password: "
          auth_type = "PAP"
      }
      # Linked to sub-module rlm_eap_tls
      tls {
          tls = "tls-common"
      }
      tls-config tls-common {
          rsa_key_exchange = no
          dh_key_exchange = yes
          rsa_key_length = 512
          dh_key_length = 512
          verify_depth = 0
          ca_path = "/etc/raddb/certs"
          pem_file_type = yes
          private_key_file = "/etc/raddb/certs/server.pem"
          certificate_file = "/etc/raddb/certs/server.pem"
          ca_file = "/etc/raddb/certs/ca.pem"
          private_key_password = <<< secret >>>
          dh_file = "/etc/raddb/certs/dh"
          fragment_size = 1024
          include_length = yes
          check_crl = no
          cipher_list = "DEFAULT"
          ecdh_curve = "prime256v1"
       cache {
           enable = yes
           lifetime = 24
           max_entries = 255
       }
       verify {
       }
       ocsp {
           enable = no
           override_cert_url = yes
           url = "http://127.0.0.1/ocsp/"
           use_nonce = yes
           timeout = 0
           softfail = yes
       }
      }
      # Linked to sub-module rlm_eap_ttls
      ttls {
          tls = "tls-common"
          default_eap_type = "md5"
          copy_request_to_tunnel = no
          use_tunneled_reply = no
          virtual_server = "inner-tunnel"
          include_length = yes
          require_client_cert = no
      }
   Using cached TLS configuration from previous invocation
      # Linked to sub-module rlm_eap_peap
      peap {
          tls = "tls-common"
          default_method = "mschapv2"
          copy_request_to_tunnel = no
          use_tunneled_reply = no
          proxy_tunneled_request_as_eap = yes
          virtual_server = "inner-tunnel"
          soh = no
          require_client_cert = no
      }
   Using cached TLS configuration from previous invocation
      # Linked to sub-module rlm_eap_mschapv2
      mschapv2 {
          with_ntdomain_hack = no
          send_error = no
      }
     # Loaded module rlm_exec
     # Instantiating module "echo" from file /etc/raddb/mods-enabled/echo
     exec echo {
         wait = yes
         program = "/bin/echo %{User-Name}"
         input_pairs = "request"
         output_pairs = "reply"
         shell_escape = yes
     }
     # Instantiating module "exec" from file /etc/raddb/mods-enabled/exec
     exec {
         wait = no
         input_pairs = "request"
         shell_escape = yes
         timeout = 10
     }
     # Loaded module rlm_expiration
     # Instantiating module "expiration" from file
   /etc/raddb/mods-enabled/expiration
     # Loaded module rlm_expr
     # Instantiating module "expr" from file /etc/raddb/mods-enabled/expr
     expr {
         safe_characters =
   "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /"
     }
     # Loaded module rlm_files
     # Instantiating module "files" from file
   /etc/raddb/mods-enabled/files
     files {
         filename = "/etc/raddb/mods-config/files/authorize"
         usersfile = "/etc/raddb/mods-config/files/authorize"
         acctusersfile = "/etc/raddb/mods-config/files/accounting"
         preproxy_usersfile = "/etc/raddb/mods-config/files/pre-proxy"
         compat = "cistron"
     }
   reading pairlist file /etc/raddb/mods-config/files/authorize
   [/etc/raddb/mods-config/files/authorize]:181 Cistron compatibility
   checks for entry DEFAULT ...
   [/etc/raddb/mods-config/files/authorize]:188 Cistron compatibility
   checks for entry DEFAULT ...
   [/etc/raddb/mods-config/files/authorize]:195 Cistron compatibility
   checks for entry DEFAULT ...
   reading pairlist file /etc/raddb/mods-config/files/authorize
   [/etc/raddb/mods-config/files/authorize]:181 Cistron compatibility
   checks for entry DEFAULT ...
   [/etc/raddb/mods-config/files/authorize]:188 Cistron compatibility
   checks for entry DEFAULT ...
   [/etc/raddb/mods-config/files/authorize]:195 Cistron compatibility
   checks for entry DEFAULT ...
   reading pairlist file /etc/raddb/mods-config/files/accounting
   reading pairlist file /etc/raddb/mods-config/files/pre-proxy
     # Loaded module rlm_linelog
     # Instantiating module "linelog" from file
   /etc/raddb/mods-enabled/linelog
     linelog {
         filename = "/var/log/radius/linelog"
         permissions = 384
         format = "This is a log message for %{User-Name}"
         reference = "messages.%{%{Packet-Type}:-default}"
     }
     # Instantiating module "log_accounting" from file
   /etc/raddb/mods-enabled/linelog
     linelog log_accounting {
         filename = "/var/log/radius/linelog-accounting"
         permissions = 384
         format = ""
         reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}"
     }
     # Loaded module rlm_logintime
     # Instantiating module "logintime" from file
   /etc/raddb/mods-enabled/logintime
     logintime {
         minimum_timeout = 60
     }
     # Loaded module rlm_mschap
     # Instantiating module "mschap" from file
   /etc/raddb/mods-enabled/mschap
     mschap {
         use_mppe = yes
         require_encryption = no
         require_strong = no
         with_ntdomain_hack = yes
      passchange {
      }
         allow_retry = yes
     }
     # Instantiating module "ntlm_auth" from file
   /etc/raddb/mods-enabled/ntlm_auth
     exec ntlm_auth {
         wait = yes
         program = "/path/to/ntlm_auth --request-nt-key --domain=MYDOMAIN
   --username=%{mschap:User-Name} --password=%{User-Password}"
         shell_escape = yes
     }
     # Loaded module rlm_pap
     # Instantiating module "pap" from file /etc/raddb/mods-enabled/pap
     pap {
         normalise = yes
     }
     # Loaded module rlm_passwd
     # Instantiating module "etc_passwd" from file
   /etc/raddb/mods-enabled/passwd
     passwd etc_passwd {
         filename = "/etc/passwd"
         format = "*User-Name:Crypt-Password:"
         delimiter = ":"
         ignore_nislike = no
         ignore_empty = yes
         allow_multiple_keys = no
         hash_size = 100
     }
   rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no
     # Loaded module rlm_preprocess
     # Instantiating module "preprocess" from file
   /etc/raddb/mods-enabled/preprocess
     preprocess {
         huntgroups = "/etc/raddb/mods-config/preprocess/huntgroups"
         hints = "/etc/raddb/mods-config/preprocess/hints"
         with_ascend_hack = no
         ascend_channels_per_line = 23
         with_ntdomain_hack = no
         with_specialix_jetstream_hack = no
         with_cisco_vsa_hack = no
         with_alvarion_vsa_hack = no
     }
   reading pairlist file /etc/raddb/mods-config/preprocess/huntgroups
   reading pairlist file /etc/raddb/mods-config/preprocess/hints
     # Loaded module rlm_radutmp
     # Instantiating module "radutmp" from file
   /etc/raddb/mods-enabled/radutmp
     radutmp {
         filename = "/var/log/radius/radutmp"
         username = "%{User-Name}"
         case_sensitive = yes
         check_with_nas = yes
         permissions = 384
         caller_id = yes
     }
     # Loaded module rlm_realm
     # Instantiating module "IPASS" from file
   /etc/raddb/mods-enabled/realm
     realm IPASS {
         format = "prefix"
         delimiter = "/"
         ignore_default = no
         ignore_null = no
     }
     # Instantiating module "suffix" from file
   /etc/raddb/mods-enabled/realm
     realm suffix {
         format = "suffix"
         delimiter = "@"
         ignore_default = no
         ignore_null = no
     }
     # Instantiating module "realmpercent" from file
   /etc/raddb/mods-enabled/realm
     realm realmpercent {
         format = "suffix"
         delimiter = "%"
         ignore_default = no
         ignore_null = no
     }
     # Instantiating module "ntdomain" from file
   /etc/raddb/mods-enabled/realm
     realm ntdomain {
         format = "prefix"
         delimiter = "\"
         ignore_default = no
         ignore_null = no
     }
     # Loaded module rlm_replicate
     # Instantiating module "replicate" from file
   /etc/raddb/mods-enabled/replicate
     # Loaded module rlm_soh
     # Instantiating module "soh" from file /etc/raddb/mods-enabled/soh
     soh {
         dhcp = yes
     }
     # Instantiating module "sradutmp" from file
   /etc/raddb/mods-enabled/sradutmp
     radutmp sradutmp {
         filename = "/var/log/radius/sradutmp"
         username = "%{User-Name}"
         case_sensitive = yes
         check_with_nas = yes
         permissions = 420
         caller_id = no
     }
     # Loaded module rlm_unix
     # Instantiating module "unix" from file /etc/raddb/mods-enabled/unix
     unix {
         radwtmp = "/var/log/radius/radwtmp"
     }
     # Loaded module rlm_unpack
     # Instantiating module "unpack" from file
   /etc/raddb/mods-enabled/unpack
     # Loaded module rlm_utf8
     # Instantiating module "utf8" from file /etc/raddb/mods-enabled/utf8
     # Loaded module rlm_sql
     # Instantiating module "sql" from file /etc/raddb/mods-enabled/sql
     sql {
         driver = "rlm_sql_mysql"
         server = "localhost"
         port = "3306"
         login = "radius"
         password = <<< secret >>>
         radius_db = "radius"
         read_groups = yes
         read_profiles = yes
         read_clients = no
         delete_stale_sessions = yes
         sql_user_name = "%{User-Name}"
         default_user_profile = ""
         client_query = "SELECT id, nasname, shortname, type, secret,
   server FROM nas"
         authorize_check_query = "SELECT id, username, attribute, value,
   op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id"
         authorize_reply_query = "SELECT id, username, attribute, value,
   op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id"
         authorize_group_check_query = "SELECT id, groupname, attribute,
   Value, op FROM radgroupcheck WHERE groupname = '%{Sql-Group}' ORDER BY
   id"
         authorize_group_reply_query = "SELECT id, groupname, attribute,
   value, op FROM radgroupreply WHERE groupname = '%{Sql-Group}' ORDER BY
   id"
         group_membership_query = "SELECT groupname FROM radusergroup
   WHERE username = '%{SQL-User-Name}' ORDER BY priority"
         simul_count_query = ""
         simul_verify_query = "SELECT radacctid, acctsessionid, username,
   nasipaddress, nasportid, framedipaddress, callingstationid,
   framedprotocol FROM radacct WHERE username = '%{SQL-User-Name}' AND
   acctstoptime IS NULL"
         safe_characters =
   "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /"
     }
      accounting {
          reference = "%{tolower:type.%{Acct-Status-Type}.query}"
      }
      post-auth {
          reference = ".query"
      }
      mysql {
       tls {
       }
      }
   rlm_sql (sql): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and
   linked
   rlm_sql (sql): Attempting to connect to database "radius"
   rlm_sql (sql): Initialising connection pool
      pool {
          start = 5
          min = 4
          max = 32
          spare = 3
          uses = 0
          lifetime = 0
          cleanup_interval = 30
          idle_timeout = 60
          retry_delay = 1
          spread = no
      }
   rlm_sql (sql): Opening additional connection (0)
   rlm_sql_mysql: Starting connect to MySQL server
   rlm_sql (sql): Opening additional connection (1)
   rlm_sql_mysql: Starting connect to MySQL server
   rlm_sql (sql): Opening additional connection (2)
   rlm_sql_mysql: Starting connect to MySQL server
   rlm_sql (sql): Opening additional connection (3)
   rlm_sql_mysql: Starting connect to MySQL server
   rlm_sql (sql): Opening additional connection (4)
   rlm_sql_mysql: Starting connect to MySQL server
     # Instantiating module "dailycounter" from file
   /etc/raddb/mods-enabled/sqlcounter
     sqlcounter dailycounter {
         sql_module_instance = "sql"
         key = "User-Name"
         query = "SELECT SUM(acctsessiontime - GREATEST((%b -
   UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE username =
   '%{User-Name}' AND UNIX_TIMESTAMP(acctstarttime) + acctsessiontime >
   '%b'"
         reset = "daily"
         counter_name = "Daily-Session-Time"
         check_name = "Max-Daily-Session"
         reply_name = "Session-Timeout"
     }
   rlm_sqlcounter: Current Time: 1432861395 [2015-05-29 06:33:15], Next
   reset 1432924200 [2015-05-30 00:00:00]
   rlm_sqlcounter: Current Time: 1432861395 [2015-05-29 06:33:15], Prev
   reset 1432837800 [2015-05-29 00:00:00]
     # Instantiating module "monthlycounter" from file
   /etc/raddb/mods-enabled/sqlcounter
     sqlcounter monthlycounter {
         sql_module_instance = "sql"
         key = "User-Name"
         query = "SELECT SUM(acctsessiontime - GREATEST((%b -
   UNIX_TIMESTAMP(acctstarttime)), 0)) FROM radacct WHERE
   username='%{User-Name}' AND UNIX_TIMESTAMP(acctstarttime) +
   acctsessiontime > '%b'"
         reset = "monthly"
         counter_name = "Monthly-Session-Time"
         check_name = "Max-Monthly-Session"
         reply_name = "Session-Timeout"
     }
   rlm_sqlcounter: Current Time: 1432861395 [2015-05-29 06:33:15], Next
   reset 1433097000 [2015-06-01 00:00:00]
   rlm_sqlcounter: Current Time: 1432861395 [2015-05-29 06:33:15], Prev
   reset 1430418600 [2015-05-01 00:00:00]
     # Instantiating module "noresetcounter" from file
   /etc/raddb/mods-enabled/sqlcounter
     sqlcounter noresetcounter {
         sql_module_instance = "sql"
         key = "User-Name"
         query = "SELECT IFNULL(SUM(AcctSessionTime),0) FROM radacct WHERE
   UserName='%{User-Name}'"
         reset = "never"
         counter_name = "Max-All-Session-Time"
         check_name = "Max-All-Session"
         reply_name = "Session-Timeout"
     }
   rlm_sqlcounter: Current Time: 1432861395 [2015-05-29 06:33:15], Next
   reset 0 [2015-05-29 06:00:00]
   rlm_sqlcounter: Current Time: 1432861395 [2015-05-29 06:33:15], Prev
   reset 0 [2015-05-29 06:00:00]
     # Instantiating module "expire_on_login" from file
   /etc/raddb/mods-enabled/sqlcounter
     sqlcounter expire_on_login {
         sql_module_instance = "sql"
         key = "User-Name"
         query = "SELECT TIMESTAMPDIFF(SECOND, acctstarttime, NOW()) FROM
   radacct WHERE UserName='%{User-Name}' ORDER BY acctstarttime LIMIT 1;"
         reset = "never"
         counter_name = "Expire-After-Initial-Login"
         check_name = "Expire-After"
         reply_name = "Session-Timeout"
     }
   rlm_sqlcounter: Current Time: 1432861395 [2015-05-29 06:33:15], Next
   reset 0 [2015-05-29 06:00:00]
   rlm_sqlcounter: Current Time: 1432861395 [2015-05-29 06:33:15], Prev
   reset 0 [2015-05-29 06:00:00]
    } # modules
   radiusd: #### Loading Virtual Servers ####
   server { # from file /etc/raddb/radiusd.conf
   } # server
   server default { # from file /etc/raddb/sites-enabled/default
    # Creating Auth-Type = digest
    # Loading authenticate {...}
    # Loading authorize {...}
   Ignoring "ldap" (see raddb/mods-available/README.rst)
    # Loading preacct {...}
    # Loading accounting {...}
    # Loading session {...}
    # Loading post-proxy {...}
    # Loading post-auth {...}
   } # server default
   server inner-tunnel { # from file /etc/raddb/sites-enabled/inner-tunnel
    # Loading authenticate {...}
    # Loading authorize {...}
    # Loading session {...}
    # Loading post-proxy {...}
    # Loading post-auth {...}
   } # server inner-tunnel
   server originate-coa.pfsense { # from file
   /etc/raddb/sites-enabled/originate-coa
    # Creating Post-Proxy-Type = Fail-CoA
    # Creating Post-Proxy-Type = Fail-Disconnect
    # Loading pre-proxy {...}
    # Loading post-proxy {...}
   } # server originate-coa.pfsense
   radiusd: #### Opening IP addresses and Ports ####
   listen {
         type = "auth"
         ipaddr = *
         port = 0
      limit {
          max_connections = 16
          lifetime = 0
          idle_timeout = 30
      }
   }
   listen {
         type = "acct"
         ipaddr = *
         port = 0
      limit {
          max_connections = 16
          lifetime = 0
          idle_timeout = 30
      }
   }
   listen {
         type = "auth"
         ipv6addr = ::
         port = 0
      limit {
          max_connections = 16
          lifetime = 0
          idle_timeout = 30
      }
   }
   listen {
         type = "acct"
         ipv6addr = ::
         port = 0
      limit {
          max_connections = 16
          lifetime = 0
          idle_timeout = 30
      }
   }
   listen {
         type = "auth"
         ipaddr = 127.0.0.1
         port = 18120
   }
   Listening on auth address * port 1812 as server default
   Listening on acct address * port 1813 as server default
   Listening on auth address :: port 1812 as server default
   Listening on acct address :: port 1813 as server default
   Listening on auth address 127.0.0.1 port 18120 as server inner-tunnel
   Opening new proxy socket 'proxy address * port 0'
   Listening on proxy address * port 58821
   Ready to process requests
   Received Accounting-Request Id 131 from x.x.x.129:62225 to
   x.x.x.181:1813 length 373
       NAS-Identifier = 'PFSENSE_BRAS_MPD5'
       NAS-IP-Address = x.x.x.129
       Acct-Session-Id = '2860792-re0-2'
       NAS-Port = 2
       NAS-Port-Type = Ethernet
       Service-Type = Framed-User
       Framed-Protocol = PPP
       Calling-Station-Id = 'xx:xx:xx:xx:81:82'
       NAS-Port-Id = 're0'
       mpd-link = 're0-2'
       mpd-peer-ident = 'MSRASV5.20 MSRAS-0-SAARTHI
   \017S\304_\202\300WM\212[\272\321u|P\322'
       Tunnel-Medium-Type:0 = IEEE-802
       Tunnel-Client-Endpoint:0 = 'xx:xx:xx:xx:81:82'
       Framed-IP-Address = x.x.5.2
       User-Name = 'data2'
       Acct-Multi-Session-Id = '2860792-B-1'
       mpd-bundle = 'B-1'
       mpd-iface = 'poes11'
       mpd-iface-index = 8
       mpd-peer-ident = 'MSRASV5.20 MSRAS-0-SAARTHI
   \017S\304_\202\300WM\212[\272\321u|P\322'
       Acct-Link-Count = 1
       Acct-Authentic = RADIUS
       Acct-Status-Type = Interim-Update
       Acct-Session-Time = 606
       Acct-Input-Octets = 538716247
       Acct-Input-Packets = 387530
       Acct-Input-Gigawords = 0
       Acct-Output-Octets = 15348397
       Acct-Output-Packets = 260682
       Acct-Output-Gigawords = 0
   (0) Received Accounting-Request packet from host x.x.x.129 port 62225,
   id=131, length=373
   (0)     NAS-Identifier = 'PFSENSE_BRAS_MPD5'
   (0)     NAS-IP-Address = x.x.x.129
   (0)     Acct-Session-Id = '2860792-re0-2'
   (0)     NAS-Port = 2
   (0)     NAS-Port-Type = Ethernet
   (0)     Service-Type = Framed-User
   (0)     Framed-Protocol = PPP
   (0)     Calling-Station-Id = 'xx:xx:xx:xx:81:82'
   (0)     NAS-Port-Id = 're0'
   (0)     mpd-link = 're0-2'
   (0)     mpd-peer-ident = 'MSRASV5.20 MSRAS-0-SAARTHI
   \017S\304_\202\300WM\212[\272\321u|P\322'
   (0)     Tunnel-Medium-Type:0 = IEEE-802
   (0)     Tunnel-Client-Endpoint:0 = 'xx:xx:xx:xx:81:82'
   (0)     Framed-IP-Address = x.x.5.2
   (0)     User-Name = 'data2'
   (0)     Acct-Multi-Session-Id = '2860792-B-1'
   (0)     mpd-bundle = 'B-1'
   (0)     mpd-iface = 'poes11'
   (0)     mpd-iface-index = 8
   (0)     mpd-peer-ident = 'MSRASV5.20 MSRAS-0-SAARTHI
   \017S\304_\202\300WM\212[\272\321u|P\322'
   (0)     Acct-Link-Count = 1
   (0)     Acct-Authentic = RADIUS
   (0)     Acct-Status-Type = Interim-Update
   (0)     Acct-Session-Time = 606
   (0)     Acct-Input-Octets = 538716247
   (0)     Acct-Input-Packets = 387530
   (0)     Acct-Input-Gigawords = 0
   (0)     Acct-Output-Octets = 15348397
   (0)     Acct-Output-Packets = 260682
   (0)     Acct-Output-Gigawords = 0
   (0) # Executing section preacct from file
   /etc/raddb/sites-enabled/default
   (0)   preacct {
   (0)   [preprocess] = ok
   (0)   acct_unique acct_unique {
   (0)     if ("%{string:Class}" =~ /ai:([0-9a-f]{32})/i)
   (0) EXPAND %{string:Class}
   (0)    -->
   (0)     if ("%{string:Class}" =~ /ai:([0-9a-f]{32})/i)  -> FALSE
   (0)    else else {
   (0)     update request {
   (0) EXPAND
   %{md5:%{User-Name},%{Acct-Session-ID},%{%{NAS-IPv6-Address}:-%{NAS-IP-A
   ddress}},%{NAS-Identifier},%{NAS-Port-ID},%{NAS-Port}}
   (0)    --> 185d851f75e889a76f139306c8ff2553
   (0)     Acct-Unique-Session-Id := "185d851f75e889a76f139306c8ff2553"
   (0)     } # update request = noop
   (0)    } # else else = noop
   (0)   } # acct_unique acct_unique = noop
   (0)  suffix : Checking for suffix after "@"
   (0)  suffix : No '@' in User-Name = "data2", looking up realm NULL
   (0)  suffix : No such realm "NULL"
   (0)   [suffix] = noop
   (0)   [files] = noop
   (0)  } #  preacct = ok
   (0) # Executing section accounting from file
   /etc/raddb/sites-enabled/default
   (0)   accounting {
   (0)  detail : EXPAND
   /var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-A
   ddress}}/detail-%Y%m%d
   (0)  detail :    --> /var/log/radius/radacct/x.x.x.129/detail-20150529
   (0)  detail :
   /var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-A
   ddress}}/detail-%Y%m%d expands to
   /var/log/radius/radacct/x.x.x.x.129/detail-20150529
   (0)  detail : EXPAND %t
   (0)  detail :    --> Fri May 29 06:33:18 2015
   (0)   [detail] = ok
   (0)   [unix] = noop
   (0)  sql : EXPAND %{tolower:type.%{Acct-Status-Type}.query}
   (0)  sql :    --> type.interim-update.query
   (0)  sql : Using query template 'query'
   rlm_sql (sql): Reserved connection (4)
   (0)  sql : EXPAND %{User-Name}
   (0)  sql :    --> data2
   (0)  sql : SQL-User-Name set to 'data2'
   (0)  sql : EXPAND UPDATE radacct SET acctupdatetime  =
   (@acctupdatetime_old:=acctupdatetime), acctupdatetime  =
   FROM_UNIXTIME(%{integer:Event-Timestamp}), acctinterval    =
   %{integer:Event-Timestamp} - UNIX_TIMESTAMP(@acctupdatetime_old),
   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}'
   (0)  sql :    --> UPDATE radacct SET acctupdatetime  =
   (@acctupdatetime_old:=acctupdatetime), acctupdatetime  =
   FROM_UNIXTIME(1432861398), acctinterval    = 1432861398 -
   UNIX_TIMESTAMP(@acctupdatetime_old), framedipaddress = 'x.x.5.2',
   acctsessiontime = '606', acctinputoctets = '0' << 32 | '538716247',
   acctoutputoctets = '0' << 32 | '15348397' WHERE acctsessionid     =
   '2860792-re0-2' AND username            = 'data2' AND
   nasipaddress        = 'x.x.x.129'
   rlm_sql (sql): Executing query: 'UPDATE radacct SET acctupdatetime  =
   (@acctupdatetime_old:=acctupdatetime), acctupdatetime  =
   FROM_UNIXTIME(1432861398), acctinterval    = 1432861398 -
   UNIX_TIMESTAMP(@acctupdatetime_old), framedipaddress = 'x.x.5.2',
   acctsessiontime = '606', acctinputoctets = '0' << 32 | '538716247',
   acctoutputoctets = '0' << 32 | '15348397' WHERE acctsessionid     =
   '2860792-re0-2' AND username            = 'data2' AND
   nasipaddress        = 'x.x.x.129''
   rlm_sql_mysql: Rows matched: 1  Changed: 1  Warnings: 0
   rlm_sql (sql): Released connection (4)
   (0)   [sql] = ok
   (0)   [exec] = noop
   (0)  attr_filter.accounting_response : EXPAND %{User-Name}
   (0)  attr_filter.accounting_response :    --> data2
   (0)  attr_filter.accounting_response : Matched entry DEFAULT at line 12
   (0)   [attr_filter.accounting_response] = updated
   (0)   update coa {
   (0) EXPAND %{NAS-IP-Address}
   (0)    --> x.x.x129
   (0)     NAS-IP-Address = x.x.x.129
   (0) EXPAND %{User-Name}
   (0)    --> data2
   (0)     User-Name = "data2"
   (0)   } # update coa = noop
   (0)  } #  accounting = updated
   Opening new proxy socket 'proxy address * port 0'
   Listening on proxy address * port 43893
   (0) Sending CoA-Request packet to host x.x.x.129 port 3799, id=70,
   length=0
   (0)     NAS-IP-Address = x.x.x.129
   (0)     User-Name = 'data2'
   Sending CoA-Request Id 70 from 0.0.0.0:43893 to x.x.x.129:3799
       NAS-IP-Address = x.x.x.129
       User-Name = 'data2'
   (0) Sending Accounting-Response packet to host x.x.x.129 port 62225,
   id=131, length=0
   Sending Accounting-Response Id 131 from x.x.x.181:1813 to
   x.x.x.129:62225
   (0) Finished request
   Waking up in 0.3 seconds.
   Received CoA-ACK Id 70 from x.x.x.129:3799 to x.x.x181:43893 length 20
   Segmentation fault

   _______________________________________________________________________
   ____________________________________________________

   There was an issue simlilar to this
   http://lists.freeradius.org/pipermail/freeradius-users/2012-November/06
   3622.html

   How do I get the coredump? I tried setting allow_core_dump and can't
   find where they go.

   cat /proc/sys/kernel/core_pattern is set to:
   /usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e

   Max core file size        0                    unlimited
   bytes

   I have a pfsense 2.2.2 box with mpd5 as the NAS. I want to dynamically
   change bandwidth limit of pppoe clients based on their usage quota.

   My config works fine if I remove the coa parts. Users can login,
   accounting is done and limit is applied once the user disconnects. I
   want to enforce the data limit with interim updates and disconnect or
   throttle the clients.

   Any help is appriciated.

   FN


More information about the Freeradius-Users mailing list