| 23 |
{ |
{ |
| 24 |
(void)userdata; |
(void)userdata; |
| 25 |
|
|
| 26 |
log_std("Authenticating user %s pwd %s\n", user, password); |
log_common("Authenticating user %s pwd %s\n", user, password); |
| 27 |
if (strcmp(user, USER) == 0 && strcmp(password, PASSWORD) == 0) |
if (strcmp(user, USER) == 0 && strcmp(password, PASSWORD) == 0) |
| 28 |
{ |
{ |
| 29 |
authenticated = 1; |
authenticated = 1; |
| 30 |
log_std("Authenticated\n"); |
log_common("Authenticated\n"); |
| 31 |
return SSH_AUTH_SUCCESS; |
return SSH_AUTH_SUCCESS; |
| 32 |
} |
} |
| 33 |
if (tries >= 3) |
if (tries >= 3) |
| 52 |
(void)px; |
(void)px; |
| 53 |
(void)py; |
(void)py; |
| 54 |
(void)userdata; |
(void)userdata; |
| 55 |
log_std("Allocated terminal\n"); |
log_common("Allocated terminal\n"); |
| 56 |
return 0; |
return 0; |
| 57 |
} |
} |
| 58 |
|
|
| 61 |
(void)session; |
(void)session; |
| 62 |
(void)channel; |
(void)channel; |
| 63 |
(void)userdata; |
(void)userdata; |
| 64 |
log_std("Allocated shell\n"); |
log_common("Allocated shell\n"); |
| 65 |
return 0; |
return 0; |
| 66 |
} |
} |
| 67 |
struct ssh_channel_callbacks_struct channel_cb = { |
struct ssh_channel_callbacks_struct channel_cb = { |
| 76 |
if (channel != NULL) |
if (channel != NULL) |
| 77 |
return NULL; |
return NULL; |
| 78 |
|
|
| 79 |
log_std("Allocated session channel\n"); |
log_common("Allocated session channel\n"); |
| 80 |
channel = ssh_channel_new(session); |
channel = ssh_channel_new(session); |
| 81 |
ssh_callbacks_init(&channel_cb); |
ssh_callbacks_init(&channel_cb); |
| 82 |
ssh_set_channel_callbacks(channel, &channel_cb); |
ssh_set_channel_callbacks(channel, &channel_cb); |
| 167 |
} |
} |
| 168 |
else |
else |
| 169 |
{ |
{ |
| 170 |
log_std("Authenticated and got a channel\n"); |
log_common("Authenticated and got a channel\n"); |
| 171 |
} |
} |
| 172 |
|
|
| 173 |
snprintf(buf, sizeof(buf), "Hello, welcome to the Sample SSH proxy.\r\nPlease select your destination: "); |
snprintf(buf, sizeof(buf), "Hello, welcome to the Sample SSH proxy.\r\nPlease select your destination: "); |
| 197 |
} while (i > 0); |
} while (i > 0); |
| 198 |
snprintf(buf, sizeof(buf), "Trying to connect to \"%s\"\r\n", host); |
snprintf(buf, sizeof(buf), "Trying to connect to \"%s\"\r\n", host); |
| 199 |
ssh_channel_write(channel, buf, (uint32_t)strlen(buf)); |
ssh_channel_write(channel, buf, (uint32_t)strlen(buf)); |
| 200 |
log_std("%s", buf); |
log_common("%s", buf); |
| 201 |
|
|
| 202 |
ssh_disconnect(session); |
ssh_disconnect(session); |
| 203 |
ssh_free(session); |
ssh_free(session); |
| 233 |
return -1; |
return -1; |
| 234 |
} |
} |
| 235 |
|
|
| 236 |
log_std_redirect(STDOUT_FILENO); |
log_common_redir(STDOUT_FILENO); |
| 237 |
log_err_redirect(STDERR_FILENO); |
log_error_redir(STDERR_FILENO); |
| 238 |
|
|
| 239 |
ssh_server("0.0.0.0", 2322); |
ssh_server("0.0.0.0", 2322); |
| 240 |
|
|