Commit Graph

105 Commits

Author SHA1 Message Date
Mark Veidemanis b42c82eac2 More error handling when joining channels with ChanKeep 2022-08-02 09:01:24 +01:00
Mark Veidemanis e8870e95e7 Implement automatic provisioning 2022-08-01 19:34:35 +01:00
Mark Veidemanis 6359918639 Fix joining channels with inactive relays 2022-07-29 17:28:09 +01:00
Mark Veidemanis 8409a39e57 Implement relay, channel and alias management 2022-07-27 22:03:42 +01:00
Mark Veidemanis 5aebf63c2e Implement API endpoint for network listing 2022-07-25 18:05:53 +01:00
Mark Veidemanis b149886128 Don't send to Logstash if it's disabled 2022-07-21 13:40:40 +01:00
Mark Veidemanis 4b33559e65 Implement getting number of channels and users 2022-07-21 13:40:18 +01:00
Mark Veidemanis e5a14b2c91 Reformat again 2022-07-21 13:40:09 +01:00
Mark Veidemanis f4c5323de1 Reformat project 2022-07-21 13:40:05 +01:00
Mark Veidemanis 6c7d0d5c45 Reformat and fix circular import 2022-07-21 13:40:03 +01:00
Mark Veidemanis 3229d9b806 Revert "Reformat project"
This reverts commit 64e3e1160aa76d191740342ab3edc68807f890fb.
2022-07-21 13:40:01 +01:00
Mark Veidemanis 760e43b59a Reformat project 2022-07-21 13:39:59 +01:00
Mark Veidemanis e4a6e0d3c2 Don't attempt to register if it is disabled 2022-07-21 13:39:56 +01:00
Mark Veidemanis 7ffdc63eeb Rename time to ts 2022-07-21 13:39:54 +01:00
Mark Veidemanis 757b22c4a1 Extra error handling around emails 2022-07-21 13:39:52 +01:00
Mark Veidemanis 5c7d71dc99 Fix provisioning with emails 2022-07-21 13:39:46 +01:00
Mark Veidemanis ff1ee63900 Reformat code with pre-commit 2022-07-21 13:39:41 +01:00
Mark Veidemanis edc5f85ba6 Implement modifying emails for aliases 2021-06-06 10:31:13 +00:00
Mark Veidemanis c389094365 Finish Logstash implementation 2021-06-06 10:16:04 +00:00
Mark Veidemanis 9c95fa8eaf Implement relay-independent join 2020-11-02 20:14:02 +00:00
Mark Veidemanis 45fa21fea3 Use substitutions in registration tests 2020-11-01 22:19:03 +00:00
Mark Veidemanis a0bea0b18a Fix bug with using muser attribute when absent 2020-11-01 19:03:56 +00:00
Mark Veidemanis 19e04dbf36 Implement setting modes in ZNC 2020-11-01 03:39:32 +00:00
Mark Veidemanis b652b11335 Fix registration cancellation bug in regproc 2020-10-31 23:58:03 +00:00
Mark Veidemanis 49fd03304d Fix various bugs and off by one with provisioning 2020-10-31 23:55:11 +00:00
Mark Veidemanis b0eaa7fd47 Move WHO and NAMES logging to trace 2020-10-31 16:52:00 +00:00
Mark Veidemanis d60d89dbf6 Improve authentication detection
Add a negative check in the event we are authenticated and registered,
but not confirmed, as this fools other checks.
2020-10-31 16:49:37 +00:00
Mark Veidemanis 388cd1e4b9 Error checking in testing for registration message 2020-10-31 00:13:09 +00:00
Mark Veidemanis c06e922749 Clarify error message to be more helpful 2020-10-31 00:11:28 +00:00
Mark Veidemanis 69fbe180f1 Implement authentication checking on connection 2020-10-28 22:50:12 +00:00
Mark Veidemanis b16b5d690b Fix decoding issue with some Redis keys 2020-10-28 22:30:49 +00:00
Mark Veidemanis 6acb106761 Provision users with lowercase names 2020-10-28 22:30:04 +00:00
Mark Veidemanis 7d9a45ee91 Add the time field to some notifications 2020-10-28 22:26:41 +00:00
Mark Veidemanis 913009ab71 Fix circular import in ChanKeep/provisioning modules 2020-10-28 18:38:27 +00:00
Mark Veidemanis 82c5c2d163 Start implementing prefixes 2020-07-09 19:43:47 +01:00
Mark Veidemanis 3acf182171 Fixes to auth detection and message parsing
* don't check authentication if the network doesn't need to
  register
* don't pass through muser for ZNC type messages
* avoid duplicate message for queries containing highlights
* make a copy of the cast for metadata analysis to avoid poisoning it
* set up callback for when the instance is authenticated, so we can
  request a LIST immediately if so desired
* separate out seeding functions to populate CHANLIMIT to ease future
  work involving other options, such as PREFIX
2020-06-07 17:26:53 +01:00
Mark Veidemanis 2a9869d0f9 Remove condition-based monitoring system 2020-06-07 15:31:43 +01:00
Mark Veidemanis 1640955e5c Fix various bugs in the event system
Squash many bugs in the event notification system and simplify the
code.
2020-06-02 21:34:15 +01:00
Mark Veidemanis 290e0b5f87 Fix syntax error in redis query 2020-05-31 21:54:43 +01:00
Mark Veidemanis 097f100ec5 Implement authentication detection
* pending command to see which instances have never authenticated
* authcheck command to see which instances are not currently
  authenticated
2020-05-31 21:52:56 +01:00
Mark Veidemanis 5ee53ace4c Add additional error handling in user queries 2020-05-31 13:44:34 +01:00
Mark Veidemanis 81b0450904 Function to select and merge IRC network defs 2020-05-31 13:23:09 +01:00
Mark Veidemanis 5c6b626396 Check registration status before joining channels
Do not join channels if any relay for a network is unregistered.
2020-05-31 13:09:58 +01:00
Mark Veidemanis a3cdb35e05 Implement registration and confirmation of nicks 2020-05-30 21:40:10 +01:00
Mark Veidemanis d99c3c394f Restructure provisioning into fewer functions 2020-05-30 21:37:22 +01:00
Mark Veidemanis f4e5d248d5 Separate provisioning into user and auth info 2019-12-28 17:51:03 +00:00
Mark Veidemanis a20fcdb8fc Remove some debugging code from ChanKeep 2019-10-31 15:54:07 +00:00
Mark Veidemanis 7ffb6125aa Fix various bugs uncovered by the LIST system
* Work around Twisted's broken handling of spaces
* Work around Twisted's broken line decoding
* Don't run signedOn twice for relays
* Improved detection of whether the endpoint is connected to ZNC
* Delay a LIST until all configured relays are online
* Discard a LIST if there are no callbacks for it
* Get rid of some double-negative ternary blocks
2019-10-31 15:44:59 +00:00
Mark Veidemanis b4fa747853 Fix LIST handling and message parsing
* Always use simple LIST syntax if it succeeded once after a failed
complex query
* Reject asking for a LIST twice
* Quickly discard any ISUPPORT messages that don't contain things we
need to use
* Detect the server name and drop any messages from the server
2019-10-20 16:44:33 +01:00
Mark Veidemanis f34de8940f Improve performance in userinfo
* Implement a nick -> user mapping, preventing a superfluous SSCAN on
the entire dataset for when networks are disconnected
* Use one thread for all channels when a network instance is
disconnected, instead of one thread per channel
* Made returns comprising of only a list into tuples
2019-10-17 20:19:35 +01:00