Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F32391224
D14758.1765335886.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
11 KB
Referenced Files
None
Subscribers
None
D14758.1765335886.diff
View Options
diff --git a/keyserver/addons/rust-node-addon/src/identity_client/get_inbound_keys_for_user.rs b/keyserver/addons/rust-node-addon/src/identity_client/get_inbound_keys_for_user.rs
--- a/keyserver/addons/rust-node-addon/src/identity_client/get_inbound_keys_for_user.rs
+++ b/keyserver/addons/rust-node-addon/src/identity_client/get_inbound_keys_for_user.rs
@@ -19,7 +19,10 @@
)
.await?;
- let inbound_keys_for_user_request = InboundKeysForUserRequest { user_id };
+ let inbound_keys_for_user_request = InboundKeysForUserRequest {
+ user_id,
+ selected_devices: Vec::new(),
+ };
let mut response = identity_client
.get_inbound_keys_for_user(inbound_keys_for_user_request)
diff --git a/native/native_rust_library/src/identity/x3dh.rs b/native/native_rust_library/src/identity/x3dh.rs
--- a/native/native_rust_library/src/identity/x3dh.rs
+++ b/native/native_rust_library/src/identity/x3dh.rs
@@ -76,6 +76,7 @@
RUNTIME.spawn(async move {
let get_keyserver_keys_request = OutboundKeysForUserRequest {
user_id: keyserver_id,
+ selected_devices: Vec::new(),
};
let auth_info = AuthInfo {
access_token,
@@ -292,6 +293,7 @@
let response = identity_client
.get_outbound_keys_for_user(OutboundKeysForUserRequest {
user_id: get_outbound_keys_request_info.user_id,
+ selected_devices: Vec::new(),
})
.await?
.into_inner();
@@ -320,6 +322,7 @@
let response = identity_client
.get_inbound_keys_for_user(InboundKeysForUserRequest {
user_id: get_inbound_keys_request_info.user_id,
+ selected_devices: Vec::new(),
})
.await?
.into_inner();
diff --git a/services/commtest/tests/identity_keyserver_tests.rs b/services/commtest/tests/identity_keyserver_tests.rs
--- a/services/commtest/tests/identity_keyserver_tests.rs
+++ b/services/commtest/tests/identity_keyserver_tests.rs
@@ -42,6 +42,7 @@
// Currently allowed to request your own outbound keys
let keyserver_request = OutboundKeysForUserRequest {
user_id: device_info.user_id.clone(),
+ selected_devices: Vec::new(),
};
println!("Getting keyserver info for user, {}", device_info.user_id);
diff --git a/services/commtest/tests/identity_one_time_key_tests.rs b/services/commtest/tests/identity_one_time_key_tests.rs
--- a/services/commtest/tests/identity_one_time_key_tests.rs
+++ b/services/commtest/tests/identity_one_time_key_tests.rs
@@ -99,6 +99,7 @@
let keyserver_request = OutboundKeysForUserRequest {
user_id: device_info.user_id,
+ selected_devices: Vec::new(),
};
let first_keyserver_response = identity_client
diff --git a/services/commtest/tests/identity_tunnelbroker_tests.rs b/services/commtest/tests/identity_tunnelbroker_tests.rs
--- a/services/commtest/tests/identity_tunnelbroker_tests.rs
+++ b/services/commtest/tests/identity_tunnelbroker_tests.rs
@@ -58,6 +58,7 @@
// Request outbound keys, which should trigger identity service to ask for more keys
let keyserver_request = OutboundKeysForUserRequest {
user_id: keyserver.user_id.clone(),
+ selected_devices: Vec::new(),
};
println!("Getting keyserver info for user, {}", keyserver.user_id);
diff --git a/shared/protos/identity_auth.proto b/shared/protos/identity_auth.proto
--- a/shared/protos/identity_auth.proto
+++ b/shared/protos/identity_auth.proto
@@ -171,6 +171,9 @@
// The device receiving a request only needs the content key and prekey.
message OutboundKeysForUserRequest {
string user_id = 1;
+ // Specifies for which devices we want to retrieve outbound keys.
+ // If not specified or empty, all devices will be returned.
+ repeated string selected_devices = 2;
}
// GetInboundKeysForUser
@@ -189,6 +192,9 @@
message InboundKeysForUserRequest {
string user_id = 1;
+ // Specifies for which devices we want to retrieve inbound keys.
+ // If not specified or empty, all devices will be returned.
+ repeated string selected_devices = 2;
}
// UpdateUserPassword
diff --git a/web/protobufs/identity-auth-structs.cjs b/web/protobufs/identity-auth-structs.cjs
--- a/web/protobufs/identity-auth-structs.cjs
+++ b/web/protobufs/identity-auth-structs.cjs
@@ -214,7 +214,7 @@
* @constructor
*/
proto.identity.auth.OutboundKeysForUserRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+ jspb.Message.initialize(this, opt_data, 0, -1, proto.identity.auth.OutboundKeysForUserRequest.repeatedFields_, null);
};
goog.inherits(proto.identity.auth.OutboundKeysForUserRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
@@ -277,7 +277,7 @@
* @constructor
*/
proto.identity.auth.InboundKeysForUserRequest = function(opt_data) {
- jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+ jspb.Message.initialize(this, opt_data, 0, -1, proto.identity.auth.InboundKeysForUserRequest.repeatedFields_, null);
};
goog.inherits(proto.identity.auth.InboundKeysForUserRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
@@ -2240,6 +2240,13 @@
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array<number>}
+ * @const
+ */
+proto.identity.auth.OutboundKeysForUserRequest.repeatedFields_ = [2];
+
if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -2271,7 +2278,8 @@
*/
proto.identity.auth.OutboundKeysForUserRequest.toObject = function(includeInstance, msg) {
var f, obj = {
- userId: jspb.Message.getFieldWithDefault(msg, 1, "")
+ userId: jspb.Message.getFieldWithDefault(msg, 1, ""),
+ selectedDevicesList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f
};
if (includeInstance) {
@@ -2312,6 +2320,10 @@
var value = /** @type {string} */ (reader.readString());
msg.setUserId(value);
break;
+ case 2:
+ var value = /** @type {string} */ (reader.readString());
+ msg.addSelectedDevices(value);
+ break;
default:
reader.skipField();
break;
@@ -2348,6 +2360,13 @@
f
);
}
+ f = message.getSelectedDevicesList();
+ if (f.length > 0) {
+ writer.writeRepeatedString(
+ 2,
+ f
+ );
+ }
};
@@ -2369,6 +2388,43 @@
};
+/**
+ * repeated string selected_devices = 2;
+ * @return {!Array<string>}
+ */
+proto.identity.auth.OutboundKeysForUserRequest.prototype.getSelectedDevicesList = function() {
+ return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));
+};
+
+
+/**
+ * @param {!Array<string>} value
+ * @return {!proto.identity.auth.OutboundKeysForUserRequest} returns this
+ */
+proto.identity.auth.OutboundKeysForUserRequest.prototype.setSelectedDevicesList = function(value) {
+ return jspb.Message.setField(this, 2, value || []);
+};
+
+
+/**
+ * @param {string} value
+ * @param {number=} opt_index
+ * @return {!proto.identity.auth.OutboundKeysForUserRequest} returns this
+ */
+proto.identity.auth.OutboundKeysForUserRequest.prototype.addSelectedDevices = function(value, opt_index) {
+ return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.identity.auth.OutboundKeysForUserRequest} returns this
+ */
+proto.identity.auth.OutboundKeysForUserRequest.prototype.clearSelectedDevicesList = function() {
+ return this.setSelectedDevicesList([]);
+};
+
+
@@ -2808,6 +2864,13 @@
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array<number>}
+ * @const
+ */
+proto.identity.auth.InboundKeysForUserRequest.repeatedFields_ = [2];
+
if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -2839,7 +2902,8 @@
*/
proto.identity.auth.InboundKeysForUserRequest.toObject = function(includeInstance, msg) {
var f, obj = {
- userId: jspb.Message.getFieldWithDefault(msg, 1, "")
+ userId: jspb.Message.getFieldWithDefault(msg, 1, ""),
+ selectedDevicesList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f
};
if (includeInstance) {
@@ -2880,6 +2944,10 @@
var value = /** @type {string} */ (reader.readString());
msg.setUserId(value);
break;
+ case 2:
+ var value = /** @type {string} */ (reader.readString());
+ msg.addSelectedDevices(value);
+ break;
default:
reader.skipField();
break;
@@ -2916,6 +2984,13 @@
f
);
}
+ f = message.getSelectedDevicesList();
+ if (f.length > 0) {
+ writer.writeRepeatedString(
+ 2,
+ f
+ );
+ }
};
@@ -2937,6 +3012,43 @@
};
+/**
+ * repeated string selected_devices = 2;
+ * @return {!Array<string>}
+ */
+proto.identity.auth.InboundKeysForUserRequest.prototype.getSelectedDevicesList = function() {
+ return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));
+};
+
+
+/**
+ * @param {!Array<string>} value
+ * @return {!proto.identity.auth.InboundKeysForUserRequest} returns this
+ */
+proto.identity.auth.InboundKeysForUserRequest.prototype.setSelectedDevicesList = function(value) {
+ return jspb.Message.setField(this, 2, value || []);
+};
+
+
+/**
+ * @param {string} value
+ * @param {number=} opt_index
+ * @return {!proto.identity.auth.InboundKeysForUserRequest} returns this
+ */
+proto.identity.auth.InboundKeysForUserRequest.prototype.addSelectedDevices = function(value, opt_index) {
+ return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.identity.auth.InboundKeysForUserRequest} returns this
+ */
+proto.identity.auth.InboundKeysForUserRequest.prototype.clearSelectedDevicesList = function() {
+ return this.setSelectedDevicesList([]);
+};
+
+
diff --git a/web/protobufs/identity-auth-structs.cjs.flow b/web/protobufs/identity-auth-structs.cjs.flow
--- a/web/protobufs/identity-auth-structs.cjs.flow
+++ b/web/protobufs/identity-auth-structs.cjs.flow
@@ -195,6 +195,11 @@
getUserId(): string;
setUserId(value: string): OutboundKeysForUserRequest;
+ getSelectedDevicesList(): Array<string>;
+ setSelectedDevicesList(value: Array<string>): OutboundKeysForUserRequest;
+ clearSelectedDevicesList(): OutboundKeysForUserRequest;
+ addSelectedDevices(value: string, index?: number): OutboundKeysForUserRequest;
+
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): OutboundKeysForUserRequestObject;
static toObject(includeInstance: boolean, msg: OutboundKeysForUserRequest): OutboundKeysForUserRequestObject;
@@ -205,6 +210,7 @@
export type OutboundKeysForUserRequestObject = {
userId: string,
+ selectedDevicesList: Array<string>,
};
declare export class InboundKeyInfo extends Message {
@@ -263,6 +269,11 @@
getUserId(): string;
setUserId(value: string): InboundKeysForUserRequest;
+ getSelectedDevicesList(): Array<string>;
+ setSelectedDevicesList(value: Array<string>): InboundKeysForUserRequest;
+ clearSelectedDevicesList(): InboundKeysForUserRequest;
+ addSelectedDevices(value: string, index?: number): InboundKeysForUserRequest;
+
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): InboundKeysForUserRequestObject;
static toObject(includeInstance: boolean, msg: InboundKeysForUserRequest): InboundKeysForUserRequestObject;
@@ -273,6 +284,7 @@
export type InboundKeysForUserRequestObject = {
userId: string,
+ selectedDevicesList: Array<string>,
};
declare export class UpdateUserPasswordStartRequest extends Message {
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Dec 10, 3:04 AM (17 h, 31 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5860296
Default Alt Text
D14758.1765335886.diff (11 KB)
Attached To
Mode
D14758: [proto] Add devices filter param to X3DH RPC requests
Attached
Detach File
Event Timeline
Log In to Comment