forked from mirrors/relay
Generate XsdAnyUri rather than String, remove XsdString
This commit is contained in:
parent
12660a6243
commit
d5cf29f237
13 changed files with 170 additions and 150 deletions
178
Cargo.lock
generated
178
Cargo.lock
generated
|
@ -9,7 +9,7 @@ dependencies = [
|
||||||
"activitystreams-derive",
|
"activitystreams-derive",
|
||||||
"chrono",
|
"chrono",
|
||||||
"mime",
|
"mime",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"url",
|
"url",
|
||||||
|
@ -32,17 +32,17 @@ version = "0.1.0"
|
||||||
source = "git+https://git.asonix.dog/asonix/activitystreams-ext#e5c97f4ea9f60e49bc7ff27fb0fb515d3190fd25"
|
source = "git+https://git.asonix.dog/asonix/activitystreams-ext#e5c97f4ea9f60e49bc7ff27fb0fb515d3190fd25"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"activitystreams-new",
|
"activitystreams-new",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "activitystreams-new"
|
name = "activitystreams-new"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://git.asonix.dog/asonix/activitystreams-sketch#2cb0ee89d1a2c827d3a78c08342e36bbf53f52d9"
|
source = "git+https://git.asonix.dog/asonix/activitystreams-sketch#d37714ff57820fb80b2c0799153a1a8d56699ecb"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"activitystreams",
|
"activitystreams",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"typed-builder",
|
"typed-builder",
|
||||||
]
|
]
|
||||||
|
@ -122,7 +122,7 @@ dependencies = [
|
||||||
"pin-project",
|
"pin-project",
|
||||||
"rand",
|
"rand",
|
||||||
"regex",
|
"regex",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"serde_urlencoded",
|
"serde_urlencoded",
|
||||||
"sha-1",
|
"sha-1",
|
||||||
|
@ -150,7 +150,7 @@ dependencies = [
|
||||||
"http",
|
"http",
|
||||||
"log",
|
"log",
|
||||||
"regex",
|
"regex",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -296,7 +296,7 @@ dependencies = [
|
||||||
"pin-project",
|
"pin-project",
|
||||||
"regex",
|
"regex",
|
||||||
"rustls",
|
"rustls",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"serde_urlencoded",
|
"serde_urlencoded",
|
||||||
"socket2",
|
"socket2",
|
||||||
|
@ -324,7 +324,7 @@ checksum = "abb66d471f2af5a9ea7b48ea4456f117c56cd1b2348e52ae8d3bc95cddeebf4c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"actix-http",
|
"actix-http",
|
||||||
"actix-web",
|
"actix-web",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
]
|
]
|
||||||
|
@ -409,18 +409,18 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "async-mutex"
|
name = "async-mutex"
|
||||||
version = "1.0.1"
|
version = "1.1.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f2158da821e7ba10beee4c01ad1d8f7f49a30675f8761106dd7d569284024d40"
|
checksum = "7685ce9f0bbc046731a469dd6e17361b0403aa79e6e15c9492e15f3118dfe196"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"event-listener",
|
"event-listener",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "async-trait"
|
name = "async-trait"
|
||||||
version = "0.1.31"
|
version = "0.1.32"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "26c4f3195085c36ea8d24d32b2f828d23296a9370a28aa39d111f6f16bef9f3b"
|
checksum = "0eb7f9ad01405feb3c1dac82463038945cf88eea4569acaf3ad662233496dd96"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
@ -469,7 +469,7 @@ dependencies = [
|
||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
"rand",
|
"rand",
|
||||||
"rustls",
|
"rustls",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"serde_urlencoded",
|
"serde_urlencoded",
|
||||||
]
|
]
|
||||||
|
@ -498,7 +498,7 @@ dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"num_cpus",
|
"num_cpus",
|
||||||
"rand",
|
"rand",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tokio",
|
"tokio",
|
||||||
|
@ -517,7 +517,7 @@ dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"futures",
|
"futures",
|
||||||
"log",
|
"log",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tokio",
|
"tokio",
|
||||||
|
@ -610,9 +610,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bumpalo"
|
name = "bumpalo"
|
||||||
version = "3.3.0"
|
version = "3.4.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5356f1d23ee24a1f785a56d1d1a5f0fd5b0f6a0c0fb2412ce11da71649ab78f6"
|
checksum = "2e8c087f005730276d1096a652e92a8bacee2e2472bcc9715a74d2bec38b5820"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "byte-tools"
|
name = "byte-tools"
|
||||||
|
@ -667,7 +667,7 @@ checksum = "80094f509cf8b5ae86a4966a39b3ff66cd7e2a3e594accec3743ff3fabeab5b2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"num-integer",
|
"num-integer",
|
||||||
"num-traits 0.2.11",
|
"num-traits 0.2.11",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"time 0.1.43",
|
"time 0.1.43",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -704,7 +704,7 @@ dependencies = [
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
"nom",
|
"nom",
|
||||||
"rust-ini",
|
"rust-ini",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde-hjson",
|
"serde-hjson",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"toml",
|
"toml",
|
||||||
|
@ -733,9 +733,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "copyless"
|
name = "copyless"
|
||||||
version = "0.1.4"
|
version = "0.1.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6ff9c56c9fb2a49c05ef0e431485a22400af20d33226dc0764d891d09e724127"
|
checksum = "a2df960f5d869b2dd8532793fde43eb5427cceb126c929747a26823ab0eeb536"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "crc32fast"
|
name = "crc32fast"
|
||||||
|
@ -748,9 +748,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "crossbeam-queue"
|
name = "crossbeam-queue"
|
||||||
version = "0.2.1"
|
version = "0.2.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c695eeca1e7173472a32221542ae469b3e9aac3a4fc81f7696bcad82029493db"
|
checksum = "ab6bffe714b6bb07e42f201352c34f51fefd355ace793f9e638ebd52d23f98d2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"crossbeam-utils",
|
"crossbeam-utils",
|
||||||
|
@ -787,7 +787,7 @@ dependencies = [
|
||||||
"config",
|
"config",
|
||||||
"crossbeam-queue",
|
"crossbeam-queue",
|
||||||
"num_cpus",
|
"num_cpus",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"tokio",
|
"tokio",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -802,7 +802,7 @@ dependencies = [
|
||||||
"deadpool",
|
"deadpool",
|
||||||
"futures",
|
"futures",
|
||||||
"log",
|
"log",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-postgres",
|
"tokio-postgres",
|
||||||
]
|
]
|
||||||
|
@ -887,9 +887,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "event-listener"
|
name = "event-listener"
|
||||||
version = "1.0.1"
|
version = "1.2.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0173b36d730a966f1e1aa2a811cc41619aaf50df92df434fdbad0504d39a973d"
|
checksum = "043d21a617dda31c36aed31a38f4ebb643a6fa55c2963fd9f0cc1c831e5095d7"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "failure"
|
name = "failure"
|
||||||
|
@ -1248,9 +1248,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "indexmap"
|
name = "indexmap"
|
||||||
version = "1.3.2"
|
version = "1.4.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "076f042c5b7b98f31d205f1249267e12a6518c1481e9dae9764af19b707d2292"
|
checksum = "c398b2b113b55809ceb9ee3e753fcbac793f1956663f3c36549c1346015c2afe"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"autocfg 1.0.0",
|
"autocfg 1.0.0",
|
||||||
]
|
]
|
||||||
|
@ -1293,9 +1293,9 @@ checksum = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "js-sys"
|
name = "js-sys"
|
||||||
version = "0.3.39"
|
version = "0.3.40"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "fa5a448de267e7358beaf4a5d849518fe9a0c13fce7afd44b06e68550e5562a7"
|
checksum = "ce10c23ad2ea25ceca0093bd3192229da4c5b3c0f2de499c1ecac0d98d452177"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
]
|
]
|
||||||
|
@ -1340,9 +1340,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libc"
|
name = "libc"
|
||||||
version = "0.2.70"
|
version = "0.2.71"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3baa92041a6fec78c687fa0cc2b3fae8884f743d672cf551bed1d6dac6988d0f"
|
checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libm"
|
name = "libm"
|
||||||
|
@ -1386,9 +1386,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lru"
|
name = "lru"
|
||||||
version = "0.4.4"
|
version = "0.4.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "348b828e43d7d1d7a247a6ece0c041d95fb0e34d5496bb4c308428face25df6b"
|
checksum = "0609345ddee5badacf857d4f547e0e5a2e987db77085c24cd887f73573a04237"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hashbrown",
|
"hashbrown",
|
||||||
]
|
]
|
||||||
|
@ -1423,7 +1423,7 @@ dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"phf",
|
"phf",
|
||||||
"phf_codegen",
|
"phf_codegen",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"string_cache",
|
"string_cache",
|
||||||
|
@ -1583,7 +1583,7 @@ dependencies = [
|
||||||
"num-iter",
|
"num-iter",
|
||||||
"num-traits 0.2.11",
|
"num-traits 0.2.11",
|
||||||
"rand",
|
"rand",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"zeroize",
|
"zeroize",
|
||||||
]
|
]
|
||||||
|
@ -1767,9 +1767,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pin-project-lite"
|
name = "pin-project-lite"
|
||||||
version = "0.1.5"
|
version = "0.1.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f7505eeebd78492e0f6108f7171c4948dbb120ee8119d9d77d0afa5469bef67f"
|
checksum = "9df32da11d84f3a7d70205549562966279adb900e080fad3dccd8e64afccf0ad"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pin-utils"
|
name = "pin-utils"
|
||||||
|
@ -1805,7 +1805,7 @@ dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"fallible-iterator",
|
"fallible-iterator",
|
||||||
"postgres-protocol",
|
"postgres-protocol",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"uuid",
|
"uuid",
|
||||||
]
|
]
|
||||||
|
@ -1860,9 +1860,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro-hack"
|
name = "proc-macro-hack"
|
||||||
version = "0.5.15"
|
version = "0.5.16"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0d659fe7c6d27f25e9d80a1a094c223f5246f6a6596453e09d7229bf42750b63"
|
checksum = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro-nested"
|
name = "proc-macro-nested"
|
||||||
|
@ -1872,9 +1872,9 @@ checksum = "8e946095f9d3ed29ec38de908c22f95d9ac008e424c7bcae54c75a79c527c694"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro2"
|
name = "proc-macro2"
|
||||||
version = "1.0.17"
|
version = "1.0.18"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1502d12e458c49a4c9cbff560d0fe0060c252bc29799ed94ca2ed4bb665a0101"
|
checksum = "beae6331a816b1f65d04c45b078fd8e6c93e8071771f41b8163255bbd8d7c8fa"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"unicode-xid",
|
"unicode-xid",
|
||||||
]
|
]
|
||||||
|
@ -1953,9 +1953,9 @@ checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regex"
|
name = "regex"
|
||||||
version = "1.3.7"
|
version = "1.3.9"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a6020f034922e3194c711b82a627453881bc4682166cabb07134a10c26ba7692"
|
checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aho-corasick",
|
"aho-corasick",
|
||||||
"memchr",
|
"memchr",
|
||||||
|
@ -1965,9 +1965,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regex-syntax"
|
name = "regex-syntax"
|
||||||
version = "0.6.17"
|
version = "0.6.18"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7fe5bd57d1d7414c6b5ed48563a2c855d995ff777729dcd91c369ec7fea395ae"
|
checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "relay"
|
name = "relay"
|
||||||
|
@ -2002,7 +2002,7 @@ dependencies = [
|
||||||
"rsa-magic-public-key",
|
"rsa-magic-public-key",
|
||||||
"rsa-pem",
|
"rsa-pem",
|
||||||
"ructe",
|
"ructe",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"sha2",
|
"sha2",
|
||||||
"structopt",
|
"structopt",
|
||||||
|
@ -2025,9 +2025,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ring"
|
name = "ring"
|
||||||
version = "0.16.13"
|
version = "0.16.14"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "703516ae74571f24b465b4a1431e81e2ad51336cb0ded733a55a1aa3eccac196"
|
checksum = "06b3fefa4f12272808f809a0af618501fdaba41a58963c5fb72238ab0be09603"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"libc",
|
"libc",
|
||||||
|
@ -2052,7 +2052,7 @@ dependencies = [
|
||||||
"num-iter",
|
"num-iter",
|
||||||
"num-traits 0.2.11",
|
"num-traits 0.2.11",
|
||||||
"rand",
|
"rand",
|
||||||
"subtle 2.2.2",
|
"subtle 2.2.3",
|
||||||
"zeroize",
|
"zeroize",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -2150,9 +2150,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ryu"
|
name = "ryu"
|
||||||
version = "1.0.4"
|
version = "1.0.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ed3d612bc64430efeb3f7ee6ef26d590dce0c43249217bddc62112540c7941e1"
|
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "scopeguard"
|
name = "scopeguard"
|
||||||
|
@ -2193,9 +2193,9 @@ checksum = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde"
|
name = "serde"
|
||||||
version = "1.0.110"
|
version = "1.0.111"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "99e7b308464d16b56eba9964e4972a3eee817760ab60d88c3f86e1fecb08204c"
|
checksum = "c9124df5b40cbd380080b2cc6ab894c040a3070d995f5c9dc77e18c34a8ae37d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
]
|
]
|
||||||
|
@ -2215,9 +2215,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_derive"
|
name = "serde_derive"
|
||||||
version = "1.0.110"
|
version = "1.0.111"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "818fbf6bfa9a42d3bfcaca148547aa00c7b915bec71d1757aa2d44ca68771984"
|
checksum = "3f2c3ac8e6ca1e9c80b8be1023940162bf81ae3cffbb1809474152f2ce1eb250"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
@ -2232,7 +2232,7 @@ checksum = "993948e75b189211a9b31a7528f950c6adc21f9720b6438ff80a7fa2f864cea2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"itoa",
|
"itoa",
|
||||||
"ryu",
|
"ryu",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2252,7 +2252,7 @@ checksum = "9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dtoa",
|
"dtoa",
|
||||||
"itoa",
|
"itoa",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"url",
|
"url",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -2276,9 +2276,9 @@ checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sha2"
|
name = "sha2"
|
||||||
version = "0.8.1"
|
version = "0.8.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0"
|
checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"block-buffer",
|
"block-buffer",
|
||||||
"digest",
|
"digest",
|
||||||
|
@ -2366,7 +2366,7 @@ checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
"syn",
|
"syn",
|
||||||
]
|
]
|
||||||
|
@ -2380,7 +2380,7 @@ dependencies = [
|
||||||
"base-x",
|
"base-x",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"sha1",
|
"sha1",
|
||||||
|
@ -2403,7 +2403,7 @@ dependencies = [
|
||||||
"new_debug_unreachable",
|
"new_debug_unreachable",
|
||||||
"phf_shared",
|
"phf_shared",
|
||||||
"precomputed-hash",
|
"precomputed-hash",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2466,15 +2466,15 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "subtle"
|
name = "subtle"
|
||||||
version = "2.2.2"
|
version = "2.2.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7c65d530b10ccaeac294f349038a597e435b18fb456aadd0840a623f83b9e941"
|
checksum = "502d53007c02d7605a05df1c1a73ee436952781653da5d0bf57ad608f66932c1"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "syn"
|
||||||
version = "1.0.23"
|
version = "1.0.30"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "95b5f192649e48a5302a13f2feb224df883b98933222369e4b3b0fe2a5447269"
|
checksum = "93a56fabc59dce20fe48b6c832cc249c713e7ed88fa28b0ee0a3bfcaae5fe4e2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
@ -2714,7 +2714,7 @@ version = "0.5.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a"
|
checksum = "ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2849,7 +2849,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9fde2f6a4bea1d6e007c4ad38c6839fa71cbb63b6dbf5b595aa38dc9b1093c11"
|
checksum = "9fde2f6a4bea1d6e007c4ad38c6839fa71cbb63b6dbf5b595aa38dc9b1093c11"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rand",
|
"rand",
|
||||||
"serde 1.0.110",
|
"serde 1.0.111",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2860,9 +2860,9 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "version_check"
|
name = "version_check"
|
||||||
version = "0.9.1"
|
version = "0.9.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce"
|
checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasi"
|
name = "wasi"
|
||||||
|
@ -2872,9 +2872,9 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasm-bindgen"
|
name = "wasm-bindgen"
|
||||||
version = "0.2.62"
|
version = "0.2.63"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e3c7d40d09cdbf0f4895ae58cf57d92e1e57a9dd8ed2e8390514b54a47cc5551"
|
checksum = "4c2dc4aa152834bc334f506c1a06b866416a8b6697d5c9f75b9a689c8486def0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"wasm-bindgen-macro",
|
"wasm-bindgen-macro",
|
||||||
|
@ -2882,9 +2882,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasm-bindgen-backend"
|
name = "wasm-bindgen-backend"
|
||||||
version = "0.2.62"
|
version = "0.2.63"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c3972e137ebf830900db522d6c8fd74d1900dcfc733462e9a12e942b00b4ac94"
|
checksum = "ded84f06e0ed21499f6184df0e0cb3494727b0c5da89534e0fcc55c51d812101"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bumpalo",
|
"bumpalo",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
|
@ -2897,9 +2897,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasm-bindgen-macro"
|
name = "wasm-bindgen-macro"
|
||||||
version = "0.2.62"
|
version = "0.2.63"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2cd85aa2c579e8892442954685f0d801f9129de24fa2136b2c6a539c76b65776"
|
checksum = "838e423688dac18d73e31edce74ddfac468e37b1506ad163ffaf0a46f703ffe3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"quote",
|
"quote",
|
||||||
"wasm-bindgen-macro-support",
|
"wasm-bindgen-macro-support",
|
||||||
|
@ -2907,9 +2907,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasm-bindgen-macro-support"
|
name = "wasm-bindgen-macro-support"
|
||||||
version = "0.2.62"
|
version = "0.2.63"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8eb197bd3a47553334907ffd2f16507b4f4f01bbec3ac921a7719e0decdfe72a"
|
checksum = "3156052d8ec77142051a533cdd686cba889537b213f948cd1d20869926e68e92"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
@ -2920,15 +2920,15 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasm-bindgen-shared"
|
name = "wasm-bindgen-shared"
|
||||||
version = "0.2.62"
|
version = "0.2.63"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a91c2916119c17a8e316507afaaa2dd94b47646048014bbdf6bef098c1bb58ad"
|
checksum = "c9ba19973a58daf4db6f352eda73dc0e289493cd29fb2632eb172085b6521acd"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "web-sys"
|
name = "web-sys"
|
||||||
version = "0.3.39"
|
version = "0.3.40"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8bc359e5dd3b46cb9687a051d50a2fdd228e4ba7cf6fcf861a5365c3d671a642"
|
checksum = "7b72fe77fd39e4bd3eaa4412fd299a0be6b3dfe9d2597e2f1c20beb968f41d17"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"js-sys",
|
"js-sys",
|
||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
|
@ -2936,9 +2936,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "webpki"
|
name = "webpki"
|
||||||
version = "0.21.2"
|
version = "0.21.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f1f50e1972865d6b1adb54167d1c8ed48606004c2c9d0ea5f1eeb34d95e863ef"
|
checksum = "ab146130f5f790d45f82aeeb09e55a256573373ec64409fc19a6fb82fb1032ae"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ring",
|
"ring",
|
||||||
"untrusted",
|
"untrusted",
|
||||||
|
@ -3035,9 +3035,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "yaml-rust"
|
name = "yaml-rust"
|
||||||
version = "0.4.3"
|
version = "0.4.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "65923dd1784f44da1d2c3dbbc5e822045628c590ba72123e1c73d3c230c4434d"
|
checksum = "39f0c922f1a334134dc2f7a8b67dc5d25f0735263feec974345ff706bcf20b0d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"linked-hash-map 0.5.3",
|
"linked-hash-map 0.5.3",
|
||||||
]
|
]
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
use crate::{data::ActorCache, error::MyError, middleware::MyVerify, requests::Requests};
|
use crate::{data::ActorCache, error::MyError, middleware::MyVerify, requests::Requests};
|
||||||
|
use activitystreams_new::primitives::XsdAnyUri;
|
||||||
use config::Environment;
|
use config::Environment;
|
||||||
use http_signature_normalization_actix::prelude::{VerifyDigest, VerifySignature};
|
use http_signature_normalization_actix::prelude::{VerifyDigest, VerifySignature};
|
||||||
use sha2::{Digest, Sha256};
|
use sha2::{Digest, Sha256};
|
||||||
|
@ -6,7 +7,7 @@ use std::net::IpAddr;
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
|
|
||||||
#[derive(Clone, Debug, serde::Deserialize)]
|
#[derive(Clone, Debug, serde::Deserialize)]
|
||||||
pub struct Config {
|
pub struct ParsedConfig {
|
||||||
hostname: String,
|
hostname: String,
|
||||||
addr: IpAddr,
|
addr: IpAddr,
|
||||||
port: u16,
|
port: u16,
|
||||||
|
@ -20,6 +21,21 @@ pub struct Config {
|
||||||
max_connections: usize,
|
max_connections: usize,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
pub struct Config {
|
||||||
|
hostname: String,
|
||||||
|
addr: IpAddr,
|
||||||
|
port: u16,
|
||||||
|
debug: bool,
|
||||||
|
whitelist_mode: bool,
|
||||||
|
validate_signatures: bool,
|
||||||
|
database_url: String,
|
||||||
|
pretty_log: bool,
|
||||||
|
publish_blocks: bool,
|
||||||
|
max_connections: usize,
|
||||||
|
base_uri: XsdAnyUri,
|
||||||
|
}
|
||||||
|
|
||||||
pub enum UrlKind {
|
pub enum UrlKind {
|
||||||
Activity,
|
Activity,
|
||||||
Actor,
|
Actor,
|
||||||
|
@ -49,7 +65,24 @@ impl Config {
|
||||||
.set_default("max_connections", 2)?
|
.set_default("max_connections", 2)?
|
||||||
.merge(Environment::new())?;
|
.merge(Environment::new())?;
|
||||||
|
|
||||||
Ok(config.try_into()?)
|
let config: ParsedConfig = config.try_into()?;
|
||||||
|
|
||||||
|
let scheme = if config.https { "https" } else { "http" };
|
||||||
|
let base_uri = format!("{}://{}", scheme, config.hostname).parse()?;
|
||||||
|
|
||||||
|
Ok(Config {
|
||||||
|
hostname: config.hostname,
|
||||||
|
addr: config.addr,
|
||||||
|
port: config.port,
|
||||||
|
debug: config.debug,
|
||||||
|
whitelist_mode: config.whitelist_mode,
|
||||||
|
validate_signatures: config.validate_signatures,
|
||||||
|
database_url: config.database_url,
|
||||||
|
pretty_log: config.pretty_log,
|
||||||
|
publish_blocks: config.publish_blocks,
|
||||||
|
max_connections: config.max_connections,
|
||||||
|
base_uri,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn pretty_log(&self) -> bool {
|
pub fn pretty_log(&self) -> bool {
|
||||||
|
@ -124,22 +157,26 @@ impl Config {
|
||||||
"https://git.asonix.dog/asonix/ap-relay".to_owned()
|
"https://git.asonix.dog/asonix/ap-relay".to_owned()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn generate_url(&self, kind: UrlKind) -> String {
|
pub fn generate_url(&self, kind: UrlKind) -> XsdAnyUri {
|
||||||
let scheme = if self.https { "https" } else { "http" };
|
let mut uri = self.base_uri.clone();
|
||||||
|
let url = uri.as_url_mut();
|
||||||
|
|
||||||
match kind {
|
match kind {
|
||||||
UrlKind::Activity => {
|
UrlKind::Activity => url.set_path(&format!("activity/{}", Uuid::new_v4())),
|
||||||
format!("{}://{}/activity/{}", scheme, self.hostname, Uuid::new_v4())
|
UrlKind::Actor => url.set_path("actor"),
|
||||||
|
UrlKind::Followers => url.set_path("followers"),
|
||||||
|
UrlKind::Following => url.set_path("following"),
|
||||||
|
UrlKind::Inbox => url.set_path("inbox"),
|
||||||
|
UrlKind::Index => (),
|
||||||
|
UrlKind::MainKey => {
|
||||||
|
url.set_path("actor");
|
||||||
|
url.set_fragment(Some("main-key"));
|
||||||
}
|
}
|
||||||
UrlKind::Actor => format!("{}://{}/actor", scheme, self.hostname),
|
UrlKind::Media(uuid) => url.set_path(&format!("media/{}", uuid)),
|
||||||
UrlKind::Followers => format!("{}://{}/followers", scheme, self.hostname),
|
UrlKind::NodeInfo => url.set_path("nodeinfo/2.0.json"),
|
||||||
UrlKind::Following => format!("{}://{}/following", scheme, self.hostname),
|
UrlKind::Outbox => url.set_path("outbox"),
|
||||||
UrlKind::Inbox => format!("{}://{}/inbox", scheme, self.hostname),
|
};
|
||||||
UrlKind::Index => format!("{}://{}/", scheme, self.hostname),
|
|
||||||
UrlKind::MainKey => format!("{}://{}/actor#main-key", scheme, self.hostname),
|
uri
|
||||||
UrlKind::Media(uuid) => format!("{}://{}/media/{}", scheme, self.hostname, uuid),
|
|
||||||
UrlKind::NodeInfo => format!("{}://{}/nodeinfo/2.0.json", scheme, self.hostname),
|
|
||||||
UrlKind::Outbox => format!("{}://{}/outbox", scheme, self.hostname),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ impl State {
|
||||||
|
|
||||||
pub fn requests(&self) -> Requests {
|
pub fn requests(&self) -> Requests {
|
||||||
Requests::new(
|
Requests::new(
|
||||||
self.config.generate_url(UrlKind::MainKey),
|
self.config.generate_url(UrlKind::MainKey).to_string(),
|
||||||
self.private_key.clone(),
|
self.private_key.clone(),
|
||||||
format!(
|
format!(
|
||||||
"Actix Web 3.0.0-alpha.1 ({}/{}; +{})",
|
"Actix Web 3.0.0-alpha.1 ({}/{}; +{})",
|
||||||
|
|
|
@ -23,7 +23,7 @@ impl Announce {
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn perform(self, state: JobState) -> Result<(), anyhow::Error> {
|
async fn perform(self, state: JobState) -> Result<(), anyhow::Error> {
|
||||||
let activity_id: XsdAnyUri = state.config.generate_url(UrlKind::Activity).parse()?;
|
let activity_id = state.config.generate_url(UrlKind::Activity);
|
||||||
|
|
||||||
let announce = generate_announce(&state.config, &activity_id, &self.object_id)?;
|
let announce = generate_announce(&state.config, &activity_id, &self.object_id)?;
|
||||||
let inboxes = get_inboxes(&state.state, &self.actor, &self.object_id).await?;
|
let inboxes = get_inboxes(&state.state, &self.actor, &self.object_id).await?;
|
||||||
|
@ -42,10 +42,7 @@ fn generate_announce(
|
||||||
activity_id: &XsdAnyUri,
|
activity_id: &XsdAnyUri,
|
||||||
object_id: &XsdAnyUri,
|
object_id: &XsdAnyUri,
|
||||||
) -> Result<AsAnnounce, MyError> {
|
) -> Result<AsAnnounce, MyError> {
|
||||||
let announce = AsAnnounce::new(
|
let announce = AsAnnounce::new(config.generate_url(UrlKind::Actor), object_id.clone());
|
||||||
config.generate_url(UrlKind::Actor).parse::<XsdAnyUri>()?,
|
|
||||||
object_id.clone(),
|
|
||||||
);
|
|
||||||
|
|
||||||
prepare_activity(
|
prepare_activity(
|
||||||
announce,
|
announce,
|
||||||
|
|
|
@ -33,7 +33,7 @@ impl Follow {
|
||||||
if !self.is_listener {
|
if !self.is_listener {
|
||||||
state.db.add_listener(self.actor.inbox.clone()).await?;
|
state.db.add_listener(self.actor.inbox.clone()).await?;
|
||||||
}
|
}
|
||||||
let my_id: XsdAnyUri = state.config.generate_url(UrlKind::Actor).parse()?;
|
let my_id = state.config.generate_url(UrlKind::Actor);
|
||||||
|
|
||||||
// if following relay directly, not just following 'public', followback
|
// if following relay directly, not just following 'public', followback
|
||||||
if self.input.object_is(&my_id) && !state.actors.is_following(&self.actor.id).await {
|
if self.input.object_is(&my_id) && !state.actors.is_following(&self.actor.id).await {
|
||||||
|
|
|
@ -57,7 +57,7 @@ fn generate_undo_follow(
|
||||||
) -> Result<AsUndo, MyError> {
|
) -> Result<AsUndo, MyError> {
|
||||||
let mut follow = AsFollow::new(my_id.clone(), actor_id.clone());
|
let mut follow = AsFollow::new(my_id.clone(), actor_id.clone());
|
||||||
|
|
||||||
follow.set_id(config.generate_url(UrlKind::Activity).parse()?);
|
follow.set_id(config.generate_url(UrlKind::Activity));
|
||||||
|
|
||||||
let undo = AsUndo::new(my_id.clone(), follow.into_any_base()?);
|
let undo = AsUndo::new(my_id.clone(), follow.into_any_base()?);
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,6 @@ use crate::{
|
||||||
data::Actor,
|
data::Actor,
|
||||||
jobs::{apub::generate_undo_follow, Deliver, JobState},
|
jobs::{apub::generate_undo_follow, Deliver, JobState},
|
||||||
};
|
};
|
||||||
use activitystreams_new::primitives::XsdAnyUri;
|
|
||||||
use background_jobs::ActixJob;
|
use background_jobs::ActixJob;
|
||||||
use std::{future::Future, pin::Pin};
|
use std::{future::Future, pin::Pin};
|
||||||
|
|
||||||
|
@ -16,7 +15,7 @@ impl Reject {
|
||||||
state.db.remove_listener(self.0.inbox.clone()).await?;
|
state.db.remove_listener(self.0.inbox.clone()).await?;
|
||||||
}
|
}
|
||||||
|
|
||||||
let my_id: XsdAnyUri = state.config.generate_url(UrlKind::Actor).parse()?;
|
let my_id = state.config.generate_url(UrlKind::Actor);
|
||||||
let undo = generate_undo_follow(&state.config, &self.0.id, &my_id)?;
|
let undo = generate_undo_follow(&state.config, &self.0.id, &my_id)?;
|
||||||
|
|
||||||
state.job_server.queue(Deliver::new(self.0.inbox, undo)?)?;
|
state.job_server.queue(Deliver::new(self.0.inbox, undo)?)?;
|
||||||
|
|
|
@ -4,7 +4,6 @@ use crate::{
|
||||||
data::Actor,
|
data::Actor,
|
||||||
jobs::{apub::generate_undo_follow, Deliver, JobState},
|
jobs::{apub::generate_undo_follow, Deliver, JobState},
|
||||||
};
|
};
|
||||||
use activitystreams_new::primitives::XsdAnyUri;
|
|
||||||
use background_jobs::ActixJob;
|
use background_jobs::ActixJob;
|
||||||
use std::{future::Future, pin::Pin};
|
use std::{future::Future, pin::Pin};
|
||||||
|
|
||||||
|
@ -27,7 +26,7 @@ impl Undo {
|
||||||
}
|
}
|
||||||
|
|
||||||
if was_following {
|
if was_following {
|
||||||
let my_id: XsdAnyUri = state.config.generate_url(UrlKind::Actor).parse()?;
|
let my_id = state.config.generate_url(UrlKind::Actor);
|
||||||
let undo = generate_undo_follow(&state.config, &self.actor.id, &my_id)?;
|
let undo = generate_undo_follow(&state.config, &self.actor.id, &my_id)?;
|
||||||
state
|
state
|
||||||
.job_server
|
.job_server
|
||||||
|
|
|
@ -48,11 +48,11 @@ impl QueryInstance {
|
||||||
|
|
||||||
if let Some(mut contact) = instance.contact {
|
if let Some(mut contact) = instance.contact {
|
||||||
let uuid = if let Some(uuid) = state.media.get_uuid(&contact.avatar).await? {
|
let uuid = if let Some(uuid) = state.media.get_uuid(&contact.avatar).await? {
|
||||||
contact.avatar = state.config.generate_url(UrlKind::Media(uuid)).parse()?;
|
contact.avatar = state.config.generate_url(UrlKind::Media(uuid));
|
||||||
uuid
|
uuid
|
||||||
} else {
|
} else {
|
||||||
let uuid = state.media.store_url(&contact.avatar).await?;
|
let uuid = state.media.store_url(&contact.avatar).await?;
|
||||||
contact.avatar = state.config.generate_url(UrlKind::Media(uuid)).parse()?;
|
contact.avatar = state.config.generate_url(UrlKind::Media(uuid));
|
||||||
uuid
|
uuid
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -36,9 +36,9 @@ impl Resolver for RelayResolver {
|
||||||
return Ok(None);
|
return Ok(None);
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut wf = Webfinger::new(&config.generate_resource());
|
let mut wf = Webfinger::new(config.generate_resource().as_str());
|
||||||
wf.add_alias(&config.generate_url(UrlKind::Actor))
|
wf.add_alias(config.generate_url(UrlKind::Actor).as_str())
|
||||||
.add_activitypub(&config.generate_url(UrlKind::Actor))
|
.add_activitypub(config.generate_url(UrlKind::Actor).as_str())
|
||||||
.add_magic_public_key(&state.public_key.as_magic_public_key());
|
.add_magic_public_key(&state.public_key.as_magic_public_key());
|
||||||
|
|
||||||
Ok(Some(wf))
|
Ok(Some(wf))
|
||||||
|
|
|
@ -10,7 +10,6 @@ use activitystreams_new::{
|
||||||
actor::{ApActor, Application, Endpoints},
|
actor::{ApActor, Application, Endpoints},
|
||||||
context,
|
context,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
primitives::{XsdAnyUri, XsdString},
|
|
||||||
security,
|
security,
|
||||||
};
|
};
|
||||||
use actix_web::{web, Responder};
|
use actix_web::{web, Responder};
|
||||||
|
@ -21,39 +20,28 @@ pub async fn route(
|
||||||
config: web::Data<Config>,
|
config: web::Data<Config>,
|
||||||
) -> Result<impl Responder, MyError> {
|
) -> Result<impl Responder, MyError> {
|
||||||
let mut application = Ext1::new(
|
let mut application = Ext1::new(
|
||||||
ApActor::new(
|
ApActor::new(config.generate_url(UrlKind::Inbox), Application::new()),
|
||||||
config.generate_url(UrlKind::Inbox).parse()?,
|
|
||||||
Application::new(),
|
|
||||||
),
|
|
||||||
PublicKey {
|
PublicKey {
|
||||||
public_key: PublicKeyInner {
|
public_key: PublicKeyInner {
|
||||||
id: config.generate_url(UrlKind::MainKey).parse()?,
|
id: config.generate_url(UrlKind::MainKey),
|
||||||
owner: config.generate_url(UrlKind::Actor).parse()?,
|
owner: config.generate_url(UrlKind::Actor),
|
||||||
public_key_pem: state.public_key.to_pem_pkcs8()?,
|
public_key_pem: state.public_key.to_pem_pkcs8()?,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
application
|
application
|
||||||
.set_id(config.generate_url(UrlKind::Actor).parse()?)
|
.set_id(config.generate_url(UrlKind::Actor))
|
||||||
.set_summary(XsdString::from("AodeRelay bot"))
|
.set_summary("AodeRelay bot".to_owned())
|
||||||
.set_name(XsdString::from("AodeRelay"))
|
.set_name("AodeRelay".to_owned())
|
||||||
.set_url(config.generate_url(UrlKind::Actor).parse::<XsdAnyUri>()?)
|
.set_url(config.generate_url(UrlKind::Actor))
|
||||||
.set_many_contexts(vec![context(), security()])
|
.set_many_contexts(vec![context(), security()])
|
||||||
.set_preferred_username("relay".into())
|
.set_preferred_username("relay".into())
|
||||||
.set_outbox(config.generate_url(UrlKind::Outbox).parse()?)
|
.set_outbox(config.generate_url(UrlKind::Outbox))
|
||||||
.set_followers(
|
.set_followers(config.generate_url(UrlKind::Followers))
|
||||||
config
|
.set_following(config.generate_url(UrlKind::Following))
|
||||||
.generate_url(UrlKind::Followers)
|
|
||||||
.parse::<XsdAnyUri>()?,
|
|
||||||
)
|
|
||||||
.set_following(
|
|
||||||
config
|
|
||||||
.generate_url(UrlKind::Following)
|
|
||||||
.parse::<XsdAnyUri>()?,
|
|
||||||
)
|
|
||||||
.set_endpoints(Endpoints {
|
.set_endpoints(Endpoints {
|
||||||
shared_inbox: Some(config.generate_url(UrlKind::Inbox).parse::<XsdAnyUri>()?),
|
shared_inbox: Some(config.generate_url(UrlKind::Inbox)),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -115,7 +115,7 @@ async fn handle_accept(config: &Config, input: AcceptedActivities) -> Result<(),
|
||||||
));
|
));
|
||||||
};
|
};
|
||||||
|
|
||||||
if !follow.actor_is(&config.generate_url(UrlKind::Actor).parse()?) {
|
if !follow.actor_is(&config.generate_url(UrlKind::Actor)) {
|
||||||
return Err(MyError::WrongActor(id_string(
|
return Err(MyError::WrongActor(id_string(
|
||||||
follow.actor().as_single_id(),
|
follow.actor().as_single_id(),
|
||||||
)?));
|
)?));
|
||||||
|
@ -139,7 +139,7 @@ async fn handle_reject(
|
||||||
));
|
));
|
||||||
};
|
};
|
||||||
|
|
||||||
if !follow.actor_is(&config.generate_url(UrlKind::Actor).parse()?) {
|
if !follow.actor_is(&config.generate_url(UrlKind::Actor)) {
|
||||||
return Err(MyError::WrongActor(id_string(
|
return Err(MyError::WrongActor(id_string(
|
||||||
follow.actor().as_single_id(),
|
follow.actor().as_single_id(),
|
||||||
)?));
|
)?));
|
||||||
|
@ -170,7 +170,7 @@ async fn handle_undo(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let my_id: XsdAnyUri = config.generate_url(UrlKind::Actor).parse()?;
|
let my_id: XsdAnyUri = config.generate_url(UrlKind::Actor);
|
||||||
|
|
||||||
if !undone_object.object_is(&my_id) && !undone_object.object_is(&public()) {
|
if !undone_object.object_is(&my_id) && !undone_object.object_is(&public()) {
|
||||||
return Err(MyError::WrongActor(id_string(
|
return Err(MyError::WrongActor(id_string(
|
||||||
|
@ -220,7 +220,7 @@ async fn handle_follow(
|
||||||
actor: Actor,
|
actor: Actor,
|
||||||
is_listener: bool,
|
is_listener: bool,
|
||||||
) -> Result<(), MyError> {
|
) -> Result<(), MyError> {
|
||||||
let my_id: XsdAnyUri = config.generate_url(UrlKind::Actor).parse()?;
|
let my_id: XsdAnyUri = config.generate_url(UrlKind::Actor);
|
||||||
|
|
||||||
if !input.object_is(&my_id) && !input.object_is(&public()) {
|
if !input.object_is(&my_id) && !input.object_is(&public()) {
|
||||||
return Err(MyError::WrongActor(id_string(
|
return Err(MyError::WrongActor(id_string(
|
||||||
|
|
|
@ -9,7 +9,7 @@ pub async fn well_known(config: web::Data<Config>) -> impl Responder {
|
||||||
web::Json(Links {
|
web::Json(Links {
|
||||||
links: vec![Link {
|
links: vec![Link {
|
||||||
rel: "http://nodeinfo.diaspora.software/ns/schema/2.0".to_owned(),
|
rel: "http://nodeinfo.diaspora.software/ns/schema/2.0".to_owned(),
|
||||||
href: Some(config.generate_url(UrlKind::NodeInfo)),
|
href: Some(config.generate_url(UrlKind::NodeInfo).to_string()),
|
||||||
template: None,
|
template: None,
|
||||||
kind: None,
|
kind: None,
|
||||||
}],
|
}],
|
||||||
|
|
Loading…
Reference in a new issue