mirror of
https://github.com/rustfs/rustfs.git
synced 2026-11-08 11:33:41 +00:00
69f8e364b0
* fix(audit): replay queued payloads for internal event names Audit entries are persisted by the store targets and read back through serde. Three internal events (CreateMultipartUpload, AbortMultipartUpload, DeleteObjects) serialized to a string that EventName::deserialize rejected, so every queued entry for them was dropped on replay. Read the persisted event name through a lenient deserialize_with function; EventName's own Deserialize and parse stay strict because they also back notification configuration. * fix(audit): emit entries for multipart parts and bucket config writes UploadPart, UploadPartCopy, AbortMultipartUpload and the mutating bucket configuration operations never produced an audit entry: the audit path required a bucket notification event and these operations have none, or (AbortMultipartUpload) never built a helper. Add an audit-only OperationHelper constructor that builds no notification event and wrap the S3 handlers for these operations with it. Operations without a notification event use one coarse audit-only event name, with the operation in api.name. --------- Co-authored-by: Hauser Zhi <housemecn@gmail.com>