Commit graph

30855 commits

Author SHA1 Message Date
Joey Hess
c76ba5a15e
CVE-2017-12976 2017-08-20 16:50:53 -04:00
michalrus
7c6f16ad1c Added a comment 2017-08-20 16:45:09 +00:00
michalrus
014c4be6c2 Added a comment 2017-08-20 15:47:03 +00:00
michalrus
608eb67e54 Added a comment 2017-08-20 15:27:31 +00:00
michalrus
abdd6aa736 2017-08-20 15:26:34 +00:00
michalrus
9368ae0dad 2017-08-20 15:21:42 +00:00
michalrus
f330af61ac 2017-08-20 14:16:55 +00:00
doogie
d6d76c10ea 2017-08-18 20:27:52 +00:00
doogie
ed4e3bcff9 2017-08-18 20:25:29 +00:00
ilovezfs
9a68b93253 Added a comment: Exception: getCurrentDirectory:getWorkingDirectory: resource exhausted (Too many open files) 2017-08-18 18:28:01 +00:00
Joey Hess
e0d88e2d25
typo 2017-08-18 11:46:48 -04:00
Joey Hess
c24d0f0e89
add bug for security hole, with exploit details 2017-08-18 11:36:34 -04:00
Joey Hess
ef8b1d86bf
cleanup 2017-08-18 11:21:34 -04:00
Joey Hess
0fce5ac3ad
add note about security fix 2017-08-18 11:21:11 -04:00
Joey Hess
33153ca919
add news item for git-annex 6.20170818 2017-08-18 11:19:53 -04:00
Joey Hess
252994e095
releasing package git-annex version 6.20170818 2017-08-18 11:19:14 -04:00
Joey Hess
55495c5a98
git-annex.cabal: Deal with breaking changes in Cabal 2.0
https://github.com/haskell/cabal/issues/4655

This means that when a module is conditionally imported via ifdef
depending on the OS or build flags, the cabal file has to mirror the
same logic there to only list the module then.

Since there are lots of OS's and lots of combinations of build flags
here, it's rather difficult to know if the cabal file has been completelty
correctly updated to match the source code.

So I am very unhappy with needing to update things in two places. I've
only tested this on linux with most build flags enables; this will
probably need significant time and testing to catch every cabal file
tweak that this change to Cabal requires. And it will be a continual
source of compile failures going forward when the code is modified and
the cabal file not also updated.

DRY DRY DRY, I repeat myself, but: DRY! Sigh..

(Also, had to remove all Build.* that are standalone programs from the
Other-Modules list, because since cabal passes those modules to ghc when
building git-annex, it complains that they use module Main. Those
modules are only used when building with the Makefile anyway, so this
change shouldn't break anything.)

This commit was sponsored by Thomas Hochstein on Patreon.
2017-08-18 11:08:58 -04:00
olaf
1b1c970b99 Added a comment 2017-08-18 04:37:57 +00:00
olaf
f9e30d6292 Added a comment 2017-08-18 04:18:14 +00:00
Joey Hess
df11e54788
avoid the dashed ssh hostname class of security holes
Security fix: Disallow hostname starting with a dash, which would get
passed to ssh and be treated an option. This could be used by an attacker
who provides a crafted ssh url (for eg a git remote) to execute arbitrary
code via ssh -oProxyCommand.

No CVE has yet been assigned for this hole.
The same class of security hole recently affected git itself,
CVE-2017-1000117.

Method: Identified all places where ssh is run, by git grep '"ssh"'
Converted them all to use a SshHost, if they did not already, for
specifying the hostname.

SshHost was made a data type with a smart constructor, which rejects
hostnames starting with '-'.

Note that git-annex already contains extensive use of Utility.SafeCommand,
which fixes a similar class of problem where a filename starting with a
dash gets passed to a program which treats it as an option.

This commit was sponsored by Jochen Bartl on Patreon.
2017-08-17 22:11:31 -04:00
Joey Hess
25e55e7c2f
typo 2017-08-17 19:51:39 -04:00
Joey Hess
749d69f12d
devblog 2017-08-17 17:13:12 -04:00
Joey Hess
79020a9c26
avoid broken version of xss-sanitize
https://github.com/yesodweb/haskell-xss-sanitize/issues/17
2017-08-17 17:12:48 -04:00
Joey Hess
fdbfe88168
fix external script for filenames with spaces from protocol
Fix the external special remotes git-annex-remote-ipfs,
git-annex-remote-torrent and the example.sh template to correctly support
filenames with spaces.

This commit was sponsored by John Peloquin on Patreon.
2017-08-17 16:20:09 -04:00
Joey Hess
dafafad115
external: nice error message for keys with spaces in their name
External special remotes will refuse to operate on keys with spaces in
their names. That has never worked correctly due to the design of the
external special remote protocol. Display an error message suggesting
migration.

Not super happy with this, but it's a pragmatic solution. Better than
complicating the external special remote interface and all external special
remotes.

Note that I only made it use SafeKey in Request, not Response. git-annex
does not construct a Response, so that would not add any safety. And
presumably, if git-annex avoids feeding any such keys to an external
special remote, it will never have a reason to make a Response using such a
key. If it did, it would result in a protocol error anyway.

There's still a Serializeable instance for Key; it's used by P2P.Protocol.
There, the Key is always in the final position, so it's ok if it contains
spaces.

Note that the protocol documentation has been fixed to say that the File
may contain spaces. One way that can happen, even though the Key can't,
is when using direct mode, and the work tree filename contains spaces.
When sending such a file to the external special remote the worktree
filename is used.

This commit was sponsored by Thom May on Patreon.
2017-08-17 16:18:34 -04:00
Joey Hess
5421e8f695
comment 2017-08-17 15:15:40 -04:00
Joey Hess
87afff508a
Merge branch 'master' of ssh://git-annex.branchable.com 2017-08-17 15:11:56 -04:00
https://launchpad.net/~felixonmars
b985eb2d75 Added a comment 2017-08-17 19:10:24 +00:00
Joey Hess
96c055eda2
migrate: WORM keys containing spaces will be migrated to not contain spaces anymore
To work around the problem that the external special remote protocol does
not support keys containing spaces.

This commit was sponsored by Denis Dzyubenko on Patreon.
2017-08-17 15:09:38 -04:00
Joey Hess
51801cff6a
Prevent spaces from being embedded in the name of new WORM keys, as that handing spaces in keys would complicate things like the external special remote protocol. 2017-08-17 14:46:33 -04:00
Joey Hess
8cff67841c
plan 2017-08-17 14:41:21 -04:00
Joey Hess
61e96621d8
use DynamicConfig to handle cost-command
This commit was sponsored by Jake Vosloo on Patreon.
2017-08-17 14:04:29 -04:00
Joey Hess
68a0f99ba6
Merge branch 'master' of ssh://git-annex.branchable.com 2017-08-17 13:58:14 -04:00
Joey Hess
677fa66249
temporarily --force-reinstalls 2017-08-17 13:57:47 -04:00
Joey Hess
d39c120afa
add annex-ignore-command and annex-sync-command configs
Added remote configuration settings annex-ignore-command and
annex-sync-command, which are dynamic equivilants of the annex-ignore
and annex-sync configurations.

For this I needed a new DynamicConfig infrastructure. Its implementation
should be as fast as before when there is no dynamic config, and it caches
so shell commands are only run once.

Note that annex-ignore-command exits nonzero when the remote should be ignored.
While that may seem backwards, it allows using the same command for it as
for annex-sync-command when you want to disable both.

This commit was sponsored by Trenton Cronholm on Patreon.
2017-08-17 13:54:14 -04:00
michalrus
60f6445532 Added a comment 2017-08-17 17:53:24 +00:00
pitsa@5f5d24a1fb7ba0d050ae7cf95b4c3032002e8e38
14fc9318d5 Added a comment: Thanks 2017-08-17 16:35:33 +00:00
Joey Hess
86428f6261
comment 2017-08-17 12:17:47 -04:00
Joey Hess
05ef86fcf3
comment 2017-08-17 12:05:30 -04:00
Joey Hess
801c636caf
comment 2017-08-17 11:58:41 -04:00
Joey Hess
537dff4958
response 2017-08-17 11:55:56 -04:00
Joey Hess
04de2ede83
close 2017-08-17 11:49:42 -04:00
Joey Hess
a0b1548cb3
Merge branch 'master' of ssh://git-annex.branchable.com 2017-08-17 11:01:27 -04:00
Joey Hess
0a2f7c261f
fix build with old http-client versions 2017-08-17 11:00:48 -04:00
Joey Hess
cd4c97156e
force update of cabal libs 2017-08-17 11:00:37 -04:00
CandyAngel
22df6eaa74 Added a comment 2017-08-17 10:22:54 +00:00
olaf
df59575cdc Added a comment: manual mode? 2017-08-17 07:35:41 +00:00
Joey Hess
266bf43632
make import work with Win32 instead of Win32-extras 2017-08-16 17:51:29 -04:00
Joey Hess
9d150ba60c
Merge branch 'master' of ssh://git-annex.branchable.com 2017-08-16 17:44:24 -04:00
Joey Hess
4173decf27
Windows: Win32 package has subsumed Win32-extras; update dependency. 2017-08-16 17:43:38 -04:00