3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-11-24 19:49:24 +01:00
Commit Graph

464 Commits

Author SHA1 Message Date
James Lu
876cf34825 relay: Remove spawning a sub-server for each relay network
It introduced bugs, and made the relay code more complicated than it has to be :(
2015-07-14 17:42:17 -07:00
James Lu
a1299676f1 relay: factorize fetching of remote users/SIDs, spawning them if they don't exist 2015-07-14 12:04:05 -07:00
James Lu
994b2961ee pr/insp: call endburst AFTER the server object is initialized...
derp
2015-07-14 12:03:22 -07:00
James Lu
59295f921b relay: part users on DELINK/DESTROY 2015-07-13 23:29:20 -07:00
James Lu
310a9201e2 relay: fix bugs with removing nonexistant channels in DELINK, and linking a channel multiple times in LINK 2015-07-13 22:54:51 -07:00
James Lu
1cbcec1001 relay: sync modes on initializeChannel as well 2015-07-13 22:42:50 -07:00
James Lu
c11dc769cf pr/insp: allow explicitly specifying ts in mode* 2015-07-13 22:42:33 -07:00
James Lu
c5298e3931 relay: fix joining users on initializeChannel 2015-07-13 21:46:05 -07:00
James Lu
235f169e54 relay: add quit, part, and nick handlers 2015-07-13 19:53:57 -07:00
James Lu
9bc8a35c25 relay: fix cases where a remote linked channel has different name 2015-07-13 19:46:24 -07:00
James Lu
a5e2beb566 relay: propogate prefix modes in relayJoins, if the remote net supports them 2015-07-13 18:23:58 -07:00
James Lu
d8cb3f1973 relay: spawn users on the right pseudoservers, and use SJOIN to introduce them if possible 2015-07-13 16:09:22 -07:00
James Lu
67f5bbba4b add a utils.started threaded trigger, so plugins can ACTUALLY wait until all Irc objects have been initialized to do their work 2015-07-13 16:07:55 -07:00
James Lu
a7a5688e69 pr/insp: add sjoinClient(), make auto-endburst optional for spawnServer 2015-07-13 16:06:58 -07:00
James Lu
b3528a2b04 relay: better channel initialization 2015-07-13 00:01:04 -07:00
James Lu
b3206822d2 relay: fix users being cloned on every JOIN 2015-07-12 23:31:26 -07:00
James Lu
6b9ec694b7 relay: basic JOIN handling 2015-07-12 23:28:54 -07:00
James Lu
45cef19eaa Make plugins global, not per IRC instance 2015-07-12 23:28:34 -07:00
James Lu
3c2d0dbe3f relay: (de)initialize channels using shared initialize/removechannel() 2015-07-12 19:03:18 -07:00
James Lu
0dc0770d6d relay: add LINK and DELINK commands; many fixes to checkers (WIP) 2015-07-12 17:59:09 -07:00
James Lu
6870e041bc relay: catch nicks that start with digits and add tests 2015-07-12 16:59:49 -07:00
James Lu
3edee17802 .gitignore: add *.db 2015-07-12 16:28:33 -07:00
James Lu
b538037e22 relay: add normalizeNick stub 2015-07-12 14:02:17 -07:00
James Lu
d19cabf16c pr/insp: save irc.max{nick|chan}len correctly as integers 2015-07-12 14:00:52 -07:00
James Lu
c655d975a6 pr/insp: remove isNick check in spawnClient 2015-07-12 14:00:33 -07:00
James Lu
450584b963 relay: hack in utils.schedulers so that exportDB only gets queued once globally
Previously, exportDB would be queued once by every IRC object, which was the wrong behavior!
2015-07-12 13:09:35 -07:00
James Lu
e073f21417 relay: spawn servers, raise exportDB interval to 60; use main(irc) 2015-07-11 20:21:10 -07:00
James Lu
5d5f556ee3 main: load plugins in a separate loop, and call the main() of loaded plugins if present 2015-07-11 20:21:10 -07:00
James Lu
149921ac47 main: remove incorrect usage of socket.shutdown, and raise socket timeout to something more reasonable 2015-07-11 20:21:10 -07:00
James Lu
f8a7bc6033 pr/insp: use TS6SIDGenerator in spawnServer if no SID is explicitly given 2015-07-11 20:21:10 -07:00
James Lu
e250409b46 utils: add a new TS6SIDGenerator() class, for generating SIDs based on ranges 2015-07-11 20:21:10 -07:00
James Lu
8d4a06b60e Initial PyLink-Relay stub, with CREATE and DESTROY commands using a pickle database.
ref #37.
2015-07-10 20:26:46 -07:00
James Lu
11e27b9f36 main.Irc: only load plugins after the IRC object is initialized in utils.networkobjects
PyLink-Relay (#37) needs this in order to fetch the IRC objects of various networks at start.
2015-07-10 20:24:08 -07:00
James Lu
3156d83ec3 plugins/admin: rename quitclient -> quit 2015-07-10 16:43:16 -07:00
James Lu
7a6c32e0c4 utils: add isOper() function 2015-07-10 16:43:16 -07:00
James Lu
1b4ec414cf Fix config format for multinet 2015-07-10 14:17:43 -07:00
James Lu
dba20d4efc Merge pull request #38 from GLolol/multinet-v2
Multinet support
2015-07-10 11:21:28 -07:00
James Lu
eae0aa5aa8 pr/insp: Add missing killServer/killClient functions 2015-07-09 19:05:37 -07:00
James Lu
ffec80ee45 tests/: update for new multi-net config format 2015-07-09 18:42:38 -07:00
James Lu
652d53c29e pr/insp: drop tests for validing channel names 2015-07-09 18:40:32 -07:00
James Lu
eec024bf9a Second attempt at multinet support, by wrapping threading.Thread around Irc.run()
Closes #15.
2015-07-09 18:29:00 -07:00
James Lu
e54e17a0ea Irc.send: safeguard against newlines in input! 2015-07-09 17:25:10 -07:00
James Lu
070bba77cb admin.py: check to see if queried channels exist; sort output fields 2015-07-09 17:05:23 -07:00
James Lu
08a187aee6 pr/insp: add updateClient() and FIDENT/FHOST/FNAME handlers
updateClient: Changes the <field> field of <target> PyLink PseudoClient <client numeric>.
2015-07-09 17:04:24 -07:00
James Lu
96c3ea2d82 pr/insp: add topic/invite/knockClient commands
Closes #34.
2015-07-09 16:32:29 -07:00
James Lu
c8f12f2ab1 move messaging functions to protocol (#35)
Closes #36.
2015-07-09 16:23:20 -07:00
James Lu
e7922be9fb plugins/commands.py: warn on failed login attempts 2015-07-08 23:21:01 -07:00
James Lu
1c7f2f6a83 utils.applyModes: fix logging output; only remove delete modes with args if new args are different
Previously, you'd get interesting messages where in sequential FJOINs, PyLink would remove param-modes like ('f', '6:5') and then add it right back, thinking that it was a duplicate.
2015-07-08 23:13:23 -07:00
James Lu
b27fcc7f8f utils.applyModes: operate on a copy of the original modelist
This prevents bugs where mode changes are applied to the wrong users (possibly due to the scope not clearing).
2015-07-08 23:11:44 -07:00
James Lu
27bb6af7f6 plugins/admin.py: add 'mode' and 'showchan' commands 2015-07-08 23:01:09 -07:00