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
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
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
167f5cd0cf
Move shared stuff into a ts6_common library
...
Closes #78 .
2015-09-04 11:24:40 -07:00
James Lu
1be4034681
Make TS6 command parsing a shared library ( #78 )
2015-09-03 12:59:50 -07:00
James Lu
ce83bea09a
ts6: less garbled error message for UID handler
2015-09-02 23:51:16 -07:00
James Lu
0b590d6ab3
relay/protocols: use utils.toLower() for channel names, respecting IRCd casemappings
...
Closes #102 .
2015-09-01 22:01:22 -07:00
James Lu
26e102f01a
Show oper types on WHOIS
2015-08-31 14:52:56 -07:00
James Lu
5480ae14c4
classes: Remove "opertype" IrcUser() argument
...
This is useless and should've never been here, oops.
2015-08-31 14:11:12 -07:00
James Lu
531ebbba0a
Merge branch 'master' into devel
2015-08-31 13:33:30 -07:00
James Lu
f9b4457ced
Decorate relay clients, etc. with custom OPERTYPEs
...
New PyLink internal hook: PYLINK_CLIENT_OPERED, called (supposedly) when a client opers up.
2015-08-31 13:31:20 -07:00
James Lu
c8e7b72065
protocols: lowercase channel names in PRIVMSG handling
...
Merge NOTICE and PRIVMSG handlers together; they're essentially the same thing.
2015-08-31 11:45:00 -07:00
James Lu
4a964b1595
Merge branch 'master' into devel
2015-08-31 10:58:47 -07:00
James Lu
37eecd7d69
pr/inspircd: use OPERTYPE to oper up clients correctly, and handle the metadata accordingly
2015-08-31 10:31:50 -07:00
James Lu
7620cd7433
pr/inspircd: fix compatibility with channel mode +q (~)
...
InspIRCd's defaults use "founder" as the mode name for cmode +q, not "owner". My config was different, so I overlooked this.
2015-08-30 23:16:39 -07:00
James Lu
549a1d1ba4
classes: IrcServer.users is now a set()
2015-08-29 12:35:06 -07:00
James Lu
80bebe3827
protocols: also validate TS on incoming SJOIN
2015-08-26 14:59:05 -07:00
James Lu
977b69b8e9
protocols/: Fix args parsing when the sender UID == the last argument
...
args.index() would return 0 instead of the index of the current argument.
2015-08-26 14:57:46 -07:00
James Lu
05be3e6c17
pr/: add prefixmodes in sjoinServer if TS <= theirs
...
The old comparison of our TS < theirs was wrong, because modes are merged (not dropped) when two channels of the same TS join.
2015-08-24 18:37:39 -07:00
James Lu
694e7b87f6
various: make the server description configurable
...
Two options for this: bot::serverdesc, and server::<network>::serverdesc, with the latter taking precedence if present.
2015-08-24 18:14:35 -07:00
James Lu
1d245bf001
protoocols.sjoinServer: only add prefix modes to channel state if our TS < theirs
2015-08-20 01:32:30 -07:00
James Lu
61d95c19cc
protocols: delete empty non-permanent channels
2015-08-15 23:29:40 -07:00
James Lu
c99a6a7b9d
protocols: update topic in channel state when sending outbound TOPIC
2015-08-15 22:34:40 -07:00
James Lu
06c466896e
ts6: fix prefixmodes not being updated in sjoin
2015-08-15 20:14:36 -07:00
James Lu
4352a68357
Check for TS changes on SJOIN (both incoming and outgoing)
...
Restore relay to the devel branch; TS bursts shouldn't be handled there, but in the protocol modules.
TODO: fix prefixmodes being cleared after BURST, and never being reset?
2015-08-15 19:53:09 -07:00
James Lu
0d41e35d9c
Merge branch 'devel' into wip/handle-ts-bursts
...
Conflicts:
plugins/relay.py
2015-08-15 19:28:49 -07:00
James Lu
13e4baba8b
inspircd: also strip listmodes in joinClient ( #58 )
2015-08-14 08:47:23 -07:00
James Lu
7d912bbb28
pr/insp: Strip out listmodes in FJOIN
...
They should always be sent separately according to the protocol documentation: https://wiki.inspircd.org/InspIRCd_Spanning_Tree_1.2/FJOIN
Closes #58 .
2015-08-12 07:05:05 -07:00
James Lu
1a57dfcdc3
prs+IrcUser: add incoming (handle_away) and outgoing (awayClient) AWAY handling
2015-08-12 04:17:01 -07:00
James Lu
bf3116d704
First attempt at handling channel TS @ burst ( #93 )
...
Doesn't quite work yet, more testing needed.
2015-08-05 06:14:34 -07:00
James Lu
4d76593901
TS6: Initial support for elemental-ircd
...
The TS6 protocol gets some new options here: use_halfop, use_admin, use_owner, and use_elemental_modes, to deal with features
supported in Elemental but not charybdis. A second server block is added in the example config to document this.
2015-08-03 23:20:19 -07:00