Commit Graph

10677 Commits

Author SHA1 Message Date
zzz
2ba4992d88 propagate from branch 'i2p.i2p.zzz.test2' (head 0feb2e6806927f68c7333aaa0892de185bb2629c)
to branch 'i2p.i2p' (head 0482fa843cb1e9d7ec281440056eef3a0ab07bdb)
2014-12-05 15:14:40 +00:00
zzz
5e67008d26 I2PTunnel: Reduce i2ptunnel threads, more thread pooling.
Big savings is on client side (two less threads per connection)
 - Move client pool from static inI2PTunnelClientBase to TCG.
 - Use client pool for some server threads
 - Run some things inline that were formerly threads
 - Client-side I2PTunnelRunner thread used to do nothing but start 2 more
   threads; now it runs one inline (like we do for server-side HTTP)
 - Javadocs and cleanups
Was originally intended to reduce load for high-traffic servers
but most of the savings for now is on the client side.
Ref: http://zzz.i2p/topics/1741
Todo: Figure out how to run the HTTP client-side gunzipper inline too
Todo: More server-side improvements

---

Client side:

before:
4-5 threads, 1-2 pooled

  I2PTunnel Client Runner (BlockingRunner from client pool)
      starts I2PTunnelRunner or I2PTunnelHTTPClientRunner and exits
          starts StreamForwarder toI2P and waits
          starts StreamForwarder fromI2P and waits
              starts HTTPResponseOutputStream (HTTP gunzip only) (from client pool)
now:
2-3 threads, 1-2 pooled

  I2PTunnel Client Runner (BlockingRunner from client pool)
      runs I2PTunnelRunner or I2PTunnelHTTPClientRunner inline
          starts StreamForwarder toI2P and waits
          runs StreamForwarder fromI2P inline
              starts HTTPResponseOutputStream (HTTP gunzip only) (from client pool)

---

Server side:

before:
1-4 threads, 0-1 pooled

  Server Handler Pool (Handler from server pool) execpt for standard server, blockingHandle() inline in acceptor
      starts I2PTunnelRunner or CompressedRequestor and exits
          starts StreamForwarder toI2P and waits   (inline for HTTP)
          starts StreamForwarder fromI2P and waits  (except not for HTTP GET)

now:
1-4 threads, 0-2 pooled

  Server Handler Pool (Handler from server pool) execpt for standard server, blockingHandle() inline in acceptor
      starts I2PTunnelRunner or CompressedRequestor and exits (using client pool)
          starts StreamForwarder toI2P and waits   (inline for HTTP)
          starts StreamForwarder fromI2P and waits  (except not for HTTP GET)
2014-12-05 15:12:51 +00:00
zzz
e7b50c5940 reduce auto-stop threshold again 2014-12-02 15:23:50 +00:00
zzz
78d7277298 show b32 for local leasesets too 2014-12-02 15:11:12 +00:00
zzz
fb641187b8 use new getVersion() 2014-12-02 13:42:58 +00:00
zzz
4b2715c36f RouterInfo: Add convenience method getVersion() 2014-12-02 13:30:31 +00:00
zzz
f1e9f5d4fd DatabaseStoreMessage: Mask the unused bits in the type field,
in case we ever want to use them for options
2014-12-02 13:28:48 +00:00
zzz
2d43d349ab add more invalid ports 2014-12-02 13:22:26 +00:00
zzz
7ab6708a3c 0.9.17 i2p-0.9.17 2014-11-30 16:41:57 +00:00
7010d9b524 really bump 2014-11-28 20:43:42 +00:00
947a3a2181 bump build (-11-rc) 2014-11-28 20:42:33 +00:00
0ff87ef8cb merge of '3e6cfe9a01136316f39f1bd294a515e6bc91ff8e'
and 'b4b595d294ace07f7fde583957d8e00e96af347c'
2014-11-28 20:39:57 +00:00
ec20150ffd geoip updates (2014-11-05) 2014-11-28 19:29:16 +00:00
30876a9cd3 PO files pulled from tx 2014-11-28 19:25:26 +00:00
zzz
1773fc0e0d Add more clues to file locations in default config files 2014-11-28 14:23:34 +00:00
zzz
6d6f7fb89b Data: Disallow duplicate keys in a Mapping 2014-11-28 13:45:33 +00:00
zzz
449ce3176e propagate from branch 'i2p.i2p' (head b4b595d294ace07f7fde583957d8e00e96af347c)
to branch 'i2p.i2p.zzz.test2' (head 90c482d231ea639bff8d37d390dac081e361f48f)
2014-11-28 13:13:00 +00:00
zzz
be8832e87f link to Russian version of ECDSA help page 2014-11-27 18:17:07 +00:00
zzz
5999690665 link ECDSA warning to wiki help page 2014-11-27 12:55:16 +00:00
zzz
285fa6cbc9 BuildRequestor: Reduce delay when client build can't find
a paired tunnel (possible fix for ticket #1412)
2014-11-26 17:32:56 +00:00
zzz
9700f30c35 Tunnels: Disallow changing allowZeroHop setting for exploratory 2014-11-26 16:18:37 +00:00
zzz
a38bd0b5cf Data: Fix NPE on unknown sig type in destination
Fix hashcode and equals for typed data
2014-11-26 16:06:09 +00:00
zzz
5383f9f097 Profiles: Change slice selection argument from an int to an enum for clarity 2014-11-25 14:25:42 +00:00
zzz
a16d17c422 SusiMail: Add save-as button
Fix encoding for filename in Content-Disposition header
New icon from Silk, same license as the others
2014-11-24 18:36:16 +00:00
zzz
5f2b620819 PrivateKeyFile: Don't rewrite file in main() if no options 2014-11-24 14:26:53 +00:00
zzz
fd47cb88de i2ptunnel: Fix automatic setting of random key 2014-11-24 14:15:44 +00:00
zzz
77e7982e74 Drop i2p.feared.eu ssl cert for reseed 2014-11-23 14:24:22 +00:00
zzz
04cd1cedda Reseed update from backup@mail.i2p:
please commit some updates for my reseed servers: Add new ssl-certs:
	ieb9oopo.mooo.com2.crt	-->  certificates/ssl/	
	link.mx24.eu.crt	-->  certificates/ssl/

The first one is a new ssl-cert as exchange for the current one.
On http-server side the exchange will take place sometimes next year,
until then the current existing ieb9oopo.mooo.com.crt is still valid.
The second is a new reseed server from me.

Reseeder.java: Please add to DEFAULT_SSL_SEED_URL:	
	https://link.mx24.eu/
with this comment:	
	// Only HTTPS and SU3 (v3) support

Also the list can be cleaned up from these other dead servers:
2014-11-23 14:18:29 +00:00
zzz
3ef89f49e7 SAM: Fix v3 bug accepting incoming connections
It was starting both the v3 and v1 acceptors.
2014-11-22 17:19:40 +00:00
zzz
2a681608b5 PeerSelector: If non-DSA, don't use incompatible peers
for exploratory tunnels or closest-hop in client tunnels
2014-11-22 14:05:06 +00:00
zzz
a52c06a6c6 point to Jetty 8 Javadocs 2014-11-22 13:17:39 +00:00
49b8a65ad9 Integer.compare() is 1.7 syntax 2014-11-21 22:52:19 +00:00
9781cb72ac Bump version 2014-11-21 13:11:47 +00:00
f7e83fb839 Require at least one update in a release 2014-11-21 13:09:58 +00:00
ce2a2cf684 Only need one torrent magnet; tighten update type spec 2014-11-21 13:02:57 +00:00
c88fa70f82 Cleanups 2014-11-21 12:52:24 +00:00
f76744a0c0 Improved SU3 news file specification 2014-11-21 12:46:33 +00:00
zzz
31cc0764a9 Logger: Configurable flush interval 2014-11-18 14:49:23 +00:00
zzz
15137d9b62 NetDB: Exclude A1/A2 "countries" from auto-floodfill 2014-11-17 14:19:00 +00:00
zzz
8f8adfa39e propagate from branch 'i2p.i2p' (head bde4ef3680071b416b3528bad4c16245964f432a)
to branch 'i2p.i2p.zzz.test2' (head 183d2a30edd10165451d0cbbf75636f3b1dfda16)
2014-11-15 17:48:39 +00:00
zzz
5044f3e58f I2NP:
Move some data structures away from ByteArray; offsets were always zero
  - New BuildRequestRecord constructors
  - BuildRequestRecord field becomes final byte[222]
  - IV becomes byte[16]
  - Build record becomes EncryptedBuildRecord
Remove extra copy in BuildRequestRecord.encryptRecord()
Remove unused BuildRequestRecord.readOurIdentityMatches()
2014-11-15 17:48:11 +00:00
zzz
279e102d7a I2NP:
- Set lookup type flags even if no reply tunnel specified
- Reduce object churn when writing some messages
2014-11-15 17:45:14 +00:00
7f72830ec8 JavaDoc fixes 2014-11-14 22:00:51 +00:00
2caaad95ec Comment out not yet implemented tests 2014-11-14 21:52:47 +00:00
09b995aca6 BigIntegerFieldElement.isNonZero() tests 2014-11-14 21:51:53 +00:00
a0bf8433e4 Tests: copy the EdDSA test.data file to where the classloader can find it 2014-11-14 21:16:28 +00:00
zzz
9104bd7304 Tests: Copy the new EdDSA test vectors
to where the classloader can find them.
Throw a better error message if not found.
2014-11-14 16:44:04 +00:00
zzz
2f2aa7f5a8 I2PTunnel:
- Fix bug that left server acceptor thread running after close
- Add destroy() methods to release all resources when closing a tunnel for good,
  particularly the streaming timer threads
- Use COWAL to prevent concurrency problems
- Javadocs
Streaming:
- Don't return null from accept() any more; actually throw
  ConnectException as the javadocs have always specified
- Throw ConnectException from accept() if interrupted; previously caught and ignored
- Throw exceptions from ConnectionHandler.accept(), not higher up
- Close ServerSocket when ConnectionManager is shut down
- Synchronize setActive(), clear queue when starting to accept,
  better handling of calls that don't change state
- Javadocs
ConfigClientsHelper: Call isPluginRunning() less often
PluginStarter: Simplify detection of active threads

Above changes mostly in support of zzzot plugin implementing ClientApp
and being able to shut down completely so there are no threads
in its thread group, so /configclients will all show status as stopped.
Previously, the I2PTunnelServer acceptor thread and
one or more streaming timer threads would remain.
2014-11-13 20:12:55 +00:00
0773a30578 add hamcrest-all to classpaths and minor formatting fixes 2014-11-12 17:42:50 +00:00
962f5efe6b merge of '1e0d390eeacce432f968251f1bbbe03ef031a116'
and 'f61d617d9bfd5759366102b0b5ff45effde08e84'
2014-11-12 14:52:52 +00:00