aboutsummaryrefslogtreecommitdiff
path: root/src/dns
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-01-04 12:36:43 +0000
committerChristian Grothoff <christian@grothoff.org>2012-01-04 12:36:43 +0000
commit9a1a436d0afdb2b6e4812c0417272fc1ef9f0cec (patch)
tree589d9590dc57dcde72e675848e9f50cc9e22ac2f /src/dns
parenta88b52ae2d2b3e1dadc32178edd3e540a92e3deb (diff)
downloadgnunet-9a1a436d0afdb2b6e4812c0417272fc1ef9f0cec.tar.gz
gnunet-9a1a436d0afdb2b6e4812c0417272fc1ef9f0cec.zip
-bugfixes
Diffstat (limited to 'src/dns')
-rw-r--r--src/dns/Makefile.am11
-rw-r--r--src/dns/dnsparser.c6
-rw-r--r--src/dns/gnunet-service-dns_new.c9
3 files changed, 19 insertions, 7 deletions
diff --git a/src/dns/Makefile.am b/src/dns/Makefile.am
index 674f4bf57..6322f2ca6 100644
--- a/src/dns/Makefile.am
+++ b/src/dns/Makefile.am
@@ -34,6 +34,9 @@ lib_LTLIBRARIES = \
34bin_PROGRAMS = \ 34bin_PROGRAMS = \
35 gnunet-service-dns gnunet-service-dns-new $(HIJACKBIN) 35 gnunet-service-dns gnunet-service-dns-new $(HIJACKBIN)
36 36
37noinst_PROGRAMS = \
38 gnunet-dns-monitor
39
37plugin_LTLIBRARIES = \ 40plugin_LTLIBRARIES = \
38 libgnunet_plugin_block_dns.la 41 libgnunet_plugin_block_dns.la
39 42
@@ -55,6 +58,14 @@ gnunet_service_dns_LDADD = \
55 $(top_builddir)/src/dns/libgnunetdnsparser.la \ 58 $(top_builddir)/src/dns/libgnunetdnsparser.la \
56 $(GN_LIBINTL) 59 $(GN_LIBINTL)
57 60
61gnunet_dns_monitor_SOURCES = \
62 gnunet-dns-monitor.c
63gnunet_dns_monitor_LDADD = \
64 $(top_builddir)/src/dns/libgnunetdnsparser.la \
65 $(top_builddir)/src/dns/libgnunetdnsnew.la \
66 $(top_builddir)/src/util/libgnunetutil.la \
67 $(GN_LIBINTL)
68
58gnunet_service_dns_new_SOURCES = \ 69gnunet_service_dns_new_SOURCES = \
59 gnunet-service-dns_new.c 70 gnunet-service-dns_new.c
60gnunet_service_dns_new_LDADD = \ 71gnunet_service_dns_new_LDADD = \
diff --git a/src/dns/dnsparser.c b/src/dns/dnsparser.c
index 2cd728f37..2a3fd55c0 100644
--- a/src/dns/dnsparser.c
+++ b/src/dns/dnsparser.c
@@ -82,7 +82,7 @@ parse_name (const char *udp_payload,
82 ret = GNUNET_strdup (""); 82 ret = GNUNET_strdup ("");
83 while (1) 83 while (1)
84 { 84 {
85 if (*off == udp_payload_length) 85 if (*off >= udp_payload_length)
86 goto error; 86 goto error;
87 len = input[*off]; 87 len = input[*off];
88 if (0 == len) 88 if (0 == len)
@@ -98,7 +98,7 @@ parse_name (const char *udp_payload,
98 &udp_payload[*off + 1]); 98 &udp_payload[*off + 1]);
99 GNUNET_free (ret); 99 GNUNET_free (ret);
100 ret = tmp; 100 ret = tmp;
101 off += 1 + len; 101 *off += 1 + len;
102 } 102 }
103 else if ((64 | 128) == (len & (64 | 128)) ) 103 else if ((64 | 128) == (len & (64 | 128)) )
104 { 104 {
@@ -116,7 +116,7 @@ parse_name (const char *udp_payload,
116 GNUNET_free (ret); 116 GNUNET_free (ret);
117 GNUNET_free (xstr); 117 GNUNET_free (xstr);
118 ret = tmp; 118 ret = tmp;
119 off += 2; 119 *off += 2;
120 /* pointers always terminate names */ 120 /* pointers always terminate names */
121 break; 121 break;
122 } 122 }
diff --git a/src/dns/gnunet-service-dns_new.c b/src/dns/gnunet-service-dns_new.c
index 8918039d1..bf2368faa 100644
--- a/src/dns/gnunet-service-dns_new.c
+++ b/src/dns/gnunet-service-dns_new.c
@@ -1049,10 +1049,11 @@ handle_client_response (void *cls GNUNET_UNUSED,
1049 rr->client_wait_list_length, 1049 rr->client_wait_list_length,
1050 0); 1050 0);
1051 } 1051 }
1052 next_phase (rr); 1052 break;
1053 GNUNET_SERVER_receive_done (client, GNUNET_OK); 1053 }
1054 return; 1054 next_phase (rr);
1055 } 1055 GNUNET_SERVER_receive_done (client, GNUNET_OK);
1056 return;
1056 } 1057 }
1057 /* odd, client was not on our list for the request, that ought 1058 /* odd, client was not on our list for the request, that ought
1058 to be an error */ 1059 to be an error */