106 lines
2.3 KiB
C
106 lines
2.3 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1997-2000 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
SaifWild.cpp
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This module implements various "Wildcard SID" operations that are
|
||
|
used internally by the WinSAIFER APIs to compute SID list
|
||
|
intersections and inversions.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Jeffrey Lawson (JLawson) - Apr 2000
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
User mode only.
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
Created - Apr 2000
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
#ifndef _SAIFER_WILDCARD_SIDS_H_
|
||
|
#define _SAIFER_WILDCARD_SIDS_H_
|
||
|
|
||
|
|
||
|
//
|
||
|
// Internal structure used to represent our private "Wildcard SIDs".
|
||
|
//
|
||
|
typedef struct _AUTHZ_WILDCARDSID
|
||
|
{
|
||
|
PSID Sid;
|
||
|
DWORD WildcardPos; // -1, or else the wildcard position of
|
||
|
// the within the subauthorities.
|
||
|
} AUTHZ_WILDCARDSID, *PAUTHZ_WILDCARDSID;
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
|
||
|
NTSTATUS NTAPI
|
||
|
CodeAuthzpConvertWildcardStringSidToSidW(
|
||
|
IN LPCWSTR szStringSid,
|
||
|
OUT PAUTHZ_WILDCARDSID pWildcardSid
|
||
|
);
|
||
|
|
||
|
NTSTATUS NTAPI
|
||
|
CodeAuthzpConvertWildcardSidToStringSidW(
|
||
|
IN PAUTHZ_WILDCARDSID pWildcardSid,
|
||
|
OUT PUNICODE_STRING pUnicodeOutput
|
||
|
);
|
||
|
|
||
|
BOOLEAN NTAPI
|
||
|
CodeAuthzpCompareWildcardSidWithSid(
|
||
|
IN PAUTHZ_WILDCARDSID pWildcardSid,
|
||
|
IN PSID pMatchSid
|
||
|
);
|
||
|
|
||
|
BOOLEAN NTAPI
|
||
|
CodeAuthzpSidInWildcardList (
|
||
|
IN PAUTHZ_WILDCARDSID WildcardList,
|
||
|
IN ULONG WildcardCount,
|
||
|
IN PSID SePrincipalSelfSid OPTIONAL,
|
||
|
IN PSID PrincipalSelfSid OPTIONAL,
|
||
|
IN PSID Sid
|
||
|
);
|
||
|
|
||
|
BOOLEAN NTAPI
|
||
|
CodeAuthzpInvertAndAddSids(
|
||
|
IN HANDLE InAccessToken,
|
||
|
IN PSID InTokenOwner OPTIONAL,
|
||
|
IN DWORD InvertSidCount,
|
||
|
IN PAUTHZ_WILDCARDSID SidsToInvert,
|
||
|
IN DWORD SidsAddedCount OPTIONAL,
|
||
|
IN PSID_AND_ATTRIBUTES SidsToAdd OPTIONAL,
|
||
|
OUT DWORD *NewDisabledSidCount,
|
||
|
OUT PSID_AND_ATTRIBUTES *NewSidsToDisable
|
||
|
);
|
||
|
|
||
|
BOOLEAN NTAPI
|
||
|
CodeAuthzpExpandWildcardList(
|
||
|
IN HANDLE InAccessToken,
|
||
|
IN PSID InTokenOwner OPTIONAL,
|
||
|
IN DWORD WildcardCount,
|
||
|
IN PAUTHZ_WILDCARDSID WildcardList,
|
||
|
OUT DWORD *OutSidCount,
|
||
|
OUT PSID_AND_ATTRIBUTES *OutSidList
|
||
|
);
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} // extern "C"
|
||
|
#endif
|
||
|
|
||
|
#endif
|
||
|
|