aboutsummaryrefslogtreecommitdiff
path: root/src/transport
diff options
context:
space:
mode:
authort3sserakt <t3ss@posteo.de>2022-12-07 12:47:41 +0100
committert3sserakt <t3ss@posteo.de>2022-12-07 12:47:41 +0100
commitc3793434556c714ee34679ecf6d30de13e0d8758 (patch)
tree548c953ecf6b9e8ba8511830a6a1ddbd9afe8e46 /src/transport
parent34e1c58cb39a649c9a4c551681cedf19807b85f0 (diff)
parent6bebc94d2c7b6eac69b84fde39142d008a643d8d (diff)
downloadgnunet-c3793434556c714ee34679ecf6d30de13e0d8758.tar.gz
gnunet-c3793434556c714ee34679ecf6d30de13e0d8758.zip
Merge branch 'master' of ssh://git.gnunet.org/gnunet
Diffstat (limited to 'src/transport')
-rw-r--r--src/transport/Makefile.am1
-rw-r--r--src/transport/gnunet-communicator-tcp.c6
-rw-r--r--src/transport/gnunet-helper-transport-bluetooth.c3
-rw-r--r--src/transport/gnunet-helper-transport-wlan.c23
-rw-r--r--src/transport/gnunet-service-tng.c83
-rw-r--r--src/transport/plugin_transport_wlan.h2
-rwxr-xr-xsrc/transport/test_transport_simple_send_dv_inverse.sh9
-rw-r--r--src/transport/transport-testing-filenames.c1
-rw-r--r--src/transport/transport-testing-filenames2.c1
-rw-r--r--src/transport/transport-testing-loggers.c1
-rw-r--r--src/transport/transport-testing-loggers2.c1
-rw-r--r--src/transport/transport-testing-main.c1
-rw-r--r--src/transport/transport-testing-main2.c1
-rw-r--r--src/transport/transport-testing-send.c1
-rw-r--r--src/transport/transport-testing-send2.c1
-rw-r--r--src/transport/transport-testing.c1
-rw-r--r--src/transport/transport-testing2.c1
-rw-r--r--src/transport/transport.h2
18 files changed, 83 insertions, 56 deletions
diff --git a/src/transport/Makefile.am b/src/transport/Makefile.am
index f56ae1753..0059861c2 100644
--- a/src/transport/Makefile.am
+++ b/src/transport/Makefile.am
@@ -1515,6 +1515,7 @@ test_transport_simple_send.sh \
1515test_transport_simple_send_broadcast.sh \ 1515test_transport_simple_send_broadcast.sh \
1516test_transport_udp_backchannel.sh \ 1516test_transport_udp_backchannel.sh \
1517test_transport_simple_send_dv_circle.sh \ 1517test_transport_simple_send_dv_circle.sh \
1518test_transport_simple_send_dv_inverse.sh \
1518gnunet-transport-certificate-creation.in \ 1519gnunet-transport-certificate-creation.in \
1519communicator-unix.conf \ 1520communicator-unix.conf \
1520test_plugin_hostkey \ 1521test_plugin_hostkey \
diff --git a/src/transport/gnunet-communicator-tcp.c b/src/transport/gnunet-communicator-tcp.c
index a8dbed604..84aa45b9a 100644
--- a/src/transport/gnunet-communicator-tcp.c
+++ b/src/transport/gnunet-communicator-tcp.c
@@ -1448,7 +1448,7 @@ handshake_ack_monotime_cb (void *cls,
1448 * @param queue The queue context. 1448 * @param queue The queue context.
1449 */ 1449 */
1450static void 1450static void
1451send_challenge (struct GNUNET_CRYPTO_ChallengeNonceP challenge, 1451send_challenge (struct GNUNET_CRYPTO_ChallengeNonceP challenge,
1452 struct Queue *queue) 1452 struct Queue *queue)
1453{ 1453{
1454 struct TCPConfirmationAck tca; 1454 struct TCPConfirmationAck tca;
@@ -1914,10 +1914,10 @@ queue_read (void *cls)
1914 &queue->cread_buf[queue->cread_off], 1914 &queue->cread_buf[queue->cread_off],
1915 BUF_SIZE - queue->cread_off); 1915 BUF_SIZE - queue->cread_off);
1916 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 1916 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1917 "Received %lu bytes from TCP queue\n", rcvd); 1917 "Received %zd bytes from TCP queue\n", rcvd);
1918 GNUNET_log_from_nocheck (GNUNET_ERROR_TYPE_DEBUG, 1918 GNUNET_log_from_nocheck (GNUNET_ERROR_TYPE_DEBUG,
1919 "transport", 1919 "transport",
1920 "Received %lu bytes from TCP queue\n", rcvd); 1920 "Received %zd bytes from TCP queue\n", rcvd);
1921 if (-1 == rcvd) 1921 if (-1 == rcvd)
1922 { 1922 {
1923 if ((EAGAIN != errno) && (EINTR != errno)) 1923 if ((EAGAIN != errno) && (EINTR != errno))
diff --git a/src/transport/gnunet-helper-transport-bluetooth.c b/src/transport/gnunet-helper-transport-bluetooth.c
index 019f3914f..64f3b6160 100644
--- a/src/transport/gnunet-helper-transport-bluetooth.c
+++ b/src/transport/gnunet-helper-transport-bluetooth.c
@@ -19,7 +19,8 @@
19 19
20 SPDX-License-Identifier: AGPL3.0-or-later 20 SPDX-License-Identifier: AGPL3.0-or-later
21 */ 21 */
22#include "gnunet_config.h" 22#include "platform.h"
23#include "gnunet_private_config.h"
23 24
24#include <bluetooth/bluetooth.h> 25#include <bluetooth/bluetooth.h>
25#include <bluetooth/hci.h> 26#include <bluetooth/hci.h>
diff --git a/src/transport/gnunet-helper-transport-wlan.c b/src/transport/gnunet-helper-transport-wlan.c
index 72dd8b594..c1a230bef 100644
--- a/src/transport/gnunet-helper-transport-wlan.c
+++ b/src/transport/gnunet-helper-transport-wlan.c
@@ -109,30 +109,11 @@
109/* 109/*
110 * parts taken from aircrack-ng, parts changend. 110 * parts taken from aircrack-ng, parts changend.
111 */ 111 */
112#include "gnunet_config.h" 112#include "platform.h"
113#include <sys/socket.h> 113#include "gnunet_private_config.h"
114#include <sys/ioctl.h>
115#include <sys/types.h>
116#include <unistd.h>
117#include <sys/wait.h>
118#include <sys/time.h>
119#include <sys/stat.h>
120#include <netpacket/packet.h> 114#include <netpacket/packet.h>
121#include <linux/if_ether.h> 115#include <linux/if_ether.h>
122#include <linux/if.h>
123#include <linux/wireless.h> 116#include <linux/wireless.h>
124#include <netinet/in.h>
125#include <linux/if_tun.h>
126#include <stdio.h>
127#include <stdlib.h>
128#include <string.h>
129#include <stdarg.h>
130#include <fcntl.h>
131#include <errno.h>
132#include <dirent.h>
133#include <sys/param.h>
134#include <unistd.h>
135#include <stdint.h>
136 117
137#include "gnunet_protocols.h" 118#include "gnunet_protocols.h"
138#include "plugin_transport_wlan.h" 119#include "plugin_transport_wlan.h"
diff --git a/src/transport/gnunet-service-tng.c b/src/transport/gnunet-service-tng.c
index 512b77a9d..5a28efb66 100644
--- a/src/transport/gnunet-service-tng.c
+++ b/src/transport/gnunet-service-tng.c
@@ -4685,8 +4685,9 @@ dv_setup_key_state_from_km (const struct GNUNET_HashCode *km,
4685 * @param target the target peer to encrypt to 4685 * @param target the target peer to encrypt to
4686 * @param iv unique IV to use 4686 * @param iv unique IV to use
4687 * @param[out] key set to the key material 4687 * @param[out] key set to the key material
4688 * @return GNUNET_OK on success
4688 */ 4689 */
4689static void 4690static enum GNUNET_GenericReturnValue
4690dh_key_derive_eph_pid ( 4691dh_key_derive_eph_pid (
4691 const struct GNUNET_CRYPTO_EcdhePrivateKey *priv_ephemeral, 4692 const struct GNUNET_CRYPTO_EcdhePrivateKey *priv_ephemeral,
4692 const struct GNUNET_PeerIdentity *target, 4693 const struct GNUNET_PeerIdentity *target,
@@ -4695,10 +4696,14 @@ dh_key_derive_eph_pid (
4695{ 4696{
4696 struct GNUNET_HashCode km; 4697 struct GNUNET_HashCode km;
4697 4698
4698 GNUNET_assert (GNUNET_YES == GNUNET_CRYPTO_ecdh_eddsa (priv_ephemeral, 4699 if (GNUNET_YES != GNUNET_CRYPTO_ecdh_eddsa (priv_ephemeral,
4699 &target->public_key, 4700 &target->public_key,
4700 &km)); 4701 &km))
4702 return GNUNET_SYSERR;
4703 // FIXME: Possibly also add return values here. We are processing
4704 // Input from other peers...
4701 dv_setup_key_state_from_km (&km, iv, key); 4705 dv_setup_key_state_from_km (&km, iv, key);
4706 return GNUNET_OK;
4702} 4707}
4703 4708
4704 4709
@@ -4710,18 +4715,21 @@ dh_key_derive_eph_pid (
4710 * @param target the target peer to encrypt to 4715 * @param target the target peer to encrypt to
4711 * @param iv unique IV to use 4716 * @param iv unique IV to use
4712 * @param[out] key set to the key material 4717 * @param[out] key set to the key material
4718 * @return GNUNET_OK on success
4713 */ 4719 */
4714static void 4720static enum GNUNET_GenericReturnValue
4715dh_key_derive_eph_pub (const struct GNUNET_CRYPTO_EcdhePublicKey *pub_ephemeral, 4721dh_key_derive_eph_pub (const struct GNUNET_CRYPTO_EcdhePublicKey *pub_ephemeral,
4716 const struct GNUNET_ShortHashCode *iv, 4722 const struct GNUNET_ShortHashCode *iv,
4717 struct DVKeyState *key) 4723 struct DVKeyState *key)
4718{ 4724{
4719 struct GNUNET_HashCode km; 4725 struct GNUNET_HashCode km;
4720 4726
4721 GNUNET_assert (GNUNET_YES == GNUNET_CRYPTO_eddsa_ecdh (GST_my_private_key, 4727 if (GNUNET_YES != GNUNET_CRYPTO_eddsa_ecdh (GST_my_private_key,
4722 pub_ephemeral, 4728 pub_ephemeral,
4723 &km)); 4729 &km))
4730 return GNUNET_SYSERR;
4724 dv_setup_key_state_from_km (&km, iv, key); 4731 dv_setup_key_state_from_km (&km, iv, key);
4732 return GNUNET_OK;
4725} 4733}
4726 4734
4727 4735
@@ -4769,15 +4777,18 @@ dv_encrypt (struct DVKeyState *key, const void *in, void *dst, size_t in_size)
4769 * @param ciph cipher text to decrypt 4777 * @param ciph cipher text to decrypt
4770 * @param[out] out output data to generate (plaintext) 4778 * @param[out] out output data to generate (plaintext)
4771 * @param out_size number of bytes of input in @a ciph and available in @a out 4779 * @param out_size number of bytes of input in @a ciph and available in @a out
4780 * @return GNUNET_OK on success
4772 */ 4781 */
4773static void 4782static enum GNUNET_GenericReturnValue
4774dv_decrypt (struct DVKeyState *key, 4783dv_decrypt (struct DVKeyState *key,
4775 void *out, 4784 void *out,
4776 const void *ciph, 4785 const void *ciph,
4777 size_t out_size) 4786 size_t out_size)
4778{ 4787{
4779 GNUNET_assert ( 4788 return (0 ==
4780 0 == gcry_cipher_decrypt (key->cipher, out, out_size, ciph, out_size)); 4789 gcry_cipher_decrypt (key->cipher,
4790 out, out_size,
4791 ciph, out_size)) ? GNUNET_OK : GNUNET_SYSERR;
4781} 4792}
4782 4793
4783 4794
@@ -4837,8 +4848,6 @@ encapsulate_for_dv (struct DistanceVector *dv,
4837 struct TransportDVBoxPayloadP payload_hdr; 4848 struct TransportDVBoxPayloadP payload_hdr;
4838 uint16_t enc_body_size = ntohs (hdr->size); 4849 uint16_t enc_body_size = ntohs (hdr->size);
4839 char enc[sizeof(struct TransportDVBoxPayloadP) + enc_body_size] GNUNET_ALIGN; 4850 char enc[sizeof(struct TransportDVBoxPayloadP) + enc_body_size] GNUNET_ALIGN;
4840 struct TransportDVBoxPayloadP *enc_payload_hdr =
4841 (struct TransportDVBoxPayloadP *) enc;
4842 struct DVKeyState *key; 4851 struct DVKeyState *key;
4843 struct GNUNET_TIME_Relative rtt; 4852 struct GNUNET_TIME_Relative rtt;
4844 4853
@@ -4854,10 +4863,14 @@ encapsulate_for_dv (struct DistanceVector *dv,
4854 GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_NONCE, 4863 GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_NONCE,
4855 &box_hdr.iv, 4864 &box_hdr.iv,
4856 sizeof(box_hdr.iv)); 4865 sizeof(box_hdr.iv));
4857 dh_key_derive_eph_pid (&dv->private_key, &dv->target, &box_hdr.iv, key); 4866 // We are creating this key, so this must work.
4867 GNUNET_assert (GNUNET_OK ==
4868 dh_key_derive_eph_pid (&dv->private_key,
4869 &dv->target,
4870 &box_hdr.iv, key));
4858 payload_hdr.sender = GST_my_identity; 4871 payload_hdr.sender = GST_my_identity;
4859 payload_hdr.monotonic_time = GNUNET_TIME_absolute_hton (dv->monotime); 4872 payload_hdr.monotonic_time = GNUNET_TIME_absolute_hton (dv->monotime);
4860 dv_encrypt (key, &payload_hdr, enc_payload_hdr, sizeof(payload_hdr)); 4873 dv_encrypt (key, &payload_hdr, enc, sizeof(payload_hdr));
4861 dv_encrypt (key, 4874 dv_encrypt (key,
4862 hdr, 4875 hdr,
4863 &enc[sizeof(struct TransportDVBoxPayloadP)], 4876 &enc[sizeof(struct TransportDVBoxPayloadP)],
@@ -8153,13 +8166,11 @@ handle_dv_box (void *cls, const struct TransportDVBoxMessage *dvb)
8153 const char *enc_payload = (const char *) &hops[num_hops]; 8166 const char *enc_payload = (const char *) &hops[num_hops];
8154 uint16_t enc_payload_size = 8167 uint16_t enc_payload_size =
8155 size - (num_hops * sizeof(struct GNUNET_PeerIdentity)); 8168 size - (num_hops * sizeof(struct GNUNET_PeerIdentity));
8156 struct DVKeyState *key; 8169 struct DVKeyState key;
8157 struct GNUNET_HashCode hmac; 8170 struct GNUNET_HashCode hmac;
8158 const char *hdr; 8171 const char *hdr;
8159 size_t hdr_len; 8172 size_t hdr_len;
8160 8173
8161 key = GNUNET_new (struct DVKeyState);
8162
8163 if (GNUNET_EXTRA_LOGGING > 0) 8174 if (GNUNET_EXTRA_LOGGING > 0)
8164 { 8175 {
8165 char *path; 8176 char *path;
@@ -8234,13 +8245,20 @@ handle_dv_box (void *cls, const struct TransportDVBoxMessage *dvb)
8234 GNUNET_NO); 8245 GNUNET_NO);
8235 cmc->total_hops = ntohs (dvb->total_hops); 8246 cmc->total_hops = ntohs (dvb->total_hops);
8236 8247
8237 dh_key_derive_eph_pub (&dvb->ephemeral_key, &dvb->iv, key); 8248 // DH key derivation with received DV, could be garbage.
8249 if (GNUNET_OK !=
8250 dh_key_derive_eph_pub (&dvb->ephemeral_key, &dvb->iv, &key))
8251 {
8252 GNUNET_break_op (0);
8253 finish_cmc_handling (cmc);
8254 return;
8255 }
8238 hdr = (const char *) &dvb[1]; 8256 hdr = (const char *) &dvb[1];
8239 hdr_len = ntohs (dvb->orig_size) - sizeof(*dvb) - sizeof(struct 8257 hdr_len = ntohs (dvb->orig_size) - sizeof(*dvb) - sizeof(struct
8240 GNUNET_PeerIdentity) 8258 GNUNET_PeerIdentity)
8241 * ntohs (dvb->total_hops); 8259 * ntohs (dvb->total_hops);
8242 8260
8243 dv_hmac (key, &hmac, hdr, hdr_len); 8261 dv_hmac (&key, &hmac, hdr, hdr_len);
8244 if (0 != GNUNET_memcmp (&hmac, &dvb->hmac)) 8262 if (0 != GNUNET_memcmp (&hmac, &dvb->hmac))
8245 { 8263 {
8246 /* HMAC mismatch, discard! */ 8264 /* HMAC mismatch, discard! */
@@ -8254,14 +8272,29 @@ handle_dv_box (void *cls, const struct TransportDVBoxMessage *dvb)
8254 struct GNUNET_TIME_Absolute monotime; 8272 struct GNUNET_TIME_Absolute monotime;
8255 struct TransportDVBoxPayloadP ppay; 8273 struct TransportDVBoxPayloadP ppay;
8256 char body[hdr_len - sizeof(ppay)] GNUNET_ALIGN; 8274 char body[hdr_len - sizeof(ppay)] GNUNET_ALIGN;
8257 const struct GNUNET_MessageHeader *mh = 8275 const struct GNUNET_MessageHeader *mh;
8258 (const struct GNUNET_MessageHeader *) body;
8259 8276
8260 GNUNET_assert (hdr_len >= 8277 GNUNET_assert (hdr_len >=
8261 sizeof(ppay) + sizeof(struct GNUNET_MessageHeader)); 8278 sizeof(ppay) + sizeof(struct GNUNET_MessageHeader));
8262 dv_decrypt (key, &ppay, hdr, sizeof(ppay)); 8279 if (GNUNET_OK != dv_decrypt (&key, &ppay, hdr, sizeof(ppay)))
8263 dv_decrypt (key, &body, &hdr[sizeof(ppay)], hdr_len - sizeof(ppay)); 8280 {
8264 dv_key_clean (key); 8281 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
8282 "Error decrypting DV payload header\n");
8283 GNUNET_break_op (0);
8284 finish_cmc_handling (cmc);
8285 return;
8286 }
8287 if (GNUNET_OK != dv_decrypt (&key, body,
8288 &hdr[sizeof(ppay)], hdr_len - sizeof(ppay)))
8289 {
8290 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
8291 "Error decrypting DV payload\n");
8292 GNUNET_break_op (0);
8293 finish_cmc_handling (cmc);
8294 return;
8295 }
8296 mh = (const struct GNUNET_MessageHeader *) body;
8297 dv_key_clean (&key);
8265 if (ntohs (mh->size) != sizeof(body)) 8298 if (ntohs (mh->size) != sizeof(body))
8266 { 8299 {
8267 GNUNET_break_op (0); 8300 GNUNET_break_op (0);
diff --git a/src/transport/plugin_transport_wlan.h b/src/transport/plugin_transport_wlan.h
index d175f9377..6cb11f648 100644
--- a/src/transport/plugin_transport_wlan.h
+++ b/src/transport/plugin_transport_wlan.h
@@ -26,7 +26,7 @@
26#ifndef PLUGIN_TRANSPORT_WLAN 26#ifndef PLUGIN_TRANSPORT_WLAN
27#define PLUGIN_TRANSPORT_WLAN 27#define PLUGIN_TRANSPORT_WLAN
28 28
29#include "gnunet_crypto_lib.h" 29#include "gnunet_util_lib.h"
30#include "gnunet_common.h" 30#include "gnunet_common.h"
31 31
32/** 32/**
diff --git a/src/transport/test_transport_simple_send_dv_inverse.sh b/src/transport/test_transport_simple_send_dv_inverse.sh
index eac437cba..6a89f7397 100755
--- a/src/transport/test_transport_simple_send_dv_inverse.sh
+++ b/src/transport/test_transport_simple_send_dv_inverse.sh
@@ -2,10 +2,11 @@
2if ! [ -d "/run/netns" ]; then 2if ! [ -d "/run/netns" ]; then
3 echo You have to create the directory /run/netns. 3 echo You have to create the directory /run/netns.
4fi 4fi
5if [ "$(cat /proc/sys/kernel/unprivileged_userns_clone)" == 1 ]; then 5if [ -f /proc/sys/kernel/unprivileged_userns_clone ]; then
6 # exec unshare -r -nmU bash -c "mount -t tmpfs --make-rshared tmpfs /run/netns; valgrind --leak-check=full --track-origins=yes --trace-children=yes --trace-children-skip=/usr/bin/awk,/usr/bin/cut,/usr/bin/seq,/sbin/ip/sed/bash ./test_transport_start_with_config test_transport_distance_vector_inverse_topo.conf" 6 if [ "$(cat /proc/sys/kernel/unprivileged_userns_clone)" == 1 ]; then
7 exec unshare -r -nmU bash -c "mount -t tmpfs --make-rshared tmpfs /run/netns; ./test_transport_start_with_config test_transport_distance_vector_inverse_topo.conf"
8else
9 echo -e "Error during test setup: The kernel parameter kernel.unprivileged_userns_clone has to be set to 1! One has to execute\n\n sysctl kernel.unprivileged_userns_clone=1\n" 7 echo -e "Error during test setup: The kernel parameter kernel.unprivileged_userns_clone has to be set to 1! One has to execute\n\n sysctl kernel.unprivileged_userns_clone=1\n"
10 exit 78 8 exit 78
9 fi
11fi 10fi
11# exec unshare -r -nmU bash -c "mount -t tmpfs --make-rshared tmpfs /run/netns; valgrind --leak-check=full --track-origins=yes --trace-children=yes --trace-children-skip=/usr/bin/awk,/usr/bin/cut,/usr/bin/seq,/sbin/ip/sed/bash ./test_transport_start_with_config test_transport_distance_vector_inverse_topo.conf"
12exec unshare -r -nmU bash -c "mount -t tmpfs --make-rshared tmpfs /run/netns; ./test_transport_start_with_config test_transport_distance_vector_inverse_topo.conf"
diff --git a/src/transport/transport-testing-filenames.c b/src/transport/transport-testing-filenames.c
index 70c1ee55a..ee7b0aacf 100644
--- a/src/transport/transport-testing-filenames.c
+++ b/src/transport/transport-testing-filenames.c
@@ -23,6 +23,7 @@
23 * @author Matthias Wachs 23 * @author Matthias Wachs
24 * @author Christian Grothoff 24 * @author Christian Grothoff
25 */ 25 */
26#include "platform.h"
26#include "transport-testing.h" 27#include "transport-testing.h"
27 28
28 29
diff --git a/src/transport/transport-testing-filenames2.c b/src/transport/transport-testing-filenames2.c
index 7d6fd529d..59fa1ebd5 100644
--- a/src/transport/transport-testing-filenames2.c
+++ b/src/transport/transport-testing-filenames2.c
@@ -23,6 +23,7 @@
23 * @author Matthias Wachs 23 * @author Matthias Wachs
24 * @author Christian Grothoff 24 * @author Christian Grothoff
25 */ 25 */
26#include "platform.h"
26#include "transport-testing2.h" 27#include "transport-testing2.h"
27 28
28 29
diff --git a/src/transport/transport-testing-loggers.c b/src/transport/transport-testing-loggers.c
index 330a392c6..21ed0592a 100644
--- a/src/transport/transport-testing-loggers.c
+++ b/src/transport/transport-testing-loggers.c
@@ -22,6 +22,7 @@
22 * @brief convenience functions for logging common events in tests 22 * @brief convenience functions for logging common events in tests
23 * @author Christian Grothoff 23 * @author Christian Grothoff
24 */ 24 */
25#include "platform.h"
25#include "transport-testing.h" 26#include "transport-testing.h"
26 27
27 28
diff --git a/src/transport/transport-testing-loggers2.c b/src/transport/transport-testing-loggers2.c
index ead4fa365..e6c79b78a 100644
--- a/src/transport/transport-testing-loggers2.c
+++ b/src/transport/transport-testing-loggers2.c
@@ -22,6 +22,7 @@
22 * @brief convenience functions for logging common events in tests 22 * @brief convenience functions for logging common events in tests
23 * @author Christian Grothoff 23 * @author Christian Grothoff
24 */ 24 */
25#include "platform.h"
25#include "transport-testing2.h" 26#include "transport-testing2.h"
26 27
27 28
diff --git a/src/transport/transport-testing-main.c b/src/transport/transport-testing-main.c
index 8d1727d77..63b91713c 100644
--- a/src/transport/transport-testing-main.c
+++ b/src/transport/transport-testing-main.c
@@ -22,6 +22,7 @@
22 * @brief convenience main function for tests 22 * @brief convenience main function for tests
23 * @author Christian Grothoff 23 * @author Christian Grothoff
24 */ 24 */
25#include "platform.h"
25#include "transport-testing.h" 26#include "transport-testing.h"
26 27
27 28
diff --git a/src/transport/transport-testing-main2.c b/src/transport/transport-testing-main2.c
index de0b7f4cd..0a1710922 100644
--- a/src/transport/transport-testing-main2.c
+++ b/src/transport/transport-testing-main2.c
@@ -22,6 +22,7 @@
22 * @brief convenience main function for tests 22 * @brief convenience main function for tests
23 * @author Christian Grothoff 23 * @author Christian Grothoff
24 */ 24 */
25#include "platform.h"
25#include "transport-testing2.h" 26#include "transport-testing2.h"
26 27
27 28
diff --git a/src/transport/transport-testing-send.c b/src/transport/transport-testing-send.c
index 38018c172..9b017c563 100644
--- a/src/transport/transport-testing-send.c
+++ b/src/transport/transport-testing-send.c
@@ -22,6 +22,7 @@
22 * @brief convenience transmission function for tests 22 * @brief convenience transmission function for tests
23 * @author Christian Grothoff 23 * @author Christian Grothoff
24 */ 24 */
25#include "platform.h"
25#include "transport-testing.h" 26#include "transport-testing.h"
26 27
27/** 28/**
diff --git a/src/transport/transport-testing-send2.c b/src/transport/transport-testing-send2.c
index bd2afb9b0..c48dc3a4a 100644
--- a/src/transport/transport-testing-send2.c
+++ b/src/transport/transport-testing-send2.c
@@ -22,6 +22,7 @@
22 * @brief convenience transmission function for tests 22 * @brief convenience transmission function for tests
23 * @author Christian Grothoff 23 * @author Christian Grothoff
24 */ 24 */
25#include "platform.h"
25#include "transport-testing2.h" 26#include "transport-testing2.h"
26 27
27/** 28/**
diff --git a/src/transport/transport-testing.c b/src/transport/transport-testing.c
index 00c4a08dd..baced62e3 100644
--- a/src/transport/transport-testing.c
+++ b/src/transport/transport-testing.c
@@ -23,6 +23,7 @@
23 * @author Matthias Wachs 23 * @author Matthias Wachs
24 * @author Christian Grothoff 24 * @author Christian Grothoff
25 */ 25 */
26#include "platform.h"
26#include "transport-testing.h" 27#include "transport-testing.h"
27 28
28 29
diff --git a/src/transport/transport-testing2.c b/src/transport/transport-testing2.c
index f0dee7388..566e0db71 100644
--- a/src/transport/transport-testing2.c
+++ b/src/transport/transport-testing2.c
@@ -23,6 +23,7 @@
23 * @author Matthias Wachs 23 * @author Matthias Wachs
24 * @author Christian Grothoff 24 * @author Christian Grothoff
25 */ 25 */
26#include "platform.h"
26#include "transport-testing2.h" 27#include "transport-testing2.h"
27 28
28 29
diff --git a/src/transport/transport.h b/src/transport/transport.h
index c06c2abb3..e060f81ba 100644
--- a/src/transport/transport.h
+++ b/src/transport/transport.h
@@ -26,7 +26,7 @@
26#ifndef TRANSPORT_H 26#ifndef TRANSPORT_H
27#define TRANSPORT_H 27#define TRANSPORT_H
28 28
29#include "gnunet_crypto_lib.h" 29#include "gnunet_util_lib.h"
30#include "gnunet_time_lib.h" 30#include "gnunet_time_lib.h"
31#include "gnunet_constants.h" 31#include "gnunet_constants.h"
32 32