From 391b070cffc2221830142f723f27969d90de932a Mon Sep 17 00:00:00 2001 From: Jonathan Klabunde Tomer <125505367+jkt-signal@users.noreply.github.com> Date: Mon, 3 Apr 2023 11:32:45 -0700 Subject: [PATCH] KeysController: return correct number of unsigned prekeys When GET /v2/keys was orignally added in b263f47, prekeys were stored in Postgres, with a user's unsigned and signed keys together in the same table. Therefore GET /v2/keys subtracted one from the count returned by storage. In d4d9403, we changed to a different storage schema, with unsigned prekeys in one DynamoDB table and unsigned prekeys in the accounts Dynamo table. Unfortunately, GET /v2/keys was not changed to stop subtracting one from the count of prekeys in the keys table at the same time. This commit fixes that. --- .../textsecuregcm/controllers/KeysController.java | 4 ---- .../textsecuregcm/tests/controllers/KeysControllerTest.java | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/KeysController.java b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/KeysController.java index 13697fbdc..1ef94f677 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/KeysController.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/KeysController.java @@ -79,10 +79,6 @@ public class KeysController { int count = keys.getCount(getIdentifier(auth.getAccount(), identityType), auth.getAuthenticatedDevice().getId()); - if (count > 0) { - count = count - 1; - } - return new PreKeyCount(count); } diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/KeysControllerTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/KeysControllerTest.java index fd15415e2..22b5e4e18 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/KeysControllerTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/tests/controllers/KeysControllerTest.java @@ -199,7 +199,7 @@ class KeysControllerTest { AuthHelper.getAuthHeader(AuthHelper.VALID_UUID, AuthHelper.VALID_PASSWORD)) .get(PreKeyCount.class); - assertThat(result.getCount()).isEqualTo(4); + assertThat(result.getCount()).isEqualTo(5); verify(KEYS).getCount(AuthHelper.VALID_UUID, 1); }