3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-11-24 03:29:28 +01:00
Commit Graph

2434 Commits

Author SHA1 Message Date
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
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
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
James Lu
9f6e4306cd automode: fix handling of channels with multiple #'s in them
(cherry-picked from commit 09c8b03705)
2018-01-29 08:21:37 -08:00
James Lu
58b717a2a0 docs/t: warn in main articles that specifications in master may be outdated
[skip ci]
2018-01-13 18:29:57 -08:00
James Lu
7a32e7d8a2 global: ignore empty "global:" configuration blocks
(cherry picked from commit 15a231a371)
2018-01-03 08:01:27 -08:00
James Lu
d5d140f4b0 p10: fix hashed cloaks check reading from the wrong config variable
(cherry picked from commit 043a147b41)

Conflicts:
	protocols/p10.py
2018-01-02 20:38:12 -08:00
James Lu
c35c8cd4aa
FAQ updates [skip ci]
- add answers for "services bots not spawning" and "inconsistent config spacing causing errors"
- reword the connection troubleshooting section slightly
- mention using 'showchan' to help determine the cause of missing user issues
2017-11-07 09:59:37 -08:00
James Lu
9ffe2edc74 README: mention fix for #526 (unreal hostname desyncs)
[skip ci]
2017-10-18 22:36:22 -07:00
James Lu
a63e2557be unreal: fix wrong hook name for legacy user introduction
(cherry picked from commit 4935ef521e)
2017-10-15 02:00:02 -07:00
James Lu
e8b7116888 example-conf: clarify terminology regarding server IDs
P10 calls them server numerics, for example. Also clarify what the sid and sidrange options are used for (i.e. why they need to be set).

[skip ci]
2017-10-11 17:59:16 -07:00
James Lu
d09c1be688 README: update IRC link 2017-10-01 00:39:28 -07:00
James Lu
67d5766cde README: remove expiringdict install note
1.1.4 has since been released, fixing installation via pip
[skip ci]
2017-09-24 10:31:07 -07:00
James Lu
ae02a9ba4f README: reword branch notes to be more neutral
[ci skip]
2017-09-20 20:54:18 -07:00
James Lu
746c6783da PyLink 1.2.1 2017-09-19 21:15:48 -07:00
James Lu
0e45fbdf55 Revert "faq: add a note regarding #497 (bans and modes blocking clientbot from relaying)"
This reverts commit 7ae22dc848.
2017-09-19 21:15:48 -07:00
James Lu
594e8ad771 p10: fix wrong hook name for user introduction
(cherry picked from commit 6dec4bd96f)
2017-09-19 21:06:14 -07:00
James Lu
49136d5abd core: raise better errors on common logging block syntax mistakes
These are commonly reported and include:
- Commenting out the contents of logging:channels without commenting out the "channels:" heading, causing that block to become None.
- Commenting out headers like "filerotation:", causing its body to become pairs in logging:files or something similar.
- Leaving logging:channels:<netname> empty: this causes it to become None, so using get() on it fails.
2017-09-08 19:07:03 -07:00
James Lu
93704d85bf unreal: fix TypeError when a set is given for modes in mode() 2017-09-05 21:21:16 -07:00
James Lu
149fdde92f README: drop Debian repo instructions
There seems to be little user interest in these builds, and they take too much maintenance effort (3 different dists) to be worthwhile.
2017-09-05 19:11:37 -07:00
James Lu
f3e82cc15b Concisify match_host CIDR logging again
We're replacing the glob, not the target's host.

(cherry picked from commit 7aa836efa6)
2017-09-05 19:03:18 -07:00
James Lu
d1f8358159 Fix wrong logging for CIDR ranges in match_host
(cherry picked from commit 761d3ef500)
2017-09-05 19:03:18 -07:00
James Lu
90884924a8 relay: remove a useless logging line
(cherry picked from commit 3b091f9e20)
2017-09-05 19:03:17 -07:00
James Lu
7188081511 networks: throw a proper error in 'remote' if the remote network isn't connected 2017-09-05 18:55:19 -07:00
James Lu
8420587318 clientbot: warn when an outgoing message is blocked
Closes #497.

(backported from commit 5112fcd7d1)
2017-09-05 18:53:33 -07:00
James Lu
f4c51cde00 automode: don't send empty mode lines if no users match the ACL 2017-09-05 18:36:37 -07:00
James Lu
0eb605219b conf: use splitext() to fetch the config name
This fixes incorrect behaviour when there are multiple .'s in the config filename (e.g. '1.2.3.yml' got truncated to confname='1')
2017-08-31 15:14:47 -07:00
James Lu
1f270c985f hybrid: drop EX and IE from required capabilities
This fixes compatibility with hybrid trunk, commit ircd-hybrid/ircd-hybrid@981c61e36c

(cherry picked from commit 30dc4a2b27)

Conflicts:
	protocols/hybrid.py
2017-08-31 15:07:04 -07:00
James Lu
a03214514c hybrid, ts6, ratbox: fix +p mode definitions properly
+p is noknock and rfc1459-style private on all 3 IRCds, though the latter bit is undocumented in /help cmodes (maybe it's assumed?)
+p is also "paranoia" on hybrid, which adds more restrictions to halfops and /invite

(cherry picked from commit c107f0062f)
2017-08-31 15:06:25 -07:00
James Lu
32130a7988 channel/user-modes.csv: add RFC1459 & ngIRCd columns
(cherry picked from commit 0a56ab662b)
2017-08-31 15:06:25 -07:00
James Lu
dd5a0c4892 ts6: fallback realhost to host, not None
(cherry picked from commit dfa90378df)
2017-08-31 14:57:28 -07:00
James Lu
7fcefa41af example-conf: remove wrong advice regarding P10 extended_accounts
Clearly I misread readme.features, oops.

(cherry picked from commit 7f112e3c66)
2017-08-31 14:35:32 -07:00
James Lu
394057c7a1 PyLink 1.2.0 2017-08-14 17:34:20 -07:00