diff --git a/configure b/configure index 589321692e0..80036e28e2b 100755 --- a/configure +++ b/configure @@ -14888,6 +14888,14 @@ ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS dlls/fusion/tests/Makefile: dlls/fusion/tests/Makefile.in dlls/Maketest.rules" ac_config_files="$ac_config_files dlls/fusion/tests/Makefile" +ALL_MAKEFILES="$ALL_MAKEFILES \\ + dlls/fwpuclnt/Makefile" +test "x$enable_fwpuclnt" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\ + fwpuclnt" +ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS +dlls/fwpuclnt/Makefile: dlls/fwpuclnt/Makefile.in dlls/Makedll.rules" +ac_config_files="$ac_config_files dlls/fwpuclnt/Makefile" + ALL_MAKEFILES="$ALL_MAKEFILES \\ dlls/gdi32/Makefile" test "x$enable_gdi32" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \\ @@ -18930,6 +18938,7 @@ do "dlls/fltlib/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/fltlib/Makefile" ;; "dlls/fusion/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/fusion/Makefile" ;; "dlls/fusion/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/fusion/tests/Makefile" ;; + "dlls/fwpuclnt/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/fwpuclnt/Makefile" ;; "dlls/gdi32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/gdi32/Makefile" ;; "dlls/gdi32/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/gdi32/tests/Makefile" ;; "dlls/gdiplus/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/gdiplus/Makefile" ;; diff --git a/configure.ac b/configure.ac index 9a382f3e48d..f178089f5e6 100644 --- a/configure.ac +++ b/configure.ac @@ -2249,6 +2249,7 @@ WINE_CONFIG_MAKEFILE([dlls/faultrep/Makefile],[dlls/Makedll.rules],[dlls],[ALL_D WINE_CONFIG_MAKEFILE([dlls/fltlib/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/fusion/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/fusion/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests]) +WINE_CONFIG_MAKEFILE([dlls/fwpuclnt/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/gdi32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/gdi32/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests]) WINE_CONFIG_MAKEFILE([dlls/gdiplus/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) diff --git a/dlls/fwpuclnt/Makefile.in b/dlls/fwpuclnt/Makefile.in new file mode 100644 index 00000000000..d682f9cdad6 --- /dev/null +++ b/dlls/fwpuclnt/Makefile.in @@ -0,0 +1,13 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = fwpuclnt.dll +IMPORTS = kernel32 + +C_SRCS = \ + main.c + +@MAKE_DLL_RULES@ + +@DEPENDENCIES@ # everything below this line is overwritten by make depend diff --git a/dlls/fwpuclnt/fwpuclnt.spec b/dlls/fwpuclnt/fwpuclnt.spec new file mode 100644 index 00000000000..8abbf4f49db --- /dev/null +++ b/dlls/fwpuclnt/fwpuclnt.spec @@ -0,0 +1,146 @@ +@ stub FwpmCalloutAdd0 +@ stub FwpmCalloutCreateEnumHandle0 +@ stub FwpmCalloutDeleteById0 +@ stub FwpmCalloutDeleteByKey0 +@ stub FwpmCalloutDestroyEnumHandle0 +@ stub FwpmCalloutEnum0 +@ stub FwpmCalloutGetById0 +@ stub FwpmCalloutGetByKey0 +@ stub FwpmCalloutGetSecurityInfoByKey0 +@ stub FwpmCalloutSetSecurityInfoByKey0 +@ stub FwpmCalloutSubscribeChanges0 +@ stub FwpmCalloutSubscriptionsGet0 +@ stub FwpmCalloutUnsubscribeChanges0 +@ stub FwpmDiagnoseNetFailure0 +@ stdcall FwpmEngineClose0(ptr) +@ stub FwpmEngineGetOption0 +@ stub FwpmEngineGetSecurityInfo0 +@ stdcall FwpmEngineOpen0(wstr long ptr ptr ptr) +@ stub FwpmEngineSetOption0 +@ stub FwpmEngineSetSecurityInfo0 +@ stub FwpmEventProviderCreate0 +@ stub FwpmEventProviderDestroy0 +@ stub FwpmEventProviderFireNetEvent0 +@ stub FwpmEventProviderIsNetEventTypeEnabled0 +@ stdcall FwpmFilterAdd0(ptr ptr ptr ptr) +@ stdcall FwpmFilterCreateEnumHandle0(ptr ptr ptr) +@ stub FwpmFilterDeleteById0 +@ stub FwpmFilterDeleteByKey0 +@ stdcall FwpmFilterDestroyEnumHandle0(ptr ptr) +@ stdcall FwpmFilterEnum0(ptr ptr long ptr ptr) +@ stub FwpmFilterGetById0 +@ stub FwpmFilterGetByKey0 +@ stub FwpmFilterGetSecurityInfoByKey0 +@ stub FwpmFilterSetSecurityInfoByKey0 +@ stub FwpmFilterSubscribeChanges0 +@ stub FwpmFilterSubscriptionsGet0 +@ stub FwpmFilterUnsubscribeChanges0 +@ stdcall FwpmFreeMemory0(ptr) +@ stub FwpmGetAppIdFromFileName0 +@ stub FwpmIPsecTunnelAdd0 +@ stub FwpmIPsecTunnelDeleteByKey0 +@ stub FwpmLayerCreateEnumHandle0 +@ stub FwpmLayerDestroyEnumHandle0 +@ stub FwpmLayerEnum0 +@ stub FwpmLayerGetById0 +@ stub FwpmLayerGetByKey0 +@ stub FwpmLayerGetSecurityInfoByKey0 +@ stub FwpmLayerSetSecurityInfoByKey0 +@ stub FwpmNetEventCreateEnumHandle0 +@ stub FwpmNetEventDestroyEnumHandle0 +@ stub FwpmNetEventEnum0 +@ stub FwpmNetEventsGetSecurityInfo0 +@ stub FwpmNetEventsSetSecurityInfo0 +@ stub FwpmProviderAdd0 +@ stub FwpmProviderContextAdd0 +@ stub FwpmProviderContextCreateEnumHandle0 +@ stub FwpmProviderContextDeleteById0 +@ stub FwpmProviderContextDeleteByKey0 +@ stub FwpmProviderContextDestroyEnumHandle0 +@ stub FwpmProviderContextEnum0 +@ stub FwpmProviderContextGetById0 +@ stub FwpmProviderContextGetByKey0 +@ stub FwpmProviderContextGetSecurityInfoByKey0 +@ stub FwpmProviderContextSetSecurityInfoByKey0 +@ stub FwpmProviderContextSubscribeChanges0 +@ stub FwpmProviderContextSubscriptionsGet0 +@ stub FwpmProviderContextUnsubscribeChanges0 +@ stub FwpmProviderCreateEnumHandle0 +@ stub FwpmProviderDeleteByKey0 +@ stub FwpmProviderDestroyEnumHandle0 +@ stub FwpmProviderEnum0 +@ stub FwpmProviderGetByKey0 +@ stub FwpmProviderGetSecurityInfoByKey0 +@ stub FwpmProviderSetSecurityInfoByKey0 +@ stub FwpmProviderSubscribeChanges0 +@ stub FwpmProviderSubscriptionsGet0 +@ stub FwpmProviderUnsubscribeChanges0 +@ stub FwpmSessionCreateEnumHandle0 +@ stub FwpmSessionDestroyEnumHandle0 +@ stub FwpmSessionEnum0 +@ stdcall FwpmSubLayerAdd0(ptr ptr ptr) +@ stub FwpmSubLayerCreateEnumHandle0 +@ stub FwpmSubLayerDeleteByKey0 +@ stub FwpmSubLayerDestroyEnumHandle0 +@ stub FwpmSubLayerEnum0 +@ stdcall FwpmSubLayerGetByKey0(ptr ptr ptr) +@ stub FwpmSubLayerGetSecurityInfoByKey0 +@ stub FwpmSubLayerSetSecurityInfoByKey0 +@ stub FwpmSubLayerSubscribeChanges0 +@ stub FwpmSubLayerSubscriptionsGet0 +@ stub FwpmSubLayerUnsubscribeChanges0 +@ stub FwpmTraceRestoreDefaults0 +@ stub FwpmTransactionAbort0 +@ stub FwpmTransactionBegin0 +@ stub FwpmTransactionCommit0 +@ stub FwpsAleExplicitCredentialsQuery0 +@ stub FwpsClassifyUser0 +@ stub FwpsFreeMemory0 +@ stub FwpsGetInProcReplicaOffset0 +@ stub FwpsLayerCreateInProcReplica0 +@ stub FwpsLayerReleaseInProcReplica0 +@ stub FwpsOpenToken0 +@ stub IPsecGetStatistics0 +@ stub IPsecKeyModuleAdd0 +@ stub IPsecKeyModuleCompleteAcquire0 +@ stub IPsecKeyModuleDelete0 +@ stub IPsecSaContextAddInbound0 +@ stub IPsecSaContextAddOutbound0 +@ stub IPsecSaContextCreate0 +@ stub IPsecSaContextCreateEnumHandle0 +@ stub IPsecSaContextDeleteById0 +@ stub IPsecSaContextDestroyEnumHandle0 +@ stub IPsecSaContextEnum0 +@ stub IPsecSaContextExpire0 +@ stub IPsecSaContextGetById0 +@ stub IPsecSaContextGetSpi0 +@ stub IPsecSaCreateEnumHandle0 +@ stub IPsecSaDbGetSecurityInfo0 +@ stub IPsecSaDbSetSecurityInfo0 +@ stub IPsecSaDestroyEnumHandle0 +@ stub IPsecSaEnum0 +@ stub IPsecSaInitiateAsync0 +@ stub IkeextGetConfigParameters0 +@ stub IkeextGetStatistics0 +@ stub IkeextSaCreateEnumHandle0 +@ stub IkeextSaDbGetSecurityInfo0 +@ stub IkeextSaDbSetSecurityInfo0 +@ stub IkeextSaDeleteById0 +@ stub IkeextSaDestroyEnumHandle0 +@ stub IkeextSaEnum0 +@ stub IkeextSaGetById0 +@ stub IkeextSetConfigParameters0 +@ stub WSADeleteSocketPeerTargetName +@ stub WSAImpersonateSocketPeer +@ stub WSAQuerySocketSecurity +@ stub WSARevertImpersonation +@ stub WSASetSocketPeerTargetName +@ stub WSASetSocketSecurity +@ stub WfpClearIpsecProposal +@ stub WfpFillIkeProposal +@ stub WfpFillIpsecProposal +@ stub WfpFilterListDestroy +@ stub WfpFilterListIpsecTransportV4Create +@ stub WfpFilterListIpsecTransportV6Create +@ stub WfpGetV4TransportSaSelectors +@ stub wfpdiagW diff --git a/dlls/fwpuclnt/main.c b/dlls/fwpuclnt/main.c new file mode 100644 index 00000000000..8c8c2a0c8c6 --- /dev/null +++ b/dlls/fwpuclnt/main.c @@ -0,0 +1,149 @@ +/* + * Implementation of Windows Filtering Platform (WFP) management functions + * + * Copyright 2009 Paul Chitescu + * + * 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 + +#include "windef.h" +#include "winbase.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(fwpuclnt); + +/***************************************************** + * DllMain + */ +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +{ + TRACE("(%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved); + + switch (fdwReason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls( hinstDLL ); + break; + } + return TRUE; +} + +/*********************************************************************** + * FwpmFreeMemory0 (FWPUCLNT.@) + * + */ + +void WINAPI FwpmFreeMemory0(void** mem) +{ + FIXME("(%p) stub, mem=%p\n", mem, (mem ? *mem : NULL)); +} + +/*********************************************************************** + * FwpmEngineOpen0 (FWPUCLNT.@) + * + */ + +DWORD WINAPI FwpmEngineOpen0(LPCWSTR serverName, UINT32 authService, void* authIdentity, void* session, LPHANDLE engineHandle) +{ + FIXME("(%s, 0x%X, %p, %p, %p) stub\n", debugstr_w(serverName), authService, authIdentity, session, engineHandle); + *engineHandle = NULL; + return RPC_S_CANNOT_SUPPORT; +} + +/*********************************************************************** + * FwpmEngineClose0 (FWPUCLNT.@) + * + */ + +DWORD WINAPI FwpmEngineClose0(HANDLE engineHandle) +{ + FIXME("(%p) stub\n", engineHandle); + return RPC_S_CANNOT_SUPPORT; +} + + +/*********************************************************************** + * FwpmSubLayerAdd0 (FWPUCLNT.@) + * + */ + +DWORD WINAPI FwpmSubLayerAdd0(HANDLE engineHandle, void* subLayer, PSECURITY_DESCRIPTOR security) +{ + FIXME("(%p, %p, %p) stub\n", engineHandle, subLayer, security); + return RPC_S_CANNOT_SUPPORT; +} + +/*********************************************************************** + * FwpmSubLayerGetByKey0 (FWPUCLNT.@) + * + */ + +DWORD WINAPI FwpmSubLayerGetByKey0(HANDLE engineHandle, LPCGUID key, void** subLayer) +{ + FIXME("(%p, %s, %p) stub\n", engineHandle, debugstr_guid(key), subLayer); + *subLayer = NULL; + return RPC_S_CANNOT_SUPPORT; +} + +/*********************************************************************** + * FwpmFilterCreateEnumHandle0 (FWPUCLNT.@) + * + */ + +DWORD WINAPI FwpmFilterCreateEnumHandle0(HANDLE engineHandle, void* enumTemplate, LPHANDLE enumHandle) +{ + FIXME("(%p, %p, %p) stub\n", engineHandle, enumTemplate, enumHandle); + *enumHandle = NULL; + return RPC_S_CANNOT_SUPPORT; +} + +/*********************************************************************** + * FwpmFilterDestroyEnumHandle0 (FWPUCLNT.@) + * + */ + +DWORD WINAPI FwpmFilterDestroyEnumHandle0(HANDLE engineHandle, HANDLE enumHandle) +{ + FIXME("(%p, %p) stub\n", engineHandle, enumHandle); + return RPC_S_CANNOT_SUPPORT; +} + +/*********************************************************************** + * FwpmFilterEnum0 (FWPUCLNT.@) + * + */ + +DWORD WINAPI FwpmFilterEnum0(HANDLE engineHandle, HANDLE enumHandle, UINT32 nEntriesRequested, void*** entries, UINT32* nEntriesReturned) +{ + FIXME("(%p, %p, %u, %p, %p) stub\n", engineHandle, enumHandle, nEntriesRequested, entries, nEntriesReturned); + *entries = NULL; + *nEntriesReturned = 0; + return RPC_S_CANNOT_SUPPORT; +} + +/*********************************************************************** + * FwpmFilterAdd0 (FWPUCLNT.@) + * + */ + +DWORD WINAPI FwpmFilterAdd0(HANDLE engineHandle, void* filter, PSECURITY_DESCRIPTOR security, UINT64* pFilterId) +{ + FIXME("(%p, %p, %p, %p) stub\n", engineHandle, filter, security, pFilterId); + return RPC_S_CANNOT_SUPPORT; +}