summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2004-09-02 15:24:17 +0000
committerMatt Johnston <matt@ucc.asn.au>2004-09-02 15:24:17 +0000
commita5c4f090d29bc569b7f49d11dbf217a29bcf4b3a (patch)
tree0bc1db900f13d82169a0d3e13213153dc1bb11f6
parent2a42fbc04a5067ff98b6e3538c7e68afd1e048ad (diff)
downloaddropbear-a5c4f090d29bc569b7f49d11dbf217a29bcf4b3a.tar.gz
Check for non-matching algos properly
-rw-r--r--common-kex.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/common-kex.c b/common-kex.c
index 7bb0c82..38ce090 100644
--- a/common-kex.c
+++ b/common-kex.c
@@ -634,42 +634,44 @@ static void read_kex_algos() {
/* encryption_algorithms_client_to_server */
c2s_cipher_algo = ses.buf_match_algo(ses.payload, sshciphers, &goodguess);
- if (algo == NULL) {
+ if (c2s_cipher_algo == NULL) {
erralgo = "enc c->s";
goto error;
}
+ TRACE(("c2s is %s", c2s_cipher_algo->name));
/* encryption_algorithms_server_to_client */
s2c_cipher_algo = ses.buf_match_algo(ses.payload, sshciphers, &goodguess);
- if (algo == NULL) {
+ if (s2c_cipher_algo == NULL) {
erralgo = "enc s->c";
goto error;
}
+ TRACE(("s2c is %s", s2c_cipher_algo->name));
/* mac_algorithms_client_to_server */
c2s_hash_algo = ses.buf_match_algo(ses.payload, sshhashes, &goodguess);
- if (algo == NULL) {
+ if (c2s_hash_algo == NULL) {
erralgo = "mac c->s";
goto error;
}
/* mac_algorithms_server_to_client */
s2c_hash_algo = ses.buf_match_algo(ses.payload, sshhashes, &goodguess);
- if (algo == NULL) {
+ if (s2c_hash_algo == NULL) {
erralgo = "mac s->c";
goto error;
}
/* compression_algorithms_client_to_server */
c2s_comp_algo = ses.buf_match_algo(ses.payload, sshcompress, &goodguess);
- if (algo == NULL) {
+ if (c2s_comp_algo == NULL) {
erralgo = "comp c->s";
goto error;
}
/* compression_algorithms_server_to_client */
s2c_comp_algo = ses.buf_match_algo(ses.payload, sshcompress, &goodguess);
- if (algo == NULL) {
+ if (s2c_comp_algo == NULL) {
erralgo = "comp s->c";
goto error;
}