Mark Veidemanis
f54a448d54
Prepare command loader for reloading commands
2020-11-01 03:38:47 +00:00
Mark Veidemanis
fe52561b71
Implement registration at net-level
2020-11-01 03:37:29 +00:00
Mark Veidemanis
09405f374e
Clarify message output on confirm command
2020-11-01 03:36:23 +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
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
82a98c9539
Don't deduplicate global messages (NICK/QUIT)
2020-10-31 16:51:24 +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
bdb3d059e3
Use zero-padded numbers to maximise usuable ports
2020-10-31 00:13:59 +00:00
Mark Veidemanis
e403852778
Error checking in testing for registration message
2020-10-31 00:13:09 +00:00
Mark Veidemanis
f3dd102096
Deauth bot when disconnected and lowercase user
2020-10-31 00:12:06 +00:00
Mark Veidemanis
1fec14d759
Clarify error message to be more helpful
2020-10-31 00:11:28 +00:00
Mark Veidemanis
b67eee42c1
Implement another level of logging for tracing
2020-10-31 00:10:33 +00:00
Mark Veidemanis
9e6dd5e03d
Note that arguments to list are optional
2020-10-31 00:06:35 +00:00
Mark Veidemanis
77e8ef4c16
Implement authentication checking on connection
2020-10-28 22:50:12 +00:00
Mark Veidemanis
c879caa9d7
Add checks in dedup for time-less messages
2020-10-28 22:46:22 +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
12db2f349e
Add help for pending command
2020-05-31 16:40:51 +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
7c23766763
Allow sending LIST to all networks at once
2020-05-31 13:08:00 +01:00
Mark Veidemanis
9e62ac62bc
Add confirm command
...
Confirm command to check which relays need manual
confirmation.
2020-05-31 12:32:12 +01:00
Mark Veidemanis
014de9f958
Remove leftover irc.json file
2020-05-30 21:42:26 +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
a78229a288
Add irc.json to gitignore
2020-05-30 21:35:50 +01:00
Mark Veidemanis
918d410927
Fix variable scope in LIST error handling
2020-04-21 23:32:17 +01:00
Mark Veidemanis
bc4d5cba8e
Separate provisioning into user and auth info
2019-12-28 17:51:03 +00:00
Mark Veidemanis
376d1bd911
Add IRC network definitions
2019-12-28 17:50:38 +00:00
Mark Veidemanis
778690ae3a
Add more comments and remove obsolete code
2019-12-07 16:35:29 +00:00
Mark Veidemanis
9c4ea94ebd
Add requirements file
2019-11-17 18:52:47 +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
a64765121a
Allow multiple arguments for the logging functions
2019-10-13 12:40:16 +01:00
Mark Veidemanis
5777ef0cfe
Improve ZNC error message detection
2019-10-13 12:38:44 +01:00
Mark Veidemanis
b97ebe43ab
Only start one relay with the auto command
...
We only need one initial relay, as ChanKeep will automatically add as
many as it needs when receiving a LIST response.
2019-10-13 12:37:01 +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