uClibc resolve.c limitations: gethostbyname Resolver Error on more than 20 hosts

Andrei Popov ceesaxp at gmail.com
Tue Feb 27 04:01:59 UTC 2007


Hi,

I am running OpenWRT firmware that uses BusyBox/uClibc on a
WRT54G WiFi router.  The router serves a WLAN, and is connected
via a leased line to ISP, then through a PPTP VPN to Internet.
ISP runs several VPN gateway servers, all are replying to a common
host name (vpn.corbina.net), but with different IP addresses in
195.14.38.x range.

Up until recently there were fewer than 20 servers in the VPN pool,
but a few days ago ISP has added several new servers to cope with the
load, pushing the total number of them to 23.  From that moment
uClibc's gethostbyname stopped resolving names to IP addresses and
returns an unkown resolver error:

$ ping vpn.corbina.net
ping: vpn.corbina.net: Resolver error

$ nslookup vpn.corbina.net
Server:         localhost
Address:        127.0.0.1

nslookup: vpn.corbina.net: Resolver error

At the same time, resolving any other host name works perfectly fine.

Can anyone suggest any sort of a work-around to this?  Also, this
seems like a desig limitation of resolve.c -- sort of like "who would
ever need more than 640K of memory!"



More information about the uClibc mailing list