From f70fb89754773c087937193675e313ec41cc45a6 Mon Sep 17 00:00:00 2001 From: bol-van Date: Wed, 18 Feb 2026 12:15:19 +0300 Subject: [PATCH] AI fixes, update builder-linux --- docs/compile/build_howto_unix.txt | 2 +- docs/compile/builder-linux/common.inc | 4 ++-- nfq2/darkmagic.c | 11 +++++------ nfq2/desync.c | 6 +++--- nfq2/protocol.c | 2 +- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/docs/compile/build_howto_unix.txt b/docs/compile/build_howto_unix.txt index c6a873b..488b644 100644 --- a/docs/compile/build_howto_unix.txt +++ b/docs/compile/build_howto_unix.txt @@ -6,7 +6,7 @@ make -C /opt/zapret2 systemd linux static : need any x86_64 classic linux distribution -dependencies: apt install curl xz-utils bzip2 unzip make gcc libcap-dev pkg-config +dependencies: apt install curl xz-utils bzip2 unzip make gcc gcc-multilib libc6-dev libcap-dev pkg-config copy directory "builder-linux" somethere with enough free disk space (up to 2G for all toolchains) run "get_toolchains.sh" select architectures you need or "ALL" diff --git a/docs/compile/builder-linux/common.inc b/docs/compile/builder-linux/common.inc index a9d5ce1..8e97999 100644 --- a/docs/compile/builder-linux/common.inc +++ b/docs/compile/builder-linux/common.inc @@ -46,7 +46,7 @@ target_has_luajit() return 1 } -REQD_H_FILES="/usr/include/x86_64-linux-gnu/sys/queue.h /usr/include/sys/capability.h" +REQD_H_FILES="/usr/include/x86_64-linux-gnu/sys/queue.h /usr/include/sys/capability.h /usr/include/bits/libc-header-start.h" check_h_files() { check_file $REQD_H_FILES @@ -206,7 +206,7 @@ check_prog() while [ -n "$1" ]; do exists $1 || { echo $1 is not available - echo "debian/ubuntu: apt install curl xz-utils bzip2 unzip make gcc libcap-dev pkg-config" + echo "debian/ubuntu: apt install curl xz-utils bzip2 unzip make gcc gcc-multilib libc6-dev libcap-dev pkg-config" exit 10 } shift diff --git a/nfq2/darkmagic.c b/nfq2/darkmagic.c index bf67adc..ff8507f 100644 --- a/nfq2/darkmagic.c +++ b/nfq2/darkmagic.c @@ -2093,6 +2093,7 @@ static uint16_t wlan_get_family_id(struct mnl_socket* nl) static int wlan_info_attr_cb(const struct nlattr *attr, void *data) { struct wlan_interface *wlan = (struct wlan_interface *)data; + size_t len; switch(mnl_attr_get_type(attr)) { case NL80211_ATTR_IFINDEX: @@ -2104,12 +2105,10 @@ static int wlan_info_attr_cb(const struct nlattr *attr, void *data) wlan->ifindex = mnl_attr_get_u32(attr); break; case NL80211_ATTR_SSID: - if (mnl_attr_validate(attr, MNL_TYPE_STRING) < 0) - { - DLOG_PERROR("mnl_attr_validate(ssid)"); - return MNL_CB_ERROR; - } - snprintf(wlan->ssid,sizeof(wlan->ssid),"%s",mnl_attr_get_str(attr)); + len = mnl_attr_get_payload_len(attr); + if (len>=sizeof(wlan->ssid)) len=sizeof(wlan->ssid)-1; + memcpy(wlan->ssid, mnl_attr_get_payload(attr), len); + wlan->ssid[len]=0; break; case NL80211_ATTR_IFNAME: if (mnl_attr_validate(attr, MNL_TYPE_STRING) < 0) diff --git a/nfq2/desync.c b/nfq2/desync.c index ad99589..602e742 100644 --- a/nfq2/desync.c +++ b/nfq2/desync.c @@ -1648,6 +1648,7 @@ static const uint8_t *dns_extract_name(const uint8_t *a, const uint8_t *b, const size_t nl, off; const uint8_t *p; bool bptr = (*a & 0xC0)==0xC0; + uint8_t x,y; if (bptr) { @@ -1666,9 +1667,8 @@ static const uint8_t *dns_extract_name(const uint8_t *a, const uint8_t *b, const // do not support mixed ptr+real if ((*p & 0xC0) || (p+*p+1)>=e || (*p+1)>=(name_size-nl)) return NULL; if (nl) name[nl++] = '.'; - memcpy(name + nl, p + 1, *p); - nl += *p; - p += *p + 1; + for(y=*p++,x=0 ; x