summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--CHANGES6
-rw-r--r--Makefile.in4
-rw-r--r--common-kex.c6
-rw-r--r--dropbearkey.c2
-rw-r--r--options.h2
-rw-r--r--random.c5
-rw-r--r--svr-agentfwd.c2
-rw-r--r--svr-chansession.c8
-rw-r--r--svr-kex.c2
-rw-r--r--sysoptions.h7
10 files changed, 25 insertions, 19 deletions
diff --git a/CHANGES b/CHANGES
index 5f9c7e0..7e49f17 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+0.53.1
+
+- -lcrypt needs to be before object files for static linking
+
0.53 - Thurs 24 February 2011
- Various performance/memory use improvements
@@ -19,6 +23,8 @@
- Make -K (keepalive) and -I (idle timeout) work together sensibly in the client.
The idle timeout is no longer reset by SSH_MSG_IGNORE packets.
+- Add diffie-hellman-group14-sha1 key exchange method
+
- Compile fix if ENABLE_CLI_PROXYCMD is disabled
- /usr/bin/X11/xauth is now the default path
diff --git a/Makefile.in b/Makefile.in
index d72828b..8d81647 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -28,10 +28,10 @@ COMMONOBJS=dbutil.o buffer.o \
queue.o \
atomicio.o compat.o fake-rfc2553.o
-SVROBJS=svr-kex.o svr-algo.o svr-auth.o sshpty.o \
+SVROBJS=@CRYPTLIB@ svr-kex.o svr-algo.o svr-auth.o sshpty.o \
svr-authpasswd.o svr-authpubkey.o svr-authpubkeyoptions.o svr-session.o svr-service.o \
svr-chansession.o svr-runopts.o svr-agentfwd.o svr-main.o svr-x11fwd.o\
- svr-tcpfwd.o svr-authpam.o @CRYPTLIB@
+ svr-tcpfwd.o svr-authpam.o
CLIOBJS=cli-algo.o cli-main.o cli-auth.o cli-authpasswd.o cli-kex.o \
cli-session.o cli-service.o cli-runopts.o cli-chansession.o \
diff --git a/common-kex.c b/common-kex.c
index 55c5aba..173bf8c 100644
--- a/common-kex.c
+++ b/common-kex.c
@@ -272,8 +272,8 @@ static void hashkeys(unsigned char *out, int outlen,
}
/* Generate the actual encryption/integrity keys, using the results of the
- * key exchange, as specified in section 5.2 of the IETF secsh-transport
- * draft. This occurs after the DH key-exchange.
+ * key exchange, as specified in section 7.2 of the transport rfc 4253.
+ * This occurs after the DH key-exchange.
*
* ses.newkeys is the new set of keys which are generated, these are only
* taken into use after both sides have sent a newkeys message */
@@ -532,7 +532,7 @@ static void load_dh_p(mp_int * dh_p)
}
/* Initialises and generate one side of the diffie-hellman key exchange values.
- * See the ietf-secsh-transport draft, section 6, for details */
+ * See the transport rfc 4253 section 8 for details */
/* dh_pub and dh_priv MUST be already initialised */
void gen_kexdh_vals(mp_int *dh_pub, mp_int *dh_priv) {
diff --git a/dropbearkey.c b/dropbearkey.c
index aff809f..421b6e0 100644
--- a/dropbearkey.c
+++ b/dropbearkey.c
@@ -23,7 +23,7 @@
* SOFTWARE. */
/* The format of the keyfiles is basically a raw dump of the buffer. Data types
- * are specified in the transport draft - string is a 32-bit len then the
+ * are specified in the transport rfc 4253 - string is a 32-bit len then the
* non-null-terminated string, mp_int is a 32-bit len then the bignum data.
* The actual functions are buf_put_rsa_priv_key() and buf_put_dss_priv_key()
diff --git a/options.h b/options.h
index f49d2e7..d309ab4 100644
--- a/options.h
+++ b/options.h
@@ -64,7 +64,7 @@ much traffic. */
#define ENABLE_SVR_LOCALTCPFWD
#define ENABLE_SVR_REMOTETCPFWD
-/* Enable Authentication Agent Forwarding - server only for now */
+/* Enable Authentication Agent Forwarding */
#define ENABLE_SVR_AGENTFWD
#define ENABLE_CLI_AGENTFWD
diff --git a/random.c b/random.c
index 4f98284..c31b6fd 100644
--- a/random.c
+++ b/random.c
@@ -74,11 +74,6 @@ static void readrand(unsigned char* buf, unsigned int buflen) {
if (readfd < 0) {
dropbear_exit("Couldn't open random device");
}
- /* todo - try various common locations */
- if (connect(readfd, (struct sockaddr*)&egdsock,
- sizeof(struct sockaddr_un)) < 0) {
- dropbear_exit("Couldn't open random device");
- }
if (buflen > 255)
dropbear_exit("Can't request more than 255 bytes from egd");
diff --git a/svr-agentfwd.c b/svr-agentfwd.c
index ef0d757..054a3b5 100644
--- a/svr-agentfwd.c
+++ b/svr-agentfwd.c
@@ -27,7 +27,7 @@
#include "includes.h"
-#ifndef DISABLE_AGENTFWD
+#ifdef ENABLE_SVR_AGENTFWD
#include "agentfwd.h"
#include "session.h"
diff --git a/svr-chansession.c b/svr-chansession.c
index 1b5fcc6..a914f25 100644
--- a/svr-chansession.c
+++ b/svr-chansession.c
@@ -240,7 +240,7 @@ static int newchansess(struct Channel *channel) {
chansess->x11authcookie = NULL;
#endif
-#ifndef DISABLE_AGENTFWD
+#ifdef ENABLE_AGENTFWD
chansess->agentlistener = NULL;
chansess->agentfile = NULL;
chansess->agentdir = NULL;
@@ -293,7 +293,7 @@ static void closechansess(struct Channel *channel) {
x11cleanup(chansess);
#endif
-#ifndef DISABLE_AGENTFWD
+#ifdef ENABLE_AGENTFWD
svr_agentcleanup(chansess);
#endif
@@ -351,7 +351,7 @@ static void chansessionrequest(struct Channel *channel) {
} else if (strcmp(type, "x11-req") == 0) {
ret = x11req(chansess);
#endif
-#ifndef DISABLE_AGENTFWD
+#ifdef ENABLE_AGENTFWD
} else if (strcmp(type, "auth-agent-req@openssh.com") == 0) {
ret = svr_agentreq(chansess);
#endif
@@ -937,7 +937,7 @@ static void execchild(void *user_data) {
/* set up X11 forwarding if enabled */
x11setauth(chansess);
#endif
-#ifndef DISABLE_AGENTFWD
+#ifdef ENABLE_AGENTFWD
/* set up agent env variable */
svr_agentset(chansess);
#endif
diff --git a/svr-kex.c b/svr-kex.c
index 75cb090..abd7986 100644
--- a/svr-kex.c
+++ b/svr-kex.c
@@ -70,7 +70,7 @@ void recv_msg_kexdh_init() {
* that, the session hash is calculated, and signed with RSA or DSS. The
* result is sent to the client.
*
- * See the ietf-secsh-transport draft, section 6, for details */
+ * See the transport rfc 4253 section 8 for details */
static void send_msg_kexdh_reply(mp_int *dh_e) {
DEF_MP_INT(dh_y);
diff --git a/sysoptions.h b/sysoptions.h
index e01ec1f..ce2c045 100644
--- a/sysoptions.h
+++ b/sysoptions.h
@@ -99,6 +99,7 @@
#define MAX_PROPOSED_ALGO 20
/* size/count limits */
+/* From transport rfc */
#define MIN_PACKET_LEN 16
#define RECV_MAX_PACKET_LEN (MAX(35000, ((RECV_MAX_PAYLOAD_LEN)+100)))
@@ -123,7 +124,7 @@
#define MAX_PRIVKEY_SIZE 1700
/* The maximum size of the bignum portion of the kexhash buffer */
-/* Sect. 8 of the transport draft, K_S + e + f + K */
+/* Sect. 8 of the transport rfc 4253, K_S + e + f + K */
#define KEXHASHBUF_MAX_INTS (1700 + 130 + 130 + 130)
#define DROPBEAR_MAX_SOCKS 2 /* IPv4, IPv6 are all we'll get for now. Revisit
@@ -161,6 +162,10 @@
#define USING_LISTENERS
#endif
+#if defined(ENABLE_SVR_AGENTFWD) || defined(ENABLE_CLI_LOCALTCPFWD)
+#define ENABLE_AGENTFWD
+#endif
+
#if defined(ENABLE_CLI_NETCAT) && defined(ENABLE_CLI_PROXYCMD)
#define ENABLE_CLI_MULTIHOP
#endif