--- check_radius_orig.c 2007-08-07 22:34:39.000000000 +0200 +++ check_radius_ifdef.c 2007-08-07 22:34:01.000000000 +0200 @@ -42,8 +42,12 @@ #include "common.h" #include "utils.h" #include "netutils.h" - +#ifdef HAVE_LIBRADIUSCLIENT_NG +#include +rc_handle *rch = NULL; +#else #include +#endif int process_arguments (int, char **); void print_help (void); @@ -133,26 +137,49 @@ usage4 (_("Could not parse arguments")); str = strdup ("dictionary"); +#ifdef HAVE_LIBRADIUSCLIENT_NG + if ((config_file && ! (rch = rc_read_config (config_file))) || + rc_read_dictionary (rch, rc_conf_str (rch, str))) +#else if ((config_file && rc_read_config (config_file)) || rc_read_dictionary (rc_conf_str (str))) +#endif die (STATE_UNKNOWN, _("Config file error")); service = PW_AUTHENTICATE_ONLY; memset (&data, 0, sizeof(data)); +#ifdef HAVE_LIBRADIUSCLIENT_NG + if (!(rc_avpair_add (rch, &data.send_pairs, PW_SERVICE_TYPE, &service, -1, 0) && + rc_avpair_add (rch, &data.send_pairs, PW_USER_NAME, username, -1, 0) && + rc_avpair_add (rch, &data.send_pairs, PW_USER_PASSWORD, password, -1, 0) && + (nasid==NULL || rc_avpair_add (rch, &data.send_pairs, PW_NAS_IDENTIFIER, nasid, -1, 0)))) +#else if (!(rc_avpair_add (&data.send_pairs, PW_SERVICE_TYPE, &service, 0) && rc_avpair_add (&data.send_pairs, PW_USER_NAME, username, 0) && rc_avpair_add (&data.send_pairs, PW_USER_PASSWORD, password, 0) && (nasid==NULL || rc_avpair_add (&data.send_pairs, PW_NAS_IDENTIFIER, nasid, 0)))) +#endif die (STATE_UNKNOWN, _("Out of Memory?")); /* * Fill in NAS-IP-Address */ +#ifdef HAVE_LIBRADIUSCLIENT_NG + if ((client_id = rc_own_ipaddress (rch)) == 0) +#else if ((client_id = rc_own_ipaddress ()) == 0) +#endif return (ERROR_RC); +#ifdef HAVE_LIBRADIUSCLIENT_NG + if (rc_avpair_add (rch, &(data.send_pairs), PW_NAS_IP_ADDRESS, &client_id,-1, 0) == + NULL) return (ERROR_RC); + rc_buildreq (rch, &data, PW_ACCESS_REQUEST, server, port, (int)timeout_interval, + retries); + result = rc_send_server (rch, &data, msg); +#else if (rc_avpair_add (&(data.send_pairs), PW_NAS_IP_ADDRESS, &client_id, 0) == NULL) return (ERROR_RC); @@ -160,6 +187,8 @@ retries); result = rc_send_server (&data, msg); +#endif + rc_avpair_free (data.send_pairs); if (data.receive_pairs) rc_avpair_free (data.receive_pairs);