Removed the `XXX_HAVE_READ' defines from all plugins.
[collectd.git] / src / iptables.c
index 5f2745f..5fa1f40 100644 (file)
 # include <libiptc/libiptc.h>
 #endif
 
-#if HAVE_LIBIPTC_LIBIPTC_H
-# define IPTABLES_HAVE_READ 1
-#else
-# define IPTABLES_HAVE_READ 0
-#endif
-
-#define MODULE_NAME "iptables"
-#define BUFSIZE 512
-
 /*
  * (Module-)Global variables
  */
 
 /*
- * Removed packet count for now, should have config option if you want to save
- * them Although other collectd models don't seem to care much for options
- * eitherway for what to log
- */
-#if IPTABLES_HAVE_READ
-/*
  * Config format should be `Chain table chainname',
  * e. g. `Chain mangle incoming'
  */
@@ -152,8 +137,12 @@ static int iptables_config (const char *key, const char *value)
                    }
                    else
                    {
-                       strncpy (temp.rule.comment, comment,
-                               sizeof (temp.rule.comment) - 1);
+                       temp.rule.comment = strdup (comment);
+                       if (temp.rule.comment == NULL)
+                       {
+                           free (value_copy);
+                           return (1);
+                       }
                        temp.rule_type = RTYPE_COMMENT;
                    }
                }
@@ -201,9 +190,7 @@ static int iptables_config (const char *key, const char *value)
 
        return (0);
 } /* int iptables_config */
-#endif /* IPTABLES_HAVE_READ */
 
-#if IPTABLES_HAVE_READ
 /* This needs to return `int' for IPT_MATCH_ITERATE to work. */
 static int submit_match (const struct ipt_entry_match *match,
                const struct ipt_entry *entry,
@@ -335,26 +322,26 @@ static int iptables_shutdown (void)
     int i;
 
     for (i = 0; i < chain_num; i++)
+    {
+       if ((chain_list[i] != NULL) && (chain_list[i]->rule_type == RTYPE_COMMENT))
+       {
+           sfree (chain_list[i]->rule.comment);
+       }
        sfree (chain_list[i]);
+    }
     sfree (chain_list);
 
     return (0);
 } /* int iptables_shutdown */
-#endif /* IPTABLES_HAVE_READ */
 
 void module_register (void)
 {
-#if IPTABLES_HAVE_READ
     plugin_register_config ("iptables", iptables_config,
            config_keys, config_keys_num);
     plugin_register_read ("iptables", iptables_read);
     plugin_register_shutdown ("iptables", iptables_shutdown);
-#endif
 } /* void module_register */
 
-#undef BUFSIZE
-#undef MODULE_NAME
-
 /*
  * vim:shiftwidth=4:softtabstop=4:tabstop=8
  */