auth2.c.rej   [plain text]


***************
*** 246,253 ****
  		/* now we can break out */
  		authctxt->success = 1;
  	} else {
- 		if (authctxt->failures++ > AUTH_FAIL_MAX)
- 			packet_disconnect(AUTH_FAIL_MSG, authctxt->user);
  		methods = authmethods_get();
  		packet_start(SSH2_MSG_USERAUTH_FAILURE);
  		packet_put_cstring(methods);
--- 250,260 ----
  		/* now we can break out */
  		authctxt->success = 1;
  	} else {
+ 		/* Do not count server configuration problems against the client */
+ 		if (!authctxt->server_caused_failure) {
+ 			if (authctxt->failures++ > AUTH_FAIL_MAX)
+ 				packet_disconnect(AUTH_FAIL_MSG, authctxt->user);
+ 		}
  		methods = authmethods_get();
  		packet_start(SSH2_MSG_USERAUTH_FAILURE);
  		packet_put_cstring(methods);