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

1214 Commits

Author SHA1 Message Date
James Lu
cf2fcf9263 classes.Irc: only allow one shutdown sequence at a time (#152) 2016-01-09 20:25:53 -08:00
James Lu
989f1f4f64 plugins: use irc.disconnect() to disconnect networks (#152) 2016-01-09 20:25:51 -08:00
James Lu
f70ca54ae4 classes: IRC object disconnect tweaks (really fixes #152)
- disconnect() was missing a socket.shutdown() cause, as socket.close() does NOT cause connections to close immediately! https://docs.python.org/3/library/socket.html#socket.socket.close
- Merge _disconnect() and disconnect(), the latter was just a wrapper with little use
2016-01-09 20:04:10 -08:00
James Lu
f2efaf9437 docs: update hooks-reference (#113) 2016-01-09 19:18:19 -08:00
James Lu
b1aa4c2ec5 classes: show instance type in classes.IrcUser/IrcChannel/IrcServer 2016-01-09 19:15:39 -08:00
James Lu
27673aba0e opercmds: add KILL command (#90) 2016-01-09 18:34:57 -08:00
James Lu
8db8f6b6c4 note to self: never use case-insensitive find/replace again 2016-01-09 18:34:41 -08:00
James Lu
48203ff321 protocols: reword error text 2016-01-09 17:44:18 -08:00
James Lu
0c48ea6791 Merge branch 'staging' into devel
Fix #154. This everts what was done to address #152, but unclean shutdowns are not as bad as having the server fork endlessly!
2016-01-07 22:08:12 -08:00
James Lu
a385bc32d9 Revert "classes: replace threading.Timer with normal threads for schedulePing"
This reverts commit 64bb646d1e.
2016-01-05 19:35:16 -08:00
James Lu
a7104dc01c Revert "classes: actually, loop schedulePing only when connection_thread is alive"
This reverts commit 124100fcf5.
2016-01-05 19:35:15 -08:00
James Lu
b446cb8abf README: mention ircmatch as a dependency 2016-01-03 21:06:24 -08:00
James Lu
71e6319b70 pylink: don't crash if plugin is missing 2016-01-03 21:05:45 -08:00
James Lu
b0a405c6e0 opercmds: add 'checkban' command - ircmatch frontend for checking bans 2016-01-03 21:05:30 -08:00
James Lu
ba7b6af89b Rename config.yml.example -> example-conf.yml
Easier syntax highlighting with editors this way, since the file extension is now something they recognize. Also, update README and .gitignore accordingly.
2016-01-03 20:02:23 -08:00
James Lu
a3a27a9031 Merge chancmds plugin into opercmds 2016-01-03 19:59:48 -08:00
James Lu
43404c26dc opercmds: add JUPE command (#90) 2016-01-03 11:45:01 -08:00
James Lu
9a43a620f9 unreal: implicitly set +xt when SETHOST or CHGHOST is received (#136) 2016-01-03 11:28:35 -08:00
James Lu
adcb61da67 unreal: update users' hosts properly on setting +x/-x
Closes #136.
2016-01-03 11:28:26 -08:00
James Lu
0c43543b38 Add authors file 2016-01-03 10:05:30 -08:00
James Lu
9ac9bc1137 changehost: check users' real hosts instead of their displayed vHosts 2015-12-31 18:46:09 -08:00
James Lu
0430e1dae7 utils.getHostmask: option to return hostmask with real host, use placeholders w/o spaces in them 2015-12-31 18:09:52 -08:00
James Lu
6577013ada Irc: Return False instead of None when isInternalClient fails to find a match 2015-12-31 17:53:33 -08:00
James Lu
eac934c237 classes: sort code, move nickToUid, clientToServer, isInternalClient, isInternalServer into the Irc class
The following BREAKING changes are made:
utils.nickToUid(irc, nick) -> irc.nickToUid(nick)
utils.isInternalClient(irc, uid) -> irc.isInternalClient(uid)
utils.isInternalServer(irc, uid) -> irc.isInternalServer(uid)
utils.clientToServer(irc, uid) -> utils.getServer(uid)
2015-12-31 17:28:47 -08:00
James Lu
8fb76f96ff changehost: whoops, numbers are allowed in hostnames too 2015-12-30 17:08:38 -08:00
James Lu
f74f67bc1a example conf: rewrap everything to ~80 lines, add Changehost example block 2015-12-30 16:54:51 -08:00
James Lu
0c6a658317 New Changehost plugin, with flexible on-connect vHost settings using hostmask matches and substitution 2015-12-30 16:53:53 -08:00
James Lu
8b8895988d ts6: map EUID hook to UID 2015-12-30 16:53:35 -08:00
James Lu
447ea0731d README: simplify module installation text 2015-12-30 15:59:22 -08:00
James Lu
741fed9acd protocols: allow changing remote users' hosts in updateClient
Closes #142.
2015-12-30 15:54:09 -08:00
James Lu
f3d8c35219 ts6: fix sending wrong UID in handle_chghost hook payload 2015-12-30 15:53:31 -08:00
James Lu
add409789a relay: fix incorrect logging in changing client fields 2015-12-30 15:53:05 -08:00
James Lu
124100fcf5 classes: actually, loop schedulePing only when connection_thread is alive
Related to #152. Probably still not perfect, but shutdowns are somewhat faster than they were before.
2015-12-29 11:36:39 -08:00
James Lu
91f75e4d93 classes: Don't require self.connected to be set for "No data received" disconnects
Previously, this would've caused an infinite loop if a socket closed (e.g. from server shutdown) while PyLink was connecting.
2015-12-29 11:23:06 -08:00
James Lu
9556efae46 docs: pingServer is required in protocol modules 2015-12-29 11:18:15 -08:00
James Lu
d7fdeed19d relay: remove use of sched in exportDB
We were using sched and threading together? How inefficient...
2015-12-29 11:14:19 -08:00
James Lu
cc79871eaf exec: add some more default imports for convenience 2015-12-29 11:14:19 -08:00
James Lu
64bb646d1e classes: replace threading.Timer with normal threads for schedulePing
Closes #152.
2015-12-29 10:58:22 -08:00
James Lu
59c9b127a3 relay/world: remove need for world.schedulers 2015-12-26 17:06:28 -08:00
James Lu
270bdcc79a Move autogen docs to separate folder, add them for conf, classes, log, and world 2015-12-26 16:55:59 -08:00
James Lu
bf2b256b84 docs: fix markdown formatting 2015-12-26 16:47:25 -08:00
James Lu
e4815a72e1 docs: add part of hooks-reference, mention topics and modes in protocol module spec, some more changes
ref: #113.
2015-12-26 16:44:22 -08:00
James Lu
11b8821228 classes: log raw hook data for reference 2015-12-26 16:43:40 -08:00
James Lu
bf7522697a Rename PYLINK_CLIENT_OPERED hook -> CLIENT_OPERED
To be consistent, any PYLINK_* hooks should internal hooks sent out by PyLink itself. CLIENT_OPERED, on the other hand, requires protocol modules to send it and thus, shouldn't be labeled as a PYLINK_* hook.
2015-12-26 15:41:22 -08:00
James Lu
04275d1dfa relay: only show creator in LINKED if the value exists 2015-12-26 15:24:06 -08:00
James Lu
4529481556 docs/writing-plugins.md: also mention irc.reply() 2015-12-26 15:07:44 -08:00
James Lu
775df5a6c5 plugin_example.py: use irc.reply() 2015-12-26 15:02:23 -08:00
James Lu
01a4da5d3a classes: Fix another missing docstring 2015-12-26 14:47:23 -08:00
James Lu
11adee9d78 Yet another documentation refresh (#113) 2015-12-26 14:45:28 -08:00
James Lu
9811df3dfc Unbrick the tests 2015-12-26 14:30:14 -08:00