Subject: pkg/26638: dns in qt3-libs doesn't work
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <lha@netbsd.org>
List: pkgsrc-bugs
Date: 08/13/2004 12:43:06
>Number:         26638
>Category:       pkg
>Synopsis:       dns in qt doesn't work
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Aug 13 10:44:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Love
>Release:        NetBSD 2.0G
>Organization:
	
>Environment:
	
	
System: NetBSD nutcracker.stacken.kth.se 2.0G NetBSD 2.0G (NUTCRACKER) #114: Wed Aug 4 16:05:01 CEST 2004 lha@nutcracker.stacken.kth.se:/usr/src/sys/arch/i386/compile/NUTCRACKER i386
Architecture: i386
Machine: i386
>Description:
	dns in qt3-libs doesn't work it uses old res api and that doesn't
	work for threaded programs
>How-To-Repeat:
	$ cd pkgsrc/chat/psi && make install && psi
	$ psi
	_res is not supported for multi-threaded programs.
	Abort trap
	$ gdb /usr/pkg/bin/psi psi.core 
	[....]
	#0  0x48dac49b in kill () from /usr/lib/libc.so.12
	(gdb) bt
	#0  0x48dac49b in kill () from /usr/lib/libc.so.12
	#1  0x48e27253 in abort () from /usr/lib/libc.so.12
	#2  0x48cf04e8 in __res_state () from /usr/lib/libpthread.so.0
	#3  0x48622ca6 in QDns::doResInit() () from /usr/pkg/qt3/lib/libqt-mt.so.3
	#4  0x4861effb in QDnsManager::QDnsManager() ()
	   from /usr/pkg/qt3/lib/libqt-mt.so.3
	[...]

>Fix:

--- src/network/qdns.cpp-dist	2004-08-13 12:37:52.000000000 +0200
+++ src/network/qdns.cpp	2004-08-13 12:37:56.000000000 +0200
@@ -2515,6 +2515,8 @@
 
 #if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 3)))
 #define Q_MODERN_RES_API
+#elif defined(res_ninit)
+#define Q_MODERN_RES_API
 #else
 #endif
 

>Release-Note:
>Audit-Trail:
>Unformatted: