Mark Veidemanis
abdfc48b95
Prepare command loader for reloading commands
2020-11-01 03:38:47 +00:00
Mark Veidemanis
f7e1f2d221
Implement registration at net-level
2020-11-01 03:37:29 +00:00
Mark Veidemanis
a78e05c0c3
Clarify message output on confirm command
2020-11-01 03:36:23 +00:00
Mark Veidemanis
e22349802b
Log error when ZNC says a channel can't be joined
2020-10-31 23:58:51 +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
9e17223258
Don't deduplicate global messages (NICK/QUIT)
2020-10-31 16:51:24 +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
eaeb4b72c2
Use zero-padded numbers to maximise usuable ports
2020-10-31 00:13:59 +00:00
Mark Veidemanis
388cd1e4b9
Error checking in testing for registration message
2020-10-31 00:13:09 +00:00
Mark Veidemanis
b986d6ac45
Deauth bot when disconnected and lowercase user
2020-10-31 00:12:06 +00:00
Mark Veidemanis
c06e922749
Clarify error message to be more helpful
2020-10-31 00:11:28 +00:00
Mark Veidemanis
8deac2ab17
Implement another level of logging for tracing
2020-10-31 00:10:33 +00:00
Mark Veidemanis
4d25505625
Note that arguments to list are optional
2020-10-31 00:06:35 +00:00
Mark Veidemanis
69fbe180f1
Implement authentication checking on connection
2020-10-28 22:50:12 +00:00
Mark Veidemanis
812db95995
Add checks in dedup for time-less messages
2020-10-28 22:46:22 +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
586a337ea4
Add help for pending command
2020-05-31 16:40:51 +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
4f9ca6088b
Allow sending LIST to all networks at once
2020-05-31 13:08:00 +01:00
Mark Veidemanis
efb9666b6a
Add confirm command
...
Confirm command to check which relays need manual
confirmation.
2020-05-31 12:32:12 +01:00
Mark Veidemanis
aec683ccce
Remove leftover irc.json file
2020-05-30 21:42:26 +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
1ac1061348
Add irc.json to gitignore
2020-05-30 21:35:50 +01:00
Mark Veidemanis
690bf93676
Fix variable scope in LIST error handling
2020-04-21 23:32:17 +01:00
Mark Veidemanis
f4e5d248d5
Separate provisioning into user and auth info
2019-12-28 17:51:03 +00:00
Mark Veidemanis
97a25334aa
Add IRC network definitions
2019-12-28 17:50:38 +00:00
Mark Veidemanis
06903d872e
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