chrisgavin / cheeky_acd_cli

A cheeky fork of acd_cli.
Other
23 stars 2 forks source link

403 error HeadersNotSigned #4

Open bFanek opened 7 years ago

bFanek commented 7 years ago

The mount randomly and frequently fails because of this:

RequestError: 403, 
<?xml version="1.0" encoding="UTF-8"?>\n
<Error>
<Code>AccessDenied</Code>
<Message>There were headers present in the request which were not signed</Message>
<HeadersNotSigned>x-amz-access-token, x-amz-clouddrive-appid</HeadersNotSigned>
<RequestId>XXX</RequestId>
<HostId>XXX</HostId>
</Error>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/fuse.py", line 495, in _wrapper
    return func(*args, **kwargs) or 0
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/fuse.py", line 583, in read
    offset, fh)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/acdcli/acd_fuse.py", line 361, in __call__
    ret = getattr(self, op)(path, *args)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/acdcli/acd_fuse.py", line 478, in read
    return self.rp.get(node.id, offset, length, node.size)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/acdcli/acd_fuse.py", line 191, in get
    return f.get(self.acd_client, id_, offset, length, total)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/acdcli/acd_fuse.py", line 176, in get
    FuseOSError.convert(e)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/acdcli/acd_fuse.py", line 78, in convert
    exc = FuseOSError.code_mapping[e.status_code]
KeyError: 403
chrisgavin commented 7 years ago

I have not been able to reproduce this so far. Are you passing any specific options to acdcli mount? Does this happen when you are copying files of a particular size?

bFanek commented 7 years ago

Yes I'm using these options for the mount: acdcli -nl --utf --check="none" mount -fg --allow-other /my/mount/point/

Upload is working fine without issues. The mount itself drops frequently though due to the above. I noticed it usually happens if I trigger a Plex library update.

Thank you!

nferch commented 7 years ago

Also happens with acdcli dl with any files larger than 3GB or so.

No problem downloading them through the web or the official client.

chrisgavin commented 7 years ago

Hmm, this is really weird. I've managed to download an 11Gb file perfectly fine via the FUSE mount. I'll try with the dl command.

nferch commented 7 years ago

FWIW I tried reducing the chunk size with no effect.

nferch commented 7 years ago

Get a slightly different looking error when trying to download it with rclone:

2017/08/02 17:25:41 DEBUG : pacer: low level retry 1/10 (error HTTP code 400: "400 Bad Request": response body: "<?xml version=\"1.0 \" encoding=\"UTF-8\"?>\n<Error><Code>InvalidArgument</Code><Message>Only one auth mechanism allowed; only the X-Amz-Algorithm query parameter, Signature query string parameter or the Authorization header should be specified</Message><ArgumentName>Authorization</A rgumentName><ArgumentValue>Bearer Atza|XXXXX</ArgumentValue>< RequestId>XXXX</RequestId><HostId>XXXXX</HostId>< /Error>")