[this is a resend as i think our smtp gateway stripped all my
 attachments.  so i've just included one of them inline]

I'm trying to setup FreeRadius 1.0.2 to use alternative password file and
I'm running into some issues, namely the server is dumping core. I have
tried to set this up two different ways based on some of the email on the
mailing list so I think that the configuration is correct, but maybe I'm
hitting a bug in the server.

First Try:

    [radiusd.conf]
    modules {
       ...
       passwd admins {
            filename = ${raddbdir}/passwords/admins
            format = "*User-Name:Crypt-Password"
            hashsize = 100
            delimiter = ":"
        }
       ...
    }

    authorize {
        ...
        admins
        ...
    }

    [users - this DEFAULT entry is on line 10]
    DEFAULT Huntgroup-Name == "cisco-router-admin", Auth-Type = admins
        Service-Type = NAS-Prompt-User,
        Login-Service = Telnet,
        Login-TCP-Port = Telnet,
        Fall-Through = No

    [admins password file]
    jornstei:cryptpassword
    jlo:plaintextpassword


I'll attach the full debug (debug.crypt-1), but here is what I think needs
to be seen

    rad_recv: Access-Request packet from host 10.15.32.71:1645, id=98, length=79
        User-Name = "jornstei"
        User-Password = "plaintextpassword"
        NAS-Port = 67
        NAS-Port-Type = Virtual
        Calling-Station-Id = "10.21.33.34"
        NAS-IP-Address = 10.15.32.71

    Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: calling
                admins (rlm_passwd) for request 0
    Fri Mar 25 08:39:52 2005 : Debug: rlm_passwd: Added Crypt-Password:
                'cryptedpasswd' to config_items
    Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: returned
                from admins (rlm_passwd) for request 0
    Fri Mar 25 08:39:52 2005 : Debug:   modcall[authorize]: module "admins"
                 returns ok for request 0
    Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: calling files
                (rlm_files) for request 0
    Fri Mar 25 08:39:52 2005 : Debug:     users: Matched entry DEFAULT at
                line 10
    Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: returned from
                files (rlm_files) for request 0
    Fri Mar 25 08:39:52 2005 : Debug:   modcall[authorize]: module "files"
                returns ok for request 0
    Fri Mar 25 08:39:52 2005 : Debug: modcall: group authorize returns ok
                for request 0
    Fri Mar 25 08:39:52 2005 : Debug: auth: type Crypt
    Segmentation Fault - core dumped
    radiusd


If I change the format of the module from 'Crypt-Password' to 'User-Password'
and if I change the encryption_scheme from 'crypt' to 'clear' and put a
cleartext password in my admins's password file, this works.  Here is part
of that output (debug.cleartext-1)

    Fri Mar 25 08:54:14 2005 : Debug:   modcall[authorize]: module "files"
    returns ok for request 0
    Fri Mar 25 08:54:14 2005 : Debug: modcall: group authorize returns ok
    for request 0
    Fri Mar 25 08:54:14 2005 : Debug: auth: type Local
    Fri Mar 25 08:54:14 2005 : Debug: auth: user supplied User-Password matches
            local User-Password
    Sending Access-Accept of id 100 to 10.15.32.71:1645


Second Try:
    [radiusd.conf]
    modules {
       ...
       passwd admins {
            filename = ${raddbdir}/passwords/admins
            format = "*User-Name:Crypt-Password"
            hashsize = 100
            delimiter = ":"
        }
       ...
    }

    authorize {
        ...
        Autz-Type admins {
            admins
        }
        ...
    }

    [users - this DEFAULT entry is on line 10]
    DEFAULT Huntgroup-Name == "cisco-router-admin", Autz-Type = admins
        Service-Type = NAS-Prompt-User,
        Login-Service = Telnet,
        Login-TCP-Port = Telnet,
        Fall-Through = No


And it core dumps in the same place.

    Fri Mar 25 09:01:45 2005 : Debug: modcall: group Autz-Type returns ok
        for request 0
    Fri Mar 25 09:01:45 2005 : Debug: auth: type Crypt
    Segmentation Fault - core dumped
    radiusd

And if I do the same trick of chaning Crypt-Password to User-Password it
will work, but that isn't what I'm after in the long run.

I recompile with --enable-developer to get the back trace and here is what
shows up

    (gdb) where
    #0  0xff257590 in DES_ncbc_encrypt () from /usr/local/ssl/lib/libcrypto.so
    #1  0xff259b4c in _des_crypt () from /usr/local/ssl/lib/libcrypto.so
    #2  0xff33fcb4 in lrad_crypt_check (key=0xffbeda00 "",
        crypted=0x1a5024 "encryptedpassword") at crypt.c:60

Does that mean that the pointer to key has no data?  If so, this could
be a problem.

Anyone see what I'm doing wrong and what I might do to fix it?

-jason

----------------------------------------------------------------------
[debug.crypt-1]

-n Starting FreeRADIUS:
Fri Mar 25 08:39:43 2005 : Info: Starting - reading configuration files ...
Fri Mar 25 08:39:43 2005 : Debug: reread_config:  reading radiusd.conf
Fri Mar 25 08:39:43 2005 : Debug: Config:   including file: 
/usr/local/freeradius-1.0.2/etc/raddb/proxy.conf
Fri Mar 25 08:39:43 2005 : Debug: Config:   including file: 
/usr/local/freeradius-1.0.2/etc/raddb/clients.conf
Fri Mar 25 08:39:43 2005 : Debug: Config:   including file: 
/usr/local/freeradius-1.0.2/etc/raddb/snmp.conf
Fri Mar 25 08:39:43 2005 : Debug: Config:   including file: 
/usr/local/freeradius-1.0.2/etc/raddb/eap.conf
Fri Mar 25 08:39:43 2005 : Debug: Config:   including file: 
/usr/local/freeradius-1.0.2/etc/raddb/sql.conf
Fri Mar 25 08:39:43 2005 : Debug:  main: prefix = "/usr/local/freeradius-1.0.2"
Fri Mar 25 08:39:43 2005 : Debug:  main: localstatedir = 
"/usr/local/freeradius-1.0.2/var"
Fri Mar 25 08:39:43 2005 : Debug:  main: logdir = 
"/usr/local/freeradius-1.0.2/var/log/radius"
Fri Mar 25 08:39:43 2005 : Debug:  main: libdir = 
"/usr/local/freeradius-1.0.2/lib"
Fri Mar 25 08:39:43 2005 : Debug:  main: radacctdir = 
"/usr/local/freeradius-1.0.2/var/log/radius/radacct"
Fri Mar 25 08:39:43 2005 : Debug:  main: hostname_lookups = no
Fri Mar 25 08:39:43 2005 : Debug:  main: max_request_time = 30
Fri Mar 25 08:39:43 2005 : Debug:  main: cleanup_delay = 5
Fri Mar 25 08:39:43 2005 : Debug:  main: max_requests = 1024
Fri Mar 25 08:39:43 2005 : Debug:  main: delete_blocked_requests = 0
Fri Mar 25 08:39:43 2005 : Debug:  main: port = 0
Fri Mar 25 08:39:43 2005 : Debug:  main: allow_core_dumps = no
Fri Mar 25 08:39:43 2005 : Debug:  main: log_stripped_names = no
Fri Mar 25 08:39:43 2005 : Debug:  main: log_file = 
"/usr/local/freeradius-1.0.2/var/log/radius/radius.log"
Fri Mar 25 08:39:43 2005 : Debug:  main: log_auth = no
Fri Mar 25 08:39:43 2005 : Debug:  main: log_auth_badpass = no
Fri Mar 25 08:39:43 2005 : Debug:  main: log_auth_goodpass = no
Fri Mar 25 08:39:43 2005 : Debug:  main: pidfile = 
"/usr/local/freeradius-1.0.2/var/run/radiusd/radiusd.pid"
Fri Mar 25 08:39:43 2005 : Debug:  main: user = "(null)"
Fri Mar 25 08:39:43 2005 : Debug:  main: group = "(null)"
Fri Mar 25 08:39:43 2005 : Debug:  main: usercollide = no
Fri Mar 25 08:39:43 2005 : Debug:  main: lower_user = "no"
Fri Mar 25 08:39:43 2005 : Debug:  main: lower_pass = "no"
Fri Mar 25 08:39:43 2005 : Debug:  main: nospace_user = "no"
Fri Mar 25 08:39:43 2005 : Debug:  main: nospace_pass = "no"
Fri Mar 25 08:39:43 2005 : Debug:  main: checkrad = 
"/usr/local/freeradius-1.0.2/sbin/checkrad"
Fri Mar 25 08:39:43 2005 : Debug:  main: proxy_requests = yes
Fri Mar 25 08:39:43 2005 : Debug:  proxy: retry_delay = 5
Fri Mar 25 08:39:43 2005 : Debug:  proxy: retry_count = 3
Fri Mar 25 08:39:43 2005 : Debug:  proxy: synchronous = no
Fri Mar 25 08:39:43 2005 : Debug:  proxy: default_fallback = yes
Fri Mar 25 08:39:43 2005 : Debug:  proxy: dead_time = 120
Fri Mar 25 08:39:43 2005 : Debug:  proxy: post_proxy_authorize = yes
Fri Mar 25 08:39:43 2005 : Debug:  proxy: wake_all_if_all_dead = no
Fri Mar 25 08:39:43 2005 : Debug:  security: max_attributes = 200
Fri Mar 25 08:39:43 2005 : Debug:  security: reject_delay = 1
Fri Mar 25 08:39:43 2005 : Debug:  security: status_server = no
Fri Mar 25 08:39:43 2005 : Debug:  main: debug_level = 0
Fri Mar 25 08:39:43 2005 : Debug: read_config_files:  reading dictionary
Fri Mar 25 08:39:43 2005 : Debug: read_config_files:  reading naslist
Fri Mar 25 08:39:43 2005 : Info: Using deprecated naslist file.  Support for 
this will go away soon.
Fri Mar 25 08:39:43 2005 : Debug: read_config_files:  reading clients
Fri Mar 25 08:39:43 2005 : Debug: read_config_files:  reading realms
Fri Mar 25 08:39:43 2005 : Debug: radiusd:  entering modules setup
Fri Mar 25 08:39:43 2005 : Debug: Module: Library search path is 
/usr/local/freeradius-1.0.2/lib
Fri Mar 25 08:39:43 2005 : Debug: Module: Loaded exec 
Fri Mar 25 08:39:43 2005 : Debug:  exec: wait = yes
Fri Mar 25 08:39:43 2005 : Debug:  exec: program = "(null)"
Fri Mar 25 08:39:43 2005 : Debug:  exec: input_pairs = "request"
Fri Mar 25 08:39:43 2005 : Debug:  exec: output_pairs = "(null)"
Fri Mar 25 08:39:43 2005 : Debug:  exec: packet_type = "(null)"
Fri Mar 25 08:39:43 2005 : Info: rlm_exec: Wait=yes but no output defined. Did 
you mean output=none?
Fri Mar 25 08:39:43 2005 : Debug: Module: Instantiated exec (exec) 
Fri Mar 25 08:39:43 2005 : Debug: Module: Loaded expr 
Fri Mar 25 08:39:43 2005 : Debug: Module: Instantiated expr (expr) 
Fri Mar 25 08:39:43 2005 : Debug: Module: Loaded PAP 
Fri Mar 25 08:39:43 2005 : Debug:  pap: encryption_scheme = "crypt"
Fri Mar 25 08:39:43 2005 : Debug: Module: Instantiated pap (pap) 
Fri Mar 25 08:39:43 2005 : Debug: Module: Loaded CHAP 
Fri Mar 25 08:39:43 2005 : Debug: Module: Instantiated chap (chap) 
Fri Mar 25 08:39:43 2005 : Debug: Module: Loaded MS-CHAP 
Fri Mar 25 08:39:43 2005 : Debug:  mschap: use_mppe = yes
Fri Mar 25 08:39:43 2005 : Debug:  mschap: require_encryption = no
Fri Mar 25 08:39:43 2005 : Debug:  mschap: require_strong = no
Fri Mar 25 08:39:43 2005 : Debug:  mschap: with_ntdomain_hack = no
Fri Mar 25 08:39:43 2005 : Debug:  mschap: passwd = "(null)"
Fri Mar 25 08:39:43 2005 : Debug:  mschap: authtype = "MS-CHAP"
Fri Mar 25 08:39:43 2005 : Debug:  mschap: ntlm_auth = "(null)"
Fri Mar 25 08:39:43 2005 : Debug: Module: Instantiated mschap (mschap) 
Fri Mar 25 08:39:43 2005 : Debug: Module: Loaded System 
Fri Mar 25 08:39:43 2005 : Debug:  unix: cache = no
Fri Mar 25 08:39:43 2005 : Debug:  unix: passwd = "(null)"
Fri Mar 25 08:39:43 2005 : Debug:  unix: shadow = "(null)"
Fri Mar 25 08:39:43 2005 : Debug:  unix: group = "/etc/group"
Fri Mar 25 08:39:43 2005 : Debug:  unix: radwtmp = 
"/usr/local/freeradius-1.0.2/var/log/radius/radwtmp"
Fri Mar 25 08:39:43 2005 : Debug:  unix: usegroup = no
Fri Mar 25 08:39:43 2005 : Debug:  unix: cache_reload = 600
Fri Mar 25 08:39:43 2005 : Debug: Module: Instantiated unix (unix) 
Fri Mar 25 08:39:43 2005 : Debug: Module: Loaded eap 
Fri Mar 25 08:39:43 2005 : Debug:  eap: default_eap_type = "md5"
Fri Mar 25 08:39:43 2005 : Debug:  eap: timer_expire = 60
Fri Mar 25 08:39:43 2005 : Debug:  eap: ignore_unknown_eap_types = no
Fri Mar 25 08:39:43 2005 : Debug:  eap: cisco_accounting_username_bug = no
Fri Mar 25 08:39:43 2005 : Debug: rlm_eap: Loaded and initialized type md5
Fri Mar 25 08:39:43 2005 : Debug: rlm_eap: Loaded and initialized type leap
Fri Mar 25 08:39:43 2005 : Debug:  gtc: challenge = "Password: "
Fri Mar 25 08:39:43 2005 : Debug:  gtc: auth_type = "PAP"
Fri Mar 25 08:39:43 2005 : Debug: rlm_eap: Loaded and initialized type gtc
Fri Mar 25 08:39:43 2005 : Debug:  mschapv2: with_ntdomain_hack = no
Fri Mar 25 08:39:43 2005 : Debug: rlm_eap: Loaded and initialized type mschapv2
Fri Mar 25 08:39:43 2005 : Debug: Module: Instantiated eap (eap) 
Fri Mar 25 08:39:43 2005 : Debug: Module: Loaded preprocess 
Fri Mar 25 08:39:43 2005 : Debug:  preprocess: huntgroups = 
"/usr/local/freeradius-1.0.2/etc/raddb/huntgroups"
Fri Mar 25 08:39:43 2005 : Debug:  preprocess: hints = 
"/usr/local/freeradius-1.0.2/etc/raddb/hints"
Fri Mar 25 08:39:43 2005 : Debug:  preprocess: with_ascend_hack = no
Fri Mar 25 08:39:43 2005 : Debug:  preprocess: ascend_channels_per_line = 23
Fri Mar 25 08:39:43 2005 : Debug:  preprocess: with_ntdomain_hack = no
Fri Mar 25 08:39:43 2005 : Debug:  preprocess: with_specialix_jetstream_hack = 
no
Fri Mar 25 08:39:43 2005 : Debug:  preprocess: with_cisco_vsa_hack = no
Fri Mar 25 08:39:43 2005 : Debug: Module: Instantiated preprocess (preprocess) 
Fri Mar 25 08:39:43 2005 : Debug: Module: Loaded realm 
Fri Mar 25 08:39:43 2005 : Debug:  realm: format = "suffix"
Fri Mar 25 08:39:43 2005 : Debug:  realm: delimiter = "@"
Fri Mar 25 08:39:43 2005 : Debug:  realm: ignore_default = no
Fri Mar 25 08:39:43 2005 : Debug:  realm: ignore_null = no
Fri Mar 25 08:39:43 2005 : Debug: Module: Instantiated realm (suffix) 
Fri Mar 25 08:39:43 2005 : Debug: Module: Loaded passwd 
Fri Mar 25 08:39:43 2005 : Debug:  passwd: filename = 
"/usr/local/freeradius-1.0.2/etc/raddb/passwords/admins"
Fri Mar 25 08:39:43 2005 : Debug:  passwd: format = "*User-Name:Crypt-Password"
Fri Mar 25 08:39:43 2005 : Debug:  passwd: authtype = "(null)"
Fri Mar 25 08:39:43 2005 : Debug:  passwd: delimiter = ":"
Fri Mar 25 08:39:43 2005 : Debug:  passwd: ignorenislike = yes
Fri Mar 25 08:39:43 2005 : Debug:  passwd: ignoreempty = yes
Fri Mar 25 08:39:43 2005 : Debug:  passwd: allowmultiplekeys = no
Fri Mar 25 08:39:43 2005 : Debug:  passwd: hashsize = 100
Fri Mar 25 08:39:43 2005 : Info: rlm_passwd: nfields: 2 keyfield 0(User-Name) 
listable: no
Fri Mar 25 08:39:43 2005 : Debug: Module: Instantiated passwd (admins) 
Fri Mar 25 08:39:43 2005 : Debug: Module: Loaded files 
Fri Mar 25 08:39:43 2005 : Debug:  files: usersfile = 
"/usr/local/freeradius-1.0.2/etc/raddb/users"
Fri Mar 25 08:39:43 2005 : Debug:  files: acctusersfile = 
"/usr/local/freeradius-1.0.2/etc/raddb/acct_users"
Fri Mar 25 08:39:43 2005 : Debug:  files: preproxy_usersfile = 
"/usr/local/freeradius-1.0.2/etc/raddb/preproxy_users"
Fri Mar 25 08:39:43 2005 : Debug:  files: compat = "no"
Fri Mar 25 08:39:43 2005 : Debug: Module: Instantiated files (files) 
Fri Mar 25 08:39:43 2005 : Debug: Module: Loaded Acct-Unique-Session-Id 
Fri Mar 25 08:39:43 2005 : Debug:  acct_unique: key = "User-Name, 
Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port"
Fri Mar 25 08:39:43 2005 : Debug: Module: Instantiated acct_unique 
(acct_unique) 
Fri Mar 25 08:39:43 2005 : Debug: Module: Loaded detail 
Fri Mar 25 08:39:43 2005 : Debug:  detail: detailfile = 
"/usr/local/freeradius-1.0.2/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d"
Fri Mar 25 08:39:43 2005 : Debug:  detail: detailperm = 384
Fri Mar 25 08:39:43 2005 : Debug:  detail: dirperm = 493
Fri Mar 25 08:39:43 2005 : Debug:  detail: locking = no
Fri Mar 25 08:39:43 2005 : Debug: Module: Instantiated detail (detail) 
Fri Mar 25 08:39:43 2005 : Debug: Module: Loaded radutmp 
Fri Mar 25 08:39:43 2005 : Debug:  radutmp: filename = 
"/usr/local/freeradius-1.0.2/var/log/radius/radutmp"
Fri Mar 25 08:39:43 2005 : Debug:  radutmp: username = "%{User-Name}"
Fri Mar 25 08:39:43 2005 : Debug:  radutmp: case_sensitive = yes
Fri Mar 25 08:39:43 2005 : Debug:  radutmp: check_with_nas = yes
Fri Mar 25 08:39:43 2005 : Debug:  radutmp: perm = 384
Fri Mar 25 08:39:43 2005 : Debug:  radutmp: callerid = yes
Fri Mar 25 08:39:43 2005 : Debug: Module: Instantiated radutmp (radutmp) 
Fri Mar 25 08:39:43 2005 : Debug: Listening on authentication *:1812
Fri Mar 25 08:39:43 2005 : Debug: Listening on accounting *:1813
Fri Mar 25 08:39:43 2005 : Debug: Listening on proxy *:1814
Fri Mar 25 08:39:43 2005 : Info: Ready to process requests.
rad_recv: Access-Request packet from host 10.15.32.71:1645, id=98, length=79
        User-Name = "jornstei"
        User-Password = "plaintextpasswor"
        NAS-Port = 67
        NAS-Port-Type = Virtual
        Calling-Station-Id = "10.21.33.34"
        NAS-IP-Address = 10.15.32.71
Fri Mar 25 08:39:52 2005 : Debug:   Processing the authorize section of 
radiusd.conf
Fri Mar 25 08:39:52 2005 : Debug: modcall: entering group authorize for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: calling preprocess 
(rlm_preprocess) for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: returned from 
preprocess (rlm_preprocess) for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modcall[authorize]: module "preprocess" 
returns ok for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: calling chap 
(rlm_chap) for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: returned from chap 
(rlm_chap) for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modcall[authorize]: module "chap" returns 
noop for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: calling mschap 
(rlm_mschap) for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: returned from mschap 
(rlm_mschap) for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modcall[authorize]: module "mschap" returns 
noop for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: calling suffix 
(rlm_realm) for request 0
Fri Mar 25 08:39:52 2005 : Debug:     rlm_realm: No '@' in User-Name = 
"jornstei", looking up realm NULL
Fri Mar 25 08:39:52 2005 : Debug:     rlm_realm: No such realm "NULL"
Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: returned from suffix 
(rlm_realm) for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modcall[authorize]: module "suffix" returns 
noop for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: calling eap (rlm_eap) 
for request 0
Fri Mar 25 08:39:52 2005 : Debug:   rlm_eap: No EAP-Message, not doing EAP
Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: returned from eap 
(rlm_eap) for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modcall[authorize]: module "eap" returns 
noop for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: calling admins 
(rlm_passwd) for request 0
Fri Mar 25 08:39:52 2005 : Debug: rlm_passwd: Added Crypt-Password: 
'encryptedpassword' to config_items 
Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: returned from admins 
(rlm_passwd) for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modcall[authorize]: module "admins" returns 
ok for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: calling files 
(rlm_files) for request 0
Fri Mar 25 08:39:52 2005 : Debug:     users: Matched entry DEFAULT at line 10
Fri Mar 25 08:39:52 2005 : Debug:   modsingle[authorize]: returned from files 
(rlm_files) for request 0
Fri Mar 25 08:39:52 2005 : Debug:   modcall[authorize]: module "files" returns 
ok for request 0
Fri Mar 25 08:39:52 2005 : Debug: modcall: group authorize returns ok for 
request 0
Fri Mar 25 08:39:52 2005 : Debug: auth: type Crypt
Segmentation Fault - core dumped
radiusd

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

Reply via email to