diff --git a/userspace/falco/configuration.cpp b/userspace/falco/configuration.cpp index d82ad9b3..0aab9657 100644 --- a/userspace/falco/configuration.cpp +++ b/userspace/falco/configuration.cpp @@ -148,6 +148,10 @@ void falco_configuration::init(string conf_filename, list &cmdline_optio } http_output.options["url"] = url; + string user_agent; + user_agent = m_config->get_scalar("http_output.user_agent","falcosecurity/falco"); + http_output.options["user_agent"] = user_agent; + m_outputs.push_back(http_output); } diff --git a/userspace/falco/outputs_http.cpp b/userspace/falco/outputs_http.cpp index c9c5b851..9f020ee0 100644 --- a/userspace/falco/outputs_http.cpp +++ b/userspace/falco/outputs_http.cpp @@ -34,11 +34,14 @@ void falco::outputs::output_http::output(const message *msg) } else { slist1 = curl_slist_append(slist1, "Content-Type: text/plain"); } + slist1 = curl_slist_append(slist1, m_oc.options["user_agent"].c_str()); + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, slist1); curl_easy_setopt(curl, CURLOPT_URL, m_oc.options["url"].c_str()); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, msg->msg.c_str()); curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, -1L); + res = curl_easy_perform(curl); if(res != CURLE_OK) @@ -50,4 +53,4 @@ void falco::outputs::output_http::output(const message *msg) curl_slist_free_all(slist1); slist1 = NULL; } -} \ No newline at end of file +}