- Jan 07, 2011
-
-
mathiasdm authored
-
- Jan 03, 2011
-
-
mathiasdm authored
-
- Nov 19, 2010
-
-
zzz authored
add i2p.insecureFiles option to disable (default false)
-
- Aug 14, 2010
-
-
zzz authored
-
- Aug 10, 2010
-
-
zzz authored
-
- Jul 06, 2010
-
-
zzz authored
-
- Mar 08, 2010
-
-
zzz authored
-
- Mar 02, 2010
-
-
zzz authored
-
- Dec 19, 2009
-
-
zzz authored
-
- Nov 28, 2009
-
-
zzz authored
- Move default reverseLookup to base class - Deprecate unused services
-
- Aug 30, 2009
-
-
zzz authored
-
- Jun 15, 2009
-
-
zzz authored
-
- Jun 14, 2009
-
-
zzz authored
-
- Jun 13, 2009
-
-
zzz authored
-
- Jun 04, 2009
-
-
zzz authored
Eliminate all uses of the current working directory, and set up multiple directories specified by absolute paths for various uses. Add a WorkingDir class to create a user config directory and migrate files to it for new installs. The directory will be $HOME/.i2p on linux and %APPDIR%\I2P on Windows, or as specified in the system property -Di2p.dir.config=/path/to/i2pdir All files except for the base install and temp files will be in the config directory by default. Temp files will be in a i2p-xxxxx subdirectory of the system temp directory specified by the system property java.io.tmpdir. Convert all file opens in the code to be relative to a specific directory, as specified in the context. Code and applications should never open files relative to the current working directory (e.g. new File("foo")). All files should be accessed in the appropriate context directory, e.g. new File(_context.getAppDir(), "foo"). The router.config file location may be specified as a system property on the java command line with -Drouter.configLocation=/path/to/router.config All directories may be specified as properties in the router.config file. The migration will copy all files from an existing installation, except i2psnark/, with the system property -Di2p.dir.migrate=true. Otherwise it will just set up a new directory with a minimal configuration. The migration will also create a modified wrapper.config and (on linux only) a modified i2prouter script, and place them in the config directory. There are no changes to the installer or the default i2prouter, i2prouter.bat, i2prouter, wrapper.config, runplain.sh, windows service installer/uninstaller, etc. in this checkin. * Directories. These are all set at instantiation and will not be changed by * subsequent property changes. * All properties, if set, should be absolute paths. * * Name Property Method Files * ----- -------- ----- ----- * Base i2p.dir.base getBaseDir() lib/, webapps/, docs/, geoip/, licenses/, ... * Temp i2p.dir.temp getTempDir() Temporary files * Config i2p.dir.config getConfigDir() *.config, hosts.txt, addressbook/, ... * * (the following all default to the same as Config) * * Router i2p.dir.router getRouterDir() netDb/, peerProfiles/, router.*, keyBackup/, ... * Log i2p.dir.log getLogDir() wrapper.log*, logs/ * PID i2p.dir.pid getPIDDir() wrapper *.pid files, router.ping * App i2p.dir.app getAppDir() eepsite/, ... * * Note that we can't control where the wrapper actually puts its files. All these will be set appropriately in a Router Context. In an I2P App Context, all except Temp will be the current working directory. Lightly tested so far, needs much more testing.
-
- May 29, 2009
-
-
zzz authored
- Don't instantiate unused SessionKeyPersistenceHelper - Use TransientSessionKeyManager instead of PersistentSessionKeyManager - Add generics to TransientSessionKeyManager to help understand it - Change initial session map size to 64 (was 1024) - Prepare for per-destination SessionKeyManagers in ElGamalAESEngine
-
- Feb 25, 2009
-
-
zzz authored
so that apps can register more easily
-
- Jan 20, 2009
-
-
zzz authored
* Routerconsole: Add configkeyring.jsp
-
- Dec 10, 2008
-
-
zzz authored
-
- Nov 26, 2008
-
-
dev authored
-
- Jul 16, 2008
-
-
Oldaris authored
-
- Sep 27, 2006
-
-
* Subclass from Clock a RouterClock which can access router transports, with the goal of developing it to second-guess NTP results * Make transports report clock skew in seconds * Adjust renderStatusHTML() methods accordingly * Show average for NTCP clock skews too * Give transports a getClockSkews() method to report clock skews * Give transport manager a getClockSkews() method to aggregate results * Give comm system facade a getMedianPeerClockSkew() method which RouterClock calls (to observe results, add "net.i2p.router.transport.CommSystemFacadeImpl=WARN" to logging) * Extra explicitness in NTCP classes to denote unit of time. * Fix some places in NTCPConnection where milliseconds and seconds were confused
- Feb 26, 2006
-
- Oct 22, 2005
-
-
* Integrated GNU-Crypto's Fortuna PRNG, seeding it off /dev/urandom and ./prngseed.rnd (if they exist), and reseeding it with data out of various crypto operations (unused bits in a DH exchange, intermediary bits in a DSA signature generation, extra bits in an ElGamal decrypt). The Fortuna implementation under gnu.crypto.prng has been modified to use BouncyCastle's SHA256 and Cryptix's AES (since those are the ones I2P uses), and the resulting gnu.crypto.prng.* are therefor available under GPL+Classpath's linking exception (~= LGPL). I2P's SecureRandom wrapper around it is, of course, public domain.
-
- Sep 18, 2005
-
- Jul 04, 2005
-
-
* Within the tunnel, use xor(IV, msg[0:16]) as the flag to detect dups, rather than the IV by itself, preventing an attack that would let colluding internal adversaries tag a message to determine that they are in the same tunnel. Thanks dvorak for the catch! * Drop long inactive profiles on startup and shutdown * /configstats.jsp: web interface to pick what stats to log * Deliver more session tags to account for wider window sizes * Cache some intermediate values in our HMACSHA256 and BC's HMAC * Track the client send rate (stream.sendBps and client.sendBpsRaw) * UrlLauncher: adjust the browser selection order * I2PAppContext: hooks for dummy HMACSHA256 and a weak PRNG * StreamSinkClient: add support for sending an unlimited amount of data * Migrate the tests out of the default build jars 2005-06-22 Comwiz * Migrate the core tests to junit
-
- Apr 24, 2005
-
-
* Added a pool of PRNGs using a different synchronization technique, hopefully sufficient to work around IBM's PRNG bugs until we get our own Fortuna. * In the streaming lib, don't jack up the RTT on NACK, and have the window size bound the not-yet-ready messages to the peer, not the unacked message count (not sure yet whether this is worthwile). * Many additions to the messageHistory log. * Handle out of order tunnel fragment delivery (not an issue on the live net with TCP, but critical with UDP). and for udp stuff: * implemented tcp-esque rto code in the udp transport * make sure we don't ACK too many messages at once * transmit fragments in a simple (nonrandom) order so that we can more easily adjust timeouts/etc. * let the active outbound pool grow dynamically if there are outbound slots to spare * use a simple decaying bloom filter at the UDP level to drop duplicate resent packets.
-
- Mar 23, 2005
-
-
* New /configupdate.jsp page for controlling the update / notification process, as well as various minor related updates. Note that not all options are exposed yet, and the update detection code isn't in place in this commit - it currently says there is always an update available. * New EepGet component for reliable downloading, with a CLI exposed in java -cp lib/i2p.jar net.i2p.util.EepGet url * Added a default signing key to the TrustedUpdate component to be used for verifying updates. This signing key can be authenticated via gpg --verify i2p/core/java/src/net/i2p/crypto/TrustedUpdate.java * New public domain SHA1 implementation for the DSA code so that we can handle signing streams of arbitrary size without excess memory usage (thanks P.Verdy!) * Added some helpers to the TrustedUpdate to work off streams and to offer a minimal CLI: TrustedUpdate keygen pubKeyFile privKeyFile TrustedUpdate sign origFile signedFile privKeyFile TrustedUpdate verify signedFile
-
- Sep 28, 2004
-
-
got some pretty heavy GC churn when under load. rough estimate is we allocate 5-8x as much data as we need, copying it all over the place before forwarding it (or processing it). this should cut down a few of those copies, but not enough yet. it'd be great to get that down to 2x. * lots of logging
-
- Aug 01, 2004
-
- Jun 22, 2004
-
- May 17, 2004
-
- Apr 24, 2004
-
-
a rooted app context. The core itself has its own I2PAppContext (see its javadoc for, uh, docs), and the router extends that to expose the router's singletons. The main point of this is to make it so that we can run multiple routers in the same JVM, even to allow different apps in the same JVM to switch singleton implementations (e.g. run some routers with one set of profile calculators, and other routers with a different one). There is still some work to be done regarding the actual boot up of multiple routers in a JVM, as well as their configuration, though the plan is to have the RouterContext override the I2PAppContext's getProperty/getPropertyNames methods to read from a config file (seperate ones per context) instead of using the System.getProperty that the base I2PAppContext uses. Once the multi-router is working, i'll shim in a VMCommSystem that doesn't depend upon sockets or threads to read/write (and that uses configurable message send delays / disconnects / etc, perhaps using data from the routerContext.getProperty to drive it). I could hold off until the sim is all working, but there's a truckload of changes in here and I hate dealing with conflicts ;) Everything works - I've been running 'er for a while and kicked the tires a bit, but if you see something amiss, please let me know.