James Lu
c0a061eff3
launcher: mention that -c is explicitly kept as a no-op for PyLink <= 1.2.x
2018-03-30 23:44:47 -07:00
James Lu
b14f52b547
unreal: bump protocol version to 4017 (no changes needed)
...
(cherry picked from commit a2783d74c5
)
2018-03-30 23:41:27 -07:00
James Lu
481561f972
control: don't spew "Stopping plugins" notices if none are loaded
...
(cherry picked from commit d818c17072
)
2018-03-30 23:27:38 -07:00
James Lu
7dec2d15db
launcher: daemonize and write PID file only after reading control options (-s/-R/-r)
...
(cherry picked from commit b9a66244f0
)
2018-03-30 23:24:41 -07:00
James Lu
b9a66244f0
launcher: daemonize and write PID file only after reading control options (-s/-R/-r)
2018-03-30 23:23:10 -07:00
James Lu
2ddb0ee18f
launcher: add experimental daemonization support
...
Closes #187 .
(cherry picked from commit 0b0da2cfe6
)
2018-03-30 23:07:30 -07:00
James Lu
7d5d5a385e
control: handle SIGUSR1 as well as SIGHUP as rehash
...
This is used by the backported launcher for rehash.
2018-03-30 23:06:58 -07:00
James Lu
b5735702f7
Backport the launcher as of commit 8321485315
to 1.3
...
This adds support for stale PID file checking (#182 ), as well as the --rehash/--stop/--restart options
2018-03-30 23:06:01 -07:00
James Lu
79ff9f23fb
setup: update PyPI classifiers
...
- Declare Python 3.6 support
- Change development status to Production/Stable
(cherry picked from commit dbc9d1690d
)
2018-03-30 22:44:31 -07:00
James Lu
58e6527719
Irc: don't abort on BlockingIOError, ssl.SSLWantReadError, ssl.SSLWantWriteError
...
This effectively merges in the following 2.0 commits:
- "IRCNetwork: do not break on socket BlockingIOError" 6a90e99de4
- "IRCNetwork: also catch ssl.SSLWantReadError and ssl.SSLWantWriteError" ccc9f8e5c8
- "IRCNetwork: bump SOCKET_REPOLL_WAIT to 1 sec" 92460716d1
This fixes one part of #463 .
2018-03-30 12:24:01 -07:00
James Lu
c54bb557dd
relay: only look up nick once in normalize_nick
...
(cherry picked from commit ec8f744449
)
Conflicts:
plugins/relay.py
2018-03-30 12:14:48 -07:00
James Lu
78b515144f
Bump VERSION to 1.3-dev
...
[skip ci]
2018-03-30 12:09:01 -07:00
James Lu
9d21a5269f
relay: speed up shutdowns by not manually splitting off every relay server
...
The connection will soon be gone anyways, so this is fairly pointless.
2018-03-30 12:06:45 -07:00
James Lu
c978e1c52f
relay: fix a typo: CLIENTBOT_WHITELISTED_UMODES -> CLIENTBOT_WHITELISTED_CMODES
2018-03-30 12:01:38 -07:00
James Lu
310ad345a3
SECURITY: normalize account names before checking network / oper filters
...
(cherry picked from commit a6c1beaad0
)
2018-03-30 11:59:29 -07:00
James Lu
22efe1384c
_login: tweak error message: opered up => opered
...
(cherry picked from commit 557f1578bc
)
Conflicts:
coremods/corecommands.py
2018-03-30 11:58:50 -07:00
James Lu
a6c1beaad0
SECURITY: normalize account names before checking network / oper filters
2018-03-30 11:55:29 -07:00
James Lu
557f1578bc
_login: tweak error message: opered up => opered
2018-03-30 11:55:29 -07:00
James Lu
79143a1e40
Allow limiting login blocks to opers & certain hosts
...
Closes #502 .
(backported from commit f439267129
)
This also fixes the previous commit "Allow specifying login blocks that are local to certain networks" for 1.3.
2018-03-30 11:35:45 -07:00
James Lu
c5970ba26d
Allow specifying login blocks that are local to certain networks
...
(cherry picked from commit 8059f3f7fc
)
2018-03-30 11:35:45 -07:00
James Lu
1fbe3c6891
relay: sync whitelisted mode lists with 2.0-alpha3
2018-03-30 11:21:15 -07:00
James Lu
209fa9722c
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
(cherry picked from commit ec3b230eab
)
2018-03-30 11:20:41 -07:00
James Lu
597685d77c
relay_clientbot: fix @#channel messages not being treated as channel-specific
...
This is a lighter version of the more comprehensive fix in 2.0[1], which
depends on reworked STATUSMSG handling in relay.
[1]: https://github.com/GLolol/PyLink/commit/57334183
2018-03-30 11:14:56 -07:00
James Lu
a24d4d5b9c
example-conf: sort clientbot ex. options so that cb-specific ones are at the end
...
(backported from commit 0c2927fb1e
)
2018-03-30 11:00:53 -07:00
James Lu
59d52920f3
example-conf: revise the example servers: section
...
- Remove "8P#" as a sidrange default - it does not leave adequate room for larger networks
- Move the TS6 example to near the end; it has less demand than Unreal and P10
- Consistently use "must" to describe P10 cloaking options, where any misconfiguration will lead to serious desyncs
- Bumped example autoconnect times from 5 to 10 seconds
- Add the 'netname' option to server blocks that previously didn't include it
- Comment out the 'channels' setting on each server example by default
- Various wording clarifications
(backported from commit 390b7a327a
)
2018-03-30 11:00:53 -07:00
James Lu
77eb9b4060
example-conf: revise notes for P10, TS6 servers
...
Backport commit 3d61bfd114
from 2.0.
2018-03-30 11:00:53 -07:00
James Lu
6d08e0b953
docs: various fixes pointed out by @MrBenC
...
- Clarify the project's goals of being an IRC services *framework*
- Briefly mention in the FAQ that the relay plugin is needed for...well, relay!
[skip ci]
(cherry picked from commit 484822e5d7
)
2018-03-30 11:00:53 -07:00
James Lu
f274088ea0
classes: more checks on _aborted to (hopefully) prevent duplicate disconnects triggered by _send
2018-03-30 10:47:34 -07:00
James Lu
93d590fdea
UserMapping: check for lower_nick rather than isinstance(userobj, User)
...
This makes classes reload-safe again.
2018-03-30 10:46:49 -07:00
Jordy Zomer
7a1dcbd460
Use yaml.safe_load instead of yaml.load to prevent executing arbitrary code ( #589 )
2018-03-29 14:12:32 -07:00
Jordy Zomer
be8e4be49d
Use yaml.safe_load instead of yaml.load to prevent executing arbitrary code ( #589 )
2018-03-29 14:10:33 -07:00
James Lu
335fb352ec
classes: ignore errors on duplicate selector.unregister()
...
This should really be fixed more thoroughly: there are still some remaining issues after the port to select, with disconnect / reconnect being triggered twice.
2018-03-29 14:04:58 -07:00
James Lu
29cda543e4
launcher: use a clearer description for --trace
2018-03-24 01:07:24 -07:00
James Lu
22b2410913
RELNOTES: mention new --trace arguments for 2.0-alpha3
2018-03-24 01:05:47 -07:00
James Lu
22f781189d
Refresh 2.0-alpha3 changelog with engine-rework batch 2 changes so far
2018-03-24 01:02:55 -07:00
James Lu
84187a07ec
Refresh 2.0-alpha3 changelog (up to 815535d76b
)
2018-03-24 01:02:14 -07:00
James Lu
0bc24c94b2
relay: shortcut get_remote_user some more; only grab spawn lock if the user doesn't exist
2018-03-24 00:31:15 -07:00
James Lu
bbb36cd956
relay: reuse get_relay_server_sid output when bursting groups of users
2018-03-24 00:25:05 -07:00
James Lu
a085aed924
Rework irc.users and User() to transparently create a store of nicks -> UIDs
...
- This turns IRCNetwork.users into a new UserMapping class, which stores User objects by UID (str) and provides a 'bynick' dict storing case-normalized nicks to lists of UIDs.
- Turn User.nick into a property, where the setter implicitly updates the 'bynick' index and computes a case-normalized version of the nick (User.lower_nick)
2018-03-24 00:12:19 -07:00
James Lu
815535d76b
IRCNetwork: fix autoconnect not applying when socket.connect() fails
2018-03-23 20:21:49 -07:00
James Lu
814dd9a3c5
IRCNetwork: only register a socket with selectdriver after connecting
2018-03-23 20:16:59 -07:00
James Lu
ec8f744449
relay: only look up nick once in normalize_nick
2018-03-22 22:45:40 -07:00
James Lu
bb1334696c
classes: cache more of to_lower()
2018-03-22 22:03:08 -07:00
James Lu
c11a476257
Revert "selectdriver: actually, force a disconnect when _run_irc() fails"
...
This reverts commit f10f5bee52
.
2018-03-22 21:21:33 -07:00
James Lu
b522967760
Fix duplicate calls to _run_autoconnect
2018-03-22 17:42:28 -07:00
James Lu
f10f5bee52
selectdriver: actually, force a disconnect when _run_irc() fails
2018-03-21 21:07:44 -07:00
James Lu
989259af97
selectdriver: don't crash if _run_irc hits an error
2018-03-21 20:14:27 -07:00
James Lu
5172841378
launcher: add support for tracing (most of) PyLink's execution
2018-03-17 16:13:35 -07:00
James Lu
91b86ce0e4
Remove structures.DeprecatedAttributesObject, it's vastly inefficient for what it accomplishes
2018-03-17 15:49:48 -07:00
James Lu
fb6c3bf6d5
selectdriver: don't try to deregister dead sockets
2018-03-17 15:33:39 -07:00