Re: portmap -h 127.0.0.1 vs. 4.8-stable

From: Andreas Braukmann <braukmann(at)tse-online.de>
Date: Wed, 13 Aug 2003 13:19:04 +0200

Moin,

Am Mittwoch, 13.08.03, um 11:36 Uhr (Europe/Berlin) schrieb Namenloser:

> Andreas Braukmann wrote:
>
>> | helium:[~] # portmap -d -v -h 127.0.0.1
>> | portmap[83922]: cannot bind udp: Address already in use

>> Hat jemand schon aehnliches beobachtet? Irgendwelche Tipps,
>> Hinweise? Hat die Hitze etwa mein Gehirn zu sehr geschmort?
>
> Ja. Mit 4.7 sehe ich das auch auf einer multihomed Maschine.
> Das Verhalten ist hier (4.7) sogar dokumentiert:

argggh. Ja. Da meint man, die Manpages fast auswendig zu kennen
und dann so was. :-/
Das spannende ist nun aber, dass mein System vorher auf dem Stand
von Januar 2003 war und das -h 127.0.0.1 funktioniert haben muss
(denn sonst haette mein loopback-only portmapper ja schon vorher
nicht funktioniert ..., hat er aber ;-))

Wenn man sich aber anschaut wie alt der zugehoerige PR (s.u.)
schon ist, passt das irgendwie nicht zusammen. Naja, mit der
nun bekannten Ursache des Problems gibt es auch zwei moegliche
Workarounds fuer das Problem: a) man verpasst dem loopback-if
eine zweite IP-Adresse und verwendet diese fuer die -h-Option
und b) den Patch aus dem PR.

> So wie ich das sehe passiert es im Falle von '-h 127.0.0.1', dass der
> bind() auf '127.0.0.1' _zwei_ Mal hintereinander versucht wird und der
> zweite Versuch schief geht.

So ist es. Und es gibt sogar einen PR (45659) dazu:
http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/45659

> »src/usr.sbin/portmap/portmap.c,v 1.10.2.3 2002/05/06 18:18:21«
> bestaetigt das auch. Weshalb das so geloest worden ist und was der
> Zweck hiervon sein soll kann ich dir allerdings nicht verraten.

IMHO ist das ein klarer Bug.

-Andreas

To Unsubscribe: send mail to majordomo.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 13 Aug 2003 - 13:19:59 CEST

search this site