mirror of
https://github.com/monitoring-plugins/monitoring-plugins.git
synced 2026-04-27 17:16:40 -04:00
check_radius: Replace functions removed in radcli
The radcli library no longer offers the rc_get_ipaddr(), rc_good_ipaddr(), and rc_own_ipaddress() functions.
This commit is contained in:
parent
bfc745a79d
commit
487a9d0a8b
4 changed files with 23 additions and 22 deletions
|
|
@ -62,14 +62,12 @@ void print_usage (void);
|
|||
#else
|
||||
#define my_rc_buildreq(a,b,c,d,e,f) rc_buildreq(rch,a,b,c,d,e,f)
|
||||
#endif
|
||||
#define my_rc_own_ipaddress() rc_own_ipaddress(rch)
|
||||
#define my_rc_avpair_add(a,b,c,d) rc_avpair_add(rch,a,b,c,-1,d)
|
||||
#define my_rc_read_dictionary(a) rc_read_dictionary(rch, a)
|
||||
#else
|
||||
#define my_rc_conf_str(a) rc_conf_str(a)
|
||||
#define my_rc_send_server(a,b) rc_send_server(a, b)
|
||||
#define my_rc_buildreq(a,b,c,d,e,f) rc_buildreq(a,b,c,d,e,f)
|
||||
#define my_rc_own_ipaddress() rc_own_ipaddress()
|
||||
#define my_rc_avpair_add(a,b,c,d) rc_avpair_add(a, b, c, d)
|
||||
#define my_rc_read_dictionary(a) rc_read_dictionary(a)
|
||||
#endif
|
||||
|
|
@ -155,6 +153,8 @@ Please note that all tags must be lowercase to use the DocBook XML DTD.
|
|||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
struct sockaddr_storage ss;
|
||||
char name[HOST_NAME_MAX];
|
||||
char msg[BUFFER_LEN];
|
||||
SEND_DATA data;
|
||||
int result = STATE_UNKNOWN;
|
||||
|
|
@ -190,15 +190,14 @@ main (int argc, char **argv)
|
|||
die (STATE_UNKNOWN, _("Invalid NAS-Identifier\n"));
|
||||
}
|
||||
|
||||
if (nasipaddress != NULL) {
|
||||
if (rc_good_ipaddr (nasipaddress))
|
||||
die (STATE_UNKNOWN, _("Invalid NAS-IP-Address\n"));
|
||||
if ((client_id = rc_get_ipaddr(nasipaddress)) == 0)
|
||||
die (STATE_UNKNOWN, _("Invalid NAS-IP-Address\n"));
|
||||
} else {
|
||||
if ((client_id = my_rc_own_ipaddress ()) == 0)
|
||||
die (STATE_UNKNOWN, _("Can't find local IP for NAS-IP-Address\n"));
|
||||
if (nasipaddress == NULL) {
|
||||
if (gethostname (name, sizeof(name)) != 0)
|
||||
die (STATE_UNKNOWN, _("gethostname() failed!\n"));
|
||||
nasipaddress = name;
|
||||
}
|
||||
if (!dns_lookup (nasipaddress, &ss, AF_INET)) /* TODO: Support IPv6. */
|
||||
die (STATE_UNKNOWN, _("Invalid NAS-IP-Address\n"));
|
||||
client_id = ntohl (((struct sockaddr_in *)&ss)->sin_addr.s_addr);
|
||||
if (my_rc_avpair_add (&(data.send_pairs), PW_NAS_IP_ADDRESS, &client_id, 0) == NULL)
|
||||
die (STATE_UNKNOWN, _("Invalid NAS-IP-Address\n"));
|
||||
|
||||
|
|
|
|||
|
|
@ -59,10 +59,6 @@ enum {
|
|||
#define SMTP_STARTTLS "STARTTLS\r\n"
|
||||
#define SMTP_AUTH_LOGIN "AUTH LOGIN\r\n"
|
||||
|
||||
#ifndef HOST_MAX_BYTES
|
||||
#define HOST_MAX_BYTES 255
|
||||
#endif
|
||||
|
||||
#define EHLO_SUPPORTS_STARTTLS 1
|
||||
|
||||
int process_arguments (int, char **);
|
||||
|
|
|
|||
|
|
@ -359,20 +359,21 @@ is_addr (const char *address)
|
|||
}
|
||||
|
||||
int
|
||||
resolve_host_or_addr (const char *address, int family)
|
||||
dns_lookup (const char *in, struct sockaddr_storage *ss, int family)
|
||||
{
|
||||
struct addrinfo hints;
|
||||
struct addrinfo *res;
|
||||
int retval;
|
||||
|
||||
memset (&hints, 0, sizeof (hints));
|
||||
memset (&hints, 0, sizeof(struct addrinfo));
|
||||
hints.ai_family = family;
|
||||
retval = getaddrinfo (address, NULL, &hints, &res);
|
||||
|
||||
retval = getaddrinfo (in, NULL, &hints, &res);
|
||||
if (retval != 0)
|
||||
return FALSE;
|
||||
else {
|
||||
freeaddrinfo (res);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (ss != NULL)
|
||||
memcpy (ss, res->ai_addr, res->ai_addrlen);
|
||||
freeaddrinfo (res);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,6 +45,10 @@
|
|||
# endif /* UNIX_PATH_MAX */
|
||||
#endif /* HAVE_SYS_UN_H */
|
||||
|
||||
#ifndef HOST_MAX_BYTES
|
||||
# define HOST_MAX_BYTES 255
|
||||
#endif
|
||||
|
||||
/* process_request and wrapper macros */
|
||||
#define process_tcp_request(addr, port, sbuf, rbuf, rsize) \
|
||||
process_request(addr, port, IPPROTO_TCP, sbuf, rbuf, rsize)
|
||||
|
|
@ -71,8 +75,9 @@ int send_request (int sd, int proto, const char *send_buffer, char *recv_buffer,
|
|||
/* "is_*" wrapper macros and functions */
|
||||
int is_host (const char *);
|
||||
int is_addr (const char *);
|
||||
int resolve_host_or_addr (const char *, int);
|
||||
int dns_lookup (const char *, struct sockaddr_storage *, int);
|
||||
void host_or_die(const char *str);
|
||||
#define resolve_host_or_addr(addr, family) dns_lookup(addr, NULL, family)
|
||||
#define is_inet_addr(addr) resolve_host_or_addr(addr, AF_INET)
|
||||
#ifdef USE_IPV6
|
||||
# define is_inet6_addr(addr) resolve_host_or_addr(addr, AF_INET6)
|
||||
|
|
|
|||
Loading…
Reference in a new issue