- Nov 12, 2005
-
-
* Add filtering threads by author to Syndie, populated with authors in the user's addressbook * When creating the default user, add "http://syndiemedia.i2p/archive/archive.txt" to their addressbook, configured to automatically pull updates. (what other archives should be included?) * Tiny servlet to help dole out the new routerconsole themes, and bundle the installer/resources/themes/** into ./docs/themes/** on both install and update.
-
* Initial pass of the routerconsole revamp, starting with I2PTunnel and being progressively rolled out to other sections at later dates. Featuring abstracted W3C strict XHTML1.0 markup, with CSS providing layout and styling. * Implemented console themes. Users can create their own themes by creating css files in: {i2pdir}/docs/themes/console/{themename}/ and activating it using the routerconsole.theme={themename} advanced config property. Look at the example incomplete "defCon1" theme. Note: This is very much a work in progress. Folks might want to hold-off creating their own skins until the markup has solidified. * Added "routerconsole.javascript.disabled=true" to disable console client-side scripting and "routerconsole.css.disabled=true" to remove css styling (only rolled out in the i2ptunnel interface currently) * Fixed long standing bug with i2ptunnel client and server edit screens where tunnel count and depth properties would fail to save. Added backup quantity and variance configuration options. * Added basic accessibility support (key shortcuts, linear markup, alt and title information and form labels). * So far only tested on IE6, Firefox 1.0.6, Opera 8 and lynx.
-
* Initial pass of the routerconsole revamp, starting with I2PTunnel and being progressively rolled out to other sections at later dates. Featuring abstracted W3C strict XHTML1.0 markup, with CSS providing layout and styling. * Implemented console themes. Users can create their own themes by creating css files in: {i2pdir}/docs/themes/console/{themename}/ and activating it using the routerconsole.theme={themename} advanced config property. Look at the example incomplete "defCon1" theme. Note: This is very much a work in progress. Folks might want to hold-off creating their own skins until the markup has solidified. * Added "routerconsole.javascript.disabled=true" to disable console client-side scripting and "routerconsole.css.disabled=true" to remove css styling (only rolled out in the i2ptunnel interface currently) * Fixed long standing bug with i2ptunnel client and server edit screens where tunnel count and depth properties would fail to save. Added backup quantity and variance configuration options. * Added basic accessibility support (key shortcuts, linear markup, alt and title information and form labels). * So far only tested on IE6, Firefox 1.0.6, Opera 8 and lynx.
-
- Nov 11, 2005
-
-
* Default Syndie to single user mode, and automatically log into a default user account (additional accounts can be logged into with the 'switch' or login pages, and new accounts can be created with the register page). * Disable the 'automated' column on the Syndie addressbook unless the user is appropriately authorized (good idea Polecat!)
- Nov 06, 2005
-
-
* Include SSU establishment failure in the peer profile as a commError, as we do for TCP establishment failures. * Don't throttle the initial transmission of a message because of ongoing retransmissions to a peer, since the initial transmission of a message is more valuable than a retransmission (since it has less latency). * Cleaned up links to SusiDNS and I2PTunnel (thanks zzz!)
-
- Nov 05, 2005
-
-
* Include the most recent ACKs with packets, rather than only sending an ack exactly once. SSU differs from TCP in this regard, as TCP has ever increasing sequence numbers, while each message ID in SSU is random, so we don't get the benefit of later ACKs implicitly ACKing earlier messages. * Reduced the max retransmission timeout for SSU * Don't try to send messages queued up for a long time waiting for establishment.
-
* Include the most recent ACKs with packets, rather than only sending an ack exactly once. SSU differs from TCP in this regard, as TCP has ever increasing sequence numbers, while each message ID in SSU is random, so we don't get the benefit of later ACKs implicitly ACKing earlier messages. * Reduced the max retransmission timeout for SSU * Don't try to send messages queued up for a long time waiting for establishment.
- Nov 04, 2005
-
- Nov 02, 2005
-
- Oct 31, 2005
-
- Oct 30, 2005
-
- Oct 29, 2005
-
-
* Improved the bandwidth throtting on tunnel participation, especially for low bandwidth peers. * Improved failure handling in SSU with proactive reestablishment of failing idle peers, and rather than shitlisting a peer who failed too much, drop the SSU session and allow a new attempt (which, if it fails, will cause a shitlisting) * Clarify the cause of the shitlist on the profiles page, and include bandwidth limiter info at the bottom of the peers page.
-
* Improved the bandwidth throtting on tunnel participation, especially for low bandwidth peers. * Improved failure handling in SSU with proactive reestablishment of failing idle peers, and rather than shitlisting a peer who failed too much, drop the SSU session and allow a new attempt (which, if it fails, will cause a shitlisting) * Clarify the cause of the shitlist on the profiles page, and include bandwidth limiter info at the bottom of the peers page.
- Oct 28, 2005
-
-
* In Syndie, propogate the subject and tags in a reply, and show the parent post on the edit page for easy quoting. (thanks identiguy and CofE!) * Streamline some netDb query handling to run outside the jobqueue - which means they'll run on the particular SSU thread that handles the message. This should help out heavily loaded netDb peers.
-
- Oct 25, 2005
-
-
* Defer netDb searches for newly referenced peers until we actually want them * Ignore netDb references to peers on our shitlist * Set the timeout for end to end client messages to the max delay after finding the leaseSet, so we don't have as many expired messages floating around. * Add a floor to the streaming lib window size * When we need to send a streaming lib ACK, try to retransmit one of the unacked packets instead (with updated ACK/NACK fields, of course). The bandwidth cost of an unnecessary retransmission should be minor as compared to both an ACK packet (rounded up to 1KB in the tunnels) and the probability of a necessary retransmission. * Adjust the streaming lib cwin algorithm to allow growth after a full cwin messages if the rtt is trending downwards. If it is not, use the existing algorithm. * Increased the maximum rto size in the streaming lib. * Load balancing bugfix on end to end messages to distribute across tunnels more evenly.
-
* Defer netDb searches for newly referenced peers until we actually want them * Ignore netDb references to peers on our shitlist * Set the timeout for end to end client messages to the max delay after finding the leaseSet, so we don't have as many expired messages floating around. * Add a floor to the streaming lib window size * When we need to send a streaming lib ACK, try to retransmit one of the unacked packets instead (with updated ACK/NACK fields, of course). The bandwidth cost of an unnecessary retransmission should be minor as compared to both an ACK packet (rounded up to 1KB in the tunnels) and the probability of a necessary retransmission. * Adjust the streaming lib cwin algorithm to allow growth after a full cwin messages if the rtt is trending downwards. If it is not, use the existing algorithm. * Increased the maximum rto size in the streaming lib. * Load balancing bugfix on end to end messages to distribute across tunnels more evenly.
- Oct 24, 2005
-
-
* Instantiate new RemoteArchiveBean for each archive fetched by the updater, to prevent weirdness if the index fetch for archive n+1 fails. * Add a blocking fetch to EepGetScheduler and RemoteArchiveBean and use them from the updater, to prevent race conditions with multiple archive fetches.
- Oct 22, 2005
-
-
* 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.
- Oct 21, 2005
-