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

Skip to content
Snippets Groups Projects
  1. Jul 08, 2011
    • zzz's avatar
      javadoc · dd490625
      zzz authored
      dd490625
  2. Jul 03, 2011
    • zzz's avatar
      * AppContext: Add hasWrapper() method · 43044586
      zzz authored
        * Shutdown:
          - Clear more resources in peer manager, netdb, stat manager,
            session key manager, naming service, tunnel dispatcher,
            OCMOSJ (result of testing with jvisualvm)
          - Don't call wrapper on shutdown (starting two threads) if we
            were started with runplain
      43044586
  3. Jun 17, 2011
    • zzz's avatar
      * Shutdown: · 9ad8f35b
      zzz authored
          - Kill the global app context
          - Recognize multi-router case
          - Fix RandomIterator, YKGenerator, DHBuilder, NTCPConnection
            hanging on to old context -
            probably other offenders not yet found
          - Fix DHBuilder thread not stopping
      9ad8f35b
  4. Jun 14, 2011
  5. Jun 02, 2011
  6. Feb 08, 2011
  7. Jan 31, 2011
  8. Jan 19, 2011
  9. Jan 07, 2011
  10. Jan 03, 2011
  11. Dec 12, 2010
  12. Dec 01, 2010
    • zzz's avatar
      * I2CP: Change from the internal pseudo-socket that was · 19c6760e
      zzz authored
            implemented in 0.7.9 to an internal Queue that directly
            passes I2CPMessage objects. For in-JVM clients,
            this eliminates two writer threads per client and
            avoids the serialization/deserialization of I2CP messages.
      19c6760e
  13. Nov 19, 2010
  14. Aug 14, 2010
  15. Aug 10, 2010
  16. Jul 06, 2010
  17. Mar 08, 2010
  18. Mar 02, 2010
  19. Dec 19, 2009
  20. Nov 28, 2009
    • zzz's avatar
      * NamingServices · c10ea84a
      zzz authored
            - Move default reverseLookup to base class
            - Deprecate unused services
      c10ea84a
  21. Aug 30, 2009
  22. Jun 15, 2009
    • zzz's avatar
      cleanup · bdd75793
      zzz authored
      bdd75793
  23. Jun 14, 2009
  24. Jun 13, 2009
  25. 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
  26. 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
  27. Feb 25, 2009
  28. Jan 20, 2009
  29. Dec 10, 2008
  30. Nov 26, 2008
  31. Jul 16, 2008
  32. 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
  33. 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
  34. 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
  35. Sep 18, 2005
  36. 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
  37. 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
Loading