ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/channel.c
(Generate patch)

Comparing ircd-hybrid/trunk/src/channel.c (file contents):
Revision 8027 by michael, Fri Mar 17 15:36:32 2017 UTC vs.
Revision 8044 by michael, Sat Mar 18 16:52:10 2017 UTC

# Line 648 | Line 648 | is_banned(const struct Channel *chptr, c
648   static int
649   can_join(struct Client *client_p, struct Channel *chptr, const char *key)
650   {
651 <  if ((chptr->mode.mode & MODE_SSLONLY) && !HasUMode(client_p, UMODE_SSL))
651 >  if (HasCMode(chptr, MODE_SSLONLY) && !HasUMode(client_p, UMODE_SSL))
652      return ERR_SSLONLYCHAN;
653  
654 <  if ((chptr->mode.mode & MODE_REGONLY) && !HasUMode(client_p, UMODE_REGISTERED))
654 >  if (HasCMode(chptr, MODE_REGONLY) && !HasUMode(client_p, UMODE_REGISTERED))
655      return ERR_NEEDREGGEDNICK;
656  
657 <  if ((chptr->mode.mode & MODE_OPERONLY) && !HasUMode(client_p, UMODE_OPER))
657 >  if (HasCMode(chptr, MODE_OPERONLY) && !HasUMode(client_p, UMODE_OPER))
658      return ERR_OPERONLYCHAN;
659  
660 <  if (chptr->mode.mode & MODE_INVITEONLY)
660 >  if (HasCMode(chptr, MODE_INVITEONLY))
661      if (!find_invite(chptr, client_p))
662        if (!find_bmask(client_p, &chptr->invexlist))
663          return ERR_INVITEONLYCHAN;
# Line 759 | Line 759 | can_send(struct Channel *chptr, struct C
759        if ((resv = resv_find(chptr->name, match)) && !resv_exempt_find(client_p, resv))
760          return ERR_CANNOTSENDTOCHAN;
761  
762 <  if ((chptr->mode.mode & MODE_NOCTRL) && msg_has_ctrls(message))
762 >  if (HasCMode(chptr, MODE_NOCTRL) && msg_has_ctrls(message))
763      return ERR_NOCTRLSONCHAN;
764  
765 <  if (chptr->mode.mode & MODE_NOCTCP)
765 >  if (HasCMode(chptr, MODE_NOCTCP))
766      if (*message == '\001' && strncmp(message + 1, "ACTION ", 7))
767        return ERR_NOCTCP;
768  
# Line 770 | Line 770 | can_send(struct Channel *chptr, struct C
770      if (member->flags & (CHFL_CHANOP | CHFL_HALFOP | CHFL_VOICE))
771        return CAN_SEND_OPV;
772  
773 <  if (!member && (chptr->mode.mode & MODE_NOPRIVMSGS))
773 >  if (!member && HasCMode(chptr, MODE_NOPRIVMSGS))
774      return ERR_CANNOTSENDTOCHAN;
775  
776 <  if (chptr->mode.mode & MODE_MODERATED)
776 >  if (HasCMode(chptr, MODE_MODERATED))
777      return ERR_CANNOTSENDTOCHAN;
778  
779 <  if ((chptr->mode.mode & MODE_MODREG) && !HasUMode(client_p, UMODE_REGISTERED))
779 >  if (HasCMode(chptr, MODE_MODREG) && !HasUMode(client_p, UMODE_REGISTERED))
780      return ERR_NEEDREGGEDNICK;
781  
782 <  if ((chptr->mode.mode & MODE_NONOTICE) && notice)
782 >  if (HasCMode(chptr, MODE_NONOTICE) && notice)
783      return ERR_CANNOTSENDTOCHAN;
784  
785    /* Cache can send if banned */
# Line 1042 | Line 1042 | channel_do_join(struct Client *client_p,
1042      if (flags == CHFL_CHANOP)
1043      {
1044        chptr->creationtime = CurrentTime;
1045 <      chptr->mode.mode |= MODE_TOPICLIMIT;
1046 <      chptr->mode.mode |= MODE_NOPRIVMSGS;
1045 >      AddCMode(chptr, MODE_TOPICLIMIT);
1046 >      AddCMode(chptr, MODE_NOPRIVMSGS);
1047  
1048        sendto_server(client_p, 0, 0, ":%s SJOIN %ju %s +nt :@%s",
1049                      me.id, chptr->creationtime,

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)