remove support for v1 introducer #2784
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#2784
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
In Tahoe-LAFS-1.10.0 (May 2013), we created a new Introducer protocol which allows nodes to publish signed, extensible, dictionary-based announcements. Servers are known by their !Ed25519 verifying key, rather than their Foolscap TubID (a hash of a TLS certificate).
To avoid a grid-wide "flag day", all three moving pieces (the sending client, the Introducer, and the receiving client) smoothly tolerate old-style "v1" messages, and peers which don't know how to speak the v2 protocol. New clients who discover they're talking to an old Introducer will send v1 messages instead of v2. New introducers who receive v1 messages from old clients will deliver them as unsigned v2 messages to new clients, and as v1 messages to old clients.
Now that 1.10.1 has been available for three years, it's time to remove support for the v1 protocol. This will delete maybe 30% of the code from
src/allmydata/introducer/
. Clients will unconditionally send and expect v2 messages, and the Introducer will only enable v2-capable clients to connect and subscribe to hear announcements.I'm fine with making this change for 1.12.0.
In 155ca03/trunk:
I removed the old v1 introducer and and attempted to fix the
test_introducer
tests.I managed to fix all but one test; here in my dev branch
https://github.com/david415/tahoe-lafs/tree/2784.remove_v1_introducer.0
https://github.com/tahoe-lafs/tahoe-lafs/pull/289/files
this test fails
allmydata.test.test_introducer.SystemTest.test_system_v2_server
After much butchering of the tests the SystemTest now passes... but this definitely needs review ;-p
Thanks for diving into this. I made a start at it a few weeks ago, but got stuck too early to be worth pushing anywhere. I'll see if I can review/build-upon your branch.
moving most tickets from 1.12 to 1.13 so we can release 1.12 with magic-folders
In c64ff7b/trunk:
In 78810d5/trunk: