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

Skip to content
Snippets Groups Projects
  1. May 02, 2005
    • jrandom's avatar
      2005-05-01 jrandom · 835662b3
      jrandom authored and zzz's avatar zzz committed
          * Added a substantial optimization to the AES engine by caching the
            prepared session keys (duh).
      835662b3
  2. May 01, 2005
    • jrandom's avatar
      2005-05-01 jrandom · 3de23d42
      jrandom authored and zzz's avatar zzz committed
          * Cleaned up the peers page a bit more.
      more udp stuff:
      * add new config option: i2np.udp.alwaysPreferred=true to adjust the bidding
        so that UDP is picked first, even if a TCP connection exists
      * fixed the initial clock skew problem (duh)
      * reduced the MTU to 576 (largest nearly-universally-safe, and allows a
        tunnel message in 2 fragments)
      * handle some races @ connection establishment (thanks duck!)
      * if there are more ACKs than we can send in a packet, reschedule another
        ACK immediately
      3de23d42
    • jrandom's avatar
      2005-04-30 jrandom · b5ad7642
      jrandom authored and zzz's avatar zzz committed
          * Added a small new page to the web console (/peers.jsp) which contains
            the peer connection information.  This will be cleaned up a lot more
            before 0.6 is out, but its a start.
      b5ad7642
  3. Apr 30, 2005
    • jrandom's avatar
      2005-04-30 jrandom · 0fbe84e9
      jrandom authored and zzz's avatar zzz committed
          * Reduced some SimpleTimer churn
      * add hooks for per-peer choking in the outbound message queue - if/when a
        peer reaches their cwin, no further messages will enter the 'active' pool
        until there are more bytes available.  other messages waiting (either later
        on in the same priority queue, or in the queues for other priorities) may
        take that slot.
      * when we have a message acked, release the acked size to the congestion
        window (duh), rather than waiting for the second to expire and refill the
        capacity.
      * send packets in a volley explicitly, waiting until we can allocate the full
        cwin size for that message
      0fbe84e9
  4. Apr 29, 2005
    • jrandom's avatar
      2005-04-29 jrandom · 1b0bb5ea
      jrandom authored and zzz's avatar zzz committed
          * Reduce the peer profile stat coallesce overhead by inlining it with the
            reorganize.
          * Limit each transport to at most one address (any transport that requires
            multiple entry points can include those alternatives in the address).
      udp stuff:
      * change the UDP transport's style from "udp" to "SSUv1"
      * keep track of each peer's skew
      * properly handle session reestablishment over an existing session, rather
        than requiring both sides to expire first
      1b0bb5ea
  5. Apr 28, 2005
    • jrandom's avatar
      2005-04-28 jrandom · 4ce51261
      jrandom authored and zzz's avatar zzz committed
          * More fixes for the I2PTunnel "other" interface handling (thanks nelgin!)
          * Add back the code to handle bids from multiple transports (though there
            is still only one transport enabled by default)
          * Adjust the router's queueing of outbound client messages when under
            heavy load by running the preparatory job in the client's I2CP handler
            thread, thereby blocking additional outbound messages when the router is
            hosed.
          * No need to validate or persist a netDb entry if we already have it
      And for some udp stuff:
      * only bid on what we know (duh)
      * reduceed the queue size in the UDPSender itself, so that ACKs go
        through more quickly, leaving the payload messages to queue up in
        the outbound fragment scheduler
      * rather than /= 2 on congestion, /= 2/3 (still AIMD, but less drastic)
      * adjust the fragment selector so a wsiz throttle won't force extra
        volleys
      * mark congestion when it occurs, not after the message has been
        ACKed
      * when doing a round robin over the active messages, move on to the
        next after a full volley, not after each packet (causing less "fair"
        performance but better latency)
      * reduced the lock contention in the inboundMessageFragments by
        moving the ack and complete queues to the ACKSender and
        MessageReceiver respectively (each of which have their own
        threads)
      * prefer new and existing UDP sessions to new TCP sessions, but
        prefer existing TCP sessions to new UDP sessions
      4ce51261
  6. Apr 26, 2005
    • smeghead's avatar
      2005-04-25 smeghead · c9db6f87
      smeghead authored and zzz's avatar zzz committed
          * Added button to router console for manual update checks.
          * Fixed bug in configupdate.jsp that caused the proxy port to be updated
            every time the form was submitted even if it hadn't changed.
      c9db6f87
  7. 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
  8. Apr 20, 2005
    • jrandom's avatar
      * 2005-04-20 0.5.0.7 released · df926fb6
      jrandom authored and zzz's avatar zzz committed
    • jrandom's avatar
      2005-04-20 jrandom · a2c7c5a5
      jrandom authored and zzz's avatar zzz committed
          * In the SDK, we don't actually need to block when we're sending a message
            as BestEffort (and these days, we're always sending BestEffort).
          * Pass out client messages in fewer (larger) steps.
          * Have the InNetMessagePool short circuit dispatch requests.
          * Have the message validator take into account expiration to cut down on
            false positives at high transfer rates.
          * Allow configuration of the probabalistic window size growth rate in the
            streaming lib's slow start and congestion avoidance phases, and default
            them to a more conservative value (2), rather than the previous value
            (1).
          * Reduce the ack delay in the streaming lib to 500ms
          * Honor choke requests in the streaming lib (only affects those getting
            insanely high transfer rates)
          * Let the user specify an interface besides 127.0.0.1 or 0.0.0.0 on the
            I2PTunnel client page (thanks maestro^!)
      (plus minor udp tweaks)
      a2c7c5a5
  9. Apr 18, 2005
    • jrandom's avatar
      2005-04-17 sirup · 7f3c953e
      jrandom authored and zzz's avatar zzz committed
          * Added the possibility for i2ptunnel client and httpclient instances to
            have their own i2p session (and hence, destination and tunnels).  By
            default, tunnels are shared, but that can be changed on the web
            interface or with the sharedClient config option in i2ptunnel.config.
      2005-04-17  jrandom
          * Marked the net.i2p.i2ptunnel.TunnelManager as deprecated.  Anyone use
            this?  If not, I want to drop it (lots of tiny details with lots of
            duplicated semantics).
      7f3c953e
  10. Apr 17, 2005
    • jrandom's avatar
      2005-04-17 zzz · addab1fa
      jrandom authored and zzz's avatar zzz committed
          * Added new user-editable eepproxy error page templates.
      2005-04-17  jrandom
          * Revamp the tunnel building throttles, fixing a situation where the
            rebuild may not recover, and defaulting it to unthrottled (users with
            slow CPUs may want to set "router.tunnel.shouldThrottle=true" in their
            advanced router config)
      addab1fa
    • 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
  11. Apr 12, 2005
    • jrandom's avatar
      2005-04-12 jrandom · 5b56d22d
      jrandom authored and zzz's avatar zzz committed
          * Make sure we don't get cached updates (thanks smeghead!)
          * Clear out the callback for the TestJob after it passes (only affects the
            job timing accounting)
      5b56d22d
  12. Apr 09, 2005
    • smeghead's avatar
      2005-04-08 smeghead · 8496b885
      smeghead authored and zzz's avatar zzz committed
          * Added NativeBigInteger benchmark to scripts/i2pbench.sh.
      8496b885
  13. Apr 08, 2005
    • smeghead's avatar
      2005-04-08 smeghead · b36def1f
      smeghead authored and zzz's avatar zzz committed
          * Security improvements to TrustedUpdate: signing and verification of the
            version string along with the data payload for signed update files
            (consequently the positions of the DSA signature and version string fields
            have been swapped in the spec for the update file's header); router will
            no longer perform a trusted update if the signed update's version is lower
            than or equal to the currently running router's version.
          * Added two new CLI commands to TrustedUpdate: showversion, verifyupdate.
          * Extended TrustedUpdate public API for use by third party applications.
      b36def1f
  14. Apr 06, 2005
  15. Apr 05, 2005
    • jrandom's avatar
      2005-04-05 jrandom · 941252fd
      jrandom authored and zzz's avatar zzz committed
          * Retry I2PTunnel startup if we are unable to build a socketManager for a
            client or httpclient tunnel.
          * Add some basic sanity checking on the I2CP settings (thanks duck!)
      941252fd
    • jrandom's avatar
      2005-04-05 jrandom · bc626ece
      jrandom authored and zzz's avatar zzz committed
          * After a successfull netDb search for a leaseSet, republish it to all of
            the peers we have tried so far who did not give us the key (up to 10),
            rather than the old K closest (which may include peers who had given us
            the key)
          * Don't wait 5 minutes to publish a leaseSet (duh!), and rather than
            republish it every 5 minutes, republish it every 3.  In addition, always
            republish as soon as the leaseSet changes (duh^2).
          * Minor fix for oddball startup race (thanks travis_bickle!)
          * Minor AES update to allow in-place decryption.
      bc626ece
  16. Apr 03, 2005
    • jrandom's avatar
      2005-04-03 jrandom · c4ac5170
      jrandom authored and zzz's avatar zzz committed
          * EepGet fix for open-ended HTTP fetches (such as the news.xml
            feeding the NewsFetcher)
      c4ac5170
  17. Apr 01, 2005
    • jrandom's avatar
      2005-04-01 jrandom · c9c1eae3
      jrandom authored and zzz's avatar zzz committed
          * Allow editing I2PTunnel server instances with five digit ports
            (thanks nickless_head!)
          * More NewsFetcher debugging for reported weirdness
      c9c1eae3
    • jrandom's avatar
      2005-04-01 jrandom · 33366cc2
      jrandom authored and zzz's avatar zzz committed
          * Fix to check for missing news file (thanks smeghead!)
          * Added destination display CLI:
            java -cp lib/i2p.jar net.i2p.data.Destination privKeyFilename
          * Added destination display to the web interface (thanks pnspns)
          * Installed CIA backdoor
      33366cc2
  18. Mar 30, 2005
    • jrandom's avatar
      * 2005-03-29 0.5.0.5 released · 63f3a9cd
      jrandom authored and zzz's avatar zzz committed
      2005-03-29  jrandom
          * Decreased the initial RTT estimate to 10s to allow more retries.
          * Increased the default netDb store replication factor from 2 to 6 to take
            into consideration tunnel failures.
          * Address some statistical anonymity attacks against the netDb that could
            be mounted by an active internal adversary by only answering lookups for
            leaseSets we received through an unsolicited store.
          * Don't throttle lookup responses (we throttle enough elsewhere)
          * Fix the NewsFetcher so that it doesn't incorrectly resume midway through
            the file (thanks nickster!)
          * Updated the I2PTunnel HTML (thanks postman!)
          * Added support to the I2PTunnel pages for the URL parameter "passphrase",
            which, if matched against the router.config "i2ptunnel.passphrase" value,
            skips the nonce check.  If the config prop doesn't exist or is blank, no
            passphrase is accepted.
          * Implemented HMAC-SHA256.
          * Enable the tunnel batching with a 500ms delay by default
          * Dropped compatability with 0.5.0.3 and earlier releases
      63f3a9cd
  19. Mar 26, 2005
    • jrandom's avatar
      2005-03-26 jrandom · ebac4df2
      jrandom authored and zzz's avatar zzz committed
          * Added some error handling and fairly safe to cache data to the streaming
            lib (good call Tom!)
      ebac4df2
  20. Mar 25, 2005
    • jrandom's avatar
      2005-03-25 jrandom · 85b34505
      jrandom authored and zzz's avatar zzz committed
          * Fixed up building dependencies for the routerconsole on some more
            aggressive compilers (thanks polecat!)
      85b34505
  21. Mar 24, 2005
    • jrandom's avatar
      * 2005-03-24 0.5.0.4 released · e614a2f7
      jrandom authored and zzz's avatar zzz committed
    • jrandom's avatar
      2005-03-23 jrandom · ff03be21
      jrandom authored and zzz's avatar zzz committed
          * Added more intelligent version checking in news.xml, in case we have a
            version newer than the one specified.
      ff03be21
    • jrandom's avatar
      2005-03-23 jrandom · a52f8b89
      jrandom authored and zzz's avatar zzz committed
          * Added support for Transfer-Encoding: chunked to the EepGet, so that the
            cvsweb.cgi doesn't puke on us.
      a52f8b89
    • connelly's avatar
      Fixed Bugzilla Bug #99 · 21c7c043
      connelly authored and zzz's avatar zzz committed
      21c7c043
    • jrandom's avatar
      2005-03-23 jrandom · 904f755c
      jrandom authored and zzz's avatar zzz committed
          * Implemented the news fetch / update policy code, as configurated on
            /configupdate.jsp.  Defaults are to grab the news every 24h (or if it
            doesn't exist yet, on startup).  No action is taken however, though if
            the news.xml specifies that a new release is available, an option to
            update will be shown on the router console.
          * New initialNews.xml delivered with new installs, and moved news.xml out
            of the i2pwww module and into the i2p module so that we can bundle it
            within each update.
      904f755c
  22. 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
  23. Mar 22, 2005
    • jrandom's avatar
      2005-03-21 jrandom · 3f9bf283
      jrandom authored and zzz's avatar zzz committed
          * Fixed the tunnel fragmentation handler to deal with multiple fragments
            in a single message properly (rather than release the buffer into the
            cache after processing the first one) (duh!)
          * Added the batching preprocessor which will bundle together multiple
            small messages inside a single tunnel message by delaying their delivery
            up to .5s, or whenever the pending data will fill a full message,
            whichever comes first.  This is disabled at the moment, since without the
            above bugfix widely deployed, lots and lots of messages would fail.
          * Within each tunnel pool, stick with a randomly selected peer for up to
            .5s before randomizing and selecting again, instead of randomizing the
            pool each time a tunnel is needed.
      3f9bf283
  24. Mar 18, 2005
    • jrandom's avatar
      * 2005-03-18 0.5.0.3 released · a2bd71c7
      jrandom authored and zzz's avatar zzz committed
      2005-03-18  jrandom
          * Minor tweak to the timestamper to help reduce small skews
          * Adjust the stats published to include only the relevent ones
          * Only show the currently used speed calculation on the profile page
          * Allow the full max # resends to be sent, rather than piggybacking the
            RESET packet along side the final resend (duh)
          * Add irc.postman.i2p to the default list of IRC servers for new installs
          * Drop support for routers running 0.5 or 0.5.0.1 while maintaining
            backwards compatability for users running 0.5.0.2.
    • jrandom's avatar
      2005-03-18 jrandom · 89509490
      jrandom authored and zzz's avatar zzz committed
          * Eepproxy Fix for corrupted HTTP headers (thanks nickster!)
          * Fixed case sensitivity issues on the HTTP headers (thanks duck!)
      89509490
  25. Mar 17, 2005
    • jrandom's avatar
      2005-03-17 jrandom · a997a460
      jrandom authored and zzz's avatar zzz committed
          * Update the old speed calculator and associated profile data points to
            use a non-tiered moving average of the tunnel test time, avoiding the
            freshness issues of the old tiered speed stats.
          * Explicitly synchronize all of the methods on the PRNG, rather than just
            the feeder methods (sun and kaffe only need the feeder, but it seems ibm
            needs all of them synchronized).
          * Properly use the tunnel tests as part of the profile stats.
          * Don't flood the jobqueue with sequential persist profile tasks, but
            instead, inject a brief scheduling delay between them.
          * Reduce the TCP connection establishment timeout to 20s (which is still
            absurdly excessive)
          * Reduced the max resend delay to 30s so we can get some resends in when
            dealing with client apps that hang up early (e.g. wget)
          * Added more alternative socketManager factories (good call aum!)
      a997a460
    • jrandom's avatar
      2005-03-16 jrandom · 538dd07e
      jrandom authored and zzz's avatar zzz committed
          * Adjust the old speed calculator to include end to end RTT data in its
            estimates, and use that as the primary speed calculator again.
          * Use the mean of the high capacity speeds to determine the fast
            threshold, rather than the median.  Perhaps we should use the mean of
            all active non-failing peers?
          * Updated the profile page to sort by tier, then alphabetically.
          * Added some alternative socketManager factories (good call aum!)
      538dd07e
  26. Mar 15, 2005
    • jrandom's avatar
      2005-03-14 jrandom · b20aee67
      jrandom authored and zzz's avatar zzz committed
          * New strict speed calculator that goes off the actual number of messages
            verifiably sent through the peer by way of tunnels.  Initially, this only
            contains the successful message count on inbound tunnels, but may be
            augmented later to include verified outbound messages, peers queried in
            the netDb, etc.  The speed calculation decays quickly, but should give
            a better differential than the previous stat (both values are shown on
            the /profiles.jsp page)
      b20aee67
  27. Mar 11, 2005
    • jrandom's avatar
      (no, this doesnt fix things yet, but its a save point along the path) · d74aa6e5
      jrandom authored and zzz's avatar zzz committed
      2005-03-11  jrandom
          * Rather than the fixed resend timeout floor (10s), use 10s+RTT as the
            minimum (increased on resends as before, of course).
          * Always prod the clock update listeners, even if just to tell them that
            the time hasn't changed much.
          * Added support for explicit peer selection for individual tunnel pools,
            which will be useful in debugging but not recommended for use by normal
            end users.
          * More aggressively search for the next hop's routerInfo on tunnel join.
          * Give messages received via inbound tunnels that are bound to remote
            locations sufficient time (taking into account clock skew).
          * Give alternate direct send messages sufficient time (10s min, not 5s)
          * Always give the end to end data message the explicit timeout (though the
            old default was sufficient before)
          * No need to give end to end messages an insane expiration (+2m), as we
            are already handling skew on the receiving side.
          * Don't complain too loudly about expired TunnelCreateMessages (at least,
            not until after all those 0.5 and 0.5.0.1 users upgrade ;)
          * Properly keep the sendBps stat
          * When running the router with router.keepHistory=true, log more data to
            messageHistory.txt
          * Logging updates
          * Minor formatting updates
      d74aa6e5
  28. Mar 08, 2005
    • jrandom's avatar
      2005-03-07 jrandom · 536e604b
      jrandom authored and zzz's avatar zzz committed
          * Fix the HTTP response header filter to allow multiple headers with the
            same name (thanks duck and spotteri!)
      536e604b
  29. Mar 07, 2005
Loading