3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-03 00:09:26 +01:00
Commit Graph

3730 Commits

Author SHA1 Message Date
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
d082495297 launcher: drop experimental tag from -d/--daemonize 2019-05-02 15:41:27 -07:00
James Lu
0273faf933 PyLink 2.1-alpha1 2019-05-02 15:38:08 -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
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
ad9a51fc33 commands.showuser: properly handle numeric-type UIDs and channels 2019-04-09 19:10:20 -07:00
James Lu
13be40e08b changehost: only send a host change if new host != original 2019-04-09 19:01:53 -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
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
5ca57cb3c1 Decrease default log file size from 50 MiB to 20 MiB 2019-04-06 02:20:28 -07:00
James Lu
41cbd455d6 relay: only check _invisible flag on actual users 2019-04-02 21:22:40 -07:00
James Lu
8f10af9942 PyLink 2.0.2 2019-03-31 01:33:46 -07:00
Ian Carpenter
28166ed4ee Only write the pid file when --no-pid isn't passed (#633)
Prevents --no-pid from breaking

(cherry picked from commit 30387c9ed5)
2019-03-31 01:25:23 -07:00
James Lu
71353a29c2 relay: add support for hiding users marked invisible or offline
First part of https://github.com/PyLink/pylink-discord/issues/19
2019-03-28 20:14:58 -07:00
James Lu
0ffbaa8e5e control: suppress NotImplementedError when disconnecting networks on shutdown 2019-03-28 20:14:28 -07:00
James Lu
2c028e2762 classes: remove channels, modes from User.get_fields()
These don't really make sense to be formatted as a string.
2019-03-28 20:14:04 -07:00
James Lu
63d63c0137 relay: allow trailing .'s in subserver names 2019-03-20 21:14:12 -07:00
James Lu
88f45fb1d5 relay: whitelist ~ in idents 2019-03-20 21:08:55 -07:00
James Lu
c9176a06fc relay: check for nicks starting with numbers or - after removing Unicode 2019-03-20 21:08:21 -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
190e51211f log: use pylinkirc as logger name 2019-02-20 13:22:26 -08:00
James Lu
4f17a7986b PyLinkNC: don't overwrite sid, serverdata if they're already set 2019-02-20 13:22:26 -08:00
Ian Carpenter
24f85acfb8 Explicitly specify UTF-8 for the log files (#634)
For some reason, Windows defaults to cp1252, which breaks logging when some utf-8 characters get logged
2019-02-18 17:14:30 -08:00
Ian Carpenter
30387c9ed5 Only write the pid file when --no-pid isn't passed (#633)
Prevents --no-pid from breaking
2019-02-18 17:14:04 -08:00
James Lu
ba17821af4 Declare visible-state-only by default in ClientbotBaseProtocol 2019-02-16 16:43:05 -08:00
James Lu
9d459fab92 relay: fixes to support IDs as channel name
- Don't enforce local channel validity rules on the remote channel name
- Normalize channels to str before looking them up in the DB
2019-02-16 16:35:47 -08:00
James Lu
55360dd0b2 classes: allow Server name to be a non-string type 2019-02-16 16:32:42 -08:00
James Lu
96815a0a32 relay: sanitize idents before mirroring them to IRC 2019-02-12 15:55:14 -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
a9f59307c9 relay: use base64 as fallback if unidecode returns an empty string for nick
This is the case for e.g. nicks that are only an emoji.
2019-02-12 14:17:53 -08:00
James Lu
11b65ee809 relay: rework nick normalization with optional unidecode support
This will attempt to translate UTF-8 nicks to ASCII ones instead of doing the ugly '||||' replace.
Also, the fallback character for disallowed nick characters is now "-" instead of "|".

TODO: document relay::use_unidecode

Closes #561.
2019-02-12 00:58:20 -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
11e7589304 relay_clientbot: fix previous commit 2019-02-10 14:35:34 -08:00
James Lu
76f534ce84 relay_clienbot: fix rpm when UIDs are ints 2019-02-10 14:22:18 -08:00
James Lu
873283e61e clientbot: properly bounce kicks on networks not implementing them 2019-02-10 13:01:31 -08:00
James Lu
a9b8bfe94d classes: allow _expandPUID() to work when UIDs are ints 2019-02-10 13:01:11 -08:00
James Lu
5731a301ce classes: fix incorrect wrap_messages() stub 2019-02-10 13:00:53 -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
5e1da09901 control: don't remove network objects with virtual_parent on rehash 2019-02-08 15:10:21 -08:00
James Lu
6e7c58ee36 PyLinkNCWithUtils: don't assume mode args are strings 2019-02-07 14:55:27 -08:00