The temporary URL key used for the download, before the real key is generated, was blocked by annex.securehashesonly. Fixed by passing the Backend that will be used for the final key into runTransfer. When a Backend is provided, have preCheckSecureHashes check that, rather than the key being transferred. Sponsored-by: unqueued on Patreon
		
			
				
	
	
		
			31 lines
		
	
	
	
		
			792 B
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			792 B
			
		
	
	
	
		
			Haskell
		
	
	
	
	
	
{- git-annex command
 | 
						|
 -
 | 
						|
 - Copyright 2016 Joey Hess <id@joeyh.name>
 | 
						|
 -
 | 
						|
 - Licensed under the GNU AGPL version 3 or higher.
 | 
						|
 -}
 | 
						|
 | 
						|
module Command.CalcKey where
 | 
						|
 | 
						|
import Command
 | 
						|
import Backend (genKey, defaultBackend)
 | 
						|
import Types.KeySource
 | 
						|
import Utility.Metered
 | 
						|
 | 
						|
cmd :: Command
 | 
						|
cmd = noCommit $ noMessages $ dontCheck repoExists $
 | 
						|
	withAnnexOptions [backendOption] $
 | 
						|
		command "calckey" SectionPlumbing 
 | 
						|
			"calculate key for a file"
 | 
						|
			(paramRepeating paramFile)
 | 
						|
			(batchable run (pure ()))
 | 
						|
 | 
						|
run :: () -> SeekInput -> String -> Annex Bool
 | 
						|
run _ _ file = tryNonAsync (genKey ks nullMeterUpdate =<< defaultBackend) >>= \case
 | 
						|
	Right (k, _) -> do
 | 
						|
		liftIO $ putStrLn $ serializeKey k
 | 
						|
		return True
 | 
						|
	Left _err -> return False
 | 
						|
  where
 | 
						|
	ks = KeySource file' file' Nothing
 | 
						|
	file' = toRawFilePath file
 |