Index of values


(>>=) [Conex_utils]
r >>= f is f a unless r is an Error, which is propagated.

A
add [Conex_resource.Package]
add t name adds name to t.releases.
add [Conex_resource.Authorisation]
add t id adds id to t.authorised.
add [Conex_resource.Team]
add t id adds id to team.
add_id [Conex_repository]
add_id repo id adds the id to the repo.
add_index [Conex_repository]
add_index repo author applies Conex_repository.add_valid_resource to each member of the resource list from author.
add_team [Conex_repository]
add_team repo team adds the team to the repo.
add_valid_resource [Conex_repository]
add_valid_resource id repo r marks resource r valid under id in repo.
alg_to_string [Conex_resource.Digest]
alg_to_string alg is a string representing the digest algorithm.
alg_to_string [Conex_resource.Signature]
alg_to_string sig is a string representing the signature algorithm.
alg_to_string [Conex_resource.Key]
alg_to_string pub is a string representing the key algorithm.
apply [Conex_diff_provider]
approve [Conex_resource.Author]
approve t r adds r to t.resources, and removes r from t.queued.
authorisation_of_package [Conex_opam_repository_layout]
authorisation_of_package n returns either Some n', where n' is the prefix of n up until the first '.' (which separates package name from version suffix), or None.
authorisation_path [Conex_opam_repository_layout]
authorisation_path name is the full path where the "authorisation" file for name is stored.
authorised [Conex_repository]
authorised repo auth id is true if id is a member of auth or member of a team which is authorised.

B
b64sha256 [Conex_crypto.VERIFY_BACK]
b64sha356 str computes the SHA256 digest of str and converts it to base64.
bits [Conex_crypto.SIGN]
bits pub returns the bit size of the public key.
bits_rsa [Conex_crypto.SIGN_BACK]
bits_rsa pub is the number of bits in pub.

C
categorise [Conex_opam_repository_layout]
categorise path identifies which resource owns the given path.
checksum_equal [Conex_resource.Release]
c_equal c c' is true if the filenames are equal, and the digests are equal.
collect_dir [Conex_unix_persistency]
collect_dir path are the inhabitants of path or error.
compare [Conex_utils.Uint]
compare a b is res: 0 if a = b, -1 if a < b, 1 if a > b
compare [Conex_utils.String]
compare a b compares a with b using String.compare.
compare_account [Conex_resource.Author]
compare_account a b compares accounts a and b.
compare_insensitive [Conex_utils.String]
compare_insensitive a b first converts a and b to lowercase strings, then uses compare.
compare_t [Conex_resource.Release]
compare_t t t' compares t and t', either they are equal, their names are different, or their checksum maps differ.
compute_package [Conex_io]
compute_package t create name computes the package by listing all subdirectories of name.
compute_release [Conex_io]
compute_release digestf t now name computes the release by computing checksums of all files and directories of name using digestf.
concat [Conex_utils.String]
concat sep xs concatenates all xs, using sep as separator.
contains [Conex_resource.Author]
contains ~queued author resource is true if resource is in author.resources (or author.queued if queued is true (default: false).
contains [Conex_repository]
contains ~queued author name typ data is true if data named name of typ is a member in the list of resources of author.
counter [Conex_resource.Header]
counter ctr wrap prints ctr, wrap to a string containing the counter and wraps (unless zero).
cut [Conex_utils.String]
cut sep str cuts the string str at the first occurence of sep into its left and right parts.
cuts [Conex_utils.String]
cuts sep str separates str into multiple substrings, stripping out the separating character sep.

D
data_path [Conex_opam_repository_layout]
data_path is the path from repository root to packages, "packages".
debug [Conex_utils.LOGS]
debug k logs k, a to the debug stream
decimal [Conex_utils.Uint]
decimal t is t converted to a string in decimal (%Lu).
decode [Conex_opam_encoding]
decode str is either Ok t or Error str, the input is a string in opam format.
diffs_to_components [Conex_diff]
diffs_to_components diffs categorises the diffs into sets of modified ids, authorisations, package resources, and a map of releases.
digest [Conex_crypto.VERIFY]
digest wire is the digest of the string encoding of wire.
digestf [Conex_repository]

E
encode [Conex_opam_encoding]
encode t encodes t into a string in opam format.
equal [Conex_resource.Release]
equal t t' is true if the name is equal and the checksum maps are equal.
equal [Conex_resource.Package]
equal t t' is true if the names are equal and the set of releases.
equal [Conex_resource.Authorisation]
equal t t' is true if the names are equal and the set of authorised ids are equal.
equal [Conex_resource.Team]
equal t t' is true if the set of members is equal and the name is equal.
equal [Conex_resource.Author]
equal t t' is true if name, keys, accounts, resource lists, and queued are equal.
equal [Conex_resource.Digest]
equal a b is true when a and b use the same algorithm type, and have the same value.
equal [Conex_resource.Key]
equal a b is true if both public keys are the same.
exists [Conex_unix_persistency]
exists is Sys.exists.

F
file [Conex_diff]
file diff is mine_name unless this is "/dev/null", in which case their_name is used.
file_type [Conex_unix_persistency]
file_type path is the file type of path or error.
filter_map [Conex_utils]
filter_map f xs is xs', a list which contains all elements where f resulted in Some _.
find [Conex_resource.Release]
find m k looks k up in m.
find_ids [Conex_unix_private_key]
find_ids () is a (id, path) list of private keys present.
find_team [Conex_repository]
find_team repo id returns the members of the team id or None if there is no such team.
fold [Conex_resource.Release]
fold f m acc folds f over m.
foldM [Conex_utils]
foldM f a xs applies f to each element of xs, returns either Ok and the produced value, or Error.
foldS [Conex_utils]
foldS f a s applies f to each element of the set s, returns either Ok and the produced value, or Error.
fs_provider [Conex_unix_provider]
fs_provider path is a data provider backed by a file system or error.
fs_ro_provider [Conex_unix_provider]
fs_ro_provider path is a read-only data provider backed by a file system or error.

G
generate [Conex_crypto.SIGN]
generate ?bits created () generates a bits sized private key.
generate_rsa [Conex_crypto.SIGN_BACK]
generate_rsa ~bits () generates an RSA private key with bits size.
get [Conex_utils.String]
get str offset retrieves the character at offset in str.
guard [Conex_utils]
guard pred err is either Ok () (if pred holds), Error err otherwise.

I
id_equal [Conex_resource]
id_equal a b is the result of a case insensitive comparison of a and b.
id_file [Conex_opam_repository_layout]
id_file id is the path to the specific id (thus "id/foo" for identifier foo.
id_loaded [Conex_repository]
id_loaded repo id is true if id has been loaded.
id_path [Conex_opam_repository_layout]
id_path is the path where identities are stored, at the moment "id".
ids [Conex_io]
ids t are all ids present on t.
info [Conex_utils.LOGS]
info k logs k, a to the information stream
is_ascii [Conex_utils.String]
is_ascii ~p str is true if all characters in str are ASCII characters: 0-9, a-z, A-Z OR satisfy p.
is_prefix [Conex_utils.String]
is_prefix ~prefix str is true if str begins with prefix, false otherwise.
is_suffix [Conex_utils.String]
is_suffix ~suffix str is true if str ends with suffix, false otherwise.

K
keyid [Conex_crypto.VERIFY]
keyid id key is the unique fingerprint of key.

L
length [Conex_utils.String]
length str is the byte length of str.

M
mkdir [Conex_unix_persistency]
mkdir ~mode name creates a directory name, or errors.
monoton_author [Conex_repository]
monoton_author ~old ~now repo checks that the counter increased.
monoton_authorisation [Conex_repository]
monoton_authorisation ~old ~now repo checks that the counter increased.
monoton_package [Conex_repository]
monoton_package ~old ~now repo checks that the counter increased.
monoton_release [Conex_repository]
monoton_release ~old ~now repo checks that the counter increased.
monoton_team [Conex_repository]
monoton_team ~old ~now repo checks that the counter increased.

N
name_equal [Conex_resource]
name_equal a b is the result of a case insensitive comparison of a and b.
next_id [Conex_resource.Author]
next_id t is the next free identitifer of the resource list index.

O
of_float [Conex_utils.Uint]
of_float f is Int64.of_float f if f >= 0.0.
of_int [Conex_utils.Uint]
of_int i is Int64.of_int i if i >= 0.
of_int_exn [Conex_utils.Uint]
of_int_exn i is Int64.of_int i if i >= 0, raises an exception on failure.
of_string [Conex_utils.Uint]
of_string s attempts to parse the string s as hexadecimal encoded number using Int64.of_string "0x" ^ s.
of_wire [Conex_resource.Release]
of_wire w converts w to a release or error.
of_wire [Conex_resource.Package]
of_wire w converts w to a package or error.
of_wire [Conex_resource.Authorisation]
of_wire w converts w to an authorisation or error.
of_wire [Conex_resource.Team]
of_wire w converts w to a team or error.
of_wire [Conex_resource.Author]
of_wire w converts w to an author or error.
of_wire [Conex_resource.Digest]
of_wire w converts w to a digest or error.
of_wire [Conex_resource.Signature]
of_wire w converts w to a signature or error.
of_wire [Conex_resource.Key]
of_wire w converts w to a key or error.
of_wire [Conex_resource.Header]
of_wire t converts t into a Conex_resource.Header.t or error.

P
package_path [Conex_opam_repository_layout]
package_path name is the full path where the "package" file for name is stored.
packages [Conex_io]
packages t are all packages present on t.
patch [Conex_diff]
patch data diff is data', which is the result of applying diff to data.
path_to_string [Conex_utils]
path_to_string path is String.concat "/"
    path
.
pp [Conex_io]
pp t is a pretty printer for t.
pp [Conex_resource.Release]
pp is a pretty printer.
pp [Conex_resource.Package]
pp is a pretty printer.
pp [Conex_resource.Authorisation]
pp is a pretty printer.
pp [Conex_resource.Team]
pp is a pretty printer.
pp [Conex_resource.Author]
pp is a pretty printer.
pp [Conex_resource.Digest]
pp digest is a pretty printer for digest.
pp [Conex_resource.Signature]
pp sig is a pretty printer for a signature.
pp [Conex_resource.Key]
pp is a pretty printer for public keys
pp [Conex_resource.Header]
pp is a pretty printer.
pp_account [Conex_resource.Author]
pp_account a is a pretty printer.
pp_c [Conex_resource.Release]
pp_c is a pretty printer.
pp_cc_err [Conex_io]
pp_cc_err is a pretty printer for Conex_io.cc_err.
pp_conflict [Conex_repository]
pp_conflict is a pretty printer for Conex_repository.conflict.
pp_err [Conex_unix_private_key]
pp_err err pretty prints err.
pp_error [Conex_repository]
pp_error prints validation errors.
pp_id [Conex_resource]
pp_id id is a pretty printer for identifier.
pp_list [Conex_utils]
pp_list pp is a pretty printer for a list (surrounded by square brackets, elements are separated by semicolon).
pp_m_err [Conex_repository]
pp_m_err is a pretty printer for Conex_repository.m_err.
pp_name [Conex_resource]
pp_name name is a pretty printer for name.
pp_ok [Conex_repository]
pp_ok pretty prints validation success
pp_r [Conex_resource.Author]
pp_r is a pretty printer.
pp_r_err [Conex_io]
pp_r_err is a pretty printer for Conex_io.r_err.
pp_typ [Conex_resource]
pp_resource pp is a pretty printer for resource.
pp_verification_error [Conex_crypto]
pp_verification_error is a pretty printer for verification_error.
prep [Conex_resource.Release]
prep t increments t.counter, returns carry as second component.
prep [Conex_resource.Package]
prep t increments t.counter, the carry bit is returned as second component.
prep [Conex_resource.Authorisation]
prep t increments t.counter, returns the carry bit as second component.
prep [Conex_resource.Team]
prep t prepares increments t.counter.
prep_sig [Conex_resource.Author]
prep_sig t increments t.counter.
pub_of_priv [Conex_crypto.SIGN]
pub_of_priv priv extracts the public key from the private.
pub_of_priv_rsa [Conex_crypto.SIGN_BACK]
pub_of_priv_rsa priv is either Ok pub or Error str.

Q
queue [Conex_resource.Author]
queue t r adds r to t.queued.
quorum [Conex_repository]
quorum repo is the configured quorum.

R
r [Conex_resource.Author]
r idx name typ dgst is a constructor.
r_equal [Conex_resource.Author]
r_equal r r' is true is the name, type, and digest of r and r' are equal.
raw_digest [Conex_crypto.VERIFY]
raw_digest str is the digest of the given str.
read [Conex_unix_private_key]
read_private_key prov id is either Ok priv or an Error.
read_author [Conex_io]
read_author t id reads and parses the given author on t.
read_authorisation [Conex_io]
read_authorisation t name reads and parses the authorisation for the given name on t.
read_file [Conex_unix_persistency]
read_file path is the contents of path or error.
read_id [Conex_io]
read_id t id reads and parses the given identifier on t.
read_package [Conex_io]
read_package t name reads and parses the package for the given name on t.
read_release [Conex_io]
read_release t name.version reads and parses the release for the given name.version on t.
read_team [Conex_io]
read_team t id reads and parses the given team on t.
release_dir [Conex_opam_repository_layout]
release_dir name is data_dir; Conex_opam_repository_layout.authorisation_of_package (if None, name), followed by name.
release_filename [Conex_opam_repository_layout]
release_filename is "release".
release_path [Conex_opam_repository_layout]
release_path name is release_dir @ release_filename.
releases [Conex_io]
releases t name are all releases of name on t.
remove [Conex_unix_persistency]
remove is Sys.remove or error.
remove [Conex_resource.Package]
remove t name removes name from t.releases.
remove [Conex_resource.Authorisation]
remove t id removed id from t.authorised.
remove [Conex_resource.Team]
remove t id removes id from team.
rename [Conex_unix_persistency]
rename is Sys.rename or error.
replace_sig [Conex_resource.Author]
replace_sig t (k, s) adds k,s to t.keys, filtering existing pairs where the same public key is used.
repository [Conex_repository]
repository ~quorum ~strict digest () is a fresh empty repository.
reset [Conex_resource.Author]
reset t drops t.queued.

S
s_of_list [Conex_utils]
s_of_list xs transforms the string list xs to a set.
set_counter [Conex_resource.Release]
set_counter t ctr sets t.counter to ctr.
sign [Conex_crypto.SIGN]
sign created author priv uses Conex_resource.Author.prep_sig to prepare author (incrementing counter, moving queued resource to signed).
sign_rsa_pss [Conex_crypto.SIGN_BACK]
sign_rsa_pss ~key data is either Ok signature or Error str.
slice [Conex_utils.String]
slice ~start ~stop str slices str into a smaller piece, starting at offset start (default 0), ending at stop (default String.length).
string_to_alg [Conex_resource.Digest]
string_to_alg str is either Some alg or None.
string_to_alg [Conex_resource.Signature]
string_to_alg str is either Some alg or None.
string_to_alg [Conex_resource.Key]
string_to_alg str is either Some alg, or None.
string_to_path [Conex_utils]
string_to_path str is String.cuts "/"
    str
.
string_to_typ [Conex_resource]
string_to_resource str is either Some resource or None.
succ [Conex_utils.Uint]
succ t is carry, next: if carry is true, an overflow happened.

T
t [Conex_resource.Release]
t ~counter ~wraps created name checksums is a constructor.
t [Conex_resource.Package]
t ~counter ~wraps ~releases created name is a constructor.
t [Conex_resource.Authorisation]
t ~counter ~wraps ~authorised created name is a constructor.
t [Conex_resource.Team]
t ~counter ~wraps ~members created id is a constructor for a team.
t [Conex_resource.Author]
t ~counter ~wraps ~accounts ~keys ~resources ~queued created name is a constructor.
timestamp [Conex_resource.Header]
timestamp uint prints uint to a string as a timestamp (decimal as seconds since UNIX epoch).
to_diffs [Conex_diff]
to_diffs str decodes the given patch into a list of diff.
to_lower [Conex_utils.String]
to_lower str converts all printable ASCII characters to lowercase.
to_string [Conex_resource.Digest]
to_string digest is a string representation of digest.
to_string [Conex_resource.Wire]
to_string t is a string representing t.
to_string [Conex_utils.Uint]
to_string t is t converted to a string in hexadecimal (%LX).
trim [Conex_utils.String]
trim str removes leading and trailing whitespaces of str.
typ_equal [Conex_resource]
resource_equal a b is true if they are the same, otherwise false.
typ_of_wire [Conex_resource]
typ_to_string [Conex_resource]
resource_to_string res is the string representation of res.

V
valid_id [Conex_opam_repository_layout]
valid_id id returns true if id is valid: this calls String.is_ascii id.
valid_name [Conex_opam_repository_layout]
valid_name name returns true if name is valid: either it is '-' or '_' or String.is_ascii name.
validate_account [Conex_repository]
validate_account repo author account validates account of author: a quorum of janitors have to approve an account.
validate_author [Conex_repository]
validate_author repo author validates author: at least one public key must be approved by a quorum of janitors or the resource list is empty and it is approved by a quorum of janitors.
validate_authorisation [Conex_repository]
validate_authorisation repo auth validates auth: a quorum of janitors have to approve an authorisation, and all authorised ids have to be present in repo.
validate_key [Conex_repository]
validate_key repo id key validates key of id: a quorum of janitors have to approve a key.
validate_package [Conex_repository]
validate_package repo ~on_disk auth package validates package: an Conex_repository.authorised identity must approve the package in repo, all releases must be prefixed with the package name, and if on_disk is given, the list of releases have to be identical.
validate_release [Conex_repository]
validate_release repo ~on_disk auth package release validates release: an Conex_repository.authorised (using auth) identity must approve the release in repo, it must be part of the releases of package, and if on_disk is given, the files listed must be equal, as well as their checksums.
validate_team [Conex_repository]
validate_team repo team validates team: a quorum of janitors have to approve a team, and all team members must be in the repository.
verify [Conex_crypto.VERIFY]
verify author verifies all signatures of author: they have to sign the current resource list.
verify_diff [Conex.Make]
verify_diff ~ignore_missing io repository patch first parses the patch and applies it.
verify_id [Conex.Make]
verify_id io repo id reads id from io unless id is already part of repo.
verify_ids [Conex.Make]
verify_ids ~ids io repo folds over ids (default: all ids present on io), calling verify_id.
verify_janitors [Conex.Make]
verify_janitors ~valid io repo reads the team "janitors" from io, and all its team members.
verify_package [Conex.Make]
verify_package ~ignore_missing io repo name reads and verifies the authorisation of the package name.
verify_rsa_pss [Conex_crypto.VERIFY_BACK]
verify_rsa_pss ~key ~data ~signature returns Ok () on success, otherwise a verification_error.

W
warn [Conex_utils.LOGS]
warn k logs k, a to the warning stream
warn_count [Conex_utils.LOGS]
warn_count () is the number of warning messages.
wire [Conex_resource.Release]
wire t is the wire representation of t.
wire [Conex_resource.Package]
wire t is the wire representation of t, as stored on disk.
wire [Conex_resource.Authorisation]
wire t is the wire representation of t, written to disk.
wire [Conex_resource.Team]
wire t is the wire representation of t.
wire [Conex_resource.Author]
wire t is the raw wire representation of t, as written to disk.
wire [Conex_resource.Signature]
wire id hdr data extends the given data with the header and id to a string which is then signed.
wire [Conex_resource.Key]
wire id key is w, the wire representation used for approving key.
wire [Conex_resource.Header]
wire t is the wire representation of t.
wire_account [Conex_resource.Author]
wire_account id a is the wire representation of a.
wire_raw [Conex_resource.Author]
wire_raw t is the raw wire representation of t, including only header and resource list.
wire_raw [Conex_resource.Digest]
wire_raw t is the wire representation of t, used by Conex_resource.Author.wire and Conex_resource.Release.wire.
wire_raw [Conex_resource.Signature]
wire_raw t is the wire representation of t, used by Conex_resource.Author.wire.
wire_raw [Conex_resource.Key]
wire_raw t is the raw wire representation of t used by Conex_resource.Author.wire.
write [Conex_unix_private_key]
write_private_key prov id key writes the given key to disk (in "~/.conex/", using the basedir of prov as file prefix.
write_author [Conex_io]
write_author t author writes the given author on t.
write_authorisation [Conex_io]
write_authorisation t a writes the given authorisation on t.
write_file [Conex_unix_persistency]
write_file ~mode path data writes data under path or error.
write_package [Conex_io]
write_package t p writes the given package on t.
write_release [Conex_io]
write_release t r writes the given release on t.
write_replace [Conex_unix_persistency]
write_replace ~mode path data writes data under path.tmp and renames path.tmp to path or error.
write_team [Conex_io]
write_team t team writes the given team on t.

Z
zero [Conex_utils.Uint]
zero is the smallest member.