s/owner/admin/ throughout the source code and docs.
This commit is contained in:
parent
f8b60fb5fd
commit
c1c91f9438
4
NEWS
4
NEWS
|
@ -22,10 +22,10 @@ new modes
|
||||||
- Add cmode +J which disallows a kicked user from rejoining within 'X' seconds
|
- Add cmode +J which disallows a kicked user from rejoining within 'X' seconds
|
||||||
of them being kicked, where 'X' is the variable of the channel::kick_no_rejoin_time
|
of them being kicked, where 'X' is the variable of the channel::kick_no_rejoin_time
|
||||||
configuration option.
|
configuration option.
|
||||||
- Add cmodes +a and +h (owner and halfop, respectively). There are 2 extra
|
- Add cmodes +a and +h (admin and halfop, respectively). There are 2 extra
|
||||||
prefixes to more finely-grain the status of staff members in your channels.
|
prefixes to more finely-grain the status of staff members in your channels.
|
||||||
They can be enabled or disabled in the configuration file with the options
|
They can be enabled or disabled in the configuration file with the options
|
||||||
channel::use_halfop and channel::use_owner.
|
channel::use_halfop and channel::use_admin.
|
||||||
|
|
||||||
new configuration options
|
new configuration options
|
||||||
- auth::autojoin - This option will specify what channels users in a matching
|
- auth::autojoin - This option will specify what channels users in a matching
|
||||||
|
|
|
@ -372,7 +372,7 @@ channel {
|
||||||
autochanmodes = "nt";
|
autochanmodes = "nt";
|
||||||
exemptchanops = "NT";
|
exemptchanops = "NT";
|
||||||
use_halfop = yes;
|
use_halfop = yes;
|
||||||
use_owner = yes;
|
use_admin = yes;
|
||||||
use_invex = yes;
|
use_invex = yes;
|
||||||
use_except = yes;
|
use_except = yes;
|
||||||
use_knock = yes;
|
use_knock = yes;
|
||||||
|
|
|
@ -749,15 +749,15 @@ channel {
|
||||||
*/
|
*/
|
||||||
use_halfop = yes;
|
use_halfop = yes;
|
||||||
|
|
||||||
/* owner: Enable/disable channel mode +a, which adds owner,
|
/* admin: Enable/disable channel mode +a, which adds admin,
|
||||||
* a channel status above op that has op powers (kick, ban, mode, etc.)
|
* a channel status above op that has op powers (kick, ban, mode, etc.)
|
||||||
* owners can only be kicked/deownered by other owners, and may kick
|
* admins can only be kicked/deadmined by other admins, and may kick
|
||||||
* or deop anyone. Disabling this via rehash will cause things which
|
* or deop anyone. Disabling this via rehash will cause things which
|
||||||
* are rather confusing to occur, it is highly recommended to restart
|
* are rather confusing to occur, it is highly recommended to restart
|
||||||
* if you wish to disable this option, though it may be enabled
|
* if you wish to disable this option, though it may be enabled
|
||||||
* by rehash with no problems.
|
* by rehash with no problems.
|
||||||
*/
|
*/
|
||||||
use_owner = yes;
|
use_admin = yes;
|
||||||
|
|
||||||
/* invex: Enable/disable channel mode +I, a n!u@h list of masks
|
/* invex: Enable/disable channel mode +I, a n!u@h list of masks
|
||||||
* that can join a +i channel without an invite. Disabling this option
|
* that can join a +i channel without an invite. Disabling this option
|
||||||
|
|
|
@ -76,7 +76,7 @@ mo_opme(struct Client *client_p, struct Client *source_p, int parc, const char *
|
||||||
{
|
{
|
||||||
msptr = ptr->data;
|
msptr = ptr->data;
|
||||||
|
|
||||||
if(is_chanop(msptr) || is_owner(msptr))
|
if(is_chanop(msptr) || is_admin(msptr))
|
||||||
{
|
{
|
||||||
sendto_one_notice(source_p, ":%s Channel is not opless", parv[1]);
|
sendto_one_notice(source_p, ":%s Channel is not opless", parv[1]);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -151,14 +151,14 @@ typedef int (*ExtbanFunc)(const char *data, struct Client *client_p,
|
||||||
#define CHFL_QUIETED 0x0010 /* cached as being +q victim */
|
#define CHFL_QUIETED 0x0010 /* cached as being +q victim */
|
||||||
#define ONLY_SERVERS 0x0020
|
#define ONLY_SERVERS 0x0020
|
||||||
#define CHFL_HALFOP 0x0040
|
#define CHFL_HALFOP 0x0040
|
||||||
#define CHFL_OWNER 0x0080
|
#define CHFL_ADMIN 0x0080
|
||||||
#define ONLY_OPERS 0x0100
|
#define ONLY_OPERS 0x0100
|
||||||
#define ALL_MEMBERS CHFL_PEON
|
#define ALL_MEMBERS CHFL_PEON
|
||||||
#define ONLY_CHANOPS CHFL_CHANOP
|
#define ONLY_CHANOPS CHFL_CHANOP
|
||||||
#define ONLY_CHANOPSVOICED (CHFL_CHANOP|CHFL_VOICE)
|
#define ONLY_CHANOPSVOICED (CHFL_CHANOP|CHFL_VOICE)
|
||||||
|
|
||||||
#define is_chmode_h(x) ((x) && (x)->flags & CHFL_HALFOP) /* does not check if halfop is enabled, should typically not be used */
|
#define is_chmode_h(x) ((x) && (x)->flags & CHFL_HALFOP) /* does not check if halfop is enabled, should typically not be used */
|
||||||
#define is_chmode_a(x) ((x) && (x)->flags & CHFL_OWNER) /* does not check if owner is enabled, should typically not be used */
|
#define is_chmode_a(x) ((x) && (x)->flags & CHFL_ADMIN) /* does not check if admin is enabled, should typically not be used */
|
||||||
#define is_chanop(x) ((x) && (x)->flags & CHFL_CHANOP)
|
#define is_chanop(x) ((x) && (x)->flags & CHFL_CHANOP)
|
||||||
#define is_voiced(x) ((x) && (x)->flags & CHFL_VOICE)
|
#define is_voiced(x) ((x) && (x)->flags & CHFL_VOICE)
|
||||||
#define can_send_banned(x) ((x) && (x)->flags & (CHFL_BANNED|CHFL_QUIETED))
|
#define can_send_banned(x) ((x) && (x)->flags & (CHFL_BANNED|CHFL_QUIETED))
|
||||||
|
@ -238,7 +238,7 @@ extern int can_join(struct Client *source_p, struct Channel *chptr, char *key);
|
||||||
extern struct membership *find_channel_membership(struct Channel *, struct Client *);
|
extern struct membership *find_channel_membership(struct Channel *, struct Client *);
|
||||||
extern const char *find_channel_status(struct membership *msptr, int combine);
|
extern const char *find_channel_status(struct membership *msptr, int combine);
|
||||||
extern int is_halfop(struct membership *msptr);
|
extern int is_halfop(struct membership *msptr);
|
||||||
extern int is_owner(struct membership *msptr);
|
extern int is_admin(struct membership *msptr);
|
||||||
extern int is_any_op(struct membership *msptr);
|
extern int is_any_op(struct membership *msptr);
|
||||||
extern int is_chanop_voiced(struct membership *msptr);
|
extern int is_chanop_voiced(struct membership *msptr);
|
||||||
extern int can_kick_deop(struct membership *source, struct membership *target);
|
extern int can_kick_deop(struct membership *source, struct membership *target);
|
||||||
|
|
|
@ -69,7 +69,7 @@ extern void chm_limit(struct Client *source_p, struct Channel *chptr,
|
||||||
extern void chm_regonly(struct Client *source_p, struct Channel *chptr,
|
extern void chm_regonly(struct Client *source_p, struct Channel *chptr,
|
||||||
int alevel, int parc, int *parn,
|
int alevel, int parc, int *parn,
|
||||||
const char **parv, int *errors, int dir, char c, long mode_type);
|
const char **parv, int *errors, int dir, char c, long mode_type);
|
||||||
extern void chm_owner(struct Client *source_p, struct Channel *chptr,
|
extern void chm_admin(struct Client *source_p, struct Channel *chptr,
|
||||||
int alevel, int parc, int *parn,
|
int alevel, int parc, int *parn,
|
||||||
const char **parv, int *errors, int dir, char c, long mode_type);
|
const char **parv, int *errors, int dir, char c, long mode_type);
|
||||||
extern void chm_op(struct Client *source_p, struct Channel *chptr,
|
extern void chm_op(struct Client *source_p, struct Channel *chptr,
|
||||||
|
|
|
@ -226,7 +226,7 @@ struct config_channel_entry
|
||||||
char * autochanmodes;
|
char * autochanmodes;
|
||||||
char * exemptchanops;
|
char * exemptchanops;
|
||||||
int use_halfop;
|
int use_halfop;
|
||||||
int use_owner;
|
int use_admin;
|
||||||
int use_except;
|
int use_except;
|
||||||
int use_invex;
|
int use_invex;
|
||||||
int use_knock;
|
int use_knock;
|
||||||
|
|
|
@ -505,7 +505,7 @@ ms_sjoin(struct Client *client_p, struct Client *source_p, int parc, const char
|
||||||
{
|
{
|
||||||
if(*s == '!')
|
if(*s == '!')
|
||||||
{
|
{
|
||||||
fl |= CHFL_OWNER;
|
fl |= CHFL_ADMIN;
|
||||||
s++;
|
s++;
|
||||||
}
|
}
|
||||||
else if(*s == '@')
|
else if(*s == '@')
|
||||||
|
@ -543,7 +543,7 @@ ms_sjoin(struct Client *client_p, struct Client *source_p, int parc, const char
|
||||||
|
|
||||||
if(keep_new_modes)
|
if(keep_new_modes)
|
||||||
{
|
{
|
||||||
if(fl & CHFL_OWNER)
|
if(fl & CHFL_ADMIN)
|
||||||
{
|
{
|
||||||
*ptr_uid++ = '!';
|
*ptr_uid++ = '!';
|
||||||
len_nick++;
|
len_nick++;
|
||||||
|
@ -589,7 +589,7 @@ ms_sjoin(struct Client *client_p, struct Client *source_p, int parc, const char
|
||||||
/* If anyone can think of a way to do this that doesn't make babies cry
|
/* If anyone can think of a way to do this that doesn't make babies cry
|
||||||
* I would love to hear it - Taros */
|
* I would love to hear it - Taros */
|
||||||
|
|
||||||
if(fl & CHFL_OWNER)
|
if(fl & CHFL_ADMIN)
|
||||||
{
|
{
|
||||||
*mbuf++ = 'a';
|
*mbuf++ = 'a';
|
||||||
para[pargs++] = target_p->name;
|
para[pargs++] = target_p->name;
|
||||||
|
@ -985,9 +985,9 @@ remove_our_modes(struct Channel *chptr, struct Client *source_p)
|
||||||
/* If anyone can think of a way to do this that doesn't make babies cry
|
/* If anyone can think of a way to do this that doesn't make babies cry
|
||||||
* I would love to hear it - Taros */
|
* I would love to hear it - Taros */
|
||||||
|
|
||||||
if(is_owner(msptr))
|
if(is_admin(msptr))
|
||||||
{
|
{
|
||||||
msptr->flags &= ~CHFL_OWNER;
|
msptr->flags &= ~CHFL_ADMIN;
|
||||||
lpara[count++] = msptr->client_p->name;
|
lpara[count++] = msptr->client_p->name;
|
||||||
*mbuf++ = 'a';
|
*mbuf++ = 'a';
|
||||||
|
|
||||||
|
|
|
@ -597,10 +597,10 @@ static struct InfoStruct info_table[] = {
|
||||||
"Enable chanmode +h (halfop)",
|
"Enable chanmode +h (halfop)",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"use_owner",
|
"use_admin",
|
||||||
OUTPUT_BOOLEAN_YN,
|
OUTPUT_BOOLEAN_YN,
|
||||||
&ConfigChannel.use_owner,
|
&ConfigChannel.use_admin,
|
||||||
"Enable chanmode +a (owner)",
|
"Enable chanmode +a (admin)",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"use_except",
|
"use_except",
|
||||||
|
|
|
@ -186,7 +186,7 @@ find_channel_status(struct membership *msptr, int combine)
|
||||||
|
|
||||||
p = buffer;
|
p = buffer;
|
||||||
|
|
||||||
if(is_owner(msptr))
|
if(is_admin(msptr))
|
||||||
{
|
{
|
||||||
if(!combine)
|
if(!combine)
|
||||||
return "!";
|
return "!";
|
||||||
|
@ -233,18 +233,18 @@ is_halfop(struct membership *msptr)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* is_owner()
|
/* is_admin()
|
||||||
*
|
*
|
||||||
* input - membership to check for owner
|
* input - membership to check for admin
|
||||||
* output - 1 if the user is an owner, 0 if the user is not or owner
|
* output - 1 if the user is an admin, 0 if the user is not or admin
|
||||||
* is disabled.
|
* is disabled.
|
||||||
* side effects -
|
* side effects -
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
is_owner(struct membership *msptr)
|
is_admin(struct membership *msptr)
|
||||||
{
|
{
|
||||||
if(!ConfigChannel.use_owner)
|
if(!ConfigChannel.use_admin)
|
||||||
return 0;
|
return 0;
|
||||||
if(is_chmode_a(msptr))
|
if(is_chmode_a(msptr))
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -255,13 +255,13 @@ is_owner(struct membership *msptr)
|
||||||
/* is_any_op()
|
/* is_any_op()
|
||||||
*
|
*
|
||||||
* input - membership to check for ops
|
* input - membership to check for ops
|
||||||
* output - 1 if the user is op, halfop, or owner, 0 elsewise
|
* output - 1 if the user is op, halfop, or admin, 0 elsewise
|
||||||
* side effects -
|
* side effects -
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
is_any_op(struct membership *msptr)
|
is_any_op(struct membership *msptr)
|
||||||
{
|
{
|
||||||
if(is_chanop(msptr) || is_halfop(msptr) || is_owner(msptr))
|
if(is_chanop(msptr) || is_halfop(msptr) || is_admin(msptr))
|
||||||
return 1;
|
return 1;
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -270,13 +270,13 @@ is_any_op(struct membership *msptr)
|
||||||
/* is_chanop_voiced()
|
/* is_chanop_voiced()
|
||||||
*
|
*
|
||||||
* input - memebership to check for status
|
* input - memebership to check for status
|
||||||
* output - 1 if the user is op, halfop, owner, or voice, 0 elsewise
|
* output - 1 if the user is op, halfop, admin, or voice, 0 elsewise
|
||||||
* side effects -
|
* side effects -
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
is_chanop_voiced(struct membership *msptr)
|
is_chanop_voiced(struct membership *msptr)
|
||||||
{
|
{
|
||||||
if(is_chanop(msptr) || is_voiced(msptr) || is_halfop(msptr) || is_owner(msptr))
|
if(is_chanop(msptr) || is_voiced(msptr) || is_halfop(msptr) || is_admin(msptr))
|
||||||
return 1;
|
return 1;
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -291,11 +291,11 @@ is_chanop_voiced(struct membership *msptr)
|
||||||
int
|
int
|
||||||
can_kick_deop(struct membership *source, struct membership *target)
|
can_kick_deop(struct membership *source, struct membership *target)
|
||||||
{
|
{
|
||||||
if(is_chanop(source) && !is_owner(target))
|
if(is_chanop(source) && !is_admin(target))
|
||||||
return 1;
|
return 1;
|
||||||
else if(is_halfop(source) && !is_any_op(target))
|
else if(is_halfop(source) && !is_any_op(target))
|
||||||
return 1;
|
return 1;
|
||||||
else if(is_owner(source))
|
else if(is_admin(source))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
50
src/chmode.c
50
src/chmode.c
|
@ -91,7 +91,7 @@ construct_noparam_modes(void)
|
||||||
!(chmode_table[i].set_func == chm_throttle) &&
|
!(chmode_table[i].set_func == chm_throttle) &&
|
||||||
!(chmode_table[i].set_func == chm_key) &&
|
!(chmode_table[i].set_func == chm_key) &&
|
||||||
!(chmode_table[i].set_func == chm_limit) &&
|
!(chmode_table[i].set_func == chm_limit) &&
|
||||||
!(chmode_table[i].set_func == chm_owner) &&
|
!(chmode_table[i].set_func == chm_admin) &&
|
||||||
!(chmode_table[i].set_func == chm_op) &&
|
!(chmode_table[i].set_func == chm_op) &&
|
||||||
!(chmode_table[i].set_func == chm_halfop) &&
|
!(chmode_table[i].set_func == chm_halfop) &&
|
||||||
!(chmode_table[i].set_func == chm_voice))
|
!(chmode_table[i].set_func == chm_voice))
|
||||||
|
@ -179,8 +179,8 @@ find_cflag_slot(void)
|
||||||
static int
|
static int
|
||||||
get_channel_access(struct Client *source_p, struct membership *msptr)
|
get_channel_access(struct Client *source_p, struct membership *msptr)
|
||||||
{
|
{
|
||||||
if(!MyClient(source_p) || is_owner(msptr))
|
if(!MyClient(source_p) || is_admin(msptr))
|
||||||
return CHFL_OWNER;
|
return CHFL_ADMIN;
|
||||||
else if(is_chanop(msptr))
|
else if(is_chanop(msptr))
|
||||||
return CHFL_CHANOP;
|
return CHFL_CHANOP;
|
||||||
else if(is_halfop(msptr))
|
else if(is_halfop(msptr))
|
||||||
|
@ -505,7 +505,7 @@ chm_simple(struct Client *source_p, struct Channel *chptr,
|
||||||
struct Metadata *md;
|
struct Metadata *md;
|
||||||
struct DictionaryIter iter;
|
struct DictionaryIter iter;
|
||||||
|
|
||||||
if(alevel != CHFL_CHANOP && alevel != CHFL_OWNER && alevel != CHFL_HALFOP)
|
if(alevel != CHFL_CHANOP && alevel != CHFL_ADMIN && alevel != CHFL_HALFOP)
|
||||||
{
|
{
|
||||||
if (IsOverride(source_p))
|
if (IsOverride(source_p))
|
||||||
override = 1;
|
override = 1;
|
||||||
|
@ -794,7 +794,7 @@ chm_ban(struct Client *source_p, struct Channel *chptr,
|
||||||
*errors |= errorval;
|
*errors |= errorval;
|
||||||
|
|
||||||
/* non-ops cant see +eI lists.. */
|
/* non-ops cant see +eI lists.. */
|
||||||
if(alevel != CHFL_CHANOP && alevel != CHFL_OWNER && alevel != CHFL_HALFOP && mode_type != CHFL_BAN &&
|
if(alevel != CHFL_CHANOP && alevel != CHFL_ADMIN && alevel != CHFL_HALFOP && mode_type != CHFL_BAN &&
|
||||||
mode_type != CHFL_QUIET)
|
mode_type != CHFL_QUIET)
|
||||||
{
|
{
|
||||||
if(IsOverride(source_p))
|
if(IsOverride(source_p))
|
||||||
|
@ -831,7 +831,7 @@ chm_ban(struct Client *source_p, struct Channel *chptr,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(alevel != CHFL_CHANOP && alevel != CHFL_OWNER && alevel != CHFL_HALFOP)
|
if(alevel != CHFL_CHANOP && alevel != CHFL_ADMIN && alevel != CHFL_HALFOP)
|
||||||
{
|
{
|
||||||
if(IsOverride(source_p))
|
if(IsOverride(source_p))
|
||||||
override = 1;
|
override = 1;
|
||||||
|
@ -919,16 +919,16 @@ chm_ban(struct Client *source_p, struct Channel *chptr,
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
chm_owner(struct Client *source_p, struct Channel *chptr,
|
chm_admin(struct Client *source_p, struct Channel *chptr,
|
||||||
int alevel, int parc, int *parn,
|
int alevel, int parc, int *parn,
|
||||||
const char **parv, int *errors, int dir, char c, long mode_type)
|
const char **parv, int *errors, int dir, char c, long mode_type)
|
||||||
{
|
{
|
||||||
struct membership *mstptr;
|
struct membership *mstptr;
|
||||||
const char *ownernick;
|
const char *adminnick;
|
||||||
struct Client *targ_p;
|
struct Client *targ_p;
|
||||||
int override = 0;
|
int override = 0;
|
||||||
|
|
||||||
if(!ConfigChannel.use_owner)
|
if(!ConfigChannel.use_admin)
|
||||||
{
|
{
|
||||||
if(*errors & SM_ERR_UNKNOWN)
|
if(*errors & SM_ERR_UNKNOWN)
|
||||||
return;
|
return;
|
||||||
|
@ -937,7 +937,7 @@ chm_owner(struct Client *source_p, struct Channel *chptr,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(alevel != CHFL_OWNER)
|
if(alevel != CHFL_ADMIN)
|
||||||
{
|
{
|
||||||
if(IsOverride(source_p))
|
if(IsOverride(source_p))
|
||||||
override = 1;
|
override = 1;
|
||||||
|
@ -954,17 +954,17 @@ chm_owner(struct Client *source_p, struct Channel *chptr,
|
||||||
if((dir == MODE_QUERY) || (parc <= *parn))
|
if((dir == MODE_QUERY) || (parc <= *parn))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ownernick = parv[(*parn)];
|
adminnick = parv[(*parn)];
|
||||||
(*parn)++;
|
(*parn)++;
|
||||||
|
|
||||||
/* empty nick */
|
/* empty nick */
|
||||||
if(EmptyString(ownernick))
|
if(EmptyString(adminnick))
|
||||||
{
|
{
|
||||||
sendto_one_numeric(source_p, ERR_NOSUCHNICK, form_str(ERR_NOSUCHNICK), "*");
|
sendto_one_numeric(source_p, ERR_NOSUCHNICK, form_str(ERR_NOSUCHNICK), "*");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if((targ_p = find_chasing(source_p, ownernick, NULL)) == NULL)
|
if((targ_p = find_chasing(source_p, adminnick, NULL)) == NULL)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -975,7 +975,7 @@ chm_owner(struct Client *source_p, struct Channel *chptr,
|
||||||
{
|
{
|
||||||
if(!(*errors & SM_ERR_NOTONCHANNEL) && MyClient(source_p))
|
if(!(*errors & SM_ERR_NOTONCHANNEL) && MyClient(source_p))
|
||||||
sendto_one_numeric(source_p, ERR_USERNOTINCHANNEL,
|
sendto_one_numeric(source_p, ERR_USERNOTINCHANNEL,
|
||||||
form_str(ERR_USERNOTINCHANNEL), ownernick, chptr->chname);
|
form_str(ERR_USERNOTINCHANNEL), adminnick, chptr->chname);
|
||||||
*errors |= SM_ERR_NOTONCHANNEL;
|
*errors |= SM_ERR_NOTONCHANNEL;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1005,7 +1005,7 @@ chm_owner(struct Client *source_p, struct Channel *chptr,
|
||||||
mode_changes[mode_count].override = override;
|
mode_changes[mode_count].override = override;
|
||||||
mode_changes[mode_count++].client = targ_p;
|
mode_changes[mode_count++].client = targ_p;
|
||||||
|
|
||||||
mstptr->flags |= CHFL_OWNER;
|
mstptr->flags |= CHFL_ADMIN;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1026,7 +1026,7 @@ chm_owner(struct Client *source_p, struct Channel *chptr,
|
||||||
mode_changes[mode_count].override = override;
|
mode_changes[mode_count].override = override;
|
||||||
mode_changes[mode_count++].client = targ_p;
|
mode_changes[mode_count++].client = targ_p;
|
||||||
|
|
||||||
mstptr->flags &= ~CHFL_OWNER;
|
mstptr->flags &= ~CHFL_ADMIN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1040,7 +1040,7 @@ chm_op(struct Client *source_p, struct Channel *chptr,
|
||||||
struct Client *targ_p;
|
struct Client *targ_p;
|
||||||
int override = 0;
|
int override = 0;
|
||||||
|
|
||||||
if(alevel != CHFL_CHANOP && alevel != CHFL_OWNER)
|
if(alevel != CHFL_CHANOP && alevel != CHFL_ADMIN)
|
||||||
{
|
{
|
||||||
if(IsOverride(source_p))
|
if(IsOverride(source_p))
|
||||||
override = 1;
|
override = 1;
|
||||||
|
@ -1153,7 +1153,7 @@ chm_halfop(struct Client *source_p, struct Channel *chptr,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(alevel != CHFL_CHANOP && alevel != CHFL_OWNER)
|
if(alevel != CHFL_CHANOP && alevel != CHFL_ADMIN)
|
||||||
{
|
{
|
||||||
if(IsOverride(source_p))
|
if(IsOverride(source_p))
|
||||||
override = 1;
|
override = 1;
|
||||||
|
@ -1257,7 +1257,7 @@ chm_voice(struct Client *source_p, struct Channel *chptr,
|
||||||
struct Client *targ_p;
|
struct Client *targ_p;
|
||||||
int override = 0;
|
int override = 0;
|
||||||
|
|
||||||
if(alevel != CHFL_CHANOP && alevel != CHFL_OWNER && alevel != CHFL_HALFOP)
|
if(alevel != CHFL_CHANOP && alevel != CHFL_ADMIN && alevel != CHFL_HALFOP)
|
||||||
{
|
{
|
||||||
if(IsOverride(source_p))
|
if(IsOverride(source_p))
|
||||||
override = 1;
|
override = 1;
|
||||||
|
@ -1344,7 +1344,7 @@ chm_limit(struct Client *source_p, struct Channel *chptr,
|
||||||
int limit;
|
int limit;
|
||||||
int override = 0;
|
int override = 0;
|
||||||
|
|
||||||
if(alevel != CHFL_CHANOP && alevel != CHFL_OWNER && alevel != CHFL_HALFOP)
|
if(alevel != CHFL_CHANOP && alevel != CHFL_ADMIN && alevel != CHFL_HALFOP)
|
||||||
{
|
{
|
||||||
if(IsOverride(source_p))
|
if(IsOverride(source_p))
|
||||||
override = 1;
|
override = 1;
|
||||||
|
@ -1411,7 +1411,7 @@ chm_throttle(struct Client *source_p, struct Channel *chptr,
|
||||||
int joins = 0, timeslice = 0;
|
int joins = 0, timeslice = 0;
|
||||||
int override = 0;
|
int override = 0;
|
||||||
|
|
||||||
if(alevel != CHFL_CHANOP && alevel != CHFL_OWNER && alevel != CHFL_HALFOP)
|
if(alevel != CHFL_CHANOP && alevel != CHFL_ADMIN && alevel != CHFL_HALFOP)
|
||||||
{
|
{
|
||||||
if(IsOverride(source_p))
|
if(IsOverride(source_p))
|
||||||
override = 1;
|
override = 1;
|
||||||
|
@ -1503,7 +1503,7 @@ chm_forward(struct Client *source_p, struct Channel *chptr,
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef FORWARD_OPERONLY
|
#ifndef FORWARD_OPERONLY
|
||||||
if(alevel != CHFL_CHANOP && alevel != CHFL_OWNER && alevel != CHFL_HALFOP)
|
if(alevel != CHFL_CHANOP && alevel != CHFL_ADMIN && alevel != CHFL_HALFOP)
|
||||||
{
|
{
|
||||||
if(IsOverride(source_p))
|
if(IsOverride(source_p))
|
||||||
override = 1;
|
override = 1;
|
||||||
|
@ -1608,7 +1608,7 @@ chm_key(struct Client *source_p, struct Channel *chptr,
|
||||||
char *key;
|
char *key;
|
||||||
int override = 0;
|
int override = 0;
|
||||||
|
|
||||||
if(alevel != CHFL_CHANOP && alevel != CHFL_OWNER && alevel != CHFL_HALFOP)
|
if(alevel != CHFL_CHANOP && alevel != CHFL_ADMIN && alevel != CHFL_HALFOP)
|
||||||
{
|
{
|
||||||
if(IsOverride(source_p))
|
if(IsOverride(source_p))
|
||||||
override = 1;
|
override = 1;
|
||||||
|
@ -1694,7 +1694,7 @@ chm_regonly(struct Client *source_p, struct Channel *chptr,
|
||||||
{
|
{
|
||||||
int override = 0;
|
int override = 0;
|
||||||
|
|
||||||
if(alevel != CHFL_CHANOP && alevel != CHFL_OWNER && alevel != CHFL_HALFOP)
|
if(alevel != CHFL_CHANOP && alevel != CHFL_ADMIN && alevel != CHFL_HALFOP)
|
||||||
{
|
{
|
||||||
if(IsOverride(source_p))
|
if(IsOverride(source_p))
|
||||||
override = 1;
|
override = 1;
|
||||||
|
@ -1834,7 +1834,7 @@ struct ChannelMode chmode_table[256] =
|
||||||
{chm_nosuch, 0 },
|
{chm_nosuch, 0 },
|
||||||
{chm_nosuch, 0 },
|
{chm_nosuch, 0 },
|
||||||
{chm_nosuch, 0 },
|
{chm_nosuch, 0 },
|
||||||
{chm_owner, 0 }, /* a */
|
{chm_admin, 0 }, /* a */
|
||||||
{chm_ban, CHFL_BAN }, /* b */
|
{chm_ban, CHFL_BAN }, /* b */
|
||||||
{chm_simple, MODE_NOCOLOR }, /* c */
|
{chm_simple, MODE_NOCOLOR }, /* c */
|
||||||
{chm_nosuch, 0 }, /* d */
|
{chm_nosuch, 0 }, /* d */
|
||||||
|
|
|
@ -2271,7 +2271,7 @@ static struct ConfEntry conf_channel_table[] =
|
||||||
{ "cycle_host_change", CF_YESNO, NULL, 0, &ConfigChannel.cycle_host_change },
|
{ "cycle_host_change", CF_YESNO, NULL, 0, &ConfigChannel.cycle_host_change },
|
||||||
{ "host_in_topic", CF_YESNO, NULL, 0, &ConfigChannel.host_in_topic },
|
{ "host_in_topic", CF_YESNO, NULL, 0, &ConfigChannel.host_in_topic },
|
||||||
{ "use_halfop", CF_YESNO, NULL, 0, &ConfigChannel.use_halfop },
|
{ "use_halfop", CF_YESNO, NULL, 0, &ConfigChannel.use_halfop },
|
||||||
{ "use_owner", CF_YESNO, NULL, 0, &ConfigChannel.use_owner },
|
{ "use_admin", CF_YESNO, NULL, 0, &ConfigChannel.use_admin },
|
||||||
{ "use_except", CF_YESNO, NULL, 0, &ConfigChannel.use_except },
|
{ "use_except", CF_YESNO, NULL, 0, &ConfigChannel.use_except },
|
||||||
{ "use_invex", CF_YESNO, NULL, 0, &ConfigChannel.use_invex },
|
{ "use_invex", CF_YESNO, NULL, 0, &ConfigChannel.use_invex },
|
||||||
{ "use_knock", CF_YESNO, NULL, 0, &ConfigChannel.use_knock },
|
{ "use_knock", CF_YESNO, NULL, 0, &ConfigChannel.use_knock },
|
||||||
|
|
|
@ -751,7 +751,7 @@ set_default_conf(void)
|
||||||
ConfigChannel.autochanmodes = rb_strdup("nt");
|
ConfigChannel.autochanmodes = rb_strdup("nt");
|
||||||
ConfigChannel.exemptchanops = rb_strdup("");
|
ConfigChannel.exemptchanops = rb_strdup("");
|
||||||
ConfigChannel.use_halfop = YES;
|
ConfigChannel.use_halfop = YES;
|
||||||
ConfigChannel.use_owner = YES;
|
ConfigChannel.use_admin = YES;
|
||||||
ConfigChannel.use_except = YES;
|
ConfigChannel.use_except = YES;
|
||||||
ConfigChannel.use_invex = YES;
|
ConfigChannel.use_invex = YES;
|
||||||
ConfigChannel.use_knock = YES;
|
ConfigChannel.use_knock = YES;
|
||||||
|
|
|
@ -556,7 +556,7 @@ burst_TS6(struct Client *client_p)
|
||||||
msptr = uptr->data;
|
msptr = uptr->data;
|
||||||
|
|
||||||
tlen = strlen(use_id(msptr->client_p)) + 1;
|
tlen = strlen(use_id(msptr->client_p)) + 1;
|
||||||
if(is_owner(msptr))
|
if(is_admin(msptr))
|
||||||
tlen++;
|
tlen++;
|
||||||
if(is_chanop(msptr))
|
if(is_chanop(msptr))
|
||||||
tlen++;
|
tlen++;
|
||||||
|
|
|
@ -1523,7 +1523,7 @@ change_nick_user_host(struct Client *target_p, const char *nick, const char *use
|
||||||
chptr = mscptr->chptr;
|
chptr = mscptr->chptr;
|
||||||
mptr = mode;
|
mptr = mode;
|
||||||
|
|
||||||
if(is_owner(mscptr))
|
if(is_admin(mscptr))
|
||||||
{
|
{
|
||||||
*mptr++ = 'a';
|
*mptr++ = 'a';
|
||||||
strcat(modeval, nick);
|
strcat(modeval, nick);
|
||||||
|
|
|
@ -267,9 +267,9 @@ isupport_prefix(const void *ptr)
|
||||||
static char result[11];
|
static char result[11];
|
||||||
|
|
||||||
rb_snprintf(result, sizeof result, "(%so%sv)%s@%s+",
|
rb_snprintf(result, sizeof result, "(%so%sv)%s@%s+",
|
||||||
ConfigChannel.use_owner ? "a" : "",
|
ConfigChannel.use_admin ? "a" : "",
|
||||||
ConfigChannel.use_halfop ? "h" : "",
|
ConfigChannel.use_halfop ? "h" : "",
|
||||||
ConfigChannel.use_owner ? "!" : "",
|
ConfigChannel.use_admin ? "!" : "",
|
||||||
ConfigChannel.use_halfop ? "%" : "");
|
ConfigChannel.use_halfop ? "%" : "");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue