Commit graph

569 commits

Author SHA1 Message Date
Joey Hess
33ba537728
deal with Amazon S3 breaking change for public=yes
* S3: Amazon S3 buckets created after April 2023 do not support ACLs,
  so public=yes cannot be used with them. Existing buckets configured
  with public=yes will keep working.
* S3: Allow setting publicurl=yes without public=yes, to support
  buckets that are configured with a Bucket Policy that allows public
  access.

Sponsored-by: Joshua Antonishen on Patreon
2023-07-21 13:59:07 -04:00
dud225@35a1ee469f82f3a7eb1f2dce4ad453f5e47bdfd3
a9df91ed0e removed 2023-07-07 14:16:38 +00:00
dud225@35a1ee469f82f3a7eb1f2dce4ad453f5e47bdfd3
15f78eaad1 Added a comment: Disabling a special remote 2023-07-07 14:16:24 +00:00
dud225@35a1ee469f82f3a7eb1f2dce4ad453f5e47bdfd3
fa0484d8b1 Added a comment: Disabling a special remote 2023-07-07 12:51:12 +00:00
dud225@35a1ee469f82f3a7eb1f2dce4ad453f5e47bdfd3
3535be3f7a Added a comment: Disabling a special remote 2023-07-04 20:54:19 +00:00
Joey Hess
79cf8f58d7
comment 2023-06-21 11:49:22 -04:00
kdm9
51cb05fae9 Added a comment 2023-06-21 07:34:18 +00:00
Joey Hess
f811468318
fix comment nums 2023-06-20 13:44:31 -04:00
Joey Hess
f0fa1f9f4d
Merge branch 'master' of ssh://git-annex.branchable.com 2023-06-20 13:43:35 -04:00
Joey Hess
a861d56428
httpalso: Support being used with special remotes that use chunking.
Sponsored-by: k0ld on Patreon
2023-06-20 13:35:28 -04:00
kdm9
2d36e08abd Added a comment: read-only webdav access 2023-06-20 10:22:57 +00:00
kdm9
eb27b51e44 Added a comment: chunking 2023-06-20 10:21:36 +00:00
Joey Hess
00b29d17ad
update docs to account for exporttree 2023-04-25 12:15:14 -04:00
dud225@35a1ee469f82f3a7eb1f2dce4ad453f5e47bdfd3
722bb79dbf Added a comment: File visibility 2023-04-25 05:09:49 +00:00
xloem
59aa498876 Added a comment 2023-04-11 18:07:04 +00:00
xloem
893cd20bee Added a comment 2023-04-11 18:03:26 +00:00
Joey Hess
18d326cb6f
external protocol VERSION 2
Support VERSION 2 in the external special remote protocol, which is
identical to VERSION 1, but avoids external remote programs neededing to
work around the above bug. External remote program that support
exporttree=yes are recommended to be updated to send VERSION 2.

Sponsored-by: Kevin Mueller on Patreon
2023-03-28 17:00:08 -04:00
Joey Hess
7f6ec7c5bb
response 2023-03-23 15:24:59 -04:00
gaknuyardi@f7280525ccd44eafd8d1485ec087f27532efd2e9
0adb3c67f6 Added a comment: Understanding encrypted special remote folder structure 2023-03-22 19:26:56 +00:00
Joey Hess
5b504b78d9
add warning about Go's past and future data collection
Based on https://github.com/golang/go/discussions/58409, the Go compiler
already defaults to using a google proxy server, which would allow
Google to collect information about what dependencies users are
installing. (Of course they claim they won't.) Two separate environment
settings are needed to turn that off, and users in that thread were
surprised to learn about one of them.

So this warning is already appropriate to some extent.

Also based on the minimisation of user concerns by the golang developers
on that issue and elsewhere, it seems best to assume that they are not
going to be dissuaded from increasing data collection efforts in the future,
even if the blowback prevents this particular attempt.

So this warning should not be removed unless the Go community somehow
extricates itself from Google's control. Or unless ipfs is rewritten in
another language.

Some distros do have ipfs. Unfortunately, Debian appears to be structurally
incapable of packaging it. (8 years and counting;
https://bugs.debian.org/779893). So lots of users will be stuck
installing it from source or having to trust its official binaries.
2023-02-11 15:17:31 -04:00
Joey Hess
4c4bc6ab1e
remove warning about ipfs being alpha code
That may have been true in 2015, but seems very unlikely
to be true now.
2023-02-11 14:13:18 -04:00
Joey Hess
04ec726d3b
S3 region=
S3: Support a region= configuration useful for some non-Amazon S3
implementations. This feature needs git-annex to be built with aws-0.24.

datacenter= sets both the AWS hostname and region in one setting, which is
easy when using AWS, but not useful for other hosts. So kept datacenter
as-is, but added this additional config.

Sponsored-By: Brett Eisenberg on Patreon
2023-02-06 14:08:45 -04:00
Joey Hess
8a305e5fa3
respect urlinclude/urlexclude of other web special remotes
When a web special remote does not have urlinclude/urlexclude
configured, make it respect the configuration of other web special
remotes and avoid using urls that match the config of another.

Note that the other web special remote does not have to be enabled.
That seems ok, it would have been extra work to check for only ones that
are enabled.

The implementation does mean that the web special remote re-parses
its own config once at startup, as well as re-parsing the configs of any
other web special remotes. This should be a very small slowdown
unless there are lots of web special remotes.

Sponsored-by: Dartmouth College's DANDI project
2023-01-10 14:58:53 -04:00
Joey Hess
6fa166e1fc
web: Add urlinclude and urlexclude configuration settings
Sponsored-by: Dartmouth College's DANDI project
2023-01-09 17:16:53 -04:00
Joey Hess
8d06930c88
web special remote is no longer a singleton
Allow initremote of additional special remotes with type=web, in addition
to the default web special remote.

When --sameas=web is used, these provide additional names for the web
special remote, and may also have their own additional configuration
(once there is any for the web special remote) and cost.

Sponsored-by: Dartmouth College's DANDI project
2023-01-09 15:49:20 -04:00
Joey Hess
ca91c3ba91
S3: Support signature=anonymous to access a S3 bucket anonymously
This can be used, for example, with importtree=yes to import from a public
bucket.

This needs a patch that has not yet landed in the aws library, and will
need to be adjusted to support compiling with old versions of the library,
so is not yet suitable for merging.
See https://github.com/aristidb/aws/pull/281

The stack.yaml changes are provided to show how to build against the aws
fork and will need to be reverted as well.

Sponsored-by: Dartmouth College's DANDI project
2022-10-10 17:02:45 -04:00
Yaroslav Halchenko
0151976676
Typo fix unncessary -> unnecessary.
Detected while reading recent CHANGELOG entry but then decided to apply
to entire codebase and docs since why not?
2022-08-20 09:40:19 -04:00
Joey Hess
7fba5dee61
correct documentation, keyid= only works once
keyid+= can be used to add additional key ids later.

I wonder if this broke with changes to remote configs? But I think it's
always been a map, and so only one keyid can be stored and later ones
overwrite earlier ones.

Sponsored-by: Brett Eisenberg on Patreon
2022-08-15 14:25:13 -04:00
aurelia@b44312a63326710de6cea9c43290e5debbd55607
a24ae08142 Added a comment 2022-08-07 10:28:09 +00:00
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9
bfcdf8374b Added a comment 2022-07-15 15:55:38 +00:00
Joey Hess
50c2cac7e7
adb: Added configuration setting oldandroid=true
To avoid using find -printf, which was first supported in Android around
2019-2020.

Probing seems too fragile, and execing stat once per file is too slow to do
when there's a faster way available, which brought me to an option...

Sponsored-by: Brett Eisenberg on Patreon
2022-07-13 18:00:47 -04:00
Joey Hess
7939eb7d7e
fix link 2022-07-05 16:34:29 -04:00
Joey Hess
0b6cd77d93
comment 2022-07-05 16:25:43 -04:00
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9
41508cc3dd Added a comment: ACL deprecation vs public=yes 2022-07-05 18:20:50 +00:00
Joey Hess
14584e7a38
initremote type=git probe uuid
rather than matching path of an existing remote to find the uuid.

The main benefit of this is that locations not using ssh:// will work
now, including both paths and host:/path

The other benefit is that it's a simpler interface, no need to have an
existing remote with the same url and some other name. Although that
will still work of course.

This does rely on tryGitConfigRead working when given a Git.Repo that is
not a remote. Luckily, it works fine that way.

Also, tryGitConfigRead will auto-init a local repo that has a git-annex
branch. I did not enable auto-init of ssh repos though.

The uuid discovery actually happens twice; initremote discovers it,
and uses it to store the special remote config, but does not set it in the
git remote it creates. So the next run of git-annex does uuid discovery
again, and caches it that time. This could be improved for a tiny
speedup, but I didn't want to complicate things for that in this
commit.

Sponsored-by: Dartmouth College's DANDI project
2022-06-09 13:16:50 -04:00
Joey Hess
43701759a3
disable shellescape for rsync 3.2.4
rsync 3.2.4 broke backwards-compatability by preventing exposing filenames
to the shell. Made the rsync and gcrypt special remotes detect this and
disable shellescape.

An alternative fix would have been to always set RSYNC_OLD_ARGS=1.
Which would avoid the overhead of probing rsync --help for each affected
remote. But that is really very fast to run, and it seemed better to switch
to the modern code path rather than keeping on using the bad old code path.

Sponsored-by: Tobias Ammann on Patreon
2022-05-03 12:12:41 -04:00
Joey Hess
3e2f1f73cb
add back inode to directory special remote ContentIdentifier
Directory special remotes with importtree=yes have changed to once more
take inodes into account. This will cause extra work when importing from a
directory on a FAT filesystem that changes inodes on every mount.

To avoid that extra work, set ignoreinodes=yes when initializing a new
directory special remote, or change the configuration of your existing
remote: git-annex enableremote foo ignoreinodes=yes

This will mean a one-time re-import of all contents from every directory
special remote due to the changed setting.

73df633a62 thought
it was too unlikely that there would be modifications that the inode number
was needed to notice. That was probably right; it's very unlikely that a
file will get modified and end up with the same size and mtime as before.
But, what was not considered is that a program like NextCloud might write
two files with different content so closely together that they share the
mtime. The inode is necessary to detect that situation.

Sponsored-by: Max Thoursie on Patreon
2022-03-21 13:12:02 -04:00
Joey Hess
83827a6822
comment 2022-02-21 15:59:29 -04:00
Joey Hess
9c1ff6d024
comment 2022-02-21 15:00:55 -04:00
xloem
499b940dc5 Added a comment 2022-02-19 07:50:53 +00:00
xloem
7976d9d303 removed 2022-02-19 07:48:48 +00:00
xloem
6143695820 Added a comment: free dweb storage services 2022-02-19 07:47:28 +00:00
xloem
32d138b52f Added a comment: free dweb storage services 2022-02-19 07:47:07 +00:00
Joey Hess
c031d19c32
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-11 12:25:12 -04:00
Joey Hess
525473aa5a
adb: Added ignorefinderror configuration parameter
On a phone with Calyxos, adb find in /sdcard complains:

find: ./Android/data/com.android.providers.downloads.ui: Permission denied

But otherwise works, so this option makes import and export work ok, except
for that one app's data.

Sponsored-by: Graham Spencer
2022-01-10 21:17:00 -04:00
aaron
91329eaf93 Added a comment 2022-01-09 08:36:34 +00:00
tomdhunt
d8ad2d8889 Added a comment 2022-01-09 05:45:35 +00:00
aaron
4b548efca2 Added a comment: How does the gcrypt type compare to the rsync special remote 2022-01-09 05:31:35 +00:00
Joey Hess
29d687dce9
When retrival from a chunked remote fails, display the error that occurred when downloading the chunk
Rather than the error that occurred when trying to download the unchunked
content, which is less likely to actually be stored in the remote.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2021-10-14 12:45:05 -04:00
Joey Hess
a8ceb2b64e
promote comment to bug 2021-10-05 11:55:33 -04:00