Uthernet II: add virtual DNS feature (PR #1097)

Uthernet II: add extended feature to virtualise DNS requests.
. This allows pure TCP/UDP sockets to run *without* MACRAW requests (and so without libpcap).
. Raw sockets will not work.
. Add configuration for Virtual DNS.
libpcap: ensure all functions check if the library is loaded before using it.
Uthernet 1: do NOT overwrite tfe_cannot_use as it should only reflect the availability of npcap on *this* system.
Add Copyright notice, and mention Virtual DNS in html.
This commit is contained in:
Andrea
2022-05-08 17:26:01 +02:00
committed by GitHub
parent ccb4582bf9
commit 6a5ea92a4e
32 changed files with 539 additions and 226 deletions
+7 -1
View File
@@ -33,6 +33,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "../Log.h"
#include "../Registry.h"
#include "../SaveState.h"
#include "../Interface.h"
#include "../Uthernet2.h"
#include "../Tfe/PCapBackend.h"
/*
@@ -336,7 +338,8 @@ void CPropertySheetHelper::ApplyNewConfig(const CConfigNeedingRestart& ConfigNew
SetSlot(slot, ConfigNew.m_Slot[slot]);
// unconditionally save it, as the previous SetSlot might have removed the setting
PCapBackend::tfe_SetRegistryInterface(slot, ConfigNew.m_tfeInterface);
PCapBackend::SetRegistryInterface(slot, ConfigNew.m_tfeInterface);
Uthernet2::SetRegistryVirtualDNS(slot, ConfigNew.m_tfeVirtualDNS);
slot = SLOT4;
if (CONFIG_CHANGED_LOCAL(m_Slot[slot]))
@@ -455,6 +458,9 @@ bool CPropertySheetHelper::HardwareConfigChanged(HWND hWnd)
if (CONFIG_CHANGED(m_tfeInterface))
strMsgMain += ". Uthernet interface has changed\n";
if (CONFIG_CHANGED(m_tfeVirtualDNS))
strMsgMain += ". Uthernet Virtual DNS has changed\n";
if (CONFIG_CHANGED(m_Slot[SLOT4]))
strMsgMain += GetSlot(SLOT4);