--- security.h.org Thu Feb 21 19:37:46 2002 +++ security.h Fri Mar 8 12:59:46 2002 @@ -16,6 +16,8 @@ #define DEFAULT_GID DOMAIN_ALIAS_RID_ADMINS #define MAX_SID_LEN 40 +#define MAX_DACL_LEN(n) (sizeof (ACL) \ + + (n) * (sizeof (ACCESS_ALLOWED_ACE) - sizeof (DWORD) + MAX_SID_LEN)) #define NO_SID ((PSID)NULL) @@ -179,6 +181,8 @@ HANDLE subauth (struct passwd *pw); /* Try creating a token directly. */ HANDLE create_token (cygsid &usersid, cygsid &pgrpsid); +/* Verify an existing token */ +BOOL verify_token (HANDLE token, cygsid &usersid, cygsid &pgrpsid, BOOL * pintern); /* Extract U-domain\user field from passwd entry. */ void extract_nt_dom_user (const struct passwd *pw, char *domain, char *user); @@ -201,6 +205,8 @@ extern SECURITY_ATTRIBUTES sec_none, sec_none_nih, sec_all, sec_all_nih; extern SECURITY_ATTRIBUTES *__stdcall __sec_user (PVOID sa_buf, PSID sid2, BOOL inherit) __attribute__ ((regparm (3))); +extern BOOL sec_acl (PACL acl, BOOL admins, PSID sid1 = NO_SID, PSID sid2 = NO_SID); +extern void sec_process_sid(cygsid &sid); int __stdcall NTReadEA (const char *file, const char *attrname, char *buf, int len); BOOL __stdcall NTWriteEA (const char *file, const char *attrname, const char *buf, int len);