From: Gunnar Beutner Date: Fri, 28 Aug 2015 08:52:59 +0000 (+0200) Subject: Fix filtering by name X-Git-Tag: v2.4.0~353 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9d9a7ca73d856265a4af48394c44dbf0c7596fe3;p=icinga2 Fix filtering by name fixes #10027 --- diff --git a/lib/remote/filterutility.cpp b/lib/remote/filterutility.cpp index 3c4f6f2a0..0b14dec6a 100644 --- a/lib/remote/filterutility.cpp +++ b/lib/remote/filterutility.cpp @@ -105,7 +105,7 @@ std::vector FilterUtility::GetFilterTargets(const QueryDescription& qd, c attr = "name"; if (query->Contains(attr)) - result.push_back(provider->GetTargetByName(type, query->Get(attr))); + result.push_back(provider->GetTargetByName(type, HttpUtility::GetLastParameter(query, attr))); attr = provider->GetPluralName(type); boost::algorithm::to_lower(attr); diff --git a/lib/remote/httpresponse.cpp b/lib/remote/httpresponse.cpp index a9af73bfd..631c13a35 100644 --- a/lib/remote/httpresponse.cpp +++ b/lib/remote/httpresponse.cpp @@ -87,7 +87,6 @@ void HttpResponse::WriteBody(const char *data, size_t count) void HttpResponse::Finish(void) { ASSERT(m_State != HttpResponseEnd); - m_State = HttpResponseEnd; if (m_Request.ProtocolVersion == HttpVersion10) { if (m_Body) @@ -105,6 +104,8 @@ void HttpResponse::Finish(void) m_Stream->Write("\r\n", 2); } + m_State = HttpResponseEnd; + if (m_Request.ProtocolVersion == HttpVersion10 || m_Request.Headers->Get("connection") == "close") m_Stream->Shutdown(); }