Commit Graph

2371 Commits

Author SHA1 Message Date
eyedeekay 6ada2f3b5e Router: Change name of STATUS to QUALIFIER, move it after BUILD 2023-10-07 16:06:52 -04:00
idk 4872eedd83 Router: This moves all client sub-netDbs into the ClientConnectionRunners. This turns the FloodfillNetworkDatabaseSegmentor into a means of looking up netDb's and managing the main netDb and a special netDb for managing multihomes. It adds the ability to use sub-netDbs as a defense against netDb context confusion bugs, and also to switch to a single monolithic netDb if necessary. 2023-10-07 19:20:14 +00:00
zzz d2ab9a7ff4 bump -4 2023-09-29 06:16:14 -04:00
zzz 60bf83a653 bump -3 2023-09-27 11:11:17 -04:00
eyedeekay 69d5dfc621 Router: bump build rev 2023-09-22 20:21:51 -04:00
idk 88d9d0f9b7 Nested NetDb Branch Redux 2023-08-31 02:53:07 +00:00
eyedeekay d66a7424a7 Router: add option to include a release 'status' in the version number, i.e. beta1, rc1 2023-07-18 14:51:45 -04:00
idk 40a7149215 update versions and build numbers 2023-06-29 13:39:12 -04:00
idk f308ebee74 bump rc 2023-05-25 03:39:18 +00:00
idk 0401157703 fix non-zero build number change that was not checked in 2023-03-13 19:33:12 +00:00
zzz b44cb59a48 Transports: Add new inbound connection throttler
To limit rate increase of inbound conns
Add exemption system so inbound tunnel builds bypass the throttler
2023-02-16 10:26:14 -05:00
zzz 6f80df48e0 bump -8 2023-02-12 10:17:57 -05:00
zzz 56ab3b59a2 bump -7 2023-02-08 09:46:38 -05:00
zzz c6fca9da6a bump -6 2023-02-04 09:26:32 -05:00
zzz 124ebe9fdf Tunnels: Refactor peer selection
by checking if a peer qualifies when adding, rather than
iterating through the whole netdb to generate an exclusion list at the start.
This was very inefficient and generated needless lookup storms via lookupBeforeDropping()
Same idea for getClosetHopExclude()
Goal is to never iterate through all the known routers, profiles, or connected peers
to select peers for a single tunnel.
Add ExcluderBase and 4 classes for various cases:
Excluder, ClosestHopExcluder, IBGWExcluder, and OBEPExcluder.

Change CSFI.getEstablished() from a Set to a List for efficiency
Improve efficiency of selectActivePeersNotFailingPeers()
by iterating through connected list rather than profiles.
Do not add not-connected peers to exclude set,
which would become huge for hidden routers.

Change getExclude() to shouldExclude()
The exclude set calls shouldExclude() in contains().
Pass the exclude set to ProfileOrganizer.

For client tunnels, do OBEP and IBGW checks at peer selection time,
not afterwards in ConnectChecker, so it doesn't fail at the end in checkTunnel().

Check closest hop when hidden.
Fail-fast for inbound when no connected peers and hidden, do not fall back to non-connected peers.
Should improve startup time for hidden routers.

Use ArraySet for matches to save space
Remove unused selectPeersLocallyUnreachable() and selectPeersRecentlyRejecting()

No peer selection policy changes here.
2023-01-30 08:05:39 -05:00
zzz 0af5ea883a bump -4 2023-01-22 10:31:38 -05:00
zzz 3da4369c96 bump -3 2023-01-21 12:47:05 -05:00
zzz d45df857d6 bump -2 2023-01-17 14:59:22 -05:00
zzz 841e277180 SAM: Abort tunnel build if control socket closes
Command error handling and message improvements
Implement simple HELP command
bump -1
2023-01-12 13:35:05 -05:00
zzz a5d649ba2d 2.1.0 2023-01-10 09:32:31 -05:00
zzz 1e34738fca SSU: Rewrite/fix previous Java 7 (Android) fix
Update checklist to specify bootclasspath, so these are caught in the future
bump -16-rc
2023-01-08 14:45:17 -05:00
zzz b4fb8ba2c9 bump for review -15-rc 2023-01-06 14:45:01 -05:00
zzz 5818f8e26d bump -14-rc 2022-12-31 14:10:58 -05:00
zzz dcb8009c63 Tunnels: Limit requested client tunnels during congestion
This will probably also reduce builds at startup.
Limits may require tweaks after further testing.
2022-12-29 12:07:48 -05:00
zzz b5ce70955b bump -12 2022-12-26 14:15:30 -05:00
zzz 3580430005 bump -11 2022-12-22 09:59:22 -05:00
zzz e9c74c7c45 bump -10 2022-12-20 08:54:55 -05:00
zzz 73d226e7d7 bump -9 2022-12-17 11:59:34 -05:00
zzz bbbc127193 bump -8 2022-12-15 15:08:58 -05:00
zzz 232586c709 bump -7 2022-12-14 16:11:16 -05:00
zzz 01618c6202 SSU: Update activity timestamps for relay and peer test messages
Javadoc fixes
Log tweaks
2022-12-10 13:00:33 -05:00
zzz 55f2d782ce SSU2: Post-termination handler part 7
Kill handlers at shutdown
2022-12-06 13:06:37 -05:00
zzz 706cd5a129 SSU2: Token improvements and fixes part 1
- Set cache size based on connection limit
- Track average inbound cache eviction time
- Set inbound expiration based on cache time
- Reduce max inbound expiration
- Fix saving inbound token sent after relay response or hole punch
- Dont send or save tokens if we are symmetric natted
- Sort persisted tokens by expiration so they are expired in correct order on reload
- Periodically expire tokens from cache
- Add getters to Token class
- Add missing case IPV4_SNAT_IPV6_UNKNOWN to EnumSets
2022-12-04 10:04:18 -05:00
zzz 974ffabd18 Debian changelog for 2.0.0-2ubuntu1 fix (gitlab #376) 2022-12-02 15:50:24 -05:00
zzz cb5d7f1f8d i2ptunnel: Fix SOCKS outproxy port configuration after testing
log tweaks
2022-11-26 10:54:22 -05:00
zzz d82e2fe5ac bump -1 2022-11-23 12:24:29 -05:00
zzz 8d1d9a020f 2.0.0 2022-11-21 13:00:21 -05:00
zzz 52adc9dc16 Pull translations from transifex 2022-11-18 13:45:25 -05:00
zzz e54f5ffadd i2ptunnel: Fix IRC USER filtering
Wasn't passing through user and realname fields
Pass through RFC 2812 mode field if present
reported by RN
2022-11-12 15:26:27 -05:00
zzz 2f3615e001 poupdate-source 2022-11-09 08:30:59 -05:00
zzz f3f669dc2e SSU2: Fail IES2 on all session request after retry errors
Don't hexdump for RI errors
Don't throw ISE when sending 2nd retry
2022-11-01 09:21:09 -04:00
zzz 166d1ba86b SSU2: Track recently-closed sessions (gitlab #370)
and drop packets received on them, to prevent SSU1 fallback processing
2022-10-10 11:33:05 -04:00
zzz 64873218ba SSU2: Enable by default 2022-09-28 09:26:28 -04:00
zzz beaeb9c835 SSU2: Ensure min packet size for pings 2022-09-23 11:20:17 -04:00
zzz c1b241ab8f i2ptunnel, eepget: Add support for SHA-256 digest proxy auth (RFC 7616)
Requires re-saving user/pw on proxy side
2022-09-20 08:26:05 -04:00
zzz 88a66928c1 SSU2: Enable handling of ack-immediate flag by default
test code that was off by default was previously checked in
2022-09-09 12:33:53 -04:00
zzz a2eee5a673 NetDB: Fix reseeding when clock is skewed
reported, fixed, and tested by zlatinb
2022-09-06 11:56:33 -04:00
zzz 554b17fe9a SusiDNS: Fix adding to empty address book
by doing form processing even if book is empty.
Do all form processing before displays so the
displays reflect any form add/delete.
Broken in 0.9.50 when form processing call was moved.
Hide replace and add alternate buttons if book is empty.
Ref: https://www.reddit.com/r/i2p/comments/wu7nac/how_do_i_add_to_the_private_address_book/
2022-09-04 08:14:19 -04:00
zzz 64632eed4a UPnP: Fix opening IPv6 ports 2022-09-03 12:01:59 -04:00
zzz 52b640b582 Router: Ensure database store message is processed before reply job (Gitlab #364)
by processing DSM inline in InNetMessagePool.
Caused random lookup failures of RI and LS.
Made worse by previous change removing duplicate store from reply job.
thanks obscuratus and drzed
2022-09-01 11:55:00 -04:00