Added cycle_host_change option.
This commit is contained in:
parent
70731d4fed
commit
c3a0fde28f
|
@ -347,6 +347,7 @@ channel {
|
||||||
burst_topicwho = yes;
|
burst_topicwho = yes;
|
||||||
kick_on_split_riding = no;
|
kick_on_split_riding = no;
|
||||||
only_ascii_channels = no;
|
only_ascii_channels = no;
|
||||||
|
cycle_host_change = yes;
|
||||||
resv_forcepart = yes;
|
resv_forcepart = yes;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -761,6 +761,12 @@ channel {
|
||||||
* or non-ASCII).
|
* or non-ASCII).
|
||||||
*/
|
*/
|
||||||
only_ascii_channels = no;
|
only_ascii_channels = no;
|
||||||
|
|
||||||
|
/* cycle_host_change: Should a user be cycled in the channels
|
||||||
|
* they're in when their host changes. If set to no, this may
|
||||||
|
* cause client desyncs.
|
||||||
|
*/
|
||||||
|
cycle_host_change = yes;
|
||||||
|
|
||||||
/* resv_forcepart: force any local users to part a channel
|
/* resv_forcepart: force any local users to part a channel
|
||||||
* when a RESV is issued.
|
* when a RESV is issued.
|
||||||
|
|
|
@ -236,6 +236,7 @@ struct config_channel_entry
|
||||||
int burst_topicwho;
|
int burst_topicwho;
|
||||||
int kick_on_split_riding;
|
int kick_on_split_riding;
|
||||||
int only_ascii_channels;
|
int only_ascii_channels;
|
||||||
|
int cycle_host_change;
|
||||||
int resv_forcepart;
|
int resv_forcepart;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -548,6 +548,12 @@ static struct InfoStruct info_table[] = {
|
||||||
&ConfigChannel.only_ascii_channels,
|
&ConfigChannel.only_ascii_channels,
|
||||||
"Controls whether non-ASCII is disabled for JOIN"
|
"Controls whether non-ASCII is disabled for JOIN"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"cycle_host_change",
|
||||||
|
OUTPUT_BOOLEAN_YN,
|
||||||
|
&ConfigChannel.cycle_host_change,
|
||||||
|
"Controls if when a users' host changes, they cycle channels",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"use_except",
|
"use_except",
|
||||||
OUTPUT_BOOLEAN_YN,
|
OUTPUT_BOOLEAN_YN,
|
||||||
|
|
|
@ -2215,6 +2215,7 @@ static struct ConfEntry conf_channel_table[] =
|
||||||
{ "no_create_on_split", CF_YESNO, NULL, 0, &ConfigChannel.no_create_on_split },
|
{ "no_create_on_split", CF_YESNO, NULL, 0, &ConfigChannel.no_create_on_split },
|
||||||
{ "no_join_on_split", CF_YESNO, NULL, 0, &ConfigChannel.no_join_on_split },
|
{ "no_join_on_split", CF_YESNO, NULL, 0, &ConfigChannel.no_join_on_split },
|
||||||
{ "only_ascii_channels", CF_YESNO, NULL, 0, &ConfigChannel.only_ascii_channels },
|
{ "only_ascii_channels", CF_YESNO, NULL, 0, &ConfigChannel.only_ascii_channels },
|
||||||
|
{ "cycle_host_change", CF_YESNO, NULL, 0, &ConfigChannel.cycle_host_change },
|
||||||
{ "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 },
|
||||||
|
|
|
@ -755,6 +755,7 @@ set_default_conf(void)
|
||||||
ConfigChannel.max_bans = 25;
|
ConfigChannel.max_bans = 25;
|
||||||
ConfigChannel.max_bans_large = 500;
|
ConfigChannel.max_bans_large = 500;
|
||||||
ConfigChannel.only_ascii_channels = NO;
|
ConfigChannel.only_ascii_channels = NO;
|
||||||
|
ConfigChannel.cycle_host_change = YES;
|
||||||
ConfigChannel.burst_topicwho = NO;
|
ConfigChannel.burst_topicwho = NO;
|
||||||
ConfigChannel.kick_on_split_riding = NO;
|
ConfigChannel.kick_on_split_riding = NO;
|
||||||
|
|
||||||
|
|
|
@ -1435,7 +1435,7 @@ change_nick_user_host(struct Client *target_p, const char *nick, const char *use
|
||||||
struct membership *mscptr;
|
struct membership *mscptr;
|
||||||
int changed = irccmp(target_p->name, nick);
|
int changed = irccmp(target_p->name, nick);
|
||||||
int changed_case = strcmp(target_p->name, nick);
|
int changed_case = strcmp(target_p->name, nick);
|
||||||
int do_qjm = irccmp(target_p->username, user) || irccmp(target_p->host, host);
|
int do_qjm = irccmp(target_p->username, user) || (irccmp(target_p->host, host) && ConfigChannel.cycle_host_change);
|
||||||
char mode[10], modeval[NICKLEN * 2 + 2], reason[256], *mptr;
|
char mode[10], modeval[NICKLEN * 2 + 2], reason[256], *mptr;
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue