static void proxyconfig_get_fields(char **sql, size_t *sql_alloc, size_t *sql_offset, const zbx_db_table_t *table,
#include "proxyconfigread.h"
#include "zbxcommshigh.h"
#include "zbx_item_constants.h"
#include "zbxpgservice.h"
#include "zbxserialize.h"
ZBX_PTR_VECTOR_DECL(keys_path_ptr, zbx_keys_path_t *)
ZBX_PTR_VECTOR_IMPL(keys_path_ptr, zbx_keys_path_t *)
static int keys_path_compare(const void *d1, const void *d2)
const zbx_keys_path_t *ptr1 = *((const zbx_keys_path_t * const *)d1);
const zbx_keys_path_t *ptr2 = *((const zbx_keys_path_t * const *)d2);
return strcmp(ptr1->path, ptr2->path);
static zbx_hash_t keys_hash(const void *data)
return ZBX_DEFAULT_STRING_HASH_ALGO(*(const char * const *)data, strlen(*(const char * const *)data),
static int keys_compare(const void *d1, const void *d2)
return strcmp(*(const char * const *)d1, *(const char * const *)d2);
static void key_path_free(zbx_keys_path_t *keys_path)
zbx_hashset_iter_reset(&keys_path->keys, &iter);
while (NULL != (ptr = (char **)zbx_hashset_iter_next(&iter)))
zbx_hashset_destroy(&keys_path->keys);
zbx_free(keys_path->path);
static void get_macro_secrets(const zbx_vector_keys_path_ptr_t *keys_paths, struct zbx_json *j,
const zbx_config_vault_t *config_vault, const char *config_source_ip,
const char *config_ssl_ca_location, const char *config_ssl_cert_location,
const char *config_ssl_key_location)
zabbix_log(LOG_LEVEL_DEBUG, "In %s()", __func__);
zbx_kvs_create(&kvs, 100);
zbx_json_addobject(j, ZBX_PROTO_TAG_MACRO_SECRETS);