aboutsummaryrefslogtreecommitdiff
path: root/Command
Commit message (Collapse)AuthorAge
* rekey --force: Incorrectly marked the new key's content as being present in ↵Gravatar Joey Hess2016-12-19
| | | | the local repo even when it was not.
* analysisGravatar Joey Hess2016-12-19
|
* shorten noteGravatar Joey Hess2016-12-18
|
* improve note displayGravatar Joey Hess2016-12-18
|
* typoGravatar Joey Hess2016-12-18
|
* check if wormhole is installedGravatar Joey Hess2016-12-18
|
* p2p --pair with magic wormhole (untested)Gravatar Joey Hess2016-12-18
| | | | | | It builds. I have not tried to run it yet. :) This commit was sponsored by Jake Vosloo on Patreon.
* Revert "p2p --link now defaults to setting up a bi-directional link"Gravatar Joey Hess2016-12-16
| | | | | | | | This reverts commit 6aa7e136b5d246228723f4c9996bda11f66c4445. On second thought, this was an overcomplication of what should be the lowest-level primitive. Let's build bi-directional links at the pairing level with eg magic wormhole.
* p2p: Added --one-way option.Gravatar Joey Hess2016-12-16
| | | | This commit was sponsored by Fernando Jimenez on Patreon.
* p2p --link now defaults to setting up a bi-directional linkGravatar Joey Hess2016-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | Both the local and remote git repositories get remotes added pointing at one-another. Makes pairing twice as easy! Security: The new LINK command in the protocol can be sent repeatedly, but only by a peer who has authenticated with us. So, it's entirely safe to add a link back to that peer, or to some other peer it knows about. Anything we receive over such a link, the peer could send us over the current connection. There is some risk of being flooded with LINKs, and adding too many remotes. To guard against that, there's a hard cap on the number of remotes that can be set up this way. This will only be a problem if setting up large p2p networks that have exceptional interconnectedness. A new, dedicated authtoken is created when sending LINK. This also allows, in theory, using a p2p network like tor, to learn about links on other networks, like telehash. This commit was sponsored by Bruno BEAUFILS on Patreon.
* p2p: --link no longer takes a remote name, instead the --name option can be ↵Gravatar Joey Hess2016-12-16
| | | | used.
* Make all --batch input, as well as fromkey and registerurl stdin be ↵Gravatar Joey Hess2016-12-13
| | | | processed without requiring it to be in the current encoding.
* metadata --batch: Fix bug when conflicting metadata changes were made in the ↵Gravatar Joey Hess2016-12-13
| | | | | | | | same batch run. 1 microsecond delay is ugly.. but, maintaining an queue of a list of timestamps and taking a new one from the queue each time around, or maintaining a timestamp counter, would probably be slower.
* make tor hidden service work when directory watching is not availableGravatar Joey Hess2016-12-09
| | | | Avoid crashing when built w/o inotify..
* cleanupGravatar Joey Hess2016-12-09
|
* refactor ref change watchingGravatar Joey Hess2016-12-09
| | | | | | | | | | | | | | | | | | Added to change notification to P2P protocol. Switched to a TBChan so that a single long-running thread can be started, and serve perhaps intermittent requests for change notifications, without buffering all changes in memory. The P2P runner currently starts up a new thread each times it waits for a change, but that should allow later reusing a thread. Although each connection from a peer will still need a new watcher thread to run. The dependency on stm-chans is more or less free; some stuff in yesod uses it, so it was already indirectly pulled in when building with the webapp. This commit was sponsored by Francois Marier on Patreon.
* git-annex-shell, remotedaemon, git remote: Fix some memory DOS attacks.Gravatar Joey Hess2016-12-09
| | | | | | | | | | | | | | | | | | | | | The attacker could just send a very lot of data, with no \n and it would all be buffered in memory until the kernel killed git-annex or perhaps OOM killed some other more valuable process. This is a low impact security hole, only affecting communication between local git-annex and git-annex-shell on the remote system. (With either able to be the attacker). Only those with the right ssh key can do it. And, there are probably lots of ways to construct git repositories that make git use a lot of memory in various ways, which would have similar impact as this attack. The fix in P2P/IO.hs would have been higher impact, if it had made it to a released version, since it would have allowed DOSing the tor hidden service without needing to authenticate. (The LockContent and NotifyChanges instances may not be really exploitable; since the line is read and ignored, it probably gets read lazily and does not end up staying buffered in memory.)
* didn't mean to commit this change yetGravatar Joey Hess2016-12-08
|
* commentGravatar Joey Hess2016-12-08
|
* convert P2P runners from Maybe to Either StringGravatar Joey Hess2016-12-08
| | | | | | So we get some useful error messages when things fail. This commit was sponsored by Peter Hogg on Patreon.
* include error message when unable to connect to peerGravatar Joey Hess2016-12-08
|
* Merge branch 'master' into torGravatar Joey Hess2016-12-07
|\
* | remote uuid discovery in p2p --linkGravatar Joey Hess2016-12-07
| | | | | | | | | | | | This also tests that we can connect to the peer. This commit was sponsored by Jeff Goeke-Smith on Patreon.
| * add: Stage modified non-large files when running in indirect mode.Gravatar Joey Hess2016-12-05
| | | | | | | | (This was already done in v6 mode and direct mode.)
| * rekey: Added --batch mode.Gravatar Joey Hess2016-12-05
| | | | | | | | | | | | | | | | | | Would have liked to make the Parser parse the file and key pairs, but it seems that optparse-applicative is unable to handle eg: many ((,) <$> argument <*> argument) This commit was sponsored by Thomas Hochstein on Patreon.
| * minor styleGravatar Joey Hess2016-12-05
| |
| * Merge kite:tmp/git-annexGravatar Joey Hess2016-12-05
| |\
| * | rmurl: --batchGravatar Joey Hess2016-12-05
| | | | | | | | | | | | | | | | | | | | | | | | * rmurl: Multiple pairs of files and urls can be provided on the command line. * rmurl: Added --batch mode. This commit was sponsored by Trenton Cronholm on Patreon.
| | * git-annex fromkey now takes multiple pairs of keys and filenamesGravatar Daniel Brooks2016-12-05
| |/ | | | | | | It also still reads from stdin when none are specified.
* | implement p2p --linkGravatar Joey Hess2016-11-30
| | | | | | | | This commit was sponsored by Riku Voipio.
* | implement p2p commandGravatar Joey Hess2016-11-30
| |
* | avoid too-long command synopsisGravatar Joey Hess2016-11-30
| | | | | | | | It was making git-annex usage output columns far too wide
* | Merge branch 'master' into torGravatar Joey Hess2016-11-30
|\|
| * prefer xdot over dotGravatar Joey Hess2016-11-30
| | | | | | | | | | | | | | * map: Run xdot if it's available in PATH. On OSX, the dot command does not support graphical display, while xdot does. * Debian: xdot is a better interactive viewer than dot, so Suggest xdot, rather than graphviz.
* | finish git-annex enable-torGravatar Joey Hess2016-11-29
| | | | | | | | | | Make it stash the address away for git-annex p2p to use later, rather than outputting it. And, look up the UUID itself.
* | Merge branch 'master' into torGravatar Joey Hess2016-11-29
|\|
| * Fixed typo in Schedule.hs.Gravatar Markus Hauru2016-11-24
| |
| * fix regressionGravatar Joey Hess2016-11-22
| | | | | | | | | | | | | | | | | | | | | | | | The file matcher needs to be run on the destination file not the tmp file, in order for filename matches to work properly. However, it also needs to be able to probe the file for size and mime type. This is a quick fix to a regression. The double rename is not pretty. It would be good to either have a way to run the largeFileMatcher such that it is matching on the final filename but looks at the temp file, or to make addAnnexedFile not need the temp file in a different location.
| * avoid backtrace when rekey cntent verification failsGravatar Joey Hess2016-11-22
| |
* | Added git-remote-tor-annex, which allows git pull and push to the tor hidden ↵Gravatar Joey Hess2016-11-21
| | | | | | | | | | | | | | | | | | | | | | service. Almost working, but there's a bug in the relaying. Also, made tor hidden service setup pick a random port, to make it harder to port scan. This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
| * addurl: Fix bug in checking annex.largefiles expressions using largerthan, ↵Gravatar Joey Hess2016-11-21
| | | | | | | | mimetype, and smallerthan; the first two always failed to match, and the latter always matched.
* | remotedaemon: serve tor hidden serviceGravatar Joey Hess2016-11-20
| |
* | remotedaemon: Fork to background by default. Added --foreground switch to ↵Gravatar Joey Hess2016-11-20
| | | | | | | | | | | | enable old behavior. Groundwork for tor hidden services, which the remotedaemon will serve.
* | Merge branch 'master' into torGravatar Joey Hess2016-11-17
|\|
| * improve commentGravatar Joey Hess2016-11-16
| |
| * fsck --all --from was checking the content of files in the local repository, ↵Gravatar Joey Hess2016-11-16
| | | | | | | | | | | | | | | | rather than on the special remote. Straight up forgot to handle this case! This commit was sponsored by Fernando Jimenez on Patreon.
| * Avoid backtraces on expected failures when built with ghc 8; only use ↵Gravatar Joey Hess2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | backtraces for unexpected errors. ghc 8 added backtraces on uncaught errors. This is great, but git-annex was using error in many places for a error message targeted at the user, in some known problem case. A backtrace only confuses such a message, so omit it. Notably, commands like git annex drop that failed due to eg, numcopies, used to use error, so had a backtrace. This commit was sponsored by Ethan Aubin.
| * sync: Pass --allow-unrelated-histories to git merge when used with git git ↵Gravatar Joey Hess2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | 2.9.0 or newer. This makes merging a remote into a freshly created direct mode repository work the same as it works in indirect mode. The git-annex branches would get merged in any case by a sync, since that doesn't use git merge. This might need to be revisited later to better mirror git's behavior.
* | use socket for tor hidden serviceGravatar Joey Hess2016-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids needing to bind to the right port before something else does. The socket is in /var/run/user/$uid/ which ought to be writable by only that uid. At least it is on linux systems using systemd. For Windows, may need to revisit this and use ports or something. The first version of tor to support sockets for hidden services was 0.2.6.3. That is not in Debian stable, but is available in backports. This commit was sponsored by andrea rota.
* | git-annex enable-tor commandGravatar Joey Hess2016-11-14
|/ | | | | | | | | | | | | | | | | | Tor unfortunately does not come out of the box configured to let hidden services register themselves on the fly via the ControlPort. And, changing the config to enable the ControlPort and a particular type of auth for it may break something already using the ControlPort, or lessen the security of the system. So, this leaves only one option to us: Add a hidden service to the torrc. git-annex enable-tor does so, and picks an unused high port for tor to listen on for connections to the hidden service. It's up to the caller to somehow pick a local port to listen on that won't be used by something else. That may be difficult to do.. This commit was sponsored by Jochen Bartl on Patreon.