Mark Veidemanis
1ce5a8228c
Use JSON for sending messages
2022-08-14 16:45:40 +01:00
Mark Veidemanis
eba2c387f0
Implement API for authentication management actions
2022-08-14 12:43:33 +01:00
Mark Veidemanis
5123941c79
More debugging for reg tests and getstr command
2022-08-14 11:41:29 +01:00
Mark Veidemanis
6cc07c9171
Add allRelaysActive output to network info
2022-08-14 10:58:28 +01:00
Mark Veidemanis
ed1f3cdca7
Add debug statements and only check if network is connected when parting channels
2022-08-14 09:25:54 +01:00
Mark Veidemanis
65697ce8f0
Filter queries more carefully
2022-08-13 22:46:10 +01:00
Mark Veidemanis
dcd7fcc3c0
Filter AUTH channel (OFTC fix)
2022-08-13 22:15:50 +01:00
Mark Veidemanis
43c5625b3b
Implement configurable chanlimit and add more fields about LIST output to Redis
2022-08-13 20:37:21 +01:00
Mark Veidemanis
dd67e9cc8b
Implement ChanKeep without requiring persistent chanlimits on all networks
2022-08-13 19:20:29 +01:00
Mark Veidemanis
9804f30060
Make channel join notification a TRACE
2022-08-12 20:19:39 +01:00
Mark Veidemanis
e69ce5090a
Properly implement querying with API
2022-08-09 07:20:30 +01:00
Mark Veidemanis
813c9baf30
Get our hostname from WHO when we create fake events
2022-08-09 07:20:30 +01:00
Mark Veidemanis
220ce976f2
Fire a fake event when we send a message
2022-08-09 07:20:30 +01:00
Mark Veidemanis
14eb05722c
Add even more debugging
2022-08-11 20:21:39 +01:00
Mark Veidemanis
11c226833d
Add more LIST handling debugging
2022-08-11 20:18:49 +01:00
Mark Veidemanis
c983a8e3b6
Allow gaps in relay numbering
2022-08-11 19:22:09 +01:00
Mark Veidemanis
4a8605626a
Begin work on API endpoint
2022-07-21 13:40:11 +01:00
Mark Veidemanis
80c016761f
Reformat again
2022-07-21 13:40:09 +01:00
Mark Veidemanis
7a0e2be66c
Remove some legacy code
2022-07-21 13:40:07 +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
4669096fcb
Don't attempt secondary registration if it is disabled
2022-07-21 13:39:57 +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
7c855e09c0
Reformat code with pre-commit
2022-07-21 13:39:41 +01:00
Mark Veidemanis
0854c6d60d
Add Logstash file
2021-08-24 20:08:18 +00:00
Mark Veidemanis
5deb0649fb
Don't discard server messages
2020-11-02 20:13:36 +00:00
Mark Veidemanis
73e596dac3
Additional error handling for command parsing
2020-11-01 22:18:48 +00:00
Mark Veidemanis
1f178a20ed
Implement channel blacklisting
2020-11-01 19:54:24 +00:00
Mark Veidemanis
cb21ad8fca
Fix bug with using muser attribute when absent
2020-11-01 19:03:56 +00:00
Mark Veidemanis
16ab37cc0c
Log error when ZNC says a channel can't be joined
2020-10-31 23:58:51 +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
f3dd102096
Deauth bot when disconnected and lowercase user
2020-10-31 00:12:06 +00:00
Mark Veidemanis
3bc65f8456
Add the time field to some notifications
2020-10-28 22:26:41 +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
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
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
918d410927
Fix variable scope in LIST error handling
2020-04-21 23:32:17 +01:00
Mark Veidemanis
778690ae3a
Add more comments and remove obsolete code
2019-12-07 16:35:29 +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
5777ef0cfe
Improve ZNC error message detection
2019-10-13 12:38:44 +01:00
Mark Veidemanis
0321651c20
Implement fair channel allocation in ChanKeep
...
* Allocate channels to relays only if they have free space based on
their chanlimit value
* Minify channels by removing ones that are already covered before
passing them off to be joined
2019-10-12 21:05:55 +01:00