James Lu
f015fe5e25
Documentation updates, finish off pmodule-spec.md ( #113 )
2015-09-24 18:36:54 -07:00
James Lu
3351aafc79
inspircd: fix wrong arguments in numericServer() stub
2015-09-24 18:13:11 -07:00
James Lu
c77d170765
Move parseArgs and removeClient into the base Protocol class
...
These aren't really TS6-specific, and can be useful anywhere.
2015-09-24 18:03:30 -07:00
James Lu
886994475d
Merge branch 'master' into wip/unrealircd
...
Conflicts:
classes.py
2015-09-23 18:59:17 -07:00
James Lu
e92f35018f
TS6SIDGenerator: take an IRC object, and skip any SIDs that are currently in use
2015-09-20 18:32:43 -07:00
James Lu
7e12ec9e5e
relay: don't prepend sender prefixes more than once (for servers and clients not on any relay networks)
2015-09-20 18:13:39 -07:00
James Lu
f2b6d1a3ad
relay: use two locks (one for clients, one for servers) to prevent lock ups on start
2015-09-20 16:56:24 -07:00
James Lu
16d8a2212a
coreplugin: protect the main PyLink client too, even though it's technically manipulatable
2015-09-20 16:55:04 -07:00
James Lu
f110ac15b0
coreplugin: Protect against forced deopers
...
Closes #67 .
2015-09-20 13:21:04 -07:00
James Lu
7b2d1d8129
relay: use the network's full name in spawning servers
2015-09-20 12:11:41 -07:00
James Lu
4c45533ecb
coreplugin: send the RIGHT server desc in WHOIS replies
2015-09-20 12:11:28 -07:00
James Lu
f4f8987873
example conf: add full "netname" in server configuration
2015-09-20 11:55:51 -07:00
James Lu
f38958995c
Store opertypes with spaces instead of underscores, and only change them back when sending OPERTYPE
...
Another "Janus sucks" commit - it should be always using underscores when sending OPERTYPE, but it doesn't...
2015-09-20 11:25:45 -07:00
James Lu
82d129fed2
world: fix 0f26848
(we can't use log here)
2015-09-19 11:55:29 -07:00
James Lu
3c8da4934a
pylink: always chdir to the PyLink root directory
2015-09-19 11:55:22 -07:00
James Lu
0f26848b16
Add a useful "version" command
2015-09-19 11:51:56 -07:00
James Lu
0d207f7d08
relay: better description for 'showuser'
2015-09-19 10:39:56 -07:00
James Lu
dfe09263b9
plugins/exec: add 'eval' command too
2015-09-19 10:39:05 -07:00
James Lu
2c23cbe01e
relay: fix some logging peculiarities in handle_kick?
2015-09-19 10:32:45 -07:00
James Lu
19c4c2ce3f
classes: split up run() into run() and runline()
...
This helps the debugging process, by allowing us to also inject lines directly into the protocol module.
2015-09-19 10:31:43 -07:00
James Lu
c77f92357a
coreplugin: show real IP/host in WHOIS
2015-09-19 10:25:50 -07:00
James Lu
6ee2ec8a2d
relay: make oper status/IP hiding configurable
...
Closes #108 .
2015-09-19 10:17:25 -07:00
James Lu
c3e8420aa0
relay/ts6_common: be more error tolerant with network (dis)connections
2015-09-18 22:11:27 -07:00
James Lu
504e2683fb
relay: hide +s/+p channels in LINKED output ( closes #110 )
2015-09-18 22:05:51 -07:00
James Lu
4ad94ca4ea
Merge branch 'master' into devel
2015-09-17 19:31:30 -07:00
James Lu
63189e9990
relay: look at the right prefix mode list when rejoining from KILL
2015-09-17 19:30:38 -07:00
James Lu
0371b21634
Merge branch 'master' into devel
2015-09-17 19:26:25 -07:00
James Lu
cb83db4c1c
relay: don't allow creating a channel that's already part of a relay
2015-09-17 19:24:38 -07:00
James Lu
70227bf3e0
relay: use utils.checkAuthenticated() for checking oper status
2015-09-17 19:22:34 -07:00
James Lu
d6c8d3037d
Merge branch 'master' into devel
2015-09-17 19:16:58 -07:00
James Lu
8faf86aa8f
relay: rejoin killed users to the RIGHT channels
2015-09-17 19:15:51 -07:00
James Lu
fb91ff8ea3
Remove allow_abcd attributes from protocols (not needed anymore)
2015-09-17 19:07:37 -07:00
James Lu
10f3cd1fb8
bots: limit most commands to non-protected internal PyLink clients
2015-09-17 19:07:16 -07:00
James Lu
069cd62865
core: allow marking spawned clients as manipulatable or protected
...
This flag determines whether the client should be manipulated by commands like bots.py's MODE/QUIT/JOIN commands, or protected from them (services).
2015-09-17 19:01:54 -07:00
James Lu
b87e34efa2
Slightly more consistent logging format...
2015-09-16 21:32:27 -07:00
James Lu
7011aa3b36
relay: send kick rejoins from CLAIM from the main relay server
2015-09-16 21:23:09 -07:00
James Lu
f92c2f731c
relay: CLAIM command! Closes #51 .
2015-09-16 20:59:32 -07:00
James Lu
04ca322154
relay: skip claim checks when claim list is empty for a channel
2015-09-16 20:59:08 -07:00
James Lu
b531a180dc
commands: add a "showchan" command
2015-09-14 18:43:19 -07:00
James Lu
7ced47e9b3
bots: don't allow setting umode +o on InspIRCd users (forbidden and causes desync)
2015-09-14 18:09:39 -07:00
James Lu
b8d6e1e2ef
bots: still allow setting modes on internal clients
2015-09-14 18:03:39 -07:00
James Lu
48573b6033
utils.parseModes: autoconvert nicks->UIDs for prefix modes, skipping if the target doesn't exist.
2015-09-14 17:57:20 -07:00
James Lu
b0b9138720
Merge branch 'master' into devel
2015-09-14 17:56:53 -07:00
James Lu
2e0a5e52e2
utils.parseModes: fix IndexError on empty query
2015-09-14 17:56:33 -07:00
James Lu
c5b6658200
bots: more validation in "MODE" to prevent bad things from happening
...
This adds a new "allow_forceset_usermodes" attribute to protocol modules, which determines whether the IRCd allows us to force usermode changes on other servers' clients.
Also, make sure our target is a valid nick/UID/channel, and that the parsed modes are not empty!
2015-09-14 17:46:20 -07:00
James Lu
78080bde6b
relay: don't fail if oldchan is not given in MODE
2015-09-14 17:36:41 -07:00
James Lu
81628f9a6d
relay: rename some internal functions to make more sense
...
getLocalUser => getOrigUser
findRemoteChan => getRemoteChan
findRelay => getRelay
2015-09-14 17:29:37 -07:00
James Lu
75de9c6be6
relay: sort code and document most internal functions
2015-09-14 17:25:17 -07:00
James Lu
6476aefb5f
Merge branch 'master' into devel
...
Conflicts:
protocols/inspircd.py
2015-09-14 16:55:35 -07:00
James Lu
207a6ea31d
Various README fixes
2015-09-13 22:36:50 -07:00