summaryrefslogtreecommitdiff
path: root/net-irc/bip/files/bip-freenode.patch
diff options
context:
space:
mode:
Diffstat (limited to 'net-irc/bip/files/bip-freenode.patch')
-rw-r--r--net-irc/bip/files/bip-freenode.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/net-irc/bip/files/bip-freenode.patch b/net-irc/bip/files/bip-freenode.patch
new file mode 100644
index 000000000000..437da08f438d
--- /dev/null
+++ b/net-irc/bip/files/bip-freenode.patch
@@ -0,0 +1,18 @@
+Freenode's ircd-seven uses a custom banlist type for mutes (+q).
+This patch makes bip handle +q the same way as +q.
+Without it, a user wouldn't get the banlist replies for mutes.
+
+diff --git a/src/irc.c b/src/irc.c
+index 556bf97..a5cc039 100644
+--- a/src/irc.c
++++ b/src/irc.c
+@@ -944,7 +947,8 @@ static int irc_cli_mode(struct link_client *ic, struct line *line)
+
+ /* This is a wild guess and that sucks. */
+ if (!irc_line_elem_equals(line, 0, "MODE") ||
+- strchr(irc_line_elem(line, 2), 'b') == NULL)
++ (strchr(irc_line_elem(line, 2), 'b') == NULL &&
++ strchr(irc_line_elem(line, 2), 'q') == NULL))
+ return OK_COPY;
+
+ ++ic->who_count;