FreeRADIUS / freeradius-server

FreeRADIUS - A multi-protocol policy server.
http://freeradius.org
GNU General Public License v2.0
2.11k stars 1.08k forks source link

freeradius 3.0.23 crashing on Ubuntu 20.04 #4129

Closed egroeper closed 3 years ago

egroeper commented 3 years ago

Issue type

Defect

How to reproduce the issue

Unknown. Migrated to new server (Ubuntu 20.04) with freeradius 3.0.23-1 from packages.networkradius.com. Testing was fine. On production traffic it started crashing every minute.

The server is used for eduroam auth (PEAP-MSCHAPv2, EAP-TTLS-PAP).

Output of [radiusd|freeradius] -X showing issue occurring

freeradius -X
FreeRADIUS Version 3.0.23
Copyright (C) 1999-2021 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/freeradius/dictionary
including configuration file /etc/freeradius/radiusd.conf
including configuration file /etc/freeradius/proxy.conf
including configuration file /etc/freeradius/clients.conf
including files in directory /etc/freeradius/mods-enabled/
including configuration file /etc/freeradius/mods-enabled/logintime
including configuration file /etc/freeradius/mods-enabled/radutmp
including configuration file /etc/freeradius/mods-enabled/mschap
including configuration file /etc/freeradius/mods-enabled/eap
including configuration file /etc/freeradius/mods-enabled/passwd
including configuration file /etc/freeradius/mods-enabled/ourTTLSAuth
including configuration file /etc/freeradius/mods-enabled/files
including configuration file /etc/freeradius/mods-enabled/chap
including configuration file /etc/freeradius/mods-enabled/exec
including configuration file /etc/freeradius/mods-enabled/unpack
including configuration file /etc/freeradius/mods-enabled/totp
including configuration file /etc/freeradius/mods-enabled/echo
including configuration file /etc/freeradius/mods-enabled/date
including configuration file /etc/freeradius/mods-enabled/dynamic_clients
including configuration file /etc/freeradius/mods-enabled/detail
including configuration file /etc/freeradius/mods-enabled/expr
including configuration file /etc/freeradius/mods-enabled/replicate
including configuration file /etc/freeradius/mods-enabled/pap
including configuration file /etc/freeradius/mods-enabled/always
including configuration file /etc/freeradius/mods-enabled/soh
including configuration file /etc/freeradius/mods-enabled/utf8
including configuration file /etc/freeradius/mods-enabled/ntlm_auth
including configuration file /etc/freeradius/mods-enabled/linelog
including configuration file /etc/freeradius/mods-enabled/cache_eap
including configuration file /etc/freeradius/mods-enabled/unix
including configuration file /etc/freeradius/mods-enabled/digest
including configuration file /etc/freeradius/mods-enabled/expiration
including configuration file /etc/freeradius/mods-enabled/preprocess
including configuration file /etc/freeradius/mods-enabled/attr_filter
including configuration file /etc/freeradius/mods-enabled/detail.log
including configuration file /etc/freeradius/mods-enabled/sradutmp
including configuration file /etc/freeradius/mods-enabled/realm
including files in directory /etc/freeradius/policy.d/
including configuration file /etc/freeradius/policy.d/debug
including configuration file /etc/freeradius/policy.d/dhcp
including configuration file /etc/freeradius/policy.d/eap
including configuration file /etc/freeradius/policy.d/filter
including configuration file /etc/freeradius/policy.d/moonshot-targeted-ids
including configuration file /etc/freeradius/policy.d/accounting.dpkg-dist
including configuration file /etc/freeradius/policy.d/control
including configuration file /etc/freeradius/policy.d/operator-name
including configuration file /etc/freeradius/policy.d/cui
including configuration file /etc/freeradius/policy.d/dhcp.dpkg-dist
including configuration file /etc/freeradius/policy.d/accounting
including configuration file /etc/freeradius/policy.d/canonicalization
including configuration file /etc/freeradius/policy.d/rfc7542
including configuration file /etc/freeradius/policy.d/eap.dpkg-dist
including configuration file /etc/freeradius/policy.d/abfab-tr
including files in directory /etc/freeradius/sites-enabled/
including configuration file /etc/freeradius/sites-enabled/status
including configuration file /etc/freeradius/sites-enabled/eduroam-inner-tunnel-ttls
including configuration file /etc/freeradius/sites-enabled/eduroam-inner-tunnel-peap
including configuration file /etc/freeradius/sites-enabled/default
main {
 security {
    user = "freerad"
    group = "freerad"
    allow_core_dumps = no
 }
    name = "freeradius"
    prefix = "/usr"
    localstatedir = "/var"
    logdir = "/var/log/freeradius"
    run_dir = "/var/run/freeradius"
}
main {
    name = "freeradius"
    prefix = "/usr"
    localstatedir = "/var"
    sbindir = "/usr/sbin"
    logdir = "/var/log/freeradius"
    run_dir = "/var/run/freeradius"
    libdir = "/usr/lib/freeradius"
    radacctdir = "/var/log/freeradius/radacct"
    hostname_lookups = no
    max_request_time = 30
    cleanup_delay = 5
    max_requests = 16384
    postauth_client_lost = no
    pidfile = "/var/run/freeradius/freeradius.pid"
    checkrad = "/usr/sbin/checkrad"
    debug_level = 0
    proxy_requests = yes
 log {
    stripped_names = no
    auth = yes
    auth_badpass = no
    auth_goodpass = no
    msg_badpass = "radvhost=%{Virtual-Server}"
    msg_goodpass = "radvhost=%{Virtual-Server}"
    colourise = yes
    msg_denied = "You are already logged in - access denied"
 }
 resources {
 }
 security {
    max_attributes = 200
    reject_delay = 1.000000
    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
  limit {
    max_connections = 16
    max_requests = 0
    lifetime = 0
    idle_timeout = 0
  }
  coa {
    irt = 2
    mrt = 16
    mrc = 5
    mrd = 30
  }
 }
 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 localhost {
    ipaddr = 127.0.0.1
    require_message_authenticator = no
    secret = <<< secret >>>
    nas_type = "other"
    proto = "*"
  limit {
    max_connections = 16
    lifetime = 0
    idle_timeout = 30
  }
 }
 client localhost_ipv6 {
    ipv6addr = ::1
    require_message_authenticator = no
    secret = <<< secret >>>
  limit {
    max_connections = 16
    lifetime = 0
    idle_timeout = 30
  }
 }
Debugger not attached
systemd watchdog is disabled
 # Creating Autz-Type = Status-Server
 # Creating Auth-Type = ourTTLSAuth
 # Creating Auth-Type = eap
 # Creating Auth-Type = MS-CHAP
 # Creating Auth-Type = digest
 # Creating Auth-Type = PAP
 # Creating Auth-Type = CHAP
radiusd: #### Instantiating modules ####
 modules {
  # Loaded module rlm_logintime
  # Loading module "logintime" from file /etc/freeradius/mods-enabled/logintime
  logintime {
    minimum_timeout = 60
  }
  # Loaded module rlm_radutmp
  # Loading module "radutmp" from file /etc/freeradius/mods-enabled/radutmp
  radutmp {
    filename = "/var/log/freeradius/radutmp"
    username = "%{User-Name}"
    case_sensitive = yes
    check_with_nas = yes
    permissions = 384
    caller_id = yes
  }
  # Loaded module rlm_mschap
  # Loading module "mschap" from file /etc/freeradius/mods-enabled/mschap
  mschap {
    use_mppe = yes
    require_encryption = yes
    require_strong = no
    with_ntdomain_hack = yes
    ntlm_auth = "/usr/bin/wrap_ntlm_auth.pl challenge %{%{Stripped-User-Name}:-%{%{User-Name}:-None}} %{mschap:Challenge} %{mschap:NT-Response} %{%{Calling-Station-ID}:-none}"
   passchange {
   }
    allow_retry = yes
    winbind_retry_with_normalised_username = no
  }
  # Loaded module rlm_eap
  # Loading module "eap" from file /etc/freeradius/mods-enabled/eap
  eap {
    default_eap_type = "md5"
    timer_expire = 60
    ignore_unknown_eap_types = no
    cisco_accounting_username_bug = no
    max_sessions = 16384
  }
  # Loaded module rlm_passwd
  # Loading module "etc_passwd" from file /etc/freeradius/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
  }
  # Loaded module rlm_perl
  # Loading module "ourTTLSAuth" from file /etc/freeradius/mods-enabled/ourTTLSAuth
  perl ourTTLSAuth {
    filename = "/usr/local/lib/site_perl/OurSite/ourTTLSAuth.pm"
    func_authorize = "authorize"
    func_authenticate = "authenticate"
    func_post_auth = "post_auth"
    func_accounting = "accounting"
    func_preacct = "preacct"
    func_checksimul = "checksimul"
    func_detach = "detach"
    func_xlat = "xlat"
    func_pre_proxy = "pre_proxy"
    func_post_proxy = "post_proxy"
    func_recv_coa = "recv_coa"
    func_send_coa = "send_coa"
  }
Perl version: 5.30.0
  # Loaded module rlm_files
  # Loading module "files" from file /etc/freeradius/mods-enabled/files
  files {
    filename = "/etc/freeradius/mods-config/files/authorize"
    acctusersfile = "/etc/freeradius/mods-config/files/accounting"
    preproxy_usersfile = "/etc/freeradius/mods-config/files/pre-proxy"
  }
  # Loaded module rlm_chap
  # Loading module "chap" from file /etc/freeradius/mods-enabled/chap
  # Loaded module rlm_exec
  # Loading module "exec" from file /etc/freeradius/mods-enabled/exec
  exec {
    wait = no
    input_pairs = "request"
    shell_escape = yes
    timeout = 10
  }
  # Loaded module rlm_unpack
  # Loading module "unpack" from file /etc/freeradius/mods-enabled/unpack
  # Loaded module rlm_totp
  # Loading module "totp" from file /etc/freeradius/mods-enabled/totp
  # Loading module "echo" from file /etc/freeradius/mods-enabled/echo
  exec echo {
    wait = yes
    program = "/bin/echo %{User-Name}"
    input_pairs = "request"
    output_pairs = "reply"
    shell_escape = yes
  }
  # Loaded module rlm_date
  # Loading module "date" from file /etc/freeradius/mods-enabled/date
  date {
    format = "%b %e %Y %H:%M:%S %Z"
    utc = no
  }
  # Loading module "wispr2date" from file /etc/freeradius/mods-enabled/date
  date wispr2date {
    format = "%Y-%m-%dT%H:%M:%S"
    utc = no
  }
  # Loaded module rlm_dynamic_clients
  # Loading module "dynamic_clients" from file /etc/freeradius/mods-enabled/dynamic_clients
  # Loaded module rlm_detail
  # Loading module "detail" from file /etc/freeradius/mods-enabled/detail
  detail {
    filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"
    header = "%t"
    permissions = 384
    locking = no
    escape_filenames = no
    log_packet_header = no
  }
  # Loaded module rlm_expr
  # Loading module "expr" from file /etc/freeradius/mods-enabled/expr
  expr {
    safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ"
  }
  # Loaded module rlm_replicate
  # Loading module "replicate" from file /etc/freeradius/mods-enabled/replicate
  # Loaded module rlm_pap
  # Loading module "pap" from file /etc/freeradius/mods-enabled/pap
  pap {
    normalise = yes
  }
  # Loaded module rlm_always
  # Loading module "reject" from file /etc/freeradius/mods-enabled/always
  always reject {
    rcode = "reject"
    simulcount = 0
    mpp = no
  }
  # Loading module "fail" from file /etc/freeradius/mods-enabled/always
  always fail {
    rcode = "fail"
    simulcount = 0
    mpp = no
  }
  # Loading module "ok" from file /etc/freeradius/mods-enabled/always
  always ok {
    rcode = "ok"
    simulcount = 0
    mpp = no
  }
  # Loading module "handled" from file /etc/freeradius/mods-enabled/always
  always handled {
    rcode = "handled"
    simulcount = 0
    mpp = no
  }
  # Loading module "invalid" from file /etc/freeradius/mods-enabled/always
  always invalid {
    rcode = "invalid"
    simulcount = 0
    mpp = no
  }
  # Loading module "userlock" from file /etc/freeradius/mods-enabled/always
  always userlock {
    rcode = "userlock"
    simulcount = 0
    mpp = no
  }
  # Loading module "notfound" from file /etc/freeradius/mods-enabled/always
  always notfound {
    rcode = "notfound"
    simulcount = 0
    mpp = no
  }
  # Loading module "noop" from file /etc/freeradius/mods-enabled/always
  always noop {
    rcode = "noop"
    simulcount = 0
    mpp = no
  }
  # Loading module "updated" from file /etc/freeradius/mods-enabled/always
  always updated {
    rcode = "updated"
    simulcount = 0
    mpp = no
  }
  # Loaded module rlm_soh
  # Loading module "soh" from file /etc/freeradius/mods-enabled/soh
  soh {
    dhcp = yes
  }
  # Loaded module rlm_utf8
  # Loading module "utf8" from file /etc/freeradius/mods-enabled/utf8
  # Loading module "ntlm_auth" from file /etc/freeradius/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_linelog
  # Loading module "linelog" from file /etc/freeradius/mods-enabled/linelog
  linelog {
    filename = "/var/log/freeradius/linelog"
    escape_filenames = no
    syslog_severity = "info"
    permissions = 384
    format = "This is a log message for %{User-Name}"
    reference = "messages.%{%{reply:Packet-Type}:-default}"
  }
  # Loading module "log_accounting" from file /etc/freeradius/mods-enabled/linelog
  linelog log_accounting {
    filename = "/var/log/freeradius/linelog-accounting"
    escape_filenames = no
    syslog_severity = "info"
    permissions = 384
    format = ""
    reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}"
  }
  # Loaded module rlm_cache
  # Loading module "cache_eap" from file /etc/freeradius/mods-enabled/cache_eap
  cache cache_eap {
    driver = "rlm_cache_rbtree"
    key = "%{%{control:State}:-%{%{reply:State}:-%{State}}}"
    ttl = 15
    max_entries = 0
    epoch = 0
    add_stats = no
  }
  # Loaded module rlm_unix
  # Loading module "unix" from file /etc/freeradius/mods-enabled/unix
  unix {
    radwtmp = "/var/log/freeradius/radwtmp"
  }
Creating attribute Unix-Group
  # Loaded module rlm_digest
  # Loading module "digest" from file /etc/freeradius/mods-enabled/digest
  # Loaded module rlm_expiration
  # Loading module "expiration" from file /etc/freeradius/mods-enabled/expiration
  # Loaded module rlm_preprocess
  # Loading module "preprocess" from file /etc/freeradius/mods-enabled/preprocess
  preprocess {
    huntgroups = "/etc/freeradius/mods-config/preprocess/huntgroups"
    hints = "/etc/freeradius/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
  }
  # Loaded module rlm_attr_filter
  # Loading module "attr_filter.post-proxy" from file /etc/freeradius/mods-enabled/attr_filter
  attr_filter attr_filter.post-proxy {
    filename = "/etc/freeradius/mods-config/attr_filter/post-proxy"
    key = "%{Realm}"
    relaxed = no
  }
  # Loading module "attr_filter.pre-proxy" from file /etc/freeradius/mods-enabled/attr_filter
  attr_filter attr_filter.pre-proxy {
    filename = "/etc/freeradius/mods-config/attr_filter/pre-proxy"
    key = "%{Realm}"
    relaxed = no
  }
  # Loading module "attr_filter.access_reject" from file /etc/freeradius/mods-enabled/attr_filter
  attr_filter attr_filter.access_reject {
    filename = "/etc/freeradius/mods-config/attr_filter/access_reject"
    key = "%{User-Name}"
    relaxed = no
  }
  # Loading module "attr_filter.access_challenge" from file /etc/freeradius/mods-enabled/attr_filter
  attr_filter attr_filter.access_challenge {
    filename = "/etc/freeradius/mods-config/attr_filter/access_challenge"
    key = "%{User-Name}"
    relaxed = no
  }
  # Loading module "attr_filter.accounting_response" from file /etc/freeradius/mods-enabled/attr_filter
  attr_filter attr_filter.accounting_response {
    filename = "/etc/freeradius/mods-config/attr_filter/accounting_response"
    key = "%{User-Name}"
    relaxed = no
  }
  # Loading module "auth_log" from file /etc/freeradius/mods-enabled/detail.log
  detail auth_log {
    filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d"
    header = "%t"
    permissions = 384
    locking = no
    escape_filenames = no
    log_packet_header = no
  }
  # Loading module "reply_log" from file /etc/freeradius/mods-enabled/detail.log
  detail reply_log {
    filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/reply-detail-%Y%m%d"
    header = "%t"
    permissions = 384
    locking = no
    escape_filenames = no
    log_packet_header = no
  }
  # Loading module "pre_proxy_log" from file /etc/freeradius/mods-enabled/detail.log
  detail pre_proxy_log {
    filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/pre-proxy-detail-%Y%m%d"
    header = "%t"
    permissions = 384
    locking = no
    escape_filenames = no
    log_packet_header = no
  }
  # Loading module "post_proxy_log" from file /etc/freeradius/mods-enabled/detail.log
  detail post_proxy_log {
    filename = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/post-proxy-detail-%Y%m%d"
    header = "%t"
    permissions = 384
    locking = no
    escape_filenames = no
    log_packet_header = no
  }
  # Loading module "sradutmp" from file /etc/freeradius/mods-enabled/sradutmp
  radutmp sradutmp {
    filename = "/var/log/freeradius/sradutmp"
    username = "%{User-Name}"
    case_sensitive = yes
    check_with_nas = yes
    permissions = 420
    caller_id = no
  }
  # Loaded module rlm_realm
  # Loading module "IPASS" from file /etc/freeradius/mods-enabled/realm
  realm IPASS {
    format = "prefix"
    delimiter = "/"
    ignore_default = no
    ignore_null = no
  }
  # Loading module "suffix" from file /etc/freeradius/mods-enabled/realm
  realm suffix {
    format = "suffix"
    delimiter = "@"
    ignore_default = no
    ignore_null = no
  }
  # Loading module "bangpath" from file /etc/freeradius/mods-enabled/realm
  realm bangpath {
    format = "prefix"
    delimiter = "!"
    ignore_default = no
    ignore_null = no
  }
  # Loading module "realmpercent" from file /etc/freeradius/mods-enabled/realm
  realm realmpercent {
    format = "suffix"
    delimiter = "%"
    ignore_default = no
    ignore_null = no
  }
  # Loading module "ntdomain" from file /etc/freeradius/mods-enabled/realm
  realm ntdomain {
    format = "prefix"
    delimiter = "\\"
    ignore_default = no
    ignore_null = no
  }
  instantiate {
  }
  # Instantiating module "logintime" from file /etc/freeradius/mods-enabled/logintime
  # Instantiating module "mschap" from file /etc/freeradius/mods-enabled/mschap
rlm_mschap (mschap): authenticating by calling 'ntlm_auth'
  # Instantiating module "eap" from file /etc/freeradius/mods-enabled/eap
   # Linked to sub-module rlm_eap_md5
   # Linked to sub-module rlm_eap_tls
   tls {
    tls = "tls-common"
   }
   tls-config tls-common {
    verify_depth = 0
    ca_path = "/etc/freeradius/certs"
    pem_file_type = yes
    private_key_file = "/etc/freeradius/certs/eduroam.example.org.key"
    certificate_file = "/etc/freeradius/certs/eduroam.example.org.withchain.pem"
    ca_file = "/etc/freeradius/certs/ca.pem"
    dh_file = "/etc/freeradius/certs/dh"
    fragment_size = 1024
    include_length = yes
    auto_chain = yes
    check_crl = no
    check_all_crl = no
    ca_path_reload_interval = 0
    cipher_list = "DEFAULT@SECLEVEL=1"
    cipher_server_preference = no
    ecdh_curve = "prime256v1"
    tls_max_version = "1.2"
    tls_min_version = "1.0"
    cache {
        enable = no
        lifetime = 24
        max_entries = 255
    }
    verify {
        skip_if_ocsp_ok = no
    }
    ocsp {
        enable = no
        override_cert_url = yes
        url = "http://127.0.0.1/ocsp/"
        use_nonce = yes
        timeout = 0
        softfail = no
    }
   }
   # Linked to sub-module rlm_eap_ttls
   ttls {
    tls = "tls-common"
    default_eap_type = "md5"
    copy_request_to_tunnel = yes
    use_tunneled_reply = yes
    virtual_server = "eduroam-inner-tunnel-ttls"
    include_length = yes
    require_client_cert = no
   }
tls: Using cached TLS configuration from previous invocation
   # Linked to sub-module rlm_eap_peap
   peap {
    tls = "tls-common"
    default_eap_type = "mschapv2"
    copy_request_to_tunnel = yes
    use_tunneled_reply = no
    proxy_tunneled_request_as_eap = yes
    virtual_server = "eduroam-inner-tunnel-peap"
    soh = no
    require_client_cert = no
   }
tls: Using cached TLS configuration from previous invocation
   # Linked to sub-module rlm_eap_mschapv2
   mschapv2 {
    with_ntdomain_hack = no
    send_error = no
   }
  # Instantiating module "etc_passwd" from file /etc/freeradius/mods-enabled/passwd
rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no
  # Instantiating module "ourTTLSAuth" from file /etc/freeradius/mods-enabled/ourTTLSAuth
  # Instantiating module "files" from file /etc/freeradius/mods-enabled/files
reading pairlist file /etc/freeradius/mods-config/files/authorize
reading pairlist file /etc/freeradius/mods-config/files/accounting
reading pairlist file /etc/freeradius/mods-config/files/pre-proxy
  # Instantiating module "detail" from file /etc/freeradius/mods-enabled/detail
  # Instantiating module "pap" from file /etc/freeradius/mods-enabled/pap
  # Instantiating module "reject" from file /etc/freeradius/mods-enabled/always
  # Instantiating module "fail" from file /etc/freeradius/mods-enabled/always
  # Instantiating module "ok" from file /etc/freeradius/mods-enabled/always
  # Instantiating module "handled" from file /etc/freeradius/mods-enabled/always
  # Instantiating module "invalid" from file /etc/freeradius/mods-enabled/always
  # Instantiating module "userlock" from file /etc/freeradius/mods-enabled/always
  # Instantiating module "notfound" from file /etc/freeradius/mods-enabled/always
  # Instantiating module "noop" from file /etc/freeradius/mods-enabled/always
  # Instantiating module "updated" from file /etc/freeradius/mods-enabled/always
  # Instantiating module "linelog" from file /etc/freeradius/mods-enabled/linelog
  # Instantiating module "log_accounting" from file /etc/freeradius/mods-enabled/linelog
  # Instantiating module "cache_eap" from file /etc/freeradius/mods-enabled/cache_eap
rlm_cache (cache_eap): Driver rlm_cache_rbtree (module rlm_cache_rbtree) loaded and linked
  # Instantiating module "expiration" from file /etc/freeradius/mods-enabled/expiration
  # Instantiating module "preprocess" from file /etc/freeradius/mods-enabled/preprocess
reading pairlist file /etc/freeradius/mods-config/preprocess/huntgroups
reading pairlist file /etc/freeradius/mods-config/preprocess/hints
  # Instantiating module "attr_filter.post-proxy" from file /etc/freeradius/mods-enabled/attr_filter
reading pairlist file /etc/freeradius/mods-config/attr_filter/post-proxy
  # Instantiating module "attr_filter.pre-proxy" from file /etc/freeradius/mods-enabled/attr_filter
reading pairlist file /etc/freeradius/mods-config/attr_filter/pre-proxy
  # Instantiating module "attr_filter.access_reject" from file /etc/freeradius/mods-enabled/attr_filter
reading pairlist file /etc/freeradius/mods-config/attr_filter/access_reject
  # Instantiating module "attr_filter.access_challenge" from file /etc/freeradius/mods-enabled/attr_filter
reading pairlist file /etc/freeradius/mods-config/attr_filter/access_challenge
  # Instantiating module "attr_filter.accounting_response" from file /etc/freeradius/mods-enabled/attr_filter
reading pairlist file /etc/freeradius/mods-config/attr_filter/accounting_response
  # Instantiating module "auth_log" from file /etc/freeradius/mods-enabled/detail.log
rlm_detail (auth_log): 'User-Password' suppressed, will not appear in detail output
  # Instantiating module "reply_log" from file /etc/freeradius/mods-enabled/detail.log
  # Instantiating module "pre_proxy_log" from file /etc/freeradius/mods-enabled/detail.log
  # Instantiating module "post_proxy_log" from file /etc/freeradius/mods-enabled/detail.log
  # Instantiating module "IPASS" from file /etc/freeradius/mods-enabled/realm
  # Instantiating module "suffix" from file /etc/freeradius/mods-enabled/realm
  # Instantiating module "bangpath" from file /etc/freeradius/mods-enabled/realm
  # Instantiating module "realmpercent" from file /etc/freeradius/mods-enabled/realm
  # Instantiating module "ntdomain" from file /etc/freeradius/mods-enabled/realm
 } # modules
radiusd: #### Loading Virtual Servers ####
server { # from file /etc/freeradius/radiusd.conf
} # server
server status { # from file /etc/freeradius/sites-enabled/status
 # Loading authorize {...}
Compiling Autz-Type Status-Server for attr Autz-Type
} # server status
server eduroam-inner-tunnel-ttls { # from file /etc/freeradius/sites-enabled/eduroam-inner-tunnel-ttls
 # Loading authenticate {...}
 # Loading authorize {...}
} # server eduroam-inner-tunnel-ttls
server eduroam-inner-tunnel-peap { # from file /etc/freeradius/sites-enabled/eduroam-inner-tunnel-peap
 # Loading authenticate {...}
Compiling Auth-Type MS-CHAP for attr Auth-Type
 # Loading authorize {...}
} # server eduroam-inner-tunnel-peap
server default { # from file /etc/freeradius/sites-enabled/default
 # Loading authenticate {...}
Compiling Auth-Type PAP for attr Auth-Type
Compiling Auth-Type CHAP for attr Auth-Type
Compiling Auth-Type MS-CHAP for attr Auth-Type
 # Loading authorize {...}
 # Loading preacct {...}
 # Loading accounting {...}
 # Loading post-proxy {...}
 # Loading post-auth {...}
Compiling Post-Auth-Type REJECT for attr Post-Auth-Type
Compiling Post-Auth-Type Challenge for attr Post-Auth-Type
} # server default
radiusd: #### Opening IP addresses and Ports ####
listen {
    type = "status"
    ipaddr = 127.0.0.1
    port = 18121
  client admin {
    ipaddr = 127.0.0.1
    require_message_authenticator = no
    secret = <<< secret >>>
   limit {
    max_connections = 16
    lifetime = 0
    idle_timeout = 30
   }
  }
}
listen {
    type = "auth"
    ipv4addr = *
    port = 61812
   limit {
    max_connections = 16
    lifetime = 0
    idle_timeout = 30
   }
}
listen {
    type = "acct"
    ipaddr = *
    port = 61813
   limit {
    max_connections = 16
    lifetime = 0
    idle_timeout = 30
   }
}
Listening on status address 127.0.0.1 port 18121 bound to server status
Listening on auth address * port 61812 bound to server default
Listening on acct address * port 61813 bound to server default
Listening on proxy address * port 36538
Ready to process requests

[...]

(1724) Received Access-Request Id 107 from 10.23.10.1:33788 to 10.23.42.1:61812 length 465
(1724)   User-Name = "user@example.org"
(1724)   NAS-IP-Address = 10.23.17.8
(1724)   NAS-Port = 104
(1724)   Framed-MTU = 1400
(1724)   Called-Station-Id = "d8:84:66:5d:47:11"
(1724)   Acct-Session-Id = "M56f156b504aa"
(1724)   Calling-Station-Id = "6e:2e:c5:be:ef:03"
(1724)   NAS-Port-Type = Wireless-802.11
(1724)   NAS-Identifier = "VNET_eduroam_site1"
(1724)   Service-Type = Framed-User
(1724)   Siemens-AP-Serial = "16145285336L0000"
(1724)   Siemens-AP-Name = "AP-4711-02-019"
(1724)   Siemens-VNS-Name = "VNET_eduroam_site1"
(1724)   Siemens-SSID = "eduroam"
(1724)   Siemens-BSS-MAC = "d8:84:66:5d:47:11"
(1724)   Siemens-Policy-Name = "POL_auth_eduroam-int-site1"
(1724)   Siemens-Topology-Name = "IF_eduroam-int-site1"
(1724)   EAP-Message = 0x021e0071190017030300667b81d0d4599a3d982b16083735a1b8ecab33c44ac9ebd6d4e46a4b8b4ac5993fcf1e81da60df8ff50acbe1258c7ee85681cbf0c5df435c1dde60b050a1575b9bdb9f3d52714c617a1577135d3faeede9b80e10363aaaf7e2a521bf76b2d74c568160caa094e1
(1724)   State = 0xabb632c2a1a82b76a48183ca21e9a035
(1724)   Message-Authenticator = 0x1b8bd6fd8306b2db00a9eb6d8789c7a1
(1724) Restoring &session-state
(1724)   &session-state:Framed-MTU = 994
(1724)   &session-state:TLS-Session-Information = "(TLS) recv TLS 1.3 Handshake, ClientHello\n"
(1724)   &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHello\n"
(1724)   &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Certificate\n"
(1724)   &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerKeyExchange\n"
(1724)   &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHelloDone\n"
(1724)   &session-state:TLS-Session-Information = "(TLS) recv TLS 1.2 Handshake, ClientKeyExchange\n"
(1724)   &session-state:TLS-Session-Information = "(TLS) recv TLS 1.2 Handshake, Finished\n"
(1724)   &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 ChangeCipherSpec\n"
(1724)   &session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Finished\n"
(1724)   &session-state:TLS-Session-Cipher-Suite = "ECDHE-RSA-AES256-GCM-SHA384"
(1724)   &session-state:TLS-Session-Version = "TLS 1.2"
(1724) # Executing section authorize from file /etc/freeradius/sites-enabled/default
(1724)   authorize {
(1724)     policy filter_username {
(1724)       if (&User-Name) {
(1724)       if (&User-Name)  -> TRUE
(1724)       if (&User-Name)  {
(1724)         if (&User-Name =~ / /) {
(1724)         if (&User-Name =~ / /)  -> FALSE
(1724)         if (&User-Name =~ /@[^@]*@/ ) {
(1724)         if (&User-Name =~ /@[^@]*@/ )  -> FALSE
(1724)         if (&User-Name =~ /\.\./ ) {
(1724)         if (&User-Name =~ /\.\./ )  -> FALSE
(1724)         if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))  {
(1724)         if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))   -> FALSE
(1724)         if (&User-Name =~ /\.$/)  {
(1724)         if (&User-Name =~ /\.$/)   -> FALSE
(1724)         if (&User-Name =~ /@\./)  {
(1724)         if (&User-Name =~ /@\./)   -> FALSE
(1724)       } # if (&User-Name)  = notfound
(1724)     } # policy filter_username = notfound
(1724)     [preprocess] = ok
(1724)     [chap] = noop
(1724)     [mschap] = noop
(1724)     [digest] = noop
(1724) suffix: Checking for suffix after "@"
(1724) suffix: Looking up realm "example.org" for User-Name = "user@example.org"
(1724) suffix: No such realm "example.org"
(1724)     [suffix] = noop
(1724) eap: Peer sent EAP Response (code 2) ID 30 length 113
(1724) eap: Continuing tunnel setup
(1724)     [eap] = ok
(1724)   } # authorize = ok
(1724) Found Auth-Type = eap
(1724) # Executing group from file /etc/freeradius/sites-enabled/default
(1724)   authenticate {
(1724) eap: Expiring EAP session with state 0x6ec43926699420c9
(1724) eap: Finished EAP session with state 0xabb632c2a1a82b76
(1724) eap: Previous EAP request found for state 0xabb632c2a1a82b76, released from the list
(1724) eap: Peer sent packet with method EAP PEAP (25)
(1724) eap: Calling submodule eap_peap to process data
(1724) eap_peap: (TLS) EAP Done initial handshake
(1724) eap_peap: Session established.  Decoding tunneled attributes
(1724) eap_peap: PEAP state phase2
(1724) eap_peap: EAP method MSCHAPv2 (26)
(1724) eap_peap: Got tunneled request
(1724) eap_peap:   EAP-Message = 0x021e00521a021e004d31c8190463f960336da948c222887cf77a0000000000000000314b7a644456684a3262394e4856724d262394e4856724df006f736361722e746f726e657940636861726974652e6465
(1724) eap_peap: Setting User-Name to user@example.org
(1724) eap_peap: Sending tunneled request to eduroam-inner-tunnel-peap
(1724) eap_peap:   EAP-Message = 0x021e00521a021e004d31c8190463f960336da948c222887cf77a0000000000000000314b7a644456684a3262394e4856724d262394e4856724df006f736361722e746f726e657940636861726974652e6465
(1724) eap_peap:   FreeRADIUS-Proxied-To = 127.0.0.1
(1724) eap_peap:   User-Name = "user@example.org"
(1724) eap_peap:   State = 0xeca9d11becb7cb5d64eba7c7c264c520
(1724) eap_peap:   NAS-IP-Address = 10.23.17.8
(1724) eap_peap:   NAS-Port = 104
(1724) eap_peap:   Framed-MTU = 1400
(1724) eap_peap:   Called-Station-Id = "d8:84:66:5d:47:11"
(1724) eap_peap:   Acct-Session-Id = "M56f156b504aa"
(1724) eap_peap:   Calling-Station-Id = "6e:2e:c5:be:ef:03"
(1724) eap_peap:   NAS-Port-Type = Wireless-802.11
(1724) eap_peap:   NAS-Identifier = "VNET_eduroam_site1"
(1724) eap_peap:   Service-Type = Framed-User
(1724) eap_peap:   Siemens-AP-Serial = "16145285336L0000"
(1724) eap_peap:   Siemens-AP-Name = "AP-4711-02-019"
(1724) eap_peap:   Siemens-VNS-Name = "VNET_eduroam_site1"
(1724) eap_peap:   Siemens-SSID = "eduroam"
(1724) eap_peap:   Siemens-BSS-MAC = "d8:84:66:5d:47:11"
(1724) eap_peap:   Siemens-Policy-Name = "POL_auth_eduroam-int-site1"
(1724) eap_peap:   Siemens-Topology-Name = "IF_eduroam-int-site1"
(1724) eap_peap:   Event-Timestamp = "Jul  7 2021 19:54:04 CEST"
(1724) Virtual server eduroam-inner-tunnel-peap received request
(1724)   EAP-Message = 0x021e00521a021e004d31c8190463f960336da948c222887cf77a0000000000000000314b7a644456684a3262394e4856724d262394e4856724df006f736361722e746f726e657940636861726974652e6465
(1724)   FreeRADIUS-Proxied-To = 127.0.0.1
(1724)   User-Name = "user@example.org"
(1724)   State = 0xeca9d11becb7cb5d64eba7c7c264c520
(1724)   NAS-IP-Address = 10.23.17.8
(1724)   NAS-Port = 104
(1724)   Framed-MTU = 1400
(1724)   Called-Station-Id = "d8:84:66:5d:47:11"
(1724)   Acct-Session-Id = "M56f156b504aa"
(1724)   Calling-Station-Id = "6e:2e:c5:be:ef:03"
(1724)   NAS-Port-Type = Wireless-802.11
(1724)   NAS-Identifier = "VNET_eduroam_site1"
(1724)   Service-Type = Framed-User
(1724)   Siemens-AP-Serial = "16145285336L0000"
(1724)   Siemens-AP-Name = "AP-4711-02-019"
(1724)   Siemens-VNS-Name = "VNET_eduroam_site1"
(1724)   Siemens-SSID = "eduroam"
(1724)   Siemens-BSS-MAC = "d8:84:66:5d:47:11"
(1724)   Siemens-Policy-Name = "POL_auth_eduroam-int-site1"
(1724)   Siemens-Topology-Name = "IF_eduroam-int-site1"
(1724)   Event-Timestamp = "Jul  7 2021 19:54:04 CEST"
(1724) WARNING: Outer and inner identities are the same.  User privacy is compromised.
(1724) server eduroam-inner-tunnel-peap {
(1724)   session-state: No cached attributes
(1724)   # Executing section authorize from file /etc/freeradius/sites-enabled/eduroam-inner-tunnel-peap
(1724)     authorize {
(1724) suffix: Checking for suffix after "@"
(1724) suffix: Looking up realm "example.org" for User-Name = "user@example.org"
(1724) suffix: No such realm "example.org"
(1724)       [suffix] = noop
(1724)       [mschap] = noop
(1724)       [files] = noop
(1724) eap: Peer sent EAP Response (code 2) ID 30 length 82
(1724) eap: No EAP Start, assuming it's an on-going EAP conversation
(1724)       [eap] = updated
(1724)     } # authorize = updated
(1724)   Found Auth-Type = eap
(1724)   # Executing group from file /etc/freeradius/sites-enabled/eduroam-inner-tunnel-peap
(1724)     authenticate {
(1724) eap: Expiring EAP session with state 0x6ec43926699420c9
(1724) eap: Finished EAP session with state 0xeca9d11becb7cb5d
(1724) eap: Previous EAP request found for state 0xeca9d11becb7cb5d, released from the list
(1724) eap: Peer sent packet with method EAP MSCHAPv2 (26)
(1724) eap: Calling submodule eap_mschapv2 to process data
(1724) eap_mschapv2: # Executing group from file /etc/freeradius/sites-enabled/eduroam-inner-tunnel-peap
(1724) eap_mschapv2:   Auth-Type MS-CHAP {
(1724) mschap: Creating challenge hash with username: user@example.org
(1724) mschap: Client is using MS-CHAPv2
(1724) mschap: Executing: /usr/bin/wrap_ntlm_auth.pl challenge %{%{Stripped-User-Name}:-%{%{User-Name}:-None}} %{mschap:Challenge} %{mschap:NT-Response} %{%{Calling-Station-ID}:-none}:
(1724) mschap: EXPAND %{%{Stripped-User-Name}:-%{%{User-Name}:-None}}
(1724) mschap:    --> user@example.org
(1724) mschap: Creating challenge hash with username: user@example.org
(1724) mschap: EXPAND %{mschap:Challenge}
(1724) mschap:    --> 23deadbeef123456
(1724) mschap: EXPAND %{mschap:NT-Response}
(1724) mschap:    --> 314b7a644456684a3262394e4856724d262394e4856724df
(1724) mschap: EXPAND %{%{Calling-Station-ID}:-none}
(1724) mschap:    --> 6e:2e:c5:be:ef:03
(1724) mschap: Program returned code (0) and output 'NT_KEY: 01F9DEADBEEF2790843CEEF3C2345343'
(1724) mschap: Adding MS-CHAPv2 MPPE keys
(1724) eap_mschapv2:     [mschap] = ok
(1724) eap_mschapv2:   } # Auth-Type MS-CHAP = ok
(1724) eap_mschapv2: MSCHAP Success
(1724) eap: Sending EAP Request (code 1) ID 31 length 51
(1724) eap: EAP session adding &reply:State = 0xeca9d11bedb6cb5d
(1724)       [eap] = handled
(1724)     } # authenticate = handled
(1724) } # server eduroam-inner-tunnel-peap
(1724) Virtual server sending reply
(1724)   EAP-Message = 0x011f00331a031e002e533d41423034304243374538453732413938443343383244313037363830314245453636434537353343
(1724)   Message-Authenticator = 0x00000000000000000000000000000000
(1724)   State = 0xeca9d11bedb6cb5d64eba7c7c264c520
(1724) eap_peap: Got tunneled reply code 11
(1724) eap_peap:   EAP-Message = 0x011f00331a031e002e533d41423034304243374538453732413938443343383244313037363830314245453636434537353343
(1724) eap_peap:   Message-Authenticator = 0x00000000000000000000000000000000
(1724) eap_peap:   State = 0xeca9d11bedb6cb5d64eba7c7c264c520
(1724) eap_peap: Got tunneled reply RADIUS code 11
(1724) eap_peap:   EAP-Message = 0x011f00331a031e002e533d41423034304243374538453732413938443343383244313037363830314245453636434537353343
(1724) eap_peap:   Message-Authenticator = 0x00000000000000000000000000000000
(1724) eap_peap:   State = 0xeca9d11bedb6cb5d64eba7c7c264c520
(1724) eap_peap: Got tunneled Access-Challenge
(1724) eap: Sending EAP Request (code 1) ID 31 length 82
(1724) eap: EAP session adding &reply:State = 0xabb632c2a0a92b76
(1724)     [eap] = handled
(1724)   } # authenticate = handled
(1724) Using Post-Auth-Type Challenge
(1724) # Executing group from file /etc/freeradius/sites-enabled/default
(1724)   Challenge { ... } # empty sub-section is ignored
(1724) session-state: Saving cached attributes
(1724)   Framed-MTU = 994
(1724)   TLS-Session-Information = "(TLS) recv TLS 1.3 Handshake, ClientHello\n"
(1724)   TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHello\n"
(1724)   TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Certificate\n"
(1724)   TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerKeyExchange\n"
(1724)   TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHelloDone\n"
(1724)   TLS-Session-Information = "(TLS) recv TLS 1.2 Handshake, ClientKeyExchange\n"
(1724)   TLS-Session-Information = "(TLS) recv TLS 1.2 Handshake, Finished\n"
(1724)   TLS-Session-Information = "(TLS) send TLS 1.2 ChangeCipherSpec\n"
(1724)   TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Finished\n"
(1724)   TLS-Session-Cipher-Suite = "ECDHE-RSA-AES256-GCM-SHA384"
(1724)   TLS-Session-Version = "TLS 1.2"
Bad talloc magic value - unknown value

talloc abort: Bad talloc magic value - unknown value

Aborted (core dumped)

Full backtrace from LLDB or GDB

  Id   Target Id                         Frame 
* 1    Thread 0x7fc34fca9c00 (LWP 30322) __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50

Thread 1 (Thread 0x7fc34fca9c00 (LWP 30322)):
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0, 7149522898144027235, 140730905601792, 0, 7306074658782393140, 3558178185602543670, 7089899714635628543, 3546358436473300537, 3832951647545746228, 140476838077600, 0, 0, 0, 0, 0, 0}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007fc34febe859 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x555672b3a990, sa_sigaction = 0x555672b3a990}, sa_mask = {__val = {7, 6, 40, 140476843126966, 93829781177872, 140476843180480, 140476839248675, 140730905602208, 140476843180480, 93829781177872, 93829781177872, 93829779412624, 0, 140476843180480, 140476843054545, 93829783650912}}, sa_flags = 1347916033, sa_restorer = 0x3000000020}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007fc35052fe30 in ?? () from /usr/lib/freeradius/libfreeradius-radius.so
No symbol table info available.
#3  0x00007fc3501a34d7 in ?? () from /lib/x86_64-linux-gnu/libtalloc.so.2
No symbol table info available.
#4  0x0000555671008bb8 in fr_state_put_vps ()
No symbol table info available.
#5  0x0000555670feef3d in rad_postauth ()
No symbol table info available.
#6  0x0000555671015b28 in ?? ()
No symbol table info available.
#7  0x0000555671012a38 in ?? ()
No symbol table info available.
#8  0x0000555671014d35 in request_receive ()
No symbol table info available.
#9  0x0000555670ffb2fd in ?? ()
No symbol table info available.
#10 0x000055567100fc93 in ?? ()
No symbol table info available.
#11 0x00007fc35054d6a4 in fr_event_loop () from /usr/lib/freeradius/libfreeradius-radius.so
No symbol table info available.
#12 0x0000555670fee1c4 in main ()
No symbol table info available.
alandekok commented 3 years ago

Fixed already in the v3.0.x branch. See commits 4d4af808a7 and 8e204e3b6a