nodeSolidServer / nodeSolidServer/node-solid-server

NSS try to create path, filename containing invalid windows characters like colon

Open
#1,536 4 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

@timbl @michielbdejong @RubenVerborgh @highlevellogic

Trying NSS on a windows pod https://bourgeoa.solid.hll.nu:7443 . Tested the chat with me from OS solid
The function returns a PUT error 500

FAILED to save new chat channel at: https://bourgeoa.solid.hll.nu:7443/IndividualChats/bourgeoa.solid.hll.nu:7443/index.ttl : Web error: 500 (Internal Server Error) on PUT of https://bourgeoa.solid.hll.nu:7443/IndividualChats/bourgeoa.solid.hll.nu:7443/index.ttl

This is due to the colon : in the folderPath

To ensure solid compatibility can we forbid the windows forbidden characters in pathName like \/:*%"<>| ?
This could be done in resource-mapper.js
Should it be OS dependent to allow any file OS file be URI capable.

index:name.ttl is valid POSIX file and URI, but invalid WINDOWS

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 in resource-mapper.js and trace how the requested URI becomes a Windows filesystem path. Reproduce the chat-channel PUT on Windows with the colon-containing path, then determine whether handling should be OS-dependent while keeping valid URI paths compatible. Done means the request no longer fails because of Windows-forbidden path characters.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.