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 ;..