diff --git a/backend/oracleobjectstorage/byok.go b/backend/oracleobjectstorage/byok.go index 70ed5726d..f78cbc28c 100644 --- a/backend/oracleobjectstorage/byok.go +++ b/backend/oracleobjectstorage/byok.go @@ -115,11 +115,14 @@ func useBYOKCopyObject(fs *Fs, request *objectstorage.CopyObjectRequest) { } if fs.opt.SSECustomerAlgorithm != "" { request.OpcSseCustomerAlgorithm = new(fs.opt.SSECustomerAlgorithm) + request.OpcSourceSseCustomerAlgorithm = new(fs.opt.SSECustomerAlgorithm) } if fs.opt.SSECustomerKey != "" { request.OpcSseCustomerKey = new(fs.opt.SSECustomerKey) + request.OpcSourceSseCustomerKey = new(fs.opt.SSECustomerKey) } if fs.opt.SSECustomerKeySha256 != "" { request.OpcSseCustomerKeySha256 = new(fs.opt.SSECustomerKeySha256) + request.OpcSourceSseCustomerKeySha256 = new(fs.opt.SSECustomerKeySha256) } } diff --git a/backend/oracleobjectstorage/byok_test.go b/backend/oracleobjectstorage/byok_test.go new file mode 100644 index 000000000..489f6a945 --- /dev/null +++ b/backend/oracleobjectstorage/byok_test.go @@ -0,0 +1,25 @@ +//go:build !plan9 && !solaris && !js + +package oracleobjectstorage + +import ( + "testing" + + "github.com/oracle/oci-go-sdk/v65/objectstorage" + "github.com/stretchr/testify/assert" +) + +func TestUseBYOKCopyObject(t *testing.T) { + f := &Fs{opt: Options{ + SSECustomerAlgorithm: "AES256", + SSECustomerKey: "customer-key", + SSECustomerKeySha256: "customer-key-sha256", + }} + req := &objectstorage.CopyObjectRequest{} + + useBYOKCopyObject(f, req) + + assert.Equal(t, &f.opt.SSECustomerAlgorithm, req.OpcSourceSseCustomerAlgorithm) + assert.Equal(t, &f.opt.SSECustomerKey, req.OpcSourceSseCustomerKey) + assert.Equal(t, &f.opt.SSECustomerKeySha256, req.OpcSourceSseCustomerKeySha256) +}