Windows: Force new connection upon RXKADEXPIRED
authorJeffrey Altman <jaltman@your-file-system.com>
Thu, 11 Apr 2013 13:17:53 +0000 (09:17 -0400)
committerDerrick Brashear <shadow@your-file-system.com>
Thu, 11 Apr 2013 16:12:04 +0000 (09:12 -0700)
cm_Analyze invalidated the credentials for the cell upon receiving an
RXKADEXPIRED error from a server but failed for force the establishment of
a new rx connection to the server.  As a result, the expired credentials
would continue to be used until the credential expires.

Change-Id: I93a4146d5ca708ce1cca467e7e5f72fea950f8ae
Reviewed-on: http://gerrit.openafs.org/9772
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

src/WINNT/afsd/cm_conn.c

index e5764ff..2577827 100644 (file)
@@ -1154,6 +1154,11 @@ cm_Analyze(cm_conn_t *connp,
             _InterlockedAnd(&ucellp->flags, ~CM_UCELLFLAG_RXKAD);
             ucellp->gen++;
             lock_ReleaseMutex(&userp->mx);
+
+            reqp->flags |= CM_REQ_NEW_CONN_FORCED;
+            forcing_new = 1;
+            cm_ForceNewConnections(serverp);
+
             if ( timeLeft > 2 )
                 retry = 1;
         }