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);
|
const void *value);
|
||||||
LIBSSH_API int ssh_options_get(ssh_session session, enum ssh_options_e type,
|
LIBSSH_API int ssh_options_get(ssh_session session, enum ssh_options_e type,
|
||||||
char **value);
|
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 int ssh_pcap_file_close(ssh_pcap_file pcap);
|
||||||
LIBSSH_API void ssh_pcap_file_free(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);
|
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;
|
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
|
* @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
|
* 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);
|
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) {
|
static void torture_options_get_user(void **state) {
|
||||||
ssh_session session = *state;
|
ssh_session session = *state;
|
||||||
char* user = NULL;
|
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_set_host, setup, teardown),
|
||||||
unit_test_setup_teardown(torture_options_get_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_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_fd, setup, teardown),
|
||||||
unit_test_setup_teardown(torture_options_set_user, setup, teardown),
|
unit_test_setup_teardown(torture_options_set_user, setup, teardown),
|
||||||
unit_test_setup_teardown(torture_options_get_user, setup, teardown),
|
unit_test_setup_teardown(torture_options_get_user, setup, teardown),
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user