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

Skip to content
Snippets Groups Projects
  1. Mar 16, 2012
    • zzz's avatar
      javadoc · fb8244ee
      zzz authored
      fb8244ee
  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. May 16, 2010
  6. Oct 19, 2008
  7. Jul 26, 2006
    • jrandom's avatar
      2006-07-26 jrandom · d4e0f27c
      jrandom authored and zzz's avatar zzz committed
          * Every time we create a new router identity, add an entry to the
            new "identlog.txt" text file in the I2P install directory.  For
            debugging purposes, publish the count of how many identities the
            router has cycled through, though not the identities itself.
          * Cleaned up the way the multitransport shitlisting worked, and
            added per-transport shitlists
          * When dropping a router reference locally, first fire a netDb
            lookup for the entry
          * Take the peer selection filters into account when organizing the
            profiles (thanks Complication!)
          * Avoid some obvious configuration errors for the NTCP transport
            (invalid ports, "null" ip, etc)
          * Deal with some small NTCP bugs found in the wild (unresolveable
            hosts, strange network discons, etc)
          * Send our netDb info to peers we have direct NTCP connections to
            after each 6-12 hours of connection uptime
          * Clean up the NTCP reading and writing queue logic to avoid some
            potential delays
          * Allow people to specify the IP that the SSU transport binds on
            locally, via the advanced config "i2np.udp.bindInterface=1.2.3.4"
      d4e0f27c
  8. Apr 12, 2005
  9. 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
  10. 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
  11. 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
  12. 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
  13. Oct 05, 2004
    • jrandom's avatar
      oops · 756af9c6
      jrandom authored and zzz's avatar zzz committed
      756af9c6
    • jrandom's avatar
      2004-10-05 jrandom · 64bcfd09
      jrandom authored and zzz's avatar zzz committed
          * Don't go into a fast busy if an I2PTunnel 'server' is explicitly killed
            (thanks mule!)
          * Handle some more error conditions regarding abruptly closing sockets
            (thanks Jonva!)
      64bcfd09
  14. Jul 27, 2004
    • jrandom's avatar
      if I'm making this backwards incompatible, I might as well clean up the rest, 'eh? · 60c7db07
      jrandom authored and zzz's avatar zzz committed
      * removed SourceRouteBlock & SourceRouteReplyMessage, as they're a redundant concept
      that 1) takes up bandwidth 2) takes up CPU 3) smell funny.
      now the TunnelCreateMessage includes a replyTag, replyKey, replyTunnel, and
      replyGateway that they garlic encrypt their ACK/NACK through and with.
      
      * tunnelCreateMessage doesn't need a seperate ACK - either we get a
      TunnelCreateStatusMessage back or we don't.
      
      * message structure mods for unique tunnel ID per hop (though currently all hops have
      the same tunnel ID)
      60c7db07
  15. May 17, 2004
  16. Apr 24, 2004
    • 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
  17. Apr 10, 2004
  18. Apr 08, 2004
Loading