James Lu
26bfc06869
unreal: get rid of weird cmode +f workaround
2019-08-22 21:02:30 -07:00
James Lu
d3f2a370da
Revert "inspircd: don't allow _ in hosts"
...
This reverts commit ac8b7babf1
.
2019-08-22 19:02:59 -07:00
James Lu
0b8ed2dae9
unreal: declare support for msgbypass and timedban extbans
...
Closes #557 .
2019-08-22 18:48:46 -07:00
James Lu
f3569b4fd9
ts6: add support for hiding PyLink servers
2019-08-22 17:39:00 -07:00
James Lu
6b78b45b20
ngircd: make linking to non-ngIRCd servers a fatal error
2019-08-18 19:51:37 -07:00
James Lu
80188c3673
Sort imports via isort
2019-07-14 15:12:29 -07:00
James Lu
c7fd037879
Revise handling of KILL and QUIT hooks
...
- Both of these now always contain a non-empty userdata argument.
- If we receive both a KILL and a QUIT for any client, only the one received first will be sent as a hook.
- Also, adjust _remove_client() to return the data of the user that was removed.
2019-07-01 13:36:53 -07:00
James Lu
37822fda42
inspircd: implement spawn_server() on InspIRCd 3 ( #644 )
2019-06-26 13:54:25 -07:00
James Lu
61ca8dd781
clientbot: fix error when MODES is defined in ISUPPORT but given no value
2019-06-23 20:13:04 -07:00
James Lu
df468064d6
clientbot: rework to support freeform nicks
...
By overriding _get_UID() to only return non-virtual clients, we can stop worrying about nick conflicts and remove relay nick tags from Clientbot.
2019-06-23 19:46:23 -07:00
James Lu
e25a5df4db
ClientbotBaseProtocol: disallow part() from the main pseudoclient by default
2019-06-16 11:24:45 -07:00
James Lu
dd58dcf377
inspircd: show a note when linking to insp3 servers using insp20 compat
2019-06-06 23:50:08 -07:00
James Lu
2b04050bf5
inspircd: minor cleanup
2019-05-31 19:01:25 -07:00
James Lu
762b47120d
inspircd: support insp3 INVITE
2019-05-31 18:28:28 -07:00
James Lu
722881bc33
inspircd: fix incorrect lstrip() usage when mangling mode names
2019-05-31 18:13:21 -07:00
James Lu
917543dd12
inspircd: burst shorter version strings on insp3
...
These get shown in /map, for example.
2019-05-31 18:13:15 -07:00
James Lu
b260a28c8f
inspircd: handle insp3 SERVER command
2019-05-31 18:12:06 -07:00
James Lu
12784a4b5b
inspircd: handle insp3 IJOIN with TS & flags
2019-05-31 17:46:36 -07:00
James Lu
ea753774fd
inspircd: check for local protocol version instead of the remote's
...
We should be speaking the insp20 protocol even to insp3 servers if configured to do so, not some broken hybrid of the two.
OPERTYPE handling remains an exception.
2019-05-31 17:35:49 -07:00
James Lu
c43d13ef61
inspircd: FTOPIC handling for InspIRCd 3
2019-05-02 18:05:54 -07:00
James Lu
66485ec6a2
inspircd: send SINFO instead of VERSION on 1205
2019-05-02 17:42:45 -07:00
James Lu
3d69b7f4e8
ircs2s_common: fix sending the wrong target in PING
2019-05-02 17:36:42 -07:00
James Lu
ad4cb9561c
inspircd: add FJOIN, IJOIN, KICK handling for InspIRCd 3
...
IJOIN is new. Strip membership IDs from incoming FJOIN and KICK for now.
2019-05-02 17:36:42 -07:00
James Lu
08386a8ef7
inspircd: get rid of MIN_PROTO_VER
...
We should always check that our remote has a protocol version >= our own.
i.e. support links using PyLink 1202 <-> InspIRCd 1205, PyLink 1205 <-> InspIRCd 1205, but NOT PyLink 1205 <-> InspIRCd 1202
2019-05-02 17:36:42 -07:00
James Lu
db6d5d6d05
inspircd: actually read our DEFAULT_IRCD setting
2019-05-02 17:36:38 -07:00
James Lu
42e1eda51a
inspircd: use NUM to send numerics on insp3
2019-05-02 17:06:04 -07:00
James Lu
4276607ee4
inspircd: rework modelist negotiation to support InspIRCd 3.0
2019-05-02 16:52:29 -07:00
James Lu
0fe8a8d51a
inspircd: move protocol version check into CAPAB START handler
...
InspIRCd 3.0 stopped sending the protocol version in CAPAB CAPABILITIES, but it's always available in CAPAB START.
2019-05-02 16:11:53 -07:00
James Lu
6f617cb068
inspircd: allow choosing the target IRCd via "target_version" option
2019-05-02 16:11:21 -07:00
James Lu
44a364df98
Move message tags code from clientbot to ircs2s_common
2019-05-02 15:54:34 -07:00
James Lu
e3d72c43a4
inspircd: move proto_ver constants into the class definition
2019-05-02 15:47:03 -07:00
James Lu
f90b0c8577
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..
2019-04-29 12:04:11 -07:00
James Lu
a8bb5f66e5
clientbot: log the entire args list when splitting /names reply fails
2019-04-29 11:58:18 -07:00
James Lu
9056799633
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 .
2019-04-08 22:35:37 -07:00
James Lu
1780271dd0
unreal: work around a potential race when sending kills on join
2019-03-01 23:34:41 -08:00
James Lu
ba17821af4
Declare visible-state-only by default in ClientbotBaseProtocol
2019-02-16 16:43:05 -08:00
James Lu
ac8b7babf1
inspircd: don't allow _ in hosts
...
CHGHOST on InspIRCd 2.0 does not see this as valid.
2019-02-12 15:55:10 -08:00
James Lu
cfbadb4539
Move _squit, _get_SID, _get_UID wrappers into PyLinkNCWUtils
...
ClientbotBaseProtocol requires these for the squit wrapper to work.
2019-02-12 00:38:37 -08:00
James Lu
873283e61e
clientbot: properly bounce kicks on networks not implementing them
2019-02-10 13:01:31 -08:00
James Lu
d089b8d40e
clientbot: split wrapper stuff into a ClientbotBaseProtocol class
...
Closes #632 .
2019-02-10 12:40:02 -08:00
James Lu
52f588c920
Track affected servers in SQUIT hooks
2018-12-27 12:09:40 -08: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