summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/libssh/priv.h4
-rw-r--r--libssh/kex.c53
2 files changed, 44 insertions, 13 deletions
diff --git a/include/libssh/priv.h b/include/libssh/priv.h
index 7cc2cb2..a2f9a3d 100644
--- a/include/libssh/priv.h
+++ b/include/libssh/priv.h
@@ -263,7 +263,7 @@ typedef struct ssh_crypto_struct {
unsigned char hmacbuf[EVP_MAX_MD_SIZE];
struct crypto_struct *in_cipher, *out_cipher; /* the cipher structures/objects */
STRING *server_pubkey;
- char *server_pubkey_type;
+ const char *server_pubkey_type;
int do_compress_out; /* idem */
int do_compress_in; /* don't set them, set the option instead */
void *compress_out_ctx; /* don't touch it */
@@ -562,7 +562,7 @@ socket_t ssh_connect_host(SSH_SESSION *session, const char *host,const char
*bind_addr, int port, long timeout, long usec);
/* in kex.c */
-extern char *ssh_kex_nums[];
+extern const char *ssh_kex_nums[];
void ssh_send_kex(SSH_SESSION *session,int server_kex);
void ssh_list_kex(SSH_SESSION *session, KEX *kex);
int set_kex(SSH_SESSION *session);
diff --git a/libssh/kex.c b/libssh/kex.c
index f26c4bd..4ad622e 100644
--- a/libssh/kex.c
+++ b/libssh/kex.c
@@ -56,17 +56,48 @@
#define ZLIB "none"
#endif
-char *default_methods[]={
- "diffie-hellman-group1-sha1","ssh-dss,ssh-rsa",AES BLOWFISH DES,AES BLOWFISH
- DES, "hmac-sha1","hmac-sha1","none","none","","",NULL };
-char *supported_methods[]={
- "diffie-hellman-group1-sha1","ssh-dss,ssh-rsa",AES BLOWFISH DES,AES BLOWFISH
- DES, "hmac-sha1","hmac-sha1",ZLIB,ZLIB,"","",NULL };
+const char *default_methods[] = {
+ "diffie-hellman-group1-sha1",
+ "ssh-dss,ssh-rsa",
+ AES BLOWFISH DES,
+ AES BLOWFISH DES,
+ "hmac-sha1",
+ "hmac-sha1",
+ "none",
+ "none",
+ "",
+ "",
+ NULL
+};
+
+const char *supported_methods[] = {
+ "diffie-hellman-group1-sha1",
+ "ssh-dss,ssh-rsa",
+ AES BLOWFISH DES,
+ AES BLOWFISH DES,
+ "hmac-sha1",
+ "hmac-sha1",
+ ZLIB,
+ ZLIB,
+ "",
+ "",
+ NULL
+};
+
/* descriptions of the key exchange packet */
-char *ssh_kex_nums[]={
- "kex algos","server host key algo","encryption client->server","encryption server->client",
- "mac algo client->server","mac algo server->client","compression algo client->server",
- "compression algo server->client","languages client->server","languages server->client",NULL};
+const char *ssh_kex_nums[] = {
+ "kex algos",
+ "server host key algo",
+ "encryption client->server",
+ "encryption server->client",
+ "mac algo client->server",
+ "mac algo server->client",
+ "compression algo client->server",
+ "compression algo server->client",
+ "languages client->server",
+ "languages server->client",
+ NULL
+};
/* tokenize will return a token of strings delimited by ",". the first element has to be freed */
static char **tokenize(const char *chain){
@@ -269,7 +300,7 @@ int set_kex(SSH_SESSION *session){
KEX *client=&session->client_kex;
SSH_OPTIONS *options=session->options;
int i;
- char *wanted;
+ const char *wanted;
enter_function();
/* the client might ask for a specific cookie to be sent. useful for server debugging */
if(options->wanted_cookie)