More fixes for Centos vala array property bug
[moonshot-ui.git] / src / moonshot-server.vala
index 81fdccd..f5a086f 100644 (file)
@@ -49,7 +49,10 @@ public class MoonshotServer : Object {
 
         if ((id_card != null) && (id_card.display_name != IdCard.NO_IDENTITY)) {
             nai_out = id_card.nai;
-            password_out = id_card.password;
+            if ((request.password!=null) && (request.password != ""))
+                password_out = request.password;
+            else
+                password_out = id_card.password;
 
             server_certificate_hash = id_card.trust_anchor.server_cert;
             ca_certificate = id_card.trust_anchor.ca_cert;
@@ -152,13 +155,15 @@ public class MoonshotServer : Object {
 
       if (rules_patterns.length == rules_always_confirm.length)
       {
-        idcard.rules = new Rule[rules_patterns.length];
+        /* workaround Centos vala array property bug: use temp array */
+        Rule[] rules = new Rule[rules_patterns.length];
          
-        for (int i=0; i<idcard.rules.length; i++)
+        for (int i=0; i<rules.length; i++)
         { 
-          idcard.rules[i].pattern = rules_patterns[i];
-          idcard.rules[i].always_confirm = rules_always_confirm[i];
+          rules[i].pattern = rules_patterns[i];
+          rules[i].always_confirm = rules_always_confirm[i];
         }
+        idcard.rules = rules;
       }
 
       return parent_app.add_identity (idcard, force_flat_file_store!=0);