From 1e404cd7ac45c2f02a74e0bb1b2e981e651de184 Mon Sep 17 00:00:00 2001 From: zzz Date: Fri, 10 Nov 2006 01:44:35 +0000 Subject: [PATCH] 2006-10-29 zzz * i2psnark: Fix and enable generation of multifile torrents, print error if no tracker selected at create-torrent, fix stopping a torrent that hasn't started successfully, add eBook and GayTorrents trackers to form, web page formatting tweaks --- .../java/src/org/klomp/snark/SnarkManager.java | 2 ++ .../java/src/org/klomp/snark/Storage.java | 2 ++ .../src/org/klomp/snark/TrackerClient.java | 5 ++++- .../org/klomp/snark/web/I2PSnarkServlet.java | 18 +++++++++--------- history.txt | 9 ++++++++- .../java/src/net/i2p/router/RouterVersion.java | 4 ++-- 6 files changed, 27 insertions(+), 13 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java index 0e0d3434a1..1e1e47dba8 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java +++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java @@ -466,6 +466,8 @@ public class SnarkManager implements Snark.CompleteListener { private static final String DEFAULT_TRACKERS[] = { "Postman's tracker", "http://YRgrgTLGnbTq2aZOZDJQ~o6Uk5k6TK-OZtx0St9pb0G-5EGYURZioxqYG8AQt~LgyyI~NCj6aYWpPO-150RcEvsfgXLR~CxkkZcVpgt6pns8SRc3Bi-QSAkXpJtloapRGcQfzTtwllokbdC-aMGpeDOjYLd8b5V9Im8wdCHYy7LRFxhEtGb~RL55DA8aYOgEXcTpr6RPPywbV~Qf3q5UK55el6Kex-6VCxreUnPEe4hmTAbqZNR7Fm0hpCiHKGoToRcygafpFqDw5frLXToYiqs9d4liyVB-BcOb0ihORbo0nS3CLmAwZGvdAP8BZ7cIYE3Z9IU9D1G8JCMxWarfKX1pix~6pIA-sp1gKlL1HhYhPMxwyxvuSqx34o3BqU7vdTYwWiLpGM~zU1~j9rHL7x60pVuYaXcFQDR4-QVy26b6Pt6BlAZoFmHhPcAuWfu-SFhjyZYsqzmEmHeYdAwa~HojSbofg0TMUgESRXMw6YThK1KXWeeJVeztGTz25sL8AAAA.i2p/announce.php" + , "eBook Tracker", "http://E71FRom6PZNEqTN2Lr8P-sr23b7HJVC32KoGnVQjaX6zJiXwhJy2HsXob36Qmj81TYFZdewFZa9mSJ533UZgGyQkXo2ahctg82JKYZfDe5uDxAn1E9YPjxZCWJaFJh0S~UwSs~9AZ7UcauSJIoNtpxrtbmRNVFLqnkEDdLZi26TeucfOmiFmIWnVblLniWv3tG1boE9Abd-6j3FmYVrRucYuepAILYt6katmVNOk6sXmno1Eynrp~~MBuFq0Ko6~jsc2E2CRVYXDhGHEMdt-j6JUz5D7S2RIVzDRqQyAZLKJ7OdQDmI31przzmne1vOqqqLC~1xUumZVIvF~yOeJUGNjJ1Vx0J8i2BQIusn1pQJ6UCB~ZtZZLQtEb8EPVCfpeRi2ri1M5CyOuxN0V5ekmPHrYIBNevuTCRC26NP7ZS5VDgx1~NaC3A-CzJAE6f1QXi0wMI9aywNG5KGzOPifcsih8eyGyytvgLtrZtV7ykzYpPCS-rDfITncpn5hliPUAAAA.i2p/pub/bt/announce.php" + , "Gaytorrents Tracker", "http://uxPWHbK1OIj9HxquaXuhMiIvi21iK0~ZiG9d8G0840ZXIg0r6CbiV71xlsqmdnU6wm0T2LySriM0doW2gUigo-5BNkUquHwOjLROiETnB3ZR0Ml4IGa6QBPn1aAq2d9~g1r1nVjLE~pcFnXB~cNNS7kIhX1d6nLgYVZf0C2cZopEow2iWVUggGGnAA9mHjE86zLEnTvAyhbAMTqDQJhEuLa0ZYSORqzJDMkQt90MV4YMjX1ICY6RfUSFmxEqu0yWTrkHsTtRw48l~dz9wpIgc0a0T9C~eeWvmBFTqlJPtQZwntpNeH~jF7nlYzB58olgV2HHFYpVYD87DYNzTnmNWxCJ5AfDorm6AIUCV2qaE7tZtI1h6fbmGpGlPyW~Kw5GXrRfJwNvr6ajwAVi~bPVnrBwDZezHkfW4slOO8FACPR28EQvaTu9nwhAbqESxV2hCTq6vQSGjuxHeOuzBOEvRWkLKOHWTC09t2DbJ94FSqETmZopTB1ukEmaxRWbKSIaAAAA.i2p/announce.php" , "Orion's tracker", "http://gKik1lMlRmuroXVGTZ~7v4Vez3L3ZSpddrGZBrxVriosCQf7iHu6CIk8t15BKsj~P0JJpxrofeuxtm7SCUAJEr0AIYSYw8XOmp35UfcRPQWyb1LsxUkMT4WqxAT3s1ClIICWlBu5An~q-Mm0VFlrYLIPBWlUFnfPR7jZ9uP5ZMSzTKSMYUWao3ejiykr~mtEmyls6g-ZbgKZawa9II4zjOy-hdxHgP-eXMDseFsrym4Gpxvy~3Fv9TuiSqhpgm~UeTo5YBfxn6~TahKtE~~sdCiSydqmKBhxAQ7uT9lda7xt96SS09OYMsIWxLeQUWhns-C~FjJPp1D~IuTrUpAFcVEGVL-BRMmdWbfOJEcWPZ~CBCQSO~VkuN1ebvIOr9JBerFMZSxZtFl8JwcrjCIBxeKPBmfh~xYh16BJm1BBBmN1fp2DKmZ2jBNkAmnUbjQOqWvUcehrykWk5lZbE7bjJMDFH48v3SXwRuDBiHZmSbsTY6zhGY~GkMQHNGxPMMSIAAAA.i2p/bt/announce.php" // , "The freak's tracker", "http://mHKva9x24E5Ygfey2llR1KyQHv5f8hhMpDMwJDg1U-hABpJ2NrQJd6azirdfaR0OKt4jDlmP2o4Qx0H598~AteyD~RJU~xcWYdcOE0dmJ2e9Y8-HY51ie0B1yD9FtIV72ZI-V3TzFDcs6nkdX9b81DwrAwwFzx0EfNvK1GLVWl59Ow85muoRTBA1q8SsZImxdyZ-TApTVlMYIQbdI4iQRwU9OmmtefrCe~ZOf4UBS9-KvNIqUL0XeBSqm0OU1jq-D10Ykg6KfqvuPnBYT1BYHFDQJXW5DdPKwcaQE4MtAdSGmj1epDoaEBUa9btQlFsM2l9Cyn1hzxqNWXELmx8dRlomQLlV4b586dRzW~fLlOPIGC13ntPXogvYvHVyEyptXkv890jC7DZNHyxZd5cyrKC36r9huKvhQAmNABT2Y~pOGwVrb~RpPwT0tBuPZ3lHYhBFYmD8y~AOhhNHKMLzea1rfwTvovBMByDdFps54gMN1mX4MbCGT4w70vIopS9yAAAA.i2p/bytemonsoon/announce.php" }; diff --git a/apps/i2psnark/java/src/org/klomp/snark/Storage.java b/apps/i2psnark/java/src/org/klomp/snark/Storage.java index bd484279eb..296d96b7c6 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/Storage.java +++ b/apps/i2psnark/java/src/org/klomp/snark/Storage.java @@ -219,6 +219,8 @@ public class Storage { File f = (File)it.next(); names[i] = f.getPath(); + if (base.isDirectory() && names[i].startsWith(base.getPath())) + names[i] = names[i].substring(base.getPath().length() + 1); lengths[i] = f.length(); rafs[i] = new RandomAccessFile(f, "r"); i++; diff --git a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java index 764f69111b..8017ee16fb 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java +++ b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java @@ -153,7 +153,10 @@ public class TrackerClient extends I2PThread coordinator.trackerProblems = ioe.getMessage(); } - if (!started && !stop) + if (stop) + break; + + if (!started) { Snark.debug(" Retrying in one minute...", Snark.DEBUG); try diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index a2b616c767..320dc5f314 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -249,7 +249,9 @@ public class I2PSnarkServlet extends HttpServlet { if ( (announceURLOther != null) && (announceURLOther.trim().length() > "http://.i2p/announce".length()) ) announceURL = announceURLOther; - if (baseFile.exists() && baseFile.isFile()) { + if (announceURL == null || announceURL.length() <= 0) + _manager.addMessage("Error creating torrent - you must select a tracker"); + else if (baseFile.exists()) { try { Storage s = new Storage(baseFile, announceURL, null); s.create(); @@ -267,10 +269,8 @@ public class I2PSnarkServlet extends HttpServlet { } catch (IOException ioe) { _manager.addMessage("Error creating a torrent for " + baseFile.getAbsolutePath() + ": " + ioe.getMessage()); } - } else if (baseFile.exists()) { - _manager.addMessage("I2PSnark doesn't yet support creating multifile torrents"); } else { - _manager.addMessage("Cannot create a torrent for the nonexistant data: " + baseFile.getAbsolutePath()); + _manager.addMessage("Cannot create a torrent for the nonexistent data: " + baseFile.getAbsolutePath()); } } } @@ -418,7 +418,8 @@ public class I2PSnarkServlet extends HttpServlet { // *not* enctype="multipart/form-data", so that the input type=file sends the filename, not the file out.write("
\n"); out.write("\n"); - out.write("From URL : \n"); + out.write("Add Torrent:
\n"); + out.write("From URL : \n"); // not supporting from file at the moment, since the file name passed isn't always absolute (so it may not resolve) //out.write("From file:
\n"); out.write("
\n"); @@ -433,10 +434,11 @@ public class I2PSnarkServlet extends HttpServlet { if (baseFile == null) baseFile = ""; - out.write("\n"); + out.write("
\n"); // *not* enctype="multipart/form-data", so that the input type=file sends the filename, not the file out.write("\n"); out.write("\n"); + out.write("Create Torrent:
\n"); //out.write("From file:
\n"); out.write("Data to seed: " + _manager.getDataDir().getAbsolutePath() + File.separatorChar + "
\n"); out.write("\n"); out.write("
\n"); @@ -590,8 +592,6 @@ public class I2PSnarkServlet extends HttpServlet { "}\n" + ".snarkNewTorrent {\n" + " font-size: 10pt;\n" + - " font-family: monospace;\n" + - " background-color: #ADAE9;\n" + "}\n" + ".snarkAddInfo {\n" + " font-size: 10pt;\n" + diff --git a/history.txt b/history.txt index fdc30c2bb3..128df6e8bc 100644 --- a/history.txt +++ b/history.txt @@ -1,4 +1,11 @@ -$Id: history.txt,v 1.532 2006-10-08 20:44:47 jrandom Exp $ +$Id: history.txt,v 1.533 2006-10-29 14:29:50 complication Exp $ + +2006-10-29 zzz + * i2psnark: Fix and enable generation of multifile torrents, + print error if no tracker selected at create-torrent, + fix stopping a torrent that hasn't started successfully, + add eBook and GayTorrents trackers to form, + web page formatting tweaks * 2006-10-10 0.6.1.26 released diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 86de6395c9..68034a06d0 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.467 $ $Date: 2006-10-08 20:45:02 $"; + public final static String ID = "$Revision: 1.468 $ $Date: 2006-10-29 14:29:53 $"; public final static String VERSION = "0.6.1.26"; - public final static long BUILD = 1; + public final static long BUILD = 2; public static void main(String args[]) { System.out.println("I2P Router version: " + VERSION + "-" + BUILD); System.out.println("Router ID: " + RouterVersion.ID);