Differences From Artifact [f644874abd87ad5a]:
- File
src/win32/subauth.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
To Artifact [2e201cc81211b5e1]:
- File
src/win32/subauth.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.
102 USHORT Length; 102 USHORT Length;
103 USHORT MaximumLength; 103 USHORT MaximumLength;
104 PCHAR Buffer; 104 PCHAR Buffer;
105 } 105 }
106 alias STRING* PSTRING; 106 alias STRING* PSTRING;
107 +/ 107 +/
108 108
109 alias HANDLE SAM_HANDLE; | 109 mixin DECLARE_HANDLE!("SAM_HANDLE");
110 alias HANDLE* PSAM_HANDLE; | 110 alias SAM_HANDLE* PSAM_HANDLE;
111 111
112 struct OLD_LARGE_INTEGER { 112 struct OLD_LARGE_INTEGER {
113 ULONG LowPart; 113 ULONG LowPart;
114 LONG HighPart; 114 LONG HighPart;
115 } 115 }
116 alias OLD_LARGE_INTEGER* POLD_LARGE_INTEGER; 116 alias OLD_LARGE_INTEGER* POLD_LARGE_INTEGER;
117 117
................................................................................................................................................................................
127 127
128 128
129 const CYPHER_BLOCK_LENGTH = 8; 129 const CYPHER_BLOCK_LENGTH = 8;
130 const USER_SESSION_KEY_LENGTH = CYPHER_BLOCK_LENGTH * 2; 130 const USER_SESSION_KEY_LENGTH = CYPHER_BLOCK_LENGTH * 2;
131 const CLEAR_BLOCK_LENGTH = 8; 131 const CLEAR_BLOCK_LENGTH = 8;
132 132
133 struct CYPHER_BLOCK { 133 struct CYPHER_BLOCK {
134 CHAR data[CYPHER_BLOCK_LENGTH]; | 134 CHAR[CYPHER_BLOCK_LENGTH] data;
135 } 135 }
136 alias CYPHER_BLOCK* PCYPHER_BLOCK; 136 alias CYPHER_BLOCK* PCYPHER_BLOCK;
137 137
138 struct CLEAR_BLOCK { 138 struct CLEAR_BLOCK {
139 CHAR data[CLEAR_BLOCK_LENGTH]; | 139 CHAR[CLEAR_BLOCK_LENGTH] data;
140 } 140 }
141 alias CLEAR_BLOCK* PCLEAR_BLOCK; 141 alias CLEAR_BLOCK* PCLEAR_BLOCK;
142 142
143 struct LM_OWF_PASSWORD { 143 struct LM_OWF_PASSWORD {
144 CYPHER_BLOCK data[2]; | 144 CYPHER_BLOCK[2] data;
145 } 145 }
146 alias LM_OWF_PASSWORD* PLM_OWF_PASSWORD; 146 alias LM_OWF_PASSWORD* PLM_OWF_PASSWORD;
147 147
148 struct USER_SESSION_KEY { 148 struct USER_SESSION_KEY {
149 CYPHER_BLOCK data[2]; | 149 CYPHER_BLOCK[2] data;
150 } 150 }
151 alias USER_SESSION_KEY* PUSER_SESSION_KEY; 151 alias USER_SESSION_KEY* PUSER_SESSION_KEY;
152 152
153 alias CLEAR_BLOCK LM_CHALLENGE; 153 alias CLEAR_BLOCK LM_CHALLENGE;
154 alias LM_CHALLENGE* PLM_CHALLENGE; 154 alias LM_CHALLENGE* PLM_CHALLENGE;
155 155
156 alias LM_OWF_PASSWORD NT_OWF_PASSWORD; 156 alias LM_OWF_PASSWORD NT_OWF_PASSWORD;