From cb1997aad8a62b31f1e890dfe093a2d4845e0086 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Tue, 28 Nov 2006 09:05:10 +0000 Subject: [PATCH] windows-conn-analyze-20061128 force an rx connection reset if VICECONNBAD or VICETOKENDEAD are received --- 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 f725ce3d2..b0aad903e 100644 --- a/src/WINNT/afsd/cm_conn.c +++ b/src/WINNT/afsd/cm_conn.c @@ -464,8 +464,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); @@ -479,6 +478,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"; @@ -519,6 +522,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