added exception handler for UDP protocol errors

This commit is contained in:
Jeff Hill
2000-06-12 23:53:34 +00:00
parent 9a41b6d2ba
commit 963fee1856
+26 -1
View File
@@ -806,6 +806,31 @@ LOCAL void not_here_resp_action (udpiiu * /* piiu */, caHdr * /* pMsg */, const
return;
}
/*
* udp_exception_resp_action ()
*/
LOCAL void udp_exception_resp_action ( udpiiu *piiu,
caHdr *pMsg, const struct sockaddr_in *pnet_addr )
{
caHdr *pReqMsg = pMsg + 1;
char name[64];
ipAddrToA ( pnet_addr, name, sizeof ( name ) );
if ( pMsg->m_postsize > sizeof (caHdr) ){
errlogPrintf ( "error condition \"%s\" detected by %s with context \"%s\"\n",
ca_message ( ntohl ( pMsg->m_available ) ),
name, reinterpret_cast <char *> ( pReqMsg + 1 ) );
}
else{
errlogPrintf ( "error condition \"%s\" detected by %s\n",
ca_message ( ntohl ( pMsg->m_available ) ), name );
}
return;
}
/*
* UDP protocol jump table
*/
@@ -822,7 +847,7 @@ LOCAL const pProtoStubUDP udpJumpTableCAC[] =
bad_udp_resp_action,
bad_udp_resp_action,
bad_udp_resp_action,
bad_udp_resp_action,
udp_exception_resp_action,
bad_udp_resp_action,
beacon_action,
not_here_resp_action,