diff options
author | John Denker <jsd@av8n.com> | 2012-06-01 23:07:51 -0700 |
---|---|---|
committer | John Denker <jsd@av8n.com> | 2012-06-02 17:30:23 -0700 |
commit | 0d0f7a0e7c32842edff533246a1f8523306f9ab0 (patch) | |
tree | 43dbb2fffaa8d490731969f39f5d20832523bd5d /ucspi-tcp-0.88/dns_sortip.c | |
parent | 94c58d7f8cabd9b1ff4c33c57a6ff76cdf3f955e (diff) |
as downloaded : ucspi-tcp
Diffstat (limited to 'ucspi-tcp-0.88/dns_sortip.c')
-rw-r--r-- | ucspi-tcp-0.88/dns_sortip.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/ucspi-tcp-0.88/dns_sortip.c b/ucspi-tcp-0.88/dns_sortip.c new file mode 100644 index 0000000..af9b235 --- /dev/null +++ b/ucspi-tcp-0.88/dns_sortip.c @@ -0,0 +1,20 @@ +#include "byte.h" +#include "dns.h" + +/* XXX: sort servers by configurable notion of closeness? */ +/* XXX: pay attention to competence of each server? */ + +void dns_sortip(char *s,unsigned int n) +{ + unsigned int i; + char tmp[4]; + + n >>= 2; + 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); + } +} |