├── .editorconfig ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── Cargo.toml ├── LICENSE ├── README.md ├── config.example.yaml ├── haematite_api ├── Cargo.toml ├── README.md └── src │ └── lib.rs ├── haematite_bin ├── Cargo.toml ├── README.md └── src │ ├── api.rs │ ├── main.rs │ ├── s2s.rs │ └── tls.rs ├── haematite_dal ├── Cargo.toml ├── README.md └── src │ ├── lib.rs │ └── user_store.rs ├── haematite_models ├── Cargo.toml ├── README.md ├── src │ ├── config │ │ └── mod.rs │ ├── irc │ │ ├── ban.rs │ │ ├── channel.rs │ │ ├── error.rs │ │ ├── hostmask.rs │ │ ├── membership.rs │ │ ├── mod.rs │ │ ├── network.rs │ │ ├── oper.rs │ │ ├── server.rs │ │ ├── topic.rs │ │ └── user.rs │ ├── lib.rs │ └── meta │ │ ├── mod.rs │ │ ├── permissions │ │ ├── mod.rs │ │ ├── path.rs │ │ └── tree.rs │ │ └── user.rs └── tests │ ├── path.rs │ └── tree.rs ├── haematite_s2s ├── Cargo.toml ├── README.md └── src │ ├── handler.rs │ ├── lib.rs │ ├── line.rs │ ├── rfc1459.rs │ ├── ts6 │ ├── away.rs │ ├── ban.rs │ ├── bmask.rs │ ├── capab.rs │ ├── chghost.rs │ ├── ebmask.rs │ ├── encap │ │ ├── mod.rs │ │ └── su.rs │ ├── euid.rs │ ├── join.rs │ ├── kill.rs │ ├── mod.rs │ ├── mode.rs │ ├── nick.rs │ ├── oper.rs │ ├── part.rs │ ├── pass.rs │ ├── ping.rs │ ├── quit.rs │ ├── server.rs │ ├── sid.rs │ ├── sjoin.rs │ ├── squit.rs │ ├── tb.rs │ ├── tmode.rs │ ├── topic.rs │ └── util │ │ ├── channel.rs │ │ ├── mod.rs │ │ └── mode.rs │ └── util │ ├── mod.rs │ ├── mode.rs │ ├── or.rs │ └── str.rs └── haematite_ser ├── Cargo.toml ├── README.md ├── src ├── error.rs ├── lib.rs ├── map_key.rs ├── serialize_map.rs ├── serialize_seq.rs ├── serialize_struct.rs ├── serialize_struct_variant.rs ├── serialize_tuple.rs ├── serialize_tuple_struct.rs ├── serialize_tuple_variant.rs └── wrap.rs └── tests ├── update_with.rs └── wrap.rs /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/.gitignore -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/README.md -------------------------------------------------------------------------------- /config.example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/config.example.yaml -------------------------------------------------------------------------------- /haematite_api/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_api/Cargo.toml -------------------------------------------------------------------------------- /haematite_api/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_api/README.md -------------------------------------------------------------------------------- /haematite_api/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_api/src/lib.rs -------------------------------------------------------------------------------- /haematite_bin/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_bin/Cargo.toml -------------------------------------------------------------------------------- /haematite_bin/README.md: -------------------------------------------------------------------------------- 1 | # haemtite's binary package 2 | -------------------------------------------------------------------------------- /haematite_bin/src/api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_bin/src/api.rs -------------------------------------------------------------------------------- /haematite_bin/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_bin/src/main.rs -------------------------------------------------------------------------------- /haematite_bin/src/s2s.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_bin/src/s2s.rs -------------------------------------------------------------------------------- /haematite_bin/src/tls.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_bin/src/tls.rs -------------------------------------------------------------------------------- /haematite_dal/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_dal/Cargo.toml -------------------------------------------------------------------------------- /haematite_dal/README.md: -------------------------------------------------------------------------------- 1 | # haematite's data access layer 2 | -------------------------------------------------------------------------------- /haematite_dal/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_dal/src/lib.rs -------------------------------------------------------------------------------- /haematite_dal/src/user_store.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_dal/src/user_store.rs -------------------------------------------------------------------------------- /haematite_models/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/Cargo.toml -------------------------------------------------------------------------------- /haematite_models/README.md: -------------------------------------------------------------------------------- 1 | # haematite's data models 2 | -------------------------------------------------------------------------------- /haematite_models/src/config/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/config/mod.rs -------------------------------------------------------------------------------- /haematite_models/src/irc/ban.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/irc/ban.rs -------------------------------------------------------------------------------- /haematite_models/src/irc/channel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/irc/channel.rs -------------------------------------------------------------------------------- /haematite_models/src/irc/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/irc/error.rs -------------------------------------------------------------------------------- /haematite_models/src/irc/hostmask.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/irc/hostmask.rs -------------------------------------------------------------------------------- /haematite_models/src/irc/membership.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/irc/membership.rs -------------------------------------------------------------------------------- /haematite_models/src/irc/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/irc/mod.rs -------------------------------------------------------------------------------- /haematite_models/src/irc/network.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/irc/network.rs -------------------------------------------------------------------------------- /haematite_models/src/irc/oper.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/irc/oper.rs -------------------------------------------------------------------------------- /haematite_models/src/irc/server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/irc/server.rs -------------------------------------------------------------------------------- /haematite_models/src/irc/topic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/irc/topic.rs -------------------------------------------------------------------------------- /haematite_models/src/irc/user.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/irc/user.rs -------------------------------------------------------------------------------- /haematite_models/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/lib.rs -------------------------------------------------------------------------------- /haematite_models/src/meta/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/meta/mod.rs -------------------------------------------------------------------------------- /haematite_models/src/meta/permissions/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/meta/permissions/mod.rs -------------------------------------------------------------------------------- /haematite_models/src/meta/permissions/path.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/meta/permissions/path.rs -------------------------------------------------------------------------------- /haematite_models/src/meta/permissions/tree.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/meta/permissions/tree.rs -------------------------------------------------------------------------------- /haematite_models/src/meta/user.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/src/meta/user.rs -------------------------------------------------------------------------------- /haematite_models/tests/path.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/tests/path.rs -------------------------------------------------------------------------------- /haematite_models/tests/tree.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_models/tests/tree.rs -------------------------------------------------------------------------------- /haematite_s2s/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/Cargo.toml -------------------------------------------------------------------------------- /haematite_s2s/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/README.md -------------------------------------------------------------------------------- /haematite_s2s/src/handler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/handler.rs -------------------------------------------------------------------------------- /haematite_s2s/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/lib.rs -------------------------------------------------------------------------------- /haematite_s2s/src/line.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/line.rs -------------------------------------------------------------------------------- /haematite_s2s/src/rfc1459.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/rfc1459.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/away.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/away.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/ban.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/ban.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/bmask.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/bmask.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/capab.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/capab.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/chghost.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/chghost.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/ebmask.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/ebmask.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/encap/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/encap/mod.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/encap/su.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/encap/su.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/euid.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/euid.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/join.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/join.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/kill.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/kill.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/mod.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/mode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/mode.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/nick.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/nick.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/oper.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/oper.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/part.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/part.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/pass.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/pass.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/ping.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/ping.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/quit.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/quit.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/server.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/sid.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/sid.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/sjoin.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/sjoin.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/squit.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/squit.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/tb.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/tb.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/tmode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/tmode.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/topic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/topic.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/util/channel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/util/channel.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/util/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/util/mod.rs -------------------------------------------------------------------------------- /haematite_s2s/src/ts6/util/mode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/ts6/util/mode.rs -------------------------------------------------------------------------------- /haematite_s2s/src/util/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/util/mod.rs -------------------------------------------------------------------------------- /haematite_s2s/src/util/mode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/util/mode.rs -------------------------------------------------------------------------------- /haematite_s2s/src/util/or.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/util/or.rs -------------------------------------------------------------------------------- /haematite_s2s/src/util/str.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_s2s/src/util/str.rs -------------------------------------------------------------------------------- /haematite_ser/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_ser/Cargo.toml -------------------------------------------------------------------------------- /haematite_ser/README.md: -------------------------------------------------------------------------------- 1 | # haematite's permission-aware serialization proxy 2 | -------------------------------------------------------------------------------- /haematite_ser/src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_ser/src/error.rs -------------------------------------------------------------------------------- /haematite_ser/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_ser/src/lib.rs -------------------------------------------------------------------------------- /haematite_ser/src/map_key.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_ser/src/map_key.rs -------------------------------------------------------------------------------- /haematite_ser/src/serialize_map.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_ser/src/serialize_map.rs -------------------------------------------------------------------------------- /haematite_ser/src/serialize_seq.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_ser/src/serialize_seq.rs -------------------------------------------------------------------------------- /haematite_ser/src/serialize_struct.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_ser/src/serialize_struct.rs -------------------------------------------------------------------------------- /haematite_ser/src/serialize_struct_variant.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_ser/src/serialize_struct_variant.rs -------------------------------------------------------------------------------- /haematite_ser/src/serialize_tuple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_ser/src/serialize_tuple.rs -------------------------------------------------------------------------------- /haematite_ser/src/serialize_tuple_struct.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_ser/src/serialize_tuple_struct.rs -------------------------------------------------------------------------------- /haematite_ser/src/serialize_tuple_variant.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_ser/src/serialize_tuple_variant.rs -------------------------------------------------------------------------------- /haematite_ser/src/wrap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_ser/src/wrap.rs -------------------------------------------------------------------------------- /haematite_ser/tests/update_with.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_ser/tests/update_with.rs -------------------------------------------------------------------------------- /haematite_ser/tests/wrap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Libera-Chat/haematite/HEAD/haematite_ser/tests/wrap.rs --------------------------------------------------------------------------------