diff options
author | Florian Klink <flokli@flokli.de> | 2024-08-17T19·00+0300 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-08-18T17·22+0000 |
commit | e086c76ee941198c70756e1b7b383edcb3572b4b (patch) | |
tree | 58fbfe1eeb992489a2feff0bf9ff8852309cd720 /tvix/castore/src/errors.rs | |
parent | 56fa533e438bd367aa5cae6fa505508aced42156 (diff) |
refactor(tvix/castore): have SymlinkTarget-specific errors r/8514
Don't use ValidateNodeError, but SymlinkTargetError. Also, add checks for too long symlink targets. Change-Id: I4b533325d494232ff9d0b3f4f695f5a1a0a36199 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12230 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: edef <edef@edef.eu> Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/castore/src/errors.rs')
-rw-r--r-- | tvix/castore/src/errors.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/tvix/castore/src/errors.rs b/tvix/castore/src/errors.rs index ec59c7734584..3c044d9d79cb 100644 --- a/tvix/castore/src/errors.rs +++ b/tvix/castore/src/errors.rs @@ -3,7 +3,10 @@ use thiserror::Error; use tokio::task::JoinError; use tonic::Status; -use crate::path::{PathComponent, PathComponentError}; +use crate::{ + path::{PathComponent, PathComponentError}, + SymlinkTargetError, +}; /// Errors related to communication with the store. #[derive(Debug, Error, PartialEq)] @@ -22,8 +25,8 @@ pub enum ValidateNodeError { #[error("invalid digest length: {0}")] InvalidDigestLen(usize), /// Invalid symlink target - #[error("Invalid symlink target: {}", .0.as_bstr())] - InvalidSymlinkTarget(bytes::Bytes), + #[error("Invalid symlink target: {0}")] + InvalidSymlinkTarget(SymlinkTargetError), } impl From<crate::digests::Error> for ValidateNodeError { |