From eca362af81cb0e50d66a8c2ba9948190694fecf5 Mon Sep 17 00:00:00 2001 From: Vladimir Dubrovin <3proxy@3proxy.ru> Date: Mon, 10 Aug 2026 11:18:56 +0300 Subject: [PATCH] FIx: UDPASSOC via parent broken after previous commits --- src/acl.c | 2 +- src/common.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/acl.c b/src/acl.c index c9e15df..207a470 100644 --- a/src/acl.c +++ b/src/acl.c @@ -150,7 +150,7 @@ int checkACL(struct clientparam * param){ if(param->redirected && acentry->chains && SAISNULL(&acentry->chains->addr) && !*SAPORT(&acentry->chains->addr)) { continue; } - if(param->remsock != INVALID_SOCKET && (param->operation != UDPASSOC || param->ctrlsocksrv != INVALID_SOCKET)) { + if((param->operation == UDPASSOC)? (param->ctrlsocksrv != INVALID_SOCKET) : (param->remsock != INVALID_SOCKET)) { return 0; } for(; i < conf.parentretries; i++){ diff --git a/src/common.c b/src/common.c index b6af0e0..0c21ff2 100644 --- a/src/common.c +++ b/src/common.c @@ -644,6 +644,7 @@ int doconnect(struct clientparam * param){ if (param->operation == ADMIN || (( param->operation == DNSRESOLVE || param->operation == BIND || param->operation == UDPASSOC) && !param->redirected)) return 0; + if (param->operation == UDPASSOC && param->ctrlsocksrv != INVALID_SOCKET) return 0; if (param->remsock != INVALID_SOCKET){ if(param->operation == UDPASSOC) return 0; size = sizeof(param->sinsr);