diff -acrN djbdns-1.05/dnscache.c djbdns-1.05-nosortip/dnscache.c
*** djbdns-1.05/dnscache.c	Mon Feb 12 06:11:45 2001
--- djbdns-1.05-nosortip/dnscache.c	Sat Sep  8 10:16:06 2001
***************
*** 435,440 ****
--- 435,442 ----
      response_hidettl();
    if (env_get("FORWARDONLY"))
      query_forwardonly();
+   if (env_get("NOSORTIP"))
+     query_nosortip();
  
    if (!roots_init())
      strerr_die2sys(111,FATAL,"unable to read servers: ");
diff -acrN djbdns-1.05/query.c djbdns-1.05-pl1/query.c
*** djbdns-1.05/query.c	Mon Feb 12 06:11:45 2001
--- djbdns-1.05-pl1/query.c	Sat Sep  8 10:19:57 2001
***************
*** 14,25 ****
--- 14,31 ----
  #include "query.h"
  
  static int flagforwardonly = 0;
+ static int flagnosortip = 0;
  
  void query_forwardonly(void)
  {
    flagforwardonly = 1;
  }
  
+ void query_nosortip(void)
+ {
+   flagnosortip = 1;
+ }
+ 
  static void cachegeneric(const char type[2],const char *d,const char *data,unsigned int datalen,uint32 ttl)
  {
    unsigned int len;
***************
*** 428,434 ****
        break;
    if (j == 64) goto SERVFAIL;
  
!   dns_sortip(z->servers[z->level],64);
    if (z->level) {
      log_tx(z->name[z->level],DNS_T_A,z->control[z->level],z->servers[z->level],z->level);
      if (dns_transmit_start(&z->dt,z->servers[z->level],flagforwardonly,z->name[z->level],DNS_T_A,z->localip) == -1) goto DIE;
--- 434,444 ----
        break;
    if (j == 64) goto SERVFAIL;
  
! 
!   /* patched for NOSORTIP */
!   if (!flagforwardonly || !flagnosortip)
!     dns_sortip(z->servers[z->level],64);
! 
    if (z->level) {
      log_tx(z->name[z->level],DNS_T_A,z->control[z->level],z->servers[z->level],z->level);
      if (dns_transmit_start(&z->dt,z->servers[z->level],flagforwardonly,z->name[z->level],DNS_T_A,z->localip) == -1) goto DIE;
diff -acrN djbdns-1.05/query.h djbdns-1.05-pl1/query.h
*** djbdns-1.05/query.h	Mon Feb 12 06:11:45 2001
--- djbdns-1.05-pl1/query.h	Sat Sep  8 10:16:34 2001
***************
*** 28,32 ****
--- 28,33 ----
  extern int query_get(struct query *,iopause_fd *,struct taia *);
  
  extern void query_forwardonly(void);
+ extern void query_nosortip(void);
  
  #endif
