PKG_NAME:=tayga
PKG_VERSION:=0.9.6
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://codeload.github.com/apalrd/tayga/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=64da04887e59207be0f62082e63dca98b1e770283fa37102ccb0a3e8d2acedc5
+#PKG_SOURCE_URL:=https://codeload.github.com/apalrd/tayga/tar.gz/$(PKG_VERSION)?
+PKG_MIRROR_HASH:=e2ab807e774e17efb1e4110470992d54ef0f0c8132fc9a1abb00cdcdfb2f2187
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/apalrd/tayga.git
+PKG_SOURCE_VERSION:=97930df66fd7352f208480070edaeb8043846d6b
+PKG_SOURCE_DATE:=2026-01-27
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
+++ /dev/null
---- a/nat64.c
-+++ b/nat64.c
-@@ -127,6 +127,11 @@ static void log_pkt6(int err, struct pkt
- type, saddr, daddr, (p->header_len + p->data_len),p->data_proto,msg);
- }
-
-+static uint16_t checksum_extend_byte(uint8_t b)
-+{
-+ return htons(b << 8);
-+}
-+
- static uint16_t ip_checksum(void *d, uint32_t c)
- {
- uint32_t sum = 0xffff;
-@@ -138,7 +143,7 @@ static uint16_t ip_checksum(void *d, uin
- }
-
- if (c)
-- sum += htons(*((uint8_t *)p) << 8);
-+ sum += checksum_extend_byte(*((uint8_t *)p));
-
- while (sum > 0xffff)
- sum = (sum & 0xffff) + (sum >> 16);
-@@ -294,10 +299,12 @@ static int xlate_payload_4to6(struct pkt
- cksum = ones_add(p->icmp->cksum, cksum);
- if (p->icmp->type == 8) {
- p->icmp->type = 128;
-- p->icmp->cksum = ones_add(cksum, ~(128 - 8));
-+ p->icmp->cksum = ones_add(cksum,
-+ ~checksum_extend_byte(128 - 8));
- } else {
- p->icmp->type = 129;
-- p->icmp->cksum = ones_add(cksum, ~(129 - 0));
-+ p->icmp->cksum = ones_add(cksum,
-+ ~checksum_extend_byte(129 - 0));
- }
- return ERROR_NONE;
- /* UDP */
-@@ -889,10 +896,12 @@ static int xlate_payload_6to4(struct pkt
- cksum = ones_add(p->icmp->cksum, cksum);
- if (p->icmp->type == 128) {
- p->icmp->type = 8;
-- p->icmp->cksum = ones_add(cksum, 128 - 8);
-+ p->icmp->cksum = ones_add(cksum,
-+ checksum_extend_byte(128 - 8));
- } else {
- p->icmp->type = 0;
-- p->icmp->cksum = ones_add(cksum, 129 - 0);
-+ p->icmp->cksum = ones_add(cksum,
-+ checksum_extend_byte(129 - 0));
- }
- return ERROR_NONE;
- /* UDP */