<p dir="ltr">Yawning's mail below reminds me: I am considering removing the C implementation of tor-fw-helper from the tor distribution, and recommending Yawning's pure-Go implementation instead.  But before I do this, I'd like to get some sense of whether folks are shipping tor-fw-helper today, or using it in practice.</p>
<p dir="ltr">On Jul 21, 2015 11:26 AM, "Yawning Angel" <<a href="mailto:yawning@schwanenlied.me">yawning@schwanenlied.me</a>> wrote:<br>
><br>
> On Wed, 22 Jul 2015 01:06:41 +1000<br>
> teor <<a href="mailto:teor2345@gmail.com">teor2345@gmail.com</a>> wrote:<br>
><br>
> ><br>
> > > On 20 Jul 2015, at 11:11 , Serg <<a href="mailto:std.serg@gmail.com">std.serg@gmail.com</a>> wrote:<br>
> > ><br>
> > >> How do you plan to map ports on NAT devices?<br>
> > ><br>
> > > If it can't be done automatically using UPnP, This must be done<br>
> > > manually. No alternative cases.<br>
> ><br>
> > Our experience is that most routers' UPnP / NAT-PMP implementations<br>
> > don't work well with (our) automated tools. So this would have to be<br>
> > done manually, significantly reducing the pool of available<br>
> > volunteers.<br>
><br>
> Just chiming in here.  This may well work for a good number of users,<br>
> but the support overhead for when it fails is utterly gigantic because<br>
> certain brands of consumer routers have extremely poor UPnP/NAT-PMP<br>
> implementations.<br>
><br>
> The usual symptom of a poor implementation is "the router crashes" but<br>
> certain other behaviors have been documented in the past by people<br>
> trying to use UPnP in ways that are spec compliant such as "the router<br>
> crashes and requires a NVRAM reset", "random port mappings get<br>
> obliterated", "the UPnP/NAT-PMP stack on the router crashes" etc.</p>
<p dir="ltr">I wonder how commercial software handles these cruddy routers.  Do they restrict themselves to a tiny part of the spec? Do they probe for problematic firmware, and maintain a list of unreliable versions?</p>
<p dir="ltr">[I am very glad it is not our job to maintain such a list.]</p>
<p dir="ltr">-- <br>
Nick </p>