From aa5d0d708f6a758396b04779ceac271a039439fb Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Wed, 6 Feb 2013 19:35:00 -0500 Subject: [PATCH] Windows: AFSFileOpenResultCB.Authenticated Notify the redirector whether the the result of a file open request is the result of a user authenticated action. Change-Id: If1f7704b3ea31e40e88b3589fd604a7d50653ec1 Reviewed-on: http://gerrit.openafs.org/9077 Reviewed-by: Rod Widdowson Tested-by: BuildBot Reviewed-by: Jeffrey Altman --- src/WINNT/afsrdr/common/AFSUserStructs.h | 2 ++ src/WINNT/afsrdr/user/RDRFunction.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/WINNT/afsrdr/common/AFSUserStructs.h b/src/WINNT/afsrdr/common/AFSUserStructs.h index ab550d4c6..c6544644b 100644 --- a/src/WINNT/afsrdr/common/AFSUserStructs.h +++ b/src/WINNT/afsrdr/common/AFSUserStructs.h @@ -341,6 +341,8 @@ typedef struct _AFS_FILE_OPEN_RESULT_CB ULONG FileAccess; + ULONG Authenticated; + } AFSFileOpenResultCB; typedef struct _AFS_FILE_ACCESS_RELEASE_CB diff --git a/src/WINNT/afsrdr/user/RDRFunction.c b/src/WINNT/afsrdr/user/RDRFunction.c index 598f3ff70..9f7c7c955 100644 --- a/src/WINNT/afsrdr/user/RDRFunction.c +++ b/src/WINNT/afsrdr/user/RDRFunction.c @@ -3086,6 +3086,8 @@ RDR_OpenFileEntry( IN cm_user_t *userp, { int count = 0; + pResultCB->Authenticated = cm_HaveToken(userp, scp->fid.cell); + do { if (count++ > 0) { Sleep(350); @@ -3099,6 +3101,8 @@ RDR_OpenFileEntry( IN cm_user_t *userp, userp, &req, &ldp); if (code == 0) code = RDR_CheckAccess(scp, userp, &req, OpenCB->DesiredAccess, &pResultCB->GrantedAccess); + + cm_CheckNTOpenDone(scp, userp, &req, &ldp); } while (count < 100 && (code == CM_ERROR_RETRY || code == CM_ERROR_WOULDBLOCK)); } -- 2.39.5