diff options
author | Philipp Tölke <toelke@in.tum.de> | 2010-11-17 08:55:35 +0000 |
---|---|---|
committer | Philipp Tölke <toelke@in.tum.de> | 2010-11-17 08:55:35 +0000 |
commit | 923eaac23b3e718df6bd9520e786c597033f351d (patch) | |
tree | 89350947c6da277bba4198204a59009264fee17d /src | |
parent | c067a0511a17c0aae8f978f45d6160f480655028 (diff) | |
download | gnunet-923eaac23b3e718df6bd9520e786c597033f351d.tar.gz gnunet-923eaac23b3e718df6bd9520e786c597033f351d.zip |
new Struct (it will be saved to the hashmap)
Diffstat (limited to 'src')
-rw-r--r-- | src/vpn/gnunet-daemon-vpn.c | 4 | ||||
-rw-r--r-- | src/vpn/gnunet-service-dns-p.h | 12 | ||||
-rw-r--r-- | src/vpn/gnunet-service-dns.c | 10 |
3 files changed, 15 insertions, 11 deletions
diff --git a/src/vpn/gnunet-daemon-vpn.c b/src/vpn/gnunet-daemon-vpn.c index c92508a78..3ec02ee3c 100644 --- a/src/vpn/gnunet-daemon-vpn.c +++ b/src/vpn/gnunet-daemon-vpn.c | |||
@@ -501,8 +501,8 @@ connect_to_service_dns (void *cls, | |||
501 | void | 501 | void |
502 | new_ip6addr(char* buf, struct answer_packet* pkt) { | 502 | new_ip6addr(char* buf, struct answer_packet* pkt) { |
503 | memcpy(buf, (int[]){htons(0x1234)}, 2); | 503 | memcpy(buf, (int[]){htons(0x1234)}, 2); |
504 | memcpy(buf+2, &pkt->service_descriptor, 6); | 504 | memcpy(buf+2, &pkt->service_descr.service_descriptor, 6); |
505 | memcpy(buf+8, &pkt->peer, 8); | 505 | memcpy(buf+8, &pkt->service_descr.peer, 8); |
506 | } | 506 | } |
507 | /*}}}*/ | 507 | /*}}}*/ |
508 | 508 | ||
diff --git a/src/vpn/gnunet-service-dns-p.h b/src/vpn/gnunet-service-dns-p.h index a8944fbae..dd564f434 100644 --- a/src/vpn/gnunet-service-dns-p.h +++ b/src/vpn/gnunet-service-dns-p.h | |||
@@ -47,6 +47,13 @@ enum GNUNET_DNS_ANSWER_Subtype { | |||
47 | GNUNET_DNS_ANSWER_TYPE_REV | 47 | GNUNET_DNS_ANSWER_TYPE_REV |
48 | }; | 48 | }; |
49 | 49 | ||
50 | struct GNUNET_vpn_service_descriptor { | ||
51 | GNUNET_HashCode peer GNUNET_PACKED; | ||
52 | GNUNET_HashCode service_descriptor GNUNET_PACKED; | ||
53 | uint64_t ports GNUNET_PACKED; | ||
54 | uint32_t service_type GNUNET_PACKED; | ||
55 | }; | ||
56 | |||
50 | struct answer_packet { | 57 | struct answer_packet { |
51 | struct GNUNET_MessageHeader hdr; | 58 | struct GNUNET_MessageHeader hdr; |
52 | enum GNUNET_DNS_ANSWER_Subtype subtype GNUNET_PACKED; | 59 | enum GNUNET_DNS_ANSWER_Subtype subtype GNUNET_PACKED; |
@@ -56,10 +63,7 @@ struct answer_packet { | |||
56 | unsigned dst_port:16 GNUNET_PACKED; | 63 | unsigned dst_port:16 GNUNET_PACKED; |
57 | 64 | ||
58 | /* Only sensible when subtype == GNUNET_DNS_ANSWER_TYPE_SERVICE */ | 65 | /* Only sensible when subtype == GNUNET_DNS_ANSWER_TYPE_SERVICE */ |
59 | GNUNET_HashCode peer; | 66 | struct GNUNET_vpn_service_descriptor service_descr; |
60 | GNUNET_HashCode service_descriptor; | ||
61 | uint64_t ports; | ||
62 | uint32_t service_type; | ||
63 | 67 | ||
64 | /* The offsett in octets from the beginning of the struct to the field | 68 | /* The offsett in octets from the beginning of the struct to the field |
65 | * in data where the IP-Address has to go. */ | 69 | * in data where the IP-Address has to go. */ |
diff --git a/src/vpn/gnunet-service-dns.c b/src/vpn/gnunet-service-dns.c index 3fd4db534..7d9826547 100644 --- a/src/vpn/gnunet-service-dns.c +++ b/src/vpn/gnunet-service-dns.c | |||
@@ -283,15 +283,15 @@ receive_dht(void *cls, | |||
283 | 283 | ||
284 | GNUNET_CRYPTO_hash(&rec->peer, | 284 | GNUNET_CRYPTO_hash(&rec->peer, |
285 | sizeof(struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), | 285 | sizeof(struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), |
286 | &answer->pkt.peer); | 286 | &answer->pkt.service_descr.peer); |
287 | 287 | ||
288 | memcpy(&answer->pkt.service_descriptor, | 288 | memcpy(&answer->pkt.service_descr.service_descriptor, |
289 | &rec->service_descriptor, | 289 | &rec->service_descriptor, |
290 | sizeof(GNUNET_HashCode)); | 290 | sizeof(GNUNET_HashCode)); |
291 | memcpy(&answer->pkt.service_type, | 291 | memcpy(&answer->pkt.service_descr.service_type, |
292 | &rec->service_type, | 292 | &rec->service_type, |
293 | sizeof(answer->pkt.service_type)); | 293 | sizeof(answer->pkt.service_descr.service_type)); |
294 | memcpy(&answer->pkt.ports, &rec->ports, sizeof(answer->pkt.ports)); | 294 | memcpy(&answer->pkt.service_descr.ports, &rec->ports, sizeof(answer->pkt.service_descr.ports)); |
295 | 295 | ||
296 | answer->pkt.from = query_states[id].remote_ip; | 296 | answer->pkt.from = query_states[id].remote_ip; |
297 | 297 | ||