string user_name,
string password,
string realm,
- Rule[] rules,
+ string[] rules_patterns,
+ string[] rules_always_confirm,
string[] services,
string ca_cert,
string subject,
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 */
string user_name,
string password,
string realm,
- Rule[] rules,
+ string[] rules_patterns,
+ string[] rules_always_confirm,
string[] services,
string ca_cert,
string subject,
"/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,