Skip to content

Implement GetBucketOwnershipControls #204

@alanking

Description

@alanking

S3 Browser showed an internal error from the connected server (S3 API). The following was in the S3 API logs:

irods-client-s3-api-1  | [2026-02-24 14:38:36.582] [P:1] [debug] [T:15] on_read: Header: (User-Agent, S3 Browser/13.1.1 (https://s3browser.com))
irods-client-s3-api-1  | [2026-02-24 14:38:36.582] [P:1] [debug] [T:15] on_read: Header: (Authorization, AWS4-HMAC-SHA256 Credential=s3rods/20260224/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=c2a816bb19ea793163194f392b5a5b24e0030f65fe6a1def5fc9c1f7e47568ec)
irods-client-s3-api-1  | [2026-02-24 14:38:36.582] [P:1] [debug] [T:15] on_read: Header: (x-amz-content-sha256, e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855)
irods-client-s3-api-1  | [2026-02-24 14:38:36.582] [P:1] [debug] [T:15] on_read: Header: (x-amz-date, 20260224T143836Z)
irods-client-s3-api-1  | [2026-02-24 14:38:36.582] [P:1] [debug] [T:15] on_read: Header: (Host, localhost:9002)
irods-client-s3-api-1  | [2026-02-24 14:38:36.582] [P:1] [debug] [T:15] on_read: Method: GET
irods-client-s3-api-1  | [2026-02-24 14:38:36.582] [P:1] [debug] [T:15] on_read: Version: 11
irods-client-s3-api-1  | [2026-02-24 14:38:36.582] [P:1] [debug] [T:15] on_read: Target: /irods_demo_bucket/?ownershipControls=
irods-client-s3-api-1  | [2026-02-24 14:38:36.582] [P:1] [debug] [T:15] on_read: Keep Alive: true
irods-client-s3-api-1  | [2026-02-24 14:38:36.582] [P:1] [debug] [T:15] on_read: Has Content Length: false
irods-client-s3-api-1  | [2026-02-24 14:38:36.582] [P:1] [debug] [T:15] on_read: Chunked: false
irods-client-s3-api-1  | [2026-02-24 14:38:36.582] [P:1] [debug] [T:15] on_read: Needs EOF: false
irods-client-s3-api-1  | [2026-02-24 14:38:36.582] [P:1] [debug] [T:15] on_read: Candidate url string: localhost:9002/irods_demo_bucket/?ownershipControls=
irods-client-s3-api-1  | [2026-02-24 14:38:36.582] [P:1] [debug] [T:15] on_read: GetObject detected
irods-client-s3-api-1  | [2026-02-24 14:38:36.586] [P:1] [debug] [T:13] /s3_api_source/core/src/authentication.cpp:63 (canonicalize_url) url=/irods_demo_bucket/
irods-client-s3-api-1  | [2026-02-24 14:38:36.586] [P:1] [debug] [T:13] Host,x-amz-content-sha256,x-amz-date,
irods-client-s3-api-1  | [2026-02-24 14:38:36.586] [P:1] [debug] [T:13] ========== Canon request ==========
irods-client-s3-api-1  | GET
irods-client-s3-api-1  | /irods_demo_bucket/
irods-client-s3-api-1  | ownershipControls=
irods-client-s3-api-1  | host:localhost:9002
irods-client-s3-api-1  | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
irods-client-s3-api-1  | x-amz-date:20260224T143836Z
irods-client-s3-api-1  |
irods-client-s3-api-1  | host;x-amz-content-sha256;x-amz-date
irods-client-s3-api-1  | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
irods-client-s3-api-1  | [2026-02-24 14:38:36.586] [P:1] [debug] [T:13] ======== String to sign ===========
irods-client-s3-api-1  | AWS4-HMAC-SHA256
irods-client-s3-api-1  | 20260224T143836Z
irods-client-s3-api-1  | 20260224/us-east-1/s3/aws4_request
irods-client-s3-api-1  | aa240e9ac4a2fc36c026e12776765f575b6c6f3b73bf5e19cfba974dd92e3c62
irods-client-s3-api-1  | [2026-02-24 14:38:36.586] [P:1] [debug] [T:13] ===================================
irods-client-s3-api-1  | [2026-02-24 14:38:36.586] [P:1] [debug] [T:13] user_mapping_irods_username: Fetching iRODS username associated with S3 access key ID [s3rods].
irods-client-s3-api-1  | [2026-02-24 14:38:36.586] [P:1] [debug] [T:13] user_mapping_irods_username: Found iRODS username [rods] associated with S3 access key ID [s3rods].
irods-client-s3-api-1  | [2026-02-24 14:38:36.586] [P:1] [debug] [T:13] user_mapping_s3_secret_key: Fetching S3 secret key associated with S3 access key ID [s3rods].
irods-client-s3-api-1  | [2026-02-24 14:38:36.586] [P:1] [debug] [T:13] user_mapping_s3_secret_key: Found S3 secret key associated with S3 access key ID [s3rods].
irods-client-s3-api-1  | [2026-02-24 14:38:36.586] [P:1] [debug] [T:13] date time component is 20260224
irods-client-s3-api-1  | [2026-02-24 14:38:36.586] [P:1] [debug] [T:13] Computed: [c2a816bb19ea793163194f392b5a5b24e0030f65fe6a1def5fc9c1f7e47568ec]
irods-client-s3-api-1  | [2026-02-24 14:38:36.586] [P:1] [debug] [T:13] Actual Signature: [c2a816bb19ea793163194f392b5a5b24e0030f65fe6a1def5fc9c1f7e47568ec]
irods-client-s3-api-1  | [2026-02-24 14:38:36.705] [P:1] [error] [T:13] handle_getobject: Exception path does not point to a data object: SYS_INVALID_INPUT_PARAM
irods-client-s3-api-1  | [2026-02-24 14:38:36.705] [P:1] [debug] [T:13] handle_getobject: returned [Internal Server Error]

A GET with ownershipControls indicates GetBucketOwnershipControls: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions