3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-18 08:02:51 +01:00
Commit Graph

893 Commits

Author SHA1 Message Date
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
James Lu
3c51231ce8 inspircd: re-add RSQUIT handler (closes #150) 2015-12-24 19:52:52 -08:00
James Lu
3292ead034 README: formatting and minor content update 2015-12-24 19:52:33 -08:00
James Lu
b459b4d235 Merge branch 'master' into devel 2015-12-24 18:25:39 -08:00
James Lu
091bdc22da Test suite updates (doesn't work yet) 2015-12-24 18:24:42 -08:00
James Lu
38672ab9f5 Drop test_proto_inspircd.py, it's broken and unmaintained
Eventually, I plan to replace these with a generic protocol module test suite, which can hot-swap protocol modules and test all of them in a loop of some sort.
2015-12-24 18:18:16 -08:00
James Lu
d958f65f7e networks: call coreplugin and loaded plugins' main() functions on connect
I haven't really tested this very well, but it *should* not break anything......
2015-12-24 18:14:05 -08:00
James Lu
3f45450969 unreal: move setting irc.connected to AFTER protocol negotiation, and add missing EOS (ENDBURST) handler
The lack of the latter caused relay to *fail* to spawn users whenever an Unreal server reconnects, which should be fixed now.
2015-12-24 18:13:53 -08:00
James Lu
bd8aa4dc11 pylink: more consistent logging syntax 2015-12-24 18:08:00 -08:00
James Lu
9a81a2ba1f Rename utils.getProtoModule => utils.getProtocolModule 2015-12-24 17:33:49 -08:00
James Lu
2391918deb networks: add "remote" command, for running commands on remote networks 2015-12-22 10:58:58 -08:00
James Lu
4e7396b1ac exec: add 'inject' and raw' commands (Closes #148) 2015-12-22 10:47:02 -08:00
James Lu
fbf33e15a6 classes: in Irc.runline(), return the parsed hook args after processing 2015-12-22 10:46:54 -08:00
James Lu
375dbe8427 exec: accept newlines and other backslash escapes (in only "exec")
This way, more complex code can be entered using newlines: e.g. "for x in range(3):\n    irc.reply('hello world')"
2015-12-22 10:41:42 -08:00
James Lu
0c1bcf2bc5 example conf: add missing "sidrange" key in ts6net, rename "yournet" to "inspnet" and various tweaks
"sidrange" is required to be in the conf; otherwise, PyLink fails to start. Thanks @darksis for reporting.
2015-12-22 10:31:56 -08:00
James Lu
6330be8758 chancmds: add TOPIC command, fix help text of KICK (it is admin-only, not oper-only)
For #90.
2015-12-18 22:08:52 -08:00
James Lu
349cff36e1 protocols: in TOPIC hooks, send the topic as keyword "text" instead of keyword "topic"
This is just to be more consistent, as other hooks usually use "text" for text fields.
2015-12-18 22:05:10 -08:00
James Lu
d0436b9f4d Merge branch 'master' into devel 2015-12-18 21:44:15 -08:00
James Lu
f1adc90ac9 config.yml.example: mention new chancmds and opercmds plugins 2015-12-18 21:43:42 -08:00
James Lu
775933420a Move MODE from bots.py into a new plugin, opercmds.py 2015-12-18 21:43:37 -08:00
James Lu
1f2b99ca26 Move "KICK" from bots.py to a new plugin, chancmds
Also, add more sanity checks to make sure the things we're kicking are actually valid.
2015-12-18 21:43:37 -08:00
James Lu
4d0f346340 coreplugin: code formatting, show AWAY statuses in WHOIS
Closes #143.
2015-12-17 21:51:15 -08:00