Your message dated Tue, 18 Feb 2014 12:48:50 +0000
with message-id <[email protected]>
and subject line Bug#736231: fixed in libssh 0.5.4-2
has caused the Debian Bug report #736231,
regarding Support for multiple reverse port forwarding requests
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
736231: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=736231
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libssh
Severity: important
Version: 0.5.4-1

Dear maintainer,

in X2Go upstream we stumbled over an issue with libssh's mechanism of requesting reverse port forwarding channels. In a nutshell, it is only possible to request one reverse port forwarding channel per SSH session.

Till now, we worked around this in X2Go Client by starting multiple sessions (and only requesting one channel per session). With an upcoming feature of X2Go Client (Google Authenticator support) we need this problem to be fixed in libssh.

We provided a patch against libssh upstream that recently got accepted by Andreas Schneider [1].

Attached, find a debdiff that adds two patches to the package's patchset. These two patches make multiple revert port forwardings available in libssh 0.5.4. In Git master of libssh this issue has already been fixed [2]. The patch is expected to land in libssh upstream release 0.6.1.

In the debdiff, I also put myself into debian/control's Uploaders: field. I'd be happy to support libssh packaging in the future (as it is a vital package for X2Go). If you accept my offer please leave me in Uploaders:. If not, feel free to drop the partial patch for debian/control from the debdiff.

Thanks+Greets,
Mike

PS: please also refrain from uploading libssh 0.6.x to Debian for a while, as it currently breaks X2Go Client. We'd appreciate if you could provide us some time to solve a memory leak and a segfault issue we experience with libssh 0.6.x and X2Go Client. Thanks.

[1] http://www.libssh.org/archive/libssh/2014-01/0000013.html
[2] http://git.libssh.org/projects/libssh.git/commit/?id=a1c4fc07d43fb7a7e1e91bfdadbd3dc62b8ce462
--

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: [email protected], http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb
diff -Nru libssh-0.5.4/debian/changelog libssh-0.5.4/debian/changelog
--- libssh-0.5.4/debian/changelog	2013-02-05 01:12:09.000000000 +0100
+++ libssh-0.5.4/debian/changelog	2014-01-21 10:26:56.000000000 +0100
@@ -1,3 +1,12 @@
+libssh (0.5.4-2) unstable; urgency=low
+
+  * debian/patches/0004-reset-global-request-status.patch: Allow requesting
+    more than one channel per session.
+  * debian/patches/0005-multi-reverse-fwd.patch: Ease handling of multiple
+    reverse port forwarding requests per session.
+
+ -- Mike Gabriel <[email protected]>  Tue, 21 Jan 2014 09:56:46 +0100
+
 libssh (0.5.4-1) unstable; urgency=low
 
   * New upstream security release
diff -Nru libssh-0.5.4/debian/control libssh-0.5.4/debian/control
--- libssh-0.5.4/debian/control	2013-02-05 01:12:09.000000000 +0100
+++ libssh-0.5.4/debian/control	2014-01-21 09:56:44.000000000 +0100
@@ -2,6 +2,8 @@
 Section: libs
 Priority: optional
 Maintainer: Laurent Bigonville <[email protected]>
+Uploaders:
+ Mike Gabriel <[email protected]>,
 Build-Depends: cdbs (>= 0.4.93~), debhelper (>= 8.1.3~), cmake (>= 2.6), libssl-dev, libz-dev
 Build-Depends-Indep: doxygen
 Standards-Version: 3.9.2
diff -Nru libssh-0.5.4/debian/patches/0004-reset-global-request-status.patch libssh-0.5.4/debian/patches/0004-reset-global-request-status.patch
--- libssh-0.5.4/debian/patches/0004-reset-global-request-status.patch	1970-01-01 01:00:00.000000000 +0100
+++ libssh-0.5.4/debian/patches/0004-reset-global-request-status.patch	2014-01-21 10:25:32.000000000 +0100
@@ -0,0 +1,18 @@
+Description: Allow requesting more than one channel per session.
+Author: Andreas Schneider <[email protected]>
+Abstract:
+ In the 0.5.x series of libssh only one channel request per session
+ is possible. This blocks using libssh client sessions which require
+ requesting multiple channels on a single SSH connection.
+Origin: http://git.libssh.org/projects/libssh.git/commit/src/channels.c?id=e30acdb58a86937e8bece57ce47e272f1106ca55
+--- a/src/channels.c
++++ b/src/channels.c
+@@ -1951,7 +1951,7 @@
+       break;
+ 
+   }
+-
++  session->global_req_state = SSH_CHANNEL_REQ_STATE_NONE;
+   leave_function();
+   return rc;
+ error:
diff -Nru libssh-0.5.4/debian/patches/0005-multi-reverse-fwd.patch libssh-0.5.4/debian/patches/0005-multi-reverse-fwd.patch
--- libssh-0.5.4/debian/patches/0005-multi-reverse-fwd.patch	1970-01-01 01:00:00.000000000 +0100
+++ libssh-0.5.4/debian/patches/0005-multi-reverse-fwd.patch	2014-01-21 10:18:27.000000000 +0100
@@ -0,0 +1,85 @@
+Description: Allow requesting multiple reverse port forwarding tunnels per connection
+Author: Oleksandr Shneyder <[email protected]>
+Abstract:
+ Channel: Add ssh_channel_accept_forward().
+ .
+ This new function works the same way as ssh_forward_accept()
+ but can return a destination port of the channel (useful if
+ SSH connection is supposed to reverse forward multiple TCP/IP
+ ports).
+Origin: http://git.libssh.org/projects/libssh.git/commit/?id=a1c4fc07d43fb7a7e1e91bfdadbd3dc62b8ce462
+--- a/include/libssh/libssh.h
++++ b/include/libssh/libssh.h
+@@ -371,6 +371,7 @@
+ LIBSSH_API char *ssh_dirname (const char *path);
+ LIBSSH_API int ssh_finalize(void);
+ LIBSSH_API ssh_channel ssh_forward_accept(ssh_session session, int timeout_ms);
++LIBSSH_API ssh_channel ssh_channel_accept_forward(ssh_session session, int timeout_ms, int *destination_port);
+ LIBSSH_API int ssh_forward_cancel(ssh_session session, const char *address, int port);
+ LIBSSH_API int ssh_forward_listen(ssh_session session, const char *address, int port, int *bound_port);
+ LIBSSH_API void ssh_free(ssh_session session);
+--- a/src/channels.c
++++ b/src/channels.c
+@@ -1755,7 +1755,7 @@
+ }
+ 
+ static ssh_channel ssh_channel_accept(ssh_session session, int channeltype,
+-    int timeout_ms) {
++    int timeout_ms, int *destination_port) {
+ #ifndef _WIN32
+   static const struct timespec ts = {
+     .tv_sec = 0,
+@@ -1779,6 +1779,10 @@
+             ssh_message_subtype(msg) == channeltype) {
+           ssh_list_remove(session->ssh_message_list, iterator);
+           channel = ssh_message_channel_request_open_reply_accept(msg);
++          if(destination_port) {
++            *destination_port=msg->channel_request_open.destination_port;
++          }
++
+           ssh_message_free(msg);
+           return channel;
+         }
+@@ -1809,7 +1813,7 @@
+  *                      the server.
+  */
+ ssh_channel ssh_channel_accept_x11(ssh_channel channel, int timeout_ms) {
+-  return ssh_channel_accept(channel->session, SSH_CHANNEL_X11, timeout_ms);
++  return ssh_channel_accept(channel->session, SSH_CHANNEL_X11, timeout_ms, NULL);
+ }
+ 
+ /**
+@@ -1857,7 +1861,7 @@
+   } else {
+     session->global_req_state=SSH_CHANNEL_REQ_STATE_DENIED;
+   }
+-
++  session->global_req_state = SSH_CHANNEL_REQ_STATE_NONE;
+   leave_function();
+   return SSH_PACKET_USED;
+ 
+@@ -2027,7 +2031,23 @@
+  *         the server
+  */
+ ssh_channel ssh_forward_accept(ssh_session session, int timeout_ms) {
+-  return ssh_channel_accept(session, SSH_CHANNEL_FORWARDED_TCPIP, timeout_ms);
++  return ssh_channel_accept(session, SSH_CHANNEL_FORWARDED_TCPIP, timeout_ms, NULL);
++}
++
++/**
++ * @brief Accept an incoming TCP/IP forwarding channel and get information
++ * about incomming connection
++ * @param[in]  session    The ssh session to use.
++ *
++ * @param[in]  timeout_ms A timeout in milliseconds.
++ *
++ * @param[in]  destination_port A pointer to destination port or NULL.
++ *
++ * @return Newly created channel, or NULL if no incoming channel request from
++ *         the server
++ */
++ssh_channel ssh_channel_accept_forward(ssh_session session, int timeout_ms, int* destination_port) {
++  return ssh_channel_accept(session, SSH_CHANNEL_FORWARDED_TCPIP, timeout_ms, destination_port);
+ }
+ 
+ /**
diff -Nru libssh-0.5.4/debian/patches/series libssh-0.5.4/debian/patches/series
--- libssh-0.5.4/debian/patches/series	2013-02-05 01:12:09.000000000 +0100
+++ libssh-0.5.4/debian/patches/series	2014-01-21 10:17:52.000000000 +0100
@@ -1,3 +1,5 @@
 0001-disable-latex-documentation.patch
 0002-fix-html-doc-generation.patch
 0003-fix-typo.patch
+0004-reset-global-request-status.patch
+0005-multi-reverse-fwd.patch

Attachment: pgpNsyasyQsSJ.pgp
Description: Digitale PGP-Signatur


--- End Message ---
--- Begin Message ---
Source: libssh
Source-Version: 0.5.4-2

We believe that the bug you reported is fixed in the latest version of
libssh, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Mike Gabriel <[email protected]> (supplier of updated libssh package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Tue, 18 Feb 2014 13:34:13 +0100
Source: libssh
Binary: libssh-4 libssh-dev libssh-dbg libssh-doc
Architecture: source all amd64
Version: 0.5.4-2
Distribution: unstable
Urgency: low
Maintainer: Laurent Bigonville <[email protected]>
Changed-By: Mike Gabriel <[email protected]>
Description: 
 libssh-4   - tiny C SSH library
 libssh-dbg - tiny C SSH library. Debug symbols
 libssh-dev - tiny C SSH library. Development files
 libssh-doc - tiny C SSH library. Documentation files
Closes: 736231 738667 739372
Changes: 
 libssh (0.5.4-2) unstable; urgency=low
 .
   * debian/control:
     + Add myself to Uploaders: field as discussed with current
       maintainer on IRC (#debian-devel) on 2014-02-17.
     + Alioth-canonicalize Vcs-* fields.
   * debian/copyright:
     + Make copyright file DEP-5 compliant.
     + Relicense debian/* files under all licenses used by upstream.
       Copyright holders' agreements can be found in the related
       bug report in Debian BTS. (Closes: #739372).
   * debian/patches:
     + Add patch 0004-reset-global-request-status.patch: Allow requesting
       more than one channel per session.
     + Add patch 0005-multi-reverse-fwd.patch: Ease handling of multiple
       reverse port forwarding requests per session. (Closes: #736231).
     + Add patch 0006-ssh-handle-package-zero-timeouts.patch: Handle
       zero timeouts as such. Improves speed on libssh issued
       connections. (Closes: #738667).
   * Update libssh-4.symbols file with new symbol introduced by patch
     0005-multi-reverse-fwd.patch.
Checksums-Sha1: 
 d198ae7f3918634767258df3de3444d11571f294 2087 libssh_0.5.4-2.dsc
 52e8611857b9aa9ba83c81f781be13b2c93b8a93 10636 libssh_0.5.4-2.debian.tar.xz
 9bb8305fa72e672f45054e93cf49a8c9dd2d33e4 174116 libssh-doc_0.5.4-2_all.deb
 4dd8825ef2f8f42ac0a2f44485a87243cb8faac3 110988 libssh-4_0.5.4-2_amd64.deb
 0d8aa0b3383161c97475f6e4385a7d499ae8d166 135992 libssh-dev_0.5.4-2_amd64.deb
 0f531e94b401e99b80d36218be51a5acbce2c343 247418 libssh-dbg_0.5.4-2_amd64.deb
Checksums-Sha256: 
 99e91f1a0ae0ad56708d7fb64a356bf3413ae32cd52179627bb046ca15672af8 2087 
libssh_0.5.4-2.dsc
 fb9212feea7a0bced0daf798629c888765438fd99bc4a37c5a10b7678e244dad 10636 
libssh_0.5.4-2.debian.tar.xz
 f083eeb830530fbfc3f2c90179b1add4c496f42bc3ddb63d75f5dc3285c75e76 174116 
libssh-doc_0.5.4-2_all.deb
 b44275ca4eae113a2c115e7d208800e7d9ba4fe71417471a0fe12a8e47f0df2d 110988 
libssh-4_0.5.4-2_amd64.deb
 c96ba14b101a911d08a9b7a1c8b88947cf3cd7f7cba5cd2a78e4b9613ddd42fb 135992 
libssh-dev_0.5.4-2_amd64.deb
 f26b77c9e541c12d0ad5d03e42cfaccb35dde0084fa4089970230652487236cf 247418 
libssh-dbg_0.5.4-2_amd64.deb
Files: 
 300ee219a8302ac119a87fae04e465fa 2087 libs optional libssh_0.5.4-2.dsc
 a4b0cb121e619f6125cd1d174d9c5bac 10636 libs optional 
libssh_0.5.4-2.debian.tar.xz
 75983f2a48b9f6936f61f2ad0ddca4ba 174116 doc optional libssh-doc_0.5.4-2_all.deb
 333d6ecc4566965cb6b82ca618d00087 110988 libs optional 
libssh-4_0.5.4-2_amd64.deb
 35283f839eb5c931466c7c9085d41b07 135992 libdevel optional 
libssh-dev_0.5.4-2_amd64.deb
 ad1f9802d15916c698d19b60e32255cb 247418 debug extra 
libssh-dbg_0.5.4-2_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBCAAGBQJTA1PEAAoJEJr0azAldxsxVRoP/iG2MEGvk/78BISu6gfNJfbO
pFUgdZbkRREVgL21DFFH7+WVSdTCtmvrUoGibX4hSR7dij+iSAkreO6VclhRSQUa
x91QF+4WGYcPOLgSOfAA7zzEYn3rJNk/dnBC/TVyhHJOxTXanq5WLeaaPk9hyCE7
YadGsJ2ugkkbDzuWrf8KNeWQKMsF7SCT2t94D6/4N1ti5gsLe60YOesixpH2u7au
sr6xtsww/RVYpM8dTD8tffckwTMgC4k3HdHkHWHJ8uEqO28I+xY8/mnvuD5m3MZl
nOB7UGkkU3LzfFYjZVL/acJzS6WXowvMQM654LY+LQR5Dh9ZinLZ7BzeB9DMbHoT
qeVC+HM3+LlCxUsgyB5ritrO5IlNX2DZ7VcXAHffZJCzPkksyH+e5WPG+Rh8/pzj
UIKzPL5YjyKR/wCjkZkorHyzo8GrfXal2hNLD3WajrkFRL7C8DEqR3H75jQvePrP
l+YvrOiG8nhqNpElMEhYb/RbIFvg6b4EmTV2vHv1riaRSA4GOheXwMO1X+HGTOL0
EoNjdwrX7ZOYpm7nVhVQbEqM4AO+ish547zTR92IVqoYzdKoMlbn8pVPQY38P2kM
ugyALk3kJRjJINjxixU3094F5gYvC9OMpoXLPhXvXNwE4WwD57DfdHxcy1W9FieV
2YJpA3WoRK618z9n3ifv
=kGf2
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to