James Lu
2fc0e086ae
unreal: rename _convertNick => _getNick
2015-10-12 17:58:36 -07:00
James Lu
4f4ad7b54d
unreal: switch to _getSid for server name reverse lookup
2015-10-12 17:50:44 -07:00
James Lu
07fce69c5e
Merge branch 'devel' into wip/unrealircd
2015-10-12 17:50:35 -07:00
James Lu
d4200424fa
ts6: support legacy (non-sid) server introduction
...
Closes #119 .
For the sake of simplicity, server swithout a SID are stored by their server names internally, which is convenient because no reverse lookup is needed when an SQUIT is received for it.
2015-10-12 17:49:03 -07:00
James Lu
1f0426d7ff
ts6: fixes to SQUIT handling
2015-10-10 14:58:52 -07:00
James Lu
64cba70cbd
ts6: add stub for legacy (no SID) SERVER introduction
2015-10-09 22:50:11 -07:00
James Lu
6e30a62a4a
unreal: SQUIT and SID handlers ( #114 )
2015-10-09 22:38:28 -07:00
James Lu
d5a2d3b0e8
unreal: fix incorrect comment
2015-10-09 21:39:09 -07:00
James Lu
a3ee7f2c8a
unreal: handle UMODE2 (self user mode changes)
...
For #114 . TODO: find out if it's possible to set modes on other users, and handle that if applicable
2015-10-09 21:37:44 -07:00
James Lu
f97d3eb756
Merge branch 'master' into wip/unrealircd
2015-10-09 21:36:02 -07:00
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
181c40d9fe
inspircd: fix another "find all, replace" mistake
2015-10-08 21:06:35 -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