00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KEX_H_
00022 #define KEX_H_
00023
00024 #include "libssh/priv.h"
00025 #include "libssh/callbacks.h"
00026
00027 #define SSH_KEX_METHODS 10
00028
00029 struct ssh_kex_struct {
00030 unsigned char cookie[16];
00031 char *methods[SSH_KEX_METHODS];
00032 };
00033
00034 SSH_PACKET_CALLBACK(ssh_packet_kexinit);
00035 #ifdef WITH_SSH1
00036 SSH_PACKET_CALLBACK(ssh_packet_publickey1);
00037 #endif
00038
00039 int ssh_send_kex(ssh_session session, int server_kex);
00040 void ssh_list_kex(struct ssh_kex_struct *kex);
00041 int set_client_kex(ssh_session session);
00042 int ssh_kex_select_methods(ssh_session session);
00043 int verify_existing_algo(int algo, const char *name);
00044 char **space_tokenize(const char *chain);
00045 int ssh_get_kex1(ssh_session session);
00046 char *ssh_find_matching(const char *in_d, const char *what_d);
00047 const char *ssh_kex_get_supported_method(uint32_t algo);
00048 const char *ssh_kex_get_description(uint32_t algo);
00049
00050 #endif