From 3499d06736c7afcfce2e161d242b854c1692c900 Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Sat, 13 Jan 2007 18:47:19 +0000 Subject: [PATCH] Properly handle member modes like XXYYY:ov in bursts. git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1745 c9e4aea6-c8fd-4c43-8297-357d70d61c8c --- ChangeLog | 4 ++++ ircd/m_burst.c | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index 887ce4a..b70946a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2006-01-13 Michael Poole + + * ircd/m_burst.c (ms_burst): Properly handle member mode :ov. + 2006-01-13 Michael Poole * ircd/m_create.c (ms_create): Add channel name to the protocol diff --git a/ircd/m_burst.c b/ircd/m_burst.c index 482ed65..e95a069 100644 --- a/ircd/m_burst.c +++ b/ircd/m_burst.c @@ -469,6 +469,14 @@ int ms_burst(struct Client *cptr, struct Client *sptr, int parc, char *parv[]) current_mode_needs_reset = 0; } current_mode = (current_mode & ~(CHFL_DEOPPED | CHFL_DELAYED)) | CHFL_CHANOP; + /* + * Older servers may send XXYYY:ov, in which case we + * do not want to use the code for 'v' below. + */ + if (ptr[1] == 'v') { + current_mode |= CHFL_VOICE; + ptr++; + } } else if (*ptr == 'v') { /* has voice status */ if (current_mode_needs_reset) { -- 2.20.1