package awa

  1. Overview
  2. Docs
val src : Logs.src
module Log : Logs.LOG
type event =
  1. | Channel_exec of int32 * string
  2. | Channel_subsystem of int32 * string
  3. | Channel_data of int32 * Cstruct.t
  4. | Channel_eof of int32
  5. | Disconnected of string
  6. | Pty of string * int32 * int32 * int32 * int32 * string
  7. | Pty_set of int32 * int32 * int32 * int32
  8. | Set_env of string * string
  9. | Start_shell of int32
val pp_event : Stdlib.Format.formatter -> event -> unit
type t = {
  1. client_version : string option;
  2. server_version : string;
  3. client_kexinit : Ssh.kexinit option;
  4. server_kexinit : Ssh.kexinit;
  5. neg_kex : Kex.negotiation option;
  6. ext_info : bool;
  7. host_key : Hostkey.priv;
  8. session_id : Cstruct.t option;
  9. keys_ctos : Kex.keys;
  10. keys_stoc : Kex.keys;
  11. new_keys_ctos : Kex.keys option;
  12. new_keys_stoc : Kex.keys option;
  13. keying : bool;
  14. key_eol : Mtime.t option;
  15. expect : Ssh.message_id option;
  16. auth_state : Auth.state;
  17. user_db : Auth.db;
  18. channels : Channel.db;
  19. ignore_next_packet : bool;
  20. dh_group : (Mirage_crypto_pk.Dh.group * int32 * int32 * int32) option;
}
val guard_msg : t -> Ssh.message -> (unit, string) Stdlib.result
val host_key_algs : Hostkey.priv -> Hostkey.alg list
val make : Hostkey.priv -> Auth.db -> t * Ssh.message list
val of_new_keys_ctos : t -> (t, string) Stdlib.result
val of_new_keys_stoc : t -> (t, string) Stdlib.result
val rekey : t -> (t * Ssh.message) option
val should_rekey : t -> Mtime.t -> bool
val maybe_rekey : t -> Mtime.t -> (t * Ssh.message) option
val pop_msg2 : t -> Cstruct.t -> (t * Ssh.message option * Cstruct.t, string) Stdlib.result
val make_noreply : 'a -> ('b * 'c list * 'd option, 'e) Stdlib.result
val make_reply : 'a -> 'b -> ('c * 'd list * 'e option, 'f) Stdlib.result
val make_replies : 'a -> 'b -> ('c * 'd * 'e option, 'f) Stdlib.result
val make_event : 'a -> 'b -> ('c * 'd list * 'e option, 'f) Stdlib.result
val make_reply_with_event : 'a -> 'b -> 'c -> ('d * 'e list * 'f option, 'g) Stdlib.result
val make_disconnect : 'a -> Ssh.disconnect_code -> string -> ('b * Ssh.message list * event option, 'c) Stdlib.result
val input_userauth_request : t -> string -> string -> Ssh.auth_method -> (t * Ssh.message list * event option, string) Stdlib.result
val input_channel_open : t -> int32 -> int32 -> int32 -> Ssh.channel_open -> (t * Ssh.message list * 'a option, 'b) Stdlib.result
val input_channel_request : t -> Channel.Channel_map.key -> bool -> Ssh.channel_request -> (t * Ssh.message list * event option, 'a) Stdlib.result
val input_msg : t -> Ssh.message -> Mtime.t -> (t * Ssh.message list * event option, string) Stdlib.result
val output_msg : t -> Ssh.message -> (t * Cstruct.t, string) Stdlib.result
val output_channel_data : t -> Channel.Channel_map.key -> Cstruct.t -> (t * Ssh.message list, string) Stdlib.result