This commit is contained in:
Mateusz Gruszczyński
2026-08-23 22:31:30 +02:00
parent d834284695
commit 08d0cea016
17 changed files with 97 additions and 20 deletions
+26
View File
@@ -1,3 +1,22 @@
# Build report — v0.3.8
## Fix in this release
- Fixed multi-NIC LXC failures where `getifaddrs()` returned `EAFNOSUPPORT` (`os error 97`).
- The systemd sandbox now allows `AF_NETLINK`, which Linux `getifaddrs()` uses to enumerate interface addresses.
- Existing hardening remains enabled (`NoNewPrivileges`, `ProtectSystem`, restricted address families).
- With `GREE_CONTROLLER_GREE_INTERFACE=eth1`, GREE UDP sockets can now resolve and bind the IPv4 address assigned to `eth1`.
## Validation
- systemd unit includes `AF_NETLINK`.
- shell scripts pass `bash -n`.
- JSON language files parse successfully.
- all SQL remains centralized in `src/queries.rs`.
- Rust compilation is not available in the packaging environment; `scripts/update.sh` runs Cargo tests/build on the target LXC before installation.
---
# GREE Controller v0.3.6 - build and validation report
## Scope
@@ -43,3 +62,10 @@ journalctl -u gree-controller -f
```
Expected request logs should show a concrete local address such as `10.87.65.27:<port>` rather than `0.0.0.0:<port>`.
## v0.3.8 legacy V1 bind compatibility
- Canonicalize the on-wire GREE device identifier to lowercase hexadecimal for `tcid` and inner `mac` fields.
- This specifically targets legacy V1 modules such as the `502cc6...` family which can answer discovery yet silently ignore bind packets when the identifier casing differs from the value returned by discovery.
- Database IDs, friendly names and stored MAC display values are unchanged.
- Existing V2/GCM crypto and the `eth1`/AF_NETLINK networking fixes are unchanged.