Bug 404135 - UPNP Plugin not working
Summary: UPNP Plugin not working
Status: RESOLVED FIXED
Alias: None
Product: ktorrent
Classification: Applications
Component: general (show other bugs)
Version: 5.1
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Joris Guisson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-02-09 14:39 UTC by Klaus Frank
Modified: 2021-08-15 19:32 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Klaus Frank 2019-02-09 14:39:29 UTC
SUMMARY


STEPS TO REPRODUCE
1. Enable UPNP plugin
2. Let the plugin try to open ports.

OBSERVED RESULT
Port does not get opened.

EXPECTED RESULT
Port is forwarded properly

SOFTWARE/OS VERSIONS
kTorrent Version: 5.1.1
Operating System: Arch Linux 
KDE Plasma Version: 5.14.5
Qt Version: 5.12.0
KDE Frameworks Version: 5.54.0
Kernel Version: 4.20.6-arch1-1-ARCH
OS Type: 64-bit
Processors: 4 × Intel® Core™ i5-4300M CPU @ 2.60GHz
Memory: 15.6 GiB of RAM

ADDITIONAL INFORMATION

The upnp plugin fails silently. It does not open the port, and also not show any warnings within the gui.
The following is shown within the stdout log:

[code]
Tue Feb 5 15:39:33 2019: Detected IGD Debian/wheezy UPnP/1.1 MiniUPnPd/2.0
Tue Feb 5 15:39:33 2019: Downloading XML file http://192.168.3.254:46147/rootDesc.xml
Tue Feb 5 15:39:33 2019: Doing port mappings for Debian/wheezy UPnP/1.1 MiniUPnPd/2.0
Tue Feb 5 15:39:33 2019: Forwarding port 6881 (UDP)
Tue Feb 5 15:39:33 2019: Forwarding port 7881 (UDP)
Tue Feb 5 15:39:33 2019: Forwarding port 8881 (UDP)
Tue Feb 5 15:39:33 2019: UPnP: GetExternalIP failed: invalid reply
[/code]

And a wireshark capture: https://drive.google.com/open?id=1bYY3V6boVy1zpZfakVpixiozlkdWVkGi

Opening these ports using upnpc works just fine.
Comment 1 Andrius Štikonas 2021-08-15 19:32:04 UTC
Git commit a3f8f3762103ed56635b491781e19bfc56b7adde by Andrius Štikonas, on behalf of Yaroslav Kurlaev.
Committed on 15/08/2021 at 19:31.
Pushed by stikonas into branch 'master'.

Fix upnp closing connection

* call start() after HTTPRequest creation
* connect replyFinished to QNetworkReply::finished instead of QNetworkAccessManager::finished

M  +4    -3    src/upnp/httprequest.cpp
M  +2    -1    src/upnp/httprequest.h
M  +1    -0    src/upnp/upnprouter.cpp

https://invent.kde.org/network/libktorrent/commit/a3f8f3762103ed56635b491781e19bfc56b7adde