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
Modified: trunk/reactos/lib/advapi32/advapi32.def
Modified: trunk/reactos/lib/advapi32/crypt/crypt.c
Modified: trunk/reactos/lib/advapi32/sec/ac.c
Modified: trunk/reactos/lib/advapi32/sec/sec.c
Modified: trunk/reactos/lib/kernel32/misc/stubs.c
Modified: trunk/reactos/lib/kernel32/misc/sysinfo.c
Added: trunk/reactos/lib/secur32/secext.c
Modified: trunk/reactos/lib/secur32/secur32.def
Modified: trunk/reactos/lib/secur32/secur32.xml
Added: trunk/reactos/lib/secur32/sspi.c
Added: trunk/reactos/w32api/include/winefs.h
_____
Modified: trunk/reactos/lib/advapi32/advapi32.def
--- trunk/reactos/lib/advapi32/advapi32.def 2005-10-12 20:20:18 UTC
(rev 18415)
+++ trunk/reactos/lib/advapi32/advapi32.def 2005-10-12 21:39:28 UTC
(rev 18416)
@@ -32,7 +32,7 @@
AddAuditAccessAce@24
AddAuditAccessAceEx@28
AddAuditAccessObjectAce@36
-;AddUsersToEncryptedFile@8
+AddUsersToEncryptedFile@8
AdjustTokenGroups@24
AdjustTokenPrivileges@24
AllocateAndInitializeSid@44
@@ -85,7 +85,7 @@
;ConvertSecurityDescriptorToAccessNamedW=ConvertSecurityDescriptorToAcce
ssW@28
;ConvertSecurityDescriptorToAccessW@28
;ConvertSecurityDescriptorToStringSecurityDescriptorA@20
-;ConvertSecurityDescriptorToStringSecurityDescriptorW@20
+ConvertSecurityDescriptorToStringSecurityDescriptorW@20
ConvertSidToStringSidA@8
ConvertSidToStringSidW@8
;ConvertStringSDToSDDomainA@24
@@ -95,7 +95,7 @@
ConvertStringSecurityDescriptorToSecurityDescriptorA@16
ConvertStringSecurityDescriptorToSecurityDescriptorW@16
;ConvertStringSidToSidA@8
-;ConvertStringSidToSidW@8
+ConvertStringSidToSidW@8
ConvertToAutoInheritPrivateObjectSecurity@24
CopySid@12
;CreateCodeAuthzLevel@20
@@ -106,7 +106,7 @@
;CreateProcessAsUserSecure
CreateProcessAsUserW@44
;CreateProcessWithLogonW
-;CreateRestrictedToken@36
+CreateRestrictedToken@36
CreateServiceA@52
CreateServiceW@52
;CreateTraceInstanceId@8
@@ -154,7 +154,7 @@
;CryptEnumProviderTypesA@24
;CryptEnumProviderTypesW@24
;CryptEnumProvidersA@24
-;CryptEnumProvidersW@24
+CryptEnumProvidersW@24
CryptExportKey@24
CryptGenKey@16
CryptGenRandom@12
@@ -179,8 +179,8 @@
;CryptSignHashW@24
CryptVerifySignatureA@24
CryptVerifySignatureW@24
-;DecryptFileA@8
-;DecryptFileW@8
+DecryptFileA@8
+DecryptFileW@8
DeleteAce@8
DeleteService@4
DeregisterEventSource@4
@@ -208,10 +208,10 @@
;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 @@
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 @@
GetAce@12
GetAclInformation@16
;GetAuditedPermissionsFromAclA@16
-;GetAuditedPermissionsFromAclW@16
+GetAuditedPermissionsFromAclW@16
GetCurrentHwProfileA@4
GetCurrentHwProfileW@4
;GetEffectiveRightsFromAclA@12
-;GetEffectiveRightsFromAclW@12
+GetEffectiveRightsFromAclW@12
;GetEventLogInformation
GetExplicitEntriesFromAclA(a)12=ADVAPI32.GetExplicitEntriesFromAclW
GetExplicitEntriesFromAclW@12
@@ -343,7 +343,7 @@
LookupPrivilegeValueW@12
;LookupSecurityDescriptorPartsA@28
;LookupSecurityDescriptorPartsW@28
-;LsaAddAccountRights@16
+LsaAddAccountRights@16
;LsaAddPrivilegesToAccount@8
;LsaClearAuditLog@4
LsaClose@4
@@ -353,9 +353,9 @@
;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 @@
;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 @@
;ProvAccessRightsToNTAccessMask ; ?
;QueryAllTracesA
;QueryAllTracesW
-;QueryRecoveryAgentsOnEncryptedFile
+QueryRecoveryAgentsOnEncryptedFile@8
;QueryServiceConfig2A
;QueryServiceConfig2W
QueryServiceConfigA@16
@@ -460,7 +460,7 @@
QueryServiceStatusEx@20
;QueryTraceA
;QueryTraceW
-;QueryUsersOnEncryptedFile
+QueryUsersOnEncryptedFile@8
;QueryWindows31FilesMigration@4
;ReadEncryptedFileRaw
ReadEventLogA@28
@@ -539,7 +539,7 @@
;RegisterTraceGuidsA
;RegisterTraceGuidsW
;RemoveTraceCallback
-;RemoveUsersFromEncryptedFile
+RemoveUsersFromEncryptedFile@8
ReportEventA@36
ReportEventW@36
RevertToSelf@0
_____
Modified: trunk/reactos/lib/advapi32/crypt/crypt.c
--- trunk/reactos/lib/advapi32/crypt/crypt.c 2005-10-12 20:20:18 UTC
(rev 18415)
+++ trunk/reactos/lib/advapi32/crypt/crypt.c 2005-10-12 21:39:28 UTC
(rev 18416)
@@ -27,6 +27,7 @@
#include <advapi32.h>
#include "crypt.h"
+#include <winefs.h>
#define NDEBUG
#include <debug.h>
@@ -1935,3 +1936,98 @@
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;
+}
_____
Modified: trunk/reactos/lib/advapi32/sec/ac.c
--- trunk/reactos/lib/advapi32/sec/ac.c 2005-10-12 20:20:18 UTC (rev
18415)
+++ trunk/reactos/lib/advapi32/sec/ac.c 2005-10-12 21:39:28 UTC (rev
18416)
@@ -692,5 +692,36 @@
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 */
_____
Modified: trunk/reactos/lib/advapi32/sec/sec.c
--- trunk/reactos/lib/advapi32/sec/sec.c 2005-10-12 20:20:18 UTC
(rev 18415)
+++ trunk/reactos/lib/advapi32/sec/sec.c 2005-10-12 21:39:28 UTC
(rev 18416)
@@ -498,4 +498,40 @@
}
+/*
+ * @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 */
_____
Modified: trunk/reactos/lib/kernel32/misc/stubs.c
--- trunk/reactos/lib/kernel32/misc/stubs.c 2005-10-12 20:20:18 UTC
(rev 18415)
+++ trunk/reactos/lib/kernel32/misc/stubs.c 2005-10-12 21:39:28 UTC
(rev 18416)
@@ -592,17 +592,6 @@
return 0;
}
-/*
- * @unimplemented
- */
-VOID
-STDCALL
-GetNativeSystemInfo(
- LPSYSTEM_INFO lpSystemInfo
- )
-{
- STUB;
-}
/*
* @unimplemented
@@ -720,7 +709,8 @@
)
{
STUB;
- return 0;
+ *Wow64Process = FALSE;
+ return TRUE;
}
/*
_____
Modified: trunk/reactos/lib/kernel32/misc/sysinfo.c
--- trunk/reactos/lib/kernel32/misc/sysinfo.c 2005-10-12 20:20:18 UTC
(rev 18415)
+++ trunk/reactos/lib/kernel32/misc/sysinfo.c 2005-10-12 21:39:28 UTC
(rev 18416)
@@ -198,4 +198,20 @@
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 */
_____
Added: trunk/reactos/lib/secur32/secext.c
--- trunk/reactos/lib/secur32/secext.c 2005-10-12 20:20:18 UTC (rev
18415)
+++ trunk/reactos/lib/secur32/secext.c 2005-10-12 21:39:28 UTC (rev
18416)
@@ -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;
+}
_____
Modified: trunk/reactos/lib/secur32/secur32.def
--- trunk/reactos/lib/secur32/secur32.def 2005-10-12 20:20:18 UTC
(rev 18415)
+++ trunk/reactos/lib/secur32/secur32.def 2005-10-12 21:39:28 UTC
(rev 18416)
@@ -23,16 +23,16 @@
;@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
_____
Modified: trunk/reactos/lib/secur32/secur32.xml
--- trunk/reactos/lib/secur32/secur32.xml 2005-10-12 20:20:18 UTC
(rev 18415)
+++ trunk/reactos/lib/secur32/secur32.xml 2005-10-12 21:39:28 UTC
(rev 18416)
@@ -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>
_____
Added: trunk/reactos/lib/secur32/sspi.c
--- trunk/reactos/lib/secur32/sspi.c 2005-10-12 20:20:18 UTC (rev
18415)
+++ trunk/reactos/lib/secur32/sspi.c 2005-10-12 21:39:28 UTC (rev
18416)
@@ -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;
+}
_____
Added: trunk/reactos/w32api/include/winefs.h
--- trunk/reactos/w32api/include/winefs.h 2005-10-12 20:20:18 UTC
(rev 18415)
+++ trunk/reactos/w32api/include/winefs.h 2005-10-12 21:39:28 UTC
(rev 18416)
@@ -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*
+ );