Download | Plain Text | Line Numbers


--- dnscache.c	2011-06-03 00:54:35.000000000 +0200
+++ dnscache.c	2011-06-03 00:53:33.000000000 +0200
@@ -445,6 +445,10 @@
   if (!ip6_scan(x,myipincoming))
     strerr_die3x(111,FATAL,"unable to parse IP address ",x);
 
+  unsigned long port = 53;
+  x = env_get("PORT");
+  if (x) scan_ulong(x,&port);
+
 #if 0
   /* if if IP is a mapped-IPv4 address, disable IPv6 functionality */
   /* this is actually a bad idea */
@@ -455,13 +459,13 @@
   udp53 = socket_udp6();
   if (udp53 == -1)
     strerr_die2sys(111,FATAL,"unable to create UDP socket: ");
-  if (socket_bind6_reuse(udp53,myipincoming,53,interface) == -1)
+  if (socket_bind6_reuse(udp53,myipincoming,port,interface) == -1)
     strerr_die2sys(111,FATAL,"unable to bind UDP socket: ");
 
   tcp53 = socket_tcp6();
   if (tcp53 == -1)
     strerr_die2sys(111,FATAL,"unable to create TCP socket: ");
-  if (socket_bind6_reuse(tcp53,myipincoming,53,interface) == -1)
+  if (socket_bind6_reuse(tcp53,myipincoming,port,interface) == -1)
     strerr_die2sys(111,FATAL,"unable to bind TCP socket: ");
 
   droproot(FATAL);