[SECUR32]

- Sort exports like on Windows
- Implement some functions as proper stubs
[SECURITY]
- Cleanup exports (remove 31 of 77 functions)
- properly forward all exports
- Link to secur32 for forwarded exports

svn path=/branches/cmake-bringup/; revision=50597
This commit is contained in:
Timo Kreuzer 2011-02-02 17:06:20 +00:00
parent f9a184e117
commit 85c0b78873
5 changed files with 79 additions and 63 deletions

View file

@ -9,6 +9,7 @@ list(APPEND SOURCE
secext.c
sspi.c
secur32.rc
stubs.c
${CMAKE_CURRENT_BINARY_DIR}/secur32_stubs.c
${CMAKE_CURRENT_BINARY_DIR}/secur32.def
)

View file

@ -1,17 +1,10 @@
@ stdcall LsaRegisterLogonProcess(ptr ptr ptr)
@ stdcall LsaLogonUser(ptr ptr long long ptr long ptr ptr ptr ptr ptr ptr ptr ptr)
@ stdcall LsaDeregisterLogonProcess(long)
@ stdcall LsaConnectUntrusted(long)
@ stdcall LsaLookupAuthenticationPackage(ptr ptr ptr)
@ stdcall LsaFreeReturnBuffer(ptr)
@ stdcall LsaCallAuthenticationPackage(long long ptr long ptr ptr ptr)
@ stdcall AcceptSecurityContext(ptr ptr ptr long long ptr ptr ptr ptr)
@ stdcall AcquireCredentialsHandleA(str str long ptr ptr ptr ptr ptr ptr)
@ stdcall AcquireCredentialsHandleW(wstr wstr long ptr ptr ptr ptr ptr ptr)
@ stdcall AddCredentialsA(ptr str str long ptr ptr ptr ptr)
@ stdcall AddCredentialsW(ptr wstr wstr long ptr ptr ptr ptr)
@ stub AddSecurityPackageA
@ stub AddSecurityPackageW
@ stdcall AddSecurityPackageA(str ptr)
@ stdcall AddSecurityPackageW(wstr ptr)
@ stdcall ApplyControlTokenA(ptr ptr)
@ stdcall ApplyControlToken(ptr ptr) ApplyControlTokenW
@ stdcall CompleteAuthToken(ptr ptr)
@ -19,8 +12,8 @@
@ stub CredUnmarshalTargetInfo
@ stdcall DecryptMessage(ptr ptr long ptr)
@ stdcall DeleteSecurityContext(ptr)
@ stub DeleteSecurityPackageA
@ stub DeleteSecurityPackageW
@ stdcall DeleteSecurityPackageA(str)
@ stdcall DeleteSecurityPackageW(wstr)
@ stdcall EncryptMessage(ptr long ptr long)
@ stdcall EnumerateSecurityPackagesA(ptr ptr)
@ stdcall EnumerateSecurityPackagesW(ptr ptr)
@ -29,7 +22,7 @@
@ stdcall FreeCredentialsHandle(ptr)
@ stdcall GetComputerObjectNameA(long ptr ptr)
@ stdcall GetComputerObjectNameW(long ptr ptr)
@ stub GetSecurityUserInfo
@ stdcall GetSecurityUserInfo(ptr long ptr)
@ stdcall GetUserNameExA(long ptr ptr)
@ stdcall GetUserNameExW(long ptr ptr)
@ stdcall ImpersonateSecurityContext(ptr)
@ -39,8 +32,15 @@
@ stdcall InitSecurityInterfaceW()
@ stdcall InitializeSecurityContextA(ptr ptr str long long long ptr long ptr ptr ptr ptr)
@ stdcall InitializeSecurityContextW(ptr ptr wstr long long long ptr long ptr ptr ptr ptr)
@ stdcall LsaCallAuthenticationPackage(long long ptr long ptr ptr ptr)
@ stdcall LsaConnectUntrusted(long)
@ stdcall LsaDeregisterLogonProcess(long)
@ stdcall LsaEnumerateLogonSessions(ptr ptr)
@ stdcall LsaFreeReturnBuffer(ptr)
@ stdcall LsaGetLogonSessionData(ptr ptr)
@ stdcall LsaLogonUser(ptr ptr long long ptr long ptr ptr ptr ptr ptr ptr ptr ptr)
@ stdcall LsaLookupAuthenticationPackage(ptr ptr ptr)
@ stdcall LsaRegisterLogonProcess(ptr ptr ptr)
@ stdcall LsaRegisterPolicyChangeNotification(long ptr)
@ stdcall LsaUnregisterPolicyChangeNotification(long ptr)
@ stdcall MakeSignature(ptr long ptr long)
@ -64,7 +64,7 @@
@ stdcall SealMessage(ptr long ptr long) EncryptMessage
@ stub SecCacheSspiPackages
@ stub SecDeleteUserModeContext
@ stub SecGetLocaleSpecificEncryptionRules
@ stub SecGetLocaleSpecificEncryptionRules # not on win32k3 x64
@ stub SecInitUserModeContext
@ stub SecpFreeMemory
@ stub SecpTranslateName

56
dll/win32/secur32/stubs.c Normal file
View file

@ -0,0 +1,56 @@
#include <windows.h>
#define NDEBUG
#include <reactos/debug.h>
#define SEC_ENTRY WINAPI
#define STATUS_UNSUCCESSFUL ((SECURITY_STATUS)0x80000001)
typedef LONG SECURITY_STATUS;
typedef PVOID PSECURITY_PACKAGE_OPTIONS, PSecurityUserData;
SECURITY_STATUS
SEC_ENTRY
DeleteSecurityPackageA(LPSTR pszPackageName)
{
UNIMPLEMENTED;
return STATUS_UNSUCCESSFUL;
}
SECURITY_STATUS
SEC_ENTRY
DeleteSecurityPackageW(LPWSTR pszPackageName)
{
UNIMPLEMENTED;
return STATUS_UNSUCCESSFUL;
}
SECURITY_STATUS
SEC_ENTRY
AddSecurityPackageA(LPSTR pszPackageName, PSECURITY_PACKAGE_OPTIONS pOptions)
{
UNIMPLEMENTED;
return STATUS_UNSUCCESSFUL;
}
SECURITY_STATUS
SEC_ENTRY
AddSecurityPackageW(LPWSTR pszPackageName, PSECURITY_PACKAGE_OPTIONS pOptions)
{
UNIMPLEMENTED;
return STATUS_UNSUCCESSFUL;
}
SECURITY_STATUS
SEC_ENTRY
GetSecurityUserInfo(
PLUID LogonId,
ULONG Flags,
PSecurityUserData *UserInformation)
{
UNIMPLEMENTED;
return STATUS_UNSUCCESSFUL;
}

View file

@ -6,12 +6,11 @@ spec2def(security.dll security.spec)
list(APPEND SOURCE
security.rc
${CMAKE_CURRENT_BINARY_DIR}/security_stubs.c
${CMAKE_CURRENT_BINARY_DIR}/security.def)
add_library(security SHARED ${SOURCE})
set_entrypoint(security 0)
add_importlibs(security advapi32 ntdll kernel32)
add_importlibs(security secur32 advapi32 ntdll kernel32)
add_cab_target(security 1)

View file

@ -1,48 +1,27 @@
@ stdcall LsaRegisterLogonProcess(ptr ptr ptr) secur32.LsaRegisterLogonProcess
@ stdcall LsaLogonUser(ptr ptr long long ptr long ptr ptr ptr ptr ptr ptr ptr ptr) secur32.LsaLogonUser
@ stdcall LsaDeregisterLogonProcess(long) secur32.LsaDeregisterLogonProcess
@ stdcall LsaConnectUntrusted(long) secur32.LsaConnectUntrusted
@ stdcall LsaLookupAuthenticationPackage(ptr ptr ptr) SECUR32.LsaLookupAuthenticationPackage
@ stdcall LsaFreeReturnBuffer(ptr) SECUR32.LsaFreeReturnBuffer
@ stdcall LsaCallAuthenticationPackage(long long ptr long ptr ptr ptr) SECUR32.LsaCallAuthenticationPackage
@ stdcall AcceptSecurityContext(ptr ptr ptr long long ptr ptr ptr ptr) SECUR32.AcceptSecurityContext
@ stdcall AcquireCredentialsHandleA(str str long ptr ptr ptr ptr ptr ptr) SECUR32.AcquireCredentialsHandleA
@ stdcall AcquireCredentialsHandleW(wstr wstr long ptr ptr ptr ptr ptr ptr) SECUR32.AcquireCredentialsHandleW
@ stdcall AddCredentialsA(ptr str str long ptr ptr ptr ptr) SECUR32.AddCredentialsA
@ stdcall AddCredentialsW(ptr wstr wstr long ptr ptr ptr ptr) SECUR32.AddCredentialsW
@ stub AddSecurityPackageA # SECUR32.AddSecurityPackageA
@ stub AddSecurityPackageW # SECUR32.AddSecurityPackageW
@ stdcall ApplyControlTokenA(ptr ptr) SECUR32.ApplyControlTokenA
@ stdcall ApplyControlTokenW(ptr ptr) SECUR32.ApplyControlTokenW
@ stdcall AddSecurityPackageA(str ptr) SECUR32.AddSecurityPackageA
@ stdcall AddSecurityPackageW(wstr ptr) SECUR32.AddSecurityPackageW
@ stdcall ApplyControlToken(ptr ptr) SECUR32.ApplyControlToken
@ stdcall CompleteAuthToken(ptr ptr) SECUR32.CompleteAuthToken
@ stub CredMarshalTargetInfo # SECUR32.CredMarshalTargetInfo
@ stub CredUnmarshalTargetInfo # SECUR32.CredUnmarshalTargetInfo
@ stdcall DecryptMessage(ptr ptr long ptr) SECUR32.DecryptMessage
@ stdcall DeleteSecurityContext(ptr) SECUR32.DeleteSecurityContext
@ stub DeleteSecurityPackageA # SECUR32.DeleteSecurityPackageA
@ stub DeleteSecurityPackageW # SECUR32.DeleteSecurityPackageW
@ stdcall DeleteSecurityPackageA(str) SECUR32.DeleteSecurityPackageA
@ stdcall DeleteSecurityPackageW(wstr) SECUR32.DeleteSecurityPackageW
@ stdcall EncryptMessage(ptr long ptr long) SECUR32.EncryptMessage
@ stdcall EnumerateSecurityPackagesA(ptr ptr) SECUR32.EnumerateSecurityPackagesA
@ stdcall EnumerateSecurityPackagesW(ptr ptr) SECUR32.EnumerateSecurityPackagesW
@ stdcall ExportSecurityContext(ptr long ptr ptr) SECUR32.ExportSecurityContext
@ stdcall FreeContextBuffer(ptr) SECUR32.FreeContextBuffer
@ stdcall FreeCredentialsHandle(ptr) SECUR32.FreeCredentialsHandle
@ stdcall GetComputerObjectNameA(long ptr ptr) SECUR32.GetComputerObjectNameA
@ stdcall GetComputerObjectNameW(long ptr ptr) SECUR32.GetComputerObjectNameW
@ stub GetSecurityUserInfo # SECUR32.GetSecurityUserInfo
@ stdcall GetUserNameExA(long ptr ptr) SECUR32.GetUserNameExA
@ stdcall GetUserNameExW(long ptr ptr) SECUR32.GetUserNameExW
@ stdcall ImpersonateSecurityContext(ptr) SECUR32.ImpersonateSecurityContext
@ stdcall ImportSecurityContextA(str ptr ptr ptr) SECUR32.ImportSecurityContextA
@ stdcall ImportSecurityContextW(wstr ptr ptr ptr) SECUR32.ImportSecurityContextW
@ stdcall InitSecurityInterfaceA() SECUR32.InitSecurityInterfaceA
@ stdcall InitSecurityInterfaceW() SECUR32.InitSecurityInterfaceW
@ stdcall InitializeSecurityContextA(ptr ptr str long long long ptr long ptr ptr ptr ptr) SECUR32.InitializeSecurityContextA
@ stdcall InitializeSecurityContextW(ptr ptr wstr long long long ptr long ptr ptr ptr ptr) SECUR32.InitializeSecurityContextW
@ stdcall LsaEnumerateLogonSessions(ptr ptr) SECUR32.LsaEnumerateLogonSessions
@ stdcall LsaGetLogonSessionData(ptr ptr) SECUR32.LsaGetLogonSessionData
@ stdcall LsaRegisterPolicyChangeNotification(long ptr) SECUR32.LsaRegisterPolicyChangeNotification
@ stdcall LsaUnregisterPolicyChangeNotification(long ptr) SECUR32.LsaUnregisterPolicyChangeNotification
@ stdcall InitSecurityInterfaceA() SECUR32.InitSecurityInterfaceA
@ stdcall InitSecurityInterfaceW() SECUR32.InitSecurityInterfaceW
@ stdcall MakeSignature(ptr long ptr long) SECUR32.MakeSignature
@ stdcall QueryContextAttributesA(ptr long ptr) SECUR32.QueryContextAttributesA
@ stdcall QueryContextAttributesW(ptr long ptr) SECUR32.QueryContextAttributesW
@ -52,26 +31,7 @@
@ stdcall QuerySecurityPackageInfoA(str ptr) SECUR32.QuerySecurityPackageInfoA
@ stdcall QuerySecurityPackageInfoW(wstr ptr) SECUR32.QuerySecurityPackageInfoW
@ stdcall RevertSecurityContext(ptr) SECUR32.RevertSecurityContext
@ stub SaslAcceptSecurityContext # SECUR32.SaslAcceptSecurityContext
@ stub SaslEnumerateProfilesA # SECUR32.SaslEnumerateProfilesA
@ stub SaslEnumerateProfilesW # SECUR32.SaslEnumerateProfilesW
@ stub SaslGetProfilePackageA # SECUR32.SaslGetProfilePackageA
@ stub SaslGetProfilePackageW # SECUR32.SaslGetProfilePackageW
@ stub SaslIdentifyPackageA # SECUR32.SaslIdentifyPackageA
@ stub SaslIdentifyPackageW # SECUR32.SaslIdentifyPackageW
@ stub SaslInitializeSecurityContextA # SECUR32.SaslInitializeSecurityContextA
@ stub SaslInitializeSecurityContextW # SECUR32.SaslInitializeSecurityContextW
@ stdcall SealMessage(ptr long ptr long) SECUR32.EncryptMessage
@ stub SecCacheSspiPackages # SECUR32.SecCacheSspiPackages
@ stub SecDeleteUserModeContext # SECUR32.SecDeleteUserModeContext
@ stub SecGetLocaleSpecificEncryptionRules # SECUR32.SecGetLocaleSpecificEncryptionRules
@ stub SecInitUserModeContext # SECUR32.SecInitUserModeContext
@ stub SecpFreeMemory # SECUR32.SecpFreeMemory
@ stub SecpTranslateName # SECUR32.SecpTranslateName
@ stub SecpTranslateNameEx # SECUR32.SecpTranslateNameEx
@ stub SetContextAttributesA # SECUR32.SetContextAttributesA
@ stub SetContextAttributesW #SECUR32.SetContextAttributesW
@ stdcall TranslateNameA(str long long ptr ptr) SECUR32.TranslateNameA
@ stdcall TranslateNameW(wstr long long ptr ptr) SECUR32.TranslateNameW
@ stdcall UnsealMessage(ptr ptr long ptr) SECUR32.DecryptMessage
@ stdcall VerifySignature(ptr ptr long ptr) SECUR32.VerifySignature