diff options
author | Martin Schanzenbach <mschanzenbach@posteo.de> | 2012-03-19 12:20:30 +0000 |
---|---|---|
committer | Martin Schanzenbach <mschanzenbach@posteo.de> | 2012-03-19 12:20:30 +0000 |
commit | ab700c23613c8f1df85fe17134a93782d2bd42a2 (patch) | |
tree | 8afeeb73d4da9eba7898b02e0189c13af7fb7192 /src/gns/gnunet-service-gns_interceptor.c | |
parent | b3e1d0806fb274c62a5acf19c56369b71f992312 (diff) | |
download | gnunet-ab700c23613c8f1df85fe17134a93782d2bd42a2.tar.gz gnunet-ab700c23613c8f1df85fe17134a93782d2bd42a2.zip |
-fix mx records postprocessing
Diffstat (limited to 'src/gns/gnunet-service-gns_interceptor.c')
-rw-r--r-- | src/gns/gnunet-service-gns_interceptor.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/gns/gnunet-service-gns_interceptor.c b/src/gns/gnunet-service-gns_interceptor.c index 25cad7ead..4160893ad 100644 --- a/src/gns/gnunet-service-gns_interceptor.c +++ b/src/gns/gnunet-service-gns_interceptor.c | |||
@@ -114,8 +114,25 @@ reply_to_dns(void* cls, uint32_t rd_count, | |||
114 | { | 114 | { |
115 | answer_records[i].name = ilh->query->name; | 115 | answer_records[i].name = ilh->query->name; |
116 | answer_records[i].type = rd[i].record_type; | 116 | answer_records[i].type = rd[i].record_type; |
117 | answer_records[i].data.raw.data_len = rd[i].data_size; | 117 | switch(rd[i].record_type) |
118 | answer_records[i].data.raw.data = (char*)rd[i].data; | 118 | { |
119 | case GNUNET_GNS_RECORD_TYPE_NS: | ||
120 | case GNUNET_GNS_RECORD_TYPE_CNAME: | ||
121 | case GNUNET_GNS_RECORD_TYPE_PTR: | ||
122 | answer_records[i].data.hostname = (char*)rd[i].data; | ||
123 | break; | ||
124 | case GNUNET_GNS_RECORD_TYPE_SOA: | ||
125 | answer_records[i].data.soa = | ||
126 | (struct GNUNET_DNSPARSER_SoaRecord *)rd[i].data; | ||
127 | break; | ||
128 | case GNUNET_GNS_RECORD_MX: | ||
129 | answer_records[i].data.mx = | ||
130 | (struct GNUNET_DNSPARSER_MxRecord *)rd[i].data; | ||
131 | break; | ||
132 | default: | ||
133 | answer_records[i].data.raw.data_len = rd[i].data_size; | ||
134 | answer_records[i].data.raw.data = (char*)rd[i].data; | ||
135 | } | ||
119 | answer_records[i].expiration_time = rd[i].expiration; | 136 | answer_records[i].expiration_time = rd[i].expiration; |
120 | answer_records[i].class = GNUNET_DNSPARSER_CLASS_INTERNET;//hmmn | 137 | answer_records[i].class = GNUNET_DNSPARSER_CLASS_INTERNET;//hmmn |
121 | } | 138 | } |