diff --git a/auth.c b/auth.c index a4f95d68..59587f13 100644 --- a/auth.c +++ b/auth.c @@ -803,6 +803,21 @@ static int xmlpost_append_form_opts(struct openconnect_info *vpninfo, continue; } + /* answer,whichpin,new_password: rename to "password" */ + if (!strcmp(opt->name, "answer") || + !strcmp(opt->name, "whichpin") || + !strcmp(opt->name, "new_password")) { + if (!xmlNewTextChild(node, NULL, XCAST("password"), XCAST(opt->value))) + goto bad; + continue; + } + + /* verify_pin,verify_password: ignore */ + if (!strcmp(opt->name, "verify_pin") || + !strcmp(opt->name, "verify_password")) { + continue; + } + /* everything else: create user_input under */ if (!xmlNewTextChild(node, NULL, XCAST(opt->name), XCAST(opt->value))) goto bad;