From 26de4de491c19e3d855f53cfca08eb28d9a7ca50 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. Reviewed-on: http://gerrit.openafs.org/7563 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear (cherry picked from commit 1fbe83f9aacfc36a9c426ba1fd18ad7c72869dc1) Change-Id: Id3b4952e8d27479f16c950606cacc19c7e52cc02 Reviewed-on: http://gerrit.openafs.org/7593 Tested-by: BuildBot 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 0ef85e52b..de97a3140 100644 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -3171,10 +3171,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