aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2010-01-06 22:49:40 +0100
committerAris Adamantiadis <aris@0xbadc0de.be>2010-01-06 22:49:40 +0100
commit84ec17964ed52c23f80f94e0fe23f29948d7d0a6 (patch)
tree57cae3c316d54efe5a893f066478dee1bf83ceaa /include
parentef5dc6cd2bf5f27230c33dbdcdff3a5fc67ab688 (diff)
downloadlibssh-84ec17964ed52c23f80f94e0fe23f29948d7d0a6.tar.gz
libssh-84ec17964ed52c23f80f94e0fe23f29948d7d0a6.tar.xz
libssh-84ec17964ed52c23f80f94e0fe23f29948d7d0a6.zip
Made the server DH asynchronous.
It still needs testing and cleanup, it was done with less care than the client-side. The socket listening and connexion is still synchronous
Diffstat (limited to 'include')
-rw-r--r--include/libssh/priv.h3
-rw-r--r--include/libssh/session.h6
2 files changed, 9 insertions, 0 deletions
diff --git a/include/libssh/priv.h b/include/libssh/priv.h
index 1f2a1216..1b0344e2 100644
--- a/include/libssh/priv.h
+++ b/include/libssh/priv.h
@@ -245,6 +245,9 @@ int gettimeofday(struct timeval *__p, void *__t);
char *dir_expand_dup(ssh_session session, const char *value, int allowsshdir);
int ssh_options_set_algo(ssh_session session, int algo, const char *list);
+/* server.c */
+SSH_PACKET_CALLBACK(ssh_packet_kexdh_init);
+
/** Free memory space */
#define SAFE_FREE(x) do { if ((x) != NULL) {free(x); x=NULL;} } while(0)
diff --git a/include/libssh/session.h b/include/libssh/session.h
index dd13e700..900de0f9 100644
--- a/include/libssh/session.h
+++ b/include/libssh/session.h
@@ -43,6 +43,12 @@ enum ssh_session_state_e {
SSH_SESSION_STATE_ERROR
};
+enum ssh_dh_state_e {
+ DH_STATE_INIT,
+ DH_STATE_INIT_SENT,
+ DH_STATE_NEWKEYS_SENT,
+ DH_STATE_FINISHED
+};
struct ssh_session_struct {
struct error_struct error;