git-annex/Utility
Joey Hess c036a380b2
p2p ssh connection pools
Much like Remote.P2P, there's a pool of connections to a peer, in order
to support concurrent operations.

Deals with old git-annex-ssh on the remote that does not support p2pstdio,
by only trying once to use it, and remembering if it's not supported.

Made p2pstdio send an AUTH_SUCCESS with its uuid, which serves the dual
purposes of something to detect to see that the connection is working,
and a way to verify that it's connected to the right uuid.
(There's a redundant uuid check since the uuid field is sent
by git_annex_shell, but I anticipate that being removed later when
the legacy git-annex-shell stuff gets removed.)

Not entirely happy with Remote.Git.runSsh's behavior
when the proto action fails. Running the fallback will work ok, but what
will we do when the fallbacks later get removed? It might be better to
try to reconnect, in case the connection got closed.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2018-03-08 15:11:31 -04:00
..
Directory finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
DirWatcher use unix-compat 0.5 on windows 2017-11-14 14:00:24 -04:00
Env fix windows build 2018-01-04 14:23:11 -04:00
LockFile remove temp file in failure case 2017-06-06 14:23:33 -04:00
LockPool Fix transfer log file locking problem when running concurrent transfers. 2017-05-25 17:40:23 -04:00
Path finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Process Better ssh connection warmup when using -J for concurrency. 2018-03-07 17:30:14 -04:00
Scheduled reorg quickcheck to a separate module 2015-11-17 15:49:22 -04:00
Tmp finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Touch move old ghc compat code into separate module; eliminate WITH_CLIBS 2016-02-15 11:47:33 -04:00
Applicative.hs
AuthToken.hs unified AuthToken type between webapp and tor 2016-11-22 14:18:34 -04:00
Base64.hs
Batch.hs
Bloom.hs
CoProcess.hs Always use filesystem encoding for all file and handle reads and writes. 2016-12-24 14:46:31 -04:00
CopyFile.hs fold Build/SysConfig.hs into BuildInfo via include 2017-12-14 12:46:57 -04:00
Daemon.hs terminateProcessId renamed 2017-10-25 19:46:28 -04:00
Data.hs
DataUnits.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
DBus.hs
Directory.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
DirWatcher.hs disable closingTracked on OSX 2017-06-09 14:18:58 -04:00
DiskFree.hs build without disk-free-space on android 2016-03-08 02:45:10 -04:00
Dot.hs
DottedVersion.hs Some optimisations to string splitting code. 2017-01-31 19:06:22 -04:00
Env.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Exception.hs allow Utility.Exception to still be used when not building with cabal 2016-11-15 22:01:55 -04:00
ExternalSHA.hs Always use filesystem encoding for all file and handle reads and writes. 2016-12-24 14:46:31 -04:00
FileMode.hs use unix-compat 0.5 on windows 2017-11-14 14:00:24 -04:00
FileSize.hs matchexpression: New plumbing command to check if a preferred content expression matches some data. 2016-01-25 16:16:18 -04:00
FileSystemEncoding.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Format.hs fix failing quickcheck properties 2017-06-17 16:48:00 -04:00
FreeDesktop.hs use System.Directory not Utility.Directory 2016-09-22 11:34:55 -04:00
Glob.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Gpg.hs windows build fix 2018-01-05 15:09:10 -04:00
Hash.hs stop using MissingH for MD5 2017-05-15 21:36:03 -04:00
HtmlDetect.hs fix regression in addurl --file caused by youtube-dl support 2017-12-06 13:22:31 -04:00
HumanNumber.hs
HumanTime.hs
InodeCache.hs Fix build with QuickCheck 2.10. 2017-06-17 13:04:48 -04:00
libkqueue.c
libkqueue.h
LinuxMkLibs.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
LockFile.hs
LockPool.hs Fix shared lock file FD leak. 2016-03-01 15:31:39 -04:00
LogFile.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Lsof.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
MagicWormhole.hs wormhole pairing appid flag day 2021-12-31 2017-02-03 15:06:40 -04:00
Matcher.hs
Metered.hs Improve progress display when watching file size, in cases where a transfer does not resume. 2017-05-25 14:30:18 -04:00
Misc.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Monad.hs
Mounts.hs remove Utility.Mounts et al; moved to mountpoints package 2016-02-15 11:14:37 -04:00
Network.hs
NotificationBroadcaster.hs
OptParse.hs
OSX.hs
Parallel.hs
PartialPrelude.hs correct spelling mistakes 2017-02-12 17:30:23 -04:00
Path.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Percentage.hs
PID.hs Revert "Revert "remove dep on Win32-extras"" 2017-11-13 12:55:23 -04:00
Process.hs p2p ssh connection pools 2018-03-08 15:11:31 -04:00
QuickCheck.hs Fix build with QuickCheck 2.10. 2017-06-17 13:04:48 -04:00
Rsync.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
SafeCommand.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Scheduled.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Shell.hs clean up build warnings on Windows 2017-11-14 14:14:10 -04:00
SimpleProtocol.hs git-annex-shell, remotedaemon, git remote: Fix some memory DOS attacks. 2016-12-09 13:34:32 -04:00
Split.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
SRV.hs Fix build with dns-3.0. 2017-11-24 10:49:31 -04:00
SshConfig.hs
SshHost.hs avoid the dashed ssh hostname class of security holes 2017-08-17 22:11:31 -04:00
Su.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
SystemDirectory.hs Fix build with directory-1.3. 2016-12-20 15:23:59 -04:00
Tense.hs
ThreadLock.hs
ThreadScheduler.hs
TList.hs
Tmp.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Tor.hs Support all common locations of the torrc file. 2016-12-28 15:12:31 -04:00
Touch.hs another windows build fix 2016-03-05 15:08:37 -04:00
Tuple.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Url.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
UserInfo.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Verifiable.hs
WebApp.hs clean up build warnings on Windows 2017-11-14 14:14:10 -04:00
Yesod.hs