Artifact d10f1b4b67bc11ee962b2f5fcd6fdbe703202c87:
- File
src/win32/security.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0a 2a 20 20 20 20 20 ********\.*
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060: 20 20 20 20 20 20 20 20 20 20 20 73 65 63 75 72 secur
0070: 69 74 79 2e 64 20 20 20 20 20 20 20 20 20 20 20 ity.d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 *.*
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 *.*
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50 Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20 I header module
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 *.*
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0170: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 *.*
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66 Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77 rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20 s headers
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20 *.*
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01d0: 20 20 20 20 20 20 20 20 62 79 20 45 6c 6c 65 72 by Eller
01e0: 79 20 4e 65 77 63 6f 6d 65 72 20 20 20 20 20 20 y Newcomer
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 *.*
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a *.
0250: 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *
0260: 20 20 20 20 20 20 20 20 50 6c 61 63 65 64 20 69 Placed i
0270: 6e 74 6f 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 nto public domai
0280: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n
0290: 20 20 20 20 20 20 20 20 2a 0a 5c 2a 2a 2a 2a 2a *.\*****
02a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02e0: 2a 2a 2f 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 **/.module win32
02f0: 2e 73 65 63 75 72 69 74 79 3b 0a 0a 65 6e 75 6d .security;..enum
0300: 20 3a 53 45 43 55 52 49 54 59 5f 53 54 41 54 55 :SECURITY_STATU
0310: 53 7b 0a 20 20 20 20 53 45 43 5f 45 5f 4f 4b 20 S{. SEC_E_OK
0320: 3d 20 30 2c 0a 20 20 20 20 53 45 43 5f 45 5f 43 = 0,. SEC_E_C
0330: 45 52 54 5f 45 58 50 49 52 45 44 20 3d 20 28 2d ERT_EXPIRED = (-
0340: 32 31 34 36 38 39 33 30 31 36 29 2c 0a 20 20 20 2146893016),.
0350: 20 53 45 43 5f 45 5f 49 4e 43 4f 4d 50 4c 45 54 SEC_E_INCOMPLET
0360: 45 5f 4d 45 53 53 41 47 45 20 3d 20 28 2d 32 31 E_MESSAGE = (-21
0370: 34 36 38 39 33 30 33 32 29 2c 0a 20 20 20 20 53 46893032),. S
0380: 45 43 5f 45 5f 49 4e 53 55 46 46 49 43 49 45 4e EC_E_INSUFFICIEN
0390: 54 5f 4d 45 4d 4f 52 59 20 3d 20 28 2d 32 31 34 T_MEMORY = (-214
03a0: 36 38 39 33 30 35 36 29 2c 0a 20 20 20 20 53 45 6893056),. SE
03b0: 43 5f 45 5f 49 4e 54 45 52 4e 41 4c 5f 45 52 52 C_E_INTERNAL_ERR
03c0: 4f 52 20 3d 20 28 2d 32 31 34 36 38 39 33 30 35 OR = (-214689305
03d0: 32 29 2c 0a 20 20 20 20 53 45 43 5f 45 5f 49 4e 2),. SEC_E_IN
03e0: 56 41 4c 49 44 5f 48 41 4e 44 4c 45 20 3d 20 28 VALID_HANDLE = (
03f0: 2d 32 31 34 36 38 39 33 30 35 35 29 2c 0a 20 20 -2146893055),.
0400: 20 20 53 45 43 5f 45 5f 49 4e 56 41 4c 49 44 5f SEC_E_INVALID_
0410: 54 4f 4b 45 4e 20 3d 20 28 2d 32 31 34 36 38 39 TOKEN = (-214689
0420: 33 30 34 38 29 2c 0a 20 20 20 20 53 45 43 5f 45 3048),. SEC_E
0430: 5f 4c 4f 47 4f 4e 5f 44 45 4e 49 45 44 20 3d 20 _LOGON_DENIED =
0440: 28 2d 32 31 34 36 38 39 33 30 34 34 29 2c 0a 20 (-2146893044),.
0450: 20 20 20 53 45 43 5f 45 5f 4e 4f 5f 41 55 54 48 SEC_E_NO_AUTH
0460: 45 4e 54 49 43 41 54 49 4e 47 5f 41 55 54 48 4f ENTICATING_AUTHO
0470: 52 49 54 59 20 3d 20 28 2d 32 31 34 36 38 39 33 RITY = (-2146893
0480: 30 33 39 29 2c 0a 20 20 20 20 53 45 43 5f 45 5f 039),. SEC_E_
0490: 4e 4f 5f 43 52 45 44 45 4e 54 49 41 4c 53 20 3d NO_CREDENTIALS =
04a0: 20 28 2d 32 31 34 36 38 39 33 30 34 32 29 2c 0a (-2146893042),.
04b0: 20 20 20 20 53 45 43 5f 45 5f 54 41 52 47 45 54 SEC_E_TARGET
04c0: 5f 55 4e 4b 4e 4f 57 4e 20 3d 20 28 2d 32 31 34 _UNKNOWN = (-214
04d0: 36 38 39 33 30 35 33 29 2c 0a 20 20 20 20 53 45 6893053),. SE
04e0: 43 5f 45 5f 55 4e 53 55 50 50 4f 52 54 45 44 5f C_E_UNSUPPORTED_
04f0: 46 55 4e 43 54 49 4f 4e 20 3d 20 28 2d 32 31 34 FUNCTION = (-214
0500: 36 38 39 33 30 35 34 29 2c 0a 20 20 20 20 53 45 6893054),. SE
0510: 43 5f 45 5f 55 4e 54 52 55 53 54 45 44 5f 52 4f C_E_UNTRUSTED_RO
0520: 4f 54 20 3d 20 28 2d 32 31 34 36 38 39 33 30 31 OT = (-214689301
0530: 39 29 2c 0a 20 20 20 20 53 45 43 5f 45 5f 57 52 9),. SEC_E_WR
0540: 4f 4e 47 5f 50 52 49 4e 43 49 50 41 4c 20 3d 20 ONG_PRINCIPAL =
0550: 28 2d 32 31 34 36 38 39 33 30 32 32 29 2c 0a 20 (-2146893022),.
0560: 20 20 20 53 45 43 5f 45 5f 53 45 43 50 4b 47 5f SEC_E_SECPKG_
0570: 4e 4f 54 5f 46 4f 55 4e 44 20 3d 20 28 2d 32 31 NOT_FOUND = (-21
0580: 34 36 38 39 33 30 35 31 29 2c 0a 20 20 20 20 53 46893051),. S
0590: 45 43 5f 45 5f 51 4f 50 5f 4e 4f 54 5f 53 55 50 EC_E_QOP_NOT_SUP
05a0: 50 4f 52 54 45 44 20 3d 20 28 2d 32 31 34 36 38 PORTED = (-21468
05b0: 39 33 30 34 36 29 2c 0a 20 20 20 20 53 45 43 5f 93046),. SEC_
05c0: 45 5f 55 4e 4b 4e 4f 57 4e 5f 43 52 45 44 45 4e E_UNKNOWN_CREDEN
05d0: 54 49 41 4c 53 20 3d 20 28 2d 32 31 34 36 38 39 TIALS = (-214689
05e0: 33 30 34 33 29 2c 0a 20 20 20 20 53 45 43 5f 45 3043),. SEC_E
05f0: 5f 4e 4f 54 5f 4f 57 4e 45 52 20 3d 20 28 2d 32 _NOT_OWNER = (-2
0600: 31 34 36 38 39 33 30 35 30 29 2c 0a 7d 0a 65 6e 146893050),.}.en
0610: 75 6d 20 3a 53 45 43 55 52 49 54 59 5f 53 54 41 um :SECURITY_STA
0620: 54 55 53 20 7b 0a 20 20 20 20 53 45 43 5f 49 5f TUS {. SEC_I_
0630: 52 45 4e 45 47 4f 54 49 41 54 45 20 3d 20 35 39 RENEGOTIATE = 59
0640: 30 36 32 35 2c 0a 20 20 20 20 53 45 43 5f 49 5f 0625,. SEC_I_
0650: 43 4f 4d 50 4c 45 54 45 5f 41 4e 44 5f 43 4f 4e COMPLETE_AND_CON
0660: 54 49 4e 55 45 20 3d 20 35 39 30 36 31 32 2c 0a TINUE = 590612,.
0670: 20 20 20 20 53 45 43 5f 49 5f 43 4f 4d 50 4c 45 SEC_I_COMPLE
0680: 54 45 5f 4e 45 45 44 45 44 20 3d 20 35 39 30 36 TE_NEEDED = 5906
0690: 31 31 2c 0a 20 20 20 20 53 45 43 5f 49 5f 43 4f 11,. SEC_I_CO
06a0: 4e 54 49 4e 55 45 5f 4e 45 45 44 45 44 20 3d 20 NTINUE_NEEDED =
06b0: 35 39 30 36 31 30 2c 0a 20 20 20 20 53 45 43 5f 590610,. SEC_
06c0: 49 5f 49 4e 43 4f 4d 50 4c 45 54 45 5f 43 52 45 I_INCOMPLETE_CRE
06d0: 44 45 4e 54 49 41 4c 53 20 3d 20 35 39 30 36 32 DENTIALS = 59062
06e0: 34 2c 0a 7d 0a 0a 2f 2a 20 61 6c 77 61 79 73 20 4,.}../* always
06f0: 61 20 63 68 61 72 20 2a 2f 0a 61 6c 69 61 73 20 a char */.alias
0700: 63 68 61 72 20 53 45 43 5f 43 48 41 52 3b 0a 61 char SEC_CHAR;.a
0710: 6c 69 61 73 20 77 63 68 61 72 20 53 45 43 5f 57 lias wchar SEC_W
0720: 43 48 41 52 3b 0a 0a 61 6c 69 61 73 20 69 6e 74 CHAR;..alias int
0730: 20 53 45 43 55 52 49 54 59 5f 53 54 41 54 55 53 SECURITY_STATUS
0740: 3b 0a 0a ;..