aboutsummaryrefslogtreecommitdiff
path: root/src/core/gnunet-service-core_clients.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/gnunet-service-core_clients.c')
-rw-r--r--src/core/gnunet-service-core_clients.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/core/gnunet-service-core_clients.c b/src/core/gnunet-service-core_clients.c
index 838fa42db..6caacb002 100644
--- a/src/core/gnunet-service-core_clients.c
+++ b/src/core/gnunet-service-core_clients.c
@@ -216,13 +216,15 @@ send_to_all_clients (const struct GNUNET_MessageHeader *msg,
216 216
217 for (c = client_head; c != NULL; c = c->next) 217 for (c = client_head; c != NULL; c = c->next)
218 { 218 {
219 if (! ( (0 != (c->options & options)) || 219 if ( (0 == (options & GNUNET_CORE_OPTION_SEND_FULL_INBOUND)) &&
220 ( (0 != (options & GNUNET_CORE_OPTION_SEND_FULL_INBOUND)) && 220 (GNUNET_YES == type_match (type, c)) )
221 (GNUNET_YES == type_match (type, c)) ) ) ) 221 continue; /* not the full message, but we'd like the full one! */
222 continue; /* skip */ 222 if ( (0 == (c->options & options)) &&
223 (GNUNET_YES != type_match (type, c)) )
224 continue; /* neither options nor type match permit the message */
223#if DEBUG_CORE 225#if DEBUG_CORE
224 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 226 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
225 "Sending message to all clients interested in messages of type %u.\n", 227 "Sending message to client interested in messages of type %u.\n",
226 (unsigned int) type); 228 (unsigned int) type);
227#endif 229#endif
228 send_to_client (c, msg, can_drop); 230 send_to_client (c, msg, can_drop);