From f2b17dfda58ca6b6ec0f2a64fab8a6c350b6a367 Mon Sep 17 00:00:00 2001 From: Erik Ekman Date: Mon, 5 Jun 2006 20:31:59 +0000 Subject: [PATCH] send final bit to server --- dns.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dns.c b/dns.c index 9536531..a0a4805 100644 --- a/dns.c +++ b/dns.c @@ -261,6 +261,7 @@ dns_write(int fd, int id, char *buf, int len) { int avail; int i; + int final; int parts; int p; char data[257]; @@ -276,8 +277,13 @@ dns_write(int fd, int id, char *buf, int len) avail -= (avail/CHUNK); // make space for parts avail = MIN(avail, len); // do not use more bytes than is available; + final = (avail == len); // is this the last block? d = data; + // First byte is 0 for middle packet and 1 for last packet + *d = '0' + final; + d++; + parts = avail / CHUNK; for (p = 0; p < parts; p++) { for (i = 0; i < CHUNK; i++) {