Autosyncing with Wine HEAD

svn path=/trunk/; revision=26520
This commit is contained in:
The Wine Synchronizer 2007-04-26 13:38:13 +00:00
parent c6e78e42c8
commit 9cea416d3b
6 changed files with 1195 additions and 94 deletions

View file

@ -0,0 +1,207 @@
/*
* WinTrust Cryptography functions
*
* Copyright 2006 James Hawkins
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wintrust.h"
#include "mscat.h"
#include "mssip.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(wintrust);
/***********************************************************************
* CryptCATAdminAcquireContext (WINTRUST.@)
*
* Get a catalog administrator context handle.
*
* PARAMS
* catAdmin [O] Pointer to the context handle.
* sysSystem [I] Pointer to a GUID for the needed subsystem.
* dwFlags [I] Reserved.
*
* RETURNS
* Success: TRUE. catAdmin contains the context handle.
* Failure: FALSE.
*
*/
BOOL WINAPI CryptCATAdminAcquireContext(HCATADMIN* catAdmin,
const GUID *sysSystem, DWORD dwFlags )
{
FIXME("%p %s %x\n", catAdmin, debugstr_guid(sysSystem), dwFlags);
if (catAdmin) *catAdmin = (HCATADMIN)0xdeadbeef;
return TRUE;
}
/***********************************************************************
* CryptCATAdminCalcHashFromFileHandle (WINTRUST.@)
*/
BOOL WINAPI CryptCATAdminCalcHashFromFileHandle(HANDLE hFile, DWORD* pcbHash,
BYTE* pbHash, DWORD dwFlags )
{
FIXME("%p %p %p %x\n", hFile, pcbHash, pbHash, dwFlags);
if (pbHash && pcbHash) memset(pbHash, 0, *pcbHash);
return TRUE;
}
/***********************************************************************
* CryptCATAdminEnumCatalogFromHash (WINTRUST.@)
*/
HCATINFO WINAPI CryptCATAdminEnumCatalogFromHash(HCATADMIN hCatAdmin,
BYTE* pbHash,
DWORD cbHash,
DWORD dwFlags,
HCATINFO* phPrevCatInfo )
{
FIXME("%p %p %d %d %p\n", hCatAdmin, pbHash, cbHash, dwFlags, phPrevCatInfo);
return NULL;
}
/***********************************************************************
* CryptCATAdminReleaseContext (WINTRUST.@)
*
* Release a catalog administrator context handle.
*
* PARAMS
* catAdmin [I] Context handle.
* dwFlags [I] Reserved.
*
* RETURNS
* Success: TRUE.
* Failure: FAIL.
*
*/
BOOL WINAPI CryptCATAdminReleaseContext(HCATADMIN hCatAdmin, DWORD dwFlags )
{
FIXME("%p %x\n", hCatAdmin, dwFlags);
return TRUE;
}
/***********************************************************************
* CryptCATAdminRemoveCatalog (WINTRUST.@)
*
* Remove a catalog file.
*
* PARAMS
* catAdmin [I] Context handle.
* pwszCatalogFile [I] Catalog file.
* dwFlags [I] Reserved.
*
* RETURNS
* Success: TRUE.
* Failure: FALSE.
*
*/
BOOL WINAPI CryptCATAdminRemoveCatalog(HCATADMIN hCatAdmin, LPCWSTR pwszCatalogFile, DWORD dwFlags)
{
FIXME("%p %s %x\n", hCatAdmin, debugstr_w(pwszCatalogFile), dwFlags);
return DeleteFileW(pwszCatalogFile);
}
/***********************************************************************
* CryptCATClose (WINTRUST.@)
*/
BOOL WINAPI CryptCATClose(HANDLE hCatalog)
{
FIXME("(%p) stub\n", hCatalog);
return TRUE;
}
/***********************************************************************
* CryptCATEnumerateMember (WINTRUST.@)
*/
CRYPTCATMEMBER *WINAPI CryptCATEnumerateMember(HANDLE hCatalog, CRYPTCATMEMBER* pPrevMember)
{
FIXME("(%p, %p) stub\n", hCatalog, pPrevMember);
return NULL;
}
/***********************************************************************
* CryptCATOpen (WINTRUST.@)
*/
HANDLE WINAPI CryptCATOpen(LPWSTR pwszFileName, DWORD fdwOpenFlags, HCRYPTPROV hProv,
DWORD dwPublicVersion, DWORD dwEncodingType)
{
FIXME("(%s, %d, %ld, %d, %d) stub\n", debugstr_w(pwszFileName), fdwOpenFlags,
hProv, dwPublicVersion, dwEncodingType);
return 0;
}
/***********************************************************************
* CryptSIPCreateIndirectData (WINTRUST.@)
*/
BOOL WINAPI CryptSIPCreateIndirectData(SIP_SUBJECTINFO* pSubjectInfo, DWORD* pcbIndirectData,
SIP_INDIRECT_DATA* pIndirectData)
{
FIXME("(%p %p %p) stub\n", pSubjectInfo, pcbIndirectData, pIndirectData);
return FALSE;
}
/***********************************************************************
* CryptSIPGetSignedDataMsg (WINTRUST.@)
*/
BOOL WINAPI CryptSIPGetSignedDataMsg(SIP_SUBJECTINFO* pSubjectInfo, DWORD* pdwEncodingType,
DWORD dwIndex, DWORD* pcbSignedDataMsg, BYTE* pbSignedDataMsg)
{
FIXME("(%p %p %d %p %p) stub\n", pSubjectInfo, pdwEncodingType, dwIndex,
pcbSignedDataMsg, pbSignedDataMsg);
return FALSE;
}
/***********************************************************************
* CryptSIPPutSignedDataMsg (WINTRUST.@)
*/
BOOL WINAPI CryptSIPPutSignedDataMsg(SIP_SUBJECTINFO* pSubjectInfo, DWORD pdwEncodingType,
DWORD* pdwIndex, DWORD cbSignedDataMsg, BYTE* pbSignedDataMsg)
{
FIXME("(%p %d %p %d %p) stub\n", pSubjectInfo, pdwEncodingType, pdwIndex,
cbSignedDataMsg, pbSignedDataMsg);
return FALSE;
}
/***********************************************************************
* CryptSIPRemoveSignedDataMsg (WINTRUST.@)
*/
BOOL WINAPI CryptSIPRemoveSignedDataMsg(SIP_SUBJECTINFO* pSubjectInfo,
DWORD dwIndex)
{
FIXME("(%p %d) stub\n", pSubjectInfo, dwIndex);
return FALSE;
}
/***********************************************************************
* CryptSIPVerifyIndirectData (WINTRUST.@)
*/
BOOL WINAPI CryptSIPVerifyIndirectData(SIP_SUBJECTINFO* pSubjectInfo,
SIP_INDIRECT_DATA* pIndirectData)
{
FIXME("(%p %p) stub\n", pSubjectInfo, pIndirectData);
return FALSE;
}

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,5 @@
<module name="wintrust" type="win32dll" baseaddress="${BASEADDRESS_WINTRUST}" installbase="system32" installname="wintrust.dll" allowwarnings="true"> <module name="wintrust" type="win32dll" baseaddress="${BASEADDRESS_WINTRUST}" installbase="system32" installname="wintrust.dll" allowwarnings="true">
<autoregister infsection="OleControlDlls" type="DllRegisterServer" />
<importlibrary definition="wintrust.spec.def" /> <importlibrary definition="wintrust.spec.def" />
<include base="wintrust">.</include> <include base="wintrust">.</include>
<include base="ReactOS">include/reactos/wine</include> <include base="ReactOS">include/reactos/wine</include>
@ -10,8 +11,11 @@
<define name="WINVER">0x501</define> <define name="WINVER">0x501</define>
<library>wine</library> <library>wine</library>
<library>crypt32</library> <library>crypt32</library>
<library>user32</library>
<library>advapi32</library>
<library>kernel32</library> <library>kernel32</library>
<library>ntdll</library> <library>ntdll</library>
<file>crypt.c</file>
<file>register.c</file> <file>register.c</file>
<file>wintrust_main.c</file> <file>wintrust_main.c</file>
<file>version.rc</file> <file>version.rc</file>

View file

@ -7,7 +7,7 @@
@ stub CryptCATAdminPauseServiceForBackup @ stub CryptCATAdminPauseServiceForBackup
@ stub CryptCATAdminReleaseCatalogContext @ stub CryptCATAdminReleaseCatalogContext
@ stdcall CryptCATAdminReleaseContext(long long) @ stdcall CryptCATAdminReleaseContext(long long)
@ stub CryptCATAdminRemoveCatalog @ stdcall CryptCATAdminRemoveCatalog(ptr wstr long)
@ stub CryptCATAdminResolveCatalogPath @ stub CryptCATAdminResolveCatalogPath
@ stub CryptCATCDFClose @ stub CryptCATCDFClose
@ stub CryptCATCDFEnumAttributes @ stub CryptCATCDFEnumAttributes
@ -18,28 +18,28 @@
@ stub CryptCATCDFEnumMembersByCDFTagEx @ stub CryptCATCDFEnumMembersByCDFTagEx
@ stub CryptCATCDFOpen @ stub CryptCATCDFOpen
@ stub CryptCATCatalogInfoFromContext @ stub CryptCATCatalogInfoFromContext
@ stub CryptCATClose @ stdcall CryptCATClose(long)
@ stub CryptCATEnumerateAttr @ stub CryptCATEnumerateAttr
@ stub CryptCATEnumerateCatAttr @ stub CryptCATEnumerateCatAttr
@ stub CryptCATEnumerateMember @ stdcall CryptCATEnumerateMember(long ptr)
@ stub CryptCATGetAttrInfo @ stub CryptCATGetAttrInfo
@ stub CryptCATGetCatAttrInfo @ stub CryptCATGetCatAttrInfo
@ stub CryptCATGetMemberInfo @ stub CryptCATGetMemberInfo
@ stub CryptCATHandleFromStore @ stub CryptCATHandleFromStore
@ stub CryptCATOpen @ stdcall CryptCATOpen(wstr long long long long)
@ stub CryptCATPersistStore @ stub CryptCATPersistStore
@ stub CryptCATPutAttrInfo @ stub CryptCATPutAttrInfo
@ stub CryptCATPutCatAttrInfo @ stub CryptCATPutCatAttrInfo
@ stub CryptCATPutMemberInfo @ stub CryptCATPutMemberInfo
@ stub CryptCATStoreFromHandle @ stub CryptCATStoreFromHandle
@ stub CryptCATVerifyMember @ stub CryptCATVerifyMember
@ stub CryptSIPCreateIndirectData @ stdcall CryptSIPCreateIndirectData(ptr ptr ptr)
@ stub CryptSIPGetInfo @ stub CryptSIPGetInfo
@ stub CryptSIPGetRegWorkingFlags @ stub CryptSIPGetRegWorkingFlags
@ stub CryptSIPGetSignedDataMsg @ stdcall CryptSIPGetSignedDataMsg(ptr ptr long ptr ptr)
@ stub CryptSIPPutSignedDataMsg @ stdcall CryptSIPPutSignedDataMsg(ptr long ptr long ptr)
@ stub CryptSIPRemoveSignedDataMsg @ stdcall CryptSIPRemoveSignedDataMsg(ptr long)
@ stub CryptSIPVerifyIndirectData @ stdcall CryptSIPVerifyIndirectData(ptr ptr)
@ stdcall -private DllRegisterServer() @ stdcall -private DllRegisterServer()
@ stdcall -private DllUnregisterServer() @ stdcall -private DllUnregisterServer()
@ stub DriverCleanupPolicy @ stub DriverCleanupPolicy
@ -111,7 +111,7 @@
@ stdcall WinVerifyTrust(long ptr ptr) @ stdcall WinVerifyTrust(long ptr ptr)
@ stdcall WinVerifyTrustEx(long ptr ptr) @ stdcall WinVerifyTrustEx(long ptr ptr)
@ stdcall WintrustAddActionID(ptr long ptr) @ stdcall WintrustAddActionID(ptr long ptr)
@ stub WintrustAddDefaultForUsage @ stdcall WintrustAddDefaultForUsage(ptr ptr)
@ stub WintrustCertificateTrust @ stub WintrustCertificateTrust
@ stub WintrustGetDefaultForUsage @ stub WintrustGetDefaultForUsage
@ stdcall WintrustGetRegPolicyFlags(ptr) @ stdcall WintrustGetRegPolicyFlags(ptr)

View file

@ -50,75 +50,6 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
return TRUE; return TRUE;
} }
/***********************************************************************
* CryptCATAdminAcquireContext (WINTRUST.@)
*
* Get a catalog administrator context handle.
*
* PARAMS
* catAdmin [O] Pointer to the context handle.
* sysSystem [I] Pointer to a GUID for the needed subsystem.
* dwFlags [I] Reserved.
*
* RETURNS
* Success: TRUE. catAdmin contains the context handle.
* Failure: FAIL.
*
*/
BOOL WINAPI CryptCATAdminAcquireContext(HCATADMIN* catAdmin,
const GUID *sysSystem, DWORD dwFlags )
{
FIXME("%p %s %lx\n", catAdmin, debugstr_guid(sysSystem), dwFlags);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* CryptCATAdminCalcHashFromFileHandle (WINTRUST.@)
*/
BOOL WINAPI CryptCATAdminCalcHashFromFileHandle(HANDLE hFile, DWORD* pcbHash,
BYTE* pbHash, DWORD dwFlags )
{
FIXME("%p %p %p %lx\n", hFile, pcbHash, pbHash, dwFlags);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* CryptCATAdminEnumCatalogFromHash (WINTRUST.@)
*/
HCATINFO WINAPI CryptCATAdminEnumCatalogFromHash(HCATADMIN hCatAdmin,
BYTE* pbHash,
DWORD cbHash,
DWORD dwFlags,
HCATINFO* phPrevCatInfo )
{
FIXME("%p %p %ld %ld %p\n", hCatAdmin, pbHash, cbHash, dwFlags, phPrevCatInfo);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return NULL;
}
/***********************************************************************
* CryptCATAdminReleaseContext (WINTRUST.@)
*
* Release a catalog administrator context handle.
*
* PARAMS
* catAdmin [I] Pointer to the context handle.
* dwFlags [I] Reserved.
*
* RETURNS
* Success: TRUE.
* Failure: FAIL.
*
*/
BOOL WINAPI CryptCATAdminReleaseContext(HCATADMIN hCatAdmin, DWORD dwFlags )
{
FIXME("%p %lx\n", hCatAdmin, dwFlags);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/*********************************************************************** /***********************************************************************
* TrustIsCertificateSelfSigned (WINTRUST.@) * TrustIsCertificateSelfSigned (WINTRUST.@)
*/ */
@ -150,7 +81,7 @@ BOOL WINAPI TrustIsCertificateSelfSigned( PCCERT_CONTEXT cert )
* Trust providers can be found at: * Trust providers can be found at:
* HKLM\SOFTWARE\Microsoft\Cryptography\Providers\Trust\ * HKLM\SOFTWARE\Microsoft\Cryptography\Providers\Trust\
*/ */
LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID, WINTRUST_DATA* ActionData ) LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID, LPVOID ActionData )
{ {
static const GUID gen_verify_v2 = WINTRUST_ACTION_GENERIC_VERIFY_V2; static const GUID gen_verify_v2 = WINTRUST_ACTION_GENERIC_VERIFY_V2;
@ -192,7 +123,7 @@ CRYPT_PROVIDER_SGNR * WINAPI WTHelperGetProvSignerFromChain(
CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, BOOL fCounterSigner, CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, BOOL fCounterSigner,
DWORD idxCounterSigner) DWORD idxCounterSigner)
{ {
FIXME("%p %ld %d %ld\n", pProvData, idxSigner, fCounterSigner, FIXME("%p %d %d %d\n", pProvData, idxSigner, fCounterSigner,
idxCounterSigner); idxCounterSigner);
return NULL; return NULL;
} }
@ -231,6 +162,6 @@ void WINAPI WintrustGetRegPolicyFlags( DWORD* pdwPolicyFlags )
*/ */
BOOL WINAPI WintrustSetRegPolicyFlags( DWORD dwPolicyFlags) BOOL WINAPI WintrustSetRegPolicyFlags( DWORD dwPolicyFlags)
{ {
FIXME("stub: %lx\n", dwPolicyFlags); FIXME("stub: %x\n", dwPolicyFlags);
return TRUE; return TRUE;
} }

View file

@ -2,9 +2,9 @@ Index: wintrust_main.c
=================================================================== ===================================================================
--- wintrust_main.c (revision 23867) --- wintrust_main.c (revision 23867)
+++ wintrust_main.c (working copy) +++ wintrust_main.c (working copy)
@@ -152,7 +152,26 @@ @@ -83,7 +83,26 @@
*/ */
LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID, WINTRUST_DATA* ActionData ) LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID, LPVOID ActionData )
{ {
+ static const GUID gen_verify_v2 = WINTRUST_ACTION_GENERIC_VERIFY_V2; + static const GUID gen_verify_v2 = WINTRUST_ACTION_GENERIC_VERIFY_V2;
+ +