My server test rig has a "--auth-user-pass-verify" script that already
does client-controlled success/failure returns (setenv UV...), and
this has now learned to return client-specific messages if 
$auth_failed_reason_file is set...

2022-09-17 17:44:53 AUTH: Received control message: AUTH_FAILED,you stink

.. works.

For the plugin case, I've tried to test this with my existing 
"--client-connect magic hooks plugin", but it seems this functionality
is not exported to client-connect (so, CC plugin fails can only return
basic AUTH_FAIL).  So I've hacked this into plugin-auth-pam, which is
used in a different server instance, and that one also works:

2022-09-17 18:07:47 AUTH: Received control message: AUTH_FAILED,my plugin does 
not like you

All the other tests (client+server) still works as well, no files
are left around in /tmp/, etc.


Staring at the code took me a bit, because of the two-fold way you
did the checks - half the locations call check_for_client_reason(),
while tls_authentication_status() prefers to do it "inline" (... leading
to the gc_free()... ;-) ).  Could this be unified, or am I overlooking
something?  Anyway, decided to not stop progress because of this.


Your patch has been applied to the master branch.

commit 8893fe49a4c593387d469ccc4a73ec0714f69315
Author: Arne Schwabe
Date:   Wed Aug 24 16:08:48 2022 +0200

     Allow scripts and plugins to set a custom AUTH_FAILED message

     Signed-off-by: Arne Schwabe <[email protected]>
     Acked-by: Heiko Hund <[email protected]>
     Message-Id: <[email protected]>
     URL: 
https://www.mail-archive.com/[email protected]/msg25099.html
     Signed-off-by: Gert Doering <[email protected]>


--
kind regards,

Gert Doering



_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to