diff options
Diffstat (limited to 'src/cadet/gnunet-service-cadet.c')
-rw-r--r-- | src/cadet/gnunet-service-cadet.c | 112 |
1 files changed, 69 insertions, 43 deletions
diff --git a/src/cadet/gnunet-service-cadet.c b/src/cadet/gnunet-service-cadet.c index ba83fe0fc..03af3d5c0 100644 --- a/src/cadet/gnunet-service-cadet.c +++ b/src/cadet/gnunet-service-cadet.c | |||
@@ -580,6 +580,7 @@ handle_channel_create (void *cls, | |||
580 | if (ntohl (tcm->ccn.channel_of_client) < GNUNET_CADET_LOCAL_CHANNEL_ID_CLI) | 580 | if (ntohl (tcm->ccn.channel_of_client) < GNUNET_CADET_LOCAL_CHANNEL_ID_CLI) |
581 | { | 581 | { |
582 | /* Channel ID not in allowed range. */ | 582 | /* Channel ID not in allowed range. */ |
583 | LOG (GNUNET_ERROR_TYPE_DEBUG,"Channel ID not in allowed range."); | ||
583 | GNUNET_break (0); | 584 | GNUNET_break (0); |
584 | GNUNET_SERVICE_client_drop (c->client); | 585 | GNUNET_SERVICE_client_drop (c->client); |
585 | return; | 586 | return; |
@@ -589,6 +590,7 @@ handle_channel_create (void *cls, | |||
589 | if (NULL != ch) | 590 | if (NULL != ch) |
590 | { | 591 | { |
591 | /* Channel ID already in use. Not allowed. */ | 592 | /* Channel ID already in use. Not allowed. */ |
593 | LOG (GNUNET_ERROR_TYPE_DEBUG,"Channel ID already in use. Not allowed."); | ||
592 | GNUNET_break (0); | 594 | GNUNET_break (0); |
593 | GNUNET_SERVICE_client_drop (c->client); | 595 | GNUNET_SERVICE_client_drop (c->client); |
594 | return; | 596 | return; |
@@ -1008,6 +1010,26 @@ handle_info_tunnels (void *cls, | |||
1008 | GNUNET_SERVICE_client_continue (c->client); | 1010 | GNUNET_SERVICE_client_continue (c->client); |
1009 | } | 1011 | } |
1010 | 1012 | ||
1013 | /** | ||
1014 | * Handler for client's #GNUNET_MESSAGE_TYPE_CADET_DROP_CADET_MESSAGE request. | ||
1015 | * | ||
1016 | * @param cls client Identification of the client. | ||
1017 | * @param message The actual message. | ||
1018 | */ | ||
1019 | static void | ||
1020 | handle_drop_message (void *cls, | ||
1021 | const struct GNUNET_CADET_RequestDropCadetMessage *message) | ||
1022 | { | ||
1023 | struct CadetClient *c = cls; | ||
1024 | struct CadetChannel *ch; | ||
1025 | |||
1026 | ch = lookup_channel (c, | ||
1027 | message->ccn); | ||
1028 | |||
1029 | GCCH_assign_type_to_drop(ch, message); | ||
1030 | |||
1031 | GNUNET_SERVICE_client_continue (c->client); | ||
1032 | } | ||
1011 | 1033 | ||
1012 | /** | 1034 | /** |
1013 | * Callback called when a client connects to the service. | 1035 | * Callback called when a client connects to the service. |
@@ -1305,48 +1327,52 @@ run (void *cls, | |||
1305 | * Define "main" method using service macro. | 1327 | * Define "main" method using service macro. |
1306 | */ | 1328 | */ |
1307 | GNUNET_SERVICE_MAIN | 1329 | GNUNET_SERVICE_MAIN |
1308 | ("cadet", | 1330 | ("cadet", |
1309 | GNUNET_SERVICE_OPTION_NONE, | 1331 | GNUNET_SERVICE_OPTION_NONE, |
1310 | &run, | 1332 | &run, |
1311 | &client_connect_cb, | 1333 | &client_connect_cb, |
1312 | &client_disconnect_cb, | 1334 | &client_disconnect_cb, |
1313 | NULL, | 1335 | NULL, |
1314 | GNUNET_MQ_hd_fixed_size (port_open, | 1336 | GNUNET_MQ_hd_fixed_size (port_open, |
1315 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_PORT_OPEN, | 1337 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_PORT_OPEN, |
1316 | struct GNUNET_CADET_PortMessage, | 1338 | struct GNUNET_CADET_PortMessage, |
1317 | NULL), | 1339 | NULL), |
1318 | GNUNET_MQ_hd_fixed_size (port_close, | 1340 | GNUNET_MQ_hd_fixed_size (port_close, |
1319 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_PORT_CLOSE, | 1341 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_PORT_CLOSE, |
1320 | struct GNUNET_CADET_PortMessage, | 1342 | struct GNUNET_CADET_PortMessage, |
1321 | NULL), | 1343 | NULL), |
1322 | GNUNET_MQ_hd_fixed_size (channel_create, | 1344 | GNUNET_MQ_hd_fixed_size (channel_create, |
1323 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_CHANNEL_CREATE, | 1345 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_CHANNEL_CREATE, |
1324 | struct GNUNET_CADET_LocalChannelCreateMessage, | 1346 | struct GNUNET_CADET_LocalChannelCreateMessage, |
1325 | NULL), | 1347 | NULL), |
1326 | GNUNET_MQ_hd_fixed_size (channel_destroy, | 1348 | GNUNET_MQ_hd_fixed_size (channel_destroy, |
1327 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_CHANNEL_DESTROY, | 1349 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_CHANNEL_DESTROY, |
1328 | struct GNUNET_CADET_LocalChannelDestroyMessage, | 1350 | struct GNUNET_CADET_LocalChannelDestroyMessage, |
1329 | NULL), | 1351 | NULL), |
1330 | GNUNET_MQ_hd_var_size (local_data, | 1352 | GNUNET_MQ_hd_var_size (local_data, |
1331 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_DATA, | 1353 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_DATA, |
1332 | struct GNUNET_CADET_LocalData, | 1354 | struct GNUNET_CADET_LocalData, |
1333 | NULL), | 1355 | NULL), |
1334 | GNUNET_MQ_hd_fixed_size (local_ack, | 1356 | GNUNET_MQ_hd_fixed_size (local_ack, |
1335 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_ACK, | 1357 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_ACK, |
1336 | struct GNUNET_CADET_LocalAck, | 1358 | struct GNUNET_CADET_LocalAck, |
1337 | NULL), | 1359 | NULL), |
1338 | GNUNET_MQ_hd_fixed_size (get_peers, | 1360 | GNUNET_MQ_hd_fixed_size (get_peers, |
1339 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_PEERS, | 1361 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_PEERS, |
1340 | struct GNUNET_MessageHeader, | 1362 | struct GNUNET_MessageHeader, |
1341 | NULL), | 1363 | NULL), |
1342 | GNUNET_MQ_hd_fixed_size (show_path, | 1364 | GNUNET_MQ_hd_fixed_size (show_path, |
1343 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_PATH, | 1365 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_PATH, |
1344 | struct GNUNET_CADET_RequestPathInfoMessage, | 1366 | struct GNUNET_CADET_RequestPathInfoMessage, |
1345 | NULL), | 1367 | NULL), |
1346 | GNUNET_MQ_hd_fixed_size (info_tunnels, | 1368 | GNUNET_MQ_hd_fixed_size (info_tunnels, |
1347 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_TUNNELS, | 1369 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_TUNNELS, |
1348 | struct GNUNET_MessageHeader, | 1370 | struct GNUNET_MessageHeader, |
1349 | NULL), | 1371 | NULL), |
1350 | GNUNET_MQ_handler_end ()); | 1372 | GNUNET_MQ_hd_fixed_size (drop_message, |
1373 | GNUNET_MESSAGE_TYPE_CADET_DROP_CADET_MESSAGE, | ||
1374 | struct GNUNET_CADET_RequestDropCadetMessage, | ||
1375 | NULL), | ||
1376 | GNUNET_MQ_handler_end ()); | ||
1351 | 1377 | ||
1352 | /* end of gnunet-service-cadet-new.c */ | 1378 | /* end of gnunet-service-cadet-new.c */ |