Monday, January 30, 2023

Re: httpd and locale

On 2023/01/30 15:57:03 +0100, Manuel Giraud <manuel@ledu-giraud.fr> wrote:
> Hi,
>
> Is it possible to serve files with non ASCII UTF-8 charaters in their
> names with httpd? I have tried to start httpd like this:
>
> $ env LC_CTYPE=en_US.UTF-8 httpd -d
>
> But, I always get a 404 error on such files. Am I missing something?
> Or maybe this behaviour is on purpose?

The encoding of the filename shouldn't matter. UNIX file names are
just bytestrings where only '/' and '\0' are disallowed.

I'm able to serve a file generated as such:

% filename="$(printf '<\a\a\a\n\t\x8f>')"
% date >$filename

so it should work.

How are you trying to fetch the file? which which client? is the
client correctly percent-encoding/decoding the filenames?

a "good" request should show up in logs like

localhost ::1 - - [30/Jan/2023:19:18:20 +0100] "GET //%3C%07%07%07%0A%09%8F> HTTP/1.1" 200 29

No comments:

Post a Comment