mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-21 11:56:38 +00:00
refactor(logging): normalize admin telemetry and error messages (#3430)
This commit is contained in:
@@ -655,7 +655,7 @@ where
|
||||
state = "requested",
|
||||
username = %masked_username,
|
||||
path = %path_str,
|
||||
"ftps object delete state changed"
|
||||
"FTPS delete requested"
|
||||
);
|
||||
|
||||
let (bucket, key) = self
|
||||
@@ -749,7 +749,7 @@ where
|
||||
username = %masked_username,
|
||||
path = %path_str,
|
||||
bucket = %bucket,
|
||||
"ftps directory state changed"
|
||||
"FTPS directory created"
|
||||
);
|
||||
Ok(())
|
||||
}
|
||||
@@ -793,7 +793,7 @@ where
|
||||
state = "removed",
|
||||
path = %path_str,
|
||||
bucket = %bucket,
|
||||
"ftps directory state changed"
|
||||
"FTPS directory removed"
|
||||
);
|
||||
Ok(())
|
||||
}
|
||||
@@ -807,7 +807,7 @@ where
|
||||
subsystem = LOG_SUBSYSTEM_FTPS_DRIVER,
|
||||
state = "already_removed",
|
||||
bucket = %bucket,
|
||||
"ftps directory state changed"
|
||||
"FTPS directory already removed"
|
||||
);
|
||||
Ok(())
|
||||
} else {
|
||||
@@ -877,7 +877,7 @@ where
|
||||
username = %MaskedAccessKey(&user.username),
|
||||
from = %from_str,
|
||||
to = %to_str,
|
||||
"ftps rename state changed"
|
||||
"FTPS rename unsupported"
|
||||
);
|
||||
|
||||
Err(Error::new(
|
||||
|
||||
@@ -107,7 +107,7 @@ where
|
||||
bind_addr = %self.config.bind_addr,
|
||||
tls_enabled = self.config.tls_enabled,
|
||||
ftps_required = self.config.ftps_required,
|
||||
"ftps server state changed"
|
||||
"FTPS server starting"
|
||||
);
|
||||
let (reload_shutdown_tx, reload_shutdown_rx) = watch::channel(false);
|
||||
|
||||
@@ -121,14 +121,14 @@ where
|
||||
// Configure passive ports for data connections
|
||||
if let Some(passive_ports) = &self.config.passive_ports {
|
||||
let range = self.config.parse_passive_ports()?;
|
||||
info!(
|
||||
debug!(
|
||||
event = EVENT_FTPS_CONFIG_STATE,
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_FTPS_SERVER,
|
||||
state = "passive_ports_configured",
|
||||
passive_ports = %passive_ports,
|
||||
passive_port_range = ?range,
|
||||
"ftps config state changed"
|
||||
"FTPS passive ports configured"
|
||||
);
|
||||
server_builder = server_builder.passive_ports(range);
|
||||
} else {
|
||||
@@ -137,19 +137,19 @@ where
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_FTPS_SERVER,
|
||||
result = "system_assigned_passive_ports",
|
||||
"ftps config state changed"
|
||||
"FTPS passive ports defaulted"
|
||||
);
|
||||
}
|
||||
|
||||
// Configure external IP address for passive mode
|
||||
if let Some(ref external_ip) = self.config.external_ip {
|
||||
info!(
|
||||
debug!(
|
||||
event = EVENT_FTPS_CONFIG_STATE,
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_FTPS_SERVER,
|
||||
state = "external_ip_configured",
|
||||
external_ip = %external_ip,
|
||||
"ftps config state changed"
|
||||
"FTPS external IP configured"
|
||||
);
|
||||
server_builder = server_builder.passive_host(external_ip.as_str());
|
||||
}
|
||||
@@ -157,13 +157,13 @@ where
|
||||
// Configure both active and passive mode support
|
||||
use libunftp::options::ActivePassiveMode;
|
||||
server_builder = server_builder.active_passive_mode(ActivePassiveMode::ActiveAndPassive);
|
||||
info!(
|
||||
debug!(
|
||||
event = EVENT_FTPS_CONFIG_STATE,
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_FTPS_SERVER,
|
||||
state = "active_passive_mode_enabled",
|
||||
mode = "active_and_passive",
|
||||
"ftps config state changed"
|
||||
"FTPS active/passive mode configured"
|
||||
);
|
||||
|
||||
// Configure FTPS / TLS
|
||||
@@ -175,7 +175,7 @@ where
|
||||
subsystem = LOG_SUBSYSTEM_FTPS_SERVER,
|
||||
state = "enabled",
|
||||
cert_dir = %cert_dir,
|
||||
"ftps tls state changed"
|
||||
"FTPS TLS enabled"
|
||||
);
|
||||
|
||||
let resolver = ReloadableServerCertResolver::load_from_directory(cert_dir)
|
||||
@@ -197,12 +197,12 @@ where
|
||||
server_builder = server_builder.ftps_manual::<std::path::PathBuf>(Arc::new(server_config));
|
||||
|
||||
if self.config.ftps_required {
|
||||
info!(
|
||||
debug!(
|
||||
event = EVENT_FTPS_TLS_STATE,
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_FTPS_SERVER,
|
||||
state = "required",
|
||||
"ftps tls state changed"
|
||||
"FTPS TLS required"
|
||||
);
|
||||
server_builder = server_builder.ftps_required(FtpsRequired::All, FtpsRequired::All);
|
||||
}
|
||||
@@ -218,7 +218,7 @@ where
|
||||
subsystem = LOG_SUBSYSTEM_FTPS_SERVER,
|
||||
state = "disabled",
|
||||
mode = "plain_ftp",
|
||||
"ftps tls state changed"
|
||||
"FTPS TLS disabled"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -248,13 +248,13 @@ where
|
||||
let _ = reload_shutdown_tx.send(true);
|
||||
match result {
|
||||
Ok(Ok(())) => {
|
||||
info!(
|
||||
debug!(
|
||||
event = EVENT_FTPS_SERVER_STATE,
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_FTPS_SERVER,
|
||||
state = "stopped",
|
||||
result = "ok",
|
||||
"ftps server state changed"
|
||||
"FTPS server stopped"
|
||||
);
|
||||
Ok(())
|
||||
}
|
||||
@@ -288,7 +288,7 @@ where
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_FTPS_SERVER,
|
||||
state = "shutdown_requested",
|
||||
"ftps server state changed"
|
||||
"FTPS shutdown requested"
|
||||
);
|
||||
let _ = reload_shutdown_tx.send(true);
|
||||
// libunftp listen() is not easily cancellable gracefully without dropping the future.
|
||||
@@ -330,7 +330,7 @@ impl UserDetailProvider for FtpsUserDetailProvider {
|
||||
result = "iam_unavailable",
|
||||
phase = "user_detail",
|
||||
error = %e,
|
||||
"ftps auth state changed"
|
||||
"FTPS user-detail IAM unavailable"
|
||||
);
|
||||
UserDetailError::ImplPropagated("Internal authentication service unavailable".to_string(), Some(Box::new(e)))
|
||||
})?;
|
||||
@@ -344,7 +344,7 @@ impl UserDetailProvider for FtpsUserDetailProvider {
|
||||
phase = "user_detail",
|
||||
username = %masked_username,
|
||||
error = %e,
|
||||
"ftps auth state changed"
|
||||
"FTPS user-detail key check failed"
|
||||
);
|
||||
UserDetailError::ImplPropagated("Authentication verification failed".to_string(), Some(Box::new(e)))
|
||||
})?;
|
||||
@@ -357,7 +357,7 @@ impl UserDetailProvider for FtpsUserDetailProvider {
|
||||
result = "identity_missing",
|
||||
phase = "user_detail",
|
||||
username = %masked_username,
|
||||
"ftps auth state changed"
|
||||
"FTPS user-detail identity missing"
|
||||
);
|
||||
UserDetailError::UserNotFound {
|
||||
username: principal.username.clone(),
|
||||
@@ -406,7 +406,7 @@ impl Authenticator for FtpsAuthenticator {
|
||||
result = "iam_unavailable",
|
||||
phase = "authenticate",
|
||||
error = %e,
|
||||
"ftps auth state changed"
|
||||
"FTPS auth IAM unavailable"
|
||||
);
|
||||
AuthenticationError::ImplPropagated("Internal authentication service unavailable".to_string(), Some(Box::new(e)))
|
||||
})?;
|
||||
@@ -433,7 +433,7 @@ impl Authenticator for FtpsAuthenticator {
|
||||
phase = "authenticate",
|
||||
username = %masked_username,
|
||||
error = %e,
|
||||
"ftps auth state changed"
|
||||
"FTPS auth key check failed"
|
||||
);
|
||||
AuthenticationError::ImplPropagated("Authentication verification failed".to_string(), Some(Box::new(e)))
|
||||
})?;
|
||||
@@ -446,7 +446,7 @@ impl Authenticator for FtpsAuthenticator {
|
||||
result = "invalid_access_key",
|
||||
phase = "authenticate",
|
||||
username = %masked_username,
|
||||
"ftps auth state changed"
|
||||
"FTPS auth rejected access key"
|
||||
);
|
||||
return Err(AuthenticationError::BadUser);
|
||||
}
|
||||
@@ -459,7 +459,7 @@ impl Authenticator for FtpsAuthenticator {
|
||||
result = "identity_missing",
|
||||
phase = "authenticate",
|
||||
username = %masked_username,
|
||||
"ftps auth state changed"
|
||||
"FTPS auth identity missing"
|
||||
);
|
||||
AuthenticationError::BadUser
|
||||
})?;
|
||||
@@ -472,7 +472,7 @@ impl Authenticator for FtpsAuthenticator {
|
||||
result = "invalid_secret_key",
|
||||
phase = "authenticate",
|
||||
username = %masked_username,
|
||||
"ftps auth state changed"
|
||||
"FTPS auth rejected secret key"
|
||||
);
|
||||
return Err(AuthenticationError::BadPassword);
|
||||
}
|
||||
@@ -484,7 +484,7 @@ impl Authenticator for FtpsAuthenticator {
|
||||
result = "authenticated",
|
||||
phase = "authenticate",
|
||||
username = %masked_username,
|
||||
"ftps auth state changed"
|
||||
"FTPS auth accepted"
|
||||
);
|
||||
Ok(Principal {
|
||||
username: username.to_string(),
|
||||
|
||||
@@ -188,7 +188,7 @@ impl<S: StorageBackend + Send + Sync + 'static> SftpDriver<S> {
|
||||
peer = %self.session_context.source_ip,
|
||||
user = %MaskedAccessKey(&self.session_context.principal.user_identity.credentials.access_key),
|
||||
result = "read_only_rejected",
|
||||
"sftp driver state changed"
|
||||
"SFTP write rejected by read-only mode"
|
||||
);
|
||||
return Err(SftpError::code(StatusCode::PermissionDenied));
|
||||
}
|
||||
@@ -250,7 +250,7 @@ impl<S: StorageBackend + Send + Sync + 'static> SftpDriver<S> {
|
||||
op = op,
|
||||
timeout_secs = self.backend_op_timeout_secs,
|
||||
result = "timeout",
|
||||
"sftp backend state changed"
|
||||
"SFTP backend operation timed out"
|
||||
);
|
||||
Err(SftpError::code(StatusCode::Failure))
|
||||
}
|
||||
|
||||
@@ -255,7 +255,7 @@ fn spawn_host_key_reload_loop(config: SftpConfig, holder: Arc<SshConfigHolder>,
|
||||
state = "enabled",
|
||||
host_key_dir = %config.host_key_dir.display(),
|
||||
interval_secs,
|
||||
"sftp host key reload state changed"
|
||||
"SFTP host-key reload enabled"
|
||||
);
|
||||
|
||||
tokio::spawn(async move {
|
||||
@@ -265,13 +265,13 @@ fn spawn_host_key_reload_loop(config: SftpConfig, holder: Arc<SshConfigHolder>,
|
||||
loop {
|
||||
tokio::select! {
|
||||
_ = shutdown_token.cancelled() => {
|
||||
info!(
|
||||
debug!(
|
||||
event = EVENT_SFTP_HOST_KEY_RELOAD_STATE,
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_SFTP_SERVER,
|
||||
state = "stopped",
|
||||
host_key_dir = %config.host_key_dir.display(),
|
||||
"sftp host key reload state changed"
|
||||
"SFTP host-key reload stopped"
|
||||
);
|
||||
break;
|
||||
}
|
||||
@@ -280,14 +280,14 @@ fn spawn_host_key_reload_loop(config: SftpConfig, holder: Arc<SshConfigHolder>,
|
||||
|
||||
match holder.reload_from_config(&config).await {
|
||||
Ok(Some(host_key_count)) => {
|
||||
info!(
|
||||
debug!(
|
||||
event = EVENT_SFTP_HOST_KEY_RELOAD_STATE,
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_SFTP_SERVER,
|
||||
result = "reloaded",
|
||||
host_key_dir = %config.host_key_dir.display(),
|
||||
host_key_count,
|
||||
"sftp host key reload state changed"
|
||||
"SFTP host keys reloaded"
|
||||
);
|
||||
}
|
||||
Ok(None) => {
|
||||
@@ -297,7 +297,7 @@ fn spawn_host_key_reload_loop(config: SftpConfig, holder: Arc<SshConfigHolder>,
|
||||
subsystem = LOG_SUBSYSTEM_SFTP_SERVER,
|
||||
result = "unchanged",
|
||||
host_key_dir = %config.host_key_dir.display(),
|
||||
"sftp host key reload state changed"
|
||||
"SFTP host keys unchanged"
|
||||
);
|
||||
}
|
||||
Err(err) => {
|
||||
@@ -308,7 +308,7 @@ fn spawn_host_key_reload_loop(config: SftpConfig, holder: Arc<SshConfigHolder>,
|
||||
result = "reload_failed",
|
||||
host_key_dir = %config.host_key_dir.display(),
|
||||
err = %err,
|
||||
"sftp host key reload state changed"
|
||||
"SFTP host-key reload failed"
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -398,7 +398,7 @@ where
|
||||
state = "listening",
|
||||
bind_addr = %self.config.bind_addr,
|
||||
read_only = self.config.read_only,
|
||||
"sftp server state changed"
|
||||
"SFTP server listening"
|
||||
);
|
||||
|
||||
let mut sessions: JoinSet<()> = JoinSet::new();
|
||||
|
||||
@@ -75,7 +75,7 @@ pub(super) fn write_dispatch_byte_count(phase: &WritePhase, part_size: u64, satu
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_SFTP_WRITE,
|
||||
result = "byte_count_overflow",
|
||||
"sftp write state changed"
|
||||
"SFTP write byte-count overflow"
|
||||
);
|
||||
Err(SftpError::code(StatusCode::Failure))
|
||||
}
|
||||
@@ -90,7 +90,7 @@ pub(super) fn write_dispatch_byte_count(phase: &WritePhase, part_size: u64, satu
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_SFTP_WRITE,
|
||||
result = "handle_poisoned",
|
||||
"sftp write state changed"
|
||||
"SFTP write handle poisoned"
|
||||
);
|
||||
Err(SftpError::code(StatusCode::Failure))
|
||||
}
|
||||
@@ -115,7 +115,7 @@ pub(super) fn write_dispatch_append_bytes(phase: &mut WritePhase, data: &[u8]) -
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_SFTP_WRITE,
|
||||
result = "append_on_failed_handle",
|
||||
"sftp write state changed"
|
||||
"SFTP write append rejected on failed handle"
|
||||
);
|
||||
Err(SftpError::code(StatusCode::Failure))
|
||||
}
|
||||
@@ -368,7 +368,7 @@ impl<S: StorageBackend + Send + Sync + 'static> SftpDriver<S> {
|
||||
key = %sanitise_control_bytes(key),
|
||||
attempt = attempt,
|
||||
state = "retrying_put_object",
|
||||
"sftp write state changed",
|
||||
"SFTP put_object retry scheduled",
|
||||
);
|
||||
}
|
||||
|
||||
@@ -414,7 +414,7 @@ impl<S: StorageBackend + Send + Sync + 'static> SftpDriver<S> {
|
||||
bucket = %sanitise_control_bytes(bucket),
|
||||
key = %sanitise_control_bytes(key),
|
||||
result = "retry_loop_fell_through",
|
||||
"sftp write state changed",
|
||||
"SFTP put_object retry loop fell through",
|
||||
);
|
||||
Err(SftpError::code(StatusCode::Failure))
|
||||
}
|
||||
@@ -459,7 +459,7 @@ impl<S: StorageBackend + Send + Sync + 'static> SftpDriver<S> {
|
||||
upload_id = %upload_id,
|
||||
part_number = part_number,
|
||||
result = "etag_missing",
|
||||
"sftp multipart state changed"
|
||||
"SFTP multipart part missing etag"
|
||||
);
|
||||
SftpError::code(StatusCode::Failure)
|
||||
})?;
|
||||
@@ -543,7 +543,7 @@ impl<S: StorageBackend + Send + Sync + 'static> SftpDriver<S> {
|
||||
bucket = %sanitise_control_bytes(bucket),
|
||||
key = %sanitise_control_bytes(key),
|
||||
result = "upload_id_missing",
|
||||
"sftp multipart state changed"
|
||||
"SFTP multipart upload missing upload_id"
|
||||
);
|
||||
SftpError::code(StatusCode::Failure)
|
||||
})?;
|
||||
@@ -708,7 +708,7 @@ impl<S: StorageBackend + Send + Sync + 'static> SftpDriver<S> {
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_SFTP_WRITE,
|
||||
result = "buffering_phase_lost",
|
||||
"sftp multipart state changed"
|
||||
"SFTP multipart buffering phase lost"
|
||||
);
|
||||
return Err(SftpError::code(StatusCode::Failure));
|
||||
}
|
||||
@@ -772,7 +772,7 @@ impl<S: StorageBackend + Send + Sync + 'static> SftpDriver<S> {
|
||||
key = %key,
|
||||
limit = S3_MAX_MULTIPART_PARTS,
|
||||
result = "parts_limit_exceeded",
|
||||
"sftp multipart state changed",
|
||||
"SFTP multipart parts limit exceeded",
|
||||
);
|
||||
let upload_id_for_fail = upload_id.clone();
|
||||
let abort_authorized_for_fail = *abort_authorized;
|
||||
@@ -791,7 +791,7 @@ impl<S: StorageBackend + Send + Sync + 'static> SftpDriver<S> {
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_SFTP_WRITE,
|
||||
result = "flush_without_streaming",
|
||||
"sftp multipart state changed"
|
||||
"SFTP multipart flush requested without streaming state"
|
||||
);
|
||||
return Err(SftpError::code(StatusCode::Failure));
|
||||
}
|
||||
@@ -817,7 +817,7 @@ impl<S: StorageBackend + Send + Sync + 'static> SftpDriver<S> {
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_SFTP_WRITE,
|
||||
result = "post_upload_phase_missing",
|
||||
"sftp multipart state changed"
|
||||
"SFTP multipart post-upload phase missing"
|
||||
);
|
||||
Err(SftpError::code(StatusCode::Failure))
|
||||
}
|
||||
@@ -887,7 +887,7 @@ impl<S: StorageBackend + Send + Sync + 'static> SftpDriver<S> {
|
||||
err = ?abort_err,
|
||||
context = context,
|
||||
result = "abort_failed",
|
||||
"sftp abort state changed",
|
||||
"SFTP multipart abort failed",
|
||||
);
|
||||
}
|
||||
} else {
|
||||
@@ -901,7 +901,7 @@ impl<S: StorageBackend + Send + Sync + 'static> SftpDriver<S> {
|
||||
access_key = %MaskedAccessKey(self.access_key()),
|
||||
context = context,
|
||||
result = "abort_skipped_unauthorized",
|
||||
"sftp abort state changed",
|
||||
"SFTP multipart abort skipped by policy",
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -959,7 +959,7 @@ impl<S: StorageBackend + Send + Sync + 'static> SftpDriver<S> {
|
||||
upload_id = %upload_id,
|
||||
limit = S3_MAX_MULTIPART_PARTS,
|
||||
result = "final_part_limit_exceeded",
|
||||
"sftp multipart state changed",
|
||||
"SFTP multipart final-part limit exceeded",
|
||||
);
|
||||
self.close_abort_or_skip(bucket, key, &upload_id, abort_authorized, "parts-limit breach")
|
||||
.await;
|
||||
@@ -1080,7 +1080,7 @@ impl<S: StorageBackend + Send + Sync + 'static> SftpDriver<S> {
|
||||
upload_id = %mp.upload_id,
|
||||
part_number = part_number,
|
||||
result = "etag_missing",
|
||||
"sftp multipart copy state changed"
|
||||
"SFTP multipart copy part missing etag"
|
||||
);
|
||||
SftpError::code(StatusCode::Failure)
|
||||
})?;
|
||||
|
||||
@@ -423,7 +423,7 @@ where
|
||||
bucket = %bucket,
|
||||
object = %key,
|
||||
file_size,
|
||||
"webdav object write state changed"
|
||||
"WebDAV object flush completed"
|
||||
);
|
||||
// Buffer already cleared by std::mem::take above
|
||||
Ok(())
|
||||
@@ -438,7 +438,7 @@ where
|
||||
object = %key,
|
||||
file_size,
|
||||
error = %e,
|
||||
"webdav object write state changed"
|
||||
"WebDAV object flush failed"
|
||||
);
|
||||
Err(FsError::GeneralFailure)
|
||||
}
|
||||
@@ -1219,7 +1219,7 @@ where
|
||||
result = "not_found",
|
||||
bucket = %bucket,
|
||||
error = %e,
|
||||
"webdav bucket metadata state changed"
|
||||
"WebDAV bucket metadata listed"
|
||||
);
|
||||
Err(FsError::NotFound)
|
||||
}
|
||||
@@ -1279,7 +1279,7 @@ where
|
||||
state = "created",
|
||||
bucket = %bucket,
|
||||
object = %dir_key,
|
||||
"webdav directory state changed"
|
||||
"WebDAV directory marker created"
|
||||
);
|
||||
return Ok(());
|
||||
}
|
||||
@@ -1292,7 +1292,7 @@ where
|
||||
bucket = %bucket,
|
||||
object = %dir_key,
|
||||
error = %e,
|
||||
"webdav directory state changed"
|
||||
"WebDAV directory marker create failed"
|
||||
);
|
||||
return Err(FsError::GeneralFailure);
|
||||
}
|
||||
@@ -1320,7 +1320,7 @@ where
|
||||
subsystem = LOG_SUBSYSTEM_WEBDAV_DRIVER,
|
||||
state = "bucket_created",
|
||||
bucket = %bucket,
|
||||
"webdav directory state changed"
|
||||
"WebDAV bucket created"
|
||||
);
|
||||
Ok(())
|
||||
}
|
||||
@@ -1332,7 +1332,7 @@ where
|
||||
state = "bucket_create_failed",
|
||||
bucket = %bucket,
|
||||
error = %e,
|
||||
"webdav directory state changed"
|
||||
"WebDAV bucket create failed"
|
||||
);
|
||||
Err(FsError::GeneralFailure)
|
||||
}
|
||||
@@ -1465,7 +1465,7 @@ where
|
||||
state = "deleted",
|
||||
bucket = %bucket,
|
||||
object = %key,
|
||||
"webdav object delete state changed"
|
||||
"WebDAV object deleted"
|
||||
);
|
||||
Ok(())
|
||||
}
|
||||
@@ -1478,7 +1478,7 @@ where
|
||||
bucket = %bucket,
|
||||
object = %key,
|
||||
error = %e,
|
||||
"webdav object delete state changed"
|
||||
"WebDAV object delete failed"
|
||||
);
|
||||
Err(FsError::GeneralFailure)
|
||||
}
|
||||
@@ -1529,7 +1529,7 @@ where
|
||||
dst_bucket = %dst_bucket,
|
||||
dst_object = %dst_key,
|
||||
error = %e,
|
||||
"webdav rename state changed"
|
||||
"WebDAV rename source delete failed"
|
||||
);
|
||||
FsError::GeneralFailure
|
||||
})?;
|
||||
@@ -1543,7 +1543,7 @@ where
|
||||
src_object = %src_key,
|
||||
dst_bucket = %dst_bucket,
|
||||
dst_object = %dst_key,
|
||||
"webdav rename state changed"
|
||||
"WebDAV file renamed"
|
||||
);
|
||||
return Ok(());
|
||||
}
|
||||
@@ -1603,7 +1603,7 @@ where
|
||||
dst_bucket = %dst_bucket,
|
||||
dst_prefix = %dst_prefix,
|
||||
error = %e,
|
||||
"webdav rename state changed"
|
||||
"WebDAV rename directory listing failed"
|
||||
);
|
||||
FsError::GeneralFailure
|
||||
})?;
|
||||
@@ -1652,7 +1652,7 @@ where
|
||||
src_object = %src_key,
|
||||
dst_bucket = %dst_bucket,
|
||||
dst_object = %dst_key,
|
||||
"webdav rename state changed"
|
||||
"WebDAV rename source not found"
|
||||
);
|
||||
return Err(FsError::NotFound);
|
||||
}
|
||||
@@ -1666,7 +1666,7 @@ where
|
||||
src_object = %src_key,
|
||||
dst_bucket = %dst_bucket,
|
||||
dst_object = %dst_key,
|
||||
"webdav rename state changed"
|
||||
"WebDAV directory renamed"
|
||||
);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ where
|
||||
bind_addr = %self.config.bind_addr,
|
||||
tls_enabled = self.config.tls_enabled,
|
||||
max_body_size = self.config.max_body_size,
|
||||
"webdav server state changed"
|
||||
"WebDAV server starting"
|
||||
);
|
||||
|
||||
let listener = TcpListener::bind(self.config.bind_addr).await?;
|
||||
@@ -96,7 +96,7 @@ where
|
||||
subsystem = LOG_SUBSYSTEM_WEBDAV_SERVER,
|
||||
state = "listening",
|
||||
bind_addr = %self.config.bind_addr,
|
||||
"webdav server state changed"
|
||||
"WebDAV server listening"
|
||||
);
|
||||
let (reload_shutdown_tx, reload_shutdown_rx) = watch::channel(false);
|
||||
|
||||
@@ -109,7 +109,7 @@ where
|
||||
subsystem = LOG_SUBSYSTEM_WEBDAV_SERVER,
|
||||
state = "enabled",
|
||||
cert_dir = %cert_dir,
|
||||
"webdav tls state changed"
|
||||
"WebDAV TLS enabled"
|
||||
);
|
||||
|
||||
let resolver = ReloadableServerCertResolver::load_from_directory(cert_dir)
|
||||
@@ -211,7 +211,7 @@ where
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_WEBDAV_SERVER,
|
||||
state = "shutdown_requested",
|
||||
"webdav server state changed"
|
||||
"WebDAV shutdown requested"
|
||||
);
|
||||
let _ = reload_shutdown_tx.send(true);
|
||||
break;
|
||||
@@ -225,7 +225,7 @@ where
|
||||
component = LOG_COMPONENT_PROTOCOLS,
|
||||
subsystem = LOG_SUBSYSTEM_WEBDAV_SERVER,
|
||||
state = "stopped",
|
||||
"webdav server state changed"
|
||||
"WebDAV server stopped"
|
||||
);
|
||||
Ok(())
|
||||
}
|
||||
@@ -376,7 +376,7 @@ where
|
||||
result = "iam_unavailable",
|
||||
source_ip = %source_ip,
|
||||
error = %e,
|
||||
"webdav auth state changed"
|
||||
"WebDAV auth IAM unavailable"
|
||||
);
|
||||
WebDavInitError::Server("Internal authentication service unavailable".to_string())
|
||||
})?;
|
||||
@@ -403,7 +403,7 @@ where
|
||||
source_ip = %source_ip,
|
||||
access_key = %masked_access_key,
|
||||
error = %e,
|
||||
"webdav auth state changed"
|
||||
"WebDAV auth key check failed"
|
||||
);
|
||||
WebDavInitError::Server("Authentication verification failed".to_string())
|
||||
})?;
|
||||
@@ -416,7 +416,7 @@ where
|
||||
result = "invalid_access_key",
|
||||
source_ip = %source_ip,
|
||||
access_key = %masked_access_key,
|
||||
"webdav auth state changed"
|
||||
"WebDAV auth rejected access key"
|
||||
);
|
||||
return Err(WebDavInitError::Server("Invalid credentials".to_string()));
|
||||
}
|
||||
@@ -429,7 +429,7 @@ where
|
||||
result = "identity_missing",
|
||||
source_ip = %source_ip,
|
||||
access_key = %masked_access_key,
|
||||
"webdav auth state changed"
|
||||
"WebDAV auth identity missing"
|
||||
);
|
||||
WebDavInitError::Server("User not found".to_string())
|
||||
})?;
|
||||
@@ -442,7 +442,7 @@ where
|
||||
result = "invalid_secret_key",
|
||||
source_ip = %source_ip,
|
||||
access_key = %masked_access_key,
|
||||
"webdav auth state changed"
|
||||
"WebDAV auth rejected secret key"
|
||||
);
|
||||
return Err(WebDavInitError::Server("Invalid credentials".to_string()));
|
||||
}
|
||||
@@ -454,7 +454,7 @@ where
|
||||
result = "authenticated",
|
||||
source_ip = %source_ip,
|
||||
access_key = %masked_access_key,
|
||||
"webdav auth state changed"
|
||||
"WebDAV auth accepted"
|
||||
);
|
||||
|
||||
Ok(SessionContext::new(
|
||||
|
||||
Reference in New Issue
Block a user