Module Async_smtp__.Auth.Plain.Server

Parameters

Session : sig ... end

Signature

type session = Session.t
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.