summaryrefslogtreecommitdiff
path: root/third_party
diff options
context:
space:
mode:
authorinfo@mode42.com <info@mode42.com>2026-08-07 18:25:13 +0000
committerinfo@mode42.com <info@mode42.com>2026-08-07 18:25:13 +0000
commit04d965d67a7264a1c7c211494aebda1953df7603 (patch)
tree0ebd700a6e219f84a26a656f4bee8778bc75da7b /third_party
Initial push
Diffstat (limited to 'third_party')
-rw-r--r--third_party/ax25/README.md26
-rw-r--r--third_party/ax25/SHA256SUMS3
-rw-r--r--third_party/ax25/ax25-apps-0.0.8-rc5.tar.gzbin0 -> 479590 bytes
-rw-r--r--third_party/ax25/ax25-tools-0.0.10-rc5.tar.gzbin0 -> 372851 bytes
-rw-r--r--third_party/ax25/libax25-0.0.12-rc5.tar.gzbin0 -> 360123 bytes
-rw-r--r--third_party/ax25/patches/ax25-apps-0.0.8-termios.patch70
6 files changed, 99 insertions, 0 deletions
diff --git a/third_party/ax25/README.md b/third_party/ax25/README.md
new file mode 100644
index 0000000..9cc29b2
--- /dev/null
+++ b/third_party/ax25/README.md
@@ -0,0 +1,26 @@
+# AX.25 upstream reference (not shipped)
+
+Tarballs here are **analysis reference only** for MAX25-native AX.25 work. They are **not** built, bundled, or installed in v1 releases.
+
+| Archive | Upstream |
+|---------|----------|
+| `libax25-0.0.12-rc5.tar.gz` | Linux AX.25 library |
+| `ax25-tools-0.0.10-rc5.tar.gz` | `kissattach`, `ax25d`, … |
+| `ax25-apps-0.0.8-rc5.tar.gz` | `listen`, `call`, … |
+
+## MAX25 v1 behaviour
+
+- `MAX25_BUNDLE_AX25` defaults **OFF** in `cmake/MAX25Ax25.cmake` — no vendored AX.25 build in release.
+- `max25d` uses in-tree **`stacks/daemon/ax25_codec.py`** (RFC 1171 FCS, address rules) via `kiss_bridge.py`.
+- BayCom **`listen`** / **`call`** terminal clients require **host** `ax25-apps` (distro package) or a future MAX25-native replacement — not bundled by MAX25.
+
+## Optional developer build
+
+To experiment with bundled upstream tools (not for release):
+
+```bash
+cmake -B build -DMAX25_BUNDLE_AX25=ON
+cmake --build build --target max25_ax25_deps
+```
+
+Extracted trees under `third_party/ax25/*-rc5/` and `_build-test/` are gitignored.
diff --git a/third_party/ax25/SHA256SUMS b/third_party/ax25/SHA256SUMS
new file mode 100644
index 0000000..2f97132
--- /dev/null
+++ b/third_party/ax25/SHA256SUMS
@@ -0,0 +1,3 @@
+bf15791950ce1ebdfc37fe75d80ad9a6767e6bb1536d704da6848991cf4323df libax25-0.0.12-rc5.tar.gz
+92a9cb8b58a86dcb9f55630fc54c9a46c58a20fc93bed524b8c111190b36aa06 ax25-tools-0.0.10-rc5.tar.gz
+33340e232cb9b5b24a9a88ccae0b4e72c6904c526fb37aeab76854821a25cf96 ax25-apps-0.0.8-rc5.tar.gz
diff --git a/third_party/ax25/ax25-apps-0.0.8-rc5.tar.gz b/third_party/ax25/ax25-apps-0.0.8-rc5.tar.gz
new file mode 100644
index 0000000..e089979
--- /dev/null
+++ b/third_party/ax25/ax25-apps-0.0.8-rc5.tar.gz
Binary files differ
diff --git a/third_party/ax25/ax25-tools-0.0.10-rc5.tar.gz b/third_party/ax25/ax25-tools-0.0.10-rc5.tar.gz
new file mode 100644
index 0000000..cb37a62
--- /dev/null
+++ b/third_party/ax25/ax25-tools-0.0.10-rc5.tar.gz
Binary files differ
diff --git a/third_party/ax25/libax25-0.0.12-rc5.tar.gz b/third_party/ax25/libax25-0.0.12-rc5.tar.gz
new file mode 100644
index 0000000..b9a5451
--- /dev/null
+++ b/third_party/ax25/libax25-0.0.12-rc5.tar.gz
Binary files differ
diff --git a/third_party/ax25/patches/ax25-apps-0.0.8-termios.patch b/third_party/ax25/patches/ax25-apps-0.0.8-termios.patch
new file mode 100644
index 0000000..56bdd51
--- /dev/null
+++ b/third_party/ax25/patches/ax25-apps-0.0.8-termios.patch
@@ -0,0 +1,70 @@
+--- a/ax25ipd/io.c
++++ b/ax25ipd/io.c
+@@ -19,7 +19,8 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <syslog.h>
+-#include <termio.h>
++#include <termios.h>
++#include <sys/ioctl.h>
+ #include <time.h>
+ #include <unistd.h>
+ #include <arpa/inet.h>
+@@ -32,7 +33,7 @@
+
+ #include "ax25ipd.h"
+
+-static struct termio nterm;
++static struct termios nterm;
+
+ int ttyfd = -1;
+ static int udpsock = -1;
+@@ -339,7 +340,7 @@ int open_io(void)
+ set_bpq_dev_call_and_up(ttydevice);
+ goto behind_normal_tty;
+ }
+- if (ioctl(ttyfd, TCGETA, &nterm) < 0) {
++ if (tcgetattr(ttyfd, &nterm) < 0) {
+ perror("fetching tty device parameters");
+ exit(1);
+ }
+@@ -476,7 +477,7 @@ int open_io(void)
+ nterm.c_cc[VMIN] = 0;
+ nterm.c_cc[VTIME] = 0;
+
+- if (ioctl(ttyfd, TCSETA, &nterm) < 0) {
++ if (tcsetattr(ttyfd, TCSANOW, &nterm) < 0) {
+ perror("setting tty device parameters");
+ exit(1);
+ }
+--- a/ax25rtd/ax25rtd.c
++++ b/ax25rtd/ax25rtd.c
+@@ -33,6 +33,7 @@
+
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <unistd.h>
+ #include <signal.h>
+ #include <errno.h>
+--- a/ax25ipd/routing.c
++++ b/ax25ipd/routing.c
+@@ -11,6 +11,7 @@
+ #include <arpa/inet.h>
+ #include <netinet/in.h>
+ #include <sys/types.h>
++#include <stdlib.h>
+
+ #include "ax25ipd.h"
+
+--- a/call/call.c
++++ b/call/call.c
+@@ -42,7 +42,7 @@
+ #include <unistd.h>
+ #include <wchar.h>
+ #include <wctype.h>
+-#include <ncursesw/ncurses.h>
++#include <ncurses.h>
+ #include <locale.h>
+ #include <iconv.h>
+ #include <sys/ioctl.h>
git clone -b <branch> https://cgit.mode42.com/<repo>.git
git clone -b <branch> git://cgit.mode42.com/<repo>.git

info@mode42.com