new upstream release (3.3.0); modify package compatibility for Stretch
[ossec-hids.git] / src / config / agentlessd-config.c
index 6694126..41b8902 100644 (file)
@@ -1,6 +1,3 @@
-/* @(#) $Id: ./src/config/agentlessd-config.c, 2011/09/08 dcid Exp $
- */
-
 /* Copyright (C) 2009 Trend Micro Inc.
  * All right reserved.
  *
  * Foundation
  */
 
-/* Functions to handle the configuration files
- */
-
-
 #include "shared.h"
 #include "agentlessd-config.h"
+#include "config.h"
 
 
-int Read_CAgentless(XML_NODE node, void *config, void *config2)
+int Read_CAgentless(XML_NODE node, void *config, __attribute__((unused)) void *config2)
 {
-    int i = 0,j = 0,s = 0;
+    unsigned int i = 0, j = 0, s = 0;
 
     /* XML definitions */
-    char *xml_lessd_server = "host";
-    char *xml_lessd_port = "port";
-    char *xml_lessd_type = "type";
-    char *xml_lessd_frequency = "frequency";
-    char *xml_lessd_state = "state";
-    char *xml_lessd_command = "run_command";
-    char *xml_lessd_options = "arguments";
-
+    const char *xml_lessd_server = "host";
+    const char *xml_lessd_port = "port";
+    const char *xml_lessd_type = "type";
+    const char *xml_lessd_frequency = "frequency";
+    const char *xml_lessd_state = "state";
+    const char *xml_lessd_command = "run_command";
+    const char *xml_lessd_options = "arguments";
 
     agentlessd_config *lessd_config = (agentlessd_config *)config;
 
-
-    /* Getting any configured entry. */
-    if(lessd_config->entries)
-    {
-        while(lessd_config->entries[s])
+    /* Get any configured entry */
+    if (lessd_config->entries) {
+        while (lessd_config->entries[s]) {
             s++;
+        }
     }
 
-
-    /* Allocating the memory for the config. */
+    /* Allocate the memory for the config */
     os_realloc(lessd_config->entries, (s + 2) * sizeof(agentlessd_entries *),
                lessd_config->entries);
     os_calloc(1, sizeof(agentlessd_entries), lessd_config->entries[s]);
     lessd_config->entries[s + 1] = NULL;
 
-
-    /* Zeroing the elements. */
+    /* Zero the elements */
     lessd_config->entries[s]->server = NULL;
     lessd_config->entries[s]->command = NULL;
     lessd_config->entries[s]->options = "";
@@ -61,147 +51,105 @@ int Read_CAgentless(XML_NODE node, void *config, void *config2)
     lessd_config->entries[s]->port = 0;
     lessd_config->entries[s]->error_flag = 0;
 
-
-    /* Reading the XML. */
-    while(node[i])
-    {
-        if(!node[i]->element)
-        {
-            merror(XML_ELEMNULL, ARGV0);
-            return(OS_INVALID);
-        }
-        else if(!node[i]->content)
-        {
-            merror(XML_VALUENULL, ARGV0, node[i]->element);
-            return(OS_INVALID);
-        }
-        else if(strcmp(node[i]->element, xml_lessd_frequency) == 0)
-        {
-            if(!OS_StrIsNum(node[i]->content))
-            {
-                merror(XML_VALUEERR,ARGV0,node[i]->element,node[i]->content);
-                return(OS_INVALID);
+    /* Read the XML */
+    while (node[i]) {
+        if (!node[i]->element) {
+            merror(XML_ELEMNULL, __local_name);
+            return (OS_INVALID);
+        } else if (!node[i]->content) {
+            merror(XML_VALUENULL, __local_name, node[i]->element);
+            return (OS_INVALID);
+        } else if (strcmp(node[i]->element, xml_lessd_frequency) == 0) {
+            if (!OS_StrIsNum(node[i]->content)) {
+                merror(XML_VALUEERR, __local_name, node[i]->element, node[i]->content);
+                return (OS_INVALID);
             }
 
             lessd_config->entries[s]->frequency = atoi(node[i]->content);
-        }
-        else if(strcmp(node[i]->element, xml_lessd_port) == 0)
-        {
-            if(!OS_StrIsNum(node[i]->content))
-            {
-                merror(XML_VALUEERR,ARGV0,node[i]->element,node[i]->content);
-                return(OS_INVALID);
+        } else if (strcmp(node[i]->element, xml_lessd_port) == 0) {
+            if (!OS_StrIsNum(node[i]->content)) {
+                merror(XML_VALUEERR, __local_name, node[i]->element, node[i]->content);
+                return (OS_INVALID);
             }
 
             lessd_config->entries[s]->port = atoi(node[i]->content);
-        }
-        else if(strcmp(node[i]->element, xml_lessd_server) == 0)
-        {
-            char s_content[1024 +1];
+        } else if (strcmp(node[i]->element, xml_lessd_server) == 0) {
+            char s_content[1024 + 1];
             s_content[1024] = '\0';
 
-            /* Getting any configured entry. */
+            /* Get any configured entry */
             j = 0;
-            if(lessd_config->entries[s]->server)
-            {
-                while(lessd_config->entries[s]->server[j])
+            if (lessd_config->entries[s]->server) {
+                while (lessd_config->entries[s]->server[j]) {
                     j++;
+                }
             }
 
             os_realloc(lessd_config->entries[s]->server, (j + 2) *
                        sizeof(char *),
                        lessd_config->entries[s]->server);
-            if(strncmp(node[i]->content, "use_su ", 7) == 0)
-            {
-                snprintf(s_content, 1024, "s%s", node[i]->content +7);
-            }
-            else if(strncmp(node[i]->content, "use_sudo ", 9) == 0)
-            {
-                snprintf(s_content, 1024, "o%s", node[i]->content +9);
-            }
-            else
-            {
+            if (strncmp(node[i]->content, "use_su ", 7) == 0) {
+                snprintf(s_content, 1024, "s%s", node[i]->content + 7);
+            } else if (strncmp(node[i]->content, "use_sudo ", 9) == 0) {
+                snprintf(s_content, 1024, "o%s", node[i]->content + 9);
+            } else {
                 snprintf(s_content, 1024, " %s", node[i]->content);
             }
 
             os_strdup(s_content,
                       lessd_config->entries[s]->server[j]);
             lessd_config->entries[s]->server[j + 1] = NULL;
-        }
-        else if(strcmp(node[i]->element, xml_lessd_type) == 0)
-        {
-            char script_path[1024 +1];
+        } else if (strcmp(node[i]->element, xml_lessd_type) == 0) {
+            char script_path[1024 + 1];
 
             script_path[1024] = '\0';
             snprintf(script_path, 1024, "%s/%s", AGENTLESSDIRPATH,
-                                         node[i]->content);
+                     node[i]->content);
 
-            if(File_DateofChange(script_path) <= 0)
-            {
+            if (File_DateofChange(script_path) <= 0) {
                 merror("%s: ERROR: Unable to find '%s' at '%s'.",
-                       ARGV0, node[i]->content, AGENTLESSDIRPATH);
-                merror(XML_VALUEERR,ARGV0, node[i]->element, node[i]->content);
-                return(OS_INVALID);
+                       __local_name, node[i]->content, AGENTLESSDIRPATH);
+                merror(XML_VALUEERR, __local_name, node[i]->element, node[i]->content);
+                return (OS_INVALID);
             }
             os_strdup(node[i]->content, lessd_config->entries[s]->type);
-        }
-        else if(strcmp(node[i]->element, xml_lessd_command) == 0)
-        {
+        } else if (strcmp(node[i]->element, xml_lessd_command) == 0) {
             os_strdup(node[i]->content, lessd_config->entries[s]->command);
-        }
-        else if(strcmp(node[i]->element, xml_lessd_options) == 0)
-        {
+        } else if (strcmp(node[i]->element, xml_lessd_options) == 0) {
             os_strdup(node[i]->content, lessd_config->entries[s]->options);
-        }
-        else if(strcmp(node[i]->element, xml_lessd_state) == 0)
-        {
-            if(strcmp(node[i]->content, "periodic") == 0)
-            {
+        } else if (strcmp(node[i]->element, xml_lessd_state) == 0) {
+            if (strcmp(node[i]->content, "periodic") == 0) {
                 lessd_config->entries[s]->state |= LESSD_STATE_PERIODIC;
-            }
-            else if(strcmp(node[i]->content, "stay_connected") == 0)
-            {
+            } else if (strcmp(node[i]->content, "stay_connected") == 0) {
                 lessd_config->entries[s]->state |= LESSD_STATE_CONNECTED;
-            }
-            else if(strcmp(node[i]->content, "periodic_diff") == 0)
-            {
+            } else if (strcmp(node[i]->content, "periodic_diff") == 0) {
                 lessd_config->entries[s]->state |= LESSD_STATE_PERIODIC;
                 lessd_config->entries[s]->state |= LESSD_STATE_DIFF;
+            } else {
+                merror(XML_VALUEERR, __local_name, node[i]->element, node[i]->content);
+                return (OS_INVALID);
             }
-            else
-            {
-                merror(XML_VALUEERR,ARGV0,node[i]->element,node[i]->content);
-                return(OS_INVALID);
-            }
-        }
-        else
-        {
-            merror(XML_INVELEM, ARGV0, node[i]->element);
-            return(OS_INVALID);
+        } else {
+            merror(XML_INVELEM, __local_name, node[i]->element);
+            return (OS_INVALID);
         }
         i++;
     }
 
-
     /* We must have at least one entry set */
-    if(!lessd_config->entries[s]->server ||
-       !lessd_config->entries[s]->state ||
-       !lessd_config->entries[s]->type)
-    {
-        merror(XML_INV_MISSOPTS, ARGV0);
-        return(OS_INVALID);
+    if (!lessd_config->entries[s]->server ||
+            !lessd_config->entries[s]->state ||
+            !lessd_config->entries[s]->type) {
+        merror(XML_INV_MISSOPTS, __local_name);
+        return (OS_INVALID);
     }
 
-
-    if((lessd_config->entries[s]->state == LESSD_STATE_PERIODIC) &&
-       !lessd_config->entries[s]->frequency)
-    {
-        merror(XML_INV_MISSFREQ, ARGV0);
-        return(OS_INVALID);
+    if ((lessd_config->entries[s]->state == LESSD_STATE_PERIODIC) &&
+            !lessd_config->entries[s]->frequency) {
+        merror(XML_INV_MISSFREQ, __local_name);
+        return (OS_INVALID);
     }
 
-    return(0);
+    return (0);
 }
 
-
-/* EOF */