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
James Lu
f01269287e
pr/insp: remove checks for valid nick/channel; they're done in plugins now
2015-07-08 23:00:50 -07:00
James Lu
edfcacfdd1
plugins/admin.py: remove -client suffixes from commands, and fix argument checking
2015-07-08 22:50:19 -07:00
James Lu
35f8a0e25f
utils.parseModes: be a bit more fault-tolerant
...
- Log "mode requires an argument but none was found" errors to warning, and skip the mode instead of failing completely.
- Assign a fallback value for 'prefix', checking to make sure it exists and raising ValueError (not UnboundLocalError) when it doesn't.
2015-07-08 22:42:04 -07:00
James Lu
20772e5429
inspircd.nickClient: allow nick 0 to equal the target user's UID
2015-07-08 21:17:34 -07:00
James Lu
049b7f5049
pr/insp: add modeServer, modeClient commands
...
Closes #32 .
2015-07-08 18:23:32 -07:00
James Lu
cbfabb2ba1
pr/insp: add OPERTYPE command handler
...
This is sent by InspIRCd for oper ups; there is no MODE command for it.
2015-07-08 18:03:08 -07:00
James Lu
7a37f50a1a
utils.joinModes: support joining modes with prefixes
2015-07-08 16:58:59 -07:00
James Lu
b92a9ce950
pr/insp: fix handle_mode setting modes on the wrong client
2015-07-08 15:10:09 -07:00
James Lu
5989f11ec0
pr/insp: tests for SERVER, SAVE, NICK, and INVITE
2015-07-08 13:56:28 -07:00
James Lu
8576778ddc
Make the 'bot' conf block available in Irc() as irc.botdata
...
Protocol modules shouldn't read conf directly, so that we can override the config in testing.
2015-07-08 13:56:17 -07:00
James Lu
2d4d8dd247
tests and stuff
2015-07-08 13:35:20 -07:00
James Lu
85e6a1aea2
pr/insp: more tests for hooks, etc
2015-07-07 20:59:35 -07:00
James Lu
0f03a2398b
Updates to test_proto_inspircd.py
...
New tests: testFjoinResetsTS, testHandleTopic, and testHandleFTopic
2015-07-07 18:30:42 -07:00
James Lu
8f75c5363c
Move all the FakeIRC stuff to classes.py, update FakeIRC with the ability to get hook data
2015-07-07 18:07:20 -07:00
James Lu
a177a58ae7
pr/insp: fix some bugs in spawnClient
2015-07-07 17:46:56 -07:00
James Lu
7fb60c1ffa
pr/inspircd: finish off handlers (add KNOCK, INVITE, NOTICE)
...
Closes #18 .
Closes #31 .
2015-07-07 15:31:12 -07:00
James Lu
098b29ae2d
Correction: it is legal for a server name to end with '.', but it can't start with it
2015-07-07 14:31:47 -07:00
James Lu
cfc840ebb3
Actually implement 'nick', 'ident', and 'loglevel' config options
2015-07-07 12:14:55 -07:00