Newer
Older
* Naming: Add reverse lookup by hash
* OCMOSJ: Clean up the cache cleaning
* Router: Move addShutdownTask from Router to I2PAppContext
so that apps can register more easily
* Routerconsole:
- Thread hard shutdown and restart requests from the routerconsole,
and add a delay even if no tunnels, to allow time for a UI response
- Sort the summary bar destinations
- Move dest-to-hash converter to new helper class so we can
use it in i2ptunnel
2009-02-22 sponge
* BOB: Orphan tunnel issue fix, bump BOB version
* bump to Build 6
2009-02-16 zzz
* Streaming lib: Plug timer leak, don't send keepalives
after close, don't disconnect hard after close
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2009-02-15 zzz
* Add licenses to all packages
* I2PSession: Concurrent _messagesReceived
* i2psnark: tmp file removal try #3
* I2PTunnel:
- Don't buffer POST data in HTTPClient
- Display destination even when stopped
- Enable key generation, dest modification, and
hashcash estimation in the GUI
- Add new CONNECT client
* NetDb: Enforce 60s minimum leaseset publish interval
* Streaming lib:
- Plug connection leak
- Move ConEvent from SimpleTimer to SimpleScheduler
- Move RetransmissionTimer (ResendPacketEvent)
from SimpleTimer to new SimpleTimer2
- Move ActivityTimer and Flusher from SimpleTimer to RetransmissionTimer
- SimpleTimer2 allows specifying "fuzz" to reduce
timer queue churn further
* Susidns: Fix save of new dest broken in 0.7
* TunnelPool:
- Allow leasesets with reduced leases for robustness and startup speed
- Plug in-progress build leak
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2009-02-07 zzz
* ClientConnectionRunner, Shitlist, TunnelDispatcher:
Update using concurrent
* Streaming ConnectionHandler: Bound SYN queue and
use concurrent to prevent blowup
* HTTP Proxy: Fix error msg for b32 addresses
* I2CP: Implement optional reduce tunnels on idle - not hooked
in to i2ptunnel GUI yet - still needs tweaks
* I2CP MessageReader: Prevent rare NPE
* I2CP Writer: Rewrite using concurrent
* i2psnark: Add torrent and connection count
* I2PTunnel & I2CP:
- Fix tunnel reduction/restore, hook in the GUI
- Hook leaseset encryption into the GUI
- Implement saves for all the new stuff
- Add cancel button
- Add b32 display for non-http servers
- Prep for CONNECT
- Fix error msg when connection goes away
* NetDb: Remove all DataPublisher stuff
* Wrapper: Remove dup timeout
2009-02-02 sponge
* Final? cleanups to Slackbuilds.
* ant target for Slackbuilds.
2009-02-01 sponge
* Slackbuild files... if we can have them for Debian, why not :-)
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2009-02-01 zzz
* Convert some inner classes to static (findbugs)
* DataHelper.readLong(): Was returning -1 on EOF instead
of throwing exception
* i2psnark: Increase tunnels and pipeline to 3
* NTCP: Use a java.util.concurrent execution queue instead of
SimpleTimer for afterSend() to reduce lock contention
* Remove source from susimail.war, susidns.war, i2ptunnel.war (85KB)
* Routerconsole:
- Move common methods to new HelperBase class
- Make reseed link a button
* SimpleScheduler: New replacement for SimpleTimer when events
will not be rescheduled or cancelled, to reduce SimpleTimer
lock contention
* Tunnel Pool:
- Remove tunnel from participating if can't contact next hop
- Fail outbound build faster if can't contact first hop
* Wrapper: Remove dup timeout
2009-01-31 dream
* Debian files
2009-01-31 sponge
* One line BOB discarded interger fix
(not that it mattered at this point)
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2009-01-25 zzz
* Build files:
- Don't bundle unneeded XML parser xercesImpl.jar (1MB)
- Don't include unneeded stuff in Copy, Delete, Exec.jar (300KB)
* I2CP:
Implement new I2CP message ReconfigureSessionMessage.
Will be used for tunnel reduction.
* I2PTunnel Edit Pages:
- Change default length to 2+0
- Cleanup helper code
- Prevent null spoofhost
- Stub out the following new options (C=client, S=server):
+ Access list (S)
+ Certificate type (S)
+ Encrypted LeaseSet (S)
+ New dest on idle restart (C)
+ Tunnel closure on idle (C)
+ Tunnel reduction on idle (C,S)
* I2PTunnel Socks:
- Add support for SOCKS to GUI
- Don't NPE on SOCKS 4, just close
- Don't have SOCKS build a new dest for every request
- Beginnings of SOCKS configuration by port
- HTML error msg for attempted HTTP access
* LeaseSet: Add encrypt/decrypt methods
* netdb.jsp: Don't show stats by default
* OCMOSJ: Bundle a reply when we switch tunnel or lease,
to detect failure sooner
* PublishLocalRouterInfoJob:
- Delay for 5m at startup
- Run every 20m (was 7.5m)
* RebuildRouterInfoJob: Don't run it
* Router: Add a keyring for decrypting leases
* Routerconsole: Add configkeyring.jsp
* SummaryHelper.getTransferred() move to DataHelper,
rename to formatSize(), use on tunnels.jsp
* Streaming, I2CP, Client Message sending:
Pass message timeout through new I2CP message
SendMessageExpiresMessage, so that the router
uses the same expiration as the streaming lib.
Should help reliability.
* Streaming: TCB control block sharing
* 2009-01-24 0.7 released
2009-01-24 Complication
* Update versions, package release
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2009-01-14 zzz
* config.jsp: Fix burst seconds display
* HTTPClient: Fix per-tunnel settings for i2cp.gzip and
i2ptunnel.httpclient.send* (thx tino)
* i2psnark:
- Fix double completion message
- Add crstrack
* initialNews.xml: Add .de (thx echelon)
* Message: Always distribute an inbound msg back out
a tunnel to foil a possible latency-measuring attack
(welterde)
* Naming:
- Change base32 names to *.b32.i2p
- Add i2p.naming.hostsTxt.useB32 config
* profiles.jsp: Remove 1m column
* SAM: Don't build tests by default
* Streaming:
- Prevent a rare NPE
- Reduce initial RTT to 8s (was 10s)
* tunnels.jsp: Add netdb links
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2009-01-08 zzz
* addressbook: Prevent Base32 hostnames
* build.xml: Remove readme_xx.html from updater
* configtunnels.jsp: Fix display of outbound backup count
* configupdate.jsp: Fix corruption of update URLs
* i2psnark: Recognize Robert 0.3 and 4
* ExploreJob/SearchJob - fix brokenness:
- Give each search a minimum of time even at the end
- Fix ExploreJob exclude peer list
- Always add floodfills to exclude peer list
- Don't queue keys for exploration or run ExploreJob
if floodfill
- Allow floodfills to return non-floodfills in
a DSRM msg so exploration works
* ExploreJob/SearchJob - more fixes:
- Disable ExploreKeySelectorJob completely, just have
StartExplorersJob select a random key if queue is empty
- Add netDb.alwaysQuery=[B64Hash] for debugging
- Queue results of exploration for more exploration
- Floodfills periodically shuffle their KBuckets, and
FloodfillPeerSelector sorts more keys, so that
exploration works well
* Shitlist: Reduce max time to 30m (was 60m)
* Streaming:
- Reduce default initial window size from 12 to 6,
to account for the MTU increase in the last release
and try to limit initial packet loss
- Reduce fast retransmit threshold from 3 to 2
* Transport: Don't shitlist a peer if we are at our
connection limit
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2009-01-03 zzz
* config.jsp: Move the buttons up
* configservice.jsp: Clean up and fix the broken (?)
browser launch configuration
* i2psnark:
- Try again to remove the i2psnarkurl files on shutdown
- Sort torrents with a locale-based sort
* NetDb:
- Expire routers with introducers after 90m.
This should improve reachability to firewalled routers
by keeping introducer info current.
- Expire routers with no addresses after 90m.
- Convert to java concurrent
* Stats: Add router.memoryUsed, graph by default
* Summary bar: Remove spurious UDP warning on startup
* UpdateHandler: Make extensible for upcoming
torrent updater
2008-12-15 zzz
* Remove apps/ bogobot jdom pants q rome stasher syndie
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2008-12-14 zzz
* Contexts: Add int getProperty(String prop, int default)
* I2PAppThread: Constructor fix
* More split classes into their own files for mkvore
* Streaming: Don't build test cases by default
* Summary bar: Replace links with buttons
* Transport:
- Cleanup max connections code
- Add i2np.udp.maxConnections
- Set max connections based on share bandwidth
- Add haveCapacity() that can be used for connection
throttling in the router
- Reject IBGW/OBEP requests when near connection limit
- Reduce idle timeout when near connection limit
* Tunnel request handler:
- Require tunnel.dropLoad* stats
- Speed up request loop
* I2CP, HostsTxtNamingService, I2PTunnel:
Implement Base32 Hash hostnames, via the naming service.
Names are of the form [52-characters].i2p, where
the 52 characters are the Base32 representation of our
256-byte hash. The client requests a lookup of the hash
via a brief I2CP session using new I2CP request/reply
messages. The router looks up the leaseset for the hash
to convert the hash to a dest. Convert the I2PTunnel
'preview' links to use Base32 hostnames as a
demonstration.
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2008-12-08 zzz
* ATalk: Move from core to apps
* Blocklists: enable by default, include blocklist file
in new installs
* Build: Add findbugs target
* Cleanup of removed netdb stats
* Console:
- Don't display restart button if no wrapper
- Remove PRNG stats
* Eepsite: Disable jetty webapps by default for new installs
* i2psnark:
- Add default i2psnark.config for new installs
- Remove wishlist link
- Recognize robert and i2psnarkxl clients
- Increase max files to 256
* Increase standalone heap size to 128MB
* NetDb: Split classes into their own files for mkvore
* PeerManager: Fix NPE on early shutdown
* SusiDNS: Add textareas
* Transport:
- Fixes, avoid NPEs, and cleanups when NTCP and/or UDP transports disabled
- More TCP removal cleanup
- Clean up bandwidth limiting, centralize defaults
- Force burst to be >= limit
- Increase default bw to 48/24, burst 64/32
* Tunnels: Avoid two NPEs on corrupt fragments
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2008-12-01 zzz
* i2psnark:
- Refactor to allow running a single Snark without a SnarkManager again,
by moving some things from SnarkManager to I2PSnarkUtil,
having Snark call completeListener callbacks,
and having Storage call storageListener callbacks.
This is in preparation for using Snark for router updates.
Step 2 is to allow multiple I2PSnarkUtil instances.
- Big rewrite of Storage to open file descriptors on demand, and
close them when unused, so we can support large numbers of torrents.
* i2psnark:
- Remove static instances of I2PSnarkUtil, ConnectionAcceptor,
and PeerCoordinatorSet
- Convert static classes in Snark to listeners
- Fix Snark to work in single torrent mode again
- Should now work with multiple single Snarks
* i2psnark:
- Use new I2PAppThread that does not call global listeners on OOM,
so that OOMing apps will not shutdown the whole router.
* i2psnark:
- Don't create SnarkManager instance until first call,
so it doesn't create the i2psnark dir, read the config,
etc., for single Snark instances.
- Don't read i2psnark.config twice; fix setting
i2psnark.dir
- More Snark constructor changes for calling from router
- Make max connections per torrent configurable
* SAM:
- Use new I2PAppThread that does not call global listeners on OOM,
so that OOMing SAM will not shutdown the whole router.
* 2008-12-01 0.6.5 released
2008-12-01 Complication
* Update versions, package release, fix typo in comment
2008-11-21 zzz
* Cache DNS and negative DNS for 5m (was 1m and forever)
* Delay shitlist cleaner at startup
* Strip wrapper properties from client config
* Define multiple cert type
* Prohibit negative maxSends in streaming
* HTML fixup on configtunnels.jsp
* Increase wrapper exit timeout from default 15s to 30s
2008-11-20 zzz
* I2PTunnel: Handle missing fields in edit pages better
* Move DummyNetworkDatabaseFacade to his own file
to help the build dependencies
* Drop old tcp transport and old tunnel build sources
* EepGet:
- Better handling of 504 gateway timeout
(keep going up to limit of retry count rather
than just one more partial fetch)
- Add -t cmd line option for timeout
- Better handling of 403, 409, 503 errors
- Don't keep going after unknown return code
- Don't delay before exiting after a failure
2008-11-15 zzz
* Build files:
- Don't die if depend not available
- Only verify Jetty hash once
- Add streaming lib tests to depend task
* I2CP Compression:
- Add i2cp.gzip option (default true)
- Add compression stats
- Don't bother compressing if really small
2008-11-13 zzz
* Streaming:
- Add more info to Connection.toString() for debugging
- Fix lifetimeMessages{Sent,Received} stats
- Reduce RTT damping to 0.875 (was 0.9)
- Add a stream.con.initialRTT.{in,out} stats
* Build files:
- Use the depend task with caching for more accurate dependencies
- Make sure the routerconsole gets the latest router version
- Fix addressbook repeated builds
* HTTPClient: Add config options to pass Via, Referer,
and User-Agent through
* Blocklists: Fix lists with hashes only
2008-11-11 zzz
* Streaming - Fix several bugs and improve performance
when the initial data is larger than one MTU,
e.g. HTTP GETs with large URLs, CGI params or cookies,
or large HTTP POSTS:
- Don't reject additional packets received without a
send stream ID (i.e. sent before the SYN ACK was received)
- Put unknown non-SYN packets on the SYN queue also
so they won't be rejected
- Reduce flusher delay to 250ms (was 500)
- Flush unless window is full (was window is non-empty)
* Streaming: Enforce a minimum MTU of 512
* I2PTunnel: Change "interactive" max window size to 16 (was 1)
* NetDb: Fix a deadlock caused by last checkin
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2008-11-09 zzz
* build.xml: Build speedups:
- Don't distclean in the updaterRouter target
- Don't make prepUpdate and prepupdateSmall depend
on distclean
- Don't make susimail build always clean
- Make pkg depend on distclean to be sure
- Clean out more routerconsole and susidns files in 'ant clean'
- i2ptunnel, routerconsole, susidns:
Only build WEB-INF when necessary
- systray: Only build jar when necessary
- Don't build i2psnark standalone for the updater target
* configclients.jsp: Provide a link when starting a webapp
* configtunnels.jsp:
- Code cleanup
- Add 4-hop option
- Remove +/- 0-2 option
* javadoc: Add some more package.html files
* I2PTunnelHTTPServer: Put the requestor's dest hash
in the request headers
* Jetty: Add a I2PRequestLog class to log request dest hash
* NetDb: Don't drop routerInfos if we have connectivity
issues or other problems
* NTCP: Lower idle timeout to 10m (was 15m)
* Routerconsole: Replace wtf msg w/ something nicer
* Tunnel BuildHandler: add config router.participantOnly,
set to true to refuse OBEP and IBGW roles, should
reduce connections significantly if set.
2008-11-02 zzz
* Certificates:
- Add a signed Certificate type
- Add a main() to PrivateKeyFile to generate
Destinations with various Certificate types
- Add a VerifiedDestination class to check Certificates
of various types
- Add a HashCash library from http://www.nettgryppa.com/code/
(no distribution restrictions)
- Allow non-null Certificates in addressbook
* I2PTunnel: Move some wayward stats to the I2PTunnel group
* NamingServices: Implement caching in the abstract class
* NewsFetcher: Fix last updated time
* Streaming: Increase MTU to 1730 (was 960);
see ConnectionOptions.java for analysis
* Throttle: Reduce default max tunnels to 2000 (was 2500)
* clients.config: Disable SAM and BOB by default for new installs
2008-10-26 zzz
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
* config.jsp: Add more help
* peers.jsp: Clean up 'Listening on' formatting
* profiles.jsp: Don't override locale number format
* netdb.jsp: Indicate if hidden
* summary.jsp: Indicate if hidden
* i2ptunnel/edit.jsp: Disable word wrap in textarea
* Blocklist: Change logging from ERROR to WARN
* FloodfillMonitor:
- Fix ff count (we forgot ourselves)
- Don't become ff if hidden
* HandleFloodfillDatabaseLookupMessageJob:
Send back your routerinfo with the DSRM if not ff to
spread the word that you aren't ff anymore
* I2Ping:
- Add -n count option
- Add rtt output
- Enhance help
- Fix option handling
* More findbugs cleanups
* NetDb:
- Fix behavior when router.isHidden=true
- Delay StartExplorersJob for 10m at startup
- Update dbLookup profile stats in FloodOnlySearchJob
and FloodfillVerifyStoreJob
- Fix response time store in profile in SearchJob
* Stats:
- Remove unused tunnel.buildSuccess and tunnel.buildFailure
- Remove tunnel.buildRequestTime and 5m rate stats from
netDb, effective in next release
* UDP:
- Don't do peer tests when hidden
- Don't offer to introduce when hidden
- Don't continually rebuild routerInfo when hidden
- Don't continually rebuild routerInfo when
i2np.udp.internalPort is set but i2np.udp.port is not
- Remove some unused functions
2008-10-20 zzz
* configclients.jsp: Handle clients with no args
* index.jsp: Add readme_nl.html (thanks mathiasdm!),
readme_sv.html (thanks hottuna!)
* Big findbugs cleanup
* Client: Prevent a race causing session reconnect
* FloodfillMonitor:
- Don't become ff if clock skew is high
- Rebuild routerinfo immediately when ff status changes
* FloodOnlySearchJob: Recover better if the floodfills
you know are no longer floodfill or are gone
* Installer: Bump min JRE to 1.5
* ShellCommand: Fix main()
2008-10-14 zzz
* index.jsp: Add multilanguage support for readme.html;
add readme_de.html (thanks devzero!)
* configupdate.jsp, configadvanced.jsp:
Disable word wrap in textareas
* install*.txt: Update for 1.5
* summary.jsp: Remove failing peer count
2008-10-10 zzz
* Profiles: Reduce reject penalty in
capacity calculation to avoid a congestion collapse
* Throttle: Change reject to BANDWIDTH from CRIT on shutdown
for improved anonymity
* Tunnels: Implement random discard to enforce share limit
* Tunnel Tests: Add time for outbound delay, to avoid
congestion collapse
* UDPPacketReader: Adjust logging
* build files: Change to source=1.5, target=1.5
* configpeer.jsp: Table cleanup
* i2psnark: Change default tunnel length from 1+1 to 2+0
* peers.jsp: Change <,> to in,out for UDP
2008-10-09 sponge
* Update version to -3
* BOB database threadlocking fixes
2008-10-08 sponge
* Update version to -2
* Bugfixes and additions to BOB
2008-10-07 sponge
* Bugfixes and additions to streaming.
* Added SimpleStore class in utils.
* Fixed SimpleTimer class to allow exit.
* BOB (Basic Open Bridge) added.
* 2008-10-05 0.6.4 released
2008-10-05 Complication
* Update versions, package release
2008-09-29 zzz
* i2psnark: Add codevoid link, remove mastertracker
2008-09-23 zzz
* config.jsp: Add some reachability help
* configpeer.jsp: Add blocklist info
* help.jsp: Add link to German FAQ
* tunnels.jsp: Fix inactive participating count
* SearchReplyJob: Don't look up references to shitlisted peers
* TunnelPeerSelector: Avoid a peer for 20s after a reject or timeout
2008-09-20 zzz
* NetDb: Fix the totally broken "check new routers against blocklist"
code from 3 checkins ago
* tunnels.jsp: Sort participating tunnels by usage, display rate
2008-09-19 zzz
* Tunnels:
- Add missing message accounting for inbound gateways,
we were underestimating participating traffic because of it,
and the tunnels were classified "inactive"
- Add participating tunnel role on tunnels.jsp
2008-09-18 zzz
* Throttle:
- Correctly check inbound and outbound total bw limits separately
- Fix up and actually use the tunnel.participatingMessageCount stat,
favor it if lower than the total bw stat, so that
client traffic isn't included for throttle decisions
- Reduce min message count from 60 to 40
* Tunnel Dispatcher:
- Add tunnel.participatingBandwidth stat
- Remove all 3h and 24h stats
2008-09-15 zzz
* FloodOnlySearchJob:
- Ask non-floodfill peers if we don't know any floodfills
- Lookup hashes in the DatabaseSearchReplyMessage if we
don't know enough floodfills
* NetDb: Check new routers against blocklist
* Router: Shutdown clients first
* Throttle:
- Use 60s rather than 10m tunnel.participatingMessageCount stat
- Fix a summary bar message
* Tunnel Dispatcher: Update tunnel.participatingMessageCount
every 20s, rather than at tunnel expiration, to maintain
a more current stat
* Tunnel Pool:
- Prevent excess zero-hop tunnels
- Always wait before looping in BuildExecutor
* configlogging.jsp: Increase box width
* logs.jsp: Remove unused connection log, cut wrapper log output in half
2008-09-12 zzz
* Blocklist: Fix a log message format
* HarvesterJob: Don't instantiate if disabled
* i2psnark:
- Add config i2psnark.linkPrefix to enable access to completed
torrents from a different machine - examples:
i2psnark.linkPrefix=file://///localserver/path/to/files/
i2psnark.linkPrefix=http://localwebserver/path/
(Stop i2psnark, add to i2psnark.config, restart)
- Remove Galen and NickyB trackers
* NetDb: Add netDb.exploreKeySet stat
* netdb.jsp: Add parameter ?r=xxxxxx to view a single routerinfo,
and ?r=. to view our own; change links on other pages too
* Transport: Make 0.0.0.0/8 and 169.254.0.0/16 private
2008-09-06 zzz
* EepGet command line: Fix byte counts after a failed resume
* NTCP: Mark unreachable on outbound connection timeout
* Shitlist: Fix partial shitlisting (still unused though)
* Summary Bar: Warn if firewalled and floodfill
* Throttle: Combine current and last bw measurement,
reduce default max tunnels to 2500 (was 3000)
* Tunnel BuildHandler: Logging cleanup
* UpdateHandler: Cleanup, clarify failure message
* DataHelper: Prepare for 999 day uptime :)
2008-08-29 zzz
* Tunnel BuildExecutor: Debug cleanup
* Profiles: Penalize capacity when tunnel build request times out
* Shutdown: Call the shutdown hooks before the router shutdown
rather than after
* Stats: Remove tunnel.Bps.* stats when the tunnel pool is closed
2008-08-27 zzz
* Floodfill Peer Selector: Prefer already-connected floodfill
peer for direct RouterInfo stores, to mimimize floodfill
connections
* Peer Profiles: Classify connected peers as "active",
which will help improve the fast pool
* Transport Manager: Add isEstablished(Hash)
* NTCP: Reduce max idle time from 20m to 15m
* NetDb stats: Post-0.6.3 clean up
* 2008-08-24 0.6.3 released
2008-08-24 Complication
* Update versions, package release
2008-08-20 zzz
* Blocklists: Handle blank lines and \r\n in blocklist.txt
* NTCP: Add connection limit, set by i2np.ntcp.maxConnections,
default is 500 (very high for now)
* Persistent data store: Increase write limit from 300 to 600
so floodfill routers don't get backed up
2008-08-13 zzz
* i2psnark: Fix OOM vulnerability by checking incoming message length
(thanks devzero!)
2008-08-04 zzz
* Floodfill Peer Selector:
- Avoid peers whose netdb is old, or have a recent failed store,
or are forever-shitlisted
2008-07-30 zzz
* Blocklists:
- New, disabled by default, except for blocking of
forever-shitlisted peers. See source for instructions
and file format.
* Transport - Reject peers from inbound connections:
- Check IP against blocklist
- Check router hash against forever-shitlist, then block IP
2008-07-16 zzz
* configpeer.jsp: New
* i2psnark: Open completed files read-only the first time
* profiles.jsp: Show bonuses, link to configpeer.jsp
* PRNG: Move logging from wrapper to router log
* SSU:
Don't proactively reconnect until 30m idle, so
we don't lose introducer tags prematurely
2008-07-16 Oldaris
* Imports cleanup
2008-07-07 zzz
* i2psnark:
- Repair corrupted files with wrong length rather than die
- Register shutdown hook to properly shutdown torrents when
the router shuts down, hopefully will reduce corruption
- Add Galen tracker
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
* HTTP Proxy: Don't show jump links for unknown jump hosts
* KeyManager:
- Don't write router key backup when leaseSet keys are updated
- Synchronize to prevent concurrent writes (thanks Galen!)
- Backup keys every 7 days instead of every 5 minutes
* LoadTestManager: Don't instantiate, it's disabled
* Router console: Flag placeholder pages as noncacheable
* Streaming lib:
- Change some logging from WARN to INFO
- Clean up toString()
* SSU:
- Try to pick better introducers by checking shitlist,
wasUnreachable list, failing list, and idle times
- To keep introducer connections up and valid,
periodically send a "ping" (a data packet with no data and no acks)
to everybody that has been an introducer in the last two hours
- Add a stat udp.receiveRelayRequestBadTag, make udp.receiveRelayRequest only for good ones
- Remove some 60s and 5m stats, leave only the 10m ones
- Narrow the range for the retransmit time after an allocation fail
- Adjust some logging
2008-06-30 zzz
* configstats.jsp: Fix NPE when no stats checked (thanks nothome27!)
* i2psnark:
- Fix NPE caused by race (thanks echelon!)
- Add mastertracker, remove de-ebook
* NTCP:
- Try to fix 100% CPU, caused perhaps by JVM NIO bug...
- Fix failsafe stats
* PersistentDataStore: More leaseSet code cleanup
* SimpleTimer: Change congestion message from error to warn
2008-06-24 zzz
* FloodfillMonitorJob: Change range from 5-7 to 4-6
* NTCP: Remove getIsInbound(), duplicate of isInbound()
* PersistentDataStore: Don't try to remove nonexistent leaseSet files
* Router console: add placeholder pages for i2psnark, i2ptunnel,
susidns, and susimail for use when the .wars are not running
* Streaming lib: Increase max window size to 128
2008-06-22 welterde
* Optimize I2PDatagramDissector
2008-06-20 zzz
* configclients.jsp: Add start button for clients and webapps.
* PRNG: Add two stats
* Summary bar:
- Display Warning for TCP private IP address
- Display PRNG stats
* OutNetMessage: Change cache logging from WARN to INFO
2008-06-17 zzz
* Comm System: Add new STATUS_HOSED for use when UDP bind fails
* Summary bar: Display helpful errror message when UDP bind fails
* UDP: Don't bid when UDP bind fails
* configclients.jsp: Implement saves for clients and webapps.
2008-06-16 zzz
* UDP: Prevent 100% CPU when UDP bind fails;
change bind fail message from ERROR to CRIT
* Refactor LoadClientAppsJob.java, move some functions to new
ClientAppConfig.java, to make them easily available to
new configclients.jsp
* RouterConsoleRunner: Use a new config file, webapps.config,
to control which .wars in webapps/ get run. Apps are enabled
by default; disable by (e.g.) webapps.syndie.startOnLoad=false
Config file is written if it does not exist.
Implement methods for use by new configclients.jsp.
* configclients.jsp: New. For both clients and webapps.
Saves are not yet implemented.
2008-06-10 zzz
* Floodfill: Add new FloodfillMonitorJob, which tracks active
floodfills, and automatically enables/disables floodfill on
Class O routers to maintain 5-7 total active floodfills
* NetDb Stats:
- Remove several more stats
- Don't publish bw stats in first hour of uptime
- Publish floodfill stats even if other stats are disabled
- Changes not effective until 0.6.2.1 to provide cover.
* Throttle: Use BANDWIDTH rather than CRIT as the rejection reason at
startup, so peers don't list us as failing.
* graphs.jsp: Fix a bug where it tries to display the combined
bandwidth graph when it isn't available
2008-06-09 zzz
* Propagate i2.i2p.i2p-0.6.2.1-pre branch to i2p.i2p
2008-06-09 zzz
* Reachability: Restrict peers with no SSU address at all from inbound tunnels
* News:
- Add display of last updated and last checked time
on index.jsp and configupdate.jsp
- Add a function to get update version (unused for now)
* config.jsp: Add another warning
2008-06-07 zzz
* NetDb: Tweak some logging on lease problems
* Shitlist:
- Add shitlistForever() and isShitlistedForever(), unused for now
- Sort the HTML output by router hash
* netdb.jsp:
- Sort the lease HTML output by dest hash, local first
- Sort the router HTML output by router hash
2008-06-06 zzz
* LeaseSet:
- Sort the leases by expiration date in TunnelPool.locked_buildNewLeaseSet()
to make later LeaseSet comparisons reliable. This cleans up the code too.
- Fix broken old vs. new LeaseSet comparison
in ClientConnectionRunner.requestLeaseSet(),
so that we only sign and publish a new LeaseSet when it's really new.
Should reduce outbound overhead both in LeaseSet publishing and LeaseSet bundling,
and floodfill router load, since locked_buildNewLeaseSet() generates
the same LeaseSet as before quite frequently, often just seconds apart.
2008-06-05 zzz
* LeaseSet - code cleanup:
- Add exception to enforce max # of leases = 6, should be plenty
- Rewrite TunnelPool.locked_buildNewLeaseSet() so it doesn't add lots of
leases and then immediately remove them again, triggering
the new leaseSet size exception
- Remove the now unused LeaseSet.removeLease(lease) and
LeaseSet.removeLease(index)
- Store first and last expiration for efficiency
* Peer Profiles - Preparation for using bonuses:
- Use CapacityBonus rather than ReachablilityBonus in the Capacity calculation
- Persist CapacityBonus rather than ReachabilityBonus
- Include SpeedBonus in the Speed calculation
- Prevent negative values in Speed and Capacity when using bonuses
- Clean up SpeedCalculator.java
* HTTP Proxy error pages: Don't say eepsites are 'temporarily' down since we don't know
* Add some config files for a future small distribution
* configtunnels.jsp: Add warnings for <= 0 and >= 4 hop configurations
2008-06-01 zzz
* Client Apps: Add new parameter for clients.config,
clientApp.x.startOnLoad=false, to disable loading
(for SAM for example). Defaults to true of course.
* Logging: Move common WARN output to DEBUG so we can ask users to
set the default log level to WARN without massive spewage
* ProfileOrganizer: Restrict !isSelectable() (i.e. shitlisted) peers from the High Capacity tier,
not just the Fast tier, since we don't use them for tunnels anyway
* SAM: Add some compiler flexibility to two obscure makefiles
* i2psnark: Change displayed peer idents to match that shown by bytemonsoon
(sponge's suggestion)
* summary bar:
- Hide ident, provide a tooltip and a link
- Add a warning if you are firewalled and class O
2008-06-07 Complication
* Fix version in news.xml so it could be published
* 2008-06-07 0.6.2 released
2008-06-07 Complication
* Write announcement and prepare for release
* Transport:
- NTCP and UDP: Don't bid to connect to private IP addresses, mark unreachable
- UDP: Don't bid when IP address missing, mark unreachable
2008-05-26 zzz
* Throttle: Set a default router.maxParticipatingTunnels = 3000 (was none)
* Stats: Add a fake uptime if not publishing stats, to get participating tunnels
* build.xml:
- Add an updaterSmall target which includes only the essentials
- Add an updaterRouter target which includes only i2p.jar and router.jar
- Clean up the build file some
- Remove empty eepsite/ and subdirs from i2pupdate.zip
* configtunnels.jsp: Add warning
* i2psnark: Catch a bencode exception (bad peer from tracker) earlier
* i2psnark-standalone: Fix exception http://forum.i2p/viewtopic.php?p=12217
2008-05-22 welterde
* Change jetty download location in build script
2008-05-20 zzz
* Reachability:
- Call the previously unused profile.tunnelTestFailed()
(redefined to include a probability argument)
and severely downgrade a peer's capacity upon failures,
depending on tunnel length and direction.
This will help push unreachable and malicious peers
out of the High Capacity tier.
- Put recent fail rate on profiles.jsp
* ProfileOrganizer: Logging cleanup
* eepsite_index.html: Update add-host and jump links
* HTTP Proxy: Remove trevorreznik jump server from list
2008-05-18 zzz
* Throttle: Reject tunnels for first 20m uptime (was 10m)
* TunnelPeerSelectors:
- Re-enable strict ordering of peers,
based on XOR distance from a random hash
- Restrict peers with uptime < 90m from tunnels (was 2h),
which is really 60m due to rounding in netDb publishing.
* i2psnark:
- Limit max pipelined requests from a single peer to 128KB
(was unlimited; i2p-bt default is 5 * 64KB)
- Increase max uploaders per torrent to 6 (was 4)
- Reduce max connections per torrent to 16 (was 24) to increase
unchoke time and reduce memory consumption
- Strictly enforce max connections per torrent
- Choke more gradually when over BW limit
* help.jsp: Add a link to the FAQ
* peers.jsp: Fix UDP direction indicators
* hosts.txt: Add update.postman.i2p
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2008-05-12 zzz
* Outbound message:
- Tweak the cache key for efficiency
* Stats:
- Require two udp stats when stats.full=false, caused NPE on peers.jsp
* Summary bar:
- Add messages when dropping tunnel requests due to load
* Update Handler:
- Add postman to the list
* i2psnark:
- Randomize the PeerCheckerTask start times to make global limiting
work better
- Calculate bw limits using 40s rather than 4m averages to make
bw limiting work better
- Change default bw limit from uplimit/3 to uplimit/2 due to
overhead reduction from the leaseset bundling change
* libjbigi:
- Add documentation on dynamic build option
- Add two speed tests to the build script
- Clean up the build script, make it easier to build dynamic
2008-05-10 zzz
* NetDb: Don't write the my.info file to disk, it isn't used for anything
* Stats:
- Simplify oldstats.jsp if no events in a stat
- Fix the hosed inNetPool.droppedDeliveryStatusDelay stat
(caused by an SSU hack)
* Update Handler:
- Add option to download and verify only
- Add distinct error message if version check fails
2008-05-09 welterde
* Add an update URL to the list
2008-05-07 zzz
* Reachability:
- Restrict peers requiring introducers from inbound tunnels,
since it's slow and unreliable... and many of them advertise
NTCP, which seems unlikely to work
- Provide warning on summary bar if firewalled with inbound NTCP enabled
* Stats: Remove the bw.[send,recv]Bps[1,15]s stats unless
log level net.i2p.router.transport.FIFOBandwidthLimiter >= WARN
at startup (you didn't get any data unless you set the log level anyway)
* oldstats.jsp: Don't put 2 decimal places on integer event counts
* Remove the Internals link from the menu bar
* i2psnark: Extend startup delay from 1 to 3 minutes
2008-05-06 welterde
* HTTP Proxy: Add i2jump.i2p jump service
2008-05-05 zzz
* NetDb Stats: Cleanup of commented out stats
* Outbound message:
- Fix a couple of tunnel cache cleaning bugs
- Cache based on source+dest pairs rather than just dest
- Send the reply leaseSet only when necessary,
rather than all the time (big savings in overhead)
- Enable persistent lease selection again
- Logging tweaks
* Reachability:
- Restrict <= .32 SSU-only peers from inbound tunnels,
since they don't know if they are unreachable
- Have SSU bid aggressively when it has less than 3 peers, so
we can determine our IP address and do peer testing.
Otherwise a router may never determine its IP address or reachability status.
* Summary bar:
- Add reachability status
- Add participating tunnel acceptance status
* Throttle: Reject tunnels for first 10m uptime
* I2PTunnel: Change default outproxy to false.i2p
2008-04-20 zzz
* Outbound message/Reachability:
- Fix a bug from -19 causing the persistent lease selection
removed in -17 to be back again
- Use netDb-listed-unreachable instead of detected-unreachable
for exclusion of unreachable peers from selected leases,
as there are potential anonymity problems with using
detected-unreachable
- Tweak logging some more
* NetDb stats: Remove a couple more including the inefficient stat_identities
2008-04-17 zzz
* Reachability:
- Track unreachable peers persistently
(i.e. separately from shitlist, and not cleared when they contact us)
- Exclude detected unreachable peers from inbound tunnels
- Exclude detected unreachable peers from selected leases
- Exclude detected unreachable floodfill peers from lookups
- Show unreachable status on profiles.jsp
2008-04-16 zzz
* SSU/Reachability:
- Extend shitlist time from 4-8m to 40-60m
- Add some shitlist logging
- Don't shitlist twice when unreachable on all transports
- Exclude netDb-listed unreachable peers from inbound tunnels;
this won't help much since there are very few of these now
- Remove 10s delay on inbound UDP connections used for the
0.6.1.10 transition
- Track and display UDP connection direction on peers.jsp
- Show shitlist status in-line on profiles.jsp
2008-04-15 zzz
* SSU Reachability/PeerTestManager:
- Back out strict peer ordering until we fix SSU
- Back out persistent lease selection until we fix SSU
- Fix detection of UDP REJECT_UNSOLICITED by recording status on expiration
- Increase known Charlie time to 10m; 3m wasn't enough
- Don't continue retransmitting peer test if we know Charlie
- Don't run multiple peer tests at once
- Tighten test frequency range to 6.5-19.5m, was 0-26m