new Struct (it will be saved to the hashmap)
authorPhilipp Tölke <toelke@in.tum.de>
Wed, 17 Nov 2010 08:55:35 +0000 (08:55 +0000)
committerPhilipp Tölke <toelke@in.tum.de>
Wed, 17 Nov 2010 08:55:35 +0000 (08:55 +0000)
src/vpn/gnunet-daemon-vpn.c
src/vpn/gnunet-service-dns-p.h
src/vpn/gnunet-service-dns.c

index c92508a788d91a40225a88c467bf662a0fb596aa..3ec02ee3cc7f36597511bfb008d2b3f5075875bc 100644 (file)
@@ -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);
 }
 /*}}}*/
 
index a8944fbae6894e5d59fe7c013d7cf012d9e2b07e..dd564f434dd8556b938418063d731762ab3f70a1 100644 (file)
@@ -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. */
index 3fd4db5347295dbc1360dd9b65c7f801c8af0fb6..7d9826547c546489d34ec286a5b8279fb35643b7 100644 (file)
@@ -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;