add stubs to make clamwin run. by Christoph_vW

stub GetNativeSystemInfo better to make cpuz get further. by Christoph_vW
stub IsWow64Process better. by me

svn path=/trunk/; revision=18416
This commit is contained in:
Gunnar Dalsnes 2005-10-12 21:39:28 +00:00
parent 4fe5d38bfa
commit 016dd801d7
11 changed files with 377 additions and 42 deletions

View file

@ -32,7 +32,7 @@ AddAce@20
AddAuditAccessAce@24
AddAuditAccessAceEx@28
AddAuditAccessObjectAce@36
;AddUsersToEncryptedFile@8
AddUsersToEncryptedFile@8
AdjustTokenGroups@24
AdjustTokenPrivileges@24
AllocateAndInitializeSid@44
@ -85,7 +85,7 @@ ControlServiceEx@16
;ConvertSecurityDescriptorToAccessNamedW=ConvertSecurityDescriptorToAccessW@28
;ConvertSecurityDescriptorToAccessW@28
;ConvertSecurityDescriptorToStringSecurityDescriptorA@20
;ConvertSecurityDescriptorToStringSecurityDescriptorW@20
ConvertSecurityDescriptorToStringSecurityDescriptorW@20
ConvertSidToStringSidA@8
ConvertSidToStringSidW@8
;ConvertStringSDToSDDomainA@24
@ -95,7 +95,7 @@ ConvertSidToStringSidW@8
ConvertStringSecurityDescriptorToSecurityDescriptorA@16
ConvertStringSecurityDescriptorToSecurityDescriptorW@16
;ConvertStringSidToSidA@8
;ConvertStringSidToSidW@8
ConvertStringSidToSidW@8
ConvertToAutoInheritPrivateObjectSecurity@24
CopySid@12
;CreateCodeAuthzLevel@20
@ -106,7 +106,7 @@ CreateProcessAsUserA@44
;CreateProcessAsUserSecure
CreateProcessAsUserW@44
;CreateProcessWithLogonW
;CreateRestrictedToken@36
CreateRestrictedToken@36
CreateServiceA@52
CreateServiceW@52
;CreateTraceInstanceId@8
@ -154,7 +154,7 @@ CryptEncrypt@28
;CryptEnumProviderTypesA@24
;CryptEnumProviderTypesW@24
;CryptEnumProvidersA@24
;CryptEnumProvidersW@24
CryptEnumProvidersW@24
CryptExportKey@24
CryptGenKey@16
CryptGenRandom@12
@ -179,8 +179,8 @@ CryptSignHashA@24
;CryptSignHashW@24
CryptVerifySignatureA@24
CryptVerifySignatureW@24
;DecryptFileA@8
;DecryptFileW@8
DecryptFileA@8
DecryptFileW@8
DeleteAce@8
DeleteService@4
DeregisterEventSource@4
@ -208,10 +208,10 @@ DuplicateTokenEx@24
;ElfReportEventA@48
;ElfReportEventW@48
;EnableTrace
;EncryptFileA
;EncryptFileW
EncryptFileA@4
EncryptFileW@4
;EncryptedFileKeyInfo
;EncryptionDisable
EncryptionDisable@8
EnumDependentServicesA@24
EnumDependentServicesW@24
EnumServiceGroupW@36
@ -223,13 +223,13 @@ EnumServicesStatusW@32
EqualDomainSid@12
EqualPrefixSid@8
EqualSid@8
;FileEncryptionStatusA
;FileEncryptionStatusW
FileEncryptionStatusA@8
FileEncryptionStatusW@8
FindFirstFreeAce@8
;FlushTraceA
;FlushTraceW
;FreeEncryptedFileKeyInfo
;FreeEncryptionCertificateHashList
FreeEncryptionCertificateHashList@4
FreeInheritedFromArray@12
FreeSid@4
;GetAccessPermissionsForObjectA
@ -237,11 +237,11 @@ FreeSid@4
GetAce@12
GetAclInformation@16
;GetAuditedPermissionsFromAclA@16
;GetAuditedPermissionsFromAclW@16
GetAuditedPermissionsFromAclW@16
GetCurrentHwProfileA@4
GetCurrentHwProfileW@4
;GetEffectiveRightsFromAclA@12
;GetEffectiveRightsFromAclW@12
GetEffectiveRightsFromAclW@12
;GetEventLogInformation
GetExplicitEntriesFromAclA@12=ADVAPI32.GetExplicitEntriesFromAclW
GetExplicitEntriesFromAclW@12
@ -343,7 +343,7 @@ LookupPrivilegeValueA@12
LookupPrivilegeValueW@12
;LookupSecurityDescriptorPartsA@28
;LookupSecurityDescriptorPartsW@28
;LsaAddAccountRights@16
LsaAddAccountRights@16
;LsaAddPrivilegesToAccount@8
;LsaClearAuditLog@4
LsaClose@4
@ -353,9 +353,9 @@ LsaClose@4
;LsaCreateTrustedDomainEx
;LsaDelete@4
;LsaDeleteTrustedDomain@8
;LsaEnumerateAccountRights@16
LsaEnumerateAccountRights@16
;LsaEnumerateAccounts@20
;LsaEnumerateAccountsWithUserRight@16
LsaEnumerateAccountsWithUserRight@16
;LsaEnumeratePrivileges@20
;LsaEnumeratePrivilegesOfAccount@8
;LsaEnumerateTrustedDomains@20
@ -390,10 +390,10 @@ LsaQueryInformationPolicy@12
;LsaQuerySecurityObject@12
;LsaQueryTrustedDomainInfo@16
;LsaQueryTrustedDomainInfoByName
;LsaRemoveAccountRights@20
LsaRemoveAccountRights@20
;LsaRemovePrivilegesFromAccount@12
LsaRetrievePrivateData@12
;LsaSetInformationPolicy@12
LsaSetInformationPolicy@12
;LsaSetForestTrustInformation
;LsaSetInformationPolicy
;LsaSetInformationTrustedDomain@12
@ -448,7 +448,7 @@ PrivilegedServiceAuditAlarmW@20
;ProvAccessRightsToNTAccessMask ; ?
;QueryAllTracesA
;QueryAllTracesW
;QueryRecoveryAgentsOnEncryptedFile
QueryRecoveryAgentsOnEncryptedFile@8
;QueryServiceConfig2A
;QueryServiceConfig2W
QueryServiceConfigA@16
@ -460,7 +460,7 @@ QueryServiceStatus@8
QueryServiceStatusEx@20
;QueryTraceA
;QueryTraceW
;QueryUsersOnEncryptedFile
QueryUsersOnEncryptedFile@8
;QueryWindows31FilesMigration@4
;ReadEncryptedFileRaw
ReadEventLogA@28
@ -539,7 +539,7 @@ RegisterServiceCtrlHandlerW@8
;RegisterTraceGuidsA
;RegisterTraceGuidsW
;RemoveTraceCallback
;RemoveUsersFromEncryptedFile
RemoveUsersFromEncryptedFile@8
ReportEventA@36
ReportEventW@36
RevertToSelf@0

View file

@ -27,6 +27,7 @@
#include <advapi32.h>
#include "crypt.h"
#include <winefs.h>
#define NDEBUG
#include <debug.h>
@ -1935,3 +1936,98 @@ NTSTATUS WINAPI SystemFunction041(PVOID memory, ULONG length, ULONG flags) /* R
DPRINT1("(%p, %lx, %lx): stub [RtlDecryptMemory]\n", memory, length, flags);
return STATUS_SUCCESS;
}
/*
* @unimplemented
*/
DWORD WINAPI AddUsersToEncryptedFile (
LPCWSTR lpcwstr,
PENCRYPTION_CERTIFICATE_LIST pencryption_certificate_list
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
DWORD WINAPI RemoveUsersFromEncryptedFile (
LPCWSTR lpcwstr,
PENCRYPTION_CERTIFICATE_HASH_LIST pencryption_certificate_hash_list
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
BOOL WINAPI EncryptionDisable (
LPCWSTR,
BOOL
);
/*
* @unimplemented
*/
BOOL WINAPI FileEncryptionStatusW (
LPCWSTR lpcwstr,
LPDWORD lpdword
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
BOOL WINAPI FileEncryptionStatusA (
LPCSTR lpcstr,
LPDWORD lpdword
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
DWORD WINAPI QueryUsersOnEncryptedFile (
LPCWSTR lpctstr,
PENCRYPTION_CERTIFICATE_HASH_LIST* pencryption_certificate_hash_list
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
void WINAPI FreeEncryptionCertificateHashList (
PENCRYPTION_CERTIFICATE_HASH_LIST pencryption_certificate_hash_list
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return;
}
/*
* @unimplemented
*/
DWORD WINAPI QueryRecoveryAgentsOnEncryptedFile (
LPCWSTR lpctstr,
PENCRYPTION_CERTIFICATE_HASH_LIST* pencryption_certificate_hash_list
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}

View file

@ -692,5 +692,36 @@ GetExplicitEntriesFromAclW(
return ErrorCode;
}
/*
* @unimplemented
*/
DWORD
STDCALL
GetEffectiveRightsFromAclW(
PACL pacl,
PTRUSTEE_W ptrustee_w,
PACCESS_MASK paccess_mask
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
DWORD
STDCALL
GetAuditedPermissionsFromAclW(
PACL pacl,
PTRUSTEE_W ptrustee_w,
PACCESS_MASK paccess_mask,
PACCESS_MASK paccess_mask2
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/* EOF */

View file

@ -498,4 +498,40 @@ BuildSecurityDescriptorA(IN PTRUSTEE_A pOwner OPTIONAL,
}
/*
* @unimplemented
*/
BOOL WINAPI DecryptFileW(LPCWSTR lpFileName, DWORD dwReserved)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
BOOL WINAPI DecryptFileA(LPCSTR lpFileName, DWORD dwReserved)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
BOOL WINAPI EncryptFileW(LPCWSTR lpFileName)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
BOOL WINAPI EncryptFileA(LPCSTR lpFileName)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/* EOF */

View file

@ -592,17 +592,6 @@ GetDevicePowerState(
return 0;
}
/*
* @unimplemented
*/
VOID
STDCALL
GetNativeSystemInfo(
LPSYSTEM_INFO lpSystemInfo
)
{
STUB;
}
/*
* @unimplemented
@ -720,7 +709,8 @@ IsWow64Process(
)
{
STUB;
return 0;
*Wow64Process = FALSE;
return TRUE;
}
/*

View file

@ -198,4 +198,20 @@ GetSystemRegistryQuota(PDWORD pdwQuotaAllowed,
return FALSE;
}
/*
* @implemented
*/
VOID
STDCALL
GetNativeSystemInfo(
LPSYSTEM_INFO lpSystemInfo
)
{
//FIXME: GetNativeSystemInfo should return always the real Hardware Processorarchitecture
// in case a Program is running in 32bit Mode on AMD64
// GetSystemInfo should return PROCESSOR_ARCHITECTURE_INTEL and
// GetNativeSystemInfo should return PROCESSOR_ARCHITECTURE_AMD64
GetSystemInfo(lpSystemInfo);
}
/* EOF */

View file

@ -0,0 +1,61 @@
#include <windows.h>
#define NTOS_MODE_USER
#include <ndk/ntndk.h>
#include <lsass/lsass.h>
#define NDEBUG
#include <debug.h>
#include <ntsecapi.h>
#include <secext.h>
BOOLEAN
WINAPI
GetComputerObjectNameA (
EXTENDED_NAME_FORMAT extended_name_format,
LPSTR lpstr,
PULONG pulong
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
BOOLEAN
WINAPI
GetComputerObjectNameW (
EXTENDED_NAME_FORMAT extended_name_format,
LPWSTR lpstr,
PULONG pulong
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
BOOLEAN
WINAPI
GetUserNameExA (
EXTENDED_NAME_FORMAT extended_exe_format,
LPSTR lpstr,
PULONG pulong
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
BOOLEAN
WINAPI
GetUserNameExW (
EXTENDED_NAME_FORMAT extended_exe_format,
LPWSTR lpstr,
PULONG pulong
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}

View file

@ -23,16 +23,16 @@ LsaCallAuthenticationPackage@28
;@DeleteSecurityPackageA
;@DeleteSecurityPackageW
;@EncryptMessage
;@EnumerateSecurityPackagesA
;@EnumerateSecurityPackagesW
;@EnumerateSecurityPackagesA@8
EnumerateSecurityPackagesW@8
;@ExportSecurityContext
;@FreeContextBuffer
FreeContextBuffer@4
;@FreeCredentialsHandle
;@GetComputerObjectNameA
;@GetComputerObjectNameW
GetComputerObjectNameA@12
GetComputerObjectNameW@12
;GetSecurityUserInfo
;@GetUserNameExA
;@GetUserNameExW
GetUserNameExA@12
GetUserNameExW@12
;@ImpersonateSecurityContext
;@ImportSecurityContextA
;@ImportSecurityContextW

View file

@ -3,10 +3,13 @@
<include base="secur32">.</include>
<define name="__SECUR32__" />
<define name="__USE_W32API" />
<define name="_WIN32_WINNT">0x501</define>
<library>ntdll</library>
<library>kernel32</library>
<library>advapi32</library>
<file>dllmain.c</file>
<file>lsa.c</file>
<file>secext.c</file>
<file>sspi.c</file>
<file>secur32.rc</file>
</module>

View file

@ -0,0 +1,35 @@
#include <windows.h>
#define NTOS_MODE_USER
#include <ndk/ntndk.h>
#include <lsass/lsass.h>
#define NDEBUG
#include <debug.h>
#include <ntsecapi.h>
#include <security.h>
#include <sspi.h>
SECURITY_STATUS
WINAPI
EnumerateSecurityPackagesW (
PULONG pulong,
PSecPkgInfoW* psecpkginfow
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}
SECURITY_STATUS
WINAPI
FreeContextBuffer (
PVOID pvoid
)
{
DPRINT1("%s() not implemented!\n", __FUNCTION__);
return ERROR_CALL_NOT_IMPLEMENTED;
}

View file

@ -0,0 +1,67 @@
typedef struct _CERTIFICATE_BLOB {
DWORD dwCertEncodingType;
DWORD cbData;
PBYTE pbData;
} EFS_CERTIFICATE_BLOB, *PEFS_CERTIFICATE_BLOB;
typedef struct _EFS_HASH_BLOB {
DWORD cbData;
PBYTE pbData;
} EFS_HASH_BLOB, *PEFS_HASH_BLOB;
typedef struct _ENCRYPTION_CERTIFICATE {
DWORD cbTotalLength;
SID* pUserSid;
PEFS_CERTIFICATE_BLOB pCertBlob;
} ENCRYPTION_CERTIFICATE, *PENCRYPTION_CERTIFICATE;
typedef struct _ENCRYPTION_CERTIFICATE_HASH {
DWORD cbTotalLength;
SID* pUserSid;
PEFS_HASH_BLOB pHash;
LPWSTR lpDisplayInformation;
} ENCRYPTION_CERTIFICATE_HASH, *PENCRYPTION_CERTIFICATE_HASH;
typedef struct _ENCRYPTION_CERTIFICATE_LIST {
DWORD nUsers;
PENCRYPTION_CERTIFICATE* pUsers;
} ENCRYPTION_CERTIFICATE_LIST, *PENCRYPTION_CERTIFICATE_LIST;
typedef struct _ENCRYPTION_CERTIFICATE_HASH_LIST {
DWORD nCert_Hash;
PENCRYPTION_CERTIFICATE_HASH* pUsers;
} ENCRYPTION_CERTIFICATE_HASH_LIST, *PENCRYPTION_CERTIFICATE_HASH_LIST;
DWORD WINAPI AddUsersToEncryptedFile (
LPCWSTR,
PENCRYPTION_CERTIFICATE_LIST
);
DWORD WINAPI RemoveUsersFromEncryptedFile (
LPCWSTR,
PENCRYPTION_CERTIFICATE_HASH_LIST
);
BOOL WINAPI EncryptionDisable (
LPCWSTR,
BOOL
);
BOOL WINAPI FileEncryptionStatus (
LPCTSTR,
LPDWORD
);
DWORD WINAPI QueryUsersOnEncryptedFile (
LPCWSTR,
PENCRYPTION_CERTIFICATE_HASH_LIST*
);
void WINAPI FreeEncryptionCertificateHashList (
PENCRYPTION_CERTIFICATE_HASH_LIST
);
DWORD WINAPI QueryRecoveryAgentsOnEncryptedFile (
LPCWSTR,
PENCRYPTION_CERTIFICATE_HASH_LIST*
);