diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h index 14fddfb9..8115871a 100644 --- a/include/libssh/libssh.h +++ b/include/libssh/libssh.h @@ -321,7 +321,7 @@ int ssh_options_set_banner(SSH_OPTIONS *opt, const char *banner); int ssh_options_set_status_callback(SSH_OPTIONS *opt, void (*callback) (void *arg, float status), void *arg); int ssh_options_set_timeout(SSH_OPTIONS *opt, long seconds, long usec); -void ssh_options_allow_ssh1(SSH_OPTIONS *opt, int allow); +int ssh_options_allow_ssh1(SSH_OPTIONS *opt, int allow); void ssh_options_allow_ssh2(SSH_OPTIONS *opt, int allow); void ssh_options_set_dsa_server_key(SSH_OPTIONS *opt, const char *dsakey); void ssh_options_set_rsa_server_key(SSH_OPTIONS *opt, const char *rsakey); diff --git a/libssh/options.c b/libssh/options.c index 6e44db07..11333ee5 100644 --- a/libssh/options.c +++ b/libssh/options.c @@ -666,16 +666,29 @@ int ssh_options_set_timeout(SSH_OPTIONS *opt, long seconds, long usec) { return 0; } -/** Default value is 0 (no connection to SSH1 servers) - * \brief allow or deny the connection to SSH1 servers - * \param opt options structure - * \param allow nonzero values allow ssh1 +/** + * @brief Allow or deny the connection to SSH1 servers. + * + * Default value is 0 (no connection to SSH1 servers). + * + * @param opt The options structure to use. + * + * @param allow Non zero value allow ssh1. + * + * @return 0 on success, < 0 on error. */ -void ssh_options_allow_ssh1(SSH_OPTIONS *opt, int allow){ - if(allow) - opt->ssh1allowed=1; - else - opt->ssh1allowed=0; +int ssh_options_allow_ssh1(SSH_OPTIONS *opt, int allow) { + if (opt == NULL) { + return -1; + } + + if (allow) { + opt->ssh1allowed = 1; + } else { + opt->ssh1allowed = 0; + } + + return 0; } /** Default value is 1 (allow connection to SSH2 servers)