From 923eaac23b3e718df6bd9520e786c597033f351d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Philipp=20T=C3=B6lke?= Date: Wed, 17 Nov 2010 08:55:35 +0000 Subject: [PATCH] new Struct (it will be saved to the hashmap) --- src/vpn/gnunet-daemon-vpn.c | 4 ++-- src/vpn/gnunet-service-dns-p.h | 12 ++++++++---- 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, void new_ip6addr(char* buf, struct answer_packet* pkt) { memcpy(buf, (int[]){htons(0x1234)}, 2); - memcpy(buf+2, &pkt->service_descriptor, 6); - memcpy(buf+8, &pkt->peer, 8); + memcpy(buf+2, &pkt->service_descr.service_descriptor, 6); + memcpy(buf+8, &pkt->service_descr.peer, 8); } /*}}}*/ 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 { GNUNET_DNS_ANSWER_TYPE_REV }; +struct GNUNET_vpn_service_descriptor { + GNUNET_HashCode peer GNUNET_PACKED; + GNUNET_HashCode service_descriptor GNUNET_PACKED; + uint64_t ports GNUNET_PACKED; + uint32_t service_type GNUNET_PACKED; +}; + struct answer_packet { struct GNUNET_MessageHeader hdr; enum GNUNET_DNS_ANSWER_Subtype subtype GNUNET_PACKED; @@ -56,10 +63,7 @@ struct answer_packet { unsigned dst_port:16 GNUNET_PACKED; /* Only sensible when subtype == GNUNET_DNS_ANSWER_TYPE_SERVICE */ - GNUNET_HashCode peer; - GNUNET_HashCode service_descriptor; - uint64_t ports; - uint32_t service_type; + struct GNUNET_vpn_service_descriptor service_descr; /* The offsett in octets from the beginning of the struct to the field * 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, GNUNET_CRYPTO_hash(&rec->peer, sizeof(struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), - &answer->pkt.peer); + &answer->pkt.service_descr.peer); - memcpy(&answer->pkt.service_descriptor, + memcpy(&answer->pkt.service_descr.service_descriptor, &rec->service_descriptor, sizeof(GNUNET_HashCode)); - memcpy(&answer->pkt.service_type, + memcpy(&answer->pkt.service_descr.service_type, &rec->service_type, - sizeof(answer->pkt.service_type)); - memcpy(&answer->pkt.ports, &rec->ports, sizeof(answer->pkt.ports)); + sizeof(answer->pkt.service_descr.service_type)); + memcpy(&answer->pkt.service_descr.ports, &rec->ports, sizeof(answer->pkt.service_descr.ports)); answer->pkt.from = query_states[id].remote_ip; -- 2.25.1