| 125 |
static int fork_server(void) |
static int fork_server(void) |
| 126 |
{ |
{ |
| 127 |
ssh_event event; |
ssh_event event; |
| 128 |
|
long int ssh_timeout = 0; |
| 129 |
int pid; |
int pid; |
| 130 |
int i; |
int i; |
| 131 |
int ret; |
int ret; |
| 177 |
ssh_callbacks_init(&cb); |
ssh_callbacks_init(&cb); |
| 178 |
ssh_set_server_callbacks(SSH_session, &cb); |
ssh_set_server_callbacks(SSH_session, &cb); |
| 179 |
|
|
| 180 |
|
ssh_timeout = 60; // second |
| 181 |
|
if (ssh_options_set(SSH_session, SSH_OPTIONS_TIMEOUT, &ssh_timeout) < 0) |
| 182 |
|
{ |
| 183 |
|
log_error("Error setting SSH options: %s\n", ssh_get_error(SSH_session)); |
| 184 |
|
goto cleanup; |
| 185 |
|
} |
| 186 |
|
|
| 187 |
if (ssh_handle_key_exchange(SSH_session)) |
if (ssh_handle_key_exchange(SSH_session)) |
| 188 |
{ |
{ |
| 189 |
log_error("ssh_handle_key_exchange() error: %s\n", ssh_get_error(SSH_session)); |
log_error("ssh_handle_key_exchange() error: %s\n", ssh_get_error(SSH_session)); |
| 209 |
log_error("SSH auth error, tried %d times\n", cb_data.tries); |
log_error("SSH auth error, tried %d times\n", cb_data.tries); |
| 210 |
goto cleanup; |
goto cleanup; |
| 211 |
} |
} |
| 212 |
|
|
| 213 |
|
ssh_timeout = 0; |
| 214 |
|
if (ssh_options_set(SSH_session, SSH_OPTIONS_TIMEOUT, &ssh_timeout) < 0) |
| 215 |
|
{ |
| 216 |
|
log_error("Error setting SSH options: %s\n", ssh_get_error(SSH_session)); |
| 217 |
|
goto cleanup; |
| 218 |
|
} |
| 219 |
} |
} |
| 220 |
|
|
| 221 |
// Redirect Input |
// Redirect Input |