Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci_static_analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ jobs:
python -m pip install --upgrade pip
python -m pip install setuptools==81.0.0
- name: not-grep
uses: mattsb42-meta/not-grep@1.0.0
uses: mattsb42-meta/not-grep@1.0.1
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## Rust-1.2.3 (2026-03-10)

### Maintenance

- bump aws-lc-sys to 0.38 to mitigate false positive code scanners

## [3.9.1](https://github.com/aws/aws-database-encryption-sdk-dynamodb/compare/v3.9.0...v3.9.1) (2026-02-06)

This release is available in the following languages:
Expand Down
4 changes: 2 additions & 2 deletions DynamoDbEncryption/runtimes/rust/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "aws-db-esdk"
version = "1.2.2"
version = "1.2.3"
edition = "2021"
keywords = ["cryptography", "security", "dynamodb", "encryption", "client-side"]
license = "ISC AND (Apache-2.0 OR ISC)"
Expand All @@ -17,7 +17,7 @@ readme = "README.md"
[dependencies]
aws-config = "1.8.12"
aws-lc-rs = {version = "1.15.4"}
aws-lc-sys = { version = "0.37", optional = true }
aws-lc-sys = { version = "0.38", optional = true }
aws-lc-fips-sys = { version = "0.13", optional = true }
aws-sdk-dynamodb = "1.103.0"
aws-sdk-kms = "1.98.0"
Expand Down
20 changes: 8 additions & 12 deletions DynamoDbEncryption/runtimes/rust/examples/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,23 +60,19 @@ pub async fn main() -> Result<(), BoxError2> {
keyring::mrk_discovery_multi_keyring::put_item_get_item().await?;
clientsupplier::client_supplier_example::put_item_get_item().await?;

let key_id = create_keystore_key::keystore_create_key().await?;
let key_id2 = create_keystore_key::keystore_create_key().await?;
// Key creation is eventually consistent, so wait 5 seconds to decrease the likelihood
// our test fails due to eventual consistency issues.
println!("Key Store Keys created. Waiting 5 seconds for consistency.");
std::thread::sleep(std::time::Duration::from_secs(5));
let key_id = test_utils::TEST_BRANCH_KEY_ID;
let key_id2 = test_utils::TEST_ALTERNATE_BRANCH_KEY_ID;

keyring::hierarchical_keyring::put_item_get_item(&key_id, &key_id2).await?;
keyring::hierarchical_keyring::put_item_get_item(key_id, key_id2).await?;

searchableencryption::basic_searchable_encryption::put_and_query_with_beacon(&key_id).await?;
searchableencryption::beacon_styles_searchable_encryption::put_and_query_with_beacon(&key_id)
searchableencryption::basic_searchable_encryption::put_and_query_with_beacon(key_id).await?;
searchableencryption::beacon_styles_searchable_encryption::put_and_query_with_beacon(key_id)
.await?;
searchableencryption::compound_beacon_searchable_encryption::put_and_query_with_beacon(&key_id)
searchableencryption::compound_beacon_searchable_encryption::put_and_query_with_beacon(key_id)
.await?;
searchableencryption::virtual_beacon_searchable_encryption::put_and_query_with_beacon(&key_id)
searchableencryption::virtual_beacon_searchable_encryption::put_and_query_with_beacon(key_id)
.await?;
searchableencryption::complexexample::complex_searchable_encryption::run_example(&key_id)
searchableencryption::complexexample::complex_searchable_encryption::run_example(key_id)
.await?;

// ScanError will have to wait until we have a reasonable error message strategy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ async fn put_all_meeting_items(
let meeting1_attendee_list = vec![ss("able@gmail.com"), ss("zorro@gmail.com")];
let meeting1_location = HashMap::from([entry("Floor", "12"), entry("Room", "403")]);
let meeting1 = HashMap::from([
entry("partition_key", "meeting1"),
entry("partition_key", "meeting1-rust"),
entry("EmployeeID", "emp_001"),
entry("EmployeeEmail", "able@gmail.com"),
entry("MeetingStart", "2022-07-04T13:00"),
Expand All @@ -79,7 +79,7 @@ async fn put_all_meeting_items(
let meeting2_attendee_list = vec![ss("barney@gmail.com"), ss("zorro@gmail.com")];
let meeting2_location = HashMap::from([entry("Floor", "12"), entry("Room", "403")]);
let meeting2 = HashMap::from([
entry("partition_key", "meeting2"),
entry("partition_key", "meeting2-rust"),
entry("EmployeeID", "emp_002"),
entry("EmployeeEmail", "barney@gmail.com"),
entry("MeetingStart", "2022-07-04T13:00"),
Expand All @@ -96,7 +96,7 @@ async fn put_all_meeting_items(
let meeting3_attendee_list = vec![ss("charlie@gmail.com"), ss("zorro@gmail.com")];
let meeting3_location = HashMap::from([entry("Floor", "12"), entry("Room", "403")]);
let meeting3 = HashMap::from([
entry("partition_key", "meeting3"),
entry("partition_key", "meeting3-rust"),
entry("EmployeeID", "emp_003"),
entry("EmployeeEmail", "charlie@gmail.com"),
entry("MeetingStart", "2022-07-04T13:00"),
Expand All @@ -113,7 +113,7 @@ async fn put_all_meeting_items(
let meeting4_attendee_list = vec![ss("david@gmail.com"), ss("zorro@gmail.com")];
let meeting4_location = HashMap::from([entry("Floor", "12"), entry("Room", "403")]);
let meeting4 = HashMap::from([
entry("partition_key", "meeting4"),
entry("partition_key", "meeting4-rust"),
entry("EmployeeID", "emp_004"),
entry("EmployeeEmail", "david@gmail.com"),
entry("MeetingStart", "2022-07-04T13:00"),
Expand All @@ -130,7 +130,7 @@ async fn put_all_meeting_items(
let meeting5_attendee_list = vec![ss("barney@gmail.com"), ss("zorro@gmail.com")];
let meeting5_location = HashMap::from([entry("Floor", "12"), entry("Room", "407")]);
let meeting5 = HashMap::from([
entry("partition_key", "meeting5"),
entry("partition_key", "meeting5-rust"),
entry("EmployeeID", "emp_002"),
entry("EmployeeEmail", "barney@gmail.com"),
entry("MeetingStart", "2022-07-04T14:00"),
Expand All @@ -147,7 +147,7 @@ async fn put_all_meeting_items(
let meeting6_attendee_list = vec![ss("charlie@gmail.com"), ss("zorro@gmail.com")];
let meeting6_location = HashMap::from([entry("Floor", "12"), entry("Room", "407")]);
let meeting6 = HashMap::from([
entry("partition_key", "meeting6"),
entry("partition_key", "meeting6-rust"),
entry("EmployeeID", "emp_003"),
entry("EmployeeEmail", "charlie@gmail.com"),
entry("MeetingStart", "2022-07-04T14:00"),
Expand Down Expand Up @@ -175,7 +175,7 @@ async fn put_all_employee_items(
entry("City", "Seattle"),
]);
let employee1 = HashMap::from([
entry("partition_key", "employee1"),
entry("partition_key", "employee1-rust"),
entry("EmployeeID", "emp_001"),
entry("EmployeeEmail", "able@gmail.com"),
entry("ManagerEmail", "zorro@gmail.com"),
Expand All @@ -195,7 +195,7 @@ async fn put_all_employee_items(
entry("City", "Seattle"),
]);
let employee2 = HashMap::from([
entry("partition_key", "employee2"),
entry("partition_key", "employee2-rust"),
entry("EmployeeID", "emp_002"),
entry("EmployeeEmail", "barney@gmail.com"),
entry("ManagerEmail", "zorro@gmail.com"),
Expand All @@ -215,7 +215,7 @@ async fn put_all_employee_items(
entry("City", "Seattle"),
]);
let employee3 = HashMap::from([
entry("partition_key", "employee3"),
entry("partition_key", "employee3-rust"),
entry("EmployeeID", "emp_003"),
entry("EmployeeEmail", "charlie@gmail.com"),
entry("ManagerEmail", "zorro@gmail.com"),
Expand All @@ -235,7 +235,7 @@ async fn put_all_employee_items(
entry("City", "NYC"),
]);
let employee4 = HashMap::from([
entry("partition_key", "employee4"),
entry("partition_key", "employee4-rust"),
entry("EmployeeID", "emp_004"),
entry("EmployeeEmail", "david@gmail.com"),
entry("ManagerEmail", "zorro@gmail.com"),
Expand All @@ -256,7 +256,7 @@ async fn put_all_project_items(
ddb: &mut aws_sdk_dynamodb::Client,
) -> Result<(), crate::BoxError> {
let project1 = HashMap::from([
entry("partition_key", "project1"),
entry("partition_key", "project1-rust"),
entry("ProjectName", "project_001"),
entry("ProjectStatus", "Pending"),
entry("ProjectStart", "2022-11-01"),
Expand All @@ -266,7 +266,7 @@ async fn put_all_project_items(
put_item(ddb_table_name, ddb, project1).await?;

let project2 = HashMap::from([
entry("partition_key", "project2"),
entry("partition_key", "project2-rust"),
entry("ProjectName", "project_002"),
entry("ProjectStatus", "Active"),
entry("ProjectStart", "2022-07-04"),
Expand All @@ -276,7 +276,7 @@ async fn put_all_project_items(
put_item(ddb_table_name, ddb, project2).await?;

let project3 = HashMap::from([
entry("partition_key", "project3"),
entry("partition_key", "project3-rust"),
entry("ProjectName", "project_003"),
entry("ProjectStatus", "Active"),
entry("ProjectStart", "2022-08-05"),
Expand All @@ -286,7 +286,7 @@ async fn put_all_project_items(
put_item(ddb_table_name, ddb, project3).await?;

let project4 = HashMap::from([
entry("partition_key", "project4"),
entry("partition_key", "project4-rust"),
entry("ProjectName", "project_004"),
entry("ProjectStatus", "Done"),
entry("ProjectStart", "2020-03-03"),
Expand All @@ -309,7 +309,7 @@ async fn put_all_reservation_items(
entry("Room", "403"),
]);
let reservation1 = HashMap::from([
entry("partition_key", "reservation1"),
entry("partition_key", "reservation1-rust"),
entry("MeetingStart", "2022-07-04T13:00"),
entry("OrganizerEmail", "able@gmail.com"),
entry("Duration", "30"),
Expand All @@ -332,7 +332,7 @@ async fn put_all_reservation_items(
entry("Room", "407"),
]);
let reservation2 = HashMap::from([
entry("partition_key", "reservation2"),
entry("partition_key", "reservation2-rust"),
entry("MeetingStart", "2022-07-04T14:00"),
entry("OrganizerEmail", "barney@gmail.com"),
entry("Duration", "30"),
Expand All @@ -356,7 +356,7 @@ async fn put_all_ticket_items(
ddb: &mut aws_sdk_dynamodb::Client,
) -> Result<(), crate::BoxError> {
let ticket1 = HashMap::from([
entry("partition_key", "ticket1"),
entry("partition_key", "ticket1-rust"),
entry("TicketNumber", "ticket_001"),
entry("TicketModTime", "2022-10-07T14:32:25"),
entry("CreatorEmail", "zorro@gmail.com"),
Expand All @@ -368,7 +368,7 @@ async fn put_all_ticket_items(
put_item(ddb_table_name, ddb, ticket1).await?;

let ticket2 = HashMap::from([
entry("partition_key", "ticket2"),
entry("partition_key", "ticket2-rust"),
entry("TicketNumber", "ticket_001"),
entry("TicketModTime", "2022-10-07T14:32:25"),
entry("CreatorEmail", "able@gmail.com"),
Expand All @@ -380,7 +380,7 @@ async fn put_all_ticket_items(
put_item(ddb_table_name, ddb, ticket2).await?;

let ticket3 = HashMap::from([
entry("partition_key", "ticket3"),
entry("partition_key", "ticket3-rust"),
entry("TicketNumber", "ticket_002"),
entry("TicketModTime", "2022-10-06T14:32:25"),
entry("CreatorEmail", "zorro@gmail.com"),
Expand All @@ -392,7 +392,7 @@ async fn put_all_ticket_items(
put_item(ddb_table_name, ddb, ticket3).await?;

let ticket4 = HashMap::from([
entry("partition_key", "ticket4"),
entry("partition_key", "ticket4-rust"),
entry("TicketNumber", "ticket_002"),
entry("TicketModTime", "2022-10-08T14:32:25"),
entry("CreatorEmail", "charlie@gmail.com"),
Expand All @@ -411,7 +411,7 @@ async fn put_all_timecard_items(
ddb: &mut aws_sdk_dynamodb::Client,
) -> Result<(), crate::BoxError> {
let timecard1 = HashMap::from([
entry("partition_key", "timecard1"),
entry("partition_key", "timecard1-rust"),
entry("ProjectName", "project_002"),
entry("TimeCardStart", "2022-09-12"),
entry("EmployeeEmail", "able@gmail.com"),
Expand All @@ -421,7 +421,7 @@ async fn put_all_timecard_items(
put_item(ddb_table_name, ddb, timecard1).await?;

let timecard2 = HashMap::from([
entry("partition_key", "timecard2"),
entry("partition_key", "timecard2-rust"),
entry("ProjectName", "project_002"),
entry("TimeCardStart", "2022-09-12"),
entry("EmployeeEmail", "barney@gmail.com"),
Expand All @@ -431,7 +431,7 @@ async fn put_all_timecard_items(
put_item(ddb_table_name, ddb, timecard2).await?;

let timecard3 = HashMap::from([
entry("partition_key", "timecard3"),
entry("partition_key", "timecard3-rust"),
entry("ProjectName", "project_003"),
entry("TimeCardStart", "2022-09-12"),
entry("EmployeeEmail", "charlie@gmail.com"),
Expand All @@ -441,7 +441,7 @@ async fn put_all_timecard_items(
put_item(ddb_table_name, ddb, timecard3).await?;

let timecard4 = HashMap::from([
entry("partition_key", "timecard4"),
entry("partition_key", "timecard4-rust"),
entry("ProjectName", "project_003"),
entry("TimeCardStart", "2022-09-12"),
entry("EmployeeEmail", "barney@gmail.com"),
Expand Down
Loading
Loading