HTTP 400 and `strconv.ParseInt: parsing \"\": invalid syntax` when using Seedvault backup via WebDAV.
- Dominant language
- Go
- Stars
- 2.1k
- Forks
- 274
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 103
Description
## Describe the bug
When pointing Seedvault backup at OCIS over WebDAV to back up an Android device, no files are uploaded, HTTP 400 is returned and the error in the title appears in the logs. OCIS is running in Docker using the official container, behind a Caddy proxy.
## Steps to reproduce
1. Create a space.
2. Log in with seedvault backup over WebDAV (basic auth enabled)
3. See errors in logs as backup starts
## Expected behavior
Files should be uploaded correctly.
## Actual behavior
No files are uploaded (directories are created though) and errors appear in logs.
## Setup
Docker container behind Caddy proxy.
```console
"OCIS_URL=XXXXX",
"OCIS_LOG_LEVEL=info",
"OCIS_LOG_COLOR=false",
"PROXY_TLS=false",
"OCIS_INSECURE=false",
"PROXY_ENABLE_BASIC_AUTH=true",
"IDM_ADMIN_PASSWORD=XXXXX",
"IDM_CREATE_DEMO_USERS=false",
"OCIS_PASSWORD_POLICY_BANNED_PASSWORDS_LIST=banned-password-list.txt",
```
## Additional context
```
{"level":"info","service":"proxy","proto":"HTTP/1.1","request-id":"dac43fc24cc9/oC3hO5La6w-000343","traceid":"a6088487bc39cdfbc61cc737a654a5f5","remote-addr":"XXXXXXX","method":"GET","status":401,"path":"/apps/photos/service-worker.js","duration":0.339094,"bytes":0,"time":"2024-11-25T01:51:20Z","line":"github.com/owncloud/ocis/v2/services/proxy/pkg/middleware/accesslog.go:34","message":"access-log"}
{"level":"info","service":"auth-basic","pkg":"rgrpc","traceid":"366557b23ef7e4e5e6f4eb586b4033c8","time":"2024-11-25T01:51:24Z","line":"github.com/cs3org/reva/v2@v2.26.7/internal/grpc/services/authprovider/authprovider.go:146","message":"user idp:\"XXXXX\" opaque_id:\"679d2f26-344c-4ce3-a2a9-b6bf9cb5617d\" type:USER_TYPE_PRIMARY authenticated"}
{"level":"info","service":"auth-machine","pkg":"rgrpc","traceid":"366557b23ef7e4e5e6f4eb586b4033c8","time":"2024-11-25T01:51:24Z","line":"github.com/cs3org/reva/v2@v2.26.7/internal/grpc/services/authprovider/authprovider.go:146","message":"user idp:\"XXXXXXXXX\" opaque_id:\"679d2f26-344c-4ce3-a2a9-b6bf9cb5617d\" type:USER_TYPE_PRIMARY authenticated"}
{"level":"error","service":"ocdav","name":"com.owncloud.web.ocdav","traceid":"366557b23ef7e4e5e6f4eb586b4033c8","request-id":"dac43fc24cc9/oC3hO5La6w-000345","spaceid":"a8e3a6d7-0bec-4b47-a8c3-64321cfafdff$2c37d393-eb88-4146-a8ea-e2739b5f5070","path":"/.SeedVaultAndroidBackup/1732499226413/KgfwElvdo5V4KkO556n07xx9hhjcNgSXRAXXptk5WKo","error":"strconv.ParseInt: parsing \"\": invalid syntax","time":"2024-11-25T01:51:24Z","line":"github.com/cs3org/reva/v2@v2.26.7/internal/http/services/owncloud/ocdav/put.go:147","message":"error getting the content length"}
{"level":"info","service":"proxy","proto":"HTTP/1.1","request-id":"dac43fc24cc9/oC3hO5La6w-000344","traceid":"366557b23ef7e4e5e6f4eb586b4033c8","remote-addr":"XXXXXXX","method":"PUT","status":400,"path":"/dav/spaces/a8e3a6d7-0bec-4b47-a8c3-64321cfafdff$2c37d393-eb88-4146-a8ea-e2739b5f5070/.SeedVaultAndroidBackup/1732499226413/KgfwElvdo5V4KkO556n07xx9hhjcNgSXRAXXptk5WKo","duration":78.387023,"bytes":0,"time":"2024-11-25T01:51:24Z","line":"github.com/owncloud/ocis/v2/services/proxy/pkg/middleware/accesslog.go:34","message":"access-log"}
{"level":"info","service":"auth-basic","pkg":"rgrpc","traceid":"0afafe391c03d22c71efa251504feb71","time":"2024-11-25T01:51:33Z","line":"github.com/cs3org/reva/v2@v2.26.7/internal/grpc/services/authprovider/authprovider.go:146","message":"user idp:\"XXXXXX\" opaque_id:\"679d2f26-344c-4ce3-a2a9-b6bf9cb5617d\" type:USER_TYPE_PRIMARY authenticated"}
{"level":"info","service":"auth-machine","pkg":"rgrpc","traceid":"0afafe391c03d22c71efa251504feb71","time":"2024-11-25T01:51:33Z","line":"github.com/cs3org/reva/v2@v2.26.7/internal/grpc/services/authprovider/authprovider.go:146","message":"user idp:\"XXXXXXXXXX\" opaque_id:\"679d2f26-344c-4ce3-a2a9-b6bf9cb5617d\" type:USER_TYPE_PRIMARY authenticated"}
{"level":"error","service":"ocdav","name":"com.owncloud.web.ocdav","traceid":"0afafe391c03d22c71efa251504feb71","request-id":"dac43fc24cc9/oC3hO5La6w-000347","spaceid":"a8e3a6d7-0bec-4b47-a8c3-64321cfafdff$2c37d393-eb88-4146-a8ea-e2739b5f5070","path":"/.SeedVaultAndroidBackup/1732499226413/7An4QmosXC89SrT_NOszsp-PeI_osJiAe-SJaBaurOo","error":"strconv.ParseInt: parsing \"\": invalid syntax","time":"2024-11-25T01:51:33Z","line":"github.com/cs3org/reva/v2@v2.26.7/internal/http/services/owncloud/ocdav/put.go:147","message":"error getting the content length"}
{"level":"info","service":"proxy","proto":"HTTP/1.1","request-id":"dac43fc24cc9/oC3hO5La6w-000346","traceid":"0afafe391c03d22c71efa251504feb71","remote-addr":"XXXXXXX","method":"PUT","status":400,"path":"/dav/spaces/a8e3a6d7-0bec-4b47-a8c3-64321cfafdff$2c37d393-eb88-4146-a8ea-e2739b5f5070/.SeedVaultAndroidBackup/1732499226413/7An4QmosXC89SrT_NOszsp-PeI_osJiAe-SJaBaurOo","duration":91.909213,"bytes":0,"time":"2024-11-25T01:51:33Z","line":"github.com/owncloud/ocis/v2/services/proxy/pkg/middleware/accesslog.go:34","message":"access-log"}
{"level":"info","service":"auth-basic","pkg":"rgrpc","traceid":"5b426da631efdc1f69019658f5c339c4","time":"2024-11-25T01:51:35Z","line":"github.com/cs3org/reva/v2@v2.26.7/internal/grpc/services/authprovider/authprovider.go:146","message":"user idp:\"XXXXX\" opaque_id:\"679d2f26-344c-4ce3-a2a9-b6bf9cb5617d\" type:USER_TYPE_PRIMARY authenticated"}
{"level":"info","service":"auth-machine","pkg":"rgrpc","traceid":"5b426da631efdc1f69019658f5c339c4","time":"2024-11-25T01:51:35Z","line":"github.com/cs3org/reva/v2@v2.26.7/internal/grpc/services/authprovider/authprovider.go:146","message":"user idp:\"XXXXXXX\" opaque_id:\"679d2f26-344c-4ce3-a2a9-b6bf9cb5617d\" type:USER_TYPE_PRIMARY authenticated"}
{"level":"error","service":"ocdav","name":"com.owncloud.web.ocdav","traceid":"5b426da631efdc1f69019658f5c339c4","request-id":"dac43fc24cc9/oC3hO5La6w-000349","spaceid":"a8e3a6d7-0bec-4b47-a8c3-64321cfafdff$2c37d393-eb88-4146-a8ea-e2739b5f5070","path":"/.SeedVaultAndroidBackup/1732499226413/.backup.metadata","error":"strconv.ParseInt: parsing \"\": invalid syntax","time":"2024-11-25T01:51:35Z","line":"github.com/cs3org/reva/v2@v2.26.7/internal/http/services/owncloud/ocdav/put.go:147","message":"error getting the content length"}
{"level":"info","service":"proxy","proto":"HTTP/1.1","request-id":"dac43fc24cc9/oC3hO5La6w-000348","traceid":"5b426da631efdc1f69019658f5c339c4","remote-addr":"XXXXXXXXXX","method":"PUT","status":400,"path":"/dav/spaces/a8e3a6d7-0bec-4b47-a8c3-64321cfafdff$2c37d393-eb88-4146-a8ea-e2739b5f5070/.SeedVaultAndroidBackup/1732499226413/.backup.metadata","duration":72.131411,"bytes":0,"time":"2024-11-25T01:51:35Z","line":"github.com/owncloud/ocis/v2/services/proxy/pkg/middleware/accesslog.go:34","message":"access-log"}
```
Contributor guide
Assessment
This issue has not been assessed yet.