]> www.infradead.org Git - users/dwmw2/openconnect.git/commit
attempt to implement Fortinet challenge-based 2FA (ping #225)
authorDaniel Lenski <dlenski@gmail.com>
Thu, 18 Feb 2021 03:27:10 +0000 (19:27 -0800)
committerDaniel Lenski <dlenski@gmail.com>
Mon, 29 Mar 2021 03:13:31 +0000 (20:13 -0700)
commit426fc3d434ae614b7e10999aff84c52dcffd047a
treed4b03c572c131bcfdd3e26ec7d5c1460f9e11532
parent838fcd7ed9a3b529124c03c6a97e798478d6a8d6
attempt to implement Fortinet challenge-based 2FA (ping #225)

2FA involves reading a bunch of values from the initial response and
parroting them back, along with changing the 'credential' field to 'code'.

This is based on Openfortivpn's implementation
(https://github.com/adrienverge/openfortivpn/blob/master/src/http.c#L711-L754),
and has been tested for basic correctness against a toy HTTPS server that
gives responses with the right format.

Still to do:

- Another one-time password mode: https://github.com/adrienverge/openfortivpn/blob/master/src/http.c#L672-L679, https://github.com/adrienverge/openfortivpn/commit/61dd4fcbbfe1dd89b95081e7d5f5c3e933d7897a
- There's a mobile-app-based "push" mode: https://github.com/adrienverge/openfortivpn/commit/2f16d964560d9b00acbf7bfc7131a0ac40c688f2

Signed-off-by: Daniel Lenski <dlenski@gmail.com>
fortinet.c