From 369b6930e5995e0e09ff815468fb94165964294c Mon Sep 17 00:00:00 2001 From: jrandom Date: Wed, 14 Dec 2005 09:32:50 +0000 Subject: [PATCH] 2005-12-14 jrandom * Fix to drop peer references when we shitlist people again (thanks zzz!) * Further I2PSnark fixes to deal with arbitrary torrent info attributes (thanks Complication!) --- apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java | 9 ++++++++- .../java/src/org/klomp/snark/bencode/BEValue.java | 3 +++ .../java/src/org/klomp/snark/bencode/BEncoder.java | 2 ++ history.txt | 7 ++++++- router/java/src/net/i2p/router/RouterVersion.java | 4 ++-- router/java/src/net/i2p/router/Shitlist.java | 2 +- 6 files changed, 22 insertions(+), 5 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java b/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java index 44fcdeab4b..46112b4450 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java +++ b/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java @@ -55,6 +55,7 @@ public class MetaInfo private final int piece_length; private final byte[] piece_hashes; private final long length; + private final Map infoMap; private byte[] torrentdata; @@ -72,6 +73,7 @@ public class MetaInfo this.length = length; this.info_hash = calculateInfoHash(); + infoMap = null; } /** @@ -113,6 +115,7 @@ public class MetaInfo if (val == null) throw new InvalidBEncodingException("Missing info map"); Map info = val.getMap(); + infoMap = info; val = (BEValue)info.get("name"); if (val == null) @@ -124,7 +127,7 @@ public class MetaInfo name_utf8 = val.getString(); else name_utf8 = null; - + val = (BEValue)info.get("piece length"); if (val == null) throw new InvalidBEncodingException("Missing piece length number"); @@ -378,6 +381,10 @@ public class MetaInfo private Map createInfoMap() { Map info = new HashMap(); + if (infoMap != null) { + info.putAll(infoMap); + return info; + } info.put("name", name); if (name_utf8 != null) info.put("name.utf-8", name_utf8); diff --git a/apps/i2psnark/java/src/org/klomp/snark/bencode/BEValue.java b/apps/i2psnark/java/src/org/klomp/snark/bencode/BEValue.java index cad99ed70d..7a8ef02b80 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/bencode/BEValue.java +++ b/apps/i2psnark/java/src/org/klomp/snark/bencode/BEValue.java @@ -170,6 +170,9 @@ public class BEValue } } + /** return the untyped value */ + public Object getValue() { return value; } + public String toString() { String valueString; diff --git a/apps/i2psnark/java/src/org/klomp/snark/bencode/BEncoder.java b/apps/i2psnark/java/src/org/klomp/snark/bencode/BEncoder.java index e17a36d92f..fa6e874d3f 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/bencode/BEncoder.java +++ b/apps/i2psnark/java/src/org/klomp/snark/bencode/BEncoder.java @@ -62,6 +62,8 @@ public class BEncoder bencode((List)o, out); else if (o instanceof Map) bencode((Map)o, out); + else if (o instanceof BEValue) + bencode(((BEValue)o).getValue(), out); else throw new IllegalArgumentException("Cannot bencode: " + o.getClass()); } diff --git a/history.txt b/history.txt index 6a502f39f2..8bee02610a 100644 --- a/history.txt +++ b/history.txt @@ -1,4 +1,9 @@ -$Id: history.txt,v 1.353 2005/12/13 04:38:52 jrandom Exp $ +$Id: history.txt,v 1.354 2005/12/13 16:56:41 jrandom Exp $ + +2005-12-14 jrandom + * Fix to drop peer references when we shitlist people again (thanks zzz!) + * Further I2PSnark fixes to deal with arbitrary torrent info attributes + (thanks Complication!) 2005-12-13 zzz * Don't test tunnels expiring within 90 seconds diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 487daebee1..576db958e5 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -15,9 +15,9 @@ import net.i2p.CoreVersion; * */ public class RouterVersion { - public final static String ID = "$Revision: 1.309 $ $Date: 2005/12/09 03:05:48 $"; + public final static String ID = "$Revision: 1.310 $ $Date: 2005/12/13 16:56:42 $"; public final static String VERSION = "0.6.1.7"; - public final static long BUILD = 3; + public final static long BUILD = 4; public static void main(String args[]) { System.out.println("I2P Router version: " + VERSION + "-" + BUILD); System.out.println("Router ID: " + RouterVersion.ID); diff --git a/router/java/src/net/i2p/router/Shitlist.java b/router/java/src/net/i2p/router/Shitlist.java index 9591f44505..7ccd906c17 100644 --- a/router/java/src/net/i2p/router/Shitlist.java +++ b/router/java/src/net/i2p/router/Shitlist.java @@ -82,7 +82,7 @@ public class Shitlist { } } - //_context.netDb().fail(peer); + _context.netDb().fail(peer); //_context.tunnelManager().peerFailed(peer); _context.messageRegistry().peerFailed(peer); return wasAlready;