complete the magic wormhole pairin appid transition
Started in 2017 in commit 3fe9d99f24
.
Starting tomorrow, all versions of git-annex since then will provide
an appid, and so it will no longer be necessary to check the date.
Sponsored-by: Nicholas Golder-Manning on Patreon
This commit is contained in:
parent
5abd4cf275
commit
f8ebd0363b
1 changed files with 3 additions and 23 deletions
|
@ -29,7 +29,6 @@ import qualified Utility.MagicWormhole as Wormhole
|
||||||
|
|
||||||
import Control.Concurrent.Async
|
import Control.Concurrent.Async
|
||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
import Data.Time.Clock.POSIX
|
|
||||||
|
|
||||||
cmd :: Command
|
cmd :: Command
|
||||||
cmd = command "p2p" SectionSetup
|
cmd = command "p2p" SectionSetup
|
||||||
|
@ -233,30 +232,11 @@ wormholePairing remotename ouraddrs ui = do
|
||||||
void $ liftIO $ async $ ui observer producer
|
void $ liftIO $ async $ ui observer producer
|
||||||
-- Provide an appid to magic wormhole, to avoid using
|
-- Provide an appid to magic wormhole, to avoid using
|
||||||
-- the same channels that other wormhole users use.
|
-- the same channels that other wormhole users use.
|
||||||
--
|
let appid = Wormhole.appId "git-annex.branchable.com/p2p-setup"
|
||||||
-- Since a version of git-annex that did not provide an
|
|
||||||
-- appid is shipping in Debian 9, and having one side
|
|
||||||
-- provide an appid while the other does not will make
|
|
||||||
-- wormhole fail, this is deferred until 2021-12-31.
|
|
||||||
-- After that point, all git-annex's should have been
|
|
||||||
-- upgraded to include this code, and they will start
|
|
||||||
-- providing an appid.
|
|
||||||
--
|
|
||||||
-- This assumes reasonably good client clocks. If the clock
|
|
||||||
-- is completely wrong, it won't use the appid at that
|
|
||||||
-- point, and pairing will fail. On 2021-12-31, minor clock
|
|
||||||
-- skew may also cause transient problems.
|
|
||||||
--
|
|
||||||
-- After 2021-12-31, this can be changed to simply
|
|
||||||
-- always provide the appid.
|
|
||||||
now <- liftIO getPOSIXTime
|
|
||||||
let wormholeparams = if now < 1640950000
|
|
||||||
then []
|
|
||||||
else Wormhole.appId "git-annex.branchable.com/p2p-setup"
|
|
||||||
(sendres, recvres) <- liftIO $
|
(sendres, recvres) <- liftIO $
|
||||||
Wormhole.sendFile sendf observer wormholeparams
|
Wormhole.sendFile sendf observer appid
|
||||||
`concurrently`
|
`concurrently`
|
||||||
Wormhole.receiveFile recvf producer wormholeparams
|
Wormhole.receiveFile recvf producer appid
|
||||||
liftIO $ removeWhenExistsWith R.removeLink (toRawFilePath sendf)
|
liftIO $ removeWhenExistsWith R.removeLink (toRawFilePath sendf)
|
||||||
if sendres /= True
|
if sendres /= True
|
||||||
then return SendFailed
|
then return SendFailed
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue