James Lu
62aea23879
Irc: fix throttle_time not actually blocking for the defined amount of time
...
Passing the timeout to queue.Queue.get is invalid because it'll only block if there ISN'T any text to send.
2017-05-07 17:31:31 -07:00
James Lu
ce77f2cbd4
ServiceBot: minor fix of logging syntax
2017-05-07 17:11:51 -07:00
James Lu
24b5fd92ef
relay: don't error if the pylink service is gone (e.g. during shutdown)
2017-05-07 13:58:11 -07:00
James Lu
b83aba0b13
inspircd: stop ENDBURST timers when irc.aborted gets set
2017-05-07 13:56:55 -07:00
James Lu
15ed251ed7
Irc: refuse to queue send data if aborted is set
2017-05-07 13:46:25 -07:00
James Lu
de67fe0d37
Irc: log socket shutdown errors to debug
2017-05-07 13:46:15 -07:00
James Lu
f4babc6f28
Irc: only disconnect the write portion of the socket
...
Per https://docs.python.org/3/howto/sockets.html#disconnecting
2017-05-07 13:46:06 -07:00
James Lu
59dd8d3bf8
control: print remaining threads on forced shutdowns as well
2017-05-07 13:39:46 -07:00
James Lu
5c7752a203
relay: stop execution if spawn lock acquire fails
...
Also, make the lock timeout a consistent, global variable.
(partial merge of commit e24bc54bbcefc40bf73a197de2dc24f7cd42cf79)
2017-05-04 21:18:02 -07:00
James Lu
fd15600d80
docs: split exttargets info into a new page
2017-05-04 20:05:57 -07:00
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
bab6a71a2e
example-conf: fix reversed option description for password encryption
...
(cherry picked from commit e69e1f5f03
)
2017-04-29 00:09:01 -07:00
James Lu
5cea0fa73a
commands: remove extraneous private=True from showchan
...
(cherry picked from commit 79e2d20d9d
)
2017-04-29 00:09:01 -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