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);