Commit graph

670 commits

Author SHA1 Message Date
wb2osz
eda1383f5f
Bump patch version to 2 in CMakeLists.txt 2026-05-19 13:27:49 -04:00
wb2osz
eff6b0c269
Update CHANGES.md for version 1.8.2
Added details for version 1.8.2, including fixed vulnerabilities.
2026-05-19 13:26:57 -04:00
dkgkdfg65
338f56cd3c
Issue 618 - Crash on hand crafted packet. (#653)
(cherry picked from commit 3658a87892)

Co-authored-by: wb2osz <wb2osz@comcast.net>
2026-05-19 13:12:51 -04:00
dkgkdfg65
4eb3835673
Issue 617 - Buffer Overflow in KISS code. (#652)
(cherry picked from commit 694c95485b)

Co-authored-by: wb2osz <wb2osz@comcast.net>
2026-05-19 13:08:47 -04:00
wb2osz
a231971a65 Release 1.8.1 2025-11-11 14:00:39 -05:00
Martin Cooper
9218ca2406 Fix crash when AGWPE connection attempt times out
When a connection attempt via AGWPE had exhausted all retries, Direwolf
would crash (segfault) on Linux. This happened because the timer expiry
check (dl_timer_expiry) iterates over the state machine list in a way
that assumes the list is not modified during iteration. However, recent
changes to clean up AGWPE connections violated this assumption, such
that a state machine might be removed from the list during iteration.
Updating the iterations was missed in those earlier changes.

This change replaces the loop structure with one that allows for the
modification of the list during iteration. Currently t1_expiry() is
the only case in which the list may be modified; however, t3_expiry()
and tm201_expiry() loops have also been changed to insure against
possible future modifications.

Fixes #621
2025-11-11 13:00:57 -05:00
wb2osz
1d2938d0d6 Merge branch 'dev' 2025-10-29 15:50:04 -04:00
wb2osz
e494c948ad Update User Guide for release 1.8 2025-10-29 14:53:19 -04:00
wb2osz
0d7448147c Change beta test to release. 2025-10-29 14:49:38 -04:00
wb2osz
5285fec721 Most recent tocalls.yaml 2025-10-29 14:45:11 -04:00
wb2osz
1ab1b05312 Better SATgate. 2025-10-28 17:29:42 -04:00
wb2osz
aa476298b6 Better error message. 2025-10-28 17:27:14 -04:00
wb2osz
ae1394debf Fix x86_64 / i686 package name. 2025-10-28 17:24:04 -04:00
wb2osz
df993f6859 More error checking and messages. 2025-10-28 16:19:43 -04:00
wb2osz
11c4bdf70a
Merge pull request #605 from doismellburning/fix/multi_modem-assert
Fix copy/paste error in assertion in multi_modem_process_rec_frame
2025-10-08 15:16:29 -04:00
Kristian Glass
551d95ce5c Fix copy/paste error in assertion in multi_modem_process_rec_frame
They happen to both be 9 right now, fortunately!
2025-10-08 12:05:32 +01:00
wb2osz
0b34cb1f5e Clean up sample direwolf.conf file. 2025-10-06 14:33:37 -04:00
wb2osz
81ed8d0669 More debug info, better error message. 2025-10-04 17:34:44 -04:00
wb2osz
d2927d6d7d Fix graph. 2025-10-03 17:22:53 -04:00
wb2osz
6a57823ef3 Get ready for 1.8. 2025-10-03 17:06:33 -04:00
wb2osz
9cfcf4960b GPIOD for bookworm and trixie. 2025-10-03 10:32:19 -04:00
wb2osz
150d7ca33a Issue 557 - Better handling of vendor/model. 2025-10-02 15:53:53 -04:00
wb2osz
e60040d6aa Updated comments only. 2025-10-02 15:52:19 -04:00
wb2osz
2e337171c3 Issue 569 - MODEM AIS doesn't work as -B AIS. 2025-09-30 13:33:46 -04:00
wb2osz
c99e842ba4 Merge branch 'github-ci' of https://github.com/ra1nb0w/direwolf into ra1nb0w-github-ci
f it merges an updated upstream into a topic branch.
2025-09-30 12:00:59 -04:00
wb2osz
7e689cfe78
Merge pull request #601 from mfncooper/fix_386
Don't announce via DNS-SD if KISS port not configured
2025-09-30 11:56:34 -04:00
wb2osz
cc97a64d24 Disable broken Windows 32 bit CI build for now. 2025-09-30 11:55:33 -04:00
wb2osz
03f9a48063
Merge pull request #602 from mfncooper/fix_451
Add new CMake option to build without DNS-SD
2025-09-29 09:25:29 -04:00
Martin Cooper
1f5e605e94 Add new CMake option to build without DNS-SD
On startup, Direwolf states that it includes optional support for
dns-sd. However, no option is provided in the build to exclude such
support. This means that on Linux, for example, the Avahi libraries
are always required.

This change adds a CMake option to exclude DNS-SD support, for both
Linux and Mac builds. The default is to include it, retaining the
current status. To exclude it, '-DOPTIONAL_DNSSD=OFF' can be added
to the invocation of CMake.

Fixes #451
2025-09-28 17:46:49 -07:00
Martin Cooper
fdc09de953 Don't announce via DNS-SD if KISS port not configured
When "KISSPORT 0" is used in the config file to remove the default
port, and no other port is configured, Direwolf still announces a
KISS service on port 0. This is happening because the check for a
valid KISS port was not updated when 'kiss_port' was changed from
a single value to an array (for support of multiple KISS ports),
so the test is checking against the wrong value.

Checking against the first port in the list, per this commit, is
consistent with the use of this same value for the port number that
is announced via DNS-SD. When support is added for announcing multiple
ports, this check should be updated to check for any valid port.

Fixes #386
2025-09-22 15:31:27 -07:00
wb2osz
fa3c231a5d
Merge pull request #600 from mfncooper/fix_agwpe_cleanup
Clean up AGWPE connection data upon termination
2025-09-19 11:28:02 -04:00
Martin Cooper
c317511f7a Clean up AGWPE connection data upon termination
Per-connection data for an AGWPE connection was being cleaned up only
when the client itself went away, rather than when each connection
was terminated. This led to reuse of stale state machine instances,
which in turn led to incorrect connection attempts and statistics.

The following changes have been made to address this:

* Per-connection cleanup code from dl_client_cleanup has been moved
  to a new function, dl_connection_cleanup. dl_client_cleanup now
  calls this new function from within its existing loop, walking
  though all connections for the client being cleaned up.

* A new function, dl_connection_terminated, encapsulates the removal
  of a single state machine instance from the list and the cleanup of
  that connection instance, calling dl_connection_cleanup for the
  latter.

* Everywhere that server_link_terminated is being called, a new call
  to dl_connection_terminated has been added nearby, to ensure the
  connection is cleaned up. The call is "nearby" because invocations
  of server_link_terminated differ in their surrounding calls to
  other timer and state functions, and the order of those calls, so
  simply wrapping server_link_terminated is not appropriate.

  Many, but not all, existing calls to server_link_terminated have
  nearby calls to set the state machine state to disconnected. While
  this is also done in dl_connection_cleanup, the existing calls have
  been left to minimize disruption. (There is no real cost associated
  with changing state from disconnected to disconnected.)

These changes have been tested in as many situations as possible, with
Direwolf started using '-d ac' to watch debug output for both AGWPE
and connection / state machine related activity.

Fixes #534, Fixes #535
2025-09-18 17:33:47 -07:00
wb2osz
23022d025a Merge remote-tracking branch 'refs/remotes/origin/dev' into dev 2025-09-15 15:19:11 -04:00
wb2osz
b309dac59d Issue 580 - clean out old cruft. 2025-09-15 15:16:30 -04:00
wb2osz
6cdb5883be
Merge pull request #599 from mfncooper/fix_598
Always try home directory if current directory fails
2025-09-15 14:16:46 -04:00
wb2osz
a9d2e7b7b9 Enhanced IGate. 2025-09-15 09:36:33 -04:00
Martin Cooper
55129c0b84 Always try home directory if current directory fails
The home directory was only being checked for the config file if
the fopen() failed, but not if a different error occurred. Move
the home directory check outside the condition for the current
directory.

Fixes #598
2025-09-11 15:45:05 -07:00
wb2osz
d0cf040e2e Add sample configuration at end. 2025-09-10 16:41:50 -04:00
wb2osz
6c3fd9d970 catch up to latest tocalls. 2025-09-07 16:40:31 -04:00
wb2osz
bed5c9c39a Allow gcc 15 to find another error. 2025-09-07 14:51:18 -04:00
wb2osz
94755b01c3 Change version to 1.8 beta test 1. 2025-09-07 14:45:34 -04:00
wb2osz
95e9b40a4b Fix compiler warnings. 2025-09-06 23:20:24 -04:00
wb2osz
8e52348f54 Fix compiler warnings. 2025-09-06 23:13:38 -04:00
wb2osz
f4d3c004d4 Fix compiler warnings. 2025-09-06 23:02:13 -04:00
wb2osz
7ed28d5f2a
Merge pull request #594 from leventelist/cmake_version_bump
CMake version bump
2025-09-03 10:11:08 -04:00
wb2osz
dce46d4446 Merge branch 'leventelist-gpiod_support2' into dev 2025-09-02 18:16:53 -04:00
wb2osz
c202286288 Issue 590 - Supoort both v1 and v2 of libgpiod. 2025-09-02 18:07:30 -04:00
wb2osz
93e3ed5334 rge branch 'github-ci' of https://github.com/ra1nb0w/direwolf into ra1nb0w-github-ci
f it merges an updated upstream into a topic branch.
2025-09-01 16:57:15 -04:00
wb2osz
3cce46f429 misc 2025-09-01 16:53:15 -04:00
wb2osz
ddcde813a4 Replace deprecated Windows 2019 runner with 2022. 2025-09-01 13:50:46 -04:00