Commit Graph

1753 Commits

Author SHA1 Message Date
zzz
25e51a945c - Fix first hop expiration for Build Messages, was way too long
- Randomize Build Message expiration to make it harder to guess hop position
      - Save expired tunnel build configs for a while, so that we will still use the tunnel
        and update peer stats if the reply comes in late
      - Don't update our own profile for Tunnel Build Replies
2010-02-01 14:17:11 +00:00
zzz
839986db22 * I2NP: Add UnknownI2NPMessage so we can route unknown message types 2010-01-31 16:31:36 +00:00
zzz
56b3e6a993 * Tunnel Building:
- Add getRecordCount() to TunnelBuildMessage and TunnelBuildReplyMessage
        so they can be extended.
      - New I2NP Messages VariableTunnelBuildMessage and VariableTunnelBuildReplyMessage,
        which contain the number of request slots in them.
      - Convert all static assumptions of 8 slots to getRecordCount()
      - Use the new VTBM if all hops in the tunnel and the OBEP or IBGW of the reply tunnel
        support it, and the tunnel is 4 hops or shorter.
      - Reply to a VTBM with a VTBRM of the same size
      - Make BuildReplyHandler static
      - Convert the currentlyBuilding List to a ConcurrentHashMap to speed reply lookups
        and eliminate a global lock; don't put fallback tunnels in there
      - Add new tunnel.corruptBuildReply stat
      - Various cleanups and javadoc

    Tested as compatible with current network, new messages untested.
2010-01-29 19:22:10 +00:00
zzz
5dda915467 * Startup:
- Enable multiple parallel job runners much sooner to speed startup
      - Rearrange the startup order to get the long jobs started sooner
      - Don't allow the netDb readin job to clog the job queue
2010-01-23 19:12:37 +00:00
zzz
66d8fd6c2a * ProfileOrganizer:
- Limit High Cap to 75 max
      - Reduce max lock wait time
      - More cleanup
2010-01-23 03:40:56 +00:00
zzz
174fedc2e6 - Flood even if the entry was received via a garlic message
- Encrypt stores only if floodfill supports it
2010-01-17 02:45:55 +00:00
zzz
4803e60db4 Limit fast tier to 30 max 2010-01-16 23:23:58 +00:00
zzz
abb62b93e3 store to a different ff after verify fail 2010-01-16 18:59:00 +00:00
zzz
95bb322cd7 Clock: Change a CRIT to an ERROR, lower threshold for changing from 10s to 5s 2010-01-16 18:58:02 +00:00
zzz
670b4033cb Add a small number of ms (0-300) that increases as we approach the expire time.
Since the earliest date functions as a version number,
this will force the floodfill to flood each new version;
otherwise it won't if the earliest time hasn't changed.
2010-01-16 17:06:20 +00:00
zzz
715ae13997 dont log a RI DSM down a client tunnel as an error, just silently drop, as probably the result of a FVSJ 2010-01-16 17:06:01 +00:00
zzz
77b88ab59d * NetDb Stores and Verifies:
- Do LS stores and verifies through client tunnels
        to prevent correlation by the OBEP or FF
      - Encrypt LS stores to prevent snooping by the OBEP
      - Encrypt LS and RI verifies to prevent snooping by the OBEP
      - Extend verify delay and timeout
      - Reenable RI verifies
      - Disallow simultaneous verifies for the same key
      - Don't resend on verify timeout; try a different peer instead
      - Adjust ff selection criteria
2010-01-15 21:37:41 +00:00
zzz
64235bd745 * NetDb Lookups: Don't try to send a RI lookup to itself through a zero-hop tunnel 2010-01-15 15:16:58 +00:00
zzz
3cd6520758 logging and javadoc tweaks 2010-01-10 22:01:00 +00:00
zzz
5be21a19db support add, delete,edit of clients 2010-01-06 21:24:08 +00:00
zzz
043359dd40 propagate from branch 'i2p.i2p' (head dbcd208a02bbecfe924e13a7d71297ece3f01ef3)
to branch 'i2p.i2p.zzz.test' (head 9eee20312852c80ca6c8e079174578a335edbe6d)
2010-01-06 17:16:18 +00:00
zzz
1b95b00b44 prevent more than one zero-hop tunnel in a leaseset 2010-01-06 17:16:00 +00:00
zzz
eaaf6af31d javadoc and logging tweaks; bring back i2ptunnel link to summary bar 2010-01-06 14:52:53 +00:00
5fcddd581e Fix one last stupid mistake in build.xml, my fault. 2010-01-02 22:58:50 +00:00
5065aec773 Fix NB 6.8 goofyness... 'till ant 1.7.1 or > is needed, stay with NB 6.5,
as the newer ones place a check for 1.7.1. We require 1.7.0
2010-01-02 14:59:50 +00:00
zzz
5ed29b6c27 laptop mode 2010-01-02 02:46:23 +00:00
zzz
883b53de0a cleanups, javadoc 2009-12-30 22:38:37 +00:00
zzz
cefc1f130d * NetDb: Fix exploration by adding a null hash to mean
"don't give me floodfills"
    * PeerSelector: Downgrade floodfills with high fail rate
2009-12-30 22:36:53 +00:00
zzz
b2a137c5bc make BuildResponseRecord static 2009-12-30 22:33:26 +00:00
zzz
62f056f884 remove more unused logs 2009-12-30 22:28:07 +00:00
zzz
acb75f4212 oops 2009-12-26 20:37:05 +00:00
zzz
c40b56c19d -12 2009-12-26 20:28:11 +00:00
zzz
98027a06ec javadoc 2009-12-26 20:26:47 +00:00
zzz
d92dfec1bf * UDP: Bid lower than NTCP when we need introducers and don't
have enough; was preventing firewalled routers from
      being reachable
2009-12-26 20:25:32 +00:00
zzz
72a588bfbf * Tunnels
- More code to detect improper reuse of cached objects
        after release
      - Don't pass a msg with a failed IV on to
        the FragmentHandler at the OBEP
      - More cleanups and comments
2009-12-26 20:20:11 +00:00
zzz
213bc4bb71 - Prevent release of TunnelDataMessage cached ByteArray,
as it may be reused if retried in another transport;
        a nasty bug causing corrupt messages
      - Lots of code to detect improper reuse of cached objects
        after release
2009-12-26 20:12:43 +00:00
zzz
1a01aa0ae4 - Code to detect improper reuse of cached objects
after release
      - Prevent race with released resources in UDP OutboundMessageState;
        a nasty bug causing corrupt messages
      - More cleanups and comments
2009-12-26 20:05:41 +00:00
zzz
0b0e3fffe4 various cleanups, javadocs, logging 2009-12-26 20:00:47 +00:00
zzz
629d12ade1 * Tunnels:
- Do RED dropping before the IBGW fragmenter, not after
      - Change batch time to 250ms for IBGWs (was 100ms)
      - Change batch time to 150ms for exploratory OBGWs (was 100ms)
      - Start a new message in the fragmenter if almost full
      - Fix a major, longstanding synchronization bug in the FragmentHandler
        which led to corrupt messages at the endpoints
      - More cleanups and comments
2009-12-22 15:08:10 +00:00
zzz
08929752a6 move SubmitMessageHistoryJob to test 2009-12-22 15:02:28 +00:00
zzz
aaa5b4ca86 oops 2009-12-20 15:05:58 +00:00
zzz
8d7e84494b -10 2009-12-20 15:00:19 +00:00
zzz
a877b21839 more comments and cleanup 2009-12-20 14:50:41 +00:00
zzz
30b7dbf1f7 Tunnel fragmenter cleanup, prep for enhancements 2009-12-19 22:20:58 +00:00
zzz
ecae0b055d schedule the outbound rather than sleep the thread for 3 seconds 2009-12-19 18:15:21 +00:00
zzz
2a1d358141 * Profile, DBHistory:
- Tweak the rate periods
      - Add a global fail rate stat
      - Increase the HashMap sizes
2009-12-19 17:10:39 +00:00
zzz
579b450029 clean up context usage 2009-12-19 16:56:38 +00:00
zzz
72eafe0920 * Tunnels: Reduce the drop probability for TunnelBuildMessages at the OBEP 2009-12-19 16:54:59 +00:00
zzz
f226392c9d static access fix 2009-12-19 16:53:49 +00:00
zzz
2cd5c209f5 unused cleanup 2009-12-19 16:52:49 +00:00
zzz
f0d444b32e add to javadoc and adjust logging 2009-12-19 16:52:18 +00:00
zzz
4baff9fbab * Router: Move some more threads to I2PAppThread so an OOM won't crash the router 2009-12-19 16:49:55 +00:00
zzz
8e656427d8 * Console:
- Fix status to show a disconnected network error rather than
        clock skew or UDP error when disconnected
      - Use peer clock skew rather than clock offset for determining
        whether to display clock skew error, i.e. display what matters
    * Transport: Rework peer clock skew method to always return a value
      by falling back to router clock offset;
      Fix possible AIOOBE and divide by zero; remove logging;
      reduce min number of peers
2009-12-19 16:47:18 +00:00
zzz
08e54c515e add isRouterContext() method 2009-12-19 16:37:44 +00:00
zzz
43b71a263c * Tunnel building:
- Increase timeout to 13s (was 10s)
      - Fix tunnel.buildReplyTooSlow stat
      - Tweak logging
      - Prioritize expl. builds over client builds
      - Code cleanups
2009-12-17 23:45:20 +00:00