2021-09-28, 01:15
I've been doing some more digging and I'm not sure how to solve this.
Kodi's URLEncoding uses lower case (so %2c), whereas Lighttpd's webdav (and general) encoding uses upper case characters (so %2C).
For a library that began life using a webdav source, that's not an issue, because the library files will use the webdav responses (uppercase, %2C).
However for path subtitution use cases, kodi will "store" the subtitution using lower case encoding (%2c) so when it checks for a file that contains encoding that has a character (rather than just numbers), then the check fails and kodi believes the file doesn't exist.
I can't find a way to make lighttpd respond to the propfind request using lower case encoding for files - it doesn't seem possible without editing the source code, or I'm just not spotting it.
I'm not sure if Kodi can encode using upper case, but maybe a solution could be to decode any web-based filenames, and then re-encode them and use that?
Kodi's URLEncoding uses lower case (so %2c), whereas Lighttpd's webdav (and general) encoding uses upper case characters (so %2C).
For a library that began life using a webdav source, that's not an issue, because the library files will use the webdav responses (uppercase, %2C).
However for path subtitution use cases, kodi will "store" the subtitution using lower case encoding (%2c) so when it checks for a file that contains encoding that has a character (rather than just numbers), then the check fails and kodi believes the file doesn't exist.
I can't find a way to make lighttpd respond to the propfind request using lower case encoding for files - it doesn't seem possible without editing the source code, or I'm just not spotting it.
I'm not sure if Kodi can encode using upper case, but maybe a solution could be to decode any web-based filenames, and then re-encode them and use that?