From 1fbe83f9aacfc36a9c426ba1fd18ad7c72869dc1 Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Fri, 1 Jun 2012 13:16:31 -0400 Subject: [PATCH] rx: abort on missing service currently rx does not send an abort if a service does not exist; it quietly ignores the packet. provide a hint we have done so. Change-Id: Id3533afd46ed21765d4d2aab630a896b21c945de Reviewed-on: http://gerrit.openafs.org/7563 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear --- src/rx/rx.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/rx/rx.c b/src/rx/rx.c index dd1c3ac4c..03d727031 100644 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -3243,10 +3243,11 @@ rxi_ReceivePacket(struct rx_packet *np, osi_socket socket, np->header.cid, np->header.epoch, type, np->header.securityIndex); - if (!conn) { - /* If no connection found or fabricated, just ignore the packet. - * (An argument could be made for sending an abort packet for - * the conn) */ + /* To avoid having 2 connections just abort at each other, + don't abort an abort. */ + if (!conn && (np->header.type != RX_PACKET_TYPE_ABORT)) { + rxi_SendRawAbort(socket, host, port, RX_INVALID_OPERATION, + np, 0); return np; } -- 2.39.5