merge license, hostname buffer changes from master branch
authorkremlin- <ian@kremlin.cc>
Thu, 26 Jun 2014 01:44:39 +0000 (20:44 -0500)
committerkremlin- <ian@kremlin.cc>
Thu, 26 Jun 2014 01:44:39 +0000 (20:44 -0500)
1  2 
src/config.c
src/main.c

diff --cc src/config.c
index f76b42039997b056373f0b6cc7dcff1563eff4a6,ac9ecf468e2df72c62f6f4e2be478da8304b4491..3c20820d9b7d08cd31aa8ba5005d2c86c858b21e
  #include <gio/gio.h>
  
  static GKeyFile *config;
 +static int config_descr;
 +
 +static gchar *data_dir;
 +
 +static int hostnamed_ispect_xml_descr, hostnamed_dbus_xml_descr;
 +static int localed_ispect_xml_descr, localed_dbus_xml_descr;
 +static int timedated_ispect_xml_descr, timedated_dbus_xml_descr;
 +static int logind_ispect_xml_descr, logind_dbus_xml_descr;
 +
 +/*TODO depending on builtin xml flag, these should be matched to checksums */
 +static gchar **hostnamed_ispect_xml, hostnamed_dbus_xml;
 +static gchar **localed_ispect_xml, localed_dbus_xml;
 +static gchar **timedated_ispect_xml, timedated_dbus_xml;
 +static gchar **logind_ispect_xml, logind_dbus_xml;
  
  static const gchar *CONFIG_KEYS[] = {
-       "PrettyHostname",
-       "IconName",
-       "ChassisType"
+     "PrettyHostname",
+     "IconName",
+     "ChassisType"
  };
  
  /* NULL if key doesn't exist */
@@@ -50,141 -52,60 +66,61 @@@ gboolean set_option(gchar *key, gchar *
  /* initial load/check */
  gboolean config_init() {
  
-       if(config)
-               return TRUE; //already init'd
+     if(config)
+         return TRUE; //already init'd
  
-       config = g_key_file_new();
-       
-       const gchar *config_path;
-       GStatBuf *config_lstat;
+     config = g_key_file_new();
+     
+     const gchar *config_path;
+     GStatBuf *config_lstat;
  
-       config_path = "/etc/systemd_compat.conf";
+     config_path = "/etc/systemd_compat.conf";
  
-       /* does conf exist? */
-       if(g_lstat(config_path, config_lstat)) {
+     /* does conf exist? */
+     if(g_lstat(config_path, config_lstat)) {
  
-               /* if not, can we write it? */
-               if(g_access("/etc/", W_OK)) {
-                       g_printf("%s\n", "no write permissions for /etc/! exiting..");
-                       return FALSE;
-               }
+         /* if not, can we write it */
+         if(g_access("/etc/", W_OK)) {
+             g_printf("%s\n", "no write permissions for /etc/! exiting..");
+             return FALSE;
+         }
  
-               config_descr = g_open(config_path, O_CREAT, 644);
+         int config_descr;
+         config_descr = g_open(config_path, O_CREAT, 644);
  
-               gchar *posix_hostname;
-               posix_hostname = g_malloc(255); 
+         gchar *posix_hostname;
+         posix_hostname = g_malloc(HOST_NAME_MAX); 
  
-               gethostname(posix_hostname, 255);
+         gethostname(posix_hostname, HOST_NAME_MAX);
  
-               g_key_file_set_string(config, "hostnamed", "Hostname", posix_hostname);
-               g_key_file_set_string(config, "hostnamed", "PrettyHostname", "");
-               g_key_file_set_string(config, "hostnamed", "IconName", "Computer");     
-               g_key_file_set_string(config, "hostnamed", "ChassisType", "laptop"); //TODO set these correctly
+         g_key_file_set_string(config, "hostnamed", "Hostname", posix_hostname);
+         g_key_file_set_string(config, "hostnamed", "PrettyHostname", "");
+         g_key_file_set_string(config, "hostnamed", "IconName", "Computer"); 
+         g_key_file_set_string(config, "hostnamed", "ChassisType", "laptop"); //TODO set these correctly
  
-               if(!g_key_file_save_to_file(config, config_path, NULL)) {
-                       g_printf("failed to write config to %s!\n", config_path);
-                       g_free(posix_hostname);
-                       return FALSE;
-               }
+         if(!g_key_file_save_to_file(config, config_path, NULL)) {
+             g_printf("failed to write config to %s!\n", config_path);
+             g_free(posix_hostname);
+             return FALSE;
+         }
  
-               g_printf("wrote config to %s\n", config_path);
+         g_printf("wrote config to %s\n", config_path);
  
-               g_free(posix_hostname);
+         g_free(posix_hostname);
  
-               return TRUE;
+         return TRUE;
  
-       /* it does exist, read it */
-       } else {
+     /* it does exist, read it */
+     } else {
  
-               if(!g_access(config_path, W_OK)) {
-                       g_printf("%s\n", "no write permissions for /etc/! exiting..");
-                       return FALSE;
-               } else if(g_key_file_load_from_file(config, config_path, G_KEY_FILE_KEEP_COMMENTS, NULL)) {
-                       config_descr = g_open(config_path, O_RDWR, 644);
-                       return TRUE;
-               }
+         if(!g_access(config_path, W_OK)) {
+             g_printf("%s\n", "no write permissions for /etc/! exiting..");
+             return FALSE;
+         } else if(g_key_file_load_from_file(config, config_path, G_KEY_FILE_KEEP_COMMENTS, NULL))
+             return TRUE;
  
-               g_printf("could not read config at %s! exiting..", config_path);
-               return FALSE;
-       }
+         g_printf("could not read config at %s! exiting..", config_path);
+         return FALSE;
+     }
  }
- gboolean init_xml() {
-       gchar **data_dir_prefix;        
-       data_dir_prefix = g_get_system_data_dirs();
-       data_dir = g_strconcat(data_dir_prefix[0], "systemd_compat", NULL);
-       GStatBuf *xml_lstat;
-       /* does xml dir exist? */
-       if(g_lstat(data_dir, xml_lstat)) {
-               /* if not, can we write it? */
-               if(g_access(data_dir_prefix[0], W_OK)) {
-                       g_printf("no write permissions for %s! exiting...\n", data_dir_prefix[0]);
-                       return FALSE;
-               }
-               g_printf("creating xml data directory %s...\n", data_dir);
-               if(g_mkdir(data_dir, 644) {
-                       g_printf("failed to create dir %s...\n", data_dir);
-                       return FALSE;
-               }
-               set_xml_descriptors();
- //LEFTOFF
-               
-               gchar *posix_hostname;
-               posix_hostname = g_malloc(255); 
-               gethostname(posix_hostname, 255);
-               g_key_file_set_string(config, "hostnamed", "Hostname", posix_hostname);
-               g_key_file_set_string(config, "hostnamed", "PrettyHostname", "");
-               g_key_file_set_string(config, "hostnamed", "IconName", "Computer");     
-               g_key_file_set_string(config, "hostnamed", "ChassisType", "laptop"); //TODO set these correctly
-               if(!g_key_file_save_to_file(config, config_path, NULL)) {
-                       g_printf("failed to write config to %s!\n", config_path);
-                       g_free(posix_hostname);
-                       return FALSE;
-               }
-               g_printf("wrote config to %s\n", config_path);
-               g_free(posix_hostname);
-               return TRUE;
-       /* it does exist, read it */
-       } else {
-               if(!g_access(config_path, W_OK)) {
-                       g_printf("%s\n", "no write permissions for /etc/! exiting..");
-                       return FALSE;
-               } else if(g_key_file_load_from_file(config, config_path, G_KEY_FILE_KEEP_COMMENTS, NULL)) {
-                       config_descr = g_open(config_path, O_RDWR, 644);
-                       return TRUE;
-               }
-               g_printf("could not read config at %s! exiting..", config_path);
-               return FALSE;
-       }
-       return TRUE;
- }
- static void set_xml_descriptors() {
-       
- }
- void clean_config() {
-       //TODO g_ptr_array all of this
-       g_free(config);
-       g_free(data_dir);
-       g_close(config_descr, NULL);
 +}
diff --cc src/main.c
index 3e80e28e989d91de16cd8470ab6ce746fff16b3d,0c343e43faff7f869dd80b7b92ec8ec7fef3ce0b..fc50a2445cdd8bc547163381d62f59c52ea7f6ab
  //#include "main/h"
  
  gboolean systemd_utils_init() {
++<<<<<<< HEAD
 +      #ifdef INSTALL
 +              if(!config_init()) {
 +                      gchar *tmp;
 +                      tmp = "/etc/"; //what the hell is /etc/xdg anyway
 +
 +                      g_printf("FAILED to install configs in %s!\n", tmp);
 +                      return FALSE;
 +              } 
 +              if(!init_xml()) {
 +                      gchar **tmp;
 +                      tmp = g_get_system_data_dirs();
 +
 +                      g_printf("FAILED to install xml configs in %s!\n", tmp[0]);
 +                      return FALSE;
 +              }
 +      #endif
 +      return TRUE;
++=======
+     #ifdef INSTALL
+         if(!config_init()) {
+             g_printf("%s\n", "FAILED to install configs in /etc/!");
+             return FALSE; 
+         }
+     #endif
+     return TRUE;
++>>>>>>> master
  }
  
  int main() {