pull/push over tor working now
Still a couple bugs: * Closing the connection to the server leaves git upload-pack / receive-pack running, which could be used to DOS. * Sometimes the data is transferred, but it fails at the end, sometimes with: git-remote-tor-annex: <socket: 10>: commitBuffer: resource vanished (Broken pipe) Must be a race condition around shutdown.
This commit is contained in:
parent
070fb9e624
commit
6b992f672c
4 changed files with 116 additions and 115 deletions
|
@ -21,9 +21,7 @@ run (_remotename:address:[]) = forever $ do
|
|||
-- gitremote-helpers protocol
|
||||
l <- getLine
|
||||
case l of
|
||||
"capabilities" -> do
|
||||
putStrLn "connect"
|
||||
putStrLn ""
|
||||
"capabilities" -> putStrLn "connect" >> ready
|
||||
"connect git-upload-pack" -> go UploadPack
|
||||
"connect git-receive-pack" -> go ReceivePack
|
||||
_ -> error $ "git-remote-helpers protocol error at " ++ show l
|
||||
|
@ -33,9 +31,12 @@ run (_remotename:address:[]) = forever $ do
|
|||
reverse $ takeWhile (/= '/') $ reverse address
|
||||
| otherwise = parseAddressPort address
|
||||
go service = do
|
||||
ready
|
||||
connectService onionaddress onionport service >>= exitWith
|
||||
ready = do
|
||||
putStrLn ""
|
||||
hFlush stdout
|
||||
connectService onionaddress onionport service >>= exitWith
|
||||
|
||||
run (_remotename:[]) = giveup "remote address not configured"
|
||||
run _ = giveup "expected remote name and address parameters"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue