int zbx_get_data_from_server(zbx_socket_t *sock, char **buffer, size_t buffer_size, size_t reserved, char **error)
#include "zbxcommshigh.h"
#if !defined(_WINDOWS) && !defined(__MINGW32)
#if defined(HAVE_GNUTLS) || defined(HAVE_OPENSSL)
extern char *config_tls_server_cert_issuer;
extern char *config_tls_server_cert_subject;
extern char *config_tls_psk_identity;
static int zbx_tcp_connect_failover(zbx_socket_t *s, const char *source_ip, zbx_vector_ptr_t *addrs,
int timeout, int connect_timeout, unsigned int tls_connect, const char *tls_arg1, const char *tls_arg2,
for (i = 0; i < addrs->values_num; i++)
addr = (zbx_addr_t *)addrs->values[0];
if (FAIL != (ret = zbx_tcp_connect(s, source_ip, addr->ip, addr->port, connect_timeout, tls_connect,
zbx_socket_timeout_set(s, timeout);
zabbix_log(loglevel, "Unable to connect to [%s]:%d [%s]",
((zbx_addr_t *)addrs->values[0])->ip, ((zbx_addr_t *)addrs->values[0])->port,
zbx_vector_ptr_remove(addrs, 0);
zbx_vector_ptr_append(addrs, addr);