summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorArtyom V. Poptsov <poptsov.artyom@gmail.com>2015-10-30 08:04:24 +0300
committerArtyom V. Poptsov <poptsov.artyom@gmail.com>2015-10-30 08:05:46 +0300
commitd0c901bba8bc611c394079d08a27e50c2531fb96 (patch)
tree4f16f1b7d308c2e374cb181b0fa826a4b1f497a5 /TODO
parenttests/tunnel.scm: New test suite (diff)
downloadguile-ssh-d0c901bba8bc611c394079d08a27e50c2531fb96.tar.gz
TODO (Known Bugs): Update
Diffstat (limited to 'TODO')
-rw-r--r--TODO33
1 files changed, 33 insertions, 0 deletions
diff --git a/TODO b/TODO
index ffc5695..004bca6 100644
--- a/TODO
+++ b/TODO
@@ -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