3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-27 05:03:07 +01:00
Commit Graph

879 Commits

Author SHA1 Message Date
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
a28715c2c6 IrcChannel: allow .deepcopy() 2015-09-13 13:47:04 -07:00
James Lu
fa4583c272 relay: basic CLAIM checking when setting modes (#51)
There's still some desyncs with checking op statuses, because hooks are only called AFTER the internal state updates. Fix for this will come soon.
2015-09-12 23:36:52 -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
945306af34 relay: make CLAIM checking a shared function 2015-09-12 22:50:53 -07:00
James Lu
dfaa5036ab Fix test cases
- conf: add sidrange server config variable (needed by TS6SIDGenerator)
- protocols: stop hardcoding various UIDs that may or may not exist.
2015-09-12 22:34:55 -07:00
James Lu
dab29cfc19 utils: add a proper reverseModes() with tests
Closes #107.
2015-09-12 22:31:20 -07:00
James Lu
f23cff845c utils: Documentation and cleanup 2015-09-12 22:31:19 -07:00
James Lu
4b7ef44925 runtests: allow specifying files to test 2015-09-12 22:31:19 -07:00
James Lu
46fab1cab7 classes.FakeProto: store UIDs as strings 2015-09-12 22:26:38 -07:00
James Lu
b3902c7711 relay: KILL war protection (#23)
TODO: possibly integrate this into core?
2015-09-12 17:41:49 -07:00
James Lu
1fcacd0d7c relay: more compact "showuser" output 2015-09-12 16:03:59 -07:00
James Lu
1c97927b5d relay: monitor SAVE floods by network, not by target nick 2015-09-12 16:03:47 -07:00
James Lu
3a8d3d146c protocols: make "uidgen" a protocol instance attribute 2015-09-12 16:02:51 -07:00
James Lu
95b70f3ebf relay: spawn a server for every linked network (Closes #105) 2015-09-12 12:08:02 -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
7f526267ec relay: minor typo in error message 2015-09-09 20:53:04 -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
3217f726f8 Fix those test cases again. 2015-09-06 23:39:10 -07:00
James Lu
6c503b3603 Fix typos and other stupid mistakes... 2015-09-06 23:18:27 -07:00
James Lu
bd9a857042 docs: add auto-generated InspIRCd protocol spec, and finish off most of writing-plugins.md 2015-09-06 23:11:55 -07:00
James Lu
394d4f7f1d coreplugin: reply with the *right* server name in WHOIS 2015-09-06 22:40:22 -07:00
James Lu
32556d418d docs: bring plugin_example.py up to date 2015-09-06 22:40:10 -07:00
James Lu
9e73af050c relay: unpluralize "relayWhoisHandlers"
There's only one handler, why did I make it plural?
2015-09-06 22:39:40 -07:00
James Lu
9dc836d921 Merge remote-tracking branch 'origin/wip/document-everything' into devel 2015-09-06 22:31:41 -07:00
James Lu
62e7cc4fca move utils.msg() => classes.Irc.msg()
New function gets an extra (optional) "source" argument for specifying a sender UID. It's also shorter since no IRC object has to be passed to utils.
2015-09-06 22:23:44 -07:00
James Lu
7952590436 ts6_common: fix a typo 2015-09-06 22:09:09 -07:00
James Lu
ed0e1e1779 start-cpulimit: update binary name for f6a4503372 2015-09-06 21:53:54 -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
f6a4503372 Use a more unique main executable name... 2015-09-04 18:20:46 -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