]> jfr.im git - irc/quakenet/snircd-patchqueue.git/commitdiff
umoderqerrorreplynickatserver: throw error when user attempts to msg nick@server...
authorwiebe <redacted>
Wed, 24 Mar 2010 12:09:21 +0000 (13:09 +0100)
committerwiebe <redacted>
Wed, 24 Mar 2010 12:09:21 +0000 (13:09 +0100)
series
umoderqerrorreplynickatserver.patch [new file with mode: 0644]

diff --git a/series b/series
index 524e18043cd23d0c7fc59d8251a9b3e1dd3fc017..d9b74e5865a1ab4bee92f5d230dc11480a0c3514 100644 (file)
--- a/series
+++ b/series
@@ -15,6 +15,7 @@ checkendof.patch
 checkmscheck.patch
 commonchansumode.patch
 freetargetandsilencecheckafterumodechecks.patch
+umoderqerrorreplynickatserver.patch
 who-accountid.patch
 centralizemodecccheck.patch
 hiskgline.patch
diff --git a/umoderqerrorreplynickatserver.patch b/umoderqerrorreplynickatserver.patch
new file mode 100644 (file)
index 0000000..a907564
--- /dev/null
@@ -0,0 +1,24 @@
+throw error when user attempts to msg nick@server but is stopped by usermode +R or +q
+
+diff -r 8e6a04a8cd81 ircd/ircd_relay.c
+--- a/ircd/ircd_relay.c        Wed Mar 24 12:59:31 2010 +0100
++++ b/ircd/ircd_relay.c        Wed Mar 24 13:07:16 2010 +0100
+@@ -307,12 +307,16 @@
+     *--host = '%';
+   /* slug: I don't think this is required, but I might have missed something */
+-  if (IsAccountOnly(acptr) && !IsAccount(sptr) && !IsXtraOp(sptr))
++  if (IsAccountOnly(acptr) && !IsAccount(sptr) && !IsXtraOp(sptr)) {
++    send_reply(sptr, ERR_ACCOUNTONLY, cli_name(acptr), feature_str(FEAT_URLREG));
+     return;
++  }
+   /* slug: same applies here, since only opers can be +k */
+-  if (IsCommonChansOnly(acptr) && !IsXtraOp(sptr) && !common_chan_count(acptr, sptr, 1))
++  if (IsCommonChansOnly(acptr) && !IsXtraOp(sptr) && !common_chan_count(acptr, sptr, 1)) {
++    send_reply(sptr, ERR_COMMONCHANSONLY, cli_name(acptr));
+     return;
++  }
+   if (!(is_silenced(sptr, acptr)))
+     sendcmdto_one(sptr, CMD_PRIVATE, acptr, "%s :%s", name, text);