Commit Graph

373 Commits

Author SHA1 Message Date
Hemna 3dd23fa2ad Added a fix for failed logins to APRS-IS
This patch adds a check for a failed login to ARPS due to
LoginError.  This accounts for bad accounts or username/password
failures.  aprsd server will exit immediately upon failed login now.
2021-01-12 09:31:04 -05:00
Hemna 94708024da Fixed unit test for fortune plugin 2021-01-11 14:29:02 -05:00
Hemna 7ab26135c2 Fixed fortune plugin failures
On alpine containers the fortune options aren't all available
and we were silently failing.  Updated the fortune plugin to capture
shell failures.
2021-01-11 14:14:16 -05:00
Craig Lamparter 76bbdfc728 getting out of git hell with client.py problems 2021-01-11 10:14:02 -08:00
Hemna ac4c3d6562 Extend APRS.IS object to change login string
This patch copies the aprslib.inet IS object's _send_login()
method so we can change the login app identification string.
2021-01-11 13:08:30 -05:00
Hemna 5de1b3e305 Extend APRS.IS object to change login string
This patch copies the aprslib.inet IS object's _send_login()
method so we can change the login app identification string.
2021-01-11 12:43:51 -05:00
Craig Lamparter e1a292d8e0 expect different reply from query plugin 2021-01-11 09:20:25 -08:00
Craig Lamparter 839256c76d Merge branch 'craiger-stable' of https://github.com/craigerl/aprsd into craiger-stable 2021-01-11 09:13:51 -08:00
Craig Lamparter d9141dc2d0 update query plugin to resend last N messages. syntax: ?rN 2021-01-11 09:13:37 -08:00
Hemna 68e6f5b986 Added unit test for QueryPlugin
This patch adds a simple test for the QueryPlugin
2021-01-11 12:09:29 -05:00
Hemna 1ce2a56140 Updated MsgTrack restart_delayed
This patch updates the restart_delayed method to accept the count of
messages to restart as well as the most_recent flag that sorts the
messages based on most recent first.  If you want the oldest first,
then pass in False
2021-01-11 11:03:41 -05:00
Hemna a385d171bd refactor Plugin objects to plugins directory
This patch moves all of the plugins out of plugin.py
into their own separate plugins/<plugin>.py file.  This
makes it easier to maintain each plugin.

NOTE:  You will have to update your ~/.config/aprsd/aprsd.yml

to change the python location path for each plugin enabled.

For example:
OLD:
  enabled_plugins:
   - aprsd.plugin.EmailPlugin

TO NEW
  enabled_plugins:
   - aprsd.plugins.email.EmailPlugin
2021-01-11 08:28:08 -05:00
Hemna f534646288 Updated README with more workflow details 2021-01-11 08:26:30 -05:00
Craig Lamparter fdf59b31e1 Merge branch 'craiger-stable' of https://github.com/craigerl/aprsd into craiger-stable 2021-01-10 14:50:41 -08:00
Craig Lamparter 0aa7fe7a14 change query character syntax, don't reply that we're resending stuff 2021-01-10 14:44:40 -08:00
Hemna cc0d0fd523 Added APRSD system diagram to docs
This patch adds the aprsd overview diagram to the
main README as well as the generated docs.
2021-01-10 16:11:53 -05:00
Hemna e6dee3a5b0 Disable MX record validation
This patch disables the MX record checking for
email address shortcuts.  verizon is a shit
smtp host that won't let you check emails as
existing/valid.  Email validation still is checked
against RFC based regex for email address as
well as blacklist checking.

TODO(hemna): make this optionally enabled
by config file.
2021-01-10 13:22:23 -05:00
Craig Lamparter 5db3c8c9b9
Merge pull request #31 from craigerl/update_readme
Updated README with more workflow details
2021-01-10 08:23:53 -08:00
Hemna 7423df6b25 Added some more badges to readme files
Added badges for both docs/readme.rst and main README.rst
2021-01-09 20:12:23 -05:00
Hemna bd35a610ff Updated build for docs tox -edocs
Can now run tox -edocs
2021-01-09 19:36:55 -05:00
Craig Lamparter e7f2ebf17e switch command characters for query plugin 2021-01-09 15:50:04 -08:00
Hemna 1763e94f93 Fix broken test 2021-01-09 18:44:36 -05:00
Craig Lamparter 45dd3f0205 undo git disaster 2021-01-09 15:39:37 -08:00
Craig Lamparter a33462327a swap Query command characters a bit 2021-01-09 14:02:16 -08:00
Hemna ee2aeb5157 Added Sphinx based documentation
This patch adds the docuemntation source tree in docs.

You can build the documentation with

tox -edocs

View the documentation by opening a browser and viewing
aprsd/docs/_build/index.html
2021-01-09 14:12:13 -05:00
Hemna d5a34b4d11 refactor Plugin objects to plugins directory
This patch moves all of the plugins out of plugin.py
into their own separate plugins/<plugin>.py file.  This
makes it easier to maintain each plugin.

NOTE:  You will have to update your ~/.config/aprsd/aprsd.yml

to change the python location path for each plugin enabled.

For example:
OLD:
  enabled_plugins:
   - aprsd.plugin.EmailPlugin

TO NEW
  enabled_plugins:
   - aprsd.plugins.email.EmailPlugin
2021-01-09 10:00:37 -05:00
Walter A. Boring IV df7a4b1fd7
Merge branch 'master' into craiger-stable 2021-01-08 21:09:41 -05:00
Hemna c51a9452d9 Updated Makefile
This patch updates the Makefile to only run deps if certain files
don't exist already.   Also added the build and upload tasks to
make it easier to test, build and upload a release to pypi
2021-01-08 20:58:21 -05:00
Hemna a7c20430fe removed double-quote-string-fixer 2021-01-08 20:58:21 -05:00
Hemna 231c15b1af Lots of fixes 2021-01-08 20:58:18 -05:00
Hemna 4c0150dd97 Added more pre-commit hook tests
also added pre-commit job for tox.
2021-01-08 20:57:58 -05:00
Hemna 9f4cc27a11 Fixed email shortcut lookup
This patch fixes the email.get_email_from_shortcut.  It ensures that
if the lookup isn't found in the shortcut list, it simply returns
the original value.  This patch also adds a unit test to specifically
test this function to always return the correct value.
2021-01-08 19:35:16 -05:00
Hemna f976a1c320 Added Makefile for easy dev setup
This patch adds a Makefile for helping setup a dev environment
as well as running tox tests for those that aren't used to python
development.
2021-01-08 17:46:28 -05:00
Walter A. Boring IV 0a741cedd5
Merge pull request #34 from craigerl/makefile
Added Makefile for easy dev setup
2021-01-08 17:30:19 -05:00
Hemna d084360599 Added Makefile for easy dev setup
This patch adds a Makefile for helping setup a dev environment
as well as running tox tests for those that aren't used to python
development.
2021-01-08 17:23:35 -05:00
Hemna dbc891f738 Cleaned out old ack_dict
This patch removes remnants of ack_dict from the code.
The new mechanism is the MsgTrack object queue.
2021-01-08 15:11:27 -05:00
Craig Lamparter 1697395e84 add null reply for send_email 2021-01-08 11:02:57 -08:00
Craig Lamparter 7b51c36f65
Merge pull request #32 from craigerl/craiger-test
backout my patch that broke tox, trying to push to craiger-test branch
2021-01-08 09:35:39 -08:00
Hemna 441ac15a0a Updated README with more workflow details 2021-01-08 12:28:17 -05:00
Craig Lamparter 96c8422990 backout my patch that broke tox, trying to push to craiger-test branch 2021-01-08 09:24:51 -08:00
Hemna e83ee31310 Fixed failures caused by last commit
This patch fixes test failures caused by last commit.
2021-01-08 10:57:34 -05:00
Craig Lamparter 99c5867162 don't tell radio emails were sent, ack is enuf 2021-01-07 16:22:45 -08:00
Hemna 25d948b0ee Updated README to include development env
This patch shows how to setup a development environment.

Please use the steps as laid out and install the pre-commit
hooks to ensure the code is clean prior to commit.
2021-01-06 20:03:25 -05:00
Hemna 75f610d971 Added pre-commit hooks
This patch adds pre-commit hook support to ensure
code passes basic checks prior to allowing a commit.
2021-01-06 17:54:50 -05:00
Hemna 8bd8b95b35 Update Changelog for v1.5.0 2020-12-30 09:29:01 -05:00
Walter A. Boring IV 40ab7a7a94
Merge pull request #26 from craigerl/threads
Threads
2020-12-30 09:23:17 -05:00
Hemna af0d4491c3 Added QueryPlugin resend all delayed msgs or Flush
This patch also updates the QueryPlugin to allow the configured user
to immediately resend all Delayed messages!

This patch updates the QueryPlugin to allow the configured user
to immediately Flush/delete all messages!
2020-12-30 09:12:38 -05:00
Hemna 28f3daf6d0 Added QueryPlugin
Query Plugin looks for ^/?.* and currently only responds with
the list of pending messages in the MsgTrack queue.
2020-12-30 08:15:49 -05:00
Hemna 2659a0b3b9 Added support to save/load MsgTrack on exit/start
This patch added saving of the MsgTrack list of messages at aprsd exit.
The will be loaded at startup unless you pass in the --flush option.
2020-12-30 07:41:34 -05:00
Hemna 2e90c0bdbb Creation of MsgTrack object and other stuff
This patch adds the new MsgTrack object replacing the
global ack_dict.  the ack_dict was not thread safe.
the new MsgTrack is a singleton object that keeps track of
all outbound TextMessage objects.  When a TextMessage.send() is called
it is added to the MsgTrack object, and when an ack is received for that
message, the message is removed from the MsgTrack object.

TODO:  Add an automatic mechanism for saving the messages in MsgTrack
so that when CTRL-C is called to exit aprsd server, then the MsgTrack
state is saved to storage.   When aprsd server is started up again, add
the option to try and reload state of MsgTrack.

This patch also reworked the email thread into an APRSDThread object
that can exit gracefully with CTRL-C.

NOTE: Don't call sleep() with a long time (greater than 5 seconds), as
it causes a delay in exiting aprsd until the last sleep() finishes.
Since aprsd has so many threads now for processing incoming messages and
outgoing messages, we need to coordinate all thread operations so that
they don't block the exiting of the app.
2020-12-29 10:40:38 -05:00