change buffer size for gethostname() to HOST_NAME_MAX to avoid accidently truncating...
[systembsd.git] / src / main.h
index 1869cdac140118db187a386af6dc240a92bc0b2d..8d1c2579848494c67801970280d84fca45252ba5 100644 (file)
@@ -1,74 +1,37 @@
-#include <gio/gio.h>
-#include "xml_defs.h"
-
-//expects valid input, always free() output 
-const gchar **get_prefixs(gchar *path, gchar *dname) {
-       gsize size = sizeof(path) + sizeof(dname) + 11; //11 extra bytes for file suffix
-       const gchar **ret = (gchar**) g_malloc0(2 * size);
-
-       g_snprintf(ret[0], size, "%s%s-ispect.xml", path, dname);
-       g_snprintf(ret[1], size, "%s%s-config.xml", path, dname);
-
-       return ret;
-}
-
-const GString *strjoin(gchar *sep, GString strings[]) {
-       GString *cur;
-       GString *out;
-       gint n;
+/*
+ * Copyright (c) 2014 Ian Sutton <ian@kremlin.cc>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
 
-       while((cur = &strings[n]) != NULL) {
-               g_string_append(out, cur);
-               n++;
-       }
-
-       return out;
-}
+#include <gio/gio.h>
 
+//TODO change this to config dir, not data dir
 gboolean install_conf() {
-       gchar *our_conf_uri   = "systemd-utl/xml-conf/";
-       gchar **data_dir = g_get_system_data_dirs();
-
-       if(g_strcmp0(data_dir[0], NULL)) {
-               const gchar our_conf_path[256];
-               g_snprintf(our_conf_path, sizeof our_conf_path, "%s%s", *data_dir, our_conf_uri);
-               GError **errors;
-
-               /*TODO permissions w/ this */
-               g_mkdir_with_parents(our_conf_path, 0644);
-
-               const gchar   **hostnamed_prefixs   = get_prefixs(our_conf_path, "hostnamed");
-               const GString *hostnamed_ispect_xml = strjoin("\n", hostnamed_ispect_xml_def);
-               const GString *hostnamed_config_xml = strjoin("\n", hostnamed_config_xml_def);
-
-               const gchar   **timedated_prefixs   = get_prefixs(our_conf_path, "timedated");
-               const GString *timedated_ispect_xml = strjoin("\n", timedated_ispect_xml_def);
-               const GString *timedated_config_xml = strjoin("\n", timedated_config_xml_def);
-
-               const gchar   **localed_prefixs   = get_prefixs(our_conf_path, "localed");
-               const GString *localed_ispect_xml = strjoin("\n", localed_ispect_xml_def);
-               const GString *localed_config_xml = strjoin("\n", localed_config_xml_def);
-
-               const gchar   **logind_prefixs   = get_prefixs(our_conf_path, "logind");
-               const GString *logind_ispect_xml = strjoin("\n", logind_ispect_xml_def);
-               const GString *logind_config_xml = strjoin("\n", logind_config_xml_def);        
-
-               g_file_set_contents(*hostnamed_prefixs[0], hostnamed_config_xml, -1, errors);
-               g_file_set_contents(*hostnamed_prefixs[1], hostnamed_config_xml, -1, errors);
-
-               g_file_set_contents(*timedated_prefixs[0], timedated_config_xml, -1, errors);
-               g_file_set_contents(*timedated_prefixs[1], timedated_config_xml, -1, errors);
-
-               g_file_set_contents(*localed_prefixs[0], localed_config_xml, -1, errors);
-               g_file_set_contents(*localed_prefixs[1], localed_config_xml, -1, errors);
-
-               g_file_set_contents(*logind_prefixs[0], logind_config_xml, -1, errors);
-               g_file_set_contents(*logind_prefixs[1], logind_config_xml, -1, errors);
-
-               /* TODO: free() strings */
-
-               return (errors[0] == NULL);
-
-               } else
-                       return FALSE;
+    gchar *our_conf_uri   = "systemd-utl/xml-conf/";
+    gchar **data_dir = g_get_system_data_dirs();
+
+    if(g_strcmp0(data_dir[0], NULL)) {
+        const gchar our_conf_path[256];
+        g_snprintf(our_conf_path, sizeof our_conf_path, "%s%s", *data_dir, our_conf_uri);
+        GError **errors;
+
+        /*TODO permissions w/ this */
+        g_mkdir_with_parents(our_conf_path, 0644);
+    
+        return FALSE;
+        //return (errors[0] == NULL);
+
+        } else
+            return FALSE;
 }