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@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* + );