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
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
Mark Veidemanis
6ad6d6dc50
Fix channel allocation when relays are provisioned
...
Fix a bug where the channel allocation algorithm failed due to
necessary relays not having been provisioned yet.
Passed the newly created relay numbers to the allocation function
and assumed their CHANMAX would be the same as all other relays for
the same network.
2019-10-12 21:40:50 +01:00