Copyright (C) 2022-2023 LANNOCC (Shawn A. Wilson [lannocc@yahoo.com])
@%@~LICENSE:MIT~@%@

saw_032823_1 - Lots of work on gateway/peer. Begin some crypto upgrades.

saw_032123_2 - Fixes for the last commit.

saw_032123_1 - Upate GetHistory message to allow for filtering by name.

saw_032023_5 - Registration upgraded. Note that peer stuff is still broken.

saw_032023_4 - Gateway now converted from threading to asyncio.

saw_032023_3 - Node client properly plays ping-pong again.

saw_032023_2 - Flush output while printing by default. Handle incomplete reads.

saw_032023_1 - Beginning to replace gevent with asyncio (just node so far).

saw_031923_1 - Remove the idea of a peer being "already connected" to the node.
Add "GetHistory" support to the gateway.

saw_031823_2 - Fix registration.

saw_031823_1 - Begin to implement gateway operation.

saw_031723_1 - Flush output after printing (helps redirection to log files).

saw_031623_2 - Fix rogue socket import (gevent FAIL).

saw_031623_1 - Get initial nodes by querying DNS for node.lank.im.

saw_072422_1 - Add call to master.on_peered() in peer handler.

saw_071422_1 - Begin to support peer text messaging.

saw_071022_1 - Remove command-line peer commands. Add GetHistory/History.

saw_070922_4 - Fix signature verification for previous commit.

saw_070922_3 - Add alias option for peer sign-on.

saw_070922_2 - Remove Python-3.8 syntax magic so we can run on 3.7 (raspbian).

saw_070922_1 - Move database "name" constants into their own file.

saw_070822_2 - Make sure we don't create db unless we start a node master.

saw_070822_1 - Implement ListLabels, LabelsList, LabelInterest, and LabelIgnore.

saw_070722_1 - Peers are now able to sign on to the nodes.

saw_070622_3 - Implement re-registration. Fix a security concern for
               registration... this will invalidate existing signed entries.
               Implement proper signature verification on nodes.

saw_070622_2 - Fix error with register command.

saw_070622_1 - Much work implementiong node protocol v2 and proper node-based
               registration.

saw_062622_1 - Implementation of peer protocol v1 (basic) and v2 (encrypted).

saw_061722_1 - Beginning crypto handler v1 (label registration).

saw_061622_1 - Beginning node protocol v1 (ping-pong).

saw_061422_3 - Use os.makedirs() for the user_data_dir (creates parents).

saw_061422_2 - Now have a simple `lank` command.

saw_061422_1 - Initial commit (barebones pip project skeleton).

