[PR #486] [CLOSED] Fix SSE_C and SSE_KMS that return ETag that is not object MD5 #1519

Closed
opened 2026-03-04 02:00:51 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/s3fs-fuse/s3fs-fuse/pull/486
Author: @driskell
Created: 10/21/2016
Status: Closed

Base: masterHead: fix_sse


📝 Commits (1)

  • 1547422 Fix SSE_C and SSE_KMS that return ETag that is not object MD5

📊 Changes

2 files changed (+29 additions, -29 deletions)

View changed files

📝 src/curl.cpp (+29 -27)
📝 src/curl.h (+0 -2)

📄 Description

This PR fixes EIO error when uploading parts with SSE_KMS (and probably SSE_C too) due to the ETag response from S3 not actually being the MD5 of the data. It disables the ETag check when SSE_KMS or SSE_C is in use, and it also uses the S3 returned ETag in CompleteMultiPartUpload otherwise you get a 400 error with InvalidPart.

Also, instead of using a headerdata string this now makes user of the existing header parser. It has to do this in order to parse out the returned ETag since it is different to the one we sent.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/s3fs-fuse/s3fs-fuse/pull/486 **Author:** [@driskell](https://github.com/driskell) **Created:** 10/21/2016 **Status:** ❌ Closed **Base:** `master` ← **Head:** `fix_sse` --- ### 📝 Commits (1) - [`1547422`](https://github.com/s3fs-fuse/s3fs-fuse/commit/15474221af2c0cb744134ee741d17e1f16bd20c8) Fix SSE_C and SSE_KMS that return ETag that is not object MD5 ### 📊 Changes **2 files changed** (+29 additions, -29 deletions) <details> <summary>View changed files</summary> 📝 `src/curl.cpp` (+29 -27) 📝 `src/curl.h` (+0 -2) </details> ### 📄 Description This PR fixes EIO error when uploading parts with SSE_KMS (and probably SSE_C too) due to the ETag response from S3 not actually being the MD5 of the data. It disables the ETag check when SSE_KMS or SSE_C is in use, and it also uses the S3 returned ETag in CompleteMultiPartUpload otherwise you get a 400 error with InvalidPart. Also, instead of using a `headerdata` string this now makes user of the existing header parser. It has to do this in order to parse out the returned ETag since it is different to the one we sent. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-04 02:00:51 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/s3fs-fuse#1519
No description provided.