]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MEDIUM: init: DeviceAtlas initialization
authorDavid Carlier <dcarlier@afilias.info>
Mon, 1 Jun 2015 11:57:22 +0000 (13:57 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 2 Jun 2015 11:24:50 +0000 (13:24 +0200)
This diff initialises few DeviceAtlas struct fields member with
their inherent default values.
Furthermore, the specific DeviceAtlas configuration keywords are
registered and the module is initialised and all necessary
resources are freed during the deinit phase.

src/haproxy.c

index 1b774758108730719405fcd325565590ad20b121..a8ea22eeb9900447c932febb8b2377c8a0605271 100644 (file)
 #include <proto/ssl_sock.h>
 #endif
 
+#ifdef USE_DEVICEATLAS
+#include <import/da.h>
+#endif
+
 /*********************************************************************/
 
 extern const struct comp_algo comp_algos[];
@@ -169,6 +173,14 @@ struct global global = {
 #ifdef DEFAULT_MAXSSLCONN
        .maxsslconn = DEFAULT_MAXSSLCONN,
 #endif
+#endif
+#ifdef USE_DEVICEATLAS
+       .deviceatlas = {
+               .loglevel = DA_SEV_INFO,
+               .useragentid = 0,
+               .jsonpath = 0,
+               .separator = '|',
+       },
 #endif
        /* others NULL OK */
 };
@@ -571,6 +583,10 @@ void init(int argc, char **argv)
 
        /* Initialise lua. */
        hlua_init();
+#if defined(USE_DEVICEATLAS)
+       /* Register deviceatlas config keywords */
+       da_register_cfgkeywords();
+#endif
 
        global.tune.options |= GTUNE_USE_SELECT;  /* select() is always available */
 #if defined(ENABLE_POLL)
@@ -785,6 +801,9 @@ void init(int argc, char **argv)
 
        /* now we know the buffer size, we can initialize the channels and buffers */
        init_buffer();
+#if defined(USE_DEVICEATLAS)
+       init_deviceatlas();
+#endif
 
        if (have_appsession)
                appsession_init();
@@ -1415,6 +1434,10 @@ void deinit(void)
 
        protocol_unbind_all();
 
+#if defined(USE_DEVICEATLAS)
+       deinit_deviceatlas();
+#endif
+
        free(global.log_send_hostname); global.log_send_hostname = NULL;
        free(global.log_tag); global.log_tag = NULL;
        free(global.chroot);  global.chroot = NULL;