diff options
Diffstat (limited to 'doc/forwarding.dox')
-rw-r--r-- | doc/forwarding.dox | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/doc/forwarding.dox b/doc/forwarding.dox index ca3b94f8..2b202b4d 100644 --- a/doc/forwarding.dox +++ b/doc/forwarding.dox @@ -165,6 +165,8 @@ int web_server(ssh_session session) char buffer[256]; int nbytes, nwritten; int port = 0; + char *peer_address = NULL; + int peer_port = 0; char *helloworld = "" "HTTP/1.1 200 OK\n" "Content-Type: text/html\n" @@ -187,7 +189,8 @@ int web_server(ssh_session session) return rc; } - channel = ssh_channel_accept_forward(session, 60000, &port); + channel = ssh_channel_open_forward_port(session, 60000, &port, + &peer_address, &peer_port); if (channel == NULL) { fprintf(stderr, "Error waiting for incoming connection: %s\n", @@ -204,6 +207,7 @@ int web_server(ssh_session session) ssh_get_error(session)); ssh_channel_send_eof(channel); ssh_channel_free(channel); + ssh_string_free_char(peer_address); return SSH_ERROR; } if (strncmp(buffer, "GET /", 5)) continue; @@ -216,13 +220,15 @@ int web_server(ssh_session session) ssh_get_error(session)); ssh_channel_send_eof(channel); ssh_channel_free(channel); + ssh_string_free_char(peer_address); return SSH_ERROR; } - printf("Sent answer\n"); + printf("Sent answer to %s:%d\n", peer_address, peer_port); } ssh_channel_send_eof(channel); ssh_channel_free(channel); + ssh_string_free_char(peer_address); return SSH_OK; } @endcode |