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;
 };
 
 
openSUSE Build Service is sponsored by