File ircd-ratbox-2.2.3_no_op_on_create.patch of Package ircd-ratbox
Index: include/s_conf.h
===================================================================
--- include/s_conf.h.orig
+++ include/s_conf.h
@@ -239,6 +239,7 @@ struct config_channel_entry
int use_except;
int use_invex;
int use_knock;
+ int op_on_create;
};
struct config_server_hide
Index: modules/core/m_join.c
===================================================================
--- modules/core/m_join.c.orig
+++ modules/core/m_join.c
@@ -177,9 +177,16 @@ m_join(struct Client *client_p, struct C
continue;
if(dlink_list_length(&chptr->members) == 0)
- flags = CHFL_CHANOP;
+ {
+ if (ConfigChannel.op_on_create)
+ {
+ flags = CHFL_CHANOP;
+ }
+ }
else
+ {
flags = 0;
+ }
}
else
{
@@ -191,7 +198,8 @@ m_join(struct Client *client_p, struct C
continue;
}
- flags = CHFL_CHANOP;
+ if (ConfigChannel.op_on_create)
+ flags = CHFL_CHANOP;
}
if((dlink_list_length(&source_p->user->channel) >=
Index: src/newconf.c
===================================================================
--- src/newconf.c.orig
+++ src/newconf.c
@@ -1912,6 +1912,7 @@ static struct ConfEntry conf_channel_tab
{ "use_except", CF_YESNO, NULL, 0, &ConfigChannel.use_except },
{ "use_invex", CF_YESNO, NULL, 0, &ConfigChannel.use_invex },
{ "use_knock", CF_YESNO, NULL, 0, &ConfigChannel.use_knock },
+ { "op_on_create", CF_YESNO, NULL, 0, &ConfigChannel.op_on_create },
{ "\0", 0, NULL, 0, NULL }
};
Index: src/s_conf.c
===================================================================
--- src/s_conf.c.orig
+++ src/s_conf.c
@@ -808,6 +808,7 @@ set_default_conf(void)
ConfigChannel.use_except = YES;
ConfigChannel.use_invex = YES;
ConfigChannel.use_knock = YES;
+ ConfigChannel.op_on_create = YES;
ConfigChannel.knock_delay = 300;
ConfigChannel.knock_delay_channel = 60;
ConfigChannel.max_chans_per_user = 15;
Index: doc/example.conf
===================================================================
--- doc/example.conf.orig
+++ doc/example.conf
@@ -590,6 +590,11 @@ channel {
/* burst topicwho: when bursting topics, also burst the topic setter */
burst_topicwho = yes;
+
+ /* [PATCH] Do not give op to users, when a new channel is created
+ * This option is not part of ircd-ratbox. It was added by a patch.
+ */
+ op_on_create = yes;
};