diff options
Diffstat (limited to 'dnsstub/dns_sortip.c')
-rw-r--r-- | dnsstub/dns_sortip.c | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/dnsstub/dns_sortip.c b/dnsstub/dns_sortip.c deleted file mode 100644 index 56742e0..0000000 --- a/dnsstub/dns_sortip.c +++ /dev/null @@ -1,45 +0,0 @@ -#include "byte.h" -#include "ip.h" -#include "dnsresolv.h" - -/** - @file dns_sortip.c - @authors djb, fefe, feh - @source ucspi-tcp6 - @brief random sort of DNS servers per IP -*/ - -/* XXX: sort servers by configurable notion of closeness? */ -/* XXX: pay attention to competence of each server? */ -/* XXX: pay attention to qualification (DNSSec, DNSCurve) of each server? */ -/* YYY: we use a randomly sorted list of NS; not depending on answer */ - -void dns_sortip4(char *s,unsigned int n) -{ - unsigned int i; - char tmp[4]; - - n >>= 2; /* 4 byte per IPv4 address */ - while (n > 1) { - i = dns_random(n); - --n; - byte_copy(tmp,4,s + (i << 2)); - byte_copy(s + (i << 2),4,s + (n << 2)); - byte_copy(s + (n << 2),4,tmp); - } -} - -void dns_sortip6(char *s,unsigned int n) -{ - unsigned int i; - char tmp[16]; - - n >>= 4; /* 16 byte per IPv4 address */ - while (n > 1) { - i = dns_random(n); - --n; - byte_copy(tmp,16,s + (i << 4)); - byte_copy(s + (i << 4),16,s + (n << 4)); - byte_copy(s + (n << 4),16,tmp); - } -} |