Add support for password-based authentication and use it in XLog
Quoting the patches:
---- 8< ----
amari: Conn: add support for password-based authentication
Sometimes Amarisoft services are setup to require custom challenge/response authentication upon connecting to their WebSocket. In 61ad9032 (amari: Add functionality to interoperate with an Amarisoft LTE service via WebSocket) I've put TODO for that but now we start to need it.
-> Implement corresponding support for password-based authentication.
In the next patch we will teach XLog to use it.
See https://tech-academy.amarisoft.com/lteenb.doc#Startup for details of the authentication handshake protocol.
/cc @lu.xu
---- 8< ----
amari.xlog: Add support for password-based authentication
Add new --password option and wire it to go to amari.connect(password=...)
Support for password-based authentication in amari.connect was just added in the previous patch.
We need to extend filtering of logged fields on service attach a bit since now the first service message can be both 'ready' and 'authenticate', and besides e.g. 'message' we don't want to log what was the 'challenge'.
/cc @lu.xu