James Lu
9927627630
unreal: add handle_mode (channel modes) and support for unreal +f ( #104 )
2015-10-08 21:06:57 -07:00
James Lu
c50866c3a9
unreal: Fix handle_sjoin ( #104 )
2015-10-08 20:48:10 -07:00
James Lu
963b9e978e
unreal: Add handle_sjoin ( #104 )
2015-10-08 20:46:30 -07:00
James Lu
009cac2263
unreal: fix joinClient not adding users to state ( #104 )
2015-10-08 20:44:12 -07:00
James Lu
665481276d
unreal: update spawnClient to latest spec, improve handle_events and documentation to be more correct
2015-10-08 20:28:21 -07:00
James Lu
7c7f07b3a9
Merge branch 'master' into wip/unrealircd
2015-10-08 20:14:30 -07:00
James Lu
8bde21f1e6
inspircd: remove clients from state when killing own clients
...
Closes #115 .
2015-10-08 20:13:37 -07:00
James Lu
a9253eda77
ts6: fix removeClient usage
2015-10-02 23:31:38 -07:00
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
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
c3e8420aa0
relay/ts6_common: be more error tolerant with network (dis)connections
2015-09-18 22:11:27 -07:00
James Lu
fb91ff8ea3
Remove allow_abcd attributes from protocols (not needed anymore)
2015-09-17 19:07:37 -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
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
6476aefb5f
Merge branch 'master' into devel
...
Conflicts:
protocols/inspircd.py
2015-09-14 16:55:35 -07:00
James Lu
1f95774131
inspircd: add proper fallback value for OPERTYPE?
2015-09-13 17:04:17 -07:00
James Lu
9c4e0107f3
ts6_common: make old topic retrievable in handle_topic
2015-09-13 14:23:09 -07:00
James Lu
c82a0a771c
protocols: return an "oldchan" IrcChannel object with the previous state of a channel when processing channel mode changes
...
This allows plugins to check for op statuses, etc. before the mode change is processed.
2015-09-13 13:47:18 -07:00
James Lu
17282aa049
protocols: fix typo and ts6._sendModes when input is a set()
2015-09-12 23:35:20 -07:00
James Lu
3a8d3d146c
protocols: make "uidgen" a protocol instance attribute
2015-09-12 16:02:51 -07:00
James Lu
0cbdefcab1
ts6/inspircd: fix TS6SIDGenerator not actually incrementing...
...
It was being replaced on every call... It was only supposed to do that if sidgen hadn't been set yet!
2015-09-12 12:08:02 -07:00
James Lu
36b0a08368
ts6_common: return server name in SQUIT handler too
2015-09-12 12:08:02 -07:00
James Lu
df42a81191
classes/protocols: store server descriptions internally
...
Closes #106 .
2015-09-12 12:07:59 -07:00
James Lu
d6cb9d45c7
Merge commit '320de2079a78202e99c7b6aeb53c28c13f43ba47'
...
Many things here, including:
- New 'exec' plugin
- INVITE, umode +H (hideoper) support for relay
- New and improved 'showuser' command, now with internals that support multiple binds to one command name.
- relay: bug fixes, like not sending empty user mode changes.
2015-09-12 09:11:52 -07:00
James Lu
ca3372b0af
protocols/unreal: class()-ify everything
2015-09-10 18:41:01 -07:00
James Lu
da1b101bc4
Merge branch 'devel' into wip/unrealircd
2015-09-10 18:27:46 -07:00
James Lu
29065fdd04
protocols/: remove unused imports & various documentation improvements
2015-09-08 19:51:14 -07:00
James Lu
983acd5adc
Move MODE handling back from ts6_common->inspircd, now that ts6.py does different handling
2015-09-08 19:50:46 -07:00
James Lu
6c503b3603
Fix typos and other stupid mistakes...
2015-09-06 23:18:27 -07:00
James Lu
7952590436
ts6_common: fix a typo
2015-09-06 22:09:09 -07:00
James Lu
197ccd7916
relay/protocols: use utils.toLower() for channel names, respecting IRCd casemappings
...
Closes #102 .
(cherry picked from commit 0b590d6ab3
)
2015-09-06 21:47:27 -07:00
James Lu
57da0aa3b3
Classify all our protocol modules - why didn't I do this earlier
2015-09-05 18:00:57 -07:00
James Lu
3b7d81d62a
inspircd: fix typo in comment
2015-09-05 14:28:18 -07:00
James Lu
9f2d8a1b01
Document the sources of protocols/inspircd & ts6_common
2015-09-05 14:25:11 -07:00
James Lu
871e6a5c47
unreal: JOIN handlers
2015-09-05 12:29:20 -07:00
James Lu
76246dea70
unreal: add NOTICE and PRIVMSG (inbound/outbound)
2015-09-05 12:02:45 -07:00
James Lu
b63d7619da
unreal: validate uplink protocol version (needs >=2351)
2015-09-05 11:52:46 -07:00
James Lu
cae4c60b56
unreal: stricter protocol negotiation (check needed capabilities)
2015-09-05 11:45:28 -07:00
James Lu
a96826273f
Merge branch 'devel' into wip/unrealircd
2015-09-05 11:24:45 -07:00
James Lu
72cfe04904
protocols: respect serverdesc config options in spawnServer
2015-09-04 18:59:57 -07:00
James Lu
759f6c4492
protocols/: add outgoing squitServer()
2015-09-04 18:55:39 -07:00
James Lu
47a63cb8d6
Merge branch 'master' into devel
2015-09-04 18:48:08 -07:00
James Lu
8f70582d1b
ts6: fixes to spawnServer
...
1) Use SID, not SERVER - This allows us to actually spawn clients on these servers...
2) Fix check for existing server names (drop the .keys() loop, it raises TypeError and isn't needed)
2015-09-04 18:47:53 -07:00
James Lu
bd30bc862e
unreal: Implement spawnClient and (most of) inbound UID handling
2015-09-04 11:51:00 -07:00
James Lu
83725f90ff
unreal: coerse sender names to UIDs if they're not given
...
Unreal's protocol isn't quite consistent with UIDs yet... Some commands (PART, QUIT, NICK) use them, while others (KILL, MODE) don't.
2015-09-04 11:51:00 -07:00