--- /dev/null
+<identities>
+ <identity>
+ <display-name>Unique Name</display-name>
+ <user>username</user>
+ <password>ENCRYPTEDPW</password>
+ <realm>issuer name</realm>
+ <services>
+ <service>xmpp@jabber.project-moonshot.org</service>
+ </services>
+ <selection-rules>
+ <rule>
+ <pattern>PATTERN</pattern>
+ <always_confirm>true</always_confirm>
+ </rule>
+ </selection-rules>
+ <trust-anchor>
+ <ca-cert>ABCDEFGHIJKLMNOPQRSTUVWXYZ123455678910</ca-cert>
+ <subject>Foo</subject>
+ <subject-alt>Bar</subject-alt>
+ <!-- Or alternatively -->
+ <srv-cert>ABCDEFGHIJKLMNOPQRSTUVWXYZ123455678910</srv-cert>
+ </trust-anchor>
+ </identity>
+</identities>
{
public IdCard card;
+
+
+ bool
+ display_name_handler (SList<string> stack)
+ {
+ string[] display_name_path = {"display-name", "identity", "identities"};
+
+ if (stack.length () != display_name_path.length)
+ return false;
+
+ for (int i = 0; i<display_name_path.length; i++)
+ {
+ if (stack.nth_data(i) != display_name_path[i])
+ return false;
+ }
+
+ return true;
+ }
+
public void text_element_func (MarkupParseContext context,
string text,
size_t text_len) throws MarkupError
{
unowned SList<string> stack = context.get_element_stack ();
- if (stack.nth_data(0) == "display-name")
+ if (text_len < 1)
+ return;
+
+ if (stack.nth_data(0) == "display-name" && display_name_handler (stack))
+ {
+ card.display_name = text;
+ }
+ else if (stack.nth_data(0) == "user")
+ {
+ }
+ else if (stack.nth_data(0) == "password")
+ {
+ }
+ else if (stack.nth_data(0) == "realm")
+ {
+ }
+ else if (stack.nth_data(0) == "service")
+ {
+ }
+ else if (stack.nth_data(0) == "pattern")
+ {
+ }
+ else if (stack.nth_data(0) == "always_confirm")
{
-
}
-
+ /*Trust anchor*/
+ else if (stack.nth_data(0) == "ca-cert")
+ {
+ }
+ else if (stack.nth_data(0) == "subject")
+ {
+ }
+ else if (stack.nth_data(0) == "ca-cert")
+ {
+ }
}
class WebProvisionParser
error ("%s does not exist", args[1]);
}
+ card = new IdCard();
+
var webp = new WebProvisionParser (args[1]);
+
+ debug ("%s", card.display_name);
return 0;
}