nodeSolidServer / nodeSolidServer/node-solid-server

PUT /public/.meta file made /public/ unreadable

Open
#1,199 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug triage
Dominant language
JavaScript
Stars
1.8k
Forks
308
PR merge metrics
No merged PRs in 30d

Description

I've wanted to test the .meta file a bit out, as I didn't find specification on what HTTP Requests are allowed for it. I've made a PUT request with <xyz> "test" as body, it responded with 201 created, but now the folder is broken. When trying to access it, it responds with 500 Can't parse container.
Here is the directory: https://otman.solid.community/public/

The request and response

PUT /public/.meta HTTP/1.1
Host: otman.solid.community
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0
Accept: */*
Accept-Language: en,en-US;q=0.7,de;q=0.3
Accept-Encoding: gzip, deflate, br
authorization: Bearer ...
Origin: https://otto-aa.github.io
DNT: 1
Connection: keep-alive
Referer: https://otto-aa.github.io/solid-filemanager/?url=https://otman.solid.community/public
Cookie: connect.sid=s%3A-KJ3IJZZQBVCXWGoa-EoaXKVN3fXH81V.T8alwcfT2VYWlvw0bq5il17fDgzNn%2FhNubbXmZF6aSk
Pragma: no-cache
Cache-Control: no-cache
Content-Length: 12
HTTP/1.1 201 Created
X-Powered-By: solid-server
Access-Control-Allow-Origin: https://otto-aa.github.io
Vary: Accept, Authorization, Origin
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: Authorization, User, Location, Link, Vary, Last-Modified, ETag, Accept-Patch, Accept-Post, Updates-Via, Allow, WAC-Allow, Content-Length, WWW-Authenticate
Allow: OPTIONS, HEAD, GET, PATCH, POST, PUT, DELETE
Link: <.meta.acl>; rel="acl", <.meta.meta>; rel="describedBy", <http://www.w3.org/ns/ldp#Resource>; rel="type"
MS-Author-Via: SPARQL
Content-Type: text/plain; charset=utf-8
Content-Length: 7
ETag: W/"7-rM9AyJuqT6iOan/xHh+AW+7K/T8"
set-cookie: connect.sid=s%3A-KJ3IJZZQBVCXWGoa-EoaXKVN3fXH81V.T8alwcfT2VYWlvw0bq5il17fDgzNn%2FhNubbXmZF6aSk; Domain=.solid.community; Path=/; Expires=Sat, 25 May 2019 04:47:47 GMT; HttpOnly; Secure
Date: Fri, 24 May 2019 04:47:47 GMT
Connection: keep-alive

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the PUT request against https://otman.solid.community/public/.meta and compare the 201 response with the subsequent 500 Can't parse container response. Trace the server entry point that handles PUT requests for .meta resources and container parsing; done means a malformed .meta update no longer makes /public/ unreadable and the request outcome is handled consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.