summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2005-05-27 16:37:58 +0000
committerMatt Johnston <matt@ucc.asn.au>2005-05-27 16:37:58 +0000
commit3d580258052a7c1a117e91782483a95ad8771ff9 (patch)
treeb125ff225a6d994df993d5c589204d59489bf735
parenta8785cf71955edac8e54c09287bfb97ffcf760c4 (diff)
parent0f0a8472d7b42b34e7aef276f765fd3ef76e8ae4 (diff)
merge of 7d53fee744460df7d2297614c9a4a8a6722eb277
and cc783df3845d0779e2407f0a83fbb605c12efa7d --HG-- extra : convert_revision : 7494f62a22beadfca8acdf77d8916f36245db04f
-rw-r--r--Makefile.in2
-rw-r--r--algo.h4
-rw-r--r--common-algo.c4
-rw-r--r--dbutil.c3
-rw-r--r--dbutil.h2
-rw-r--r--includes.h2
-rw-r--r--packet.c3
-rw-r--r--random.c6
-rw-r--r--rsa.c7
9 files changed, 19 insertions, 14 deletions
diff --git a/Makefile.in b/Makefile.in
index 1fa0f99..fc820dd 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -69,7 +69,7 @@ AR=@AR@
RANLIB=@RANLIB@
STRIP=@STRIP@
INSTALL=@INSTALL@
-CFLAGS=-I. -I$(srcdir)/libtomcrypt @CFLAGS@
+CFLAGS=-I. -I$(srcdir)/libtomcrypt/src/headers/ @CFLAGS@
LIBS=$(LTC) $(LTM) @LIBS@
LDFLAGS=@LDFLAGS@
diff --git a/algo.h b/algo.h
index 3e8ebb5..5ed01cc 100644
--- a/algo.h
+++ b/algo.h
@@ -51,13 +51,13 @@ extern const struct dropbear_cipher dropbear_nocipher;
extern const struct dropbear_hash dropbear_nohash;
struct dropbear_cipher {
- const struct _cipher_descriptor *cipherdesc;
+ const struct ltc_cipher_descriptor *cipherdesc;
unsigned long keysize;
unsigned char blocksize;
};
struct dropbear_hash {
- const struct _hash_descriptor *hashdesc;
+ const struct ltc_hash_descriptor *hashdesc;
unsigned long keysize;
unsigned char hashsize;
};
diff --git a/common-algo.c b/common-algo.c
index 1975864..ea9c311 100644
--- a/common-algo.c
+++ b/common-algo.c
@@ -125,7 +125,7 @@ algo_type sshkex[] = {
* This should be run before using any of the ciphers/hashes */
void crypto_init() {
- const struct _cipher_descriptor *regciphers[] = {
+ const struct ltc_cipher_descriptor *regciphers[] = {
#ifdef DROPBEAR_AES128_CBC
&aes_desc,
#endif
@@ -141,7 +141,7 @@ void crypto_init() {
NULL
};
- const struct _hash_descriptor *reghashes[] = {
+ const struct ltc_hash_descriptor *reghashes[] = {
/* we need sha1 for hostkey stuff regardless */
&sha1_desc,
#ifdef DROPBEAR_MD5_HMAC
diff --git a/dbutil.c b/dbutil.c
index 5f3a45d..45c720e 100644
--- a/dbutil.c
+++ b/dbutil.c
@@ -430,10 +430,11 @@ char* getaddrhostname(struct sockaddr_storage * addr) {
}
#ifdef DEBUG_TRACE
-void printhex(unsigned char* buf, int len) {
+void printhex(const char * label, const unsigned char * buf, int len) {
int i;
+ fprintf(stderr, "%s\n", label);
for (i = 0; i < len; i++) {
fprintf(stderr, "%02x", buf[i]);
if (i % 16 == 15) {
diff --git a/dbutil.h b/dbutil.h
index 6363f70..d904949 100644
--- a/dbutil.h
+++ b/dbutil.h
@@ -41,7 +41,7 @@ void dropbear_close(const char* format, ...);
void dropbear_log(int priority, const char* format, ...);
#ifdef DEBUG_TRACE
void dropbear_trace(const char* format, ...);
-void printhex(unsigned char* buf, int len);
+void printhex(const char * label, const unsigned char * buf, int len);
extern int debug_trace;
#endif
char * stripcontrol(const char * text);
diff --git a/includes.h b/includes.h
index 50f2b7b..6c9f084 100644
--- a/includes.h
+++ b/includes.h
@@ -111,7 +111,7 @@
#include <libgen.h>
#endif
-#include "libtomcrypt/mycrypt.h"
+#include "libtomcrypt/src/headers/tomcrypt.h"
#include "libtommath/tommath.h"
#include "compat.h"
diff --git a/packet.c b/packet.c
index 56b31c2..ecda410 100644
--- a/packet.c
+++ b/packet.c
@@ -201,6 +201,7 @@ static void read_packet_init() {
/* decrypt it */
if (cbc_decrypt(buf_getptr(ses.readbuf, blocksize),
buf_getwriteptr(ses.decryptreadbuf,blocksize),
+ blocksize,
&ses.keys->recv_symmetric_struct) != CRYPT_OK) {
dropbear_exit("error decrypting");
}
@@ -254,6 +255,7 @@ void decrypt_packet() {
while (ses.readbuf->pos < ses.readbuf->len - macsize) {
if (cbc_decrypt(buf_getptr(ses.readbuf, blocksize),
buf_getwriteptr(ses.decryptreadbuf, blocksize),
+ blocksize,
&ses.keys->recv_symmetric_struct) != CRYPT_OK) {
dropbear_exit("error decrypting");
}
@@ -491,6 +493,7 @@ void encrypt_packet() {
while (clearwritebuf->pos < clearwritebuf->len) {
if (cbc_encrypt(buf_getptr(clearwritebuf, blocksize),
buf_getwriteptr(writebuf, blocksize),
+ blocksize,
&ses.keys->trans_symmetric_struct) != CRYPT_OK) {
dropbear_exit("error encrypting");
}
diff --git a/random.c b/random.c
index 8012148..d58c8a8 100644
--- a/random.c
+++ b/random.c
@@ -27,13 +27,13 @@
#include "dbutil.h"
#include "bignum.h"
-int donerandinit = 0;
+static int donerandinit = 0;
/* this is used to generate unique output from the same hashpool */
-unsigned int counter = 0;
+static unsigned int counter = 0;
#define MAX_COUNTER 1000000/* the max value for the counter, so it won't loop */
-unsigned char hashpool[SHA1_HASH_SIZE];
+static unsigned char hashpool[SHA1_HASH_SIZE];
#define INIT_SEED_SIZE 32 /* 256 bits */
diff --git a/rsa.c b/rsa.c
index 8b24360..f86fdd9 100644
--- a/rsa.c
+++ b/rsa.c
@@ -333,7 +333,7 @@ void buf_put_rsa_sign(buffer* buf, rsa_key *key, const unsigned char* data,
mp_clear(&rsa_s);
#if defined(DEBUG_RSA) && defined(DEBUG_TRACE)
- printhex(buf->data, buf->len);
+ printhex("RSA sig", buf->data, buf->len);
#endif
@@ -357,10 +357,11 @@ static void rsa_pad_em(rsa_key * key,
mp_int * rsa_em) {
/* ASN1 designator (including the 0x00 preceding) */
- const char rsa_asn1_magic[] =
+ const unsigned char rsa_asn1_magic[] =
{0x00, 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b,
0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14};
-#define RSA_ASN1_MAGIC_LEN 16
+ const unsigned int RSA_ASN1_MAGIC_LEN = 16;
+
buffer * rsa_EM = NULL;
hash_state hs;
unsigned int nsize;