Rules stored
authorAlberto Ruiz <aruiz@gnome.org>
Wed, 13 Jul 2011 12:18:02 +0000 (13:18 +0100)
committerAlberto Ruiz <aruiz@gnome.org>
Mon, 18 Jul 2011 16:12:54 +0000 (17:12 +0100)
src/moonshot-server.vala
src/moonshot-webp-parser.vala

index 6cb5390..2972927 100644 (file)
@@ -93,7 +93,8 @@ public class MoonshotServer : Object {
                                        string   user_name,
                                        string   password,
                                        string   realm,
-                                       Rule[]   rules,
+                                       string[] rules_patterns,
+                                       string[] rules_always_confirm,
                                        string[] services,
                                        string   ca_cert,
                                        string   subject,
@@ -106,12 +107,22 @@ public class MoonshotServer : Object {
       idcard.username = user_name;
       idcard.password = password;
       idcard.issuer = realm;
-      idcard.rules = rules;
       idcard.services = services;
       idcard.trust_anchor.ca_cert = ca_cert;
       idcard.trust_anchor.subject = subject;
       idcard.trust_anchor.subject_alt = subject_alt;
       idcard.trust_anchor.server_cert = server_cert;
+      
+      if (rules_patterns.length == rules_always_confirm.length)
+      {
+        idcard.rules = new Rule[rules_patterns.length];
+         
+        for (int i=0; i<idcard.rules.length; i++)
+        { 
+          idcard.rules[i].pattern = rules_patterns[i];
+          idcard.rules[i].always_confirm = rules_always_confirm[i];
+        }
+      }
 
       /* TODO: Check if display name already exists */
       
index 9442684..4f5bbfd 100644 (file)
@@ -26,7 +26,8 @@ namespace Moonshot
                                                   string   user_name,
                                                   string   password,
                                                   string   realm,
-                                                  Rule[]   rules,
+                                                  string[] rules_patterns,
+                                                  string[] rules_always_confirm,
                                                   string[] services,
                                                   string   ca_cert,
                                                   string   subject,
@@ -300,13 +301,28 @@ namespace WebProvisioning
                                                    "/org/janet/moonshot",
                                                    "org.janet.Moonshot");
 
-        Rule[] rules = {};
+        string[] rules_patterns = {};
+        string[] rules_always_confirm = {};
+        
+        if (card.rules.length > 0)
+        {
+          int i = 0;
+          rules_patterns = new string[card.rules.length];
+          rules_always_confirm = new string[card.rules.length];
+          foreach (Rule r in card.rules)
+          {
+            rules_patterns[i] = r.pattern;
+            rules_always_confirm[i] = r.always_confirm;
+            i++;
+          }
+        }
 
         bus.install_id_card (card.display_name,
                              card.username,
                              card.password,
                              card.issuer,
-                             rules,
+                             rules_patterns,
+                             rules_always_confirm,
                              card.services,
                              card.trust_anchor.ca_cert,
                              card.trust_anchor.subject,