Buran 1.12 is not properly resolving relative URLs. Specifically, Buran is not removing "dot segments" (e.g. ../ or ./) which is required by RFC 3986 when resolving URLs.
Look at this URL:
gemini://rawtext.club/~winter/gemlog/2023/8-18.gmi
At the bottom of the page there is a link line:
This relative URL should be resolved to the fully qualified URL gemini://rawtext.club/~winter/gemlog/, which should then be sent in the Gemini request. Instead, it Buran sends the URL gemini://rawtext.club/~winter/gemlog/2023/.. in the request. While some servers may handle that URL, most don't, including that capsule, which returns a 50 server error saying it's a bad request.
When resolving relative URLs, you should use the algorithm described in section 5.2 of RFC 3986, specifically section 5.2.4: Remove Dot Segments. Most URL libraries do this automatically when parsing/resolving URLs. Perhaps Buran is using an out-of-date library, or not using a proper URL parsing library.
Buran 1.12 is not properly resolving relative URLs. Specifically, Buran is not removing "dot segments" (e.g.
../or./) which is required by RFC 3986 when resolving URLs.Look at this URL:
gemini://rawtext.club/~winter/gemlog/2023/8-18.gmi
At the bottom of the page there is a link line:
This relative URL should be resolved to the fully qualified URL
gemini://rawtext.club/~winter/gemlog/, which should then be sent in the Gemini request. Instead, it Buran sends the URLgemini://rawtext.club/~winter/gemlog/2023/..in the request. While some servers may handle that URL, most don't, including that capsule, which returns a50server error saying it's a bad request.When resolving relative URLs, you should use the algorithm described in section 5.2 of RFC 3986, specifically section 5.2.4: Remove Dot Segments. Most URL libraries do this automatically when parsing/resolving URLs. Perhaps Buran is using an out-of-date library, or not using a proper URL parsing library.