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
James Lu
61c8677802
classes, relay_clientbot: more type safety for protocols/discord
2019-02-07 13:50:32 -08:00
James Lu
23cb7c173a
stats: hide login blocks not relevant to this network
2019-02-07 13:50:32 -08:00
James Lu
52f588c920
Track affected servers in SQUIT hooks
2018-12-27 12:09:40 -08:00
James Lu
82ce9aac6c
writing-plugins.md: mention that the default hook priority is 100
2018-12-27 12:08:36 -08:00
James Lu
cb7708e095
Bump VERSION to 2.1-dev
2018-12-27 12:08:17 -08:00
James Lu
852c257e88
relay: remove use of re-entrant locks
...
This shouldn't be necessary anymore.
2018-12-27 11:58:39 -08:00
James Lu
bf9eb8d4ea
relay: fix incorrect in-place changes of modedelta modes
...
This caused the database to be filled with extraneous "-modename" entries when removing modes from the previous modedelta.
2018-11-30 10:21:51 -08:00
James Lu
61d559926f
Bump VERSION to 2.0.2-dev
2018-11-10 23:22:07 -08:00
James Lu
d01a9fe9b4
antispam: more lookalike chars for o, \, #
2018-11-10 23:21:54 -08:00
James Lu
aa5412712a
antispam: more lookalike unicode chars
...
Courtesy of @nathan0
2018-11-10 10:20:41 -08:00
James Lu
32e9cc689e
antispam: filter away Unicode lookalike characters when processing
...
Based off 56b48e4e51
2018-11-07 16:16:46 -08:00
James Lu
6462ae3a3c
example-conf: minor rewording for show_unknown_commands
...
[skip ci]
2018-10-28 21:13:38 -07:00
James Lu
77febfe69f
Allow disabling dynamic channels via a new "join_empty_channels" option
2018-10-27 18:48:12 -07:00
James Lu
94a345423e
classes: allow callers to override the make_channel_ban() ban style
2018-10-20 12:34:11 -07:00
James Lu
eb231a2aad
classes: always raise an error if make_channel_ban creates something invalid
2018-10-20 12:33:42 -07:00
James Lu
31a65697a3
example-conf: document the ban_style option
2018-10-20 12:30:40 -07:00
James Lu
6ceaabe092
classes: use get_fields() in make_channel_ban() for more reliable substitutions
2018-10-20 12:30:09 -07:00
James Lu
5a482118b8
example-conf: describe more thoroughly how antispam handles unsupported punishments
2018-10-20 12:28:41 -07:00
James Lu
5c4fba653f
IRCNetwork: disable throttling by default
...
On large networks, this seems to slows down relay bursts to the point they're no longer usable.
2018-10-10 22:49:10 -07:00
James Lu
dac8410b63
relay: shortcut if the remote network is not ready
2018-10-10 22:49:10 -07:00
James Lu
12d1412cba
PyLinkNCWUtils: stop logging the entirety of prefixmodes
...
This creates a lot of spam on larger channels.
2018-10-10 22:49:04 -07:00
James Lu
60b7894cd6
IRCNetwork: try to abort immediately if the send queue is full
2018-10-08 16:26:29 -07:00
James Lu
0b3793380b
relay: remove TCONDITION_TIMEOUT
2018-10-08 14:59:01 -07:00
James Lu
1ee93d2cc4
relay: remove world.started check, this shouldn't be needed anymore
2018-10-08 14:44:37 -07:00
James Lu
767ff15200
relay: add an explicit forcetag command
...
We used to be able to just /kill to forcetag, but with PyLink 2.0 kills actually get relayed.
2018-10-08 12:42:38 -07:00
James Lu
57faa1443a
relay: rename nick_collide() to forcetag_nick()
2018-10-08 12:41:52 -07:00
James Lu
20b3a61cd6
relay: simplify is_relay_client()
2018-10-08 12:12:09 -07:00