int channel_canjoin(aClient *sptr, char *name) { ConfigItem_deny_channel *p; if (IsOper(sptr)) return 1; if (IsULine(sptr)) return 1; if (!conf_deny_channel) return 1; p = Find_channel_allowed(name); if (p) { sendto_one(sptr, ":%s NOTICE %s :*** %s", me.name, sptr->name, p->reason); return 0; } return 1; }
int channel_canjoin(aClient *sptr, char *name) { ConfigItem_deny_channel *p; aTKline *tklban; int ishold; if (!ValidatePermissionsForPath("channel:restricted",sptr,NULL,NULL,name)) return 1; if (IsULine(sptr)) return 1; if (!conf_deny_channel) return 1; p = Find_channel_allowed(sptr, name); if (p) { sendto_one(sptr, err_str(ERR_FORBIDDENCHANNEL), me.name, sptr->name, name, p->reason); return 0; } if ((tklban = find_qline(sptr, name, &ishold))) { sendto_one(sptr, err_str(ERR_FORBIDDENCHANNEL), me.name, sptr->name, name, tklban->reason); return 0; } return 1; }