From f796336a12e2d3c487a53854fdf28c096481a34a Mon Sep 17 00:00:00 2001 From: Tiago Cunha Date: Thu, 3 Sep 2009 20:44:38 +0000 Subject: Sync OpenBSD patchset 308: When incorrect passwords are entered, behave similarly to login(1) and backoff for a bit. Based on a diff from martynas@. --- server-msg.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'server-msg.c') diff --git a/server-msg.c b/server-msg.c index 9e20a6b1..dcb42623 100644 --- a/server-msg.c +++ b/server-msg.c @@ -1,4 +1,4 @@ -/* $Id: server-msg.c,v 1.82 2009-08-24 16:24:18 tcunha Exp $ */ +/* $Id: server-msg.c,v 1.83 2009-09-03 20:44:38 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -99,8 +99,15 @@ server_msg_dispatch(struct client *c) memcpy(&unlockdata, imsg.data, sizeof unlockdata); unlockdata.pass[(sizeof unlockdata.pass) - 1] = '\0'; - if (server_unlock(unlockdata.pass) != 0) + switch (server_unlock(unlockdata.pass)) { + case -1: server_write_error(c, "bad password"); + break; + case -2: + server_write_error(c, + "too many bad passwords, sleeping"); + break; + } memset(&unlockdata, 0, sizeof unlockdata); server_write_client(c, MSG_EXIT, NULL, 0); break; -- cgit