Artifact 532366dbd71dc51089cddec2b4fb013af2ea1026
- File
src/win32/schannel.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.
/***********************************************************************\ * schannel.d * * * * Windows API header module * * * * Translated from MinGW Windows headers * * by Stewart Gordon * * * * Placed into public domain * \***********************************************************************/ module win32.schannel; import win32.wincrypt; private import win32.windef; const DWORD SCHANNEL_CRED_VERSION = 4; const SCHANNEL_SHUTDOWN = 1; /* Comment from MinGW ? Do these belong here or in wincrypt.h */ enum : DWORD { AUTHTYPE_CLIENT = 1, AUTHTYPE_SERVER = 2 } const DWORD SP_PROT_PCT1_SERVER = 0x01, SP_PROT_PCT1_CLIENT = 0x02, SP_PROT_SSL2_SERVER = 0x04, SP_PROT_SSL2_CLIENT = 0x08, SP_PROT_SSL3_SERVER = 0x10, SP_PROT_SSL3_CLIENT = 0x20, SP_PROT_TLS1_SERVER = 0x40, SP_PROT_TLS1_CLIENT = 0x80, SP_PROT_PCT1 = SP_PROT_PCT1_CLIENT | SP_PROT_PCT1_SERVER, SP_PROT_TLS1 = SP_PROT_TLS1_CLIENT | SP_PROT_TLS1_SERVER, SP_PROT_SSL2 = SP_PROT_SSL2_CLIENT | SP_PROT_SSL2_SERVER, SP_PROT_SSL3 = SP_PROT_SSL3_CLIENT | SP_PROT_SSL3_SERVER; const DWORD SCH_CRED_NO_SYSTEM_MAPPER = 0x0002, SCH_CRED_NO_SERVERNAME_CHECK = 0x0004, SCH_CRED_MANUAL_CRED_VALIDATION = 0x0008, SCH_CRED_NO_DEFAULT_CREDS = 0x0010, SCH_CRED_AUTO_CRED_VALIDATION = 0x0020, SCH_CRED_USE_DEFAULT_CREDS = 0x0040, SCH_CRED_REVOCATION_CHECK_END_CERT = 0x0100, SCH_CRED_REVOCATION_CHECK_CHAIN = 0x0200, SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT = 0x0400, SCH_CRED_IGNORE_NO_REVOCATION_CHECK = 0x0800, SCH_CRED_IGNORE_REVOCATION_OFFLINE = 0x1000; // No definition - presumably an opaque structure struct _HMAPPER; struct SCHANNEL_CRED { DWORD dwVersion = SCHANNEL_CRED_VERSION; DWORD cCreds; PCCERT_CONTEXT* paCred; HCERTSTORE hRootStore; DWORD cMappers; _HMAPPER** aphMappers; DWORD cSupportedAlgs; ALG_ID* palgSupportedAlgs; DWORD grbitEnabledProtocols; DWORD dwMinimumCypherStrength; DWORD dwMaximumCypherStrength; DWORD dwSessionLifespan; DWORD dwFlags; DWORD reserved; } alias SCHANNEL_CRED* PSCHANNEL_CRED; struct SecPkgCred_SupportedAlgs { DWORD cSupportedAlgs; ALG_ID* palgSupportedAlgs; } alias SecPkgCred_SupportedAlgs* PSecPkgCred_SupportedAlgs; struct SecPkgCred_CypherStrengths { DWORD dwMinimumCypherStrength; DWORD dwMaximumCypherStrength; } alias SecPkgCred_CypherStrengths* PSecPkgCred_CypherStrengths; struct SecPkgCred_SupportedProtocols { DWORD grbitProtocol; } alias SecPkgCred_SupportedProtocols* PSecPkgCred_SupportedProtocols; struct SecPkgContext_IssuerListInfoEx { PCERT_NAME_BLOB aIssuers; DWORD cIssuers; } alias SecPkgContext_IssuerListInfoEx* PSecPkgContext_IssuerListInfoEx; struct SecPkgContext_ConnectionInfo { DWORD dwProtocol; ALG_ID aiCipher; DWORD dwCipherStrength; ALG_ID aiHash; DWORD dwHashStrength; ALG_ID aiExch; DWORD dwExchStrength; } alias SecPkgContext_ConnectionInfo* PSecPkgContext_ConnectionInfo;