From f842712551cc458532aaddb6f140fe1286cfa9fb Mon Sep 17 00:00:00 2001
From: Matt Johnston <matt@ucc.asn.au>
Date: Tue, 9 Apr 2013 22:47:03 +0800
Subject: [PATCH] A bit of debugging output

--HG--
branch : ecc
---
 ecc.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/ecc.c b/ecc.c
index 9e013bf7..d67d3b28 100644
--- a/ecc.c
+++ b/ecc.c
@@ -142,14 +142,18 @@ ecc_key * buf_get_ecc_raw_pubkey(buffer *buf, const struct dropbear_ecc_curve *c
 	ecc_key *key = NULL;
 	int ret = DROPBEAR_FAILURE;
 	const unsigned int size = curve->dp->size;
+	unsigned char first;
+
+	TRACE(("enter buf_get_ecc_raw_pubkey"))
+
 	buf_setpos(buf, 0);
-	unsigned int len = buf->len;
-	unsigned char first = buf_getbyte(buf);
+	first = buf_getbyte(buf);
 	if (first == 2 || first == 3) {
 		dropbear_log(LOG_WARNING, "Dropbear doesn't support ECC point compression");
 		return NULL;
 	}
-	if (first != 4 || len != 1+2*size) {
+	if (first != 4 || buf->len != 1+2*size) {
+		TRACE(("leave, wrong size"))
 		return NULL;
 	}
 
@@ -157,11 +161,13 @@ ecc_key * buf_get_ecc_raw_pubkey(buffer *buf, const struct dropbear_ecc_curve *c
 	key->dp = curve->dp;
 
 	if (mp_read_unsigned_bin(key->pubkey.x, buf_getptr(buf, size), size) != MP_OKAY) {
+		TRACE(("failed to read x"))
 		goto out;
 	}
 	buf_incrpos(buf, size);
 
 	if (mp_read_unsigned_bin(key->pubkey.y, buf_getptr(buf, size), size) != MP_OKAY) {
+		TRACE(("failed to read y"))
 		goto out;
 	}
 	buf_incrpos(buf, size);
@@ -169,14 +175,17 @@ ecc_key * buf_get_ecc_raw_pubkey(buffer *buf, const struct dropbear_ecc_curve *c
 	mp_set(key->pubkey.z, 1);
 
 	if (ecc_is_point(key) != CRYPT_OK) {
+		TRACE(("failed, not a point"))
 		goto out;
 	}
 
    // SEC1 3.2.3.1 Check that Q != 0
 	if (mp_cmp_d(key->pubkey.x, 0) == LTC_MP_EQ) {
+		TRACE(("failed, x == 0"))
 		goto out;
 	}
 	if (mp_cmp_d(key->pubkey.y, 0) == LTC_MP_EQ) {
+		TRACE(("failed, y == 0"))
 		goto out;
 	}
 
-- 
GitLab