1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2024-09-22 04:15:54 -04:00

Fix: remove tailing dots in URI.

This works around the problem that windows ignores tailing dots.
This way you could trick Icecast2 to send a XSLT file as plain text.

Please test.

Closes: #2247
This commit is contained in:
Philipp Schafft 2015-12-24 00:38:11 +00:00
parent ceec48201a
commit 95516eb0b9

View File

@ -348,6 +348,9 @@ char *util_url_unescape (const char *src)
*/ */
char *util_normalise_uri(const char *uri) { char *util_normalise_uri(const char *uri) {
char *path; char *path;
#ifdef _WIN32
size_t len;
#endif
if(uri[0] != '/') if(uri[0] != '/')
return NULL; return NULL;
@ -359,6 +362,12 @@ char *util_normalise_uri(const char *uri) {
return NULL; return NULL;
} }
#ifdef _WIN32
/* If we are on Windows, strip trailing dots, as Win API strips it anyway */
for (len = strlen(path); len > 0 && path[len-1] == '.'; len--)
path[len-1] = '\0';
#endif
/* We now have a full URI-decoded path. Check it for allowability */ /* We now have a full URI-decoded path. Check it for allowability */
if(verify_path(path)) if(verify_path(path))
return path; return path;