Xpra: Ticket #1796: modularize client authentication handlers

The same way this was done for the server modules. The modules can then be configured more easily using the challenge-handlers string. Making it easier to test and to implement new ones (ie: "exec" handler which calls an external binary) We can also define a clearer interface so modules can claim a particular challenge mode, or be used as fallback.

Tue, 26 Feb 2019 05:08:22 GMT - Antoine Martin: status changed

See also #1861

Tue, 14 May 2019 16:54:02 GMT - Antoine Martin:

At the moment, the process_challenge_uri comes first and is only used once: we clear the password value after use to give the other authentication handlers a chance to run. (details and examples in ticket:1691#comment:8)

The other handlers behave differently... for some this doesn't matter too much (ie: prompt), but for others this prevents other modules from being tried (ie: file, env, etc)

Wed, 15 May 2019 11:11:18 GMT - Antoine Martin: status changed; resolution set

Done in r22711 + r22713 + r22714 + r22715.

All the authentication handlers now live in xpra.client.auth.*. Each instance can be configured separately, and the same handler type can be used more than once.


Sat, 23 Jan 2021 05:34:01 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1796