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-13 15:30:42 +0200 @@ -182,7 +182,7 @@ ${CC} ${CPPFLAGS} ${CFLAGS} -DMODNAME=`basename $< .c`_mheader -c $< -o $@ .c.so: - ${CC} ${PICFLAGS} ${CPPFLAGS} ${CFLAGS} $< -o $@ + ${CC} ${PICFLAGS} ${CPPFLAGS} ${CFLAGS} $< -o $@ ${IRCDLIBS} .so.sl: $(LD) -b $< -o $@ Index: ircd-ratbox-2.0.8/modules/m_resv.c --- ircd-ratbox-2.0.8/modules/m_resv.c.orig 2004-12-04 22:28:50 +0100 +++ ircd-ratbox-2.0.8/modules/m_resv.c 2005-04-13 15:30:42 +0200 @@ -405,7 +405,7 @@ /* parv[0] parv[1] parv[2] * oper target server resv to remove */ - propagate_generic(source_p, "UNRESV", parv[3], CAP_CLUSTER, + propagate_generic(source_p, "UNRESV", parv[1], CAP_CLUSTER, "%s", parv[2]); if(!match(me.name, parv[1])) Index: ircd-ratbox-2.0.8/modules/m_xline.c --- ircd-ratbox-2.0.8/modules/m_xline.c.orig 2005-01-14 23:10:40 +0100 +++ ircd-ratbox-2.0.8/modules/m_xline.c 2005-04-13 15:30:42 +0200 @@ -494,7 +494,7 @@ /* parv[0] parv[1] parv[2] * oper target server gecos */ - propagate_generic(source_p, "UNXLINE", parv[3], CAP_CLUSTER, + propagate_generic(source_p, "UNXLINE", parv[1], CAP_CLUSTER, "%s", parv[2]); if(!match(parv[1], me.name)) Index: ratbox-services/help/Makefile.in --- ratbox-services/help/Makefile.in.orig 2005-01-04 21:01:20 +0100 +++ ratbox-services/help/Makefile.in 2005-04-13 15:30:42 +0200 @@ -6,7 +6,7 @@ INSTALL_DATA=@INSTALL_DATA@ PREFIX=@prefix@ -SUBDIRS=alis main operbot chanserv userserv jupeserv operserv +SUBDIRS=alis main operbot chanserv userserv jupeserv operserv nickserv install: $(INSTALL) -m 750 -d $(PREFIX)/help Index: ratbox-services/include/conf.h --- ratbox-services/include/conf.h.orig 2005-04-07 01:58:28 +0200 +++ ratbox-services/include/conf.h 2005-04-13 15:30:42 +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/src/Makefile.in --- ratbox-services/src/Makefile.in.orig 2005-04-07 01:58:30 +0200 +++ ratbox-services/src/Makefile.in 2005-04-13 15:30:42 +0200 @@ -12,7 +12,7 @@ INCLUDES=-I ../include/ @SQLITE_INCLUDES@ LDFLAGS=@LDFLAGS@ LIBS=@LIBS@ -CFLAGS=-g -O0 -Wall -Werror -Wunused -Wshadow -Wmissing-declarations -Wwrite-strings -DPREFIX=\"$(PREFIX)\" +CFLAGS=@CPPFLAGS@ @CFLAGS@ -g -O0 -Wall -Werror -Wunused -Wshadow -Wmissing-declarations -Wwrite-strings -DPREFIX=\"$(PREFIX)\" MAKE = make # Anything marked with the .PHONY attribute is always considered "out of date" Index: ratbox-services/src/conf.c --- ratbox-services/src/conf.c.orig 2005-04-07 19:26:29 +0200 +++ ratbox-services/src/conf.c 2005-04-13 15:30:42 +0200 @@ -79,6 +79,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/src/newconf.c --- ratbox-services/src/newconf.c.orig 2005-04-07 01:58:30 +0200 +++ ratbox-services/src/newconf.c 2005-04-13 15:30:42 +0200 @@ -850,6 +850,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/src/s_userserv.c --- ratbox-services/src/s_userserv.c.orig 2005-04-07 19:26:29 +0200 +++ ratbox-services/src/s_userserv.c 2005-04-13 15:30:42 +0200 @@ -722,6 +722,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))