From: Austin English Subject: Re: [PATCH] ncrypt: Add stub dll. Message-Id: Date: Thu, 26 May 2016 00:11:55 -0500 In-Reply-To: <20160526050641.26319-1-alexhenrie24@gmail.com> References: <20160526050641.26319-1-alexhenrie24@gmail.com> On Thu, May 26, 2016 at 12:06 AM, Alex Henrie wrote: > Cc: Austin English > > Fixes https://bugs.winehq.org/show_bug.cgi?id=40687 > > Signed-off-by: Alex Henrie > --- > configure.ac | 1 + > dlls/ncrypt/Makefile.in | 4 ++ > dlls/ncrypt/main.c | 45 ++++++++++++++++ > dlls/ncrypt/ncrypt.spec | 138 ++++++++++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 188 insertions(+) > create mode 100644 dlls/ncrypt/Makefile.in > create mode 100644 dlls/ncrypt/main.c > create mode 100644 dlls/ncrypt/ncrypt.spec > > diff --git a/configure.ac b/configure.ac > index f25c965..e42e35d 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -3129,6 +3129,7 @@ WINE_CONFIG_DLL(msxml3,,[clean]) > WINE_CONFIG_TEST(dlls/msxml3/tests,[clean]) > WINE_CONFIG_DLL(msxml4,,[clean]) > WINE_CONFIG_DLL(msxml6,,[clean]) > +WINE_CONFIG_DLL(ncrypt) > WINE_CONFIG_DLL(nddeapi,,[implib]) > WINE_CONFIG_DLL(ndis.sys) > WINE_CONFIG_DLL(netapi32,,[implib]) > diff --git a/dlls/ncrypt/Makefile.in b/dlls/ncrypt/Makefile.in > new file mode 100644 > index 0000000..d54b921 > --- /dev/null > +++ b/dlls/ncrypt/Makefile.in > @@ -0,0 +1,4 @@ > +MODULE = ncrypt.dll > + > +C_SRCS = \ > + main.c > diff --git a/dlls/ncrypt/main.c b/dlls/ncrypt/main.c > new file mode 100644 > index 0000000..9c09600 > --- /dev/null > +++ b/dlls/ncrypt/main.c > @@ -0,0 +1,45 @@ > +/* > + * New cryptographic library (ncrypt.dll) > + * > + * Copyright 2016 Alex Henrie > + * > + * 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 "config.h" > + > +#include > + > +#include "windef.h" > +#include "winbase.h" > +#include "wine/debug.h" > + > +WINE_DEFAULT_DEBUG_CHANNEL(ncrypt); > + > +BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, void *reserved) > +{ > + TRACE("(%p, %u, %p)\n", instance, reason, reserved); > + > + switch (reason) > + { > + case DLL_WINE_PREATTACH: > + return FALSE; /* prefer native version */ > + case DLL_PROCESS_ATTACH: > + DisableThreadLibraryCalls(instance); > + break; > + } > + > + return TRUE; > +} > diff --git a/dlls/ncrypt/ncrypt.spec b/dlls/ncrypt/ncrypt.spec > new file mode 100644 > index 0000000..1322f1e > --- /dev/null > +++ b/dlls/ncrypt/ncrypt.spec > @@ -0,0 +1,138 @@ > +@ stub BCryptAddContextFunction > +@ stub BCryptAddContextFunctionProvider > +@ stdcall BCryptCloseAlgorithmProvider(ptr long) bcrypt.BCryptCloseAlgorithmProvider > +@ stub BCryptConfigureContext > +@ stub BCryptConfigureContextFunction > +@ stub BCryptCreateContext > +@ stdcall BCryptCreateHash(ptr ptr ptr long ptr long long) bcrypt.BCryptCreateHash > +@ stub BCryptDecrypt > +@ stub BCryptDeleteContext > +@ stub BCryptDeriveKey > +@ stub BCryptDeriveKeyCapi > +@ stub BCryptDeriveKeyPBKDF2 > +@ stdcall BCryptDestroyHash(ptr) bcrypt.BCryptDestroyHash > +@ stub BCryptDestroyKey > +@ stub BCryptDestroySecret > +@ stub BCryptDuplicateHash > +@ stub BCryptDuplicateKey > +@ stub BCryptEncrypt > +@ stdcall BCryptEnumAlgorithms(long ptr ptr long) bcrypt.BCryptEnumAlgorithms > +@ stub BCryptEnumContextFunctionProviders > +@ stub BCryptEnumContextFunctions > +@ stub BCryptEnumContexts > +@ stub BCryptEnumProviders > +@ stub BCryptEnumRegisteredProviders > +@ stub BCryptExportKey > +@ stub BCryptFinalizeKeyPair > +@ stdcall BCryptFinishHash(ptr ptr long long) bcrypt.BCryptFinishHash > +@ stub BCryptFreeBuffer > +@ stdcall BCryptGenRandom(ptr ptr long long) bcrypt.BCryptGenRandom > +@ stub BCryptGenerateKeyPair > +@ stub BCryptGenerateSymmetricKey > +@ stdcall BCryptGetFipsAlgorithmMode(ptr) bcrypt.BCryptGetFipsAlgorithmMode > +@ stdcall BCryptGetProperty(ptr wstr ptr long ptr long) bcrypt.BCryptGetProperty > +@ stdcall BCryptHash(ptr ptr long ptr long ptr long) bcrypt.BCryptHash > +@ stdcall BCryptHashData(ptr ptr long long) bcrypt.BCryptHashData > +@ stub BCryptImportKey > +@ stub BCryptImportKeyPair > +@ stub BCryptKeyDerivation > +@ stdcall BCryptOpenAlgorithmProvider(ptr wstr wstr long) bcrypt.BCryptOpenAlgorithmProvider > +@ stub BCryptQueryContextConfiguration > +@ stub BCryptQueryContextFunctionConfiguration > +@ stub BCryptQueryContextFunctionProperty > +@ stub BCryptQueryProviderRegistration > +@ stub BCryptRegisterConfigChangeNotify > +@ stub BCryptRegisterProvider > +@ stub BCryptRemoveContextFunction > +@ stub BCryptRemoveContextFunctionProvider > +@ stub BCryptResolveProviders > +@ stub BCryptSecretAgreement > +@ stub BCryptSetAuditingInterface > +@ stub BCryptSetContextFunctionProperty > +@ stub BCryptSetProperty > +@ stub BCryptSignHash > +@ stub BCryptUnregisterConfigChangeNotify > +@ stub BCryptUnregisterProvider > +@ stub BCryptVerifySignature > +@ stub GetIsolationServerInterface > +@ stub GetKeyStorageInterface > +@ stub GetSChannelInterface > +@ stub NCryptCloseKeyProtector > +@ stub NCryptCloseProtectionDescriptor > +@ stub NCryptCreateClaim > +@ stub NCryptCreatePersistedKey > +@ stub NCryptCreateProtectionDescriptor > +@ stub NCryptDecrypt > +@ stub NCryptDeleteKey > +@ stub NCryptDeriveKey > +@ stub NCryptDuplicateKeyProtectorHandle > +@ stub NCryptEncrypt > +@ stub NCryptEnumAlgorithms > +@ stub NCryptEnumKeys > +@ stub NCryptEnumStorageProviders > +@ stub NCryptExportKey > +@ stub NCryptFinalizeKey > +@ stub NCryptFreeBuffer > +@ stub NCryptFreeObject > +@ stub NCryptGetProperty > +@ stub NCryptGetProtectionDescriptorInfo > +@ stub NCryptImportKey > +@ stub NCryptIsAlgSupported > +@ stub NCryptIsKeyHandle > +@ stub NCryptKeyDerivation > +@ stub NCryptNotifyChangeKey > +@ stub NCryptOpenKey > +@ stub NCryptOpenKeyProtector > +@ stub NCryptOpenStorageProvider > +@ stub NCryptProtectKey > +@ stub NCryptProtectSecret > +@ stub NCryptQueryProtectionDescriptorName > +@ stub NCryptRegisterProtectionDescriptorName > +@ stub NCryptSecretAgreement > +@ stub NCryptSetAuditingInterface > +@ stub NCryptSetProperty > +@ stub NCryptSignHash > +@ stub NCryptStreamClose > +@ stub NCryptStreamOpenToProtect > +@ stub NCryptStreamOpenToUnprotect > +@ stub NCryptStreamOpenToUnprotectEx > +@ stub NCryptStreamUpdate > +@ stub NCryptTranslateHandle > +@ stub NCryptUnprotectKey > +@ stub NCryptUnprotectSecret > +@ stub NCryptVerifyClaim > +@ stub NCryptVerifySignature > +@ stub SslChangeNotify > +@ stub SslComputeClientAuthHash > +@ stub SslComputeEapKeyBlock > +@ stub SslComputeFinishedHash > +@ stub SslComputeSessionHash > +@ stub SslCreateClientAuthHash > +@ stub SslCreateEphemeralKey > +@ stub SslCreateHandshakeHash > +@ stub SslDecrementProviderReferenceCount > +@ stub SslDecryptPacket > +@ stub SslEncryptPacket > +@ stub SslEnumCipherSuites > +@ stub SslEnumEccCurves > +@ stub SslEnumProtocolProviders > +@ stub SslExportKey > +@ stub SslExportKeyingMaterial > +@ stub SslFreeBuffer > +@ stub SslFreeObject > +@ stub SslGenerateMasterKey > +@ stub SslGeneratePreMasterKey > +@ stub SslGenerateSessionKeys > +@ stub SslGetCipherSuitePRFHashAlgorithm > +@ stub SslGetKeyProperty > +@ stub SslGetProviderProperty > +@ stub SslHashHandshake > +@ stub SslImportKey > +@ stub SslImportMasterKey > +@ stub SslIncrementProviderReferenceCount > +@ stub SslLookupCipherLengths > +@ stub SslLookupCipherSuiteInfo > +@ stub SslOpenPrivateKey > +@ stub SslOpenProvider > +@ stub SslSignHash > +@ stub SslVerifySignature > -- > 2.8.3 > If this forwards to another dll, you should update ./tools/make_specfiles. -- -Austin