Implement ssh_options_get_port(ssh_session, unsigned int*).
Этот коммит содержится в:
родитель
6bd95b50f5
Коммит
e797781bb5
@ -429,6 +429,7 @@ LIBSSH_API int ssh_options_set(ssh_session session, enum ssh_options_e type,
|
||||
const void *value);
|
||||
LIBSSH_API int ssh_options_get(ssh_session session, enum ssh_options_e type,
|
||||
char **value);
|
||||
LIBSSH_API int ssh_options_get_port(ssh_session session, unsigned int * port_target);
|
||||
LIBSSH_API int ssh_pcap_file_close(ssh_pcap_file pcap);
|
||||
LIBSSH_API void ssh_pcap_file_free(ssh_pcap_file pcap);
|
||||
LIBSSH_API ssh_pcap_file ssh_pcap_file_new(void);
|
||||
|
@ -778,6 +778,32 @@ int ssh_options_set(ssh_session session, enum ssh_options_e type,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function can get ssh the ssh port. It must only be used on
|
||||
* a valid ssh session. This function is useful when the session
|
||||
* options have been automatically inferred from the environment
|
||||
* or configuration files and one
|
||||
*
|
||||
* @param session An allocated SSH session structure.
|
||||
*
|
||||
* @param unsigned int An unsigned integer into which the
|
||||
* port will be set from the ssh session.
|
||||
*
|
||||
* @return 0 on success, < 0 on error.
|
||||
*
|
||||
*/
|
||||
int ssh_options_get_port(ssh_session session, unsigned int* port_target) {
|
||||
if (session == NULL) {
|
||||
return -1;
|
||||
}
|
||||
if (!session->port) {
|
||||
ssh_set_error_invalid(session);
|
||||
return -1;
|
||||
}
|
||||
*port_target = session->port;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function can get ssh options, it does not support all options provided for
|
||||
* ssh options set, but mostly those which a user-space program may care about having
|
||||
|
@ -66,6 +66,19 @@ static void torture_options_set_port(void **state) {
|
||||
assert_true(rc == -1);
|
||||
}
|
||||
|
||||
static void torture_options_get_port(void **state) {
|
||||
ssh_session session = *state;
|
||||
ssh_session uninitialized_session = NULL;
|
||||
unsigned int given_port = 1234;
|
||||
unsigned int port_container;
|
||||
int rc;
|
||||
rc = ssh_options_set(session, SSH_OPTIONS_PORT, &given_port);
|
||||
assert_true(rc == 0);
|
||||
rc = ssh_options_get_port(session, &port_container);
|
||||
assert_true(rc == 0);
|
||||
assert_int_equal(port_container, 1234);
|
||||
}
|
||||
|
||||
static void torture_options_get_user(void **state) {
|
||||
ssh_session session = *state;
|
||||
char* user = NULL;
|
||||
@ -166,6 +179,7 @@ int torture_run_tests(void) {
|
||||
unit_test_setup_teardown(torture_options_set_host, setup, teardown),
|
||||
unit_test_setup_teardown(torture_options_get_host, setup, teardown),
|
||||
unit_test_setup_teardown(torture_options_set_port, setup, teardown),
|
||||
unit_test_setup_teardown(torture_options_get_port, setup, teardown),
|
||||
unit_test_setup_teardown(torture_options_set_fd, setup, teardown),
|
||||
unit_test_setup_teardown(torture_options_set_user, setup, teardown),
|
||||
unit_test_setup_teardown(torture_options_get_user, setup, teardown),
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user