From d85fc71a3a12546564842280cf07ee4b02f39578 Mon Sep 17 00:00:00 2001 From: hiura2023 Date: Mon, 5 Jan 2026 23:28:10 +0900 Subject: [PATCH 1/3] Fix: Kernel-mode NAT not available --- src/Cedar/Virtual.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Cedar/Virtual.c b/src/Cedar/Virtual.c index f5d105cf..f82b717c 100644 --- a/src/Cedar/Virtual.c +++ b/src/Cedar/Virtual.c @@ -2699,6 +2699,9 @@ NATIVE_STACK *NnGetNextInterface(NATIVE_NAT *t) Format(ret->Ipc->ClientHostname, sizeof(ret->Ipc->ClientHostname), NN_HOSTNAME_FORMAT, tmp); StrLower(ret->Ipc->ClientHostname); + // To pass the validity check of the source IP address performed by IPCSendIPv4() + UINTToIP(&ret->Ipc->ClientIPAddress, 0); + Debug("IPCDhcpAllocateIP for %s\n", ret->DeviceName); if (IPCDhcpAllocateIP(ret->Ipc, &opt, t->HaltTube2)) { From a4681818c40970a06be5acdfc209af91136a5dde Mon Sep 17 00:00:00 2001 From: hiura2023 Date: Thu, 8 Jan 2026 12:15:12 +0900 Subject: [PATCH 2/3] Revert "Fix: Kernel-mode NAT not available" This reverts commit d85fc71a3a12546564842280cf07ee4b02f39578. --- src/Cedar/Virtual.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/Cedar/Virtual.c b/src/Cedar/Virtual.c index f82b717c..f5d105cf 100644 --- a/src/Cedar/Virtual.c +++ b/src/Cedar/Virtual.c @@ -2699,9 +2699,6 @@ NATIVE_STACK *NnGetNextInterface(NATIVE_NAT *t) Format(ret->Ipc->ClientHostname, sizeof(ret->Ipc->ClientHostname), NN_HOSTNAME_FORMAT, tmp); StrLower(ret->Ipc->ClientHostname); - // To pass the validity check of the source IP address performed by IPCSendIPv4() - UINTToIP(&ret->Ipc->ClientIPAddress, 0); - Debug("IPCDhcpAllocateIP for %s\n", ret->DeviceName); if (IPCDhcpAllocateIP(ret->Ipc, &opt, t->HaltTube2)) { From b92294fc527b121a6708eafe7827b3921b472e71 Mon Sep 17 00:00:00 2001 From: hiura2023 Date: Thu, 8 Jan 2026 13:27:10 +0900 Subject: [PATCH 3/3] Fix: Kernel-mode NAT not available due to DHCP unfunctional --- src/Cedar/IPC.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Cedar/IPC.c b/src/Cedar/IPC.c index eeed8f7d..36e69fd8 100644 --- a/src/Cedar/IPC.c +++ b/src/Cedar/IPC.c @@ -567,6 +567,9 @@ IPC *NewIPCBySock(CEDAR *cedar, SOCK *s, void *mac_address) ipc->Sock = s; AddRef(s->ref); + // Initialize to pass the validity check on the source IP address performed by IPCSendIPv4() + ZeroIP4(&ipc->ClientIPAddress); + Copy(ipc->MacAddress, mac_address, 6); ipc->Interrupt = NewInterruptManager();