[PATCH/RFC V3 11/13] auth: Parse second-auth-related properties from the auth form

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add new fields to the internal __oc_form_opt and __oc_choice structs.

Signed-off-by: Kevin Cernekee <cernekee at gmail.com>
---
 auth.c                 |    8 ++++++++
 openconnect-internal.h |    5 +++++
 2 files changed, 13 insertions(+)

diff --git a/auth.c b/auth.c
index 9f6e6d0..6ff0b01 100644
--- a/auth.c
+++ b/auth.c
@@ -173,6 +173,13 @@ static int parse_auth_choice(struct openconnect_info *vpninfo, struct __oc_auth_
 		choice->u.override_name = (char *)xmlGetProp(xml_node, (unsigned char *)"override-name");
 		choice->u.override_label = (char *)xmlGetProp(xml_node, (unsigned char *)"override-label");
 
+		choice->second_auth = prop_equals(xml_node, "second-auth", "1");
+		choice->secondary_username = (char *)xmlGetProp(xml_node,
+			(unsigned char *)"secondary_username");
+		choice->secondary_username_editable = prop_equals(xml_node,
+			"secondary_username_editable", "true");
+		choice->noaaa = prop_equals(xml_node, "noaaa", "1");
+
 		if (prop_equals(xml_node, "selected", "true"))
 			selection = opt->nr_choices - 1;
 	}
@@ -247,6 +254,7 @@ static int parse_form(struct openconnect_info *vpninfo, struct __oc_auth_form *f
 
 		opt->u.name = input_name;
 		opt->u.label = input_label;
+		opt->second_auth = prop_equals(xml_node, "second-auth", "1");
 
 		if (!strcmp(input_type, "hidden")) {
 			opt->u.type = OC_FORM_OPT_HIDDEN;
diff --git a/openconnect-internal.h b/openconnect-internal.h
index 1f52d5d..51ff7ad 100644
--- a/openconnect-internal.h
+++ b/openconnect-internal.h
@@ -125,10 +125,15 @@ struct pin_cache {
 struct __oc_form_opt {
 	struct __oc_form_opt *next;
 	struct oc_form_opt u;
+	int second_auth;
 };
 
 struct __oc_choice {
 	struct oc_choice u;
+	int second_auth;
+	char *secondary_username;
+	int secondary_username_editable;
+	int noaaa;
 };
 
 struct __oc_form_opt_select {
-- 
1.7.9.5




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux