1
1

get rid of the option structure

Этот коммит содержится в:
Aris Adamantiadis 2009-10-09 22:24:23 +02:00
родитель 43e0d73b63
Коммит 98ff6fbbce
4 изменённых файлов: 30 добавлений и 45 удалений

Просмотреть файл

@ -114,14 +114,14 @@ typedef struct ssh_agent_struct AGENT;
#endif
typedef struct ssh_message_struct SSH_MESSAGE;
typedef struct ssh_session_struct SSH_OPTIONS;
//typedef struct ssh_session_struct SSH_OPTIONS;
typedef struct ssh_session_struct SSH_SESSION;
typedef struct ssh_agent_struct* ssh_agent;
typedef struct ssh_buffer_struct* ssh_buffer;
typedef struct ssh_channel_struct* ssh_channel;
typedef struct ssh_message_struct *ssh_message;
typedef struct ssh_session_struct* ssh_options;
//typedef struct ssh_session_struct* ssh_options;
typedef struct ssh_private_key_struct* ssh_private_key;
typedef struct ssh_public_key_struct* ssh_public_key;
typedef struct ssh_scp_struct* ssh_scp;
@ -384,8 +384,8 @@ LIBSSH_API int ssh_mkdir (const char *pathname, mode_t mode);
LIBSSH_API ssh_session ssh_new(void);
LIBSSH_API int ssh_options_copy(ssh_session src, ssh_session *dest);
LIBSSH_API int ssh_options_getopt(ssh_options options, int *argcptr, char **argv);
LIBSSH_API int ssh_options_parse_config(ssh_options opt, const char *filename);
LIBSSH_API int ssh_options_getopt(ssh_session session, int *argcptr, char **argv);
LIBSSH_API int ssh_options_parse_config(ssh_session session, const char *filename);
LIBSSH_API int ssh_options_set(ssh_session session, enum ssh_options_e type,
const void *value);
@ -413,7 +413,6 @@ LIBSSH_API void ssh_set_blocking(ssh_session session, int blocking);
LIBSSH_API void ssh_set_fd_except(ssh_session session);
LIBSSH_API void ssh_set_fd_toread(ssh_session session);
LIBSSH_API void ssh_set_fd_towrite(ssh_session session);
LIBSSH_API void ssh_set_options(ssh_session session, ssh_options options);
LIBSSH_API void ssh_silent_disconnect(ssh_session session);
#ifndef _WIN32
LIBSSH_API int ssh_userauth_agent_pubkey(ssh_session session, const char *username,

Просмотреть файл

@ -119,7 +119,7 @@ int ssh_send_banner(ssh_session session, int is_server);
char *ssh_get_banner(ssh_session session);
/* config.c */
int ssh_config_parse_file(ssh_options opt, const char *filename);
int ssh_config_parse_file(ssh_session session, const char *filename);
/* errors.c */
void ssh_set_error(void *error, int code, const char *descr, ...) PRINTF_ATTRIBUTE(3, 4);

Просмотреть файл

@ -710,7 +710,7 @@ int ssh_bind_options_set(ssh_bind sshbind, enum ssh_bind_options_e type,
* myssh -l user localhost\n
* The command wont set the hostname value of options to localhost.
*
* @param options An empty option structure pointer.
* @param session The session to configure.
*
* @param argcptr The pointer to the argument count.
*
@ -720,7 +720,7 @@ int ssh_bind_options_set(ssh_bind sshbind, enum ssh_bind_options_e type,
*
* @see ssh_session_new()
*/
int ssh_options_getopt(ssh_options options, int *argcptr, char **argv) {
int ssh_options_getopt(ssh_session session, int *argcptr, char **argv) {
char *user = NULL;
char *cipher = NULL;
char *localaddr = NULL;
@ -751,7 +751,7 @@ int ssh_options_getopt(ssh_options options, int *argcptr, char **argv) {
save = malloc(argc * sizeof(char *));
if (save == NULL) {
ssh_set_error_oom(options);
ssh_set_error_oom(session);
return -1;
}
@ -803,7 +803,7 @@ int ssh_options_getopt(ssh_options options, int *argcptr, char **argv) {
save[current] = strdup(opt);
if (save[current] == NULL) {
SAFE_FREE(save);
ssh_set_error_oom(options);
ssh_set_error_oom(session);
return -1;
}
current++;
@ -819,11 +819,11 @@ int ssh_options_getopt(ssh_options options, int *argcptr, char **argv) {
}
if (usersa && usedss) {
ssh_set_error(options, SSH_FATAL, "Either RSA or DSS must be chosen");
ssh_set_error(session, SSH_FATAL, "Either RSA or DSS must be chosen");
cont = 0;
}
ssh_options_set(options, SSH_OPTIONS_LOG_VERBOSITY, &debuglevel);
ssh_options_set(session, SSH_OPTIONS_LOG_VERBOSITY, &debuglevel);
optind = saveoptind;
@ -843,45 +843,45 @@ int ssh_options_getopt(ssh_options options, int *argcptr, char **argv) {
/* set a new option struct */
if (compress) {
if (ssh_options_set(options, SSH_OPTIONS_COMPRESSION_C_S, "zlib") < 0) {
if (ssh_options_set(session, SSH_OPTIONS_COMPRESSION_C_S, "zlib") < 0) {
cont = 0;
}
if (ssh_options_set(options, SSH_OPTIONS_COMPRESSION_S_C, "zlib") < 0) {
if (ssh_options_set(session, SSH_OPTIONS_COMPRESSION_S_C, "zlib") < 0) {
cont = 0;
}
}
if (cont && cipher) {
if (ssh_options_set(options, SSH_OPTIONS_CIPHERS_C_S, cipher) < 0) {
if (ssh_options_set(session, SSH_OPTIONS_CIPHERS_C_S, cipher) < 0) {
cont = 0;
}
if (cont && ssh_options_set(options, SSH_OPTIONS_CIPHERS_S_C, cipher) < 0) {
if (cont && ssh_options_set(session, SSH_OPTIONS_CIPHERS_S_C, cipher) < 0) {
cont = 0;
}
}
if (cont && user) {
if (ssh_options_set(options, SSH_OPTIONS_USER, user) < 0) {
if (ssh_options_set(session, SSH_OPTIONS_USER, user) < 0) {
cont = 0;
}
}
if (cont && identity) {
if (ssh_options_set(options, SSH_OPTIONS_IDENTITY, identity) < 0) {
if (ssh_options_set(session, SSH_OPTIONS_IDENTITY, identity) < 0) {
cont = 0;
}
}
ssh_options_set(options, SSH_OPTIONS_PORT_STR, port);
ssh_options_set(session, SSH_OPTIONS_PORT_STR, port);
ssh_options_set(options, SSH_OPTIONS_SSH1, &ssh1);
ssh_options_set(options, SSH_OPTIONS_SSH2, &ssh2);
ssh_options_set(session, SSH_OPTIONS_SSH1, &ssh1);
ssh_options_set(session, SSH_OPTIONS_SSH2, &ssh2);
if (!cont) {
return -1;
return SSH_ERROR;
}
return 0;
return SSH_OK;
#endif
}
@ -892,7 +892,7 @@ int ssh_options_getopt(ssh_options options, int *argcptr, char **argv) {
* are already set. It requires that the host name is already set with
* ssh_options_set_host().
*
* @param opt The options structure to use.
* @param session SSH session handle
*
* @param filename The options file to use, if NULL the default
* ~/.ssh/config will be used.
@ -901,28 +901,28 @@ int ssh_options_getopt(ssh_options options, int *argcptr, char **argv) {
*
* @see ssh_options_set_host()
*/
int ssh_options_parse_config(ssh_options opt, const char *filename) {
int ssh_options_parse_config(ssh_session session, const char *filename) {
char *expanded_filename;
int r;
if (opt == NULL) {
if (session == NULL) {
return -1;
}
if (opt->host == NULL) {
ssh_set_error_invalid(opt, __FUNCTION__);
if (session->host == NULL) {
ssh_set_error_invalid(session, __FUNCTION__);
return -1;
}
/* set default filename */
if (filename == NULL) {
expanded_filename = dir_expand_dup(opt, "SSH_DIR/config", 1);
expanded_filename = dir_expand_dup(session, "SSH_DIR/config", 1);
} else {
expanded_filename = dir_expand_dup(opt, filename, 1);
expanded_filename = dir_expand_dup(session, filename, 1);
}
if (expanded_filename == NULL)
return -1;
r = ssh_config_parse_file(opt, expanded_filename);
r = ssh_config_parse_file(session, expanded_filename);
free(expanded_filename);
return r;
}

Просмотреть файл

@ -185,20 +185,6 @@ void ssh_silent_disconnect(ssh_session session) {
/* FIXME: leave_function(); ??? */
}
/** \brief set the options for the current session
* \param session ssh session
* \param options options structure
* \see ssh_new()
* \see ssh_options_new()
*/
void ssh_set_options(ssh_session session, ssh_options options) {
if (session == NULL || options == NULL) {
return;
}
return;
}
/** \brief set the session in blocking/nonblocking mode
* \param session ssh session
* \param blocking zero for nonblocking mode