pub enum TsigError {
TsigConnectionError {
server: String,
reason: String,
},
TsigKeyNotFound {
secret_name: String,
namespace: String,
},
InvalidTsigKeyData {
secret_name: String,
reason: String,
},
TsigVerificationFailed {
server: String,
key_name: String,
},
}Expand description
Errors related to TSIG (Transaction Signature) authentication for dynamic DNS updates.
TSIG is used to authenticate dynamic DNS update requests. These errors occur when TSIG authentication fails due to invalid keys, mismatched algorithms, or replay attacks.
Variants§
TsigConnectionError
TSIG connection or authentication error when attempting dynamic updates
Returned when TSIG authentication fails. This could be due to:
- Incorrect TSIG key name or secret
- Mismatched TSIG algorithm between client and server
- Clock skew between client and server
- TSIG key not configured on the BIND9 server
Fields
TsigKeyNotFound
TSIG key not found in Kubernetes secret
Returned when the expected TSIG key secret doesn’t exist in Kubernetes. This indicates a configuration error or missing secret.
Fields
InvalidTsigKeyData
Invalid TSIG key data in Kubernetes secret
Returned when the TSIG secret exists but contains invalid data (missing fields, malformed base64, unsupported algorithm).
TsigVerificationFailed
TSIG verification failed (server rejected the signature)
Returned when the BIND9 server rejects the TSIG signature on a dynamic update. This indicates the signature doesn’t match, suggesting key mismatch or tampering.
Trait Implementations§
Source§impl Error for TsigError
impl Error for TsigError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Auto Trait Implementations§
impl Freeze for TsigError
impl RefUnwindSafe for TsigError
impl Send for TsigError
impl Sync for TsigError
impl Unpin for TsigError
impl UnwindSafe for TsigError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.