Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1344483 - Putty: Cannot use dynamic port-forwarding with specific IP protocol in saved session
Summary: Putty: Cannot use dynamic port-forwarding with specific IP protocol in saved ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: putty
Version: el6
Hardware: All
OS: Unspecified
unspecified
medium
Target Milestone: ---
Assignee: Jaroslav Škarvada
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-06-09 19:16 UTC by Pavel
Modified: 2016-07-06 06:48 UTC (History)
3 users (show)

Fixed In Version: 0.64 putty-0.63-7.el6
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-07-06 06:48:58 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Backported fix (3.84 KB, patch)
2016-06-10 14:08 UTC, Jaroslav Škarvada
no flags Details | Diff

Description Pavel 2016-06-09 19:16:31 UTC
Description of problem:
In PuTTY 0.63 it's not possible to create a saved session with a dynamic SOCKS tunnel bound to a specific protocol (IPv4 or IPv6).

A dynamic port forwarding setting in a PuTTY session saved in 0.62 or before can fail to work in 0.63, if it explicitly specifies 'IPv4' or 'IPv6', with a message like 'Service lookup failed for source port "D8080"' in the Event Log.

Also, creating a fresh dynamic tunnel specifying IPv4/IPv6 and saving it in a session with 0.63 yields a saved session with a non-working tunnel (here you'd see 'Service lookup failed for source port "L8080"' in the Event Log). The tunnel only works as specified if the session is launched immediately after it is configured (but even then you see the nonsense string "DL8080" in the settings dialog).

Dynamic tunnels with the 'Auto' protocol setting (the default) are not affected by any of this.

After installing a fixed version of PuTTY, any affected sessions that were originally created with 0.63 will need to have the relevant dynamic tunnels removed, re-added, and re-saved.

http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/dynamic-tunnel-session.html

This was fixed in putty-0.64
Putty changelog: http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/

Version-Release number of selected component (if applicable):
putty-0.63-6

How reproducible:


Steps to Reproduce:
1. Open menu: Connection / SSH / Tunnels
2. Source port: 7777
Checkbox: Dynamic
Checkbox: IPv4
Button: Add

Actual results:
Was added broken vale: DL7777
And dynamic forward port not working.

Expected results:
4D7777

Additional info:

Comment 1 Jaroslav Škarvada 2016-06-10 13:14:03 UTC
Thanks for info. Putty seems to have pretty good backward compatibility, thus I am not going to waste time with backporting and I will probably rebase it directly to the 0.67.

Comment 2 Jaroslav Škarvada 2016-06-10 14:08:31 UTC
Created attachment 1166654 [details]
Backported fix

Well, finally it showed that the backport is easier. The rebased package didn't build because of old halibut.

Comment 3 Fedora Update System 2016-06-10 14:38:44 UTC
putty-0.63-7.el6 has been submitted as an update to Fedora EPEL 6. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-247ac7d7ee

Comment 4 Fedora Update System 2016-06-11 03:18:06 UTC
putty-0.63-7.el6 has been pushed to the Fedora EPEL 6 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-247ac7d7ee

Comment 5 Pavel 2016-06-12 18:32:43 UTC
Thank you for bugfix. In a system with ipv4 and ipv6 all works fine, but there is a problem with one protocol ipv4 (if ipv6 disabled).

Tested version:
putty  x86_64   0.63-7.el6   @epel-testing

Test example, line PortForwardings from stored session:
PortForwardings=4D7702=,4L7705=127.0.0.1:7705,6D7703=,6L7706=127.0.0.1:7706,D7701=,L7704=127.0.0.1:7704

The formatted string for better perception:
D7701=,
4D7702=,
6D7703=,
L7704=127.0.0.1:7704
4L7705=127.0.0.1:7705,
6L7706=127.0.0.1:7706,

TEST-1: In a system with ipv4 and ipv6 all works fine. After connecting:
---
# netstat -nap|grep ":770"
tcp        0      0 127.0.0.1:7701              0.0.0.0:*                   LISTEN      3816/putty          
tcp        0      0 127.0.0.1:7702              0.0.0.0:*                   LISTEN      3816/putty          
tcp        0      0 127.0.0.1:7704              0.0.0.0:*                   LISTEN      3816/putty          
tcp        0      0 127.0.0.1:7705              0.0.0.0:*                   LISTEN      3816/putty          
tcp        0      0 ::1:7701                    :::*                        LISTEN      3816/putty          
tcp        0      0 ::1:7703                    :::*                        LISTEN      3816/putty          
tcp        0      0 ::1:7704                    :::*                        LISTEN      3816/putty          
tcp        0      0 ::1:7706                    :::*                        LISTEN      3816/putty          
---
Test passed, all OK


TEST-2: Disable ipv6
---
# netstat -nap|grep ":770"
tcp        0      0 127.0.0.1:7702              0.0.0.0:*                   LISTEN      3825/putty          
tcp        0      0 127.0.0.1:7705              0.0.0.0:*                   LISTEN      3825/putty  
---
Test failed. Do not established port forwarding:  D7701  and  L7704=127.0.0.1:7704


It is possible that the same problem also affects "Remote port forwarding".
Check please, unfortunately I do not really guided in this matter.

Comment 6 Jaroslav Škarvada 2016-06-14 09:49:01 UTC
I cannot find anything related. How did you disable IPv6? Does it work in putty-0.64?

Comment 7 Pavel 2016-06-18 05:28:36 UTC
Maybe it's a different bug, and it can be fixed separately. I saw it by accident during testing. I tested on Centos 6.8 x86_64.

Disable ipv6:
1. Add lines in /etc/sysctl.conf
---
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
---
2. Reboot

I have not tested this bug on the putty-0.64

Comment 8 Jaroslav Škarvada 2016-06-20 07:54:42 UTC
Thanks for info. Please could you test with 0.64 and optionally open new bug? In case it's unfixed upstream, please file a bug upstream and/or in Fedora.

Comment 9 Pavel 2016-06-23 05:30:28 UTC
I test the latest PuTTY release
./putty --version
PuTTY: Release 0.67

Bug exists in it too. I sent a bug report to PuTTY Team.
This topic can be closed, a new bug is better examine separately.

Comment 10 Jaroslav Škarvada 2016-06-23 08:02:09 UTC
(In reply to Pavel from comment #9)
> I test the latest PuTTY release
> ./putty --version
> PuTTY: Release 0.67
> 
> Bug exists in it too. I sent a bug report to PuTTY Team.
> This topic can be closed, a new bug is better examine separately.

OK, thanks for info, please open new bug when resolved upstream and I will backport the fix.

Comment 11 Fedora Update System 2016-07-06 06:48:55 UTC
putty-0.63-7.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.