From a687bf506fdd30d2af7d86ad8b2817abcd5607d2 Mon Sep 17 00:00:00 2001 From: Amos Jeffries Date: Wed, 17 Aug 2011 03:05:48 -0600 Subject: [PATCH] Fix missing brackets on revnno.10347 --- src/redirect.cc | 105 ++++++++++++++++++++++++------------------------ 1 file changed, 53 insertions(+), 52 deletions(-) diff --git a/src/redirect.cc b/src/redirect.cc index 2227fa180c..7b1070cc46 100644 --- a/src/redirect.cc +++ b/src/redirect.cc @@ -152,69 +152,70 @@ redirectStart(ClientHttpRequest * http, RH * handler, void *data) debugs(61, 5, HERE << "acl-user=" << (r->client_ident?r->client_ident:"NULL")); } - if (!r->client_ident && (conn != NULL && conn->rfc931[0])) + if (!r->client_ident && (conn != NULL && conn->rfc931[0])) { r->client_ident = conn->rfc931; debugs(61, 5, HERE << "ident-user=" << (r->client_ident?r->client_ident:"NULL")); } #if USE_SSL - if (!r->client_ident && conn != NULL) + if (!r->client_ident && conn != NULL) { r->client_ident = sslGetUserEmail(fd_table[conn->fd].ssl); - debugs(61, 5, HERE << "ssl-user=" << (r->client_ident?r->client_ident:"NULL")); - } + debugs(61, 5, HERE << "ssl-user=" << (r->client_ident?r->client_ident:"NULL")); +} #endif - if (!r->client_ident) - r->client_ident = dash_str; - - r->method_s = RequestMethodStr(http->request->method); - - r->handler = handler; - - r->data = cbdataReference(data); - - if ((fqdn = fqdncache_gethostbyaddr(r->client_addr, 0)) == NULL) - fqdn = dash_str; - - sz = snprintf(buf, MAX_REDIRECTOR_REQUEST_STRLEN, "%s %s/%s %s %s myip=%s myport=%d\n", - r->orig_url, - r->client_addr.NtoA(claddr,MAX_IPSTRLEN), - fqdn, - r->client_ident[0] ? rfc1738_escape(r->client_ident) : dash_str, - r->method_s, - http->request->my_addr.NtoA(myaddr,MAX_IPSTRLEN), - http->request->my_addr.GetPort()); - - if ((sz<=0) || (sz>=MAX_REDIRECTOR_REQUEST_STRLEN)) { - if (sz<=0) { - status = HTTP_INTERNAL_SERVER_ERROR; - debugs(61, DBG_CRITICAL, "ERROR: Gateway Failure. Can not build request to be passed to redirector. Request ABORTED."); - } else { - status = HTTP_REQUEST_URI_TOO_LARGE; - debugs(61, DBG_CRITICAL, "ERROR: Gateway Failure. Request passed to redirector exceeds MAX_REDIRECTOR_REQUEST_STRLEN (" << MAX_REDIRECTOR_REQUEST_STRLEN << "). Request ABORTED."); - } - - clientStreamNode *node = (clientStreamNode *)http->client_stream.tail->prev->data; - clientReplyContext *repContext = dynamic_cast(node->data.getRaw()); - assert (repContext); - IpAddress tmpnoaddr; - tmpnoaddr.SetNoAddr(); - repContext->setReplyToError(ERR_GATEWAY_FAILURE, status, - http->request->method, NULL, - http->getConn() != NULL ? http->getConn()->peer : tmpnoaddr, - http->request, - NULL, - http->getConn() != NULL && http->getConn()->auth_user_request != NULL ? - http->getConn()->auth_user_request : http->request->auth_user_request); - - node = (clientStreamNode *)http->client_stream.tail->data; - clientStreamRead(node, http, node->readBuffer); - return; +if (!r->client_ident) + r->client_ident = dash_str; + +r->method_s = RequestMethodStr(http->request->method); + +r->handler = handler; + +r->data = cbdataReference(data); + +if ((fqdn = fqdncache_gethostbyaddr(r->client_addr, 0)) == NULL) + fqdn = dash_str; + +sz = snprintf(buf, MAX_REDIRECTOR_REQUEST_STRLEN, "%s %s/%s %s %s myip=%s myport=%d\n", + r->orig_url, + r->client_addr.NtoA(claddr,MAX_IPSTRLEN), + fqdn, + r->client_ident[0] ? rfc1738_escape(r->client_ident) : dash_str, + r->method_s, + http->request->my_addr.NtoA(myaddr,MAX_IPSTRLEN), + http->request->my_addr.GetPort()); + +if ((sz<=0) || (sz>=MAX_REDIRECTOR_REQUEST_STRLEN)) +{ + if (sz<=0) { + status = HTTP_INTERNAL_SERVER_ERROR; + debugs(61, DBG_CRITICAL, "ERROR: Gateway Failure. Can not build request to be passed to redirector. Request ABORTED."); + } else { + status = HTTP_REQUEST_URI_TOO_LARGE; + debugs(61, DBG_CRITICAL, "ERROR: Gateway Failure. Request passed to redirector exceeds MAX_REDIRECTOR_REQUEST_STRLEN (" << MAX_REDIRECTOR_REQUEST_STRLEN << "). Request ABORTED."); } - debugs(61,6, HERE << "sending '" << buf << "' to the helper"); - helperSubmit(redirectors, buf, redirectHandleReply, r); + clientStreamNode *node = (clientStreamNode *)http->client_stream.tail->prev->data; + clientReplyContext *repContext = dynamic_cast(node->data.getRaw()); + assert (repContext); + IpAddress tmpnoaddr; + tmpnoaddr.SetNoAddr(); + repContext->setReplyToError(ERR_GATEWAY_FAILURE, status, + http->request->method, NULL, + http->getConn() != NULL ? http->getConn()->peer : tmpnoaddr, + http->request, + NULL, + http->getConn() != NULL && http->getConn()->auth_user_request != NULL ? + http->getConn()->auth_user_request : http->request->auth_user_request); + + node = (clientStreamNode *)http->client_stream.tail->data; + clientStreamRead(node, http, node->readBuffer); + return; +} + +debugs(61,6, HERE << "sending '" << buf << "' to the helper"); +helperSubmit(redirectors, buf, redirectHandleReply, r); } static void -- 2.47.2