]>
Commit | Line | Data |
---|---|---|
1 | # HG changeset patch | |
2 | # Parent 265f4dce6df1a1fb3f28d4e9a2724fe27aeeaf8e | |
3 | ||
4 | diff -r 265f4dce6df1 ircd/m_kick.c | |
5 | --- a/ircd/m_kick.c Fri Jul 19 22:37:47 2013 +0100 | |
6 | +++ b/ircd/m_kick.c Fri Jul 19 22:41:00 2013 +0100 | |
7 | @@ -221,20 +221,11 @@ | |
8 | return 0; | |
9 | ||
10 | /* We go ahead and pass on the KICK for users not on the channel */ | |
11 | - member = find_member_link(chptr, who); | |
12 | - if (member && IsZombie(member)) | |
13 | - { | |
14 | - /* We might get a KICK from a zombie's own server because the user | |
15 | - * net-rode during a burst (which always generates a KICK) *and* | |
16 | - * was kicked via another server. In that case, we must remove | |
17 | - * the user from the channel. | |
18 | - */ | |
19 | - if (sptr == cli_user(who)->server) | |
20 | - { | |
21 | - remove_user_from_channel(who, chptr); | |
22 | + if (!(member = find_member_link(chptr, who)) || IsZombie(member)) { | |
23 | + if (member) { | |
24 | + make_zombie(member, who, cptr, sptr, chptr); | |
25 | + member=0; | |
26 | } | |
27 | - /* Otherwise, we treat zombies like they are not channel members. */ | |
28 | - member = 0; | |
29 | } | |
30 | ||
31 | /* Send HACK notice, but not for servers in BURST */ |