I was thinking about the "Dynamic protocol" described here [1].
It seams there is the possibility to return an AUTH_FAILURE and ask for a further piece of information.
Maybe it would be possible to use this system to return the question "1+1=?" and expect the connecting client to return the information through the same channel used to provide username/password.
The problem here is that I cannot find a way to set the AUTH_FAILURE as required and return this string [2].
Through auth-user-pass-verify and client-connect I would not know how to reach it.
Would it eventually be possible by writing a plugin?
Is there anywhere a description of the information passed to a plugin and expected returns?
[1]
https://openvpn.net/community-resources/management-interface/
[2]
CRV1:R,E:Om01u7Fh4LrGBS7uh0SWmzwabUiGiW6l:Y3Ix:Please enter token PIN