Forráskód Böngészése

add a small feature we wish to have: allow clients to login only under the username which matches their nickname

Ralf S. Engelschall 20 éve
szülő
commit
ca4a0079ab
2 módosított fájl, 55 hozzáadás és 2 törlés
  1. 1 0
      ratbox/ratbox-services.conf
  2. 54 2
      ratbox/ratbox.patch

+ 1 - 0
ratbox/ratbox-services.conf

@@ -76,6 +76,7 @@ service "userserv" {
     expire_time                = 4 weeks;
     allow_set_password         = yes;
     max_logins                 = 2;
+    login_nick_only            = no;
 };
 
 service "chanserv" {

+ 54 - 2
ratbox/ratbox.patch

@@ -1,6 +1,6 @@
 Index: ircd-ratbox-2.0.8/modules/Makefile.in
 --- ircd-ratbox-2.0.8/modules/Makefile.in.orig	2005-01-14 18:25:51 +0100
-+++ ircd-ratbox-2.0.8/modules/Makefile.in	2005-04-11 21:44:28 +0200
++++ ircd-ratbox-2.0.8/modules/Makefile.in	2005-04-13 13:58:04 +0200
 @@ -182,7 +182,7 @@
  	${CC} ${CPPFLAGS} ${CFLAGS} -DMODNAME=`basename $< .c`_mheader -c $< -o $@
  
@@ -12,7 +12,7 @@ Index: ircd-ratbox-2.0.8/modules/Makefile.in
  	$(LD) -b $< -o $@
 Index: ratbox-services-1.0beta1/src/Makefile.in
 --- ratbox-services-1.0beta1/src/Makefile.in.orig	2005-01-04 20:58:50 +0100
-+++ ratbox-services-1.0beta1/src/Makefile.in	2005-04-11 21:41:39 +0200
++++ ratbox-services-1.0beta1/src/Makefile.in	2005-04-13 13:58:04 +0200
 @@ -12,7 +12,7 @@
  INCLUDES=-I ../include/ @SQLITE_INCLUDES@
  LDFLAGS=@LDFLAGS@
@@ -22,3 +22,55 @@ Index: ratbox-services-1.0beta1/src/Makefile.in
  MAKE = make
  
  # Anything marked with the .PHONY attribute is always considered "out of date"
+Index: ratbox-services-1.0beta1/include/conf.h
+--- ratbox-services-1.0beta1/include/conf.h.orig	2005-02-14 18:40:12 +0100
++++ ratbox-services-1.0beta1/include/conf.h	2005-04-13 14:12:26 +0200
+@@ -47,6 +47,7 @@
+ 	int allow_set_password;
+ 	int allow_set_email;
+ 	int umax_logins;
++	int login_nick_only;
+ 
+ 	/* chanserv */
+ 	int disable_cregister;
+Index: ratbox-services-1.0beta1/src/conf.c
+--- ratbox-services-1.0beta1/src/conf.c.orig	2005-02-14 18:40:14 +0100
++++ ratbox-services-1.0beta1/src/conf.c	2005-04-13 14:11:17 +0200
+@@ -55,6 +55,7 @@
+ 	config_file.allow_set_password = 1;
+ 	config_file.allow_set_email = 1;
+ 	config_file.umax_logins = 5;
++	config_file.login_nick_only = 0;
+ 
+ 	config_file.disable_cregister = 0;
+ 	config_file.cregister_time = 60;
+Index: ratbox-services-1.0beta1/src/newconf.c
+--- ratbox-services-1.0beta1/src/newconf.c.orig	2005-02-14 18:40:14 +0100
++++ ratbox-services-1.0beta1/src/newconf.c	2005-04-13 14:11:38 +0200
+@@ -849,6 +849,7 @@
+ 	{ "allow_set_password",	CF_YESNO, NULL, 0, &config_file.allow_set_password	},
+ 	{ "allow_set_email",	CF_YESNO, NULL, 0, &config_file.allow_set_email		},
+ 	{ "max_logins",		CF_INT,   NULL, 0, &config_file.umax_logins		},
++	{ "login_nick_only",	CF_YESNO, NULL, 0, &config_file.login_nick_only		},
+ 	{ "\0", 0, NULL, 0, NULL }
+ };
+ 
+Index: ratbox-services-1.0beta1/src/s_userserv.c
+--- ratbox-services-1.0beta1/src/s_userserv.c.orig	2005-02-16 01:26:48 +0100
++++ ratbox-services-1.0beta1/src/s_userserv.c	2005-04-13 14:24:19 +0200
+@@ -686,6 +686,15 @@
+ 		return 1;
+ 	}
+ 
++	if(config_file.login_nick_only &&
++	   strcmp(parv[0], client_p->name) != 0)
++	{
++		service_error(userserv_p, client_p,
++			"Login failed, username %s does not match nickname %s",
++			parv[0], client_p->name);
++		return 1;
++	}
++
+ 	password = get_crypt(parv[1], reg_p->password);
+ 
+ 	if(strcmp(password, reg_p->password))