Can you check which version of libperl you are using ? I think on Debian it was separate package ? Also please can you try to run freeradius with example.pl which is included in freeradius.
On Wednesday 08 March 2006 05:12, Grant Zanetti wrote: > I've just tried to get the rlm_perl module working. > > I'm running debian 3.1 with perl 5.8.8. I've tried installing the > prebuilt debian packages as well as from source with "dpkg-buildpackage > -rfakeroot -uc -b" > > However after loading the module freeradius segfaults. > > Freeradius config: > modules { > perl ipalloc { > module = /etc/freeradius/dynip.pl > func_accounting = accounting > func_post_auth = post_auth > } > } > > post-auth { > ipalloc > } > > When running freeradius I get > > traffic:/etc/freeradius# freeradius -X > Starting - reading configuration files ... > reread_config: reading radiusd.conf > Config: including file: /etc/freeradius/proxy.conf > Config: including file: /etc/freeradius/clients.conf > Config: including file: /etc/freeradius/snmp.conf > Config: including file: /etc/freeradius/eap.conf > Config: including file: /etc/freeradius/sql.conf > main: prefix = "/usr" > main: localstatedir = "/var" > main: logdir = "/var/log/freeradius" > main: libdir = "/usr/lib/freeradius" > main: radacctdir = "/var/log/freeradius/radacct" > main: hostname_lookups = no > main: max_request_time = 30 > main: cleanup_delay = 5 > main: max_requests = 1024 > main: delete_blocked_requests = 0 > main: port = 0 > main: allow_core_dumps = no > main: log_stripped_names = no > main: log_file = "/var/log/freeradius/radius.log" > main: log_auth = no > main: log_auth_badpass = no > main: log_auth_goodpass = no > main: pidfile = "/var/run/freeradius/freeradius.pid" > main: user = "freerad" > main: group = "freerad" > main: usercollide = no > main: lower_user = "no" > main: lower_pass = "no" > main: nospace_user = "no" > main: nospace_pass = "no" > main: checkrad = "/usr/sbin/checkrad" > main: proxy_requests = yes > proxy: retry_delay = 5 > proxy: retry_count = 3 > proxy: synchronous = no > proxy: default_fallback = yes > proxy: dead_time = 120 > proxy: post_proxy_authorize = no > proxy: wake_all_if_all_dead = no > security: max_attributes = 200 > security: reject_delay = 1 > security: status_server = no > main: debug_level = 0 > read_config_files: reading dictionary > read_config_files: reading naslist > Using deprecated naslist file. Support for this will go away soon. > read_config_files: reading clients > read_config_files: reading realms > radiusd: entering modules setup > Module: Library search path is /usr/lib/freeradius > Module: Loaded exec > exec: wait = yes > exec: program = "(null)" > exec: input_pairs = "request" > exec: output_pairs = "(null)" > exec: packet_type = "(null)" > rlm_exec: Wait=yes but no output defined. Did you mean output=none? > Module: Instantiated exec (exec) > Module: Loaded expr > Module: Instantiated expr (expr) > Module: Loaded PAP > pap: encryption_scheme = "crypt" > Module: Instantiated pap (pap) > Module: Loaded CHAP > Module: Instantiated chap (chap) > Module: Loaded MS-CHAP > mschap: use_mppe = yes > mschap: require_encryption = no > mschap: require_strong = no > mschap: with_ntdomain_hack = no > mschap: passwd = "(null)" > mschap: authtype = "MS-CHAP" > mschap: ntlm_auth = "(null)" > Module: Instantiated mschap (mschap) > Module: Loaded System > unix: cache = no > unix: passwd = "(null)" > unix: shadow = "/etc/shadow" > unix: group = "(null)" > unix: radwtmp = "/var/log/freeradius/radwtmp" > unix: usegroup = no > unix: cache_reload = 600 > Module: Instantiated unix (unix) > Module: Loaded eap > eap: default_eap_type = "md5" > eap: timer_expire = 60 > eap: ignore_unknown_eap_types = no > eap: cisco_accounting_username_bug = no > rlm_eap: Loaded and initialized type md5 > rlm_eap: Loaded and initialized type leap > gtc: challenge = "Password: " > gtc: auth_type = "PAP" > rlm_eap: Loaded and initialized type gtc > mschapv2: with_ntdomain_hack = no > rlm_eap: Loaded and initialized type mschapv2 > Module: Instantiated eap (eap) > Module: Loaded preprocess > preprocess: huntgroups = "/etc/freeradius/huntgroups" > preprocess: hints = "/etc/freeradius/hints" > preprocess: with_ascend_hack = no > preprocess: ascend_channels_per_line = 23 > preprocess: with_ntdomain_hack = no > preprocess: with_specialix_jetstream_hack = no > preprocess: with_cisco_vsa_hack = no > Module: Instantiated preprocess (preprocess) > Module: Loaded realm > realm: format = "suffix" > realm: delimiter = "@" > realm: ignore_default = no > realm: ignore_null = no > Module: Instantiated realm (suffix) > Module: Loaded files > files: usersfile = "/etc/freeradius/users" > files: acctusersfile = "/etc/freeradius/acct_users" > files: preproxy_usersfile = "/etc/freeradius/preproxy_users" > files: compat = "no" > Module: Instantiated files (files) > Module: Loaded Acct-Unique-Session-Id > acct_unique: key = "User-Name, Acct-Session-Id, NAS-IP-Address, > Client-IP-Address, NAS-Port" > Module: Instantiated acct_unique (acct_unique) > Module: Loaded detail > detail: detailfile = > "/var/log/freeradius/radacct/%{Client-IP-Address}/detail-%Y%m%d" > detail: detailperm = 384 > detail: dirperm = 493 > detail: locking = no > Module: Instantiated detail (detail) > Module: Loaded radutmp > radutmp: filename = "/var/log/freeradius/radutmp" > radutmp: username = "%{User-Name}" > radutmp: case_sensitive = yes > radutmp: check_with_nas = yes > radutmp: perm = 384 > radutmp: callerid = yes > Module: Instantiated radutmp (radutmp) > Module: Loaded perl > perl: module = "/etc/freeradius/dynip.pl" > perl: func_authorize = "authorize" > perl: func_authenticate = "authenticate" > perl: func_accounting = "accounting" > perl: func_preacct = "preacct" > perl: func_checksimul = "checksimul" > perl: func_detach = "detach" > perl: func_xlat = "xlat" > perl: func_pre_proxy = "pre_proxy" > perl: func_post_proxy = "post_proxy" > perl: func_post_auth = "post_auth" > perl: perl_flags = "(null)" > perl: func_start_accounting = "(null)" > perl: func_stop_accounting = "(null)" > Segmentation fault > > The file "/etc/freeradius/dynip.pl" exists and is readable but the > segfault is the same whether it exists or not. > > This is the output from gdb > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread -1210271424 (LWP 866)] > 0xb7c12ca2 in Perl_hv_clear_placeholders () from /usr/lib/libperl.so.5.8 > (gdb) bt > #0 0xb7c12ca2 in Perl_hv_clear_placeholders () > from /usr/lib/libperl.so.5.8 > #1 0xb7c13369 in Perl_hv_delayfree_ent () from /usr/lib/libperl.so.5.8 > #2 0xb7c142cc in Perl_hv_fetch () from /usr/lib/libperl.so.5.8 > #3 0xb7bbf7ba in Perl_gv_fetchpv () from /usr/lib/libperl.so.5.8 > #4 0xb7bbc14a in Perl_my_failure_exit () from /usr/lib/libperl.so.5.8 > #5 0xb7bbe97d in perl_parse () from /usr/lib/libperl.so.5.8 > #6 0xb7cbcd5d in ?? () from /usr/lib/freeradius/rlm_perl-1.1.0.so > #7 0x0812e590 in ?? () > #8 0xb7cbc130 in ?? () from /usr/lib/freeradius/rlm_perl-1.1.0.so > #9 0x00000003 in ?? () > #10 0xbffa29b0 in ?? () > #11 0x00000000 in ?? () > #12 0x0812e590 in ?? () > #13 0xb7cc0060 in rlm_perl () from /usr/lib/freeradius/rlm_perl-1.1.0.so > #14 0xb7cc0350 in ?? () from /usr/lib/freeradius/rlm_perl-1.1.0.so > #15 0xb7b99618 in ?? () from /usr/lib/libperl.so.5.8 > #16 0xb7cc0344 in ?? () from /usr/lib/freeradius/rlm_perl-1.1.0.so > #17 0x0811a9e8 in ?? () > #18 0x08119c68 in ?? () > #19 0x00000000 in ?? () > #20 0x0812e4c8 in ?? () > #21 0xb7cbf6a0 in ?? () from /usr/lib/freeradius/rlm_perl-1.1.0.so > #22 0x08050455 in log_debug () > #23 0x08055332 in find_module_instance () > #24 0x08056a4f in modcallable_free () > #25 0x080559e4 in setup_modules () > #26 0x0804cd80 in main () > > I have tried with perl 5.8.4 with the same result. > > Any help would be appreciated. I'm not sure how to get more debug out > of freeradius with gdb. > > > - > List info/subscribe/unsubscribe? See > http://www.freeradius.org/list/users.html -- Best Regards, Boian Jordanov SNE Orbitel - Next Generation Telecom tel. +359 2 4004 723 tel. +359 2 4004 002 - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html