View Issue Details

IDProjectCategoryView StatusLast Update
0002686unrealircdpublic2005-11-12 09:57
ReporterTheCrowX Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
Product Version3.2.3 
Summary0002686: modes +mT and message
DescriptionWell I noticed when trying to send a notice to channel on a channel that have the mode +T result on a message like this #chan NOTICEs are not permitted in this channel (#chan) but when i try to do the same thing on a chan that have the modes +mT i have no messages is that normal or a bug ??
3rd party modules

Activities

w00t

2005-11-12 03:43

reporter   ~0010716

Shouldn't do what it's doing, I'd think.

Having a bit of a look into it now.

w00t

2005-11-12 03:50

reporter   ~0010717

Last edited: 2005-11-12 04:03

*thinks*.
[from channel.c can_send]

    if (!MyClient(cptr))
    {
        if (IsClient(cptr))
        {
            /* channelmode +mu is a special case.. sux!. -- Syzop */

            lp = find_membership_link(cptr->user->channel, chptr);
            if ((chptr->mode.mode & MODE_MODERATED) && (chptr->mode.mode & MODE_AUDITORIUM) &&
                !IsOper(cptr) &&
                (!lp || !(lp->flags & (CHFL_CHANOP|CHFL_VOICE|CHFL_CHANOWNER|CHFL_HALFOP|CHFL_CHANPROT))) &&
                !is_irc_banned(chptr))
            {
                sendto_chmodemucrap(cptr, chptr, msgtext);
                return (CANNOT_SEND_MODERATED);
            }
        }
        return 0;
    }


    if (chptr->mode.mode & MODE_MODERATED && !op_can_override(cptr) &&
        (!lp
        || !(lp->flags & (CHFL_CHANOP | CHFL_VOICE | CHFL_CHANOWNER |
        CHFL_HALFOP | CHFL_CHANPROT))))
        {
            if ((chptr->mode.mode & MODE_AUDITORIUM) && !is_irc_banned(chptr))
                sendto_chmodemucrap(cptr, chptr, msgtext);
            return (CANNOT_SEND_MODERATED);
        }


(slightly offtopic: couldn't those two cases be merged?)

ontopic: it's got to be one of those causing the problem, but I still don't quite get it. Either way, you should get an error message, so what on earth is going on :P



[edit]
scrap that. I've no idea what's going on here ;P. Logic suggests it's something in can_send, as that's where modes are delt with, but I can't see anything obviously wrong.

w00t

2005-11-12 05:37

reporter   ~0010718

On second thoughts, both Nazzy, Bricker, Special, etc are all idiots - myself a little less so ;).

This is expected behaviour, as NOTICE is not supposed to generate any kind of error (per rfc1459).

"The NOTICE message is used similarly to PRIVMSG. The difference between NOTICE and PRIVMSG is that automatic replies must never be sent in response to a NOTICE message."

Nazzy

2005-11-12 05:42

reporter   ~0010719

Oi! At least I pointed out it was !notice check in m_message.c :P~

Hehe, but yeah ... this is RFC valid if a little weird behaviour :P

syzop

2005-11-12 09:57

administrator   ~0010723

*nod* has been reported before ;)

It's kinda weird, and perhaps outdated, but we'll let it stay as-is.

Issue History

Date Modified Username Field Change
2005-11-12 03:02 TheCrowX New Issue
2005-11-12 03:43 w00t Note Added: 0010716
2005-11-12 03:50 w00t Note Added: 0010717
2005-11-12 03:51 w00t Note Edited: 0010717
2005-11-12 04:03 w00t Note Edited: 0010717
2005-11-12 05:37 w00t Note Added: 0010718
2005-11-12 05:42 Nazzy Note Added: 0010719
2005-11-12 09:57 syzop Status new => closed
2005-11-12 09:57 syzop Note Added: 0010723
2005-11-12 09:57 syzop Resolution open => no change required