aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/gnunet/dht/DistributedHashTable.java12
-rw-r--r--src/main/java/org/gnunet/dht/RouteOption.java2
-rw-r--r--src/main/java/org/gnunet/gns/Gns.java24
-rw-r--r--src/main/java/org/gnunet/gns/GnsTool.java2
-rw-r--r--src/main/java/org/gnunet/identity/Identity.java15
-rw-r--r--src/main/java/org/gnunet/mesh/InboundChannelHandler.java2
-rw-r--r--src/main/java/org/gnunet/mesh/Mesh.java2
-rw-r--r--src/main/java/org/gnunet/statistics/StatisticsTool.java4
-rw-r--r--src/main/java/org/gnunet/util/Service.java9
-rw-r--r--src/main/resources/org/gnunet/construct/MsgMap.txt44
10 files changed, 75 insertions, 41 deletions
diff --git a/src/main/java/org/gnunet/dht/DistributedHashTable.java b/src/main/java/org/gnunet/dht/DistributedHashTable.java
index 27bac92..1ff0912 100644
--- a/src/main/java/org/gnunet/dht/DistributedHashTable.java
+++ b/src/main/java/org/gnunet/dht/DistributedHashTable.java
@@ -66,6 +66,7 @@ public class DistributedHashTable {
66 public int type; 66 public int type;
67 public Continuation cont; 67 public Continuation cont;
68 public long uid; 68 public long uid;
69 private int options;
69 70
70 public PutRequest() { 71 public PutRequest() {
71 this.uid = nextUID++; 72 this.uid = nextUID++;
@@ -80,6 +81,7 @@ public class DistributedHashTable {
80 cpm.expiration = expiration.asMessage(); 81 cpm.expiration = expiration.asMessage();
81 cpm.type = type; 82 cpm.type = type;
82 cpm.uid = uid; 83 cpm.uid = uid;
84 cpm.options = options;
83 return new Envelope(cpm); 85 return new Envelope(cpm);
84 } 86 }
85 87
@@ -95,6 +97,7 @@ public class DistributedHashTable {
95 public int type; 97 public int type;
96 public int replication; 98 public int replication;
97 public byte[] xquery; 99 public byte[] xquery;
100 public int options;
98 101
99 public GetRequest() { 102 public GetRequest() {
100 uid = DistributedHashTable.this.nextUID++; 103 uid = DistributedHashTable.this.nextUID++;
@@ -108,6 +111,7 @@ public class DistributedHashTable {
108 gm.xquery = xquery == null ? new byte[0] : xquery; 111 gm.xquery = xquery == null ? new byte[0] : xquery;
109 gm.key = key; 112 gm.key = key;
110 gm.uniqueId = uid; 113 gm.uniqueId = uid;
114 gm.options = options;
111 return new Envelope(gm); 115 return new Envelope(gm);
112 } 116 }
113 public void onCancel() { 117 public void onCancel() {
@@ -269,6 +273,10 @@ public class DistributedHashTable {
269 pr.expiration = expiration; 273 pr.expiration = expiration;
270 pr.type = type; 274 pr.type = type;
271 pr.cont = cont; 275 pr.cont = cont;
276 pr.options = 0;
277 for (RouteOption routeOption : routeOptions) {
278 pr.options |= routeOption.val;
279 }
272 280
273 putRequests.addRequest(pr.uid, pr); 281 putRequests.addRequest(pr.uid, pr);
274 } 282 }
@@ -297,6 +305,10 @@ public class DistributedHashTable {
297 getRequest.replication = type; 305 getRequest.replication = type;
298 getRequest.xquery = xquery; 306 getRequest.xquery = xquery;
299 getRequest.replication = replication; 307 getRequest.replication = replication;
308 getRequest.options = 0;
309 for (RouteOption routeOption : routeOptions) {
310 getRequest.options |= routeOption.val;
311 }
300 312
301 return getRequests.addRequest(getRequest.uid, getRequest); 313 return getRequests.addRequest(getRequest.uid, getRequest);
302 } 314 }
diff --git a/src/main/java/org/gnunet/dht/RouteOption.java b/src/main/java/org/gnunet/dht/RouteOption.java
index e6593b4..fc86321 100644
--- a/src/main/java/org/gnunet/dht/RouteOption.java
+++ b/src/main/java/org/gnunet/dht/RouteOption.java
@@ -47,7 +47,7 @@ enum RouteOption {
47 */ 47 */
48 BART(8); 48 BART(8);
49 49
50 private int val; 50 int val;
51 51
52 RouteOption(int val) { 52 RouteOption(int val) {
53 this.val = val; 53 this.val = val;
diff --git a/src/main/java/org/gnunet/gns/Gns.java b/src/main/java/org/gnunet/gns/Gns.java
index 0e64ae0..cd9d02b 100644
--- a/src/main/java/org/gnunet/gns/Gns.java
+++ b/src/main/java/org/gnunet/gns/Gns.java
@@ -37,6 +37,23 @@ import org.slf4j.LoggerFactory;
37public class Gns { 37public class Gns {
38 private static final Logger logger = LoggerFactory 38 private static final Logger logger = LoggerFactory
39 .getLogger(Gns.class); 39 .getLogger(Gns.class);
40
41 /**
42 * Defaults, look in cache, then in DHT.
43 */
44 public static final int LOOKUP_OPTION_DEFAULT = 0;
45
46 /**
47 * Never look in the DHT, keep request to local cache.
48 */
49 public static final int LOOKUP_OPTION_NO_DHT = 1;
50
51 /**
52 * For the rightmost label, only look in the cache (it
53 * is our master zone), for the others, the DHT is OK.
54 */
55 public static final int LOOKUP_OPTION_LOCAL_MASTER = 2;
56
40 /** 57 /**
41 * All pending and active lookup requests. 58 * All pending and active lookup requests.
42 */ 59 */
@@ -97,7 +114,7 @@ public class Gns {
97 * @param name the name to look up 114 * @param name the name to look up
98 * @param zone zone to look in 115 * @param zone zone to look in
99 * @param type the GNS record type to look for 116 * @param type the GNS record type to look for
100 * @param onlyCached true to only check locally (not in the DHT) 117 * @param lookupOption a Gns.LOOKUP_OPTION_* value
101 * @param shortenZoneKey the private key of the shorten zone (can be NULL); 118 * @param shortenZoneKey the private key of the shorten zone (can be NULL);
102 * specify to enable automatic shortening (given a PSEU 119 * specify to enable automatic shortening (given a PSEU
103 * record, if a given pseudonym is not yet used in the 120 * record, if a given pseudonym is not yet used in the
@@ -108,7 +125,7 @@ public class Gns {
108 */ 125 */
109 public Cancelable lookup(String name, 126 public Cancelable lookup(String name,
110 EcdsaPublicKey zone, 127 EcdsaPublicKey zone,
111 long type, boolean onlyCached, 128 long type, int lookupOption,
112 EcdsaPrivateKey shortenZoneKey, 129 EcdsaPrivateKey shortenZoneKey,
113 LookupResultProcessor proc) { 130 LookupResultProcessor proc) {
114 ClientLookupMessage m = new ClientLookupMessage(); 131 ClientLookupMessage m = new ClientLookupMessage();
@@ -122,10 +139,11 @@ public class Gns {
122 } 139 }
123 m.id = nextUID++; 140 m.id = nextUID++;
124 m.name = name; 141 m.name = name;
125 m.onlyCached = onlyCached ? 1 : 0; 142 m.onlyCached = lookupOption;
126 m.type = type; 143 m.type = type;
127 m.zone = zone; 144 m.zone = zone;
128 145
146
129 return lookupRequests.addRequest(m.id, new FixedMessageRequest<LookupResultProcessor>(m, proc)); 147 return lookupRequests.addRequest(m.id, new FixedMessageRequest<LookupResultProcessor>(m, proc));
130 } 148 }
131 149
diff --git a/src/main/java/org/gnunet/gns/GnsTool.java b/src/main/java/org/gnunet/gns/GnsTool.java
index 0d33dc1..932eed7 100644
--- a/src/main/java/org/gnunet/gns/GnsTool.java
+++ b/src/main/java/org/gnunet/gns/GnsTool.java
@@ -56,7 +56,7 @@ public class GnsTool {
56 public void onEgo(Identity.Ego ego) { 56 public void onEgo(Identity.Ego ego) {
57 System.out.println("looking in zone " + ego.getPublicKey()); 57 System.out.println("looking in zone " + ego.getPublicKey());
58 final Gns gns = new Gns(getConfiguration()); 58 final Gns gns = new Gns(getConfiguration());
59 gns.lookup(name, ego.getPublicKey(), typeId, false, null, new LookupResultProcessor() { 59 gns.lookup(name, ego.getPublicKey(), typeId, 0, null, new LookupResultProcessor() {
60 @Override 60 @Override
61 public void process(GnsRecord[] records) { 61 public void process(GnsRecord[] records) {
62 System.out.println("got " + records.length + " records"); 62 System.out.println("got " + records.length + " records");
diff --git a/src/main/java/org/gnunet/identity/Identity.java b/src/main/java/org/gnunet/identity/Identity.java
index 7273ef6..9f03234 100644
--- a/src/main/java/org/gnunet/identity/Identity.java
+++ b/src/main/java/org/gnunet/identity/Identity.java
@@ -326,7 +326,8 @@ public class Identity {
326 * Connect to the identity service. 326 * Connect to the identity service.
327 * 327 *
328 * @param configuration configuration to use 328 * @param configuration configuration to use
329 * @param identityListCallback 329 * @param identityListCallback callback that receives initially the list of all egos,
330 * and subsequently changes to egos
330 */ 331 */
331 public void connect(Configuration configuration, IdentityListCallback identityListCallback) { 332 public void connect(Configuration configuration, IdentityListCallback identityListCallback) {
332 this.configuration = configuration; 333 this.configuration = configuration;
@@ -449,7 +450,8 @@ public class Identity {
449 450
450 public void visit(final UpdateListMessage m) { 451 public void visit(final UpdateListMessage m) {
451 if (m.endOfList != 0) { 452 if (m.endOfList != 0) {
452 identityListCallback.onListEnd(); 453 if (null != identityListCallback)
454 identityListCallback.onListEnd();
453 return; 455 return;
454 } 456 }
455 if (m.nameLength == 0) { 457 if (m.nameLength == 0) {
@@ -457,18 +459,21 @@ public class Identity {
457 if (null != e) { 459 if (null != e) {
458 knownEgos.remove(e); 460 knownEgos.remove(e);
459 } 461 }
460 identityListCallback.onEgoDelete(e); 462 if (null != identityListCallback)
463 identityListCallback.onEgoDelete(e);
461 } else { 464 } else {
462 Ego existingEgo = getEgoForKey(m.privateKey); 465 Ego existingEgo = getEgoForKey(m.privateKey);
463 if (existingEgo == null) { 466 if (existingEgo == null) {
464 Ego ego = new Ego(m.egoName, m.privateKey); 467 Ego ego = new Ego(m.egoName, m.privateKey);
465 knownEgos.add(ego); 468 knownEgos.add(ego);
466 identityListCallback.onEgoAdd(ego); 469 if (null != identityListCallback)
470 identityListCallback.onEgoAdd(ego);
467 } else { 471 } else {
468 // rename 472 // rename
469 String oldName = existingEgo.name; 473 String oldName = existingEgo.name;
470 existingEgo.name = m.egoName; 474 existingEgo.name = m.egoName;
471 identityListCallback.onEgoRename(oldName, existingEgo); 475 if (null != identityListCallback)
476 identityListCallback.onEgoRename(oldName, existingEgo);
472 } 477 }
473 } 478 }
474 } 479 }
diff --git a/src/main/java/org/gnunet/mesh/InboundChannelHandler.java b/src/main/java/org/gnunet/mesh/InboundChannelHandler.java
index a8cb6b7..666f4ae 100644
--- a/src/main/java/org/gnunet/mesh/InboundChannelHandler.java
+++ b/src/main/java/org/gnunet/mesh/InboundChannelHandler.java
@@ -8,5 +8,5 @@ import org.gnunet.util.PeerIdentity;
8 * @author Florian Dold 8 * @author Florian Dold
9 */ 9 */
10public interface InboundChannelHandler { 10public interface InboundChannelHandler {
11 void onInboundTunnel(Mesh.Channel channel, PeerIdentity initiator); 11 void onInboundChannel(Mesh.Channel channel, PeerIdentity initiator);
12} 12}
diff --git a/src/main/java/org/gnunet/mesh/Mesh.java b/src/main/java/org/gnunet/mesh/Mesh.java
index ede7761..4d12a19 100644
--- a/src/main/java/org/gnunet/mesh/Mesh.java
+++ b/src/main/java/org/gnunet/mesh/Mesh.java
@@ -237,7 +237,7 @@ public class Mesh {
237 (m.opt & OPTION_NOBUFFER) != 0, (m.opt & OPTION_NOBUFFER) != 0); 237 (m.opt & OPTION_NOBUFFER) != 0, (m.opt & OPTION_NOBUFFER) != 0);
238 logger.debug("inbound tunnel {}", m.tunnelId); 238 logger.debug("inbound tunnel {}", m.tunnelId);
239 if (inboundChannelHandler != null) { 239 if (inboundChannelHandler != null) {
240 inboundChannelHandler.onInboundTunnel(t, m.otherEnd); 240 inboundChannelHandler.onInboundChannel(t, m.otherEnd);
241 } 241 }
242 } 242 }
243 243
diff --git a/src/main/java/org/gnunet/statistics/StatisticsTool.java b/src/main/java/org/gnunet/statistics/StatisticsTool.java
index 0505588..a9f1f2c 100644
--- a/src/main/java/org/gnunet/statistics/StatisticsTool.java
+++ b/src/main/java/org/gnunet/statistics/StatisticsTool.java
@@ -14,13 +14,13 @@ public class StatisticsTool extends Program {
14 shortname = "x", 14 shortname = "x",
15 longname = "set", 15 longname = "set",
16 action = ArgumentAction.SET, 16 action = ArgumentAction.SET,
17 description = "watch a value") 17 description = "set a value")
18 boolean set; 18 boolean set;
19 @Argument( 19 @Argument(
20 shortname = "w", 20 shortname = "w",
21 longname = "watch", 21 longname = "watch",
22 action = ArgumentAction.SET, 22 action = ArgumentAction.SET,
23 description = "set a value") 23 description = "watch a value")
24 boolean watch; 24 boolean watch;
25 @Argument( 25 @Argument(
26 shortname = "n", 26 shortname = "n",
diff --git a/src/main/java/org/gnunet/util/Service.java b/src/main/java/org/gnunet/util/Service.java
index af7529e..d815818 100644
--- a/src/main/java/org/gnunet/util/Service.java
+++ b/src/main/java/org/gnunet/util/Service.java
@@ -52,11 +52,9 @@ public abstract class Service extends Program {
52 private RelativeTime idleTimeout; 52 private RelativeTime idleTimeout;
53 private boolean requireFound; 53 private boolean requireFound;
54 54
55
56 private Cancelable sigpipeTask;
57 private Pipe.SourceChannel sigpipeChannel; 55 private Pipe.SourceChannel sigpipeChannel;
58 56
59 public Service(String serviceName, RelativeTime idleTimeout, boolean requireFound, String[] args) { 57 public Service(String serviceName, RelativeTime idleTimeout, boolean requireFound) {
60 this.serviceName = serviceName; 58 this.serviceName = serviceName;
61 this.idleTimeout = idleTimeout; 59 this.idleTimeout = idleTimeout;
62 this.requireFound = requireFound; 60 this.requireFound = requireFound;
@@ -109,7 +107,8 @@ public abstract class Service extends Program {
109 Scheduler.TaskConfiguration t = new Scheduler.TaskConfiguration(RelativeTime.FOREVER, 107 Scheduler.TaskConfiguration t = new Scheduler.TaskConfiguration(RelativeTime.FOREVER,
110 new SigpipeTask()); 108 new SigpipeTask());
111 t.addSelectEvent(p.getSource(), SelectionKey.OP_READ); 109 t.addSelectEvent(p.getSource(), SelectionKey.OP_READ);
112 sigpipeTask = t.schedule(); 110 t.setLifeness(false);
111 t.schedule();
113 sigpipeChannel = p.getSource(); 112 sigpipeChannel = p.getSource();
114 } 113 }
115 114
@@ -141,7 +140,7 @@ public abstract class Service extends Program {
141 } 140 }
142 if (!stopped) { 141 if (!stopped) {
143 Scheduler.TaskConfiguration t = new Scheduler.TaskConfiguration(RelativeTime.FOREVER, this); 142 Scheduler.TaskConfiguration t = new Scheduler.TaskConfiguration(RelativeTime.FOREVER, this);
144 sigpipeTask = t.schedule(); 143 t.schedule();
145 } else { 144 } else {
146 try { 145 try {
147 sigpipeChannel.close(); 146 sigpipeChannel.close();
diff --git a/src/main/resources/org/gnunet/construct/MsgMap.txt b/src/main/resources/org/gnunet/construct/MsgMap.txt
index c4a0584..9273b14 100644
--- a/src/main/resources/org/gnunet/construct/MsgMap.txt
+++ b/src/main/resources/org/gnunet/construct/MsgMap.txt
@@ -34,15 +34,15 @@ org.gnunet.util.GnunetMessage$Body|782=org.gnunet.secretsharing.messages.Decrypt
34org.gnunet.util.GnunetMessage$Body|783=org.gnunet.secretsharing.messages.SecretReadyMessage 34org.gnunet.util.GnunetMessage$Body|783=org.gnunet.secretsharing.messages.SecretReadyMessage
35org.gnunet.util.GnunetMessage$Body|780=org.gnunet.secretsharing.messages.GenerateMessage 35org.gnunet.util.GnunetMessage$Body|780=org.gnunet.secretsharing.messages.GenerateMessage
36org.gnunet.util.GnunetMessage$Body|781=org.gnunet.secretsharing.messages.ClientDecryptMessage 36org.gnunet.util.GnunetMessage$Body|781=org.gnunet.secretsharing.messages.ClientDecryptMessage
37org.gnunet.util.GnunetMessage$Body|68=org.gnunet.core.DisconnectNotifyMessage 37org.gnunet.util.GnunetMessage$Body|68=org.gnunet.core.messages.DisconnectNotifyMessage
38org.gnunet.util.GnunetMessage$Body|70=org.gnunet.core.NotifyInboundTrafficMessage 38org.gnunet.util.GnunetMessage$Body|70=org.gnunet.core.messages.NotifyInboundTrafficMessage
39org.gnunet.util.GnunetMessage$Body|71=org.gnunet.core.NotifyOutboundTrafficMessage 39org.gnunet.util.GnunetMessage$Body|71=org.gnunet.core.messages.NotifyOutboundTrafficMessage
40org.gnunet.util.GnunetMessage$Body|64=org.gnunet.core.InitMessage 40org.gnunet.util.GnunetMessage$Body|64=org.gnunet.core.messages.InitMessage
41org.gnunet.util.GnunetMessage$Body|65=org.gnunet.core.InitReplyMessage 41org.gnunet.util.GnunetMessage$Body|65=org.gnunet.core.messages.InitReplyMessage
42org.gnunet.util.GnunetMessage$Body|67=org.gnunet.core.ConnectNotifyMessage 42org.gnunet.util.GnunetMessage$Body|67=org.gnunet.core.messages.ConnectNotifyMessage
43org.gnunet.util.GnunetMessage$Body|76=org.gnunet.core.SendMessage 43org.gnunet.util.GnunetMessage$Body|76=org.gnunet.core.messages.SendMessage
44org.gnunet.util.GnunetMessage$Body|74=org.gnunet.core.SendMessageRequest 44org.gnunet.util.GnunetMessage$Body|74=org.gnunet.core.messages.SendMessageRequest
45org.gnunet.util.GnunetMessage$Body|75=org.gnunet.core.SendMessageReady 45org.gnunet.util.GnunetMessage$Body|75=org.gnunet.core.messages.SendMessageReady
46org.gnunet.util.GnunetMessage$Body|627=org.gnunet.identity.messages.GetDefaultMessage 46org.gnunet.util.GnunetMessage$Body|627=org.gnunet.identity.messages.GetDefaultMessage
47org.gnunet.util.GnunetMessage$Body|626=org.gnunet.identity.messages.UpdateListMessage 47org.gnunet.util.GnunetMessage$Body|626=org.gnunet.identity.messages.UpdateListMessage
48org.gnunet.util.GnunetMessage$Body|625=org.gnunet.identity.messages.ResultCodeMessage 48org.gnunet.util.GnunetMessage$Body|625=org.gnunet.identity.messages.ResultCodeMessage
@@ -53,9 +53,9 @@ org.gnunet.util.GnunetMessage$Body|630=org.gnunet.identity.messages.RenameMessag
53org.gnunet.util.GnunetMessage$Body|629=org.gnunet.identity.messages.CreateRequestMessage 53org.gnunet.util.GnunetMessage$Body|629=org.gnunet.identity.messages.CreateRequestMessage
54org.gnunet.util.GnunetMessage$Body|321=org.gnunet.nse.StartMessage 54org.gnunet.util.GnunetMessage$Body|321=org.gnunet.nse.StartMessage
55org.gnunet.util.GnunetMessage$Body|628=org.gnunet.identity.messages.SetDefaultMessage 55org.gnunet.util.GnunetMessage$Body|628=org.gnunet.identity.messages.SetDefaultMessage
56org.gnunet.util.GnunetMessage$Body|332=org.gnunet.peerinfo.InfoMessage 56org.gnunet.util.GnunetMessage$Body|332=org.gnunet.peerinfo.messages.InfoMessage
57org.gnunet.util.GnunetMessage$Body|333=org.gnunet.peerinfo.InfoEnd 57org.gnunet.util.GnunetMessage$Body|333=org.gnunet.peerinfo.messages.InfoEnd
58org.gnunet.util.GnunetMessage$Body|331=org.gnunet.peerinfo.ListAllPeersMessage 58org.gnunet.util.GnunetMessage$Body|331=org.gnunet.peerinfo.messages.ListAllPeersMessage
59org.gnunet.util.GnunetMessage$Body|374=org.gnunet.transport.messages.RequestConnectMessage 59org.gnunet.util.GnunetMessage$Body|374=org.gnunet.transport.messages.RequestConnectMessage
60org.gnunet.util.GnunetMessage$Body|369=org.gnunet.transport.messages.BlacklistInitMessage 60org.gnunet.util.GnunetMessage$Body|369=org.gnunet.transport.messages.BlacklistInitMessage
61org.gnunet.util.GnunetMessage$Body|371=org.gnunet.transport.messages.BlacklistReplyMessage 61org.gnunet.util.GnunetMessage$Body|371=org.gnunet.transport.messages.BlacklistReplyMessage
@@ -64,15 +64,15 @@ org.gnunet.util.GnunetMessage$Body|380=org.gnunet.transport.messages.AddressIter
64org.gnunet.util.GnunetMessage$Body|383=org.gnunet.transport.messages.AddressIterateResponseMessage 64org.gnunet.util.GnunetMessage$Body|383=org.gnunet.transport.messages.AddressIterateResponseMessage
65org.gnunet.util.GnunetMessage$Body|366=org.gnunet.transport.messages.SetQuotaMessage 65org.gnunet.util.GnunetMessage$Body|366=org.gnunet.transport.messages.SetQuotaMessage
66org.gnunet.util.GnunetMessage$Body|360=org.gnunet.transport.messages.StartMessage 66org.gnunet.util.GnunetMessage$Body|360=org.gnunet.transport.messages.StartMessage
67org.gnunet.util.GnunetMessage$Body|143=org.gnunet.dht.ClientGetMessage 67org.gnunet.util.GnunetMessage$Body|143=org.gnunet.dht.messages.ClientGetMessage
68org.gnunet.util.GnunetMessage$Body|142=org.gnunet.dht.ClientPutMessage 68org.gnunet.util.GnunetMessage$Body|142=org.gnunet.dht.messages.ClientPutMessage
69org.gnunet.util.GnunetMessage$Body|153=org.gnunet.dht.MonitorStartStop 69org.gnunet.util.GnunetMessage$Body|153=org.gnunet.dht.messages.MonitorStartStop
70org.gnunet.util.GnunetMessage$Body|155=org.gnunet.dht.ClientPutConfirmationMessage 70org.gnunet.util.GnunetMessage$Body|155=org.gnunet.dht.messages.ClientPutConfirmationMessage
71org.gnunet.util.GnunetMessage$Body|144=org.gnunet.dht.ClientGetStopMessage 71org.gnunet.util.GnunetMessage$Body|144=org.gnunet.dht.messages.ClientGetStopMessage
72org.gnunet.util.GnunetMessage$Body|145=org.gnunet.dht.ClientResultMessage 72org.gnunet.util.GnunetMessage$Body|145=org.gnunet.dht.messages.ClientResultMessage
73org.gnunet.util.GnunetMessage$Body|149=org.gnunet.dht.MonitorGetMessage 73org.gnunet.util.GnunetMessage$Body|149=org.gnunet.dht.messages.MonitorGetMessage
74org.gnunet.util.GnunetMessage$Body|150=org.gnunet.dht.MonitorGetRespMessage 74org.gnunet.util.GnunetMessage$Body|150=org.gnunet.dht.messages.MonitorGetRespMessage
75org.gnunet.util.GnunetMessage$Body|151=org.gnunet.dht.MonitorPutMessage 75org.gnunet.util.GnunetMessage$Body|151=org.gnunet.dht.messages.MonitorPutMessage
76org.gnunet.util.GnunetMessage$Body|171=org.gnunet.statistics.messages.GetResponseEndMessage 76org.gnunet.util.GnunetMessage$Body|171=org.gnunet.statistics.messages.GetResponseEndMessage
77org.gnunet.util.GnunetMessage$Body|170=org.gnunet.statistics.messages.GetResponseMessage 77org.gnunet.util.GnunetMessage$Body|170=org.gnunet.statistics.messages.GetResponseMessage
78org.gnunet.util.GnunetMessage$Body|169=org.gnunet.statistics.messages.GetMessage 78org.gnunet.util.GnunetMessage$Body|169=org.gnunet.statistics.messages.GetMessage
@@ -100,4 +100,4 @@ org.gnunet.util.GnunetMessage$Body|495=org.gnunet.testbed.messages.HelperInitMes
100org.gnunet.util.GnunetMessage$Body|483=org.gnunet.testbed.messages.ManagePeerServiceMessage 100org.gnunet.util.GnunetMessage$Body|483=org.gnunet.testbed.messages.ManagePeerServiceMessage
101org.gnunet.gns.records.RecordData|65536=org.gnunet.gns.records.PkeyRecordData 101org.gnunet.gns.records.RecordData|65536=org.gnunet.gns.records.PkeyRecordData
102org.gnunet.gns.records.RecordData|1=org.gnunet.gns.records.ARecordData 102org.gnunet.gns.records.RecordData|1=org.gnunet.gns.records.ARecordData
103# generated 2014/03/30 01:11:14 103# generated 2014/04/08 10:41:17