1 /* RADIUS client doing blocking i/o. */
6 #include "../libradsec.h"
9 #define SECRET "sikrit"
10 #define USER_NAME "bob"
11 #define USER_PW "hemligt"
14 rsx_client (const char *srvname, int srvport)
17 struct rs_connecion *conn;
18 struct rs_packet *req, *resp;
20 if (rs_context_create (&h, "/usr/share/freeradius/dictionary"))
21 return rs_err_code (rs_ctx_err_code (h));
23 if (rs_conn_new (h, &conn))
24 return rs_err_code (rs_conn_err_code (conn));
25 if (rs_conn_add_server (conn, RS_CONN_TYPE_UDP, srvname, srvport, 10, 3, SECRET))
26 return rs_err_code (rs_conn_err_code (conn));
28 if (rs_packet_create_acc_request (conn, &req, USER_NAME, USER_PW))
29 return rs_err_code (rs_conn_err_code (conn));
31 if (rs_packet_send (req))
32 return rs_err_code (rs_conn_err_code (conn));
35 if (rs_packet_recv (conn, &resp))
36 return rs_err_code (rs_conn_err_code (conn));
38 rs_conn_destroy (conn);
39 rs_context_destroy (h);
43 main (int argc, char *argv[])