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

Skip to content
Snippets Groups Projects
  1. Nov 02, 2013
  2. Dec 11, 2011
    • zzz's avatar
      * I2NP: · 8448001a
      zzz authored
          - Deprecate unused stream methods and I2NPMessageReader since
            all transports provide encapsulation.
          - Don't throw IOE from byte array methods
          - Use cached null cert in GarlicClove
          - Add method to limit size of buffer to read
          - Don't check checksum at input, in most cases
          - Reuse checksum at output, for unomodified pass-through messages
            (but recalculating it now and logging on a mismatch for testing)
          - Fix DatabaseLookupMessage to internally store the don't include peers as
            a List, not a Set, so it doesn't get reordered and break the checksum
          - Log cleanup
        * NTCP:
          - Zero-copy and limit size when handing buffer to I2NP
          - Log hex dump message on I2NPMessageException, like in SSU
          - Don't close connection on I2NPMessageException
      8448001a
  3. Dec 09, 2011
    • zzz's avatar
      * I2NP: · 25b0603f
      zzz authored
          - Earlier detection and better logging of
            truncated TunnelGatewayMessage and DatabaseStoreMessage
          - Fix and enhance UnknownI2NPMessage implementation
          - Don't deserialize or verify the checksum of the
            embeddedI2NP message in the TunnelGatewayMessage
            at the IBGW, just use UnknownI2NPMessage and pass it along,
            except if zero hop; Still to do: similar thing at OBEP
          - Round expiration times when converting to/from seconds for SSU
          - Cleanups and javadoc
      25b0603f
  4. 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
  5. Jan 09, 2011
  6. Jan 07, 2011
  7. Dec 02, 2010
  8. Aug 10, 2010
  9. May 16, 2010
  10. Jan 31, 2010
  11. Jan 29, 2010
    • zzz's avatar
      * Tunnel Building: · 56b3e6a9
      zzz authored
            - Add getRecordCount() to TunnelBuildMessage and TunnelBuildReplyMessage
              so they can be extended.
            - New I2NP Messages VariableTunnelBuildMessage and VariableTunnelBuildReplyMessage,
              which contain the number of request slots in them.
            - Convert all static assumptions of 8 slots to getRecordCount()
            - Use the new VTBM if all hops in the tunnel and the OBEP or IBGW of the reply tunnel
              support it, and the tunnel is 4 hops or shorter.
            - Reply to a VTBM with a VTBRM of the same size
            - Make BuildReplyHandler static
            - Convert the currentlyBuilding List to a ConcurrentHashMap to speed reply lookups
              and eliminate a global lock; don't put fallback tunnels in there
            - Add new tunnel.corruptBuildReply stat
            - Various cleanups and javadoc
      
          Tested as compatible with current network, new messages untested.
      56b3e6a9
  12. Jan 26, 2010
  13. Dec 26, 2009
  14. Oct 19, 2009
  15. Apr 21, 2009
    • sponge's avatar
      2009-04-21 sponge · f2e9e2cc
      sponge authored
          * Code janator work, basic corrections involving @Override, and
            appling final where it is important. Also fixed some equals methods
            and commented places that need fixing.
      f2e9e2cc
  16. Oct 19, 2008
  17. Jul 16, 2008
  18. Apr 19, 2006
    • jrandom's avatar
      2006-04-19 jrandom · 8cba2f42
      jrandom authored and zzz's avatar zzz committed
          * Adjust how we pick high capacity peers to allow the inclusion of fast
            peers (the previous filter assumed an old usage pattern)
          * New set of stats to help track per-packet-type bandwidth usage better
          * Cut out the proactive tail drop from the SSU transport, for now
          * Reduce the frequency of tunnel build attempts while we're saturated
          * Don't drop tunnel requests as easily - prefer to explicitly reject them
      8cba2f42
  19. Apr 05, 2006
  20. Apr 03, 2006
    • jrandom's avatar
      2006-04-01 jrandom · 764149ae
      jrandom authored and zzz's avatar zzz committed
          * Take out the router watchdog's teeth (don't restart on leaseset failure)
          * Filter the IRC ping/pong messages, as some clients send unsafe
            information in them (thanks aardvax and dust!)
      764149ae
  21. Feb 21, 2006
    • jrandom's avatar
      2006-02-20 jrandom · 9990126e
      jrandom authored and zzz's avatar zzz committed
          * Throttle the outbound SSU establishment queue, so it doesn't fill up the
            heap when backlogged (and so that the messages queued up on it don't sit
            there forever)
          * Further SSU memory cleanup
      9990126e
  22. Feb 20, 2006
    • jrandom's avatar
      2006-02-20 jrandom · 4b77dded
      jrandom authored and zzz's avatar zzz committed
          * Major SSU and router tuning to reduce contention, memory usage, and GC
            churn.  There are still issues to be worked out, but this should be a
            substantial improvement.
          * Modified the optional netDb harvester task to support choosing whether
            to use (non-anonymous) direct connections or (anonymous) exploratory
            tunnels to do the harvesting.  Harvesting itself is enabled via the
            advanced config "netDb.shouldHarvest=true" (default is false) and the
            connection type can be chosen via "netDb.harvestDirectly=false" (default
            is false).
      4b77dded
  23. Jan 17, 2006
    • jrandom's avatar
      2006-01-17 jrandom · a12ede09
      jrandom authored and zzz's avatar zzz committed
          * First pass of the new tunnel creation crypto, specified in the new
            router/doc/tunnel-alt-creation.html (referenced in the current
            router/doc/tunnel-alt.html).  It isn't actually used anywhere yet, other
            than in the test code, but the code verifies the technical viability, so
            further scrutiny would be warranted.
      a12ede09
  24. Oct 18, 2005
    • jrandom's avatar
      2005-10-17 jrandom · 731e26e7
      jrandom authored and zzz's avatar zzz committed
          * Allow an env prop to configure whether we want to use the backwards
            compatible (but not standards compliant) HMAC-MD5, or whether we want
            to use the not-backwards compatible (but standards compliant) one.  No
            one should touch this setting, unless your name is toad or jrandom ;)
          * Added some new dummy facades
          * Be more aggressive on loading up the router.config before building the
            router context
          * Added new hooks for apps to deal with previously undefined I2NP message
            types without having to modify any code.
          * Demo code for using a castrated router for SSU comm (SSUDemo.java)
      731e26e7
  25. Sep 13, 2005
    • comwiz's avatar
      2005-09-12 comwiz · 4293a187
      comwiz authored and zzz's avatar zzz committed
          * Migrated the router tests to junit
      4293a187
  26. Jul 19, 2005
    • jrandom's avatar
      2005-07-19 jrandom · 843d5b62
      jrandom authored and zzz's avatar zzz committed
          * Further preparation for removing I2CP crypto
          * Added some validation to the DH key agreement (thanks $anon)
          * Validate tunnel data message expirations (though not really a problem,
            since tunnels expire)
          * Minor PRNG threading cleanup
      843d5b62
  27. 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
  28. Apr 17, 2005
    • jrandom's avatar
      2005-04-16 jrandom · 7389cec7
      jrandom authored and zzz's avatar zzz committed
          * Migrated to Bouncycastle's SHA256 and HMAC implementations for efficiency
      (also lots of udp fixes)
      7389cec7
  29. Apr 16, 2005
    • jrandom's avatar
      * fixed some stupid threading issues in the packet handler (duh) · 9e5fe7d2
      jrandom authored and zzz's avatar zzz committed
      * use the new raw i2np message format (the previous corruptions were due to above)
      * add a new test component (UDPFlooder) which floods all peers at the rate desired
      * packet munging fix for highly fragmented messages
      * include basic slow start code
      * fixed the UDP peer rate refilling
      * cleaned up some nextSend scheduling
      9e5fe7d2
  30. Apr 12, 2005
  31. Mar 01, 2005
  32. Feb 16, 2005
    • jrandom's avatar
      2005-02-16 jrandom · 566a713b
      jrandom authored and zzz's avatar zzz committed
          * (Merged the 0.5-pre branch back into CVS HEAD)
          * Replaced the old tunnel routing crypto with the one specified in
            router/doc/tunnel-alt.html, including updates to the web console to view
            and tweak it.
          * Provide the means for routers to reject tunnel requests with a wider
            range of responses:
              probabalistic rejection, due to approaching overload
              transient rejection, due to temporary overload
              bandwidth rejection, due to persistent bandwidth overload
              critical rejection, due to general router fault (or imminent shutdown)
            The different responses are factored into the profiles accordingly.
          * Replaced the old I2CP tunnel related options (tunnels.depthInbound, etc)
            with a series of new properties, relevent to the new tunnel routing code:
              inbound.nickname (used on the console)
              inbound.quantity (# of tunnels to use in any leaseSets)
              inbound.backupQuantity (# of tunnels to keep in the ready)
              inbound.length (# of remote peers in the tunnel)
              inbound.lengthVariance (if > 0, permute the length by adding a random #
                                      up to the variance.  if < 0, permute the length
                                      by adding or subtracting a random # up to the
                                      variance)
              outbound.* (same as the inbound, except for the, uh, outbound tunnels
                          in that client's pool)
            There are other options, and more will be added later, but the above are
            the most relevent ones.
          * Replaced Jetty 4.2.21 with Jetty 5.1.2
          * Compress all profile data on disk.
          * Adjust the reseeding functionality to work even when the JVM's http proxy
            is set.
          * Enable a poor-man's interactive-flow in the streaming lib by choking the
            max window size.
          * Reduced the default streaming lib max message size to 16KB (though still
            configurable by the user), also doubling the default maximum window
            size.
          * Replaced the RouterIdentity in a Lease with its SHA256 hash.
          * Reduced the overall I2NP message checksum from a full 32 byte SHA256 to
            the first byte of the SHA256.
          * Added a new "netId" flag to let routers drop references to other routers
            who we won't be able to talk to.
          * Extended the timestamper to get a second (or third) opinion whenever it
            wants to actually adjust the clock offset.
          * Replaced that kludge of a timestamp I2NP message with a full blown
            DateMessage.
          * Substantial memory optimizations within the router and the SDK to reduce
            GC churn.  Client apps and the streaming libs have not been tuned,
            however.
          * More bugfixes thank you can shake a stick at.
      
      2005-02-13  jrandom
          * Updated jbigi source to handle 64bit CPUs.  The bundled jbigi.jar still
            only contains 32bit versions, so build your own, placing libjbigi.so in
            your install dir if necessary.  (thanks mule!)
          * Added support for libjbigi-$os-athlon64 to NativeBigInteger and CPUID
            (thanks spaetz!)
      566a713b
  33. Nov 02, 2004
    • jrandom's avatar
      2004-11-02 jrandom · 1107e501
      jrandom authored and zzz's avatar zzz committed
          * Fixed up the configuration overrides for the streaming socket lib
            integration so that it properly honors env settings.
          * More memory usage streamlining (last major revamp for now, i promise)
      1107e501
  34. Nov 01, 2004
    • jrandom's avatar
      2004-11-01 jrandom · c19355a7
      jrandom authored and zzz's avatar zzz committed
          * Increase the tunnel test timeout rapidly if our tunnels are failing.
          * Honor message expirations for some tunnel jobs that were prematurely
            expired.
          * Streamline memory usage with temporary object caches and more efficient
            serialization for SHA256 calculation, logging, and both I2CP and I2NP
            message handling.
          * Fix some situations where we forward messages too eagerly.  For a
            request at the tunnel endpoint, if the tunnel is inbound and the target
            is remote, honor the message by tunnel routing the data rather than
            sending it directly to the requested location.
      c19355a7
  35. Oct 10, 2004
    • jrandom's avatar
      2004-10-09 jrandom · 8dc261da
      jrandom authored and zzz's avatar zzz committed
          * Added a watchdog timer to do some baseline liveliness checking to help
            debug some odd errors.
          * Added a pair of summary stats for bandwidth usage, allowing easy export
            with the other stats ("bw.sendBps" and "bw.receiveBps")
          * Trimmed another memory allocation on message reception.
      8dc261da
  36. Oct 08, 2004
    • jrandom's avatar
      2004-10-07 jrandom · ff8674bc
      jrandom authored and zzz's avatar zzz committed
          * Reimplement the I2NP reading with less temporary memory allocation.
            There is still significant GC churn, especially under load, but this
            should help.
          * Catch some oddball errors in the transport (message timeout while
            establishing).
      ff8674bc
  37. Oct 07, 2004
    • jrandom's avatar
      2004-10-07 jrandom · c7cfef3b
      jrandom authored and zzz's avatar zzz committed
          * Expire queued messages even when the writer is blocked.
          * Reimplement most of the I2NP writing with less temporary memory
            allocations (I2NP reading still gobbles memory).
      c7cfef3b
  38. Sep 26, 2004
    • jrandom's avatar
      the following isn't the end of the 0.4.1 updates, as there are still more things left to clean · b67b243e
      jrandom authored and zzz's avatar zzz committed
      up and debug in the new tcp transport, but it all works, and i dont like having big changes
      sitting on my local machine (and there's no real need for branching atm)
      2004-09-26  jrandom
          * Complete rewrite of the TCP transport with IP autodetection and
            low CPU overhead reconnections.  More concise connectivity errors
            are listed on the /oldconsole.jsp as well.  The IP autodetection works
            by listening to the first person who tells you what your IP address is
            when you have not defined one yourself and you have no other TCP
            connections.
          * Update to the I2NP message format to add transparent verification at
            the I2NP level (beyond standard TCP verification).
          * Remove a potential weakness in our AESEngine's safeEncrypt and safeDecrypt
            implementation (rather than verifying with E(H(key)), we now verify with
            E(H(iv))).
          * The above changes are NOT BACKWARDS COMPATIBLE.
          * Removed all of the old unused PHTTP code.
          * Refactor various methods and clean up some javadoc.
      b67b243e
  39. Jun 29, 2004
  40. May 17, 2004
Loading