James Lu
17127dd131
clientbot: send hook payloads for external updateClient
...
Closes #300 .
2016-08-12 18:47:12 -07:00
James Lu
b4e83e7b1a
clientbot: basic prefix mode detection (halfop, admin, owner)
2016-08-11 12:46:05 -07:00
James Lu
226089cc3c
clientbot: forward SJOIN on the main client as JOIN ( #299 )
2016-08-11 11:24:23 -07:00
James Lu
3a0a2c7f1c
clientbot: don't update state on join()
...
Wait for NAMES instead to make sure that the join attempt actually succeeded. #299
2016-08-11 11:23:41 -07:00
James Lu
7a0a013c43
clientbot: suppress mode change hooks for internal clients
2016-08-10 21:07:20 -07:00
James Lu
8ac014709b
inspircd: track MODSUPPORT and required modules for updateClient()
...
m_chgident.so, m_chghost.so, and m_chgname.so are required for ident, host, and real name setting to work, respectively.
2016-08-08 23:40:48 -07:00
James Lu
72f9019300
clientbot: remove self.irc.users print
2016-08-08 23:40:24 -07:00
James Lu
12e1a0edff
Move handle_error() to the generic protocol
2016-08-08 18:12:07 -07:00
James Lu
73a70d6952
unreal: declare support for ESVID
...
This capability declares support for account name arguments in service stamps (+d argument in SVS2MODE).
Realistically this doesn't appear to affect any S2S communication, because services packages only check for ESVID support on their uplink, while SVS2MODE is passed raw from services->IRCd->PyLink.
2016-08-08 17:28:45 -07:00
James Lu
671d6d1893
unreal: request VHP capability so cloaked hosts for Unreal3.2 users are sent
2016-08-08 17:05:28 -07:00
James Lu
7dcabf072b
unreal: fix services login tracking for UnrealIRCd 3.2 + Anope 1.8
...
More specifically, if the +d argument in SVS2MODE is a non-zero integer, ignore it and use the user's nick as account name instead.
2016-08-08 16:35:10 -07:00
James Lu
b36ce36451
protocols: send old IrcServer object (serverdata) in SQUIT hooks
2016-08-04 12:50:04 -07:00
James Lu
1c0900b29d
clientbot: introduce virtual SQUIT and SJOIN hooks
2016-08-04 11:48:57 -07:00
James Lu
62099e6078
clientbot: move virtual ENDBURST hook to end of MOTD
...
Possible fix for #299 .
2016-08-04 11:10:51 -07:00
James Lu
0fc0f104bd
clientbot: pass realhost and IP options to IrcUser
2016-08-02 23:36:20 -07:00
James Lu
d5c5a34467
Merge branch 'master' into devel
...
Conflicts:
protocols/ts6_common.py
2016-08-01 18:07:34 -07:00
James Lu
f60e17907a
hybrid, unreal: switch to irc.toLower() for channels
2016-08-01 18:06:38 -07:00
James Lu
9a59c68370
protocols: strip leading prefix modes before checking whether msg target is a channel
...
(cherry picked from commit 2c7b5669bd
)
2016-08-01 17:59:31 -07:00
James Lu
f061a2fc68
ts6: replace str.lower() with irc.toLower() for channel names
...
(cherry picked from commit 791b124cf7
)
2016-08-01 17:59:31 -07:00
James Lu
ac358f4199
ts6: add CHW to required capabilities
...
This is implicitly used by relay when relaying @#channel messages.
2016-07-31 20:42:34 -07:00
James Lu
2ca3dfe689
ts6_common: rewrite =#channel messages to @#channel (charybdis +z support)
2016-07-31 20:38:25 -07:00
James Lu
2c7b5669bd
protocols: strip leading prefix modes before checking whether msg target is a channel
2016-07-31 20:30:51 -07:00
James Lu
77a93b17ac
ts6: handle ETB
2016-07-31 20:25:17 -07:00
James Lu
791b124cf7
ts6: replace str.lower() with irc.toLower() for channel names
2016-07-31 20:22:12 -07:00
James Lu
891039dba2
Merge branch 'master' into devel
2016-07-29 14:44:54 -07:00
James Lu
358e03f6ce
ts6: don't unconditionally apply modes in outgoing sjoin()
2016-07-29 14:44:25 -07:00
James Lu
8eed60a8f5
nefarious: fix nameerror on start
2016-07-29 01:02:18 -07:00
James Lu
2bc066bacb
clientbot: don't send duplicate operups ( #289 )
2016-07-29 00:56:14 -07:00
James Lu
3ad9362247
clientbot: fix oper tracking, add deoper tracking
...
Closes #289 .
2016-07-29 00:54:47 -07:00
James Lu
f457018f89
unreal: remove mixed_link option; this is now implied
...
pylink<->unreal4<->unreal3.2 links are stable enough.
2016-07-29 00:37:31 -07:00
James Lu
f4922743fc
core: SID and hostname options are now optional ( #282 )
...
Hostname defaults to a fallback hardcoded in world.fallback_hostname, while SID defaults to None (protocol modules have to deal with this themselves)
2016-07-28 22:23:59 -07:00
James Lu
87c558537f
unreal: refactor to use utils.PUIDGenerator
...
Closes #238 .
2016-07-28 21:59:56 -07:00
James Lu
852bd74c3b
core: enumerate our server after calling proto.connect()
...
This gives protocol modules a chance to manipulate their SID before it's added to the internal server list, replacing hacks previously used by the Nefarious and Clientbot modules.
This is the first step to sid-less servers :)
2016-07-28 21:50:51 -07:00
James Lu
c410de2fad
Make server config validation protocol specific
...
Closes #282 .
2016-07-28 21:34:00 -07:00
James Lu
c36c32082f
inspircd: support SAKICK
2016-07-28 21:05:59 -07:00
James Lu
a56e464eb6
unreal: handle umode +r on burst as services login, even when no explicit accountname is set
...
Ref #296 .
(cherry picked from commit 5800594d55
)
2016-07-28 20:20:35 -07:00
James Lu
4fbb7b1791
unreal: remove obsolete comment about cloaked hosts
...
(cherry picked from commit e7ccfc9156
)
2016-07-28 20:20:35 -07:00
James Lu
94ae457a82
nefarious: fix usermode changes internally applying on the wrong target
...
A regression from fca23c7d55
overwrote the target UID with a nick before passing it into applyModes(), which raises an "unknown mode target" warning and causes the mode change to be dropped.
(cherry picked from commit af21063834
)
2016-07-28 20:20:35 -07:00
James Lu
bc5a508cd7
unreal: rework services login handling
...
This should now support SVS2MODE without account info, used by Anope versions < 2.0? Also, the protocol module no longer stores umode +r as an actual user mode, as doing so isn't needed.
Closes #296 .
(cherry picked from commit 97d09c5015
)
2016-07-28 20:20:35 -07:00
James Lu
9233a94379
nefarious: forward CMODE and KICK through the server if the sender isn't opped
...
This prevents mode bounces, kick failures, and the HACK server notices from showing up.
(cherry picked from commit fca23c7d55
)
2016-07-28 20:20:35 -07:00
James Lu
5800594d55
unreal: handle umode +r on burst as services login, even when no explicit accountname is set
...
Ref #296 .
2016-07-27 17:38:37 -07:00
James Lu
e7ccfc9156
unreal: remove obsolete comment about cloaked hosts
2016-07-27 17:38:09 -07:00
James Lu
af21063834
nefarious: fix usermode changes internally applying on the wrong target
...
A regression from fca23c7d55
overwrote the target UID with a nick before passing it into applyModes(), which raises an "unknown mode target" warning and causes the mode change to be dropped.
2016-07-27 16:55:59 -07:00
James Lu
97d09c5015
unreal: rework services login handling
...
This should now support SVS2MODE without account info, used by Anope versions < 2.0? Also, the protocol module no longer stores umode +r as an actual user mode, as doing so isn't needed.
Closes #296 .
2016-07-27 16:55:59 -07:00
James Lu
4002fb9da5
clientbot: only send AWAY when polling if the message has changed
2016-07-26 23:30:26 -07:00
James Lu
fca23c7d55
nefarious: forward CMODE and KICK through the server if the sender isn't opped
...
This prevents mode bounces, kick failures, and the HACK server notices from showing up.
2016-07-26 18:31:23 -07:00
James Lu
8ce0ceee37
clientbot: properly track oper
2016-07-25 11:02:25 -07:00
James Lu
db9f362857
clientbot: use colon for realname in USER
2016-07-25 11:02:08 -07:00
James Lu
fcf364f958
clientbot: initialize users with umode +i by default
2016-07-25 00:00:27 -07:00
James Lu
a905f74800
relay/clientbot: rework KICK handling to send the right thing at the right times
...
Some of the logic was inverted so that the Clientbot would try to kick invalid things like GLolol/ovd, and send clientbot KICK payloads when it's supposed to forward an actual kick.
This also fixes KICKs from servers not being relayed by clientbot.
2016-07-24 11:55:46 -07:00