From 75314c2b3430a4677f2ca6a0a99458e13abffc93 Mon Sep 17 00:00:00 2001 From: Philipp Schafft Date: Fri, 20 Jul 2018 11:25:55 +0000 Subject: [PATCH] Fix: Corrects setup of client_t in client mode. Closes: #2336 --- src/client.c | 8 ++++++++ src/slave.c | 1 + 2 files changed, 9 insertions(+) diff --git a/src/client.c b/src/client.c index 2cd16c7d..d2ed802f 100644 --- a/src/client.c +++ b/src/client.c @@ -144,6 +144,14 @@ void client_complete(client_t *client) } } + if (!have) { + if (client->parser->req_type == httpp_req_none) { + /* We are a client. If the server did not tell us, we asume streaming. */ + client->request_body_length = -1; /* streaming */ + have = 1; + } + } + ICECAST_LOG_DEBUG("Client %p has request_body_length=%zi", client, client->request_body_length); } diff --git a/src/slave.c b/src/slave.c index d1353295..ad815000 100644 --- a/src/slave.c +++ b/src/slave.c @@ -285,6 +285,7 @@ static client_t *open_relay_connection (relay_server *relay) global_unlock (); sock_set_blocking (streamsock, 0); client_set_queue (client, NULL); + client_complete(client); free (server); free (mount); free (server_id);