X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ircd%2Fs_user.c;h=364ddd3b86d58392bf635b9e2784e3824b9aceed;hb=88c85bf338cae1494980e6a4a08d151cda63921e;hp=1f26e6f2e357a4af1125b3d01f342c3757042b89;hpb=dbb47eb3df54789d338f440dd7af4004eb0154b7;p=ircu2.10.12-pk.git diff --git a/ircd/s_user.c b/ircd/s_user.c index 1f26e6f..364ddd3 100644 --- a/ircd/s_user.c +++ b/ircd/s_user.c @@ -1671,7 +1671,7 @@ void set_snomask(struct Client *cptr, unsigned int newmask, int what) /** Check whether \a sptr is allowed to send a message to \a acptr. * If \a sptr is a remote user, it means some server has an outdated * SILENCE list for \a acptr, so send the missing SILENCE mask(s) back - * in the direction of \a sptr. + * in the direction of \a sptr. Skip the check if \a sptr is a server. * @param[in] sptr Client trying to send a message. * @param[in] acptr Destination of message. * @return Non-zero if \a sptr is SILENCEd by \a acptr, zero if not. @@ -1683,7 +1683,7 @@ int is_silenced(struct Client *sptr, struct Client *acptr) size_t buf_used, slen; char buf[BUFSIZE]; - if (!(user = cli_user(acptr)) + if (IsServer(sptr) || !(user = cli_user(acptr)) || !(found = find_ban(sptr, user->silence))) return 0; assert(!(found->flags & BAN_EXCEPTION));