Eradius usage
Stephen Gibberd
stephen@REDACTED
Fri Aug 20 01:54:29 CEST 2004
Hello,
I'm new to erlang and am trying to get eradius from jungerl working.
I've tried the following:
l(et), l(eradius), l(eradius_acc), l(eradius_dict), l(eradius_lib),
l(eradius_server), l(eradius_server_example).
mnesia:start().
eradius:start().
eradius:load_tables(["dictionary"]).
eradius_server:create_tables([]).
eradius_server:define_ras({192,168,79,99},1812,test,{eradius_server_example,test}).
eradius_server:trace_on({192,168,79,99},1812).
eradius_server:start_link({192,168,79,107},1812).
I thought this would use the eradius_server_example:test function to
authenticate any requests coming from 192.168.79.99 but when I test from
192.168.79.99 using this command there is no reply:
radtest test test 192.168.79.107 1812 test
I tried to trace the radius_server process and saw it calling
eradius_server_example:test correctly (though the function didn't print
anything as I thought it would):
...Many lines deleted....
<0.297.0>: call eradius_server_example:test({rad_pdu, 125,
<<201,94,97,46,238,155,177,72,179,85,236,55,140,174,112,96>>, {request,
[{{attribute,5,integer,"NAS_Port"},1812},
{{attribute,4,ipaddr,"NAS_IP_Address"},{192,168,79,99}},
{{attribute,2,string,"User_Password"},
[237,170,124,54,202,213,211,109,5,130,29,119,238,96,8,132]},
{{attribute,1,string,"User_Name"},"test"}]}}, {nas_prop, {{192,
168, 79, 99}, 1812}, test, {eradius_server_example, test}, true})
<0.297.0>: call eradius_server:encode_reply({rad_accept,
undefined, [], []}, {rad_pdu, 125,
<<201,94,97,46,238,155,177,72,179,85,236,55,140,174,112,96>>,
{request, [{{attribute,5,integer,"NAS_Port"},1812},
{{attribute,4,ipaddr,"NAS_IP_Address"},{192,168,79,99}},
{{attribute,2,string,"User_Password"},
[237,170,124,54,202,213,211,109,5,130,29,119,238,96,8,132]},
{{attribute,1,string,"User_Name"},"test"}]}}, test)
Eradius_server_example:test seems to return rad_accept as it should,
but the eradius_server:encode_reply function seems to fail:
.... many lines deleted .........
<0.297.0>: call erlang:md5([<<2,125,0,20>>,
<<201,94,97,46,238,155,177,72,179,85,236,55,140,174,112,96>>,
[[],[]],
test])
<0.297.0>: call proc_lib:exit_p({'EXIT', {badarg, [{erlang,md5,
[[<<2,125,0,20>>,
<<201,94,97,46,238,155,177,72,179,85,236,55,140,174,112,96>>,
[[],[]],
test]]},
{eradius_lib,enc_reply_pdu,2},
{eradius_server,encode_reply,3},
{eradius_server,radius,4},
{proc_lib,init_p,5}]}}, {eradius_server, radius, [<0.99.0>,
{udp,#Port<0.184>,
{192,168,79,99},
32781,
<<1,125,0,56,201,94,97,46,238,155,177,72,179,85,236,55,140,174,112,96,1,
6,116,101,115,116,2,18,237,170,124,54,202,213,211,109,5,130,29,119,238,96
,8,132,4,6,192,168,79,99,5,6,0,0,7,20>>},
125,
{nas_prop,{{192,168,79,99},1812},test,{eradius_server_example,test},true}]})
Any hints or suggestions as to where I'm going wrong?
Thanks, Stephen
More information about the erlang-questions
mailing list