pretty hostname and static hostname no longer sync across each other
[systembsd.git] / src / interfaces / hostnamed / hostnamed.c
index 3dae12ce0062c31ce77f37e87a89d6181a1f46e5..0f4af9acef276ade0eb96bafbed881772ad89b2f 100644 (file)
@@ -133,7 +133,7 @@ on_handle_set_hostname(Hostname1 *hn1_passed_interf,
     bus_name = g_dbus_method_invocation_get_sender(invoc);
 
     /* verify caller has correct permissions via polkit */
-    is_authed = polkit_try_auth(bus_name, "org.freedesktop.hostname1.SetHostname", policykit_auth);
+    is_authed = polkit_try_auth(bus_name, "org.freedesktop.hostname1.set-hostname", policykit_auth);
 
     switch(is_authed) {
 
@@ -210,7 +210,7 @@ on_handle_set_static_hostname(Hostname1 *hn1_passed_interf,
     bus_name = g_dbus_method_invocation_get_sender(invoc);
 
     /* verify caller has correct permissions via polkit */
-    is_authed = polkit_try_auth(bus_name, "org.freedesktop.hostname1.SetStaticHostname", policykit_auth);
+    is_authed = polkit_try_auth(bus_name, "org.freedesktop.hostname1.set-static-hostname", policykit_auth);
 
     switch(is_authed) {
 
@@ -256,9 +256,9 @@ on_handle_set_static_hostname(Hostname1 *hn1_passed_interf,
         } else { 
 
             g_strdelimit(STATIC_HOSTNAME, " ", '-');
-            hostname1_set_static_hostname(hn1_passed_interf, STATIC_HOSTNAME);
+            hostname1_set_static_hostname(hn1_passed_interf, STATIC_HOSTNAME); 
             g_ptr_array_add(hostnamed_freeable, valid_static_hostname_buf);
-            ret = TRUE;
+            ret = (!sethostname(valid_static_hostname_buf, MAXHOSTNAMELEN)) ? TRUE : FALSE; /* TODO set /etc/myname, guarantee domain or substitue .home.network" */
             hostname1_complete_set_static_hostname(hn1_passed_interf, invoc);
         }
     }
@@ -289,7 +289,7 @@ on_handle_set_pretty_hostname(Hostname1 *hn1_passed_interf,
     bus_name = g_dbus_method_invocation_get_sender(invoc);
 
     /* verify caller has correct permissions via polkit */
-    is_authed = polkit_try_auth(bus_name, "org.freedesktop.hostname1.SetPrettyHostname", policykit_auth);
+    is_authed = polkit_try_auth(bus_name, "org.freedesktop.hostname1.set-pretty-hostname", policykit_auth);
 
     switch(is_authed) {
 
@@ -343,7 +343,7 @@ on_handle_set_pretty_hostname(Hostname1 *hn1_passed_interf,
  
                 g_key_file_set_string(config, "hostnamed", "PRETTY_HOSTNAME", valid_pretty_hostname_buf);
 
-                if((computed_static_hostname = g_hostname_to_ascii(PRETTY_HOSTNAME))) {
+                /* if((computed_static_hostname = g_hostname_to_ascii(PRETTY_HOSTNAME))) {
 
                     g_strdelimit(computed_static_hostname, " ", '-');
                     hostname1_set_static_hostname(hn1_passed_interf, computed_static_hostname);
@@ -351,10 +351,8 @@ on_handle_set_pretty_hostname(Hostname1 *hn1_passed_interf,
                     g_ptr_array_add(hostnamed_freeable, computed_static_hostname);
                     g_key_file_set_string(config, "hostnamed", "StaticHostname", computed_static_hostname);
 
-                } else
-                    g_free(computed_static_hostname);
+                } */
             }
-
         }
     }
 
@@ -389,7 +387,7 @@ on_handle_set_chassis(Hostname1 *hn1_passed_interf,
     g_strlcpy(valid_chassis_name_buf, proposed_chassis_name, (gsize)64);
 
     /* verify caller has correct permissions via polkit */
-    is_authed = polkit_try_auth(bus_name, "org.freedesktop.hostname1.SetChassis", policykit_auth);
+    is_authed = polkit_try_auth(bus_name, "org.freedesktop.hostname1.set-chassis", policykit_auth);
 
     switch(is_authed) {
 
@@ -473,7 +471,7 @@ on_handle_set_icon_name(Hostname1 *hn1_passed_interf,
     bus_name = g_dbus_method_invocation_get_sender(invoc);
 
     /* verify caller has correct permissions via polkit */
-    is_authed = polkit_try_auth(bus_name, "org.freedesktop.hostname1.SetIconName", policykit_auth);
+    is_authed = polkit_try_auth(bus_name, "org.freedesktop.hostname1.set-icon-name", policykit_auth);
 
     switch(is_authed) {
 
@@ -814,18 +812,18 @@ gboolean set_names() {
     else
         PRETTY_HOSTNAME = "";
  
-    if(config)
-        g_key_file_unref(config);
+    
+    /* (4) set STATIC_HOSTNAME */
+    if((static_hostname_buf = g_key_file_get_value(config, "hostnamed", "STATIC_HOSTNAME", NULL)))
+        STATIC_HOSTNAME = static_hostname_buf;
 
-    /* (4) set STATIC_HOSTNAME */ 
-    if(!g_strcmp0(PRETTY_HOSTNAME, ""))
-        STATIC_HOSTNAME = HOSTNAME;
+    else
+        STATIC_HOSTNAME = "";
 
-    else if((static_hostname_buf = g_hostname_to_ascii(PRETTY_HOSTNAME)))
-        STATIC_HOSTNAME = static_hostname_buf;
+    if(config)
+        g_key_file_unref(config);
 
     return (HOSTNAME && STATIC_HOSTNAME && PRETTY_HOSTNAME) ? TRUE : FALSE;
-
 }
 
 gboolean set_uname_properties() {