aboutsummaryrefslogtreecommitdiff
path: root/src/transport
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2013-04-04 09:43:10 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2013-04-04 09:43:10 +0000
commitc303b97bd731aef372ec24ebe8b47ee014ada23b (patch)
treeaa287d7443434a9147cfb08fe0caa12e9c8de9e4 /src/transport
parented18131bd038617c03e0b3b83e3eb56c31dc3e4a (diff)
downloadgnunet-c303b97bd731aef372ec24ebe8b47ee014ada23b.tar.gz
gnunet-c303b97bd731aef372ec24ebe8b47ee014ada23b.zip
changes for mantis 0002676
Diffstat (limited to 'src/transport')
-rw-r--r--src/transport/gnunet-service-transport.c1
-rw-r--r--src/transport/gnunet-service-transport_clients.c2
-rw-r--r--src/transport/gnunet-service-transport_validation.c19
-rw-r--r--src/transport/plugin_transport_udp_broadcasting.c11
-rw-r--r--src/transport/plugin_transport_wlan.c1
-rw-r--r--src/transport/transport_api.c4
6 files changed, 15 insertions, 23 deletions
diff --git a/src/transport/gnunet-service-transport.c b/src/transport/gnunet-service-transport.c
index 63b2ced88..e0d3b3b23 100644
--- a/src/transport/gnunet-service-transport.c
+++ b/src/transport/gnunet-service-transport.c
@@ -242,7 +242,6 @@ GST_receive_callback (void *cls, const struct GNUNET_PeerIdentity *peer,
242 switch (type) 242 switch (type)
243 { 243 {
244 case GNUNET_MESSAGE_TYPE_HELLO: 244 case GNUNET_MESSAGE_TYPE_HELLO:
245 case GNUNET_MESSAGE_TYPE_FRIEND_HELLO:
246 GST_validation_handle_hello (message); 245 GST_validation_handle_hello (message);
247 return ret; 246 return ret;
248 case GNUNET_MESSAGE_TYPE_TRANSPORT_PING: 247 case GNUNET_MESSAGE_TYPE_TRANSPORT_PING:
diff --git a/src/transport/gnunet-service-transport_clients.c b/src/transport/gnunet-service-transport_clients.c
index be05e027a..db2718f4e 100644
--- a/src/transport/gnunet-service-transport_clients.c
+++ b/src/transport/gnunet-service-transport_clients.c
@@ -978,8 +978,6 @@ GST_clients_start (struct GNUNET_SERVER_Handle *server)
978 GNUNET_MESSAGE_TYPE_TRANSPORT_START, sizeof (struct StartMessage)}, 978 GNUNET_MESSAGE_TYPE_TRANSPORT_START, sizeof (struct StartMessage)},
979 {&clients_handle_hello, NULL, 979 {&clients_handle_hello, NULL,
980 GNUNET_MESSAGE_TYPE_HELLO, 0}, 980 GNUNET_MESSAGE_TYPE_HELLO, 0},
981 {&clients_handle_hello, NULL,
982 GNUNET_MESSAGE_TYPE_FRIEND_HELLO, 0},
983 {&clients_handle_send, NULL, 981 {&clients_handle_send, NULL,
984 GNUNET_MESSAGE_TYPE_TRANSPORT_SEND, 0}, 982 GNUNET_MESSAGE_TYPE_TRANSPORT_SEND, 0},
985 {&clients_handle_request_connect, NULL, 983 {&clients_handle_request_connect, NULL,
diff --git a/src/transport/gnunet-service-transport_validation.c b/src/transport/gnunet-service-transport_validation.c
index dbe5adf4f..a6c0b7f9d 100644
--- a/src/transport/gnunet-service-transport_validation.c
+++ b/src/transport/gnunet-service-transport_validation.c
@@ -1283,11 +1283,11 @@ GST_validation_handle_hello (const struct GNUNET_MessageHeader *hello)
1283 (const struct GNUNET_HELLO_Message *) hello; 1283 (const struct GNUNET_HELLO_Message *) hello;
1284 struct ValidateAddressContext vac; 1284 struct ValidateAddressContext vac;
1285 struct GNUNET_HELLO_Message *h; 1285 struct GNUNET_HELLO_Message *h;
1286 int type;
1287 int friend; 1286 int friend;
1288 1287
1289 1288 friend = GNUNET_HELLO_is_friend_only (hm);
1290 if ((GNUNET_OK != GNUNET_HELLO_get_id (hm, &vac.pid)) || 1289 if (((GNUNET_YES != friend) && (GNUNET_NO != friend)) ||
1290 (GNUNET_OK != GNUNET_HELLO_get_id (hm, &vac.pid)) ||
1291 (GNUNET_OK != GNUNET_HELLO_get_key (hm, &vac.public_key))) 1291 (GNUNET_OK != GNUNET_HELLO_get_key (hm, &vac.public_key)))
1292 { 1292 {
1293 /* malformed HELLO */ 1293 /* malformed HELLO */
@@ -1298,19 +1298,6 @@ GST_validation_handle_hello (const struct GNUNET_MessageHeader *hello)
1298 memcmp (&GST_my_identity, &vac.pid, sizeof (struct GNUNET_PeerIdentity))) 1298 memcmp (&GST_my_identity, &vac.pid, sizeof (struct GNUNET_PeerIdentity)))
1299 return; 1299 return;
1300 /* Add peer identity without addresses to peerinfo service */ 1300 /* Add peer identity without addresses to peerinfo service */
1301 type = ntohs(hello->type);
1302 switch (type) {
1303 case GNUNET_MESSAGE_TYPE_HELLO:
1304 friend = GNUNET_NO;
1305 break;
1306 case GNUNET_MESSAGE_TYPE_FRIEND_HELLO:
1307 friend = GNUNET_YES;
1308 break;
1309 default:
1310 GNUNET_break (0);
1311 friend = GNUNET_NO;
1312 break;
1313 }
1314 h = GNUNET_HELLO_create (&vac.public_key, NULL, NULL, friend); 1301 h = GNUNET_HELLO_create (&vac.public_key, NULL, NULL, friend);
1315 GNUNET_PEERINFO_add_peer (GST_peerinfo, h, NULL, NULL); 1302 GNUNET_PEERINFO_add_peer (GST_peerinfo, h, NULL, NULL);
1316 1303
diff --git a/src/transport/plugin_transport_udp_broadcasting.c b/src/transport/plugin_transport_udp_broadcasting.c
index e8e087276..a2278f293 100644
--- a/src/transport/plugin_transport_udp_broadcasting.c
+++ b/src/transport/plugin_transport_udp_broadcasting.c
@@ -394,6 +394,17 @@ iface_proc (void *cls, const char *name, int isDefault,
394void 394void
395setup_broadcast (struct Plugin *plugin, struct sockaddr_in6 *serverAddrv6, struct sockaddr_in *serverAddrv4) 395setup_broadcast (struct Plugin *plugin, struct sockaddr_in6 *serverAddrv6, struct sockaddr_in *serverAddrv4)
396{ 396{
397 const struct GNUNET_MessageHeader *hello;
398 hello = plugin->env->get_our_hello ();
399
400 if (GNUNET_YES == GNUNET_HELLO_is_friend_only((const struct GNUNET_HELLO_Message *) hello))
401 {
402 LOG (GNUNET_ERROR_TYPE_WARNING,
403 _("Disabling HELLO broadcasting due to friend-to-friend only configuration!\n"));
404 return;
405 }
406
407
397 /* create IPv4 broadcast socket */ 408 /* create IPv4 broadcast socket */
398 plugin->broadcast_ipv4 = GNUNET_NO; 409 plugin->broadcast_ipv4 = GNUNET_NO;
399 if (plugin->sockv4 != NULL) 410 if (plugin->sockv4 != NULL)
diff --git a/src/transport/plugin_transport_wlan.c b/src/transport/plugin_transport_wlan.c
index eb635615f..9e2a0ff77 100644
--- a/src/transport/plugin_transport_wlan.c
+++ b/src/transport/plugin_transport_wlan.c
@@ -1149,7 +1149,6 @@ process_data (void *cls, void *client, const struct GNUNET_MessageHeader *hdr)
1149 1149
1150 switch (ntohs (hdr->type)) 1150 switch (ntohs (hdr->type))
1151 { 1151 {
1152 case GNUNET_MESSAGE_TYPE_FRIEND_HELLO:
1153 case GNUNET_MESSAGE_TYPE_HELLO: 1152 case GNUNET_MESSAGE_TYPE_HELLO:
1154 if (GNUNET_OK != 1153 if (GNUNET_OK !=
1155 GNUNET_HELLO_get_id ((const struct GNUNET_HELLO_Message *) hdr, &tmpsource)) 1154 GNUNET_HELLO_get_id ((const struct GNUNET_HELLO_Message *) hdr, &tmpsource))
diff --git a/src/transport/transport_api.c b/src/transport/transport_api.c
index d8fb7d520..8dc4c7a42 100644
--- a/src/transport/transport_api.c
+++ b/src/transport/transport_api.c
@@ -497,7 +497,6 @@ demultiplexer (void *cls, const struct GNUNET_MessageHeader *msg)
497 switch (ntohs (msg->type)) 497 switch (ntohs (msg->type))
498 { 498 {
499 case GNUNET_MESSAGE_TYPE_HELLO: 499 case GNUNET_MESSAGE_TYPE_HELLO:
500 case GNUNET_MESSAGE_TYPE_FRIEND_HELLO:
501 if (GNUNET_OK != 500 if (GNUNET_OK !=
502 GNUNET_HELLO_get_id ((const struct GNUNET_HELLO_Message *) msg, &me)) 501 GNUNET_HELLO_get_id ((const struct GNUNET_HELLO_Message *) msg, &me))
503 { 502 {
@@ -1293,8 +1292,7 @@ GNUNET_TRANSPORT_offer_hello (struct GNUNET_TRANSPORT_Handle *handle,
1293 if (NULL == handle->client) 1292 if (NULL == handle->client)
1294 return NULL; 1293 return NULL;
1295 1294
1296 GNUNET_break ((ntohs (hello->type) == GNUNET_MESSAGE_TYPE_HELLO) || 1295 GNUNET_break (ntohs (hello->type) == GNUNET_MESSAGE_TYPE_HELLO);
1297 (ntohs (hello->type) == GNUNET_MESSAGE_TYPE_FRIEND_HELLO));
1298 size = ntohs (hello->size); 1296 size = ntohs (hello->size);
1299 GNUNET_break (size >= sizeof (struct GNUNET_MessageHeader)); 1297 GNUNET_break (size >= sizeof (struct GNUNET_MessageHeader));
1300 if (GNUNET_OK != 1298 if (GNUNET_OK !=