This new collector allows external extensions and plugins to
get callbacks during the keepalive thread runs. Every 60 seconds
the keepalive thread will do some checks and log some entries in the
logfile to keep the user/admin aware of the state of aprsd itself.
This patch removes the admin command out of aprsd proper.
The admin interface will be an aprsd extension called
aprsd-admin-extension.
This is the start of the effort to trim down the base of APRSD
and the commands to server, healthcheck, list_plugins, list_extensions.
This will reduce the number of required packages that APRSD core needs.
This is useful for others using APRSD as their base to their
applications.
This patch makes a fix in the webchat UI for packets that
don't have a msgNo in the RX'd packets. Previously the packets
would just show up as a dupe of the previous RX'd packet from
the same callsign. Webchat UI will now properly show the message
by creating a fake msgNo value based on the contents of the RX'd packet
from_call+addressee+message_text
If any part of the code had a packet object and called prepare()
on it, it would create a msgNo if it wasn't set. Sometimes we
get packets on the wire/RF that don't have a msgNo, so adding one
locally is wrong. We should ONLY create a msgNo on a packet that
is destined for transmission.
This patch ensures that even if prepare() is called, that only
packets that are created locally for TX get a msgNo unless it
already exists from RX'd packets.
this patch changes webchat to not call REPEAT automatically to fetch the
location of a remote callsign if the client is on kiss.
Only fetch the location if the user clicks the button to fetch the
location.
Lots of APRS messages don't have message ids in the packet. This
prevents packet.msgNo from having a value. so when we look the packet
up in the packet_list, the packet key has a None for a value for the
msgNo portion of the key. This results in every packet after the first
from that callsign that doesn't have a msg id, will be marked as a dupe
and will never be processed.
This patch checks to see if msgNo is None. If it is, then just
mark the packet as never being seen and pass it on the chain to
be processed. This also means that there should never be an Ack
sent for those packets that don't container a msgNo value.