3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-11-30 23:09:23 +01:00
Commit Graph

2312 Commits

Author SHA1 Message Date
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
James Lu
f497044777 corecommands: use utils.PLUGIN_PREFIX in 'unload' 2017-03-25 14:08:37 -07:00
James Lu
36f9bef450 docs/t: refresh protocol-modules graphic 2017-03-25 13:47:16 -07:00
James Lu
7ff5f47064 protocols: tweak mode type definitions 2017-03-25 13:47:16 -07:00
James Lu
8fec778b9b Merge branch 'wip/generic-p10-support' into devel
Closes #330. Really fixes #329.
2017-03-25 13:47:16 -07:00
James Lu
7acfd80387 Update named mode definitions 2017-03-25 13:47:16 -07:00
James Lu
45729d48cc p10: mode definition tweaks
- rename cmode +d to "had_delayjoin" (from "had_delayjoins")
- add cmode +R for ircu
-
2017-03-25 13:47:16 -07:00
James Lu
1994d1171c p10: add support for ircu proper 2017-03-25 13:47:16 -07:00
James Lu
7f923ba047 README: update supported IRCds notes 2017-03-25 13:47:16 -07:00
James Lu
e27095dd67 p10: set mode +x on targets when changing vHost 2017-03-25 13:47:15 -07:00
James Lu
6a32ae94fc p10: implement FAKE and SETHOST IRCd checks 2017-03-25 13:47:15 -07:00
James Lu
235b296a69 Rename protocols/nefarious.py to protocols/p10.py 2017-03-25 13:47:15 -07:00
James Lu
fa6120a563 nefarious: add a snircd mode set, fix nef2 umode +Dd definitions 2017-03-25 13:47:15 -07:00
James Lu
205053aebe example-conf: account-based cloaking is not nefarious specific 2017-03-25 13:47:15 -07:00
James Lu
bb63d859c9 example-conf: refresh P10 config arguments
The new p10_ircd option shown here isn't implemented yet.
2017-03-25 13:47:15 -07:00
James Lu
6154a7fb09 nefarious: mark cmode +A and +U as type B (#330)
This is consistent with snircd as of 58af1fc4d0
2017-03-25 13:47:15 -07:00
James Lu
e3c0bf6a1b Irc: break out of processQueue as soon as self.aborted is set 2017-03-24 18:40:02 -07:00
James Lu
af3b350498 networks.remote: fix "unknown service" error format 2017-03-24 01:10:56 -07:00
James Lu
6c4e042307 networks.remote: break if the target network is the same as the source (#437)
_remote_reply() otherwise gets sent into a loop when remoteirc and irc is the same here.
2017-03-24 01:08:01 -07:00
James Lu
490f21ff9f networks.remote: override remoteirc.reply() to send replies back to the caller
Closes #437.
2017-03-24 00:59:48 -07:00
James Lu
99d3780773 Irc: add locking for reply() calls (#437) 2017-03-24 00:57:21 -07:00
James Lu
0f472c8959 networks.remote: add an optional --service option to call commands for other services. 2017-03-24 00:25:19 -07:00
James Lu
9e0e47064a hybrid, ratbox: re-disable slash-in-hosts 2017-03-24 00:24:06 -07:00