aparcar / openwrt

Staging tree of Paul Spooren
Other
8 stars 1 forks source link

FS#486 - miniupnpd - Patch to enable IGDv2 added at package update on 2017/01/09 breaks Xbox One UPnP #504

Closed aparcar closed 7 years ago

aparcar commented 7 years ago

OperatorOverload:

A patch was added to MiniUPNPd when it was updated on 2017-01-09 to enable IGDv2 in the MiniUPNPd daemon, the patch file name is miniupnpd/patches/106-enable_igdv2.patch. This has been tested on WRT1900AC, DLink DIR-835, and Netgear WNDR4300.

The use of IGDv2 breaks compatibility with client devices that are specifically looking for the v1 version number, even though the new schema is backwards compatible. One such device I've identified is an Xbox One, and it completely breaks UPnP functionality on that device.

The current build of MiniUPNPd still defaults to IGDv1, with general discussion amongst its developers indicating that they don't want to change over because of awareness of various backwards compatibility issues. I'm not yet aware of any devices the require v2. I'm working towards trying to get this part of the run-time config rather than being a build option, but for now, it has to be determined at build. I don't think changing this away from the package default is reasonable at this point given the issues it creates. I think we should consider making this a configuration option within the build at a minimum, and defaulting it to off.

aparcar commented 7 years ago

None:

These don't even need to be patches - these options can be configured via CONFIG_OPTIONS passed to Makefile.linux from the Openwrt/LEDE package Makefile e.g.

    LIBS="" \
    CC="$(TARGET_CC) -DIPTABLES_143 \
            -lip4tc $(if $(CONFIG_IPV6),-lip6tc) -luuid" \
   CONFIG_OPTIONS="--portinuse $(if $(CONFIG_IPV6),--ipv6) --leasefile" \
    -f Makefile.linux \
    miniupnpd

And that opens up an easier way of configuring via menuconfig on build.