I've managed to build and run cherokee 0.4.31b8 on Mingw and
with CHEROKEE_EMBEDDED. This patch was needed to
avoid a crash during client-connect:
diff -u3 -Hb cherokee-0.4.31b8\cherokee\iocache.c cherokee\iocache.c
--- cherokee-0.4.31b8\cherokee\iocache.c Sat Feb 04 00:30:12 2006
+++ cherokee\iocache.c Tue Feb 14 19:11:45 2006
@@ -246,6 +246,7 @@
return ret_error;
}
+ if (iocache->srv)
PRIV(entry)->stat_update = iocache->srv->bogo_now;
return ret_ok;
}
You tell me why it's needed...
Otherwise, read() doesn't return error in GetLastError() on Win32;
libc functions sets errno as on Unix;
diff -u3 -Hb cherokee-0.4.31b8\cherokee\buffer.c cherokee\buffer.c
--- cherokee-0.4.31b8\cherokee\buffer.c Mon Feb 06 15:56:19 2006
+++ cherokee\buffer.c Tue Feb 14 19:12:49 2006
@@ -521,11 +521,9 @@
len = read (fd, tmp, size);
if (len < 0) {
- int er = cherokee_error;
-
/* On error
*/
- switch (er) {
+ switch (errno) {
case EINTR: return ret_eagain;
case EAGAIN: return ret_eagain;
case EPIPE: return ret_eof;
Mingw has _PC_NAME_MAX, but no pathconf():
diff -u3 -Hb cherokee-0.4.31b8\cherokee\handler_dirlist.c
cherokee\handler_dirlist.c
--- cherokee-0.4.31b8\cherokee\handler_dirlist.c Sat Feb 04 00:30:12 2006
+++ cherokee\handler_dirlist.c Tue Feb 14 18:38:07 2006
@@ -81,7 +81,7 @@
/* Get the memory
*/
-#ifdef _PC_NAME_MAX
+#if defined(_PC_NAME_MAX) && !defined(_WIN32)
extra = pathconf(path->buf, _PC_NAME_MAX);
#else
extra = PATH_MAX;
------------
Now for the bad news; my browser connects fine initially and cherokee returns
the dirlist of the root-directory. But any attempt to enter a sub-dir returns a
"405 Method Not Allowed". Why?
--gv
_______________________________________________
Cherokee mailing list
[email protected]
http://www.alobbs.com/cgi-bin/mailman/listinfo/cherokee