Commit graph

7 commits

Author SHA1 Message Date
David Ehrmann
231e47185e
miniupnpd: suppress grep and uci errors
If miniupnpd is installed but disabled or not running, the hotplug
script will query uci for keys that don't exist and grep a temporary
config file that doesn't exist, resulting in the following errors:

uci: Entry not found
grep: /var/etc/miniupnd.conf: No such file or directory

These would arise when an interface is brought up or down, and are
more confusing than helpful, especially when miniupnpd is disabled.

Suppress these errors.

Signed-off-by: David Ehrmann <ehrmann@gmail.com>
(cherry picked from commit 6ef2b5400b)
2020-06-28 14:00:39 -07:00
Kevin Darbyshire-Bryant
5cb388497e
miniupnpd: improve hotplug & interface handling
The existing interface selection/detection code was incomprehensible at
worst and convoluted at best.  The uci config file suggested it
understood an external ipv6 interface but in reality the init script
took no notice.  Re-work it so it is at least comprehendible and takes
notice of ipv6 interface details if specified.

Update the hotplug script to use the same interface selection/detection
code as the init script and take note of ipv6 interface selection, only
restarting miniupnpd on interface up events and only if that interface
isn't already known (for that ip class) by miniupnpd.

For me this has solved numerous 'flaky' startup problems, especially
with regard to ipv6.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
(cherry picked from commit 295d77943c)
2020-06-28 14:00:24 -07:00
Kevin Darbyshire-Bryant
2e01dd8382
miniupnpd: make hotplug work again
hotplug scripts are sourced not exec'd so #!/bin/sh /etc/rc.common
doesn't pull in the functions defined in /etc/rc.common thus since
'enabled' isn't defined the following sequence always fails:

enabled miniupnpd || exit 0

Unfortunately sourcing /etc/rc.common doesn't appear to work so come up
with some alternatives.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2020-05-10 14:57:29 -07:00
Kevin Darbyshire-Bryant
83ff6c38f2
miniupnpd: fix sh syntax error
Add "use_stun" default to prevent sh: out of range error introduced by
c61614a84

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
(cherry picked from commit 0f1e7d32af)
2020-04-17 15:21:56 -07:00
Rosen Penev
1fe1c80d66
miniupnpd: convert to procd
Massive cleanup of the shell script. Many issues were fixed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry picked from commit c61614a849)
2020-04-17 15:21:35 -07:00
Kevin Darbyshire-Bryant
569ed29e63 miniupnpd: change leasefile location
Move default leasefile location from /var to /var/run.
Also rename from upnp.leases to miniupnpd.leases

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-05-09 20:02:29 +01:00
Kevin Darbyshire-Bryant
a2e2eeb409 miniupnpd: Import release 20180422 to repo
Import miniupnpd from routing repo and bump to 20180422.

Drop 102-ipv6-ext-port.patch as this looks upstreamed in the pinhole
code to me.
Consolidate all other patches & update with a view to sending upstream.

Add support for runtime IGDv1 mode switch (default to IGDv2)

(not extensively) Tested-on: ar71xx Archer C7 v2 in IGDv1 compatibility
mode.  A variety of devices/applications appear to be able to create
mappings.

Have an attempt at resolving https://github.com/openwrt-routing/packages/issues/286
TL;DR miniupnpd rules get processed before fw3 rules and thus can
override existing/intended redirects.  Ideally the miniupnpd rules would
be last in the relevant chains, unfortunately fw3 can sometimes use the
last rule as a REJECT.  Put miniupnpd rules as penultimate.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-05-04 09:03:56 +01:00