mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-11 03:31:36 +00:00
MINOR: session: do not send an HTTP/500 error on SSL sockets
If a session fails its initialization, we don't want to send HTTP/500 over the socket if it's not a raw data layer.
This commit is contained in:
parent
32368ceba4
commit
cbaaec475c
@ -33,6 +33,7 @@
|
||||
#include <proto/frontend.h>
|
||||
#include <proto/hdr_idx.h>
|
||||
#include <proto/log.h>
|
||||
#include <proto/raw_sock.h>
|
||||
#include <proto/session.h>
|
||||
#include <proto/pipe.h>
|
||||
#include <proto/protocols.h>
|
||||
@ -185,7 +186,7 @@ int session_accept(struct listener *l, int cfd, struct sockaddr_storage *addr)
|
||||
session_store_counters(s);
|
||||
pool_free2(pool2_session, s);
|
||||
out_close:
|
||||
if (ret < 0 && p->mode == PR_MODE_HTTP) {
|
||||
if (ret < 0 && l->data == &raw_sock && p->mode == PR_MODE_HTTP) {
|
||||
/* critical error, no more memory, try to emit a 500 response */
|
||||
struct chunk *err_msg = http_error_message(s, HTTP_ERR_500);
|
||||
send(cfd, err_msg->str, err_msg->len, MSG_DONTWAIT|MSG_NOSIGNAL);
|
||||
|
Loading…
Reference in New Issue
Block a user