OpenSSH DNS resolution failure on IRIX 5.3: request to fix
Georg Schwarz
georg.schwarz at freenet.de
Sat Apr 22 05:29:36 EST 2006
Dear developers,
as reported earlier, recent versions of OpenSSH (4.3p1, 4.3p2 as well
as the current CVS) on IRIX 5.3 exhibit a DNS resolution failure.
Even for perfectly valid hostnames they return "no address associated
with name".
After some digging through the code I found what is causing this
strange behaviour. Basically it was introduced with the following
change:
revision 1.3954
date: 2005/11/05 05:56:52; author: djm; state: Exp; lines: +4 -1
- (djm) [openbsd-compat/getrrsetbyname.c] Sync to latest OpenBSD
version,
resolving memory leak bz#1111 reported by kremenek AT
cs.stanford.edu;
ok dtucker@
When I take out the line
struct __res_state _res;
things work. Also, the problem does not occur when compiling with gcc
(I used 3.4.4) instead of the SGI IDO cc.
I am not familiar enough with the implementation of the DNS
resolution libraries to really judge what is going on. It looks like
the global variable _res in openbsd-compat/getrrsetbyname overrides a
respective OS-supplied variable when compiling with the SGI IDO cc.
I hope that someone else can give a more thorough explanation of what
is going wrong. I must admit that I do not understand why _res is
defined at all in openbsd-compat/getrrsetbyname.c. It wasn't before
2005/11/05.
Now my next question of course is how to fix that problem. Is it
acceptable to simple comment out that line with something like this
(syntax not really correct)?
#if not irix5 or gcc
struct __res_state _res;
#endif
It also seems sufficient to change the line into
extern struct __res_state _res;
Feedback would be welcome. I'd appreciate if you could CC me on any
replies since I am not a member of this mailing list.
Georg
--
Georg Schwarz http://home.pages.de/~schwarz/
georg.schwarz at freenet.de +49 178 8545053
More information about the openssh-unix-dev
mailing list