
# HG changeset patch
# User aquanight
# Date 1157668920 0
# Node ID 6f82105c1bc950f183fdf74655a6d3cb07221c46
# Parent  41e51625cbc157cb8fc11d78c213dcb80eb8de94
add allow::options::wrongpasscont

diff -r 41e51625cbc1 -r 6f82105c1bc9 include/struct.h
--- a/include/struct.h	Wed Sep 06 12:30:12 2006 +0000
+++ b/include/struct.h	Thu Sep 07 22:42:00 2006 +0000
@@ -1121,6 +1121,7 @@
 	unsigned	useip :1;
 	unsigned	ssl :1;
 	unsigned	nopasscont :1;
+	unsigned	wrongpasscont :1;
 };
 
 struct _configitem_allow {
diff -r 41e51625cbc1 -r 6f82105c1bc9 src/s_conf.c
--- a/src/s_conf.c	Wed Sep 06 12:30:12 2006 +0000
+++ b/src/s_conf.c	Thu Sep 07 22:42:00 2006 +0000
@@ -2547,6 +2547,10 @@
 		}
 		if ((i = Auth_Check(cptr, aconf->auth, cptr->passwd)) == -1)
 		{
+			if (aconf->flags.wrongpasscont)
+			{
+				continue;
+			}
 			exit_client(cptr, cptr, &me,
 				"Password mismatch");
 			return -5;
@@ -4144,6 +4148,8 @@
 					allow->flags.ssl = 1;
 				else if (!strcmp(cepp->ce_varname, "nopasscont")) 
 					allow->flags.nopasscont = 1;
+				else if (!strcmp(cepp->ce_varname, "wrongpasscont"))
+					allow->flags.wrongpasscont = 1;
 			}
 		}
 	}
@@ -4309,6 +4315,8 @@
 				{}
 				else if (!strcmp(cepp->ce_varname, "nopasscont")) 
 				{}
+				else if (!strcmp(cepp->ce_varname, "wrongpasscont"))
+				{}
 				else
 				{
 					config_error_unknownopt(cepp->ce_fileptr->cf_filename,
