Revert "proc: avoid stdio deadlocks"
[project/uhttpd.git] / utils.c
diff --git a/utils.c b/utils.c
index 1c21fc5..9342eb6 100644 (file)
--- a/utils.c
+++ b/utils.c
@@ -28,7 +28,11 @@ bool uh_use_chunked(struct client *cl)
        if (cl->request.method == UH_HTTP_MSG_HEAD || cl->request.method == UH_HTTP_MSG_OPTIONS)
                return false;
 
-       return true;
+       /* RFC2616 10.2.5, 10.3.5 */
+       if (cl->http_code == 204 || cl->http_code == 304)
+               return false;
+
+       return !cl->request.disable_chunked;
 }
 
 void uh_chunk_write(struct client *cl, const void *data, int len)
@@ -204,6 +208,10 @@ bool uh_path_match(const char *prefix, const char *url)
 {
        int len = strlen(prefix);
 
+       /* A prefix of "/" will - by definition - match any url */
+       if (prefix[0] == '/' && len == 1)
+               return true;
+
        if (strncmp(url, prefix, len) != 0)
                return false;