From: Philipp Tölke Date: Wed, 17 Nov 2010 08:55:35 +0000 (+0000) Subject: new Struct (it will be saved to the hashmap) X-Git-Tag: initial-import-from-subversion-38251~19706 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=923eaac23b3e718df6bd9520e786c597033f351d;p=oweals%2Fgnunet.git new Struct (it will be saved to the hashmap) --- 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;