I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
  1. Dec 19, 2009
  2. Nov 28, 2009
    • zzz's avatar
      * NamingServices · c10ea84a
      zzz authored
            - Move default reverseLookup to base class
            - Deprecate unused services
      c10ea84a
  3. Aug 30, 2009
  4. Jun 15, 2009
    • zzz's avatar
      cleanup · bdd75793
      zzz authored
      bdd75793
  5. Jun 14, 2009
  6. Jun 13, 2009
  7. Jun 04, 2009
    • zzz's avatar
      Big directory rework. · 524a25eb
      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.
      524a25eb
  8. May 29, 2009
    • zzz's avatar
      * Session Keys: · e65c2e27
      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
      e65c2e27
  9. Feb 25, 2009
  10. Jan 20, 2009
  11. Dec 10, 2008
  12. Nov 26, 2008
  13. Jul 16, 2008
  14. Sep 27, 2006
    • jrandom's avatar
      2006-09-27 jrandom · c14e52ce
      jrandom authored and zzz's avatar zzz committed
          * added HMAC-SHA256
          * properly use CRLF with EepPost
          * suppress jbigi/jcpuid messages if jbigi.dontLog/jcpuid.dontLog is set
          * PBE session key generation (with 1000 rounds of SHA256)
          * misc SDK helper functions
      c14e52ce
    • complication's avatar
      2006-09-26 Complication · 9325b806
      complication authored and zzz's avatar zzz committed
          * 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
      9325b806
  15. Feb 26, 2006
    • jrandom's avatar
      2006-02-26 jrandom · eee21aa3
      jrandom authored and zzz's avatar zzz committed
          * Switch from the bouncycastle to the gnu-crypto implementation for
            SHA256, as benchmarks show a 10-30% speedup.
          * Removed some unnecessary object caches
          * Don't close i2psnark streams prematurely
      eee21aa3
  16. Oct 22, 2005
    • jrandom's avatar
      2005-10-22 jrandom · c7b9525d
      jrandom authored and zzz's avatar zzz committed
          * 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.
      c7b9525d
  17. Sep 18, 2005
  18. Jul 04, 2005
    • jrandom's avatar
      2005-07-04 jrandom · 18d3f5d2
      jrandom authored and zzz's avatar zzz committed
          * 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
      18d3f5d2
  19. Apr 24, 2005
    • jrandom's avatar
      2005-04-24 jrandom · b2f0d17e
      jrandom authored and zzz's avatar zzz committed
          * 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.
      b2f0d17e
  20. Mar 23, 2005
    • jrandom's avatar
      2005-03-23 jrandom · a2c309dd
      jrandom authored and zzz's avatar zzz committed
          * 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
      a2c309dd
  21. Sep 28, 2004
  22. Aug 01, 2004
  23. Jun 22, 2004
  24. May 17, 2004
  25. Apr 24, 2004
    • jrandom's avatar
      allow overriding the env props · d6594478
      jrandom authored and zzz's avatar zzz committed
      d6594478
    • jrandom's avatar
      big ol' update to strip out the singletons, replacing them with · 393b1d76
      jrandom authored and zzz's avatar zzz committed
      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.
      393b1d76
Loading