diff options
| author | Artyom V. Poptsov <poptsov.artyom@gmail.com> | 2015-10-30 08:04:24 +0300 |
|---|---|---|
| committer | Artyom V. Poptsov <poptsov.artyom@gmail.com> | 2015-10-30 08:05:46 +0300 |
| commit | d0c901bba8bc611c394079d08a27e50c2531fb96 (patch) | |
| tree | 4f16f1b7d308c2e374cb181b0fa826a4b1f497a5 /TODO | |
| parent | tests/tunnel.scm: New test suite (diff) | |
| download | guile-ssh-d0c901bba8bc611c394079d08a27e50c2531fb96.tar.gz | |
TODO (Known Bugs): Update
Diffstat (limited to 'TODO')
| -rw-r--r-- | TODO | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -17,3 +17,36 @@ In thread: ERROR: Could not open forward channel #<tunnel 127.0.0.1:0 -> localhost:37147 91b72a8> error #+END_EXAMPLE +** 'channel-listen-forward' should always return correct port number + Currently the procedure returns garbage as the 2nd argument if a + port number was passed to it. However, it will be much better to + return the given port as the 2nd argument. +** Reverse port forwarding + Reverse port forwarding is not supported yet. To make it work, it + a global request callback should be implemented (see + =ssh_packet_global_request= in libssh 0.6.3.) It should be + possible to set the callback from Scheme world. + + When the reverse port forwarding API is ready, corresponding test + cases should be added to =tests/tunnel.scm=. For example: +#+BEGIN_EXAMPLE scheme +(test-assert-with-log "channel-{listen,cancel}-forward" + (run-client-test + ;; Server + (lambda (server) + (start-server/dt-test server + (lambda (channel) + (write-line (read-line channel) channel)))) + ;; Client + (lambda () + (let ((session (make-session/channel-test)) + (portnum (get-unused-port))) + (and + (receive (result pnum) + (channel-listen-forward session + #:address "localhost" + #:port portnum) + (eq? result 'ok)) + + (eq? (channel-cancel-forward session "localhost" portnum) 'ok)))))) +#+END_EXAMPLE |
