[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r22011 - gnunet/src/mesh
From: |
gnunet |
Subject: |
[GNUnet-SVN] r22011 - gnunet/src/mesh |
Date: |
Fri, 15 Jun 2012 00:40:01 +0200 |
Author: bartpolot
Date: 2012-06-15 00:40:01 +0200 (Fri, 15 Jun 2012)
New Revision: 22011
Modified:
gnunet/src/mesh/gnunet-service-mesh_new.c
Log:
- blacklist api calls, service side
Modified: gnunet/src/mesh/gnunet-service-mesh_new.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh_new.c 2012-06-14 17:54:02 UTC (rev
22010)
+++ gnunet/src/mesh/gnunet-service-mesh_new.c 2012-06-14 22:40:01 UTC (rev
22011)
@@ -4245,7 +4245,6 @@
const struct GNUNET_MessageHeader *message)
{
struct GNUNET_MESH_PeerControl *peer_msg;
-
struct MeshClient *c;
struct MeshTunnel *t;
MESH_TunnelNumber tid;
@@ -4279,7 +4278,8 @@
}
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " on tunnel %X\n", t->id.tid);
-// GNUNET_array_append(t->blacklisted, t->nblacklisted,
GNUNET_PEER_intern(peer));
+ GNUNET_array_append(t->blacklisted, t->nblacklisted,
+ GNUNET_PEER_intern(&peer_msg->peer));
}
@@ -4298,8 +4298,8 @@
struct MeshClient *c;
struct MeshTunnel *t;
MESH_TunnelNumber tid;
-// GNUNET_PEER_Id pid;
-// unsigned int i;
+ GNUNET_PEER_Id pid;
+ unsigned int i;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Got a PEER UNBLACKLIST request\n");
/* Sanity check for client registration */
@@ -4330,11 +4330,27 @@
}
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " on tunnel %X\n", t->id.tid);
-// pid = GNUNET_PEER_search (peer);
-// for (i = 0; i < t->nblacklisted; i++)
-// {
-// if (t->blacklisted[i]
-// }
+ /* if peer is not known, complain */
+ pid = GNUNET_PEER_search (&peer_msg->peer);
+ if (0 == pid)
+ {
+ GNUNET_break (0);
+ return;
+ }
+
+ /* search and remove from list */
+ for (i = 0; i < t->nblacklisted; i++)
+ {
+ if (t->blacklisted[i] == pid)
+ {
+ t->blacklisted[i] = t->blacklisted[t->nblacklisted - 1];
+ GNUNET_array_grow (t->blacklisted, t->nblacklisted, t->nblacklisted - 1);
+ return;
+ }
+ }
+
+ /* if peer hasn't been blacklisted, complain */
+ GNUNET_break (0);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r22011 - gnunet/src/mesh,
gnunet <=