James Lu
37822fda42
inspircd: implement spawn_server() on InspIRCd 3 ( #644 )
2019-06-26 13:54:25 -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
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
e3d72c43a4
inspircd: move proto_ver constants into the class definition
2019-05-02 15:47:03 -07: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
1ab5d614c0
protocols: convert user TS to an int when receiving new users ( #594 )
2018-05-26 16:26:14 -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
9cdb224c02
Replace use of conf.conf['bot'] with conf.conf['pylink']
2018-02-18 23:26:39 -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
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
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
454539185e
Move knock handling to ts6_common
...
This adds support for (reasonless) KNOCK on TS6.
2017-12-21 00:04:55 -08:00
James Lu
ec3b230eab
inspircd: move definitions for cmodes +J and +E to kicknorejoin_insp and repeat_insp
...
These use InspIRCd specific arguments which don't map cleanly to other IRCds. #559
2017-12-18 13:10:48 -08:00
James Lu
ad32ce20da
protocols: send outgoing hop counts for servers and users
...
Closes #527 .
2017-09-23 22:36:31 -07:00
James Lu
8170e777e8
protocols: move setting irc.connected to endburst
2017-08-30 19:39:57 -07:00
James Lu
9a84dbde71
protocols: consistently track ENDBURST on sub-servers too
2017-08-30 19:18:39 -07:00
James Lu
c4a3baca7d
protocols: switch to self.is*
2017-08-28 20:07:36 -07:00
James Lu
8c0f19422f
core: Add irc argument to User and Server classes
...
Also, add a __deepcopy__ override to channel because we cannot clone IRCNetwork objects (locks cannot be pickled).
2017-08-25 13:53:45 -07:00
James Lu
96a202acce
core: make User.channels use IRCCaseInsensitiveSet
...
Closes #515 . This is an API breaking change!
2017-08-25 13:26:34 -07:00
James Lu
cdb575236e
inspircd: remove a useless and misformatted debug line
2017-08-25 02:13:15 -07:00
James Lu
80766e051e
core: define two (joined) versions of the channels index
...
Closes #509 .
PyLinkNetworkCore.channels is split into the following:
- irc._channels which implicitly creates channels on access (mostly used in protocol modules)
- irc.channels which does not (recommended for use by plugins)
2017-08-25 02:12:08 -07:00
James Lu
c6ca89b48a
Fill in the rest of the extbans list for inspircd & unreal ( #498 )
2017-08-23 21:47:43 -07:00
James Lu
de1a6379df
Add (experimental) support for matching extbans ( #498 )
2017-08-23 21:18:57 -07:00
James Lu
614b8b87da
inspircd: rewrite handle_ping to handle one-arg PING
2017-08-09 16:55:02 -07:00
James Lu
486a225156
inspircd: mark endburstf() threads as daemon=True
...
There is no reason whatsoever for this to even potentially block shutdown.
2017-08-08 00:27:05 -07:00
James Lu
64f05bd28b
inspircd: set a name on endburstf() threads
2017-08-08 00:26:32 -07:00
James Lu
9702030bf5
protocols: continue removing to_lower() calls on channels ( #372 )
2017-08-07 21:54:33 -07:00
James Lu
07fa53d128
protocols: remove direct usage of to_lower() for channels
...
Not needed as of 32249ace3e
(ref #372 )
2017-08-06 18:05:14 -07:00
James Lu
3c675bb163
inspircd, unreal: support the "block nick changes" extban
...
This is n: and ~n: on inspircd and unreal respectively.
2017-08-06 01:47:43 -07:00
James Lu
9ae851e1fc
classes: rename NetworkCore.aborted to _aborted
2017-08-05 22:16:52 -07:00
James Lu
7db811f2dd
protocols: declare quiet extban support where applicable
2017-08-05 21:52:34 -07:00