Commit Graph

3702 Commits

Author SHA1 Message Date
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
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
zzz
397ae536f9 Data: Clear more caches when under memory pressure and at shutdown 2014-11-12 14:44:49 +00:00
zzz
f19ec4bd44 Plugins: Fix bug in stopping a ClientApp plugin with $parameters in the args 2014-11-12 14:38:13 +00:00
zzz
a961843aa6 bump -4 2014-11-10 16:27:53 +00:00
zzz
ae1d5648d5 Router, i2ptunnel: Add option for per-pool persistent random key,
so peer ordering does not change across restarts
2014-11-09 13:51:19 +00:00
zzz
4691fc69d5 SSU: Fix bug preventing inbound connection from non-DSA router (ticket #1408)
Transports: If we are non-DSA, check for compatibility before connecting out
2014-11-08 18:01:13 +00:00
zzz
cb87f9f307 ProfileOrganizer: More efficient slice calculation,
don't pollute Hash cache
2014-11-08 17:57:17 +00:00
zzz
5f1e5bc271 Data: make getKeysAndCert() public 2014-11-08 17:53:55 +00:00
zzz
cfd9e2c3ab Fix compile error; history for prop; -2 2014-11-06 18:09:14 +00:00
zzz
a0b457b9a1 propagate from branch 'i2p.i2p.zzz.test2' (head 9dca19f228a66b5ac646c3d97d4f018c733081de)
to branch 'i2p.i2p' (head e7f2b0990f1ff9ab0e0d8633ac2faf35a993b917)
2014-11-06 17:53:02 +00:00
zzz
23f24c7d39 javadoc 2014-11-06 17:50:47 +00:00
zzz
76e4b49d9d Transports: Consolidate port checking code
Disallow SSDP port
2014-11-06 15:20:24 +00:00
zzz
893d1bb45f Job Queue: Only drop lookup jobs if lagged 2014-11-05 16:59:19 +00:00
zzz
0d2892c75d SSU: Fix corruption of ack-only packets containing bitfields
Full acks were included in the bitfield portion, which
ran over and appeared to be fragments.
Also clean up setting bytes with initial data, for clarity.
2014-11-04 14:51:31 +00:00
zzz
702830ad0e Reseed: SSL only by default 2014-11-02 16:16:01 +00:00
zzz
634bf5f7e3 0.9.16
Fix history.txt UTF-8 breakage
Javadoc fixes after review
2014-11-01 18:50:26 +00:00
zzz
ad2052395f bump -19-rc 2014-10-31 12:47:35 +00:00
zzz
8b2cf770a5 bump -18-rc 2014-10-30 20:51:28 +00:00
zzz
bab1e05235 Router: Fix rare NPE building garlic message (ticket #1403) 2014-10-30 15:14:52 +00:00
zzz
798275608e jbigi: Save and report extracted library name 2014-10-28 14:50:40 +00:00
zzz
0f2affd414 SSU: Don't publish direct info if introducers are required 2014-10-28 14:00:37 +00:00
zzz
7695b51d89 Make recognition of a hidden router consistent,
whether specified in the caps or the cert
2014-10-28 13:50:09 +00:00
zzz
304f2ebb7b dont OOM when thread dies 2014-10-28 13:16:20 +00:00
zzz
4976e84488 use recent method 2014-10-28 13:13:40 +00:00
zzz
2ebacb1b9b fix static access 2014-10-28 13:11:39 +00:00
zzz
d085f9ea66 SSU: Fix ACK Sender thread dying on corrupt packet 2014-10-26 22:09:38 +00:00
zzz
d7130c15cc SSL: Don't prohibit SSLv3 ciphers if that's all we have 2014-10-23 15:32:07 +00:00
zzz
937a17c5dd SessionKeyManager:
- Raise inbound limit
- Delete oldest tagsets when limit is hit
- Don't delete recent tagsets when limit is hit
- Log tweaks
2014-10-23 15:31:00 +00:00
zzz
b6234e1d5e javadoc fixes 2014-10-23 15:26:03 +00:00
zzz
bcbda3cd27 SSU: Don't resend ACKS that are too old (ticket #772)
untested
2014-10-21 18:37:11 +00:00
zzz
44d6e117d5 Console and Eepsite Jetty:
Switch back to QueuedThreadPool (ticket #1395)
In Jetty 5/6, the default QTP was not concurrent, so we switched to
ThreadPoolExecutor with a fixed-size queue, a set maxThreads,
and a RejectedExecutionPolicy of CallerRuns.
Unfortunately, CallerRuns causes lockups in Jetty NIO.
In addition, no flavor of TPE gives us what QTP does:
- TPE direct handoff (which we were using) never queues.
  This doesn't provide any burst management when maxThreads is reached.
  CallerRuns was an attempt to work around that.
- TPE unbounded queue does not adjust the number of threads.
  This doesn't provide automatic resource management.
- TPE bounded queue does not add threads until the queue is full.
  This doesn't provide good responsiveness to even small bursts.
QTP adds threads as soon as the queue is non-empty.
QTP as of Jetty 7 uses concurrent.
QTP unbounded queue is the default in Jetty.
So switch back to QTP with a bounded queue, which does what we want,
which is first expand the thread pool, then start queueing, then reject.

ref:
http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ThreadPoolExecutor.html
https://wiki.eclipse.org/Jetty/Howto/High_Load
2014-10-20 14:01:36 +00:00
zzz
4d4308c486 NTCP: Deadlock fix 3rd try (ticket #1394) 2014-10-17 14:15:40 +00:00
zzz
abcdcf2e8c log tweaks (SSU) 2014-10-16 20:38:12 +00:00
zzz
44b753d1e5 NTCP: Deadlock fix 2nd try (ticket #1394) 2014-10-16 20:21:03 +00:00
zzz
83b3f242a9 Console, I2CP, i2ptunnel, SSLEepGet: Set allowed SSL protocols and ciphers 2014-10-15 20:44:23 +00:00
zzz
3bea7f5ad5 drop unused HarvesterJob 2014-10-14 16:32:41 +00:00
zzz
266a20d55e I2NP: Implement DatabaseLookupMessage search type field,
to replace all-zeros hash, and ease implementation for
separate LS and RI databases, as documented in i2np spec.
2014-10-14 13:57:02 +00:00
zzz
d2c6a80d24 i2ptunnel: Set default sig type to ECDSA P256 for client tunnel
types Standard, IRC, and Socks IRC, if non-shared.
2014-10-13 16:46:58 +00:00
zzz
73256f6030 Move BundleRouterInfos out of router.jar 2014-10-10 19:40:49 +00:00
zzz
e081f94d9f GeoIP:
- Don't rate peers in some countries as high capacity
   - Don't enable auto-floodfill in some countries
   - Don't prefer floodfills in some countries
2014-10-10 15:26:17 +00:00
zzz
e96cc09d75 Banlist: Remove unused banlist tracking in the profile causing deadlock (ticket #1394) 2014-10-10 15:21:10 +00:00
zzz
d87178fec3 UPnP: Comment out unused parsers 2014-10-08 17:47:19 +00:00
zzz
28ad95f892 findbugs all over 2014-10-07 14:59:49 +00:00
zzz
8270a92a44 SSU: Improve handling of socket that gets closed (ticket #1385) 2014-10-07 12:09:10 +00:00
zzz
088290c544 Startup: Delay ReadConfigJob another minute
- code cleanup
2014-10-07 12:04:55 +00:00
zzz
1c2b6fc00e CPUID: Fix Intel processor identification 2014-10-03 17:45:34 +00:00