stFileInformationClass = pIrpSp->Parameters.QueryFile.FileInformationClass;
pBuffer = Irp->AssociatedIrp.SystemBuffer;
- RtlZeroMemory( &stAuthGroup,
- sizeof( GUID));
+ if ( BooleanFlagOn( pFcb->ObjectInformation->Flags, AFS_OBJECT_FLAGS_VERIFY))
+ {
+
+ RtlZeroMemory( &stAuthGroup,
+ sizeof( GUID));
+
+ AFSRetrieveAuthGroupFnc( (ULONGLONG)PsGetCurrentProcessId(),
+ (ULONGLONG)PsGetCurrentThreadId(),
+ &stAuthGroup);
+
+ ntStatus = AFSVerifyEntry( &stAuthGroup,
+ pCcb->DirectoryCB);
+
+ if ( NT_SUCCESS( ntStatus))
+ {
- AFSRetrieveAuthGroupFnc( (ULONGLONG)PsGetCurrentProcessId(),
- (ULONGLONG)PsGetCurrentThreadId(),
- &stAuthGroup);
+ ClearFlag( pFcb->ObjectInformation->Flags, AFS_OBJECT_FLAGS_VERIFY);
+ }
+ else
+ {
- AFSVerifyEntry( &stAuthGroup,
- pCcb->DirectoryCB);
+ ntStatus = STATUS_SUCCESS;
+ }
+ }
//
// Grab the main shared right off the bat