diff options
author | Aris Adamantiadis <aris@0xbadc0de.be> | 2010-05-01 20:32:27 +0200 |
---|---|---|
committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2010-05-01 20:32:27 +0200 |
commit | 430e570629d663efdf550ea4f9669a1fc0bb40f9 (patch) | |
tree | aae89ca427480fbd900eea77ff4fdf88c849da1a | |
parent | 65dc4f1186a20718046471d1d5339afff3ec7933 (diff) | |
download | libssh-430e570629d663efdf550ea4f9669a1fc0bb40f9.tar.gz libssh-430e570629d663efdf550ea4f9669a1fc0bb40f9.tar.xz libssh-430e570629d663efdf550ea4f9669a1fc0bb40f9.zip |
Added pki.[ch] files as a new standard API for PKs
Right now it's just a wrapper to the existing calls
but soon it's gona be the effective implementation and
other calls will be wrappers.
-rw-r--r-- | include/libssh/libssh.h | 3 | ||||
-rw-r--r-- | libssh/CMakeLists.txt | 1 | ||||
-rw-r--r-- | libssh/kex.c | 5 | ||||
-rw-r--r-- | libssh/keyfiles.c | 14 |
4 files changed, 14 insertions, 9 deletions
diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h index 54c43ff0..0b9d5a44 100644 --- a/include/libssh/libssh.h +++ b/include/libssh/libssh.h @@ -113,6 +113,7 @@ typedef struct ssh_message_struct* ssh_message; typedef struct ssh_pcap_file_struct* ssh_pcap_file; typedef struct ssh_private_key_struct* ssh_private_key; typedef struct ssh_public_key_struct* ssh_public_key; +typedef struct ssh_key_struct* ssh_key; typedef struct ssh_scp_struct* ssh_scp; typedef struct ssh_session_struct* ssh_session; typedef struct ssh_string_struct* ssh_string; @@ -405,7 +406,7 @@ LIBSSH_API void ssh_pcap_file_free(ssh_pcap_file pcap); LIBSSH_API ssh_pcap_file ssh_pcap_file_new(void); LIBSSH_API int ssh_pcap_file_open(ssh_pcap_file pcap, const char *filename); -LIBSSH_API int ssh_privatekey_type(ssh_private_key privatekey); +LIBSSH_API enum ssh_keytypes_e ssh_privatekey_type(ssh_private_key privatekey); LIBSSH_API void ssh_print_hexa(const char *descr, const unsigned char *what, size_t len); LIBSSH_API int ssh_scp_accept_request(ssh_scp scp); diff --git a/libssh/CMakeLists.txt b/libssh/CMakeLists.txt index 10dd8459..7046180c 100644 --- a/libssh/CMakeLists.txt +++ b/libssh/CMakeLists.txt @@ -99,6 +99,7 @@ set(libssh_SRCS options.c packet.c pcap.c + pki.c poll.c session.c scp.c diff --git a/libssh/kex.c b/libssh/kex.c index ca678947..17c27460 100644 --- a/libssh/kex.c +++ b/libssh/kex.c @@ -333,7 +333,10 @@ void ssh_list_kex(ssh_session session, KEX *kex) { #ifdef DEBUG_CRYPTO ssh_print_hexa("session cookie", kex->cookie, 16); #endif - + if(kex->methods==NULL){ + ssh_log(session, SSH_LOG_RARE,"kex->methods is NULL"); + return; + } for(i = 0; i < 10; i++) { ssh_log(session, SSH_LOG_FUNCTIONS, "%s: %s", ssh_kex_nums[i], kex->methods[i]); diff --git a/libssh/keyfiles.c b/libssh/keyfiles.c index 6a687c5c..e9ea3aa4 100644 --- a/libssh/keyfiles.c +++ b/libssh/keyfiles.c @@ -641,8 +641,8 @@ static int privatekey_type_from_file(FILE *fp) { * * @param[in] filename The filename of the the private key. * - * @param[in] type The type of the private key. This could be TYPE_DSS or - * TYPE_RSA. Pass 0 to automatically detect the type. + * @param[in] type The type of the private key. This could be SSH_KEYTYPE_DSS or + * SSH_KEYTYPE_RSA. Pass 0 to automatically detect the type. * * @param[in] passphrase The passphrase to decrypt the private key. Set to null * if none is needed or it is unknown. @@ -799,15 +799,15 @@ ssh_private_key privatekey_from_file(ssh_session session, const char *filename, /** * @brief returns the type of a private key - * @param privatekey[in] the private key handle - * @returns one of TYPE_RSA,TYPE_DSS,TYPE_RSA1 - * @returns 0 if the type is unknown + * @param[in] privatekey the private key handle + * @returns one of SSH_KEYTYPE_RSA,SSH_KEYTYPE_DSS,SSH_KEYTYPE_RSA1 + * @returns SSH_KEYTYPE_UNKNOWN if the type is unknown * @see privatekey_from_file * @see ssh_userauth_offer_pubkey */ -int ssh_privatekey_type(ssh_private_key privatekey){ +enum ssh_keytypes_e ssh_privatekey_type(ssh_private_key privatekey){ if (privatekey==NULL) - return 0; + return SSH_KEYTYPE_UNKNOWN; return privatekey->type; } |