+using Moonshot;
+
namespace WebProvisioning
{
IdCard card;
while ((line = dis.read_line (null)) != null)
text += line;
}
- catch (Error e)
+ catch (GLib.Error e)
{
error ("Could not retreive file size");
}
{
ctx.parse (text, text.length);
}
- catch (Error e)
+ catch (GLib.Error e)
{
error ("Could not parse %s, invalid content", path);
}
foreach (IdCard card in cards)
{
-
- debug ("IDCARD: '%s' '%s' '%s' '%s'", card.display_name, card.username, card.password, card.issuer);
-
- foreach (string srv in card.services)
+ Moonshot.Error error;
+ string[] rules_patterns = {};
+ string[] rules_always_confirm = {};
+
+ if (card.rules.length > 0)
{
- debug ("service: %s", srv);
+ 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++;
+ }
}
-
- foreach (Rule r in card.rules)
+
+ Moonshot.install_id_card (card.display_name,
+ card.username,
+ card.password,
+ card.issuer,
+ rules_patterns,
+ rules_always_confirm,
+ card.services,
+ card.trust_anchor.ca_cert,
+ card.trust_anchor.subject,
+ card.trust_anchor.subject_alt,
+ card.trust_anchor.server_cert,
+ out error);
+
+ if (error != null)
{
- debug ("rule: '%s' '%s'", r.pattern, r.always_confirm);
+ stderr.printf ("Error: %s", error.message);
+ continue;
}
}