diff options
| author | FlorianMickler | 2020-02-26 00:59:12 +0100 |
|---|---|---|
| committer | GitHub | 2020-02-26 00:59:12 +0100 |
| commit | d553cb68f8c4b37a2251b57f662006c87be5131c (patch) | |
| tree | cf15fa1c36842eb4625b19c765e3391122981042 /cgi/cgihttpscriptptr.c | |
| parent | 3beecc4b3822b86a7abd11c8ba2dba545ff94dd8 (diff) | |
| download | courier-libs-d553cb68f8c4b37a2251b57f662006c87be5131c.tar.bz2 | |
fix ssl client cert authentication (EXTERNAL)
The connect_callback verify_connection does setenv(TLS_SUBJECT_*) by calling dump_to_fp. These Environment variables are needed to do "AUTHENTICATE EXTERNAL" by doing a user lookup with one of the TLS_SUBJECT_* Variables (specified in the config file via TLS_EXTERNAL).
If we call startclient() after the ssl connection has established, we actually do the fork()/exec with the updated environment and thus imapdlogin can do authentication.
This error was not producing any error messages besides LOGIN FAILED. :(
With this change, i was able to connect with openssl s_client, run "AUTHENTICATE EXTERNAL" and have a successfull login. No further testing was done.
Diffstat (limited to 'cgi/cgihttpscriptptr.c')
0 files changed, 0 insertions, 0 deletions
