mirror of
https://github.com/netbirdio/IronRDP.git
synced 2026-05-22 18:43:12 -07:00
build: do not use workspace dependencies (#695)
As written in the workspace Cargo.toml: > Note that for better cross-tooling interactions, do not use workspace dependencies for anything that is not "workspace internal" (e.g.: mostly dev-dependencies). E.g.: release-plz can’t detect that a dependency has been updated in a way warranting a version bump in the dependant if no commit is touching a file associated to the crate. It is technically okay to use that for "private" (i.e.: not used in the public API) dependencies too, but we still want to make follow-up releases to stay up to date with the community, even for private dependencies. Expectation is that release-plz will be able to auto-detect when bumping dependents is necessary. Closes #689
This commit is contained in:
Generated
+1
-1
@@ -2791,7 +2791,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ironrdp-web"
|
||||
version = "0.1.0"
|
||||
version = "0.0.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"base64",
|
||||
|
||||
+9
-42
@@ -23,55 +23,22 @@ keywords = ["rdp", "remote-desktop", "network", "client", "protocol"]
|
||||
categories = ["network-programming"]
|
||||
|
||||
[workspace.dependencies]
|
||||
ironrdp-acceptor = { version = "0.3", path = "crates/ironrdp-acceptor" }
|
||||
ironrdp-ainput = { version = "0.1", path = "crates/ironrdp-ainput" }
|
||||
ironrdp-async = { version = "0.3", path = "crates/ironrdp-async" }
|
||||
ironrdp-bench = { version = "0.1", path = "crates/ironrdp-bench" }
|
||||
ironrdp-blocking = { version = "0.3", path = "crates/ironrdp-blocking" }
|
||||
ironrdp-cliprdr = { version = "0.1", path = "crates/ironrdp-cliprdr" }
|
||||
ironrdp-cliprdr-native = { version = "0.1", path = "crates/ironrdp-cliprdr-native" }
|
||||
ironrdp-cliprdr-format = { version = "0.1", path = "crates/ironrdp-cliprdr-format" }
|
||||
ironrdp-core = { version = "0.1", path = "crates/ironrdp-core" }
|
||||
ironrdp-connector = { version = "0.3", path = "crates/ironrdp-connector" }
|
||||
ironrdp-dvc = { version = "0.1", path = "crates/ironrdp-dvc" }
|
||||
ironrdp-displaycontrol = { version = "0.1", path = "crates/ironrdp-displaycontrol" }
|
||||
ironrdp-error = { version = "0.1", path = "crates/ironrdp-error" }
|
||||
ironrdp-futures = { version = "0.1", path = "crates/ironrdp-futures" }
|
||||
ironrdp-fuzzing = { path = "crates/ironrdp-fuzzing" }
|
||||
ironrdp-graphics = { version = "0.2", path = "crates/ironrdp-graphics" }
|
||||
ironrdp-input = { version = "0.1", path = "crates/ironrdp-input" }
|
||||
ironrdp-pdu-generators = { path = "crates/ironrdp-pdu-generators" }
|
||||
ironrdp-pdu = { version = "0.3", path = "crates/ironrdp-pdu" }
|
||||
ironrdp-rdcleanpath = { version = "0.1", path = "crates/ironrdp-rdcleanpath" }
|
||||
ironrdp-rdpdr = { version = "0.1", path = "crates/ironrdp-rdpdr" }
|
||||
ironrdp-rdpdr-native = { version = "0.1", path = "crates/ironrdp-rdpdr-native" }
|
||||
ironrdp-rdpsnd = { version = "0.3", path = "crates/ironrdp-rdpsnd" }
|
||||
ironrdp-rdpsnd-native = { version = "0.1", path = "crates/ironrdp-rdpsnd-native" }
|
||||
ironrdp-server = { version = "0.4", path = "crates/ironrdp-server" }
|
||||
ironrdp-session-generators = { path = "crates/ironrdp-session-generators" }
|
||||
ironrdp-session = { version = "0.2", path = "crates/ironrdp-session" }
|
||||
ironrdp-svc = { version = "0.1", path = "crates/ironrdp-svc" }
|
||||
ironrdp-testsuite-core = { path = "crates/ironrdp-testsuite-core" }
|
||||
ironrdp-testsuite-extra = { path = "crates/ironrdp-testsuite-extra" }
|
||||
ironrdp-tls = { version = "0.1", path = "crates/ironrdp-tls" }
|
||||
ironrdp-tokio = { version = "0.2", path = "crates/ironrdp-tokio" }
|
||||
ironrdp = { version = "0.7", path = "crates/ironrdp" }
|
||||
|
||||
bitflags = "2.4"
|
||||
# Note that for better cross-tooling interactions, do not use workspace
|
||||
# dependencies for anything that is not "workspace internal" (e.g.: mostly
|
||||
# dev-dependencies). E.g.: release-plz can’t detect that a dependency has been
|
||||
# updated in a way warranting a version bump in the dependant if no commit is
|
||||
# touching a file associated to the crate. It is technically okay to use that
|
||||
# for "private" (i.e.: not used in the public API) dependencies too, but we
|
||||
# still want to make follow-up releases to stay up to date with the community,
|
||||
# even for private dependencies.
|
||||
expect-test = "1"
|
||||
png = "0.17"
|
||||
proptest = "1.4"
|
||||
rstest = "0.18"
|
||||
sspi = "0.15"
|
||||
tracing = { version = "0.1", features = ["log"] }
|
||||
thiserror = "1.0"
|
||||
windows = "0.58"
|
||||
|
||||
# Note: we are trying to move away from using these crates.
|
||||
# They are being kept around for now for legacy compatibility,
|
||||
# but new usage should be avoided.
|
||||
byteorder = "1.5"
|
||||
lazy_static = "1.4" # prefer https://doc.rust-lang.org/std/sync/struct.OnceLock.html
|
||||
lazy_static = "1.4" # Legacy crate; prefer std::sync::LazyLock or LazyCell
|
||||
num-derive = "0.4"
|
||||
num-traits = "0.2"
|
||||
|
||||
|
||||
@@ -16,12 +16,12 @@ doctest = false
|
||||
test = false
|
||||
|
||||
[dependencies]
|
||||
ironrdp-pdu.workspace = true
|
||||
ironrdp-svc.workspace = true
|
||||
ironrdp-connector.workspace = true
|
||||
ironrdp-async.workspace = true
|
||||
tracing.workspace = true
|
||||
ironrdp-core = { workspace = true, features = ["alloc"] }
|
||||
ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] }
|
||||
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
|
||||
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
|
||||
ironrdp-connector = { path = "../ironrdp-connector", version = "0.3" }
|
||||
ironrdp-async = { path = "../ironrdp-async", version = "0.3" }
|
||||
tracing = { version = "0.1", features = ["log"] }
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
@@ -16,9 +16,9 @@ doctest = false
|
||||
test = false
|
||||
|
||||
[dependencies]
|
||||
bitflags.workspace = true
|
||||
ironrdp-core.workspace = true
|
||||
ironrdp-dvc.workspace = true
|
||||
bitflags = "2.4"
|
||||
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
|
||||
ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.1" }
|
||||
num-derive.workspace = true # TODO: remove
|
||||
num-traits.workspace = true # TODO: remove
|
||||
|
||||
|
||||
@@ -16,13 +16,12 @@ doctest = false
|
||||
test = false
|
||||
|
||||
[dependencies]
|
||||
ironrdp-connector = { path = "../ironrdp-connector", version = "0.3" }
|
||||
ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] }
|
||||
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
|
||||
# ironrdp-session = { workspace = "../ironrdp-session", version = "0.2" }
|
||||
tracing = { version = "0.1", features = ["log"] }
|
||||
bytes = "1"
|
||||
ironrdp-connector.workspace = true
|
||||
ironrdp-core = { workspace = true, features = ["alloc"] }
|
||||
ironrdp-pdu.workspace = true
|
||||
# ironrdp-session.workspace = true
|
||||
tracing.workspace = true
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
|
||||
@@ -13,9 +13,9 @@ publish = false
|
||||
|
||||
[dev-dependencies]
|
||||
criterion = "0.5"
|
||||
ironrdp-graphics.workspace = true
|
||||
ironrdp-pdu.workspace = true
|
||||
ironrdp-server = { workspace = true, features = ["__bench"] }
|
||||
ironrdp-graphics.path = "../ironrdp-graphics"
|
||||
ironrdp-pdu.path = "../ironrdp-pdu"
|
||||
ironrdp-server = { path = "../ironrdp-server", features = ["__bench"] }
|
||||
|
||||
[[bench]]
|
||||
name = "bench"
|
||||
|
||||
@@ -17,11 +17,11 @@ test = false
|
||||
|
||||
[dependencies]
|
||||
bytes = "1"
|
||||
ironrdp-connector.workspace = true
|
||||
ironrdp-core = { workspace = true, features = ["alloc"] }
|
||||
ironrdp-pdu.workspace = true
|
||||
# ironrdp-session.workspace = true
|
||||
tracing.workspace = true
|
||||
ironrdp-connector = { path = "../ironrdp-connector", version = "0.3" }
|
||||
ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] }
|
||||
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
|
||||
# ironrdp-session = { path = "../ironrdp-session", version = "0.2" }
|
||||
tracing = { version = "0.1", features = ["log"] }
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
@@ -29,9 +29,8 @@ rustls = ["ironrdp-tls/rustls"]
|
||||
native-tls = ["ironrdp-tls/native-tls"]
|
||||
|
||||
[dependencies]
|
||||
|
||||
# Protocols
|
||||
ironrdp = { workspace = true, features = [
|
||||
ironrdp = { path = "../ironrdp", version = "0.7", features = [
|
||||
"session",
|
||||
"input",
|
||||
"graphics",
|
||||
@@ -43,14 +42,12 @@ ironrdp = { workspace = true, features = [
|
||||
"displaycontrol",
|
||||
"connector"
|
||||
] }
|
||||
ironrdp-cliprdr-native.workspace = true
|
||||
ironrdp-rdpsnd-native.workspace = true
|
||||
ironrdp-tls.workspace = true
|
||||
ironrdp-tokio.workspace = true
|
||||
sspi = { workspace = true, features = [
|
||||
"network_client",
|
||||
"dns_resolver",
|
||||
] } # enable additional features
|
||||
ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] }
|
||||
ironrdp-cliprdr-native = { path = "../ironrdp-cliprdr-native", version = "0.1" }
|
||||
ironrdp-rdpsnd-native = { path = "../ironrdp-rdpsnd-native", version = "0.1" }
|
||||
ironrdp-tls = { path = "../ironrdp-tls", version = "0.1" }
|
||||
ironrdp-tokio = { path = "../ironrdp-tokio", version = "0.2" }
|
||||
sspi = { version = "0.15", features = ["network_client", "dns_resolver"] } # TODO: enable additional features
|
||||
|
||||
# Windowing and rendering
|
||||
winit = { version = "0.30", features = ["rwh_06"] }
|
||||
@@ -62,7 +59,7 @@ proc-exit = "2"
|
||||
inquire = "0.7"
|
||||
|
||||
# Logging
|
||||
tracing.workspace = true
|
||||
tracing = { version = "0.1", features = ["log"] }
|
||||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||||
|
||||
# Async, futures
|
||||
@@ -76,12 +73,11 @@ tap = "1"
|
||||
semver = "1"
|
||||
reqwest = "0.12"
|
||||
url = "2.5"
|
||||
raw-window-handle = "0.6.2"
|
||||
ironrdp-core = { workspace = true, features = ["alloc"] }
|
||||
uuid = { version = "1.12.1"}
|
||||
raw-window-handle = "0.6"
|
||||
uuid = { version = "1.12" }
|
||||
|
||||
[target.'cfg(windows)'.dependencies]
|
||||
windows = { workspace = true, features = ["Win32_Foundation"] }
|
||||
windows = { version = "0.58", features = ["Win32_Foundation"] }
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
@@ -5,7 +5,6 @@ readme = "README.md"
|
||||
description = "CLIPRDR format conversion library"
|
||||
edition.workspace = true
|
||||
license.workspace = true
|
||||
|
||||
homepage.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
@@ -17,8 +16,8 @@ doctest = false
|
||||
test = false
|
||||
|
||||
[dependencies]
|
||||
ironrdp-core.workspace = true
|
||||
thiserror.workspace = true # FIXME: handwrite the Error trait implementations.
|
||||
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
|
||||
thiserror = "1" # FIXME: handwrite the Error trait implementations.
|
||||
png = "0.17"
|
||||
|
||||
[lints]
|
||||
|
||||
@@ -5,7 +5,6 @@ readme = "README.md"
|
||||
description = "Native CLIPRDR static channel backend implementations for IronRDP"
|
||||
edition.workspace = true
|
||||
license.workspace = true
|
||||
|
||||
homepage.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
@@ -17,13 +16,13 @@ doctest = false
|
||||
test = false
|
||||
|
||||
[dependencies]
|
||||
ironrdp-cliprdr.workspace = true
|
||||
ironrdp-core.workspace = true
|
||||
tracing.workspace = true
|
||||
ironrdp-cliprdr = { path = "../ironrdp-cliprdr", version = "0.1" }
|
||||
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
|
||||
tracing = { version = "0.1", features = ["log"] }
|
||||
|
||||
[target.'cfg(windows)'.dependencies]
|
||||
thiserror.workspace = true
|
||||
windows = { workspace = true, features = [
|
||||
thiserror = "1"
|
||||
windows = { version = "0.58", features = [
|
||||
"Win32_Foundation",
|
||||
"Win32_Graphics_Gdi",
|
||||
"Win32_System_DataExchange",
|
||||
|
||||
@@ -5,7 +5,6 @@ readme = "README.md"
|
||||
description = "CLIPRDR static channel for clipboard implemented as described in MS-RDPECLIP"
|
||||
edition.workspace = true
|
||||
license.workspace = true
|
||||
|
||||
homepage.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
@@ -17,12 +16,12 @@ doctest = false
|
||||
test = false
|
||||
|
||||
[dependencies]
|
||||
ironrdp-core.workspace = true
|
||||
ironrdp-pdu.workspace = true
|
||||
ironrdp-svc.workspace = true
|
||||
thiserror.workspace = true
|
||||
tracing.workspace = true
|
||||
bitflags.workspace = true
|
||||
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
|
||||
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
|
||||
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
|
||||
thiserror = "1.0"
|
||||
tracing = { version = "0.1", features = ["log"] }
|
||||
bitflags = "2.4"
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
@@ -19,16 +19,14 @@ test = false
|
||||
arbitrary = ["dep:arbitrary"]
|
||||
|
||||
[dependencies]
|
||||
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
|
||||
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
|
||||
ironrdp-error = { path = "../ironrdp-error", version = "0.1" }
|
||||
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3", features = ["std"] }
|
||||
arbitrary = { version = "1", features = ["derive"], optional = true }
|
||||
ironrdp-svc.workspace = true
|
||||
ironrdp-core.workspace = true
|
||||
ironrdp-error.workspace = true
|
||||
ironrdp-pdu = { workspace = true, features = ["std"] }
|
||||
rand_core = { version = "0.6", features = [
|
||||
"std",
|
||||
] } # TODO: dependency injection?
|
||||
sspi.workspace = true
|
||||
tracing.workspace = true
|
||||
rand_core = { version = "0.6", features = ["std"] } # TODO: dependency injection?
|
||||
sspi = "0.15"
|
||||
tracing = { version = "0.1", features = ["log"] }
|
||||
url = "2.5"
|
||||
picky-asn1-der = "0.5"
|
||||
picky-asn1-x509 = "0.14"
|
||||
|
||||
@@ -21,4 +21,4 @@ std = ["alloc", "ironrdp-error/std"]
|
||||
alloc = ["ironrdp-error/alloc"]
|
||||
|
||||
[dependencies]
|
||||
ironrdp-error.workspace = true
|
||||
ironrdp-error = { path = "../ironrdp-error", version = "0.1" }
|
||||
|
||||
@@ -16,11 +16,11 @@ doctest = false
|
||||
test = false
|
||||
|
||||
[dependencies]
|
||||
ironrdp-core.workspace = true
|
||||
ironrdp-dvc.workspace = true
|
||||
ironrdp-pdu.workspace = true
|
||||
ironrdp-svc.workspace = true
|
||||
tracing.workspace = true
|
||||
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
|
||||
ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.1" }
|
||||
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
|
||||
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
|
||||
tracing = { version = "0.1", features = ["log"] }
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
@@ -20,10 +20,10 @@ default = []
|
||||
std = []
|
||||
|
||||
[dependencies]
|
||||
ironrdp-core = { workspace = true, features = ["alloc"] }
|
||||
ironrdp-svc.workspace = true
|
||||
ironrdp-pdu = { workspace = true, features = ["alloc"] }
|
||||
tracing.workspace = true
|
||||
ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] }
|
||||
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
|
||||
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3", features = ["alloc"] }
|
||||
tracing = { version = "0.1", features = ["log"] }
|
||||
slab = "0.4"
|
||||
|
||||
[lints]
|
||||
|
||||
@@ -18,7 +18,7 @@ test = false
|
||||
[dependencies]
|
||||
bytes = "1"
|
||||
futures-util = { version = "0.3", features = ["io"] }
|
||||
ironrdp-async.workspace = true
|
||||
ironrdp-async = { path = "../ironrdp-async", version = "0.3" }
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
@@ -11,15 +11,15 @@ test = false
|
||||
|
||||
[dependencies]
|
||||
arbitrary = { version = "1", features = ["derive"] }
|
||||
ironrdp-core.workspace = true
|
||||
ironrdp-graphics.workspace = true
|
||||
ironrdp-pdu.workspace = true
|
||||
ironrdp-cliprdr.workspace = true
|
||||
ironrdp-rdpdr.workspace = true
|
||||
ironrdp-rdpsnd.workspace = true
|
||||
ironrdp-cliprdr-format.workspace = true
|
||||
ironrdp-displaycontrol.workspace = true
|
||||
ironrdp-svc.workspace = true
|
||||
ironrdp-core.path = "../ironrdp-core"
|
||||
ironrdp-graphics.path = "../ironrdp-graphics"
|
||||
ironrdp-pdu.path = "../ironrdp-pdu"
|
||||
ironrdp-cliprdr.path = "../ironrdp-cliprdr"
|
||||
ironrdp-rdpdr.path = "../ironrdp-rdpdr"
|
||||
ironrdp-rdpsnd.path = "../ironrdp-rdpsnd"
|
||||
ironrdp-cliprdr-format.path = "../ironrdp-cliprdr-format"
|
||||
ironrdp-displaycontrol.path = "../ironrdp-displaycontrol"
|
||||
ironrdp-svc.path = "../ironrdp-svc"
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
@@ -17,15 +17,15 @@ doctest = false
|
||||
|
||||
[dependencies]
|
||||
bit_field = "0.10"
|
||||
bitflags.workspace = true
|
||||
bitflags = "2.4"
|
||||
bitvec = "1.0"
|
||||
byteorder.workspace = true # TODO: remove
|
||||
ironrdp-core.workspace = true
|
||||
ironrdp-pdu = { workspace = true, features = ["std"] }
|
||||
lazy_static.workspace = true # TODO: remove in favor of https://doc.rust-lang.org/std/sync/struct.OnceLock.html
|
||||
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
|
||||
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3", features = ["std"] }
|
||||
byteorder = "1.5" # TODO: remove
|
||||
lazy_static.workspace = true # Legacy crate; prefer std::sync::LazyLock or LazyCell
|
||||
num-derive.workspace = true # TODO: remove
|
||||
num-traits.workspace = true # TODO: remove
|
||||
thiserror.workspace = true
|
||||
thiserror = "1"
|
||||
yuvutils-rs = { version = "0.8", features = ["rdp"] }
|
||||
|
||||
[dev-dependencies]
|
||||
|
||||
@@ -16,7 +16,7 @@ doctest = false
|
||||
test = false
|
||||
|
||||
[dependencies]
|
||||
ironrdp-pdu.workspace = true
|
||||
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
|
||||
bitvec = "1.0"
|
||||
smallvec = "1.13"
|
||||
|
||||
|
||||
@@ -21,21 +21,21 @@ std = ["alloc", "ironrdp-error/std", "ironrdp-core/std"]
|
||||
alloc = ["ironrdp-core/alloc", "ironrdp-error/alloc"]
|
||||
|
||||
[dependencies]
|
||||
bitflags.workspace = true
|
||||
ironrdp-core = { workspace = true, features = ["std"] }
|
||||
ironrdp-error.workspace = true
|
||||
bitflags = "2.4"
|
||||
ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["std"] }
|
||||
ironrdp-error = { path = "../ironrdp-error", version = "0.1" }
|
||||
tap = "1"
|
||||
|
||||
# TODO: get rid of these dependencies (related code should probably go into another crate)
|
||||
bit_field = "0.10"
|
||||
byteorder.workspace = true # TODO: remove
|
||||
byteorder = "1.5" # TODO: remove
|
||||
der-parser = "9.0"
|
||||
thiserror.workspace = true
|
||||
thiserror = "1.0"
|
||||
md5 = { package = "md-5", version = "0.10" }
|
||||
num-bigint = "0.4"
|
||||
num-derive.workspace = true # TODO: remove
|
||||
num-derive.workspace = true # TODO: remove
|
||||
num-integer = "0.1"
|
||||
num-traits.workspace = true # TODO: remove
|
||||
num-traits.workspace = true # TODO: remove
|
||||
sha1 = "0.10"
|
||||
x509-cert = { version = "0.2", default-features = false, features = ["std"] }
|
||||
pkcs1 = "0.7"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user