}
}
if(ret > 0) {
- if(pfds[0].revents & POLLIN) {
+ if(pfds[0].revents & (POLLIN | POLLERR | POLLHUP)) {
ret = fread(buf, 1, 65536, in);
if(ferror(in)) {
flog(LOG_ERR, "callcgi: could not read input: %s", strerror(errno));
putenv("HTTPS=on");
if(getenv("REQ_X_ASH_ADDRESS"))
putenv(sprintf2("REMOTE_ADDR=%s", getenv("REQ_X_ASH_ADDRESS")));
+ if(getenv("REQ_X_ASH_REMOTE_USER"))
+ putenv(sprintf2("REMOTE_USER=%s", getenv("REQ_X_ASH_REMOTE_USER")));
if(getenv("REQ_CONTENT_TYPE"))
putenv(sprintf2("CONTENT_TYPE=%s", getenv("REQ_CONTENT_TYPE")));
if(getenv("REQ_CONTENT_LENGTH"))