diff --git a/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java b/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java index 44490c37be367f1fd338aa3224b351383953d421..b3770070f4e99436f747a1ca8aee559b64bc51f5 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java +++ b/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java @@ -30,7 +30,8 @@ abstract class ExtensionHandler { public static final int ID_METADATA = 1; public static final String TYPE_METADATA = "ut_metadata"; public static final int ID_PEX = 2; - public static final String TYPE_PEX = "ut_pex"; + /** not ut_pex since the compact format is different */ + public static final String TYPE_PEX = "i2p_pex"; /** Pieces * SHA1 Hash length, + 25% extra for file names, benconding overhead, etc */ private static final int MAX_METADATA_SIZE = Storage.MAX_PIECES * 20 * 5 / 4; private static final int PARALLEL_REQUESTS = 3; diff --git a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java index a3ecb1777ab1f820accd3ea47727b55b007b164b..13bda2e5575013d204b5e9f88fd856c51abfdb62 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java +++ b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java @@ -72,7 +72,7 @@ public class I2PSnarkUtil { public static final int DEFAULT_MAX_UP_BW = 8; //KBps public static final int MAX_CONNECTIONS = 16; // per torrent private static final String PROP_MAX_BW = "i2cp.outboundBytesPerSecond"; - private static final boolean ENABLE_DHT = true; + //private static final boolean ENABLE_DHT = true; public I2PSnarkUtil(I2PAppContext ctx) { _context = ctx; diff --git a/apps/i2psnark/java/src/org/klomp/snark/Peer.java b/apps/i2psnark/java/src/org/klomp/snark/Peer.java index 5110ae9a5f01e88173c2cdee86e475a2af41d498..5489148121228bab903e2c4ac79ef7c1c03b979b 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/Peer.java +++ b/apps/i2psnark/java/src/org/klomp/snark/Peer.java @@ -79,6 +79,8 @@ public class Peer implements Comparable static final long OPTION_EXTENSION = 0x0000000000100000l; static final long OPTION_FAST = 0x0000000000000004l; static final long OPTION_DHT = 0x0000000000000001l; + /** we use a different bit since the compact format is different */ + static final long OPTION_I2P_DHT = 0x0000000040000000l; static final long OPTION_AZMP = 0x1000000000000000l; private long options; @@ -269,7 +271,7 @@ public class Peer implements Comparable out.sendExtension(0, ExtensionHandler.getHandshake(metasize)); } - if ((options & OPTION_DHT) != 0 && util.getDHT() != null) { + if ((options & OPTION_I2P_DHT) != 0 && util.getDHT() != null) { if (_log.shouldLog(Log.DEBUG)) _log.debug("Peer supports DHT, sending PORT message"); int port = util.getDHT().getPort(); @@ -327,8 +329,11 @@ public class Peer implements Comparable dout.write(19); dout.write("BitTorrent protocol".getBytes("UTF-8")); // Handshake write - options - // FIXME not if DHT disabled - dout.writeLong(OPTION_EXTENSION | OPTION_DHT); + long myOptions = OPTION_EXTENSION; + // FIXME get util here somehow + //if (util.getDHT() != null) + // myOptions |= OPTION_I2P_DHT; + dout.writeLong(myOptions); // Handshake write - metainfo hash dout.write(infohash); // Handshake write - peer id diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java index 026363f6f2957982bf5e3f20d7ba197a11fd94ed..3f9f90edfbbc8f0fcd7045337b29317cb6389386 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java +++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java @@ -750,8 +750,7 @@ public class SnarkManager implements Snark.CompleteListener { * Must be a filesystem-safe name. * @since 0.8.4 */ - private void locked_writeMetaInfo(MetaInfo metainfo, String filename) throws IOException { - // prevent interference by DirMonitor + private static void locked_writeMetaInfo(MetaInfo metainfo, String filename) throws IOException { File file = new File(filename); if (file.exists()) throw new IOException("Cannot overwrite an existing .torrent file: " + file.getPath()); @@ -1313,7 +1312,6 @@ public class SnarkManager implements Snark.CompleteListener { if ( (snark != null) && (!snark.isStopped()) ) snark.stopTorrent(); } -//save magnets } } } diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/DHT.java b/apps/i2psnark/java/src/org/klomp/snark/dht/DHT.java index 29e0fa20b4e35e24bb953d37e7f845e69ce399ac..a074890b93ff555c753fdb1cc0959a8eab67d45d 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/dht/DHT.java +++ b/apps/i2psnark/java/src/org/klomp/snark/dht/DHT.java @@ -1,7 +1,6 @@ package org.klomp.snark.dht; /* - * Copyright 2010 zzz (zzz@mail.i2p) * GPLv2 */