First of all, I would like to thank you Hugo for the fantastic HTTP server you've developed.
I've configured Hiawatha to connect to my FastCGI process using a Unix domain socket (e.g. /var/run/fastcgi/process1.socket) rather than a host. This used to work fine on Hiawatha 8.3 (and perhaps later versions too). But it's broken on 9.2. The following patch fixed the problem for me.
--- ../hiawatha-9.2/src/target.c 2013-06-23 03:28:07.000000000 -0700
+++ src/target.c 2013-07-08 09:43:32.797505768 -0700
@@ -481,7 +481,8 @@
if ((wrap_cgi == false) && (session->cgi_type != fastcgi)) {
check_file_exists = true;
- } else if ((session->cgi_type == fastcgi) && (session->fcgi_server != NULL)) {
+ } else if ((session->cgi_type == fastcgi) && (session->fcgi_server != NULL) &&
+ (session->fcgi_server->connect_to != NULL) && (session->fcgi_server->connect_to->unix_socket == NULL)) {
check_file_exists = session->fcgi_server->localhost;
} else {
check_file_exists = false;
Hiawatha version: 9.2
Operating System: FreeBSD 9.1