Index: src/transport/gnunet-service-transport.c =================================================================== --- src/transport/gnunet-service-transport.c (revision 34549) +++ src/transport/gnunet-service-transport.c (working copy) @@ -1168,7 +1168,7 @@ GST_ats = GNUNET_ATS_scheduling_init (GST_cfg, &ats_request_address_change, NULL ); GST_manipulation_init (GST_cfg); - GST_plugins_load (&GST_manipulation_recv, + GST_plugins_load (&GST_manipulation_recv_dropper, &GST_neighbours_register_quota_notification, &GST_neighbours_unregister_quota_notification, &plugin_env_address_change_notification, Index: src/transport/gnunet-service-transport_manipulation.c =================================================================== --- src/transport/gnunet-service-transport_manipulation.c (revision 34549) +++ src/transport/gnunet-service-transport_manipulation.c (working copy) @@ -567,6 +567,17 @@ } +struct GNUNET_TIME_Relative +GST_manipulation_recv_dropper (void *cls, + const struct GNUNET_HELLO_Address *address, + struct Session *session, + const struct GNUNET_MessageHeader *message) +{ + uint16_t type = ntohs(message->type); + if(type == GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_SYN && 0 == random() % 10) + return GNUNET_TIME_UNIT_ZERO; + return GST_manipulation_recv(cls,address,session,message); +} /** * Initialize traffic manipulation * Index: src/transport/gnunet-service-transport_manipulation.h =================================================================== --- src/transport/gnunet-service-transport_manipulation.h (revision 34549) +++ src/transport/gnunet-service-transport_manipulation.h (working copy) @@ -81,6 +81,11 @@ struct Session *session, const struct GNUNET_MessageHeader *message); +struct GNUNET_TIME_Relative +GST_manipulation_recv_dropper (void *cls, + const struct GNUNET_HELLO_Address *address, + struct Session *session, + const struct GNUNET_MessageHeader *message); /** * Function that will be called to manipulate ATS information according to * current manipulation settings