Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F3507408
D13165.id43861.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Referenced Files
None
Subscribers
None
D13165.id43861.diff
View Options
diff --git a/native/android/app/src/main/java/app/comm/android/fbjni/NotificationsInboundKeysProvider.java b/native/android/app/src/main/java/app/comm/android/fbjni/NotificationsInboundKeysProvider.java
--- a/native/android/app/src/main/java/app/comm/android/fbjni/NotificationsInboundKeysProvider.java
+++ b/native/android/app/src/main/java/app/comm/android/fbjni/NotificationsInboundKeysProvider.java
@@ -1,5 +1,6 @@
package app.comm.android.fbjni;
+import android.util.Log;
import app.comm.android.commservices.CommAndroidServicesClient;
import java.io.IOException;
import org.json.JSONException;
@@ -12,13 +13,6 @@
CommAndroidServicesClient.getInstance()
.getNotifsInboundKeysForDeviceSync(deviceID);
String curve25519 = notifInboundKeys.getString("curve25519");
- // There are several reason to return JSON with curve25519 only:
- // 1. We only need curve25519 to create inbound session.
- // 2. In Session.cpp there is a convention to pass curve25519
- // key as JSON and then add offset length to advance
- // the string pointer.
- // 3. There is a risk that stringification might not preserve
- // the order.
- return new JSONObject().put("curve25519", curve25519).toString();
+ return curve25519;
}
}
diff --git a/native/cpp/CommonCpp/Notifications/BackgroundDataStorage/NotificationsCryptoModule.cpp b/native/cpp/CommonCpp/Notifications/BackgroundDataStorage/NotificationsCryptoModule.cpp
--- a/native/cpp/CommonCpp/Notifications/BackgroundDataStorage/NotificationsCryptoModule.cpp
+++ b/native/cpp/CommonCpp/Notifications/BackgroundDataStorage/NotificationsCryptoModule.cpp
@@ -715,9 +715,19 @@
// At this point we either face race condition or session reset attempt or
// session initialization attempt. For each of this scenario new inbound
// session must be created in order to decrypt message
- std::string notifInboundKeys =
+ std::string notifsCurve25519 =
NotificationsInboundKeysProvider::getNotifsInboundKeysForDeviceID(
deviceID);
+ // There are several reason to create JSON with curve25519 only:
+ // 1. We only need curve25519 to create inbound session.
+ // 2. In Session.cpp there is a convention to pass curve25519
+ // key as JSON and then add offset length to advance
+ // the string pointer.
+ // 3. There is a risk that stringification might not preserve
+ // the order.
+
+ std::string notifInboundKeys =
+ folly::toJson(folly::dynamic::object("curve25519", notifsCurve25519));
if (!maybeAccountWithPicklingKey.has_value()) {
throw std::runtime_error("Notifications account not initialized.");
diff --git a/native/ios/Comm/NotificationsInboundKeysProvider.mm b/native/ios/Comm/NotificationsInboundKeysProvider.mm
--- a/native/ios/Comm/NotificationsInboundKeysProvider.mm
+++ b/native/ios/Comm/NotificationsInboundKeysProvider.mm
@@ -19,13 +19,6 @@
std::string curve25519 =
std::string([notifInboundKeys[@"curve25519"] UTF8String]);
- // There are several reason to return JSON with curve25519 only:
- // 1. We only need curve25519 to create inbound session.
- // 2. In Session.cpp there is a convention to pass curve25519
- // key as JSON and then add offset length to advance
- // the string pointer.
- // 3. There is a risk that stringification might not preserve
- // the order.
- return folly::toJson(folly::dynamic::object("curve25519", curve25519));
+ return curve25519;
}
} // namespace comm
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Dec 21, 8:44 PM (20 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2689018
Default Alt Text
D13165.id43861.diff (3 KB)
Attached To
Mode
D13165: Return single curve25519 string from NotificationsInboundKeysProvider
Attached
Detach File
Event Timeline
Log In to Comment