--- mod_WebObjects.c.orig 2010-02-23 14:04:45.637576597 +0100 +++ mod_WebObjects.c.orig 2010-02-23 14:14:35.226553841 +0100 @@ -458,9 +458,9 @@ static int die_resp(request_rec *r, HTTPResponse *resp) { - sendResponse(r, resp); + int returnCode = resp->status; resp_free(resp); - return OK; + return returnCode; } static int die(request_rec *r, const char *msg, int status) { @@ -727,9 +727,9 @@ if (ac_authorizeAppListing(&wc)) { resp = WOAdaptorInfo(NULL, &wc); if (resp) { - sendResponse(r, resp); + int returnCode = resp->status; resp_free(resp); - return OK; + return returnCode; } return die(r, _urlerr, HTTP_SERVER_ERROR); } @@ -804,11 +804,20 @@ /* send the response if we have one */ if (resp != NULL) { - sendResponse(r, resp); + switch(resp->status) { + case HTTP_NOT_FOUND: + case HTTP_BAD_REQUEST: + case HTTP_SERVER_ERROR: + retval = resp->status; + break; + default: + sendResponse(r, resp); + retval = OK; + break; + } resp_free(resp); - retval = OK; } else { - retval = DECLINED; + retval = DECLINED; } req_free(req);