summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Lindstrom <mouring@eviladmin.org>2001-06-25 04:42:20 +0000
committerBen Lindstrom <mouring@eviladmin.org>2001-06-25 04:42:20 +0000
commit5363aee8bd91095c9a420625500e4fd5983349ae (patch)
treed716d5ee5cc3455d106d408dcace7b8020da1a52
parenta4789ef8785c4ac37187cf3b9b937524d2823b4b (diff)
- markus@cvs.openbsd.org 2001/06/23 05:26:02
[key.c] handle sigature of size 0 (some broken clients send this).
-rw-r--r--ChangeLog5
-rw-r--r--key.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 65933c7bb..87d7ff7e7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -57,6 +57,9 @@
57 - markus@cvs.openbsd.org 2001/06/23 03:04:42 57 - markus@cvs.openbsd.org 2001/06/23 03:04:42
58 [auth2.c auth-rh-rsa.c] 58 [auth2.c auth-rh-rsa.c]
59 restore correct ignore_user_known_hosts logic. 59 restore correct ignore_user_known_hosts logic.
60 - markus@cvs.openbsd.org 2001/06/23 05:26:02
61 [key.c]
62 handle sigature of size 0 (some broken clients send this).
60 63
6120010622 6420010622
62 - (stevesk) handle systems without pw_expire and pw_change. 65 - (stevesk) handle systems without pw_expire and pw_change.
@@ -5741,4 +5744,4 @@
5741 - Wrote replacements for strlcpy and mkdtemp 5744 - Wrote replacements for strlcpy and mkdtemp
5742 - Released 1.0pre1 5745 - Released 1.0pre1
5743 5746
5744$Id: ChangeLog,v 1.1311 2001/06/25 04:40:49 mouring Exp $ 5747$Id: ChangeLog,v 1.1312 2001/06/25 04:42:20 mouring Exp $
diff --git a/key.c b/key.c
index 3b9f9f786..84306a9b0 100644
--- a/key.c
+++ b/key.c
@@ -32,7 +32,7 @@
32 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */ 33 */
34#include "includes.h" 34#include "includes.h"
35RCSID("$OpenBSD: key.c,v 1.25 2001/04/17 10:53:24 markus Exp $"); 35RCSID("$OpenBSD: key.c,v 1.26 2001/06/23 05:26:02 markus Exp $");
36 36
37#include <openssl/evp.h> 37#include <openssl/evp.h>
38 38
@@ -768,6 +768,9 @@ key_verify(
768 u_char *signature, int signaturelen, 768 u_char *signature, int signaturelen,
769 u_char *data, int datalen) 769 u_char *data, int datalen)
770{ 770{
771 if (signaturelen == 0)
772 return -1;
773
771 switch(key->type){ 774 switch(key->type){
772 case KEY_DSA: 775 case KEY_DSA:
773 return ssh_dss_verify(key, signature, signaturelen, data, datalen); 776 return ssh_dss_verify(key, signature, signaturelen, data, datalen);