Commit Graph

16794 Commits

Author SHA1 Message Date
zzz
c53fe93839 i2psnark: Fix missing paren in tooltip
ref: http://zzz.i2p/topics/3577
2023-02-03 07:37:15 -05:00
zzz
190acf7ed2 i2psnark: Fix for torrents with # in the name
By using custom version of storeProps()/loadprops()
for torrent config files
ref: http://zzz.i2p/topics/3576
2023-02-03 07:32:52 -05:00
zzz
3d71a5404b Util: Fix check for illegal chars in storeProps()
ref: http://zzz.i2p/topics/3576
2023-02-03 07:28:42 -05:00
zzz
37beb53245 Profiles: Remove 30m tunnel history rates
to save a large amount of space.
30m rates were almost always within 10% of the 60m rates,
so we clearly don't need both.
Keep 60m because that's what we publish in the netdb.
Adjust rate weighting in CapacityCalculator accordingly.
2023-02-01 17:10:04 -05:00
zzz
019a8b6655 Profiles: Count all build rejections in tunnel history
Previously did not count probabalistic or transient codes
Reduce 10 minute acceptance rate for these codes
(previously adjusted the averaged rate)
Make rates final in TunnelHistory
Static rates array to reduce object churn
Prep for removing 30m rates
Reduce now() calls, pull out of loops
2023-02-01 16:23:45 -05:00
zzz
652da9ebd5 Console: Dark theme home page CSS tweaks 2023-02-01 16:01:25 -05:00
zzz
99703d53ba Ratchet: Don't bundle LS with ratchet ACK
Not necessary, and will be the wrong LS for EdDSA subsession
2023-02-01 08:47:58 -05:00
zzz
de7b8db504 Console: Don't list same client SKM twice on /debug for subsessions 2023-02-01 08:01:35 -05:00
zzz
1e28557ce2 cleanup buf.append(s.substring(a, b)) -> buf.append(s, a, b)
all over, for object churn
2023-01-31 07:31:02 -05:00
zzz
07a796bcf6 typo 2023-01-30 14:50:40 -05:00
zzz
665e63da5b Util: Add experimental config to bypass Fortuna and just use /dev/random
Refactor Fortuna so it may be extended
Reduce default buf size for Android
2023-01-30 14:04:50 -05:00
zzz
4ef4ae4df5 Streaming: Refactor sig checking
Save sig OK status in Packet
Fix spot where byte array cache was not used
Do not send NACK 0 for retransmitted SYNs
Remove 1-byte DataHelper.toLong() calls
2023-01-30 13:21:10 -05:00
zzz
ac50eefe07 Tunnels: Improve expl. build success in well-connected routers during congestion
by not using high cap tier. Congestion starts from the top.
Right now, the fastest routers have the worst expl. build success.
This will help correct that.
2023-01-30 12:40:39 -05:00
zzz
bd4415ad5c Blocklist: Don't maintain IPv6 blocklist unless we have an IPv6 address
Don't read in same-country blocklist unless configured or in strict country,
so we don't continue to block when no longer hidden
2023-01-30 11:51:44 -05:00
zzz
86c6800fbd NTCP2: Ensure we publish a "6" address on transition to firewalled
Do not call restartListening() on transition to firewalled
2023-01-30 11:11:48 -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
8b0cd9e36b Util: Add ArraySet.get() and new constructor 2023-01-29 13:27:51 -05:00
zzz
1e35f940da Util: Comment out main() test 2023-01-29 12:50:54 -05:00
zzz
5d4c173c31 Debug: Give dummy update a version 2023-01-29 07:35:10 -05:00
zzz
9fd31d014f Reseed test message fix 2023-01-28 07:52:52 -05:00
zzz
bfd7b1a5f5 Tools: Check RI dates and counts in reseed test 2023-01-28 07:43:53 -05:00
zzz
56e00fbe3a Tools: Delete reseed test files before retest 2023-01-28 06:26:08 -05:00
zzz
a27e1393f1 Router: Force the stragglers to rekey 2023-01-27 19:01:11 -05:00
idk
fd68634993 add build.built-by to gitlab override.properties and Dockerfile 2023-01-27 21:30:15 +00:00
zzz
3831348301 Tunnels: Reduce grace period from 120 to 90 sec. 2023-01-27 11:15:07 -05:00
zzz
9cbd7643db Tools: Add CLI reseed test 2023-01-27 10:51:17 -05:00
zzz
4d5a3fc73d Console: Debug page cleanups
Split sections into separate tabs
Clean up VersionAvailable.toString()
Don't limit height of DHT section
2023-01-27 08:01:43 -05:00
zzz
6117d8822e Router: One more conversion to ObjectCounterUnsafe 2023-01-27 07:10:01 -05:00
zzz
886adb12fc Tunnels: Pull now() calls out of loops 2023-01-26 17:04:55 -05:00
zzz
542a51658d i2psnark: Search fixes
Fix JS search when refresh disabled
Fix search cancel when JS disabled
2023-01-26 12:12:35 -05:00
zzz
ee055dbdc0 Console: Add git rev to version info 2023-01-26 10:03:14 -05:00
zzz
33a07f811e Console: Add build date to version info 2023-01-26 09:23:50 -05:00
zzz
2dfe05d682 Console: Comment out disabled non-js summary bar iframe refresh
to save space, included ~50x
Disabled in 2012 for "HTML compliance" reasons
2023-01-26 07:45:06 -05:00
zzz
ad64e9c21e SSU2: Zero out intermediate handshake KDF results in-memory when done
Minor cleanup in est. mgr
2023-01-26 07:13:54 -05:00
zzz
9275c79b39 Console: Add chart of peers in most part. tunnels (advanced) 2023-01-25 12:25:56 -05:00
zzz
8e4e0050c8 Console: Sort webapps.config on save 2023-01-25 11:33:28 -05:00
zzz
87618700b3 Util: New thread-unsafe version of ObjectCounter
for efficiency where thread safety not required
2023-01-25 09:09:02 -05:00
idk
3d88fab782 Merge branch 'docker_font_fix' into 'master'
Install fonts

See merge request i2p-hackers/i2p.i2p!78
2023-01-24 22:46:35 +00:00
zzz
bec1978861 Router: Preliminary support for congestion caps (proposal 162)
Publish based on max tunnels setting only, other limits todo.
Tested on a single router.
Publishing disabled until the next release.
No handling of the caps yet in peer selection or profiling, todo.
2023-01-24 10:47:56 -05:00
zzz
b5bd11ca5a i2psnark standalone: Fix running from outside the directory
Reported by Qubes
ref: http://zzz.i2p/topics/3555
2023-01-23 09:24:01 -05:00
zzz
ee167b6b74 Tunnels: Remove 0 event duration from addRateData() calls 2023-01-22 18:00:28 -05:00
zzz
0af5ea883a bump -4 2023-01-22 10:31:38 -05:00
zzz
9963503ebf i2psnark: Add max files per torrent config
No UI, must edit config file and restart.
ref: http://zzz.i2p/topics/3549

Contains code adapted from I2P+. License:
Permission is granted to upstream to incorporate I2P+ modifications under the license
of the applicable upstream subsystem as specified in LICENSE.txt.
2023-01-22 10:30:58 -05:00
zzz
be5a10194a Build: Fix list of changed files in manifests
Broken in move from mtn to git
Fix some places that were broken even with mtn
2023-01-22 10:08:53 -05:00
zzz
37104e30bf i2psnark: More search CSS and js 2023-01-21 16:38:10 -05:00
zzz
8d019a7275 i2psnark: Search box CSS 2023-01-21 16:00:27 -05:00
bc43249bba Install fonts 2023-01-21 19:57:08 +00:00
zzz
3da4369c96 bump -3 2023-01-21 12:47:05 -05:00
zzz
8bbddfc336 NTCP: NAT fixes part 4
Do not rebind internal port if only SSU external port changed
so "full cone" NAT will work
Log warning if NTCP configured with fixed port different from SSU
2023-01-21 11:51:25 -05:00
zzz
38c839c389 SSU: NAT fixes part 3
Eliminate Symmetric NAT errors for "full cone" NATs with different external port
Separate isPortFixed() states for IPv4 and IPv6
Allow port changes when state is unknown
Require two tests to transition from unknown IPv4 state
Save external port config on change
Don't reset external port config at startup
Add port change event to event log
2023-01-21 11:47:31 -05:00