vp = pairfind(coa->proxy->vps, PW_PACKET_DST_PORT);
if (vp) port = vp->vp_integer;
- coa->home_server = home_server_find(&ipaddr, port);
+ coa->home_server = home_server_find(&ipaddr, port, IPPROTO_UDP);
if (!coa->home_server) {
RDEBUG2("WARNING: Unknown destination %s:%d for CoA request.",
inet_ntop(ipaddr.af, &ipaddr.ipaddr,
* deleted, because only the main server thread calls
* this function, which makes it thread-safe.
*/
- switch (request->reply->code) {
+ if (request->reply) switch (request->reply->code) {
case PW_AUTHENTICATION_ACK:
radius_auth_stats.total_responses++;
radius_auth_stats.total_access_accepts++;
ipaddr.af = AF_INET;
ipaddr.ipaddr.ip4addr.s_addr = server_ip->vp_ipaddr;
- home = home_server_find(&ipaddr, server_port->vp_integer);
+ home = home_server_find(&ipaddr, server_port->vp_integer,
+ IPPROTO_UDP);
/*
* Not found: don't do anything