From 2e8fa4db1fd29937dbd3467a14ecac1f847571f0 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Tue, 28 Nov 2006 09:08:04 +0000 Subject: [PATCH] DEVEL15-windows-conn-analyze-20061128 force an rx connection reset if VICECONNBAD or VICETOKENDEAD are received (cherry picked from commit cb1997aad8a62b31f1e890dfe093a2d4845e0086) --- src/WINNT/afsd/cm_conn.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/WINNT/afsd/cm_conn.c b/src/WINNT/afsd/cm_conn.c index 5494fa1e3..0465bdc63 100644 --- a/src/WINNT/afsd/cm_conn.c +++ b/src/WINNT/afsd/cm_conn.c @@ -493,8 +493,7 @@ cm_Analyze(cm_conn_t *connp, cm_user_t *userp, cm_req_t *reqp, if ( timeLeft > 2 ) retry = 1; } - else if (errorCode == RXKADEXPIRED || - errorCode == RXKADBADTICKET) { + else if (errorCode == RXKADEXPIRED || errorCode == RXKADBADTICKET) { if (!dead_session) { lock_ObtainMutex(&userp->mx); ucellp = cm_GetUCell(userp, serverp->cellp); @@ -508,6 +507,10 @@ cm_Analyze(cm_conn_t *connp, cm_user_t *userp, cm_req_t *reqp, if ( timeLeft > 2 ) retry = 1; } + } else if (errorCode == VICECONNBAD || errorCode == VICETOKENDEAD) { + cm_ForceNewConnections(serverp); + if ( timeLeft > 2 ) + retry = 1; } else { if (errorCode) { char * s = "unknown error"; @@ -548,6 +551,8 @@ cm_Analyze(cm_conn_t *connp, cm_user_t *userp, cm_req_t *reqp, case UAEACCES : s = "UAEACCES"; break; case ENOENT : s = "ENOENT"; break; case UAENOENT : s = "UAENOENT"; break; + case VICECONNBAD : s = "VICECONNBAD"; break; + case VICETOKENDEAD : s = "VICETOKENDEAD"; break; case CM_ERROR_NOSUCHCELL : s = "CM_ERROR_NOSUCHCELL"; break; case CM_ERROR_NOSUCHVOLUME : s = "CM_ERROR_NOSUCHVOLUME"; break; case CM_ERROR_TIMEDOUT : s = "CM_ERROR_TIMEDOUT"; break; -- 2.39.5