examples: Call correct functions on exit.
Этот коммит содержится в:
родитель
cee8ca339b
Коммит
3e7d4534ce
@ -32,22 +32,25 @@ ssh_session connect_ssh(const char *host, const char *user,int verbosity){
|
|||||||
|
|
||||||
if(user != NULL){
|
if(user != NULL){
|
||||||
if (ssh_options_set(session, SSH_OPTIONS_USER, user) < 0) {
|
if (ssh_options_set(session, SSH_OPTIONS_USER, user) < 0) {
|
||||||
ssh_disconnect(session);
|
ssh_free(session);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ssh_options_set(session, SSH_OPTIONS_HOST, host) < 0) {
|
if (ssh_options_set(session, SSH_OPTIONS_HOST, host) < 0) {
|
||||||
|
ssh_free(session);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
ssh_options_set(session, SSH_OPTIONS_LOG_VERBOSITY, &verbosity);
|
ssh_options_set(session, SSH_OPTIONS_LOG_VERBOSITY, &verbosity);
|
||||||
if(ssh_connect(session)){
|
if(ssh_connect(session)){
|
||||||
fprintf(stderr,"Connection failed : %s\n",ssh_get_error(session));
|
fprintf(stderr,"Connection failed : %s\n",ssh_get_error(session));
|
||||||
ssh_disconnect(session);
|
ssh_disconnect(session);
|
||||||
|
ssh_free(session);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if(verify_knownhost(session)<0){
|
if(verify_knownhost(session)<0){
|
||||||
ssh_disconnect(session);
|
ssh_disconnect(session);
|
||||||
|
ssh_free(session);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
auth=authenticate_console(session);
|
auth=authenticate_console(session);
|
||||||
@ -59,5 +62,6 @@ ssh_session connect_ssh(const char *host, const char *user,int verbosity){
|
|||||||
fprintf(stderr,"Error while authenticating : %s\n",ssh_get_error(session));
|
fprintf(stderr,"Error while authenticating : %s\n",ssh_get_error(session));
|
||||||
}
|
}
|
||||||
ssh_disconnect(session);
|
ssh_disconnect(session);
|
||||||
|
ssh_free(session);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@ int main(void) {
|
|||||||
|
|
||||||
session = connect_ssh("localhost", NULL, 0);
|
session = connect_ssh("localhost", NULL, 0);
|
||||||
if (session == NULL) {
|
if (session == NULL) {
|
||||||
|
ssh_finalize();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -20,6 +21,7 @@ int main(void) {
|
|||||||
if (channel == NULL) {
|
if (channel == NULL) {
|
||||||
ssh_disconnect(session);
|
ssh_disconnect(session);
|
||||||
ssh_free(session);
|
ssh_free(session);
|
||||||
|
ssh_finalize();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,6 +51,7 @@ int main(void) {
|
|||||||
ssh_channel_close(channel);
|
ssh_channel_close(channel);
|
||||||
ssh_channel_free(channel);
|
ssh_channel_free(channel);
|
||||||
ssh_free(session);
|
ssh_free(session);
|
||||||
|
ssh_finalize();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
failed:
|
failed:
|
||||||
@ -56,6 +59,7 @@ failed:
|
|||||||
ssh_channel_free(channel);
|
ssh_channel_free(channel);
|
||||||
ssh_disconnect(session);
|
ssh_disconnect(session);
|
||||||
ssh_free(session);
|
ssh_free(session);
|
||||||
|
ssh_finalize();
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user