Session : sig ... end
val mechanism : string
perform the server side authentication negotiation.
send_challenge_and_expect_response
should be used to perform a challenge/response
exchange. If the client sent an initial response then the initial challenge will
be quietly discarded.
If the authentication flow has been completed, return Allow session
or Deny msg
as appropriate to complete the flow.
If the negotiation fails for any reason (e.g. malformed client message or
network error) send_challenge_and_expect_response
will raise, you should allow
this to bubble up.
You should use Monitor.protect
to do any necessary cleanup.
val negotiate : log:Async_smtp__.Mail_log.t ‑> session ‑> send_challenge_and_expect_response:(string ‑> string Async_smtp.Smtp_monad.t) ‑> session Async_smtp.Smtp_monad.t
perform the server side authentication negotiation.
send_challenge_and_expect_response
should be used to perform a challenge/response
exchange. If the client sent an initial response then the initial challenge will
be quietly discarded.
If the authentication flow has been completed, return Allow session
or Deny msg
as appropriate to complete the flow.
If the negotiation fails for any reason (e.g. malformed client message or
network error) send_challenge_and_expect_response
will raise, you should allow
this to bubble up.
You should use Monitor.protect
to do any necessary cleanup.