Permission denied while uploading any file

Hello community,

After upgrading the sevrer from version 7 to 10 I encountered the following error, taken from seafile.log on uploading from windows/linux clients

    [04/18/23 15:58:30] http-tx-mgr.c(2411): Bad response code for GET https://example.com/seafhttp/repo/xxxxxxxx-xxxx-xxxx-xxxx-52278761b9c0/permission-check/?op=upload&client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_name=test: 403.
[04/18/23 15:58:30] http-tx-mgr.c(2421): Parse check permission response failed: '[' or '{' expected near 'Failed'.
[04/18/23 15:58:30] http-tx-mgr.c(3708): Upload permission denied for repo xxxxxxx on server https://example.com.

the server is set up behind a reverse proxy and continued to work for the last 8ish years.
access from android/ios/web directly is not an issue.

directly accessing the linux from the logs also returns a ‘token is null’ message.

Downloading a Library is not an issue and works.

Any idea ? Especially this “Parse check permission response failed: ‘[’ or ‘{’ expected near ‘Failed’.” seems suspicous.

Hello,

Any news on the subject ?
We have the same problem on Seafile Pro 9, running behing Nginx on a Debian server.

On the Seafile Client we have an error message saying “Permission denied on the server”.
The client’s log show this :

[06/01/23 06:19:14] Repo '_Repo name_' sync state transition from 'synchronized' to 'uploading'.
[06/01/23 06:19:14] Transfer repo '_Repo-ID_': ('normal', 'init') --> ('normal', 'check')
[06/01/23 06:19:14] Bad response code for GET https://_server-url_/seafhttp/repo/_Repo-ID_/permission-check/?op=upload&client_id=xxxxxx&client_name=Demo: 403.
[06/01/23 06:19:14] Parse check permission response failed: '[' or '{' expected near 'Failed'.
[06/01/23 06:19:14] Upload permission denied for repo _Repo-ID_ on server https://_server-url_.
[06/01/23 06:19:14] Transfer repo '_Repo-ID_': ('normal', 'check') --> ('error', 'finished')
[06/01/23 06:19:14] Repo '_Repo name_' sync state transition from uploading to 'error': 'Permission denied on server'.

I performed the following tests on the server :

  • seaf-fsck on the repo, no problem detected
  • file upload in the repo using seahub, working great
  • checked nginx’s logs, with no error
  • checked seafile’s logs, with no error (seafile and seafevents)
  • forced a resync from the seafile client… which solved the problem… for now :frowning:

Does anyone has any idea on this ?

The Seafile Client works fine since my resync (upload and download), however SeaDrive doesn’t and I honestly don’t know what it could be…

Hi,

Newer versions of Seafile server (I think since 8 or something) returns the detailed permission errors to the client. Usually the server response is in JSON format. The error message in the client log means that it cannot parse the response. For now I’m not sure why this happens. You need to first find out what error on the server cause this response. You can find the synchronization error of the corresponding user in the server management interface “Device”-> “Error”.

BTW, the information in this FAQ: Seafile FAQ & Known-Issues may also be helpful for determining the issue.

Hello Jonathan,

And thanks for your answer.

Sometimes the sync access token on the client are missing. In such case, you can logout the current Seafile user, and login again.

Upgrading to SeaDrive 3.0.3 and resyncing did the trick for me. :+1:
I am waiting the customers confirmation that it is OK for him too.