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

2284 Commits

Author SHA1 Message Date
James Lu
5d629f7331 matchHost: extend negation via "!" to regular hostmasks as well as exttargets 2017-05-04 19:04:03 -07:00
James Lu
d51c399351 Revert "relay: add locks in db read/writes (thread safety)"
Unfortunately, this made relay prone to freezing the entire PyLink server.

This reverts commit 2b4943a780.
2017-05-04 18:53:07 -07:00
James Lu
1358fedca6 exttargets: add $and exttarget (#334) 2017-05-04 18:00:32 -07:00
James Lu
dbeacf9249 exttargets: add a $network target (#334) 2017-05-04 17:16:50 -07:00
James Lu
e69e1f5f03 example-conf: fix reversed option description for password encryption 2017-04-29 00:08:07 -07:00
James Lu
79e2d20d9d commands: remove extraneous private=True from showchan 2017-04-27 07:28:26 -07:00
James Lu
4205694a65 PyLink 1.2-alpha1 2017-04-20 13:25:18 -07:00
James Lu
94de51ad53 README: rewrap steps in "Installing from source" 2017-04-16 01:25:50 -07:00
James Lu
f6d97374c5 README: Update Charybdis link to GitHub
http://charybdis.io/ has been dead (NXDOMAIN) for a while now...
2017-04-16 01:22:28 -07:00
James Lu
18c13c735e Merge branch 'master' into devel
Conflicts:
	VERSION
2017-04-10 15:14:48 -07:00
James Lu
2feb93aaf0 clientbot: generate PUIDs/PSIDs with the nick or server name as prefix 2017-04-09 15:32:13 -07:00
James Lu
0e6d33a668 networks.remote: suppress errors if restoring remoteirc.pseudoclient.account
This should rarely happen, but can be purposely caused by causing the remote network to disconnect through 'remote'.
2017-04-09 15:21:19 -07:00
James Lu
3f6501fa88 clientbot: make sure incoming nicks don't clash with a PUID/PSID
This should really never happen, but it might break quite a few things if it does.
2017-04-09 15:12:52 -07:00
James Lu
cc9ffd47b1 clientbot: fix misleading comment 2017-04-09 15:01:49 -07:00
James Lu
709b1d2ead commands: show TS on networks without has-ts as well 2017-04-09 14:54:16 -07:00
James Lu
bf1d7812e2 clientbot: track channel modes and TS on join
Closes #345.
2017-04-09 14:49:19 -07:00
James Lu
6d96dd21ac updateTS: remove usage of mutable as function default argument
This may subtly break things: https://docs.quantifiedcode.com/python-anti-patterns/correctness/mutable_default_value_as_argument.html
2017-04-09 14:45:12 -07:00
James Lu
539ad668cf PyLink 1.1.2 2017-04-06 15:33:28 -07:00
James Lu
e2ae091723 .travis.yml: bring PyPI deployment to production 2017-04-06 15:30:46 -07:00
James Lu
0eda9a9d95 Merge branch 'master+sasl-backport'
This merges in backported SASL fixes from 1.2-dev.
2017-04-05 23:20:15 -07:00
James Lu
22ceb3f699 clientbot: make SASL timeout configurable & raise default to 15 secs
(cherry picked from commit 9d50a4363b)
2017-04-05 23:19:08 -07:00
James Lu
84448e9803 clientbot: time out CAP/SASL after 5 seconds
Closes #424.

(cherry picked from commit 47f0b7626f)
2017-04-05 23:19:08 -07:00
James Lu
b14ea4f051 clientbot: send CAP LS before NICK/USER so that it consistently gets a response before connect
Previously, SASL was failing on networks like freenode, as the connection completed before a CAP response was received.

(cherry picked from commit 9420f21680)
2017-04-05 23:19:08 -07:00
James Lu
9d50a4363b clientbot: make SASL timeout configurable & raise default to 15 secs 2017-04-05 23:08:17 -07:00
James Lu
69c25b5954 channel-modes: document UnrealIRCd +D and +V 2017-04-02 14:04:44 -07:00
James Lu
4daa94c014 Merge branch 'master' into devel 2017-04-01 12:42:00 -07:00
James Lu
df4acbf5d5 unreal: expand PUIDs in outgoing channel modes
This fixes things like relay modes / automode targets not working.
2017-04-01 12:39:38 -07:00
James Lu
8465edd5af ts6_common: fix outbound kicks to PUIDS not updating the state
This was previously trying to update the state based on the user's nick, but we use PUIDs internally. In other words, make sure that we don't replace the internal target when sending the outgoing text...
2017-04-01 12:26:08 -07:00
James Lu
fccec3a195 unreal: fix userlist parsing breaking with Unreal 3.2 nicks starting with a symbol 2017-04-01 12:10:19 -07:00
James Lu
d94bd3f28f rm pylink-contribdl, superseded by plugin loading from any folder 2017-03-31 18:57:07 -07:00
James Lu
348572bcb6 Irc: rewrite sendq to use queue.Queue, and add an upper bound (maxsendq)
Closes #430. Closes #442.
2017-03-31 17:41:56 -07:00
James Lu
ad4fe1924b networks: show an error instead of silently failing if the command is empty 2017-03-31 17:13:04 -07:00
James Lu
0749a42ef6 networks.remote: add recursion checks to prevent bad queries from crashing the server
For example, 'remote net1 remote net2 echo hi' was problematic if the source network was 'net1'.

It's a good thing this command is restricted by default...
2017-03-31 16:40:26 -07:00
James Lu
9d9b01839c Split Irc.reply() into _reply() to make 'networks.remote' actually thread-safe
Previously, the Irc.reply_lock check was in the reply() function itself: replacing it with another function checking for the same lock would delay execution,
but then run the wrong reply() code if another module used irc.reply() while 'remote' was executing.
2017-03-31 16:25:28 -07:00
James Lu
40fa4f71bc corecommands: add a 'clearqueue' command to force clear queue muckups (#441) 2017-03-28 22:39:11 -07:00
James Lu
ae6c68018b core: half the default throttle time (from 0.01 to 0.005) 2017-03-28 22:38:54 -07:00
James Lu
029bb38af8 protocols: skip queuing when responding to PING 2017-03-28 22:30:33 -07:00
James Lu
5d10ee39be ServiceBot: make displaying unknown command errors optional
Closes #441.
2017-03-28 22:18:51 -07:00
James Lu
4cd71d12ef fantasy: don't trigger when the fantasy prefix is followed by a space
This prevents false positives such as "& that", "@ person", etc.
2017-03-28 22:00:41 -07:00
James Lu
d425cb9d47 relay: fix case sensitivity in channel TS check 2017-03-28 08:08:39 -07:00
James Lu
5c8ddef60b Merge branch 'master' into devel
Conflicts:
	classes.py
2017-03-27 16:13:58 -07:00
James Lu
1d6da68963 Add Travis CI configuration
Squashed commit of the following:

commit b03e5f82405343d54015a40c1655d54f0fc5ce90
Author: James Lu <GLolol@overdrivenetworks.com>
Date:   Mon Mar 27 16:04:51 2017 -0700

    .travis: install pandoc, disable docs and email

commit 25cd4ad2a07686f7a196b151070efe3fd31a94e3
Author: James Lu <GLolol@overdrivenetworks.com>
Date:   Mon Mar 27 15:55:36 2017 -0700

    wrap python as a subprocess

commit 749177ac7b13921f8a04b023b54c1716ff0ce0b0
Author: James Lu <GLolol@overdrivenetworks.com>
Date:   Mon Mar 27 15:53:37 2017 -0700

    oops, do proper matching

commit 98f90c15fd5be91b70ecf70bdff3a005d1fedc94
Author: James Lu <GLolol@overdrivenetworks.com>
Date:   Mon Mar 27 15:52:15 2017 -0700

    i am not dealing with this shell.

commit 8b3dcb6c59617e7ca85363bf485dc295ff22a012
Author: James Lu <GLolol@overdrivenetworks.com>
Date:   Mon Mar 27 15:37:28 2017 -0700

    More .travis.yml tweaks

commit 49346bef1b7794eefd251d27e846a184c0569dad
Author: James Lu <GLolol@overdrivenetworks.com>
Date:   Mon Mar 27 15:28:30 2017 -0700

    .travis.yml: add missing directory to compileall

commit 7eb1d464481c958ef007b51234045a13f1a8c06e
Author: James Lu <GLolol@overdrivenetworks.com>
Date:   Mon Mar 27 15:23:21 2017 -0700

    Make travis do syntax verification on all modules

commit 0331356e91e22cd85859a4ebbaf1973f21db1650
Author: James Lu <GLolol@overdrivenetworks.com>
Date:   Mon Mar 27 15:19:24 2017 -0700

    Revert ".travis.yml: remove duplicate python version restriction"

    This reverts commit 51c74cedff78aa204813743e1a738e3aa63fe3c6.

commit 51c74cedff78aa204813743e1a738e3aa63fe3c6
Author: James Lu <GLolol@overdrivenetworks.com>
Date:   Wed Feb 22 16:23:14 2017 -0800

    .travis.yml: remove duplicate python version restriction

commit 04087af09a29e2f825545cdc36be55f86a7c7d10
Author: James Lu <GLolol@overdrivenetworks.com>
Date:   Wed Feb 22 16:07:51 2017 -0800

    Test travis-ci deployment
2017-03-27 16:13:05 -07:00
James Lu
657ed82958 launcher: catch all errors when loading plugins, not just ImportError / OSError 2017-03-27 15:09:27 -07:00
James Lu
ff0eda1fba networks: flip **kwargs position to fix Python 3.4 support
Reported by @koaxirc.
2017-03-27 15:00:01 -07:00
James Lu
d70ca9fa3b Irc: simplify runloop error catching, adding RuntimeError and SystemExit (closes #438)
socket.error is aliased to OSError since Python 3.3, and ConnectionError is actually a subclass of OSError.
So, it makes more sense to just catch the more generic type here.

Also, make ProtocolError derive from RuntimeError instead of Exception.

(cherry picked from commit 397df48efd)
2017-03-26 14:46:51 -07:00
James Lu
55873416a1 control: raise KeyboardInterrupt to speed up forced shutdowns? 2017-03-26 14:44:04 -07:00
James Lu
d6243d9f89 protocols: raise NotImplementedError with proper reasons 2017-03-26 14:32:54 -07:00
James Lu
938a1fb9d7 Irc: reorder comments from last commit 2017-03-26 14:25:02 -07:00
James Lu
397df48efd Irc: simplify runloop error catching, adding RuntimeError and SystemExit (closes #438)
socket.error is aliased to OSError since Python 3.3, and ConnectionError is actually a subclass of OSError.
So, it makes more sense to just catch the more generic type here.

Also, make ProtocolError derive from RuntimeError instead of Exception.
2017-03-26 14:17:37 -07:00
James Lu
ce0c84266e fantasy: make responding to nick a per-service configuration option (#343)
This also renames the "respondtonick" option to "respond_to_nick", deprecating the former name.
2017-03-26 14:03:31 -07:00