Commit Graph

1659 Commits

Author SHA1 Message Date
Tim Wilkinson ceb8d5ea8f
Fix problems with large numbers of tunnels (#1281) 2024-08-16 22:27:22 -07:00
Tim Wilkinson 3836a767e9
Disable wifi signal tool when not in mesh mode (#1280) 2024-08-16 21:00:09 -07:00
Tim Wilkinson 6b72623b98
Fix pattern for dns subdomain aliases (#1278) 2024-08-16 17:21:20 -07:00
Tim Wilkinson c06642949a
Support 24 hour clock display (#1275) 2024-08-16 15:59:13 -07:00
Tim Wilkinson 4888c149c7
Enable copy-n-paste (#1274) 2024-08-16 14:51:06 -07:00
Tim Wilkinson 5ed567c885
Open local services in a new tab (#1273) 2024-08-16 14:27:26 -07:00
Tim Wilkinson eff9c0bd32
Move arednmesh.org link to menu and restore old logo functionality (#1272) 2024-08-16 13:12:50 -07:00
Tim Wilkinson 51740d8714
Fix inconsistent local/node services title (#1268) 2024-08-16 12:02:10 -07:00
Tim Wilkinson 3521053634
Fix hidden node display (#1267) 2024-08-16 11:57:31 -07:00
Tim Wilkinson 0432bf3165
New UI (#1263)
* New UI

* Fix gzip filename race condition

* Fix scrolling on first use page
2024-08-15 20:28:45 -07:00
Tim Wilkinson 484dc5ba3a
Mikrotik bootloader v7 support (#1258)
Some Mikrotik devices can no longer be downgraded to v6. Add support for
v7 bootloaders.
2024-08-05 17:11:53 -07:00
Tim Wilkinson a7bf530da3
First-use setup script to simplify initial setup of AREDN VMs. (#1257) 2024-08-04 16:36:39 -07:00
Steve 55665a42a4
update wg tun sv NET label (#1255) 2024-08-03 09:21:36 -07:00
Tim Wilkinson 8d4eadee53
Rebuild the NAT version of the firewall (#1243)
* New fireware configuration for NATed LAN.

* Fix ip rule
2024-06-17 15:24:57 -07:00
Tim Wilkinson 5d8a240c8f
Add service-validation-state to support data. (#1241) 2024-06-10 14:46:19 -07:00
Tim Wilkinson 166cf0d742
Send iperf info line by line rather than all at the end (#1240)
* Send iperf info line by line rather than all at the end

* Less newlines
2024-06-09 10:08:14 -07:00
Tim Wilkinson 2f74728693
Add names to xlink routes and bridges. (#1239)
Fix aredn_message_all file-not-found error.
2024-06-07 18:39:44 -07:00
Steve f2d8adb8d3
widen aam field on status page (#1237) 2024-06-03 13:29:39 -07:00
Tim Wilkinson 299645583c
Fetch routes from kernel rather than OLSR (#1235)
* Fetch routes from kernel rather than OLSR
Fix xlink detection

* Fix commit
2024-06-01 17:32:38 -07:00
Tim Wilkinson 0328f0ec7e
Olsrd crash fixes (#1234)
* Simplify the OLSR watchdog

* Dont pull the routing table into LQM for supernodes.
LQM tracks routes on nodes to help keep leaf nodes connected even
when circumstances would probably prevent this. However on supernodes
the routing table is massive and pulling this into LQM will frequently
crash OLSRD. As we dont need this for supernode just dont do it for them.
2024-05-31 22:44:36 -07:00
Tim Wilkinson 192e6deaec
Restart firewall when changing tunnels (now required) (#1233) 2024-05-31 21:05:14 -07:00
Tim Wilkinson d36bb88913
Only monitor active wireguard tunnels (#1232)
* Only monitor wireguard tunnels which are active
2024-05-29 22:49:38 -07:00
Tim Wilkinson fde3b08367
Find the closest supernode, not the first (#1229)
* Find the closest supernode, not the first

* Support DNS queries coming from the supernode network
2024-05-29 19:59:29 -07:00
Tim Wilkinson da71e6e26b
Ignore badly formatted services (#1228) 2024-05-29 16:44:11 -07:00
Tim Wilkinson 4717ab051c
Drop default quality (#1227)
We calculate quality differently (ie. correctly) so drop the default
minimum to avoid too many nasty suprises.
2024-05-29 16:44:00 -07:00
Tim Wilkinson c0d38a4e89
Update registered trademarks (#1225) 2024-05-29 00:45:25 -07:00
Tim Wilkinson 32e35ce88c
Fix forwarding between xlink and dtd (#1226) 2024-05-29 00:45:13 -07:00
Tim Wilkinson d6a652df31
Wireless monitoring improvements (#1222)
* Wireless monitor runs an emergeny wifi scan at 3am to recover forgotten nodes.
LQM no longer tries to ping stations which have disconnected.
2024-05-26 23:31:54 -07:00
Tim Wilkinson 8507fbc250
Tiny builds dont have wg installed (#1221) 2024-05-26 16:42:48 -07:00
Tim Wilkinson 2f1684a218
Rework the firewall for tunnels and xlinks to allow port forwarding. (#1220) 2024-05-26 16:41:18 -07:00
Tim Wilkinson 78fb72b917
Use increase in SNR to unblock quality block (#1218) 2024-05-25 16:51:37 -07:00
Tim Wilkinson 108d0da939
Fix fat-fingered display of lqm status on mesh page (#1215) 2024-05-23 11:31:31 -07:00
Tim Wilkinson ed422f3550
Better leaf node detection (#1214)
* Better leaf node detection

* Only count leafs what would be blocked
2024-05-22 19:46:41 -07:00
Tim Wilkinson fbaa54bb23
Avoid cutting off leaf nodes (#1211)
* Avoid cutting off leaf nodes

* Use OLSR broadcast with pending nodes
2024-05-21 21:02:58 -07:00
Tim Wilkinson 2509ebdf3b
Fix check-services which failed when services reduced to 0 (#1212) 2024-05-21 21:02:47 -07:00
Tim Wilkinson d92876dccf
DHCP was not always starting on the lan interface like we need it to. (#1213) 2024-05-21 21:02:28 -07:00
Tim Wilkinson f7f31c8237
More antennas (#1209) 2024-05-20 22:10:02 -07:00
Tim Wilkinson 5069f0e480
Improve LQM interface detection (#1207) 2024-05-15 18:39:55 -07:00
Tim Wilkinson 250db5605f
Fix busy wait when tick == 0 (#1206) 2024-05-15 18:09:07 -07:00
Tim Wilkinson b495f4e62b
Mikrotik dish (#1205) 2024-05-14 23:13:51 -07:00
Tim Wilkinson 146aebd881
Remove nodes if they've had a quality of 0 for an hour. (#1204)
They've probably gone, but the ARP cache tends to keep them around so we
can't rely on that timing them out.
2024-05-14 23:09:06 -07:00
Tim Wilkinson 2235d3229c
Fix dns alias validation pattern to allow wildcard DNS again. (#1203) 2024-05-14 22:39:47 -07:00
Tim Wilkinson 7536b66aca
Fix quality error messages (#1202)
* Handle null snr and qualities

* Fix quality message
2024-05-14 16:02:00 -07:00
Tim Wilkinson 3d3dbc5040
Use nixio.getnameinfo rather than our own nslookup hack (#1201) 2024-05-14 11:20:08 -07:00
Paul K3PGM 650e26667c
Improvements and fixes for Advanced DHCP Options (#1197)
- The "Always" checkbox now works for options with an explicit tag, and
is disabled for untagged options; the latter cannot be supported because
of a limitation in the OpwnWRT configuration language.
- Tagging by host name has been removed; it didn't work before and isn't
particularly useful in the AREDN context.
- Tagging by Agent Circuit ID, Agent Remote ID, and Subscriber-ID are
now supported so that a DHCP Relay Agent can be used to extend the LAN
across multiple subnets.
- Small improvements were made to error handling and hints.
2024-05-14 09:46:25 -07:00
Tim Wilkinson f79a90e816
Fix tunnel statistics (#1200) 2024-05-14 09:13:26 -07:00
Tim Wilkinson 7c4892d23f
More LQM quality tracking improvements. (#1196) 2024-05-12 22:10:53 -07:00
Tim Wilkinson 2454accbb5
Fix various status information errors (#1195)
* Fix various status information errors

* Fix whitespace
2024-05-12 14:53:37 -07:00
Tim Wilkinson 8bb01e0501
LQM improvements. (#1193)
Matched with changes in aredn_packages
2024-05-11 23:03:29 -07:00
Tim Wilkinson 4b13d5969f
Move manager logs into syslog (#1190) 2024-05-05 23:11:57 -07:00
Steve 76e0333968
fix extra curly brace (#1186) 2024-04-29 18:34:42 -07:00
Paul K3PGM cf3ef93b53
Add some missing antenna definitions for older Ubiquiti radios. (#1185)
* Add some missing antenna definitions for older Ubiquiti radios.

* Fix copy/paste error (sigh...)
2024-04-29 08:56:18 -07:00
Tim Wilkinson d4cfe9e9f2
Fix restarting firewall when wan telnet/ssh/web access changes (#1183) 2024-04-28 11:01:47 -07:00
Tim Wilkinson d261ebe334
Add gl-ar300m nand definition to radios.json (#1169) 2024-04-20 22:43:35 -07:00
Tim Wilkinson b452ba20e7
Make sure dmz_dhcp_end has a value, even in NAT mode (#1163) 2024-04-16 16:28:46 -07:00
Tim Wilkinson 86271040a0
Scan cache (#1160)
* Cache the last wifi scan and update it when a re-scan is requested.
This change was suggested as a way of handling Ubiquiti AC devices
which disconnect while scanning and making retrieving the results
problematic if that was your connection. Now we scan and store the
results so they can be retrieved later. In fact we no longer scan when
navigating to this page but require an explicity scan button push.
This make the page generally more responsive when initially navigated
to.
2024-04-10 18:30:29 -04:00
Paul K3PGM 9dafffa152
Show progress bar during reboot/reflash and show estimated time remaining in MM:SS. (#1156)
* Reboot/reflash progress bar, time remaining in MM:SS

When rebooting or reflashing the node, display a progress bar as
well as the estimated time remaining. Also show the time remaining
in MM:SS format.

* Fix indentation error.

* Minor changes to improve browser compatibility.
2024-04-07 16:04:00 -04:00
Tim Wilkinson 0dba2661c3
Improve the reboot/flash timers (#1155)
During the initial setup the IP address of the node can move
around a fair bit. Make sure the reboot timeout code handles this.
2024-04-04 12:10:58 -07:00
Tim Wilkinson e51fedc394
Use 192.168.1.1 when flashing while on ramdisk (#1154) 2024-04-03 15:29:15 -07:00
Paul K3PGM 3fee4eadae
Add antenna and TX-power definitions for GL-B1300. (#1151) 2024-04-03 15:01:43 -07:00
Tim Wilkinson d8b85d5b4a
Fix library requires (#1147)
* Another attempt to stop the mesh page from being truncated sometimes

* Fix originator

* Fix the require(...) libraries
2024-04-01 22:15:45 -07:00
Tim Wilkinson 9b89db7a7f
Fix missing hosts on mesh page (#1146)
* Another attempt to stop the mesh page from being truncated sometimes

* Fix originator
2024-04-01 22:14:49 -07:00
Tim Wilkinson d8c29d60e9
Use per-page scan rather than per node (#1145)
Similar fix that was recently added to the mesh page
2024-03-31 22:14:49 -07:00
Tim Wilkinson c77a63eca3
Ubiquiti AC wifi scan fix (#1144)
If we disconnect then reconnect the radio then the wifi scan on the Ubiquiti AC
will work for a short while.
2024-03-31 22:13:42 -07:00
Tim Wilkinson dae38b1611
Eliminate displaying multiple copies of previous neighbors (#1143) 2024-03-31 14:18:38 -07:00
Tim Wilkinson 145a2a38e8
Add 'None' antenna so we can unset the defined antenna (#1142) 2024-03-29 22:32:49 -07:00
Tim Wilkinson 466b8bd3c2
Chrome layout fixes (#1141)
* Layout tweaks for Chrome

* Better fixed antenna ui
2024-03-29 18:32:36 -07:00
Tim Wilkinson 5c90a1c09f
Tweak setup page layout (#1139)
* Tweak setup page layout

* Move map
2024-03-29 15:42:00 -07:00
Tim Wilkinson d111d82549
Provide /metrics using alias (no more /cgi-bin/metrics) (#1140) 2024-03-29 15:41:48 -07:00
Tim Wilkinson 7fbc89e797
Fix black on black text on tunnel page (#1138) 2024-03-29 13:02:52 -07:00
Tim Wilkinson c7f79de97a
Add aux antenna support (#1136) 2024-03-29 12:25:04 -07:00
Tim Wilkinson 5c279f16e0
Add a countdown timer for reboots and updates (#1137) 2024-03-29 12:24:55 -07:00
Tim Wilkinson bca1ed4be4
Rewrite iperf to make it more reliable (#1135)
* Improve iperf

* Try to improve iperf reliability

* Try to improve iperf reliability

* Rewrite
2024-03-28 23:01:59 -07:00
Tim Wilkinson a97c1c277a
Use arpping to monitor poor arp-able links (#1134) 2024-03-28 23:01:48 -07:00
Tim Wilkinson 068e35dfc8
Fix missing cursor (#1132) 2024-03-28 23:01:37 -07:00
Tim Wilkinson 4337fc6393
Fix display of previous neighbors (#1133) 2024-03-28 15:43:09 -07:00
Tim Wilkinson f75e4d9675
Increase wifi retries by default. (#1129)
Experimental wifi research reports that increased retries (rather than decreased as I originally
thought) improves tcp throughput on multi-hop wifi networks.
2024-03-27 17:01:14 -07:00
Tim Wilkinson 8e751dcb62
Half the OLSR maintenance traffic (#1130) 2024-03-27 17:01:00 -07:00
Tim Wilkinson 3d1faf8939
Fix DTD and WLAN ips derived from matching MACs. (#1128)
On some devices the hardware MAC for the WLAN and ETH are the
same so the 10.DTD and 10.WLAN addresses are identical. If we
detect this, bump the DTD address.
Commonly seen on TP-Link devices (but there are others)
2024-03-26 22:56:21 -07:00
Tim Wilkinson a14b897e0f
Disable reducing retry counts (#1126) 2024-03-26 16:23:50 -07:00
Tim Wilkinson ff02f129f3
Improve xlink reporting in sysinfo (#1127) 2024-03-26 16:23:32 -07:00
Tim Wilkinson 2fc76191a0
Set pkt retry to 2 (was 1) for hub nodes. (#1125)
Too many retries appears to cause network congestion issues slowing down
links with multiple hops, but reducing this to 1 then caused single links
to have poor performance. Try a rety of 2 as a better compromise.
2024-03-25 21:08:30 -07:00
Tim Wilkinson 8b6339a099
Use adaptive reload mechanism when node upgrades or reboots (#1121) 2024-03-25 19:52:27 -07:00
Tim Wilkinson 08226ca8d0
Make auto mesh reloading per browser rather then per node (#1122) 2024-03-25 19:52:16 -07:00
Tim Wilkinson dea10f2f8e
Lime on Black style (#1123) 2024-03-25 19:52:06 -07:00
Tim Wilkinson d517e4f6c8
Fix Bad Gateway when rebooting from tunnel pages (#1120) 2024-03-24 23:34:19 -07:00
Tim Wilkinson 6be1091ffb
Updates to /etc/local/services no longer require reboot (#1119) 2024-03-24 23:10:42 -07:00
Tim Wilkinson b1c85fa281
Improve speed of search (#1117)
* Stop searching empty fields

* Cache searchable fields to speed up future searches
2024-03-22 17:49:59 -07:00
Tim Wilkinson 43a4940032
Improve mesh page searching (#1115)
* Improve layout so we can improve search

* Fixes

* Use thead for table header
2024-03-15 08:43:43 -07:00
Tim Wilkinson 811743a7ac
Add <1 mile if distance to node is known but small. (#1114)
Handle kilometers
2024-03-13 18:18:24 -07:00
Tim Wilkinson afbd22a5e6
Hide wireguard keys in base config (#1112) 2024-03-06 10:24:03 -08:00
Tim Wilkinson 2cda75e7ba
Include tunnel information in supporttool dump (with hidden passwords) (#1111) 2024-03-05 17:23:13 -08:00
Tim Wilkinson 5c633f2b8e
Support CIDR (e.g. /24, /16, etc) on a xlink (#1110)
* Revert hAP AC Lite xlink support

* Support CIDR (e.g. /24, /16, etc) on a xlink
Xlink had originally been envisaged as a point-to-point connection
leaving the "how" of that to other software. However, there's a use case
where the non-AREDN radios in the xlink need to be accessed, and allocating
addresses within the xlink's address range is a good way to do that.
By supporting a a subnet on a xlink we can enable this.
2024-03-04 21:08:27 -08:00
Tim Wilkinson e8abbb5489
Revert hAP AC Lite xlink support (#1106) 2024-03-01 15:23:15 -08:00
Tim Wilkinson 6f30ab1cc5
Fix bug in making new xlinks (#1105) 2024-02-29 16:32:45 -08:00
Tim Wilkinson 6d81b4c846
Enable xlinks on hap ac lites (#1104) 2024-02-28 23:57:13 -08:00
Tim Wilkinson 4ff44c2b21
Run the wireguard watchdog script every 5 minutes (#1102)
This fixes up wireguard connections to dynamically changing IP addresses
2024-02-23 23:02:45 -08:00
Tim Wilkinson 6659c59239
Ignore tracker entries without IPs (#1101) 2024-02-23 21:11:51 -08:00
Tim Wilkinson d1777c016d
Correctly escape characters in the mailto: urls (#1099) 2024-02-19 17:33:41 -08:00
Tim Wilkinson e76c21de2d
Improve hidden node reporting & fix column alignments (#1098)
* Fix ETX alignment

* Move hidden into Remote Nodes section.
Simplify node status construction
2024-02-11 21:04:02 -08:00
Tim Wilkinson 270b205a8b
Improve link labels (add RF and Wireguard) (#1097) 2024-02-11 01:12:58 -08:00
Tim Wilkinson 425253a428
Fix lqm ip lookup (#1096) 2024-02-09 20:55:18 -08:00
Tim Wilkinson 139c5f66e5
Merge the LQM info onto the Mesh page (#1095) 2024-02-09 20:45:52 -08:00
Tim Wilkinson a810b3b63b
Limit buffer size of iperf3 test to 1K (#1094)
This is a workaround for a bug where iperf3 will just block
randomly and no longer send data. It may effect the absolute
performance measurements compared to the default buffer value
although I didnt see that in my testing
2024-02-09 14:13:16 -08:00
Tim Wilkinson a09ac6ed1a
New supernodes no longer have access to legacy tunnels (#1093) 2024-02-06 19:24:33 -08:00
Tim Wilkinson 62a6959378
Collapse QEMU and VMWARE hardware into two basic types (#1091) 2024-02-05 11:51:43 -08:00
Tim Wilkinson 9e94c018c7
Regenerate key when client name changes (#1088) 2024-02-03 22:32:40 -08:00
Tim Wilkinson 14929ff576
Revert attempt to hide irrelevant neigbhors as it hid too much. (#1087) 2024-02-03 12:17:02 -08:00
Tim Wilkinson 54509345ff
Fix clearing the mesh search field (#1086) 2024-02-01 18:01:17 -08:00
Tim Wilkinson f3de5785a0
Validate network override configs (#1085)
* Validate network override configs

* Extra vlans
2024-01-30 13:25:37 -08:00
Tim Wilkinson 82b5694dff
Sort node list in mesh display (#1084) 2024-01-30 13:25:26 -08:00
Tim Wilkinson 40dbe7e547
Support for mANTbox 2 12s (#1083)
* Add routerboard-911g-2hpnd-12s

* Fix procd for devices without /dev/console

* Disable console reset in kernel
2024-01-24 19:28:36 -08:00
Tim Wilkinson f3d49eab64
Hide long time idle neighbors (#1082)
* Dont show neighbor we can't resolve or route to

* Hide neighbor which have been non-routable for over an hour
2024-01-23 00:13:01 -08:00
Tim Wilkinson 1c72b145f6
Support for GL.iNet E750 (#1079)
* Support for GL.iNet E750
2024-01-22 20:22:27 -08:00
Paul K3PGM 35316299c1
Deduplicate and sort tag names in Advanced DHCP Options selector. (#1078)
* Deduplicate and sort tag names in Advanced DHCP Options selector.

* Only build the deduplicated list of tag names once.

* Build DHCP option tag table more efficiently.
2024-01-22 18:27:12 -08:00
Tim Wilkinson 29cc59ac9c
Support wireguard linktype (#1077) 2024-01-21 20:20:21 -08:00
Tim Wilkinson 493dd98534
Wrap wireguard ip addresses (#1076) 2024-01-21 17:25:29 -08:00
Paul K3PGM 4e35b2f0c6
First draft of advanced DHCP option specification on Ports tab. (#1073)
* First draft of advanced DHCP option specification on Ports tab.

Allows the node administrator to specify additional DHCP options that
will be supplied to LAN clients in specific circumstances. This change
adds two tables to the Ports configuration tab.

The "Tags for Advanced DHCP Options" table allows the administrator to
specify DHCP tags that will be assigned to clients that identify
themselves with specific values for properties such as Vendor Class or
MAC address.

The "Advanced DHCP Options" table allows the administrator to specify
arbitrary DHCP options to send to any client, or only to clients with a
specific tag. Option numbers can be entered directly or chosen from a
list of well-known options. Option values are manually entered by the
administrator.

In-browser validation is implemented for all input fields with easily
recognizable content such as host names, MAC addresses, and port and
option numbers. Placeholders are also supplied for input fields, such as
MAC addresses with wildcard matching, that might otherwise be difficult
to describe.

Issues with the current version:
- Sending DHCP options not requested by the client is implemented using
the dhcp_option_force UCI configuration option, but does not currently
work.
- Tagging by client host name is supported by dnsmasq, but not yet by
UCI.
- DHCP option values must be entered manually by the administrator, but
are not currently validated.

* Better validation, placeholders, and hints for existing input fields.

* Remove junk accidentally inserted in comment.

* Preserve Advanced DHCP options across updates.
2024-01-21 17:25:16 -08:00
Tim Wilkinson d75a463a50
Support Litebeam 5AC LR (#1071) 2024-01-18 15:07:02 -08:00
CoolAEW 6be27bf138
Added external antenna and (XM) destinction to boardID 0xe2b5 (#1069) 2024-01-17 14:03:16 -08:00
Tim Wilkinson e83af37894
Label wireguard tunnels in LQM (#1068) 2024-01-17 14:02:20 -08:00
Tim Wilkinson fb0f9a4b56
Update cursors on each lqm iteration. (#1067)
If we dont, and other apps change values in the config files, old
cursors dont see the new values.
2024-01-17 11:43:52 -08:00
Tim Wilkinson e08e0feae5
Support dynamic number of ethernet ports on VMs (#1066) 2024-01-16 16:13:34 -08:00
CoolAEW 1ca9b4d201
Added antennas to Ubiquiti NanoBridge M5 (#1065)
* Added NanoBridge M5 antennas

* Changed NanoBridge M5 to use external antenna
2024-01-16 10:09:10 -08:00
Tim Wilkinson 1bafc35ded
Dont run iwinfo if we have no wifi (#1064) 2024-01-13 23:35:29 -08:00
Tim Wilkinson ca0006164c
Dont scan wifi bitrates when not using mesh wifi (#1062)
* Dont get wifi bitrates when not using mesh wifi

* Remove unused 'prefix'
2024-01-12 23:25:00 -08:00
Tim Wilkinson b64fd8f8e0
Improve mesh display (#1061)
* Improve tunnel and xlink display information

* Also weight nlq.
This is assumed both ends of a tunnel are equally weighted as we
have no way to get this information directly.
2024-01-12 22:26:45 -08:00
Tim Wilkinson ce5521f373
Fixes for remote logging (#1060) 2024-01-11 20:51:25 -08:00
Tim Wilkinson bb83a8d1c9
More wireguard fixes (#1059)
* More wireguard fixes

* Fix monitoring bug when finding tunnel address
2024-01-10 00:02:54 -08:00
Tim Wilkinson f1567d662f
Wireguard2 - bug fixes (#1057)
* Fix _add for wireguard

* Fix LQM for wireguard
2024-01-07 21:44:21 -08:00
Tim Wilkinson e486a61cc8
Wireguard support - take 2. (#1056) 2024-01-07 16:17:52 -08:00
Tim Wilkinson 757ec56ada
Add some LQ and NLQ hint text. (#1054)
I can't be the only person who has to keep looking up what this means?
2024-01-05 12:09:55 -08:00
Tim Wilkinson 931bc07c0a
Retry failed firmware version downloads (#1053) 2024-01-03 22:32:41 -08:00
Tim Wilkinson 185d6e0abf
Fix host checking (#1052)
* Fix host checking

* nameserver -> nameservice
2024-01-03 00:45:49 -08:00
Tim Wilkinson 8b1b973490
Fix tunnel net display truncation on some browsers (#1051) 2024-01-02 15:06:20 -08:00
Tim Wilkinson 6d8528fa56
Make sure the node nodes we use for tunnels are always uppercase (#1049) 2024-01-01 17:36:18 -08:00
Tim Wilkinson 1d6815215a
Fix way we read old services (#1047) 2024-01-01 14:48:06 -08:00
Tim Wilkinson b6dfba160e
Remove need for /etc/config/services file (#1045) 2023-12-27 14:39:17 -08:00
Tim Wilkinson 509d475133
Fix firewall rules. (#1041)
1. Allow wireguard tunnels in iface mesh setup (treat like vtuns)
2. Fix incorrectly setting up dtd/wifi to wan rules
2023-12-21 11:06:15 -08:00
Tim Wilkinson 56043e0e0b
Reboot needs ip information from active /etc/config not /etc/config.mesh (#1040) 2023-12-21 11:06:03 -08:00
Paul K3PGM 80a4bbb7ae
Set advancednetwork script to be executable again. (#1042) 2023-12-21 11:04:53 -08:00
Paul K3PGM 0b7db7f15c
Add missing table entries in the Acvanced Network tab (#1039)
- Add missing layouts table entry for the GL-B1300.
- Add missing default_configs table entry for VMware Virtual Platform
2023-12-20 20:35:07 -08:00
Tim Wilkinson e5bd9bc066
Simply the watchdog by fixing various timeouts. (#1038)
Unfortunately there doesnt appear to be much flexibility in the various
hardware watchdogs on radios, so setting the watchdog > 60 seconds mostly
doesnt work. So rework the settings to allow for this and that our watchdog
tests must be frequent and quick.
2023-12-20 00:25:12 -08:00
Tim Wilkinson 2fe3904f0a
Accidenally created the wireguard devices twice (#1036) 2023-12-19 16:13:26 -08:00
Tim Wilkinson 0899ae7d02
Make watchdog easier to configure and less aggressive (#1034) 2023-12-19 12:07:47 -08:00
Tim Wilkinson bd26116e45
Improve 'wait_for_ticks' handling of system clock changes (#1035) 2023-12-19 12:07:11 -08:00
Tim Wilkinson a388adaa79
Improve the messaging when failing to retrieve firmware versions (#1033) 2023-12-19 12:06:45 -08:00
Tim Wilkinson cd4b99197a
Watchdog support, initial version. (#1030)
* Watchdog support, initial version.
The watchdog monitors three things:
1. A set of important system daemons.
2. A set of pingable ip addresses.
3. A time the node should reboot everyday.
2023-12-18 23:07:52 -08:00
Tim Wilkinson 8f5e87eb11
Fix display of ntp update when it changes (#1031) 2023-12-18 16:48:02 -08:00
Tim Wilkinson 913e9e9ee1
Fix text alignment on devices without antennas (#1029) 2023-12-17 22:02:05 -08:00
Tim Wilkinson 7e9137417e
Display all the antenna information on the front page (#1028) 2023-12-17 21:33:27 -08:00
Tim Wilkinson cc5c7cafd0
Make sure switching wifi modes forces a reboot. (#1027)
Because some hardware doesnt handle this well.
2023-12-17 21:14:38 -08:00
Tim Wilkinson 14494a477f
Add missing Request class to luci.http (#1026)
This was removed in the latest OpenWRT but we still use it.
Original plan was to just provide the old http (as ohttp) along
side but too many third-party apps also need this.
2023-12-17 16:20:41 -08:00
Tim Wilkinson abd0f8075a
VMWare support (#1024) 2023-12-16 21:32:25 -08:00
Tim Wilkinson 9046357955
Fix wan client no encryption mode (#1023) 2023-12-16 21:26:33 -08:00
Tim Wilkinson 2ba923eaa9
Fix tunnel counts (missing commit) (#1022) 2023-12-16 17:55:18 -08:00
Tim Wilkinson b2fb79d6de
Typo (#1019) 2023-12-13 23:56:38 -08:00
Tim Wilkinson ceb7e973bf
Fix xlink monitoring by lqm (#1018) 2023-12-13 23:34:08 -08:00
Tim Wilkinson 18e17abf97
Fix services and xlinks (#1017) 2023-12-13 22:49:28 -08:00
Tim Wilkinson b702c1cfe7
Reduce packet retries on congested nodes (#1015)
* Experimental retry management

* Limit retries
2023-12-13 15:52:44 -08:00
Tim Wilkinson 4b29cd252d
Remove fixed tunnel limits (#1014)
* Remove need to predefine max number of tunnels

* Improve wireguard device creation
2023-12-13 13:59:54 -08:00
Tim Wilkinson 99a12238c1
Fix server vtun numbering (#1013) 2023-12-12 23:57:36 -08:00
Tim Wilkinson 188719c321
Reduce tunnels in olsrd to minimum (#1012)
Had attempt to optimize restarting olsrd by putting more tunnel devices
in the config file by default. Unfortunately, olsrd can't cope with too
many and performs poorly.
2023-12-12 23:26:27 -08:00
Tim Wilkinson aec049c1fa
Add dnsmasq user include file to support persistent user options (#1007) 2023-12-12 20:01:51 -08:00
Tim Wilkinson 68874e1703
Resolve download server ip by hand before download (#1003)
* Resole download server ip by hand before download

* Comment

* Handle hostnames with - char

* Escape . in hostname substitution
2023-12-12 20:01:39 -08:00
Tim Wilkinson 4120914a60
Improve node setup (#996)
* Reworking the node-setup system - less reboots when changing configuration

* Add restart-services to advnet
2023-12-12 20:01:23 -08:00
Tim Wilkinson d697fc0bec
Inprove vlan selection in advanced networking (#1002)
Add the GLiNet B1300
2023-12-10 14:33:49 -08:00
Tim Wilkinson 42e3c95ffb
Fix all x86 mac addresses (#1001)
* For x86 devices, give unique macs to each bridge

* Typo
2023-12-07 17:56:51 -08:00
Tim Wilkinson e23348800f
Improve firmwarepath override (#1000)
* Revert accidental feeds change

* If firmware path lacks ../firmware on the end, just use as is.
2023-12-07 16:52:53 -08:00
Gerard Hickey 04c68749f5
add comment for overriding network configuation (#997)
Added a comment at the top of /etc/config.mesh/network to inform node
admins how to override the network configuration for unusual and unique
network configurations. See issue #995 for explanation of when overrides
may be useful.


Relates-to: #995

Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>
2023-12-06 22:25:22 -08:00
Tim Wilkinson aae5e14655
Add azimuth, elevation and antenna information (#979)
* Support antenna selection and allow heading to be specified

* More antennas

* Heading -> Azimuth

* Ubiquiti's catalog

* Add Mikrotik builtin antennas

* Some Ubiquiti builtins

* JP Performance Antennas

* Added Altelix

* More Altelix

* More radios

* Add elevation

* Add generic omnis, sectors and dishes

* Improve selection

* Improve display for non-wireless devices

* Improve omni and builtin setup

* mode -> model typo in antennas.json

* Typos

* Fix bad gateway when saving

* Add antenna height above ground level.
Fix more bad gateways

* Update antennas.json

* More radio antennas

* More antennas
2023-12-06 12:30:23 -08:00
Tim Wilkinson 6d15dfb869
Extra bad olsr protection (#992)
* Better protection for missing olsrd files
2023-12-06 12:24:43 -08:00
Tim Wilkinson da8ef31dd1
Advanced networking wan static fix (#976)
* Fix WAN static setup after using advancednetwork
2023-12-06 12:21:52 -08:00
Tim Wilkinson 09ed681311
Support remote syslogging (#971) 2023-12-06 12:19:18 -08:00
Tim Wilkinson 44f7f43abb
More map fixes (#982)
* Migrate map (again)

* Improve map navigation
2023-12-06 12:17:39 -08:00
Tim Wilkinson 205f6e4ad8
Increase Supernode pollrate (#984)
* Bump the OLSR poll rate on supernodes
2023-12-06 12:14:17 -08:00
Tim Wilkinson 1694e3a6c7
Simplify how we measure link performance (#975)
* Simplify the way we measure link ping times

* Dont ping non-routables
2023-12-06 12:11:11 -08:00
Tim Wilkinson 161c5439c1
Show frequency range on status page to help with overlapping channels (#978) 2023-12-06 12:06:34 -08:00
Tim Wilkinson 927bdd1c8f
dd-wrt ubiquiti firmware (#973)
* Enable dd-wrt firmware for Ubiquiti devices

* Dont include the wifi monitoring interface by default
We dont use it for anything

* Remove package which clashes with new firmware

* Disable chatty warning message

* Missed patch
2023-12-06 11:59:47 -08:00
Tim Wilkinson 6250d2c3f8
Add missing mss clamping to tunnels (#980)
* Add missing mss clamping for tunnels

* Change to add from insert on firewall
2023-12-06 11:53:35 -08:00
Tim Wilkinson 12120694af
Fix lowmem mesh (#987)
* Fix lowmem route truncation
2023-12-06 11:50:53 -08:00
Tim Wilkinson 2100e45495
Fix missing vlan tag in advance networking (#993)
* Fix missing vlans tags when vlan saved before ports selected
2023-12-06 11:46:38 -08:00
Tim Wilkinson bf3aa67f78
Wireguard tunnel support (#968)
* Wireguard tunnel support

* Fix wireguard firewall rules

* Add Wireguard tunnels to LQM

* Filter vlans on main bridge

* If you paste a tunnel config into any field, it will auto-populate all fields correctly

* Fix bad password keyword

* Fix bad feeds change

* Fix bad merge
2023-12-06 11:39:23 -08:00
Tim Wilkinson fb174ad66d
Add rev dns lookup for supernode tunnels (#970) 2023-12-06 11:17:09 -08:00
Steve 944e55eebe
change mesh RF label to mesh (#967) 2023-12-06 11:16:27 -08:00
Tim Wilkinson 475f371bb8
Initial OpenWRT 23.05.0 merge (#963)
* Initial OpenWRT 23.05.0 merge

* Fix get_rfchannels for new iwinfo format

* Fix initial wlan name

* Move patches to 5.15 from 5.10

* Fix flash write problem on Ubiquiti devices

* Use new ssl patch

* Reduce binary sizes

* Have to have hostapd installed now, even on tiny builds

* Simplify device support

* Revert Mikrotik NAND sysupgrade system.
OpenWRT doesnt really support Mikrotik NAND devices after 2019 and the
new support appeared broken. So reverted to the 2022 mechanism which does
work and avoid upgrade problems.

* Fixes for tiny builds

* More tiny shrinking

* Fix newly added firewall rules

* Update permanent packages

* Update permanent packages

* Support for Nanobeam 2AC (2.4GHz) device. 20MHz channels only.

* Update support

* Add GL.iNet B1300

* Add to radios.json

* Update supported devices

* Dont force the LAN DHCP to run

* Revert CURL SSL test

* Fix radio count when there are no radios

* Switch the lan ports on the gl-b1300

* Add support for GL.iNET Beryl MT1300

* Fix visual lat/lon setting bug

* Make the setup "Save Changes" button also save the location data

* Fix location/map system with geo location fallback

* Recolor

* Fix default bandwidth selection

* Support multi-band radios

* Generic mechanism to set compat version to 1.1

* Switch ethernet ports

* 20 MHz channels only

* Update docs

* Add ham channels to Mediatek chips (20MHz only)

* Automatically update the permpkg list when we upgrade

* Fix 10MHz mode for Ubiquiti AC devices

* Fix tiny builds

* Bump the watch timeout for restarting olsrd
olsrd is reliable these days, and very occasionally this
was restarting it unnecessarily
2023-12-06 10:12:11 -08:00
Tim Wilkinson d6f6c4b698
Detect if we support firstboot mode (x86 does not) (#965) 2023-10-17 16:35:15 -07:00
Tim Wilkinson cdeb1b1d44
Improve dual radio customization support (#961) 2023-10-13 22:38:05 -07:00
Tim Wilkinson a8c6ac90ba
Use frequency list for scan. (#960)
Some hardware doesnt scan all the frequencies we want by default.
Not a fix for the current limited scan problem
2023-10-12 14:46:35 -07:00
Tim Wilkinson 207bbf46e5
Super Mesh -> Cloud Mesh (#957) 2023-10-10 20:57:19 -07:00
Tim Wilkinson 63788ec9b1
Move cron.boot earlier (#955) 2023-10-07 10:52:54 -07:00
Steve 2d9914cb35
change pollrate default to one hour (#954) 2023-10-05 13:38:05 -07:00
Tim Wilkinson 880a4f195a
Improve the way we HUP dnsmasq (#953) 2023-09-29 20:09:53 -07:00
Brett T. Warden a2e9e3054c
Remove vestigial getServicesBy* methods (#952)
* Remove vestigial getServicesBy* methods

getServicesByNode is only a dummy method.
getServicesByService doesn't even exist.

Remove the last remaining references to them from cgi-bin/api, and remove the last traces of getServicesByNode from aredn/olsr.lua

Fixes #948
Fixes #949

* Bump API version

Breaking change, removing parameters services=bynode,byservice
2023-09-29 20:09:16 -07:00
Brett T. Warden 84ea30184c
Implement nodes=1 in sysinfo.json to return number of mesh nodes (#951)
* Implement nodes=1 in sysinfo.json to return number of mesh nodes

Fixes #950

* Bump api_version in sysinfo.json

Introduce new parameter nodes=1
2023-09-29 20:08:49 -07:00
Tim Wilkinson 48ee7595ce
Read supernode status from /etc/config.mesh (#946)
Avoids running this twice after initial supernode change
2023-09-26 20:11:48 -07:00
Tim Wilkinson da8520e202
Supernode improvements (#945)
* Supernode tunnels are always "perfect"

* Move Super Mesh button onto mesh page
2023-09-24 20:40:28 -07:00
Tim Wilkinson 57e0d045e9
Supernode fixes (#944)
* Subdomain check too slow for realtime
 so now do it in the namecheck service instead.
* Dont commit to VPN address until we set the DNS name
 helps supernode setup
2023-09-21 20:13:38 -07:00
Tim Wilkinson 819812f753
Which to "support" rather than "ignore" supernode to avoid double-negative (#942) 2023-09-20 16:13:34 -07:00
Tim Wilkinson 7f2059e131
Rebind protection stops recursive dns working (#941) 2023-09-20 10:32:11 -07:00
Steve d579a7a5b1
fix tunnel weight UI typo (#940) 2023-09-20 10:05:17 -07:00
Tim Wilkinson a494a8c374
Supernode support (#938)
* Supernode option

* Change supernode 10/8 route injection.
Identify supernode in sysinfo.json

* Supernode tunnels use port 5526

* Advertise supernode-ness

* Update DNS if supernodes are available

* Open up supernodes DNS service to incoming mesh requests

* Simply nameserver update

* Support supernodes on hap ac2

* Improve supernode nameserver update reliability

* Rework how supernode nameservers are managed

* Improve supernode dns advertising

* Add super mesh button

* User supernode name not ip in advert

* Less intustive way to identify supernode dns

* Add supernode ignore options
Change supernode enabled -> enable

* Improve DNS updates

* Remove tunnels when switching to/from supernode mode

* Blackhole any unknown routes on the supernode to avoid recursing packets

* Add explicit reverse lookup rule for supernode when available

* Just use dnsmasq changes for both forward and reverse names

* Improve supernode detection
So it doesnt keep writing to flash

* Add reverse tunnel ip lookup to supernode

* enabled => enable

* Supernode tunnels start 172.30

* Remove supernode switch

* Simplify supernode check

* Fix nav test
2023-09-19 20:06:09 -07:00
Tim Wilkinson 272d53bab5
Set tunnel weight to 1 and provide UI to change it. (#937) 2023-09-19 20:04:54 -07:00
Tim Wilkinson eab36f4788
Fixes for subdns (#939)
* Fix display of service names so they support subdomains

* Add dnsmasq data to support dump

* Duplicate

* Check urls using FQDN as some targets care
2023-09-19 20:04:38 -07:00
Tim Wilkinson f6ffa4acb2
Fix dnsmasq directive (#936) 2023-09-18 17:03:34 -07:00
Tim Wilkinson 11f7fe6731
Support wildcard DNS subdomains (#935)
* Support DNS sub-domains

* Support wildcard domains
2023-09-18 16:47:48 -07:00
Tim Wilkinson 9b4d873778
Lqm neighbor improvements (#933)
* Improve detection of valid neighbors via the arp cache.
Was incorrectly excluding some.

* Fixes
2023-09-17 23:12:33 -07:00
Tim Wilkinson 91ab73fe6f
Auto reinstall package improvements (#932)
* Add network detection and retry

* Add message when package reinstall is happening

* Update permenant package list
2023-09-16 18:09:18 -07:00
Tim Wilkinson 1708c4926c
Remember and reinstall packages are firmware upgrade (#930) 2023-09-15 21:16:27 -07:00
Tim Wilkinson 000b40b362
Xlink broadcast (#926)
* Support empty peer (so broadcast on vlan)

* Detect and monitor peerless (broadcast) xlinks
2023-09-04 22:37:59 -07:00
Tim Wilkinson 6754330ae6
Correctly set wifi wan mode when depending on the mesh wifi setting (#925) 2023-09-04 22:30:58 -07:00
Tim Wilkinson 8dadc9cd2a
Disable lz77 until problems resolved (#922) 2023-08-31 17:23:47 -07:00
Tim Wilkinson 7ad310b036
Simpler search (#918)
* Unify mesh status search functionality

* Remove colored titles

* Fix highlight colors

* Removed use of CSS :has(...) operator which Firefox doesnt support

* Make identifying tunnels more general

* Delay search while typing
2023-08-29 20:06:37 -07:00
Steve 8ce7c0b27d
fix local message refresh (#908) 2023-08-14 22:53:38 -07:00
Steve d02bfc9db3
fix iss749 (#904) 2023-07-21 14:00:58 -07:00
Tim Wilkinson f3af8eee30
Tolerate missing frequency list (#907) 2023-07-21 13:59:15 -07:00
Tim Wilkinson ef17d9bcd1
Allow SSH, WEB and TELNET access to be disabled on WAN (enabled by default) (#903) 2023-07-18 22:52:41 -07:00
Gerard Hickey f4321ff19b
Added support for group alert messages (#890)
* Added support for group alert messages

Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>

* Fixed category for AAM group names setting

Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>

* Revised aredn_message.sh to handle group messages better

Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>

---------

Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>
2023-07-08 22:09:02 -07:00
Tim Wilkinson be9957183c
Lowercase the keys in radios.json (#895) 2023-07-08 22:04:23 -07:00
Tim Wilkinson eaa5d2f72b
Allow & in service paths (#889) 2023-07-03 23:19:15 -07:00
Tim Wilkinson bc0bd27bdd
RC: Day 1 fixes (#885)
* Dont compress the admin page so we handle upload timeouts more clearly

* Fix aredn.info.getFreq() so it always takes a radio and not an interface
2023-06-28 23:47:25 -07:00
Tim Wilkinson 0532afdbbf
Fix Mikrotik first install where the radios are not necessarily available. (#882) 2023-06-25 21:10:07 -05:00
Tim Wilkinson adab218868
Fix x86 upgrades (naming is a little odd) (#883) 2023-06-25 21:09:19 -05:00
Tim Wilkinson 056b60bb4d
Use wifi assoc list when looking for unresponsive nodes. (#881)
The arp cache keeps wifi entries long past them being associated with
the node, so now use wifi assoc list to find nodes, and the arp cache
to get their IPs.
2023-06-24 23:37:48 -07:00
Tim Wilkinson 426abfacfd
Fix MTU failure which broken node-setup (#878) 2023-06-22 19:17:43 -05:00
Tim Wilkinson 15c78a4369
Allow MTU on wifi interface to be modified. (#877) 2023-06-21 23:07:21 -05:00
Tim Wilkinson 270d7fd5f1
Typo (#876) 2023-06-21 13:57:21 -07:00
Tim Wilkinson 7650b627e8
Minor wifi monitor improvements for better metrics reporting (#875) 2023-06-20 20:51:18 -07:00
Tim Wilkinson 8c4d9edd99
Merge all the station monitoring and mitigation into a single service. (#874)
This is an attempt to unify all the station monitoring and make it work
better as one. We're trying to square a circle here somewhat, with taking
steps to kick nodes when problems are detected, but not kick them too quickly
or often in case we're mis-identifing issues.
We've seen these issue manifest themselves which nodes messing VoIP services
as well as resets causing nodes to get into unrecoverable states when there
was no real problems in the first place.
This will probably need to evolve before the next release, but would be good
to get some milage on the new code.
2023-06-20 01:27:23 -07:00
Tim Wilkinson 52c7286a4c
Remove another coverage test which causes problems. (#871)
Coverage is handled by modifying firmware state, and the driver stores
the values the first time it is set. When we reset this state might be lost
so it will be reloaded from the firmware. We set the coverage back to 0
so the reloaded value will be the default again.
We also remove a check which can fail incorrectly.
2023-06-12 23:29:38 -07:00
Tim Wilkinson 8c4369e966
Remove subnet restrictions for xlinks (#870)
Xlink endpoints can now be arbitrary IP addresses
2023-06-11 23:20:24 -07:00
Tim Wilkinson 8f6e943237
Avoid fatal error if mac disappears across a radio reset (#868) 2023-06-08 21:27:37 -07:00
Tim Wilkinson b64aa0c988
Monitor bug fixes (#867) 2023-06-07 22:42:42 -07:00
Tim Wilkinson 8287742822
Fix bug when editing xlinks on single port devices (#866) 2023-06-06 21:54:08 -07:00
Tim Wilkinson da7b894c39
Support xlinks on x86 (#865) 2023-06-06 00:38:45 -07:00
Tim Wilkinson 644b6579a5
New LiteBeam AC Gen2 variant (#864) 2023-06-04 21:31:53 -07:00
Tim Wilkinson 26742bbd83
Fix 'has_wifi' detection. (#863)
/sys/kernel/debug/ieee80211 can exist without entries sometimes
2023-06-04 17:24:28 -07:00
Tim Wilkinson 935dc2c063 Handle non-wifi devices passed to maxpower/pwroffset functions 2023-06-03 15:45:00 -07:00
Tim Wilkinson 60a2627989
More multi-radio support (#860)
* Multi-radio: Support different powers for different radios
* Use arrays for powers
* Update APIs to take wifi interface
2023-06-02 18:47:34 -07:00
Tim Wilkinson 225773cf06
Fix lua converting empty port object to empty array. (#858)
Lua confuses empty objects and empty arrays when converting to JSON.
2023-06-01 18:47:50 -07:00
Tim Wilkinson a61dfcdafe
Alternate ath9k and ath10k radio reset for deaf nodes (#857)
* A scan, especially if we have to do both active and passive, essentially mutes
the radio to AREDN traffic for 10-20 seconds, which isn't good. If the radio is completely
deaf then it doesn't matter, but particularly on the 9K radios we do this when
things are looking a bit dodgy, though not deaf. 
* Provide hook to reset ath9k from userspace.  This hook is attributed to:
Linus Lüssing <ll@simonwunderlich.de>
* User /sys reset hooks rather than iw scan
2023-06-01 17:06:39 -07:00
Tim Wilkinson 0890ab210f
Fix API nil pointer when mac lookup fails (#855) 2023-05-29 21:12:37 -07:00
Tim Wilkinson df77276075
Disable WAN access to node by default. (#854) 2023-05-29 11:22:09 -05:00
Tim Wilkinson ab541c3d35
Fix disabled mesh on multi-wifi devices (#852) 2023-05-27 17:58:10 -07:00
Tim Wilkinson 4e621baf0b
Support switching mesh radio on multi-radio devices (#847) 2023-05-25 21:27:59 -07:00
Tim Wilkinson 62a19a239e
Support for Mikrotik LDF 5AC (#841) 2023-05-17 20:52:51 -07:00
Tim Wilkinson 65dab4cda1
UI improvements from Steve (#843) 2023-05-17 17:49:04 -07:00
Tim Wilkinson f9b032aca1
Advanced networking tab (#834)
* Advanced networking tab

* Add page protection

* Disable WAN VLAN option in advanced config when advanced networking available
2023-05-16 21:29:20 -05:00
Tim Wilkinson f00966531d
PowerBaam 5ac-620 support (#840) 2023-05-15 14:10:05 -07:00
Tim Wilkinson 3fa247bc86
LDF2 support (#828) 2023-05-09 00:22:41 -07:00