Commit Graph

106 Commits

Author SHA1 Message Date
Mark Veidemanis c983a8e3b6
Allow gaps in relay numbering 2022-08-11 19:22:09 +01:00
Mark Veidemanis 9b03485b69
More error handling when joining channels with ChanKeep 2022-08-02 09:01:24 +01:00
Mark Veidemanis 864f0904f5
Implement automatic provisioning 2022-08-01 19:34:35 +01:00
Mark Veidemanis 75f79cf072
Fix joining channels with inactive relays 2022-07-29 17:28:09 +01:00
Mark Veidemanis 15583bdaab
Implement relay, channel and alias management 2022-07-27 22:03:42 +01:00
Mark Veidemanis c302cd25da
Implement API endpoint for network listing 2022-07-25 18:05:53 +01:00
Mark Veidemanis 24a2f79e8e
Don't send to Logstash if it's disabled 2022-07-21 13:40:40 +01:00
Mark Veidemanis 8c9ec3ab9c
Implement getting number of channels and users 2022-07-21 13:40:18 +01:00
Mark Veidemanis 80c016761f
Reformat again 2022-07-21 13:40:09 +01:00
Mark Veidemanis 2fecd98978
Reformat project 2022-07-21 13:40:05 +01:00
Mark Veidemanis 4ecb37b179
Reformat and fix circular import 2022-07-21 13:40:03 +01:00
Mark Veidemanis 27cafa1def
Revert "Reformat project"
This reverts commit 64e3e1160aa76d191740342ab3edc68807f890fb.
2022-07-21 13:40:01 +01:00
Mark Veidemanis da678617d8
Reformat project 2022-07-21 13:39:59 +01:00
Mark Veidemanis 404fdb000f
Don't attempt to register if it is disabled 2022-07-21 13:39:56 +01:00
Mark Veidemanis 2177766d90
Rename time to ts 2022-07-21 13:39:54 +01:00
Mark Veidemanis 4734a271a1
Extra error handling around emails 2022-07-21 13:39:52 +01:00
Mark Veidemanis e0f86ec853
Fix provisioning with emails 2022-07-21 13:39:46 +01:00
Mark Veidemanis 7c855e09c0
Reformat code with pre-commit 2022-07-21 13:39:41 +01:00
Mark Veidemanis 5179c43972 Implement modifying emails for aliases 2021-06-06 10:31:13 +00:00
Mark Veidemanis 7439d97c71 Finish Logstash implementation 2021-06-06 10:16:04 +00:00
Mark Veidemanis 08b5dc06f0 Implement relay-independent join 2020-11-02 20:14:02 +00:00
Mark Veidemanis 9959231d50 Use substitutions in registration tests 2020-11-01 22:19:03 +00:00
Mark Veidemanis cb21ad8fca Fix bug with using muser attribute when absent 2020-11-01 19:03:56 +00:00
Mark Veidemanis 9fd6688892 Implement setting modes in ZNC 2020-11-01 03:39:32 +00:00
Mark Veidemanis fc3a349cb3 Fix registration cancellation bug in regproc 2020-10-31 23:58:03 +00:00
Mark Veidemanis fe86d30155 Fix various bugs and off by one with provisioning 2020-10-31 23:55:11 +00:00
Mark Veidemanis 7485bbefd1 Move WHO and NAMES logging to trace 2020-10-31 16:52:00 +00:00
Mark Veidemanis 45f02c323b 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 e403852778 Error checking in testing for registration message 2020-10-31 00:13:09 +00:00
Mark Veidemanis 1fec14d759 Clarify error message to be more helpful 2020-10-31 00:11:28 +00:00
Mark Veidemanis 77e8ef4c16 Implement authentication checking on connection 2020-10-28 22:50:12 +00:00
Mark Veidemanis db7e5677d3 Fix decoding issue with some Redis keys 2020-10-28 22:30:49 +00:00
Mark Veidemanis f848b5afd6 Provision users with lowercase names 2020-10-28 22:30:04 +00:00
Mark Veidemanis 3bc65f8456 Add the time field to some notifications 2020-10-28 22:26:41 +00:00
Mark Veidemanis 95ee63e399 Fix circular import in ChanKeep/provisioning modules 2020-10-28 18:38:27 +00:00
Mark Veidemanis a1e045793c
Start implementing prefixes 2020-07-09 19:43:47 +01:00
Mark Veidemanis f50a40d207
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 4c08225a50
Remove condition-based monitoring system 2020-06-07 15:31:43 +01:00
Mark Veidemanis 11f15ac960
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 8103c16253
Fix syntax error in redis query 2020-05-31 21:54:43 +01:00
Mark Veidemanis 45070b06e2
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 40e1f38508
Add additional error handling in user queries 2020-05-31 13:44:34 +01:00
Mark Veidemanis 63c97db12e
Function to select and merge IRC network defs 2020-05-31 13:23:09 +01:00
Mark Veidemanis 91885170f1
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 f90f2fdef7
Implement registration and confirmation of nicks 2020-05-30 21:40:10 +01:00
Mark Veidemanis e0549cdd30
Restructure provisioning into fewer functions 2020-05-30 21:37:22 +01:00
Mark Veidemanis bc4d5cba8e
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