James Lu
2cdcd8e193
clientbot: fix error when MODES is defined in ISUPPORT but given no value
...
(cherry picked from commit 61ca8dd781
)
This fixes connections to e.g. Oragono
2019-08-22 17:46:15 -07:00
James Lu
81bf6480df
clientbot: avoid adding empty nicks to the state
...
It looks like names replies may end with an extra space, which should not be considered as part of the nick list..
(cherry picked from commit f90b0c8577
)
2019-04-29 12:19:16 -07:00
James Lu
7e088dfacb
clientbot: log the entire args list when splitting /names reply fails
...
(cherry picked from commit a8bb5f66e5
)
2019-04-29 12:19:16 -07:00
James Lu
739c87ef50
clientbot: only split /names replies by spaces
...
This fixes issues with colored hostnames because \x1f is treated as a whitespace char by str.split().
Closes #641 .
(cherry picked from commit 9056799633
)
2019-04-08 22:36:28 -07:00
James Lu
4d39ad1c84
unreal: bump protocol version to 4200
...
Corresponding to UnrealIRCd 4.2.0.
2018-10-05 23:57:20 -07:00
James Lu
2f4476eb0c
unreal: remove invalid comparison
...
(Regression from commit fac6fe506f
)
2018-09-21 21:40:56 -07:00
James Lu
667fa610ec
unreal: remove duplicate conversion
2018-09-16 11:29:25 -07:00
James Lu
e929fda293
unreal: Bump protocol version to 4019 (4.0.19-rc1)
2018-09-12 17:35:30 -07:00
James Lu
d5fd7b03f5
unreal: enable slash-in-hosts, it seems to work fine
2018-09-12 17:35:25 -07:00
James Lu
fac6fe506f
unreal: use SJOIN in join() to work around weird TS corrupting bugs
...
This seems to be what Unreal itself does anyways.
2018-08-25 18:50:51 -04:00
James Lu
298913200c
clientbot: properly handle cases when the bot is told to kick itself
...
- Treat kicks to the PyLink client as a real user kick instead of a virtual one
- Forward on kick hooks if the PyLink client is kick target - this allows things like autorejoin to work
Closes #377 .
2018-08-25 01:14:26 -04:00
James Lu
5838d88404
networks: reload shared modules used by protocol modules too
2018-08-23 02:57:03 -04:00
James Lu
9cf507183d
clientbot: filter PART hooks for only parts we didn't initialize
...
This fixes Relay being confused by its own "Relay plugin unloaded" /part's, and makes Clientbot's behaviour in this regard consistent with other protocols.
2018-07-18 19:14:47 -07:00
James Lu
bba235bba2
Update GitHub repository address
2018-07-08 12:54:10 -07:00
James Lu
76c0db15c4
core: merge TLS validation code into IRCNetwork ( #592 )
...
Certificate verification is now enabled for all Clientbot networks, but not yet for S2S links (self-signed certs are common here and direct IP links even more so)
2018-06-15 15:29:15 -07:00
James Lu
4524aebbac
clientbot: initial pass of TLS cert validation ( #592 )
...
This works OK, but we should make the validation options built-in instead of clientbot-specific.
2018-06-15 02:47:12 -07:00
James Lu
040b009fcb
clientbot: ignore RPL_ENDOFBANLIST (368) responses for removed channels
2018-06-15 02:19:56 -07:00
James Lu
1b68bfadc6
coremods, plugins, protocols: drop now redundant allowAuthed=False in is_oper() calls
2018-06-11 23:56:44 -07:00
James Lu
1a97a32ef5
ircs2s_common: return just the kill reason as text in kill parsing ( #520 )
2018-06-11 19:26:42 -07:00
James Lu
31a0d36990
clientbot: ignore missing args in 324 / RPL_CHANNELMODEIS
...
Fixes #537 .
2018-06-08 18:45:20 -07:00
James Lu
1ab5d614c0
protocols: convert user TS to an int when receiving new users ( #594 )
2018-05-26 16:26:14 -07:00
James Lu
f20fa5e995
Add User.get_fields(), and rework plugins to fix $nick broken expansions
...
User.nick is no longer a writable attribute since a085aed924
, so it won't show up in __dict__ now.
get_fields() replaces the User.__dict__ hack various plugins used and also provides some new expansion variables:
- $sid and $server expand to the server ID and name respectively
- $modes and $channels are now preformatted strings
- $netname expands to the network name
$manipulatable and $_irc were removed since their values aren't quite meaningful as strings
2018-05-26 02:12:38 -07:00
James Lu
b9f782868c
inspircd: remove users from the state immediately when sending a kill
...
This matches Anope and Atheme's behaviours.
Closes #607 .
2018-05-21 00:33:13 -07:00
James Lu
3120fa5396
clientbot: stop sending duplicate JOIN hooks
...
Also set _clientbot_initial_who_received on 315/ENDOFWHO, instead of on the first /who response we get.
Really fixes #551 .
2018-05-09 22:31:19 -07:00
James Lu
451db74f0c
clientbot: don't send duplicate away statuses
2018-05-09 22:23:14 -07:00
James Lu
f54382534c
kick and kill should raise NotImplementedError when not supported by a protocol
...
Closes #605 .
2018-05-09 22:19:03 -07:00
James Lu
8eba402a33
clientbot: drop pre-WHO join bursting with userhost-in-names, it's too unreliable
...
Closes #602 .
Closes #551 .
2018-04-24 12:39:29 -07:00
James Lu
c7159b9cad
core: move clearing channels on kick/part to coremods/handlers
...
This is for consistency with the rest of the state cleanup code.
2018-04-07 22:44:00 -07:00
James Lu
9e212fc0a4
protocols: migrate utils.wrapArguments, splitHostmask use to camel case ( #523 )
2018-03-02 20:23:47 -08:00
James Lu
a2783d74c5
unreal: bump protocol version to 4017 (no changes needed)
2018-03-02 20:23:47 -08:00
James Lu
804791b8af
clientbot: support expansions ($nick, etc) in autoperform
2018-02-20 23:19:32 -08:00
James Lu
9cdb224c02
Replace use of conf.conf['bot'] with conf.conf['pylink']
2018-02-18 23:26:39 -08:00
James Lu
37be73d39c
clientbot: add STATUSMSG support ( #570 )
2018-02-18 22:15:19 -08:00
James Lu
ea84497359
protocols: remove the endburst_delay option from spawn_server
...
Interestingly, this was never documented in the protocol module spec...
2018-02-10 15:44:09 -08:00
James Lu
a425f873b5
relay, inspircd: move endburst delay code to a private API
...
This is a very specific hack that shouldn't be extended across the protocol module spec. So far, all other protocol modules ignore the endburst_delay option anyways.
2018-02-10 15:34:07 -08:00
James Lu
18c1a277f5
clientbot: remove extraneous use of to_lower() in handle_part
2018-01-31 19:35:24 -08:00
James Lu
74848853ac
clientbot: fix KeyError caused by lower() in spawn_server
...
This affected connections to afternet for example.
2018-01-31 19:33:05 -08:00
James Lu
84f6190478
inspircd: only read METADATA modules changes from the uplink
...
Closes #567 .
2018-01-25 09:52:29 -08:00
James Lu
6bb2198710
inspircd: move _modsupport.clear() to a _post_disconnect override
...
Speculative fix for #567 .
This may be caused by a race condition between post_connect and handle_capab, since the remote server can send its server data before we start sending ours.
2018-01-21 13:27:59 -08:00
James Lu
043a147b41
p10: fix hashed cloaks check reading from the wrong config variable
2017-12-31 12:09:36 -08:00
James Lu
56fa626605
inspircd: use clear() instead of replacing the _modsupport set
...
Maybe this will fix issues with _modsupport not being completely filled?
2017-12-27 11:48:00 -08:00
James Lu
7c0d279f61
inspircd: raise NotImplementedError instead of only warning when a CHG* module is missing
2017-12-22 12:41:48 -08:00
James Lu
92427201f1
inspircd: track module (un)loading
...
Closes #555 .
2017-12-22 12:38:48 -08:00
James Lu
958bb351ca
clientbot: log warnings if the bot cannot join a channel
...
Closes #533 .
This adds handlers for the following numerics:
* ERR_TOOMANYCHANNELS (405)
* ERR_CHANNELISFULL (471)
* ERR_INVITEONLYCHAN (473)
* ERR_BANNEDFROMCHAN (474)
* ERR_BADCHANNELKEY (475)
* ERR_BADCHANMASK (476)
* ERR_NEEDREGGEDNICK (477)
* ERR_BADCHANNAME (479)
* ERR_SECUREONLYCHAN / ERR_SSLONLYCHAN (489)
* ERR_DELAYREJOIN (495)
* ERR_OPERONLY (520)
2017-12-22 12:28:27 -08:00
James Lu
145a4677f6
ircs2s_common: add handling for nick@servername messages
2017-12-21 02:57:10 -08:00
James Lu
8dbbe65a1c
ircs2s_common: remove useless statusmsg splitting code
...
We used to do this in order to lowercase the channel part of ~#channel messages correctly, but that is no longer needed as of 9702030bf5
.
2017-12-21 02:11:28 -08:00
James Lu
f64976b1ed
p10: implement outgoing knock() as a wrapper over NOTICE
2017-12-21 01:53:41 -08:00
James Lu
16b491fdab
ts6_common, p10: declare protocol cap has-statusmsg
2017-12-21 01:34:41 -08:00
James Lu
20e730ba2b
p10: add inbound handlers for WALLCHOPS/WALLHOPS/WALLVOICES
...
This essentially finishes off STATUSMSG support on P10.
2017-12-21 01:27:19 -08:00
James Lu
2cc1195ff9
p10: refactor message() to send @%+#channel messages correctly
2017-12-21 01:20:08 -08:00