use the temporary port, not always the global one over and over again
--- pdnsd-1.2.7.orig/src/dns_query.c	2008-09-01 15:56:51.000000000 +0200
+++ pdnsd-1.2.7/src/dns_query.c	2010-03-19 21:44:38.837858828 +0100
@@ -650,7 +650,7 @@ static int bind_socket(int s)
 				ELSE_IPV6 {
 					memset(&sin.sin6,0,sizeof(struct sockaddr_in6));
 					sin.sin6.sin6_family=AF_INET6;
-					sin.sin6.sin6_port=htons(global.port);
+					sin.sin6.sin6_port=htons(prt);
 					sin.sin6.sin6_flowinfo=IPV6_FLOWINFO;
 					SET_SOCKA_LEN6(sin.sin6);
 					sinl=sizeof(struct sockaddr_in6);
