nodeSolidServer / nodeSolidServer/node-solid-server

HostURI is set to https even if not using https

Ouverte
#696 6 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug input-needed
Langage dominant
JavaScript
Étoiles
1.8k
Forks
308
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Tim Berners-Lee @timbl 10:21
There is a bug in NSS where it assumes somewhere that it is running as https: and not http:. when making the base URI of a document for parsing.

 targetKB.statementsMatching(st.subject, st.predicate, st.object, target)
[]
targetKB.statementsMatching(st.subject, st.predicate, st.object, null)
[]
targetKB.statementsMatching(null, st.predicate, st.object, target)
(2) [Statement, Statement]
targetKB.statementsMatching(null, st.predicate, st.object, target)[0].subject.uri
"https://localhost:3080/timbl/Public/Test/2018/Cascade%20test/SFO%20LHR/Test%20long%20chat/index.ttl#SharedPreferences"
targetKB.statementsMatching(null, st.predicate, st.object, target)[1].subject.uri
"https://localhost:3080/timbl/Public/Test/2018/Cascade%20test/SFO%20LHR/Test%20long%20chat/index.ttl#id1527249837545"
st.subject
NamedNode {termType: "NamedNode", value: "http://localhost:3080/timbl/Public/Test/2018/Casca…HR/Test%20long%20chat/index.ttl#SharedPreferences"}
st.subject.uri
"http://localhost:3080/timbl/Public/Test/2018/Cascade%20test/SFO%20LHR/Test%20long%20chat/index.ttl#SharedPreferences"

That is debug console output in the PATCH handler
A statement in the store jas a subject which starts https: instead of http: — as a result the PATCH fails 409 as it can’t find the triple to delete it.
Yes @RubenVerborgh this is an example of where having a single mapping place from filename to URI and back may have avoided this.

Ruben Verborgh @RubenVerborgh 10:29
Aha! We had a very similar bug earlier. On the road now, but will check later today.
Do you have more details?

Tim Berners-Lee @timbl 10:34
The above is a deep dive to where the issue shows itself..in fact you can see it in he log

 solid:handlers PATCH -- Reading https://localhost:3080/timbl/Public/Test/2018/Cascade%20test/SFO%20LH

bzzzzt thats wrong
There is a strange line
target.uri = utils.getBaseUri(req) + req.originalUrl

locals.host.serverUri : "https://localhost:8443"
That is wrong

Maybe from here: https://github.com/solid/node-solid-server/blob/master/config/defaults.js#L12
Maybe that is where the https: originates from

Tim Berners-Lee @timbl 11:14
I guess the fault is basically in https://github.com/solid/node-solid-server/blob/master/lib/models/solid-host.js
_

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Lisez lib/models/solid-host.js et config/defaults.js, puis suivez utils.getBaseUri(req) à travers le handler PATCH. Comparez l’URL de la requête et locals.host.serverUri avec l’URI stockée dans les statements analysés. C’est terminé lorsque les requêtes qui n’utilisent pas HTTPS conservent leur schéma http et que PATCH peut trouver le triple à supprimer.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript
Domaine
backend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.