commit c7d8ec8a32ecfb24ef85745849e889f08947ddd1 Author: Karsten Loesing karsten.loesing@gmx.net Date: Fri Jan 27 11:28:32 2012 +0100
Include exit lists in rsync, too. --- src/org/torproject/ernie/db/Main.java | 1 + src/org/torproject/ernie/db/RsyncDataProvider.java | 22 +++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/src/org/torproject/ernie/db/Main.java b/src/org/torproject/ernie/db/Main.java index a20748a..ab79174 100644 --- a/src/org/torproject/ernie/db/Main.java +++ b/src/org/torproject/ernie/db/Main.java @@ -146,6 +146,7 @@ public class Main { new File(config.getSanitizedBridgesWriteDirectory()), config.getSanitizedAssignmentsDirectory() == null ? null : new File(config.getSanitizedAssignmentsDirectory()), + config.getDownloadExitList(), new File(config.getRsyncDirectory())); }
diff --git a/src/org/torproject/ernie/db/RsyncDataProvider.java b/src/org/torproject/ernie/db/RsyncDataProvider.java index 11aa1c0..2f2c1b4 100644 --- a/src/org/torproject/ernie/db/RsyncDataProvider.java +++ b/src/org/torproject/ernie/db/RsyncDataProvider.java @@ -13,7 +13,8 @@ import java.util.logging.*; public class RsyncDataProvider { public RsyncDataProvider(File directoryArchivesOutputDirectory, File sanitizedBridgesWriteDirectory, - File sanitizedAssignmentsDirectory, File rsyncDirectory) { + File sanitizedAssignmentsDirectory, + boolean downloadExitList, File rsyncDirectory) {
/* Initialize logger. */ Logger logger = Logger.getLogger(RsyncDataProvider.class.getName()); @@ -126,6 +127,25 @@ public class RsyncDataProvider { + "are still " + fileNamesInRsync.size() + " files left in " + rsyncDirectory.getAbsolutePath() + ".");
+ /* Copy exit lists from the last 3 days. */ + if (downloadExitList) { + files.add(new File("exitlist")); + while (!files.isEmpty()) { + File pop = files.pop(); + if (pop.isDirectory()) { + files.addAll(Arrays.asList(pop.listFiles())); + } else if (pop.lastModified() >= cutOffMillis) { + String fileName = pop.getName(); + this.copyFile(pop, new File(rsyncDirectory, + "exit-lists/" + fileName)); + fileNamesInRsync.remove(pop.getName()); + } + } + } + logger.info("After copying exit lists, there are still " + + fileNamesInRsync.size() + " files left in " + + rsyncDirectory.getAbsolutePath() + "."); + /* Delete all files that we didn't (over-)write in this run. */ files.add(rsyncDirectory); while (!files.isEmpty()) {
tor-commits@lists.torproject.org