add P2P.Auth
This commit is contained in:
parent
b08799893f
commit
158ef45d76
3 changed files with 32 additions and 1 deletions
30
P2P/Auth.hs
Normal file
30
P2P/Auth.hs
Normal file
|
@ -0,0 +1,30 @@
|
|||
{- P2P protocol, authorization
|
||||
-
|
||||
- Copyright 2016 Joey Hess <id@joeyh.name>
|
||||
-
|
||||
- Licensed under the GNU GPL version 3 or higher.
|
||||
-}
|
||||
|
||||
module P2P.Auth where
|
||||
|
||||
import Common
|
||||
import Utility.AuthToken
|
||||
|
||||
import qualified Data.Text as T
|
||||
|
||||
-- Use .git/annex/creds/p2p to hold AuthTokens of authorized peers.
|
||||
getAuthTokens :: Annex AllowedAuthTokens
|
||||
getAuthTokens = allowedAuthTokens <$> getAuthTokens'
|
||||
|
||||
getAuthTokens' :: Annex [AuthTokens]
|
||||
getAuthTokens' = mapMaybe toAuthToken
|
||||
. map T.pack
|
||||
. lines
|
||||
. fromMaybe []
|
||||
<$> readCacheCreds "tor"
|
||||
|
||||
addAuthToken :: AuthToken -> Annex ()
|
||||
addAuthToken t = do
|
||||
ts <- getAuthTokens'
|
||||
let d = unlines $ map (T.unpack . fromAuthToken) (t:ts)
|
||||
writeCacheCreds d "tor"
|
Loading…
Add table
Add a link
Reference in a new issue