Class SanitizedBridgesWriter
- java.lang.Object
-
- org.torproject.metrics.collector.sync.SyncManager
-
- org.torproject.metrics.collector.cron.CollecTorMain
-
- org.torproject.metrics.collector.bridgedescs.SanitizedBridgesWriter
-
- All Implemented Interfaces:
java.lang.Runnable,java.util.concurrent.Callable<java.lang.Object>
public class SanitizedBridgesWriter extends CollecTorMain
Sanitizes bridge descriptors, i.e., removes all possibly sensitive information from them, and writes them to a local directory structure. During the sanitizing process, all information about the bridge identity or IP address are removed or replaced. The goal is to keep the sanitized bridge descriptors useful for statistical analysis while not making it easier for an adversary to enumerate bridges.
There are three types of bridge descriptors: bridge network statuses (lists of all bridges at a given time), server descriptors (published by the bridge to advertise their capabilities), and extra-info descriptors (published by the bridge, mainly for statistical analysis).
-
-
Field Summary
-
Fields inherited from class org.torproject.metrics.collector.cron.CollecTorMain
config, mapPathDescriptors, SOURCES
-
Fields inherited from class org.torproject.metrics.collector.sync.SyncManager
SYNCORIGINS
-
-
Constructor Summary
Constructors Constructor Description SanitizedBridgesWriter(Configuration config)Initialize configuration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Stringmodule()Returns the module name for logging purposes.voidsanitizeAndStoreExtraInfoDescriptor(byte[] data)Sanitizes an extra-info descriptor and writes it to disk.voidsanitizeAndStoreNetworkStatus(byte[] data, java.lang.String publicationTime, java.lang.String authorityFingerprint)Sanitizes a network status and writes it to disk.voidsanitizeAndStoreServerDescriptor(byte[] data)Sanitizes a bridge server descriptor and writes it to disk.protected voidstartProcessing()Module specific code goes here.protected java.lang.StringsyncMarker()Returns property prefix/infix/postfix for Sync related properties.-
Methods inherited from class org.torproject.metrics.collector.cron.CollecTorMain
call, checkAvailableSpace, readProcessedFiles, run, syncMapPathsDescriptors, writeProcessedFiles
-
Methods inherited from class org.torproject.metrics.collector.sync.SyncManager
merge
-
-
-
-
Constructor Detail
-
SanitizedBridgesWriter
public SanitizedBridgesWriter(Configuration config)
Initialize configuration.
-
-
Method Detail
-
module
public java.lang.String module()
Description copied from class:CollecTorMainReturns the module name for logging purposes.- Specified by:
modulein classCollecTorMain
-
syncMarker
protected java.lang.String syncMarker()
Description copied from class:CollecTorMainReturns property prefix/infix/postfix for Sync related properties.- Specified by:
syncMarkerin classCollecTorMain
-
startProcessing
protected void startProcessing() throws ConfigurationExceptionDescription copied from class:CollecTorMainModule specific code goes here.- Specified by:
startProcessingin classCollecTorMain- Throws:
ConfigurationException
-
sanitizeAndStoreNetworkStatus
public void sanitizeAndStoreNetworkStatus(byte[] data, java.lang.String publicationTime, java.lang.String authorityFingerprint)Sanitizes a network status and writes it to disk.
-
sanitizeAndStoreServerDescriptor
public void sanitizeAndStoreServerDescriptor(byte[] data)
Sanitizes a bridge server descriptor and writes it to disk.
-
sanitizeAndStoreExtraInfoDescriptor
public void sanitizeAndStoreExtraInfoDescriptor(byte[] data)
Sanitizes an extra-info descriptor and writes it to disk.
-
-