implemented server logic

This commit is contained in:
otsmr 2026-06-21 17:11:01 +02:00
parent 00b2b25252
commit f8a2240992
6 changed files with 316 additions and 56 deletions

View file

@ -809,6 +809,138 @@ class Handshake_AuthenticateWithLoginToken extends $pb.GeneratedMessage {
void clearInBackground() => $_clearField(5);
}
class Handshake_GetServerKeyForPasswordLessRecovery
extends $pb.GeneratedMessage {
factory Handshake_GetServerKeyForPasswordLessRecovery({
$fixnum.Int64? userId,
$core.List<$core.int>? encryptedServerKeyMac,
$core.List<$core.int>? encryptedServerKeyNone,
$core.List<$core.int>? pinUnlockToken,
$core.List<$core.int>? pinProtectionKey,
$core.String? email,
}) {
final result = create();
if (userId != null) result.userId = userId;
if (encryptedServerKeyMac != null)
result.encryptedServerKeyMac = encryptedServerKeyMac;
if (encryptedServerKeyNone != null)
result.encryptedServerKeyNone = encryptedServerKeyNone;
if (pinUnlockToken != null) result.pinUnlockToken = pinUnlockToken;
if (pinProtectionKey != null) result.pinProtectionKey = pinProtectionKey;
if (email != null) result.email = email;
return result;
}
Handshake_GetServerKeyForPasswordLessRecovery._();
factory Handshake_GetServerKeyForPasswordLessRecovery.fromBuffer(
$core.List<$core.int> data,
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromBuffer(data, registry);
factory Handshake_GetServerKeyForPasswordLessRecovery.fromJson(
$core.String json,
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromJson(json, registry);
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
_omitMessageNames ? '' : 'Handshake.GetServerKeyForPasswordLessRecovery',
package:
const $pb.PackageName(_omitMessageNames ? '' : 'client_to_server'),
createEmptyInstance: create)
..aInt64(1, _omitFieldNames ? '' : 'userId')
..a<$core.List<$core.int>>(
2, _omitFieldNames ? '' : 'encryptedServerKeyMac', $pb.PbFieldType.OY)
..a<$core.List<$core.int>>(
3, _omitFieldNames ? '' : 'encryptedServerKeyNone', $pb.PbFieldType.OY)
..a<$core.List<$core.int>>(
4, _omitFieldNames ? '' : 'pinUnlockToken', $pb.PbFieldType.OY)
..a<$core.List<$core.int>>(
5, _omitFieldNames ? '' : 'pinProtectionKey', $pb.PbFieldType.OY)
..aOS(6, _omitFieldNames ? '' : 'email')
..hasRequiredFields = false;
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
Handshake_GetServerKeyForPasswordLessRecovery clone() => deepCopy();
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
Handshake_GetServerKeyForPasswordLessRecovery copyWith(
void Function(Handshake_GetServerKeyForPasswordLessRecovery)
updates) =>
super.copyWith((message) =>
updates(message as Handshake_GetServerKeyForPasswordLessRecovery))
as Handshake_GetServerKeyForPasswordLessRecovery;
@$core.override
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Handshake_GetServerKeyForPasswordLessRecovery create() =>
Handshake_GetServerKeyForPasswordLessRecovery._();
@$core.override
Handshake_GetServerKeyForPasswordLessRecovery createEmptyInstance() =>
create();
@$core.pragma('dart2js:noInline')
static Handshake_GetServerKeyForPasswordLessRecovery getDefault() =>
_defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<
Handshake_GetServerKeyForPasswordLessRecovery>(create);
static Handshake_GetServerKeyForPasswordLessRecovery? _defaultInstance;
@$pb.TagNumber(1)
$fixnum.Int64 get userId => $_getI64(0);
@$pb.TagNumber(1)
set userId($fixnum.Int64 value) => $_setInt64(0, value);
@$pb.TagNumber(1)
$core.bool hasUserId() => $_has(0);
@$pb.TagNumber(1)
void clearUserId() => $_clearField(1);
@$pb.TagNumber(2)
$core.List<$core.int> get encryptedServerKeyMac => $_getN(1);
@$pb.TagNumber(2)
set encryptedServerKeyMac($core.List<$core.int> value) =>
$_setBytes(1, value);
@$pb.TagNumber(2)
$core.bool hasEncryptedServerKeyMac() => $_has(1);
@$pb.TagNumber(2)
void clearEncryptedServerKeyMac() => $_clearField(2);
@$pb.TagNumber(3)
$core.List<$core.int> get encryptedServerKeyNone => $_getN(2);
@$pb.TagNumber(3)
set encryptedServerKeyNone($core.List<$core.int> value) =>
$_setBytes(2, value);
@$pb.TagNumber(3)
$core.bool hasEncryptedServerKeyNone() => $_has(2);
@$pb.TagNumber(3)
void clearEncryptedServerKeyNone() => $_clearField(3);
@$pb.TagNumber(4)
$core.List<$core.int> get pinUnlockToken => $_getN(3);
@$pb.TagNumber(4)
set pinUnlockToken($core.List<$core.int> value) => $_setBytes(3, value);
@$pb.TagNumber(4)
$core.bool hasPinUnlockToken() => $_has(3);
@$pb.TagNumber(4)
void clearPinUnlockToken() => $_clearField(4);
@$pb.TagNumber(5)
$core.List<$core.int> get pinProtectionKey => $_getN(4);
@$pb.TagNumber(5)
set pinProtectionKey($core.List<$core.int> value) => $_setBytes(4, value);
@$pb.TagNumber(5)
$core.bool hasPinProtectionKey() => $_has(4);
@$pb.TagNumber(5)
void clearPinProtectionKey() => $_clearField(5);
@$pb.TagNumber(6)
$core.String get email => $_getSZ(5);
@$pb.TagNumber(6)
set email($core.String value) => $_setString(5, value);
@$pb.TagNumber(6)
$core.bool hasEmail() => $_has(5);
@$pb.TagNumber(6)
void clearEmail() => $_clearField(6);
}
enum Handshake_Handshake {
register,
getAuthChallenge,
@ -817,6 +949,7 @@ enum Handshake_Handshake {
requestPOW,
authenticateWithLoginToken,
getUseridByUsername,
getServerKeyForPasswordlessRecovery,
notSet
}
@ -829,6 +962,8 @@ class Handshake extends $pb.GeneratedMessage {
Handshake_RequestPOW? requestPOW,
Handshake_AuthenticateWithLoginToken? authenticateWithLoginToken,
Handshake_GetUserIdByUsername? getUseridByUsername,
Handshake_GetServerKeyForPasswordLessRecovery?
getServerKeyForPasswordlessRecovery,
}) {
final result = create();
if (register != null) result.register = register;
@ -840,6 +975,9 @@ class Handshake extends $pb.GeneratedMessage {
result.authenticateWithLoginToken = authenticateWithLoginToken;
if (getUseridByUsername != null)
result.getUseridByUsername = getUseridByUsername;
if (getServerKeyForPasswordlessRecovery != null)
result.getServerKeyForPasswordlessRecovery =
getServerKeyForPasswordlessRecovery;
return result;
}
@ -861,6 +999,7 @@ class Handshake extends $pb.GeneratedMessage {
5: Handshake_Handshake.requestPOW,
6: Handshake_Handshake.authenticateWithLoginToken,
7: Handshake_Handshake.getUseridByUsername,
8: Handshake_Handshake.getServerKeyForPasswordlessRecovery,
0: Handshake_Handshake.notSet
};
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
@ -868,7 +1007,7 @@ class Handshake extends $pb.GeneratedMessage {
package:
const $pb.PackageName(_omitMessageNames ? '' : 'client_to_server'),
createEmptyInstance: create)
..oo(0, [1, 2, 3, 4, 5, 6, 7])
..oo(0, [1, 2, 3, 4, 5, 6, 7, 8])
..aOM<Handshake_Register>(1, _omitFieldNames ? '' : 'register',
subBuilder: Handshake_Register.create)
..aOM<Handshake_GetAuthChallenge>(
@ -887,6 +1026,9 @@ class Handshake extends $pb.GeneratedMessage {
..aOM<Handshake_GetUserIdByUsername>(
7, _omitFieldNames ? '' : 'getUseridByUsername',
subBuilder: Handshake_GetUserIdByUsername.create)
..aOM<Handshake_GetServerKeyForPasswordLessRecovery>(
8, _omitFieldNames ? '' : 'getServerKeyForPasswordlessRecovery',
subBuilder: Handshake_GetServerKeyForPasswordLessRecovery.create)
..hasRequiredFields = false;
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@ -914,6 +1056,7 @@ class Handshake extends $pb.GeneratedMessage {
@$pb.TagNumber(5)
@$pb.TagNumber(6)
@$pb.TagNumber(7)
@$pb.TagNumber(8)
Handshake_Handshake whichHandshake() =>
_Handshake_HandshakeByTag[$_whichOneof(0)]!;
@$pb.TagNumber(1)
@ -923,6 +1066,7 @@ class Handshake extends $pb.GeneratedMessage {
@$pb.TagNumber(5)
@$pb.TagNumber(6)
@$pb.TagNumber(7)
@$pb.TagNumber(8)
void clearHandshake() => $_clearField($_whichOneof(0));
@$pb.TagNumber(1)
@ -1006,6 +1150,21 @@ class Handshake extends $pb.GeneratedMessage {
void clearGetUseridByUsername() => $_clearField(7);
@$pb.TagNumber(7)
Handshake_GetUserIdByUsername ensureGetUseridByUsername() => $_ensure(6);
@$pb.TagNumber(8)
Handshake_GetServerKeyForPasswordLessRecovery
get getServerKeyForPasswordlessRecovery => $_getN(7);
@$pb.TagNumber(8)
set getServerKeyForPasswordlessRecovery(
Handshake_GetServerKeyForPasswordLessRecovery value) =>
$_setField(8, value);
@$pb.TagNumber(8)
$core.bool hasGetServerKeyForPasswordlessRecovery() => $_has(7);
@$pb.TagNumber(8)
void clearGetServerKeyForPasswordlessRecovery() => $_clearField(8);
@$pb.TagNumber(8)
Handshake_GetServerKeyForPasswordLessRecovery
ensureGetServerKeyForPasswordlessRecovery() => $_ensure(7);
}
class ApplicationData_TextMessage extends $pb.GeneratedMessage {
@ -2185,13 +2344,13 @@ class ApplicationData_Deprecated extends $pb.GeneratedMessage {
class ApplicationData_RegisterPasswordLessRecovery
extends $pb.GeneratedMessage {
factory ApplicationData_RegisterPasswordLessRecovery({
$core.List<$core.int>? pinUnlockToken,
$core.List<$core.int>? encryptedServerKey,
$core.List<$core.int>? pinUnlockToken,
}) {
final result = create();
if (pinUnlockToken != null) result.pinUnlockToken = pinUnlockToken;
if (encryptedServerKey != null)
result.encryptedServerKey = encryptedServerKey;
if (pinUnlockToken != null) result.pinUnlockToken = pinUnlockToken;
return result;
}
@ -2212,11 +2371,11 @@ class ApplicationData_RegisterPasswordLessRecovery
const $pb.PackageName(_omitMessageNames ? '' : 'client_to_server'),
createEmptyInstance: create)
..a<$core.List<$core.int>>(
1, _omitFieldNames ? '' : 'pinUnlockToken', $pb.PbFieldType.OY,
protoName: 'pinUnlockToken')
..a<$core.List<$core.int>>(
2, _omitFieldNames ? '' : 'encryptedServerKey', $pb.PbFieldType.OY,
1, _omitFieldNames ? '' : 'encryptedServerKey', $pb.PbFieldType.OY,
protoName: 'encryptedServerKey')
..a<$core.List<$core.int>>(
2, _omitFieldNames ? '' : 'pinUnlockToken', $pb.PbFieldType.OY,
protoName: 'pinUnlockToken')
..hasRequiredFields = false;
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@ -2245,22 +2404,22 @@ class ApplicationData_RegisterPasswordLessRecovery
static ApplicationData_RegisterPasswordLessRecovery? _defaultInstance;
@$pb.TagNumber(1)
$core.List<$core.int> get pinUnlockToken => $_getN(0);
$core.List<$core.int> get encryptedServerKey => $_getN(0);
@$pb.TagNumber(1)
set pinUnlockToken($core.List<$core.int> value) => $_setBytes(0, value);
set encryptedServerKey($core.List<$core.int> value) => $_setBytes(0, value);
@$pb.TagNumber(1)
$core.bool hasPinUnlockToken() => $_has(0);
$core.bool hasEncryptedServerKey() => $_has(0);
@$pb.TagNumber(1)
void clearPinUnlockToken() => $_clearField(1);
void clearEncryptedServerKey() => $_clearField(1);
@$pb.TagNumber(2)
$core.List<$core.int> get encryptedServerKey => $_getN(1);
$core.List<$core.int> get pinUnlockToken => $_getN(1);
@$pb.TagNumber(2)
set encryptedServerKey($core.List<$core.int> value) => $_setBytes(1, value);
set pinUnlockToken($core.List<$core.int> value) => $_setBytes(1, value);
@$pb.TagNumber(2)
$core.bool hasEncryptedServerKey() => $_has(1);
$core.bool hasPinUnlockToken() => $_has(1);
@$pb.TagNumber(2)
void clearEncryptedServerKey() => $_clearField(2);
void clearPinUnlockToken() => $_clearField(2);
}
enum ApplicationData_ApplicationData {

View file

@ -152,6 +152,15 @@ const Handshake$json = {
'9': 0,
'10': 'getUseridByUsername'
},
{
'1': 'get_server_key_for_passwordless_recovery',
'3': 8,
'4': 1,
'5': 11,
'6': '.client_to_server.Handshake.GetServerKeyForPasswordLessRecovery',
'9': 0,
'10': 'getServerKeyForPasswordlessRecovery'
},
],
'3': [
Handshake_RequestPOW$json,
@ -160,7 +169,8 @@ const Handshake$json = {
Handshake_GetUserIdByUsername$json,
Handshake_GetAuthToken$json,
Handshake_Authenticate$json,
Handshake_AuthenticateWithLoginToken$json
Handshake_AuthenticateWithLoginToken$json,
Handshake_GetServerKeyForPasswordLessRecovery$json
],
'8': [
{'1': 'Handshake'},
@ -303,6 +313,52 @@ const Handshake_AuthenticateWithLoginToken$json = {
],
};
@$core.Deprecated('Use handshakeDescriptor instead')
const Handshake_GetServerKeyForPasswordLessRecovery$json = {
'1': 'GetServerKeyForPasswordLessRecovery',
'2': [
{'1': 'user_id', '3': 1, '4': 1, '5': 3, '10': 'userId'},
{
'1': 'encrypted_server_key_mac',
'3': 2,
'4': 1,
'5': 12,
'10': 'encryptedServerKeyMac'
},
{
'1': 'encrypted_server_key_none',
'3': 3,
'4': 1,
'5': 12,
'10': 'encryptedServerKeyNone'
},
{
'1': 'pin_unlock_token',
'3': 4,
'4': 1,
'5': 12,
'9': 0,
'10': 'pinUnlockToken',
'17': true
},
{
'1': 'pin_protection_key',
'3': 5,
'4': 1,
'5': 12,
'9': 1,
'10': 'pinProtectionKey',
'17': true
},
{'1': 'email', '3': 6, '4': 1, '5': 9, '9': 2, '10': 'email', '17': true},
],
'8': [
{'1': '_pin_unlock_token'},
{'1': '_pin_protection_key'},
{'1': '_email'},
],
};
/// Descriptor for `Handshake`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List handshakeDescriptor = $convert.base64Decode(
'CglIYW5kc2hha2USQgoIcmVnaXN0ZXIYASABKAsyJC5jbGllbnRfdG9fc2VydmVyLkhhbmRzaG'
@ -316,26 +372,35 @@ final $typed_data.Uint8List handshakeDescriptor = $convert.base64Decode(
'MjYuY2xpZW50X3RvX3NlcnZlci5IYW5kc2hha2UuQXV0aGVudGljYXRlV2l0aExvZ2luVG9rZW'
'5IAFIaYXV0aGVudGljYXRlV2l0aExvZ2luVG9rZW4SZgoWZ2V0X3VzZXJpZF9ieV91c2VybmFt'
'ZRgHIAEoCzIvLmNsaWVudF90b19zZXJ2ZXIuSGFuZHNoYWtlLkdldFVzZXJJZEJ5VXNlcm5hbW'
'VIAFITZ2V0VXNlcmlkQnlVc2VybmFtZRoMCgpSZXF1ZXN0UE9XGsoDCghSZWdpc3RlchIaCgh1'
'c2VybmFtZRgBIAEoCVIIdXNlcm5hbWUSJAoLaW52aXRlX2NvZGUYAiABKAlIAFIKaW52aXRlQ2'
'9kZYgBARIuChNwdWJsaWNfaWRlbnRpdHlfa2V5GAMgASgMUhFwdWJsaWNJZGVudGl0eUtleRIj'
'Cg1zaWduZWRfcHJla2V5GAQgASgMUgxzaWduZWRQcmVrZXkSNgoXc2lnbmVkX3ByZWtleV9zaW'
'duYXR1cmUYBSABKAxSFXNpZ25lZFByZWtleVNpZ25hdHVyZRIoChBzaWduZWRfcHJla2V5X2lk'
'GAYgASgDUg5zaWduZWRQcmVrZXlJZBInCg9yZWdpc3RyYXRpb25faWQYByABKANSDnJlZ2lzdH'
'JhdGlvbklkEhUKBmlzX2lvcxgIIAEoCFIFaXNJb3MSGwoJbGFuZ19jb2RlGAkgASgJUghsYW5n'
'Q29kZRIiCg1wcm9vZl9vZl93b3JrGAogASgDUgtwcm9vZk9mV29yaxIkCgtsb2dpbl90b2tlbh'
'gLIAEoDEgBUgpsb2dpblRva2VuiAEBQg4KDF9pbnZpdGVfY29kZUIOCgxfbG9naW5fdG9rZW4a'
'EgoQR2V0QXV0aENoYWxsZW5nZRoxChNHZXRVc2VySWRCeVVzZXJuYW1lEhoKCHVzZXJuYW1lGA'
'EgASgJUgh1c2VybmFtZRpDCgxHZXRBdXRoVG9rZW4SFwoHdXNlcl9pZBgBIAEoA1IGdXNlcklk'
'EhoKCHJlc3BvbnNlGAIgASgMUghyZXNwb25zZRroAQoMQXV0aGVudGljYXRlEhcKB3VzZXJfaW'
'QYASABKANSBnVzZXJJZBIdCgphdXRoX3Rva2VuGAIgASgMUglhdXRoVG9rZW4SJAoLYXBwX3Zl'
'cnNpb24YAyABKAlIAFIKYXBwVmVyc2lvbogBARIgCglkZXZpY2VfaWQYBCABKANIAVIIZGV2aW'
'NlSWSIAQESKAoNaW5fYmFja2dyb3VuZBgFIAEoCEgCUgxpbkJhY2tncm91bmSIAQFCDgoMX2Fw'
'cF92ZXJzaW9uQgwKCl9kZXZpY2VfaWRCEAoOX2luX2JhY2tncm91bmQaxgEKGkF1dGhlbnRpY2'
'F0ZVdpdGhMb2dpblRva2VuEhcKB3VzZXJfaWQYASABKANSBnVzZXJJZBIsChJzZWNyZXRfbG9n'
'aW5fdG9rZW4YAiABKAxSEHNlY3JldExvZ2luVG9rZW4SHwoLYXBwX3ZlcnNpb24YAyABKAlSCm'
'FwcFZlcnNpb24SGwoJZGV2aWNlX2lkGAQgASgDUghkZXZpY2VJZBIjCg1pbl9iYWNrZ3JvdW5k'
'GAUgASgIUgxpbkJhY2tncm91bmRCCwoJSGFuZHNoYWtl');
'VIAFITZ2V0VXNlcmlkQnlVc2VybmFtZRKYAQooZ2V0X3NlcnZlcl9rZXlfZm9yX3Bhc3N3b3Jk'
'bGVzc19yZWNvdmVyeRgIIAEoCzI/LmNsaWVudF90b19zZXJ2ZXIuSGFuZHNoYWtlLkdldFNlcn'
'ZlcktleUZvclBhc3N3b3JkTGVzc1JlY292ZXJ5SABSI2dldFNlcnZlcktleUZvclBhc3N3b3Jk'
'bGVzc1JlY292ZXJ5GgwKClJlcXVlc3RQT1caygMKCFJlZ2lzdGVyEhoKCHVzZXJuYW1lGAEgAS'
'gJUgh1c2VybmFtZRIkCgtpbnZpdGVfY29kZRgCIAEoCUgAUgppbnZpdGVDb2RliAEBEi4KE3B1'
'YmxpY19pZGVudGl0eV9rZXkYAyABKAxSEXB1YmxpY0lkZW50aXR5S2V5EiMKDXNpZ25lZF9wcm'
'VrZXkYBCABKAxSDHNpZ25lZFByZWtleRI2ChdzaWduZWRfcHJla2V5X3NpZ25hdHVyZRgFIAEo'
'DFIVc2lnbmVkUHJla2V5U2lnbmF0dXJlEigKEHNpZ25lZF9wcmVrZXlfaWQYBiABKANSDnNpZ2'
'5lZFByZWtleUlkEicKD3JlZ2lzdHJhdGlvbl9pZBgHIAEoA1IOcmVnaXN0cmF0aW9uSWQSFQoG'
'aXNfaW9zGAggASgIUgVpc0lvcxIbCglsYW5nX2NvZGUYCSABKAlSCGxhbmdDb2RlEiIKDXByb2'
'9mX29mX3dvcmsYCiABKANSC3Byb29mT2ZXb3JrEiQKC2xvZ2luX3Rva2VuGAsgASgMSAFSCmxv'
'Z2luVG9rZW6IAQFCDgoMX2ludml0ZV9jb2RlQg4KDF9sb2dpbl90b2tlbhoSChBHZXRBdXRoQ2'
'hhbGxlbmdlGjEKE0dldFVzZXJJZEJ5VXNlcm5hbWUSGgoIdXNlcm5hbWUYASABKAlSCHVzZXJu'
'YW1lGkMKDEdldEF1dGhUb2tlbhIXCgd1c2VyX2lkGAEgASgDUgZ1c2VySWQSGgoIcmVzcG9uc2'
'UYAiABKAxSCHJlc3BvbnNlGugBCgxBdXRoZW50aWNhdGUSFwoHdXNlcl9pZBgBIAEoA1IGdXNl'
'cklkEh0KCmF1dGhfdG9rZW4YAiABKAxSCWF1dGhUb2tlbhIkCgthcHBfdmVyc2lvbhgDIAEoCU'
'gAUgphcHBWZXJzaW9uiAEBEiAKCWRldmljZV9pZBgEIAEoA0gBUghkZXZpY2VJZIgBARIoCg1p'
'bl9iYWNrZ3JvdW5kGAUgASgISAJSDGluQmFja2dyb3VuZIgBAUIOCgxfYXBwX3ZlcnNpb25CDA'
'oKX2RldmljZV9pZEIQCg5faW5fYmFja2dyb3VuZBrGAQoaQXV0aGVudGljYXRlV2l0aExvZ2lu'
'VG9rZW4SFwoHdXNlcl9pZBgBIAEoA1IGdXNlcklkEiwKEnNlY3JldF9sb2dpbl90b2tlbhgCIA'
'EoDFIQc2VjcmV0TG9naW5Ub2tlbhIfCgthcHBfdmVyc2lvbhgDIAEoCVIKYXBwVmVyc2lvbhIb'
'CglkZXZpY2VfaWQYBCABKANSCGRldmljZUlkEiMKDWluX2JhY2tncm91bmQYBSABKAhSDGluQm'
'Fja2dyb3VuZBrlAgojR2V0U2VydmVyS2V5Rm9yUGFzc3dvcmRMZXNzUmVjb3ZlcnkSFwoHdXNl'
'cl9pZBgBIAEoA1IGdXNlcklkEjcKGGVuY3J5cHRlZF9zZXJ2ZXJfa2V5X21hYxgCIAEoDFIVZW'
'5jcnlwdGVkU2VydmVyS2V5TWFjEjkKGWVuY3J5cHRlZF9zZXJ2ZXJfa2V5X25vbmUYAyABKAxS'
'FmVuY3J5cHRlZFNlcnZlcktleU5vbmUSLQoQcGluX3VubG9ja190b2tlbhgEIAEoDEgAUg5waW'
'5VbmxvY2tUb2tlbogBARIxChJwaW5fcHJvdGVjdGlvbl9rZXkYBSABKAxIAVIQcGluUHJvdGVj'
'dGlvbktleYgBARIZCgVlbWFpbBgGIAEoCUgCUgVlbWFpbIgBAUITChFfcGluX3VubG9ja190b2'
'tlbkIVChNfcGluX3Byb3RlY3Rpb25fa2V5QggKBl9lbWFpbEILCglIYW5kc2hha2U=');
@$core.Deprecated('Use applicationDataDescriptor instead')
const ApplicationData$json = {
@ -790,27 +855,24 @@ const ApplicationData_RegisterPasswordLessRecovery$json = {
'1': 'RegisterPasswordLessRecovery',
'2': [
{
'1': 'pinUnlockToken',
'1': 'encryptedServerKey',
'3': 1,
'4': 1,
'5': 12,
'10': 'encryptedServerKey'
},
{
'1': 'pinUnlockToken',
'3': 2,
'4': 1,
'5': 12,
'9': 0,
'10': 'pinUnlockToken',
'17': true
},
{
'1': 'encryptedServerKey',
'3': 2,
'4': 1,
'5': 12,
'9': 1,
'10': 'encryptedServerKey',
'17': true
},
],
'8': [
{'1': '_pinUnlockToken'},
{'1': '_encryptedServerKey'},
],
};
@ -881,10 +943,10 @@ final $typed_data.Uint8List applicationDataDescriptor = $convert.base64Decode(
'Y2USKwoRdmVyaWZpY2F0aW9uX2RhdGEYAyABKAlSEHZlcmlmaWNhdGlvbkRhdGEaDwoNSVBBRm'
'9yY2VDaGVjaxoPCg1EZWxldGVBY2NvdW50GiwKEUFkZEFkZGl0aW9uYWxVc2VyEhcKB3VzZXJf'
'aWQYASABKANSBnVzZXJJZBowCg1TZXRMb2dpblRva2VuEh8KC2xvZ2luX3Rva2VuGAEgASgMUg'
'psb2dpblRva2VuGgwKCkRlcHJlY2F0ZWQaqgEKHFJlZ2lzdGVyUGFzc3dvcmRMZXNzUmVjb3Zl'
'cnkSKwoOcGluVW5sb2NrVG9rZW4YASABKAxIAFIOcGluVW5sb2NrVG9rZW6IAQESMwoSZW5jcn'
'lwdGVkU2VydmVyS2V5GAIgASgMSAFSEmVuY3J5cHRlZFNlcnZlcktleYgBAUIRCg9fcGluVW5s'
'b2NrVG9rZW5CFQoTX2VuY3J5cHRlZFNlcnZlcktleUIRCg9BcHBsaWNhdGlvbkRhdGE=');
'psb2dpblRva2VuGgwKCkRlcHJlY2F0ZWQajgEKHFJlZ2lzdGVyUGFzc3dvcmRMZXNzUmVjb3Zl'
'cnkSLgoSZW5jcnlwdGVkU2VydmVyS2V5GAEgASgMUhJlbmNyeXB0ZWRTZXJ2ZXJLZXkSKwoOcG'
'luVW5sb2NrVG9rZW4YAiABKAxIAFIOcGluVW5sb2NrVG9rZW6IAQFCEQoPX3BpblVubG9ja1Rv'
'a2VuQhEKD0FwcGxpY2F0aW9uRGF0YQ==');
@$core.Deprecated('Use responseDescriptor instead')
const Response$json = {

View file

@ -93,6 +93,10 @@ class ErrorCode extends $pb.ProtobufEnum {
ErrorCode._(1035, _omitEnumNames ? '' : 'UserIsNotInFreePlan');
static const ErrorCode ForegroundSessionConnected =
ErrorCode._(1036, _omitEnumNames ? '' : 'ForegroundSessionConnected');
static const ErrorCode NoRecoveryData =
ErrorCode._(1037, _omitEnumNames ? '' : 'NoRecoveryData');
static const ErrorCode InvalidRecoveryData =
ErrorCode._(1038, _omitEnumNames ? '' : 'InvalidRecoveryData');
static const $core.List<ErrorCode> values = <ErrorCode>[
Unknown,
@ -134,6 +138,8 @@ class ErrorCode extends $pb.ProtobufEnum {
IPAPaymentExpired,
UserIsNotInFreePlan,
ForegroundSessionConnected,
NoRecoveryData,
InvalidRecoveryData,
];
static final $core.Map<$core.int, ErrorCode> _byValue =

View file

@ -58,6 +58,8 @@ const ErrorCode$json = {
{'1': 'IPAPaymentExpired', '2': 1034},
{'1': 'UserIsNotInFreePlan', '2': 1035},
{'1': 'ForegroundSessionConnected', '2': 1036},
{'1': 'NoRecoveryData', '2': 1037},
{'1': 'InvalidRecoveryData', '2': 1038},
],
};
@ -80,4 +82,5 @@ final $typed_data.Uint8List errorCodeDescriptor = $convert.base64Decode(
'EIUIEhcKEkFwcFZlcnNpb25PdXRkYXRlZBCGCBIYChNOZXdEZXZpY2VSZWdpc3RlcmVkEIcIEh'
'cKEkludmFsaWRQcm9vZk9mV29yaxCICBIZChRSZWdpc3RyYXRpb25EaXNhYmxlZBCJCBIWChFJ'
'UEFQYXltZW50RXhwaXJlZBCKCBIYChNVc2VySXNOb3RJbkZyZWVQbGFuEIsIEh8KGkZvcmVncm'
'91bmRTZXNzaW9uQ29ubmVjdGVkEIwI');
'91bmRTZXNzaW9uQ29ubmVjdGVkEIwIEhMKDk5vUmVjb3ZlcnlEYXRhEI0IEhgKE0ludmFsaWRS'
'ZWNvdmVyeURhdGEQjgg=');

View file

@ -1521,6 +1521,7 @@ enum Response_Ok_Ok {
downloadtokens,
signedprekey,
proofOfWork,
passwordlessRecoveryServerKey,
notSet
}
@ -1541,6 +1542,7 @@ class Response_Ok extends $pb.GeneratedMessage {
Response_DownloadTokens? downloadtokens,
Response_SignedPreKey? signedprekey,
Response_ProofOfWork? proofOfWork,
$core.List<$core.int>? passwordlessRecoveryServerKey,
}) {
final result = create();
if (none != null) result.none = none;
@ -1559,6 +1561,8 @@ class Response_Ok extends $pb.GeneratedMessage {
if (downloadtokens != null) result.downloadtokens = downloadtokens;
if (signedprekey != null) result.signedprekey = signedprekey;
if (proofOfWork != null) result.proofOfWork = proofOfWork;
if (passwordlessRecoveryServerKey != null)
result.passwordlessRecoveryServerKey = passwordlessRecoveryServerKey;
return result;
}
@ -1587,6 +1591,7 @@ class Response_Ok extends $pb.GeneratedMessage {
13: Response_Ok_Ok.downloadtokens,
14: Response_Ok_Ok.signedprekey,
15: Response_Ok_Ok.proofOfWork,
16: Response_Ok_Ok.passwordlessRecoveryServerKey,
0: Response_Ok_Ok.notSet
};
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
@ -1594,7 +1599,7 @@ class Response_Ok extends $pb.GeneratedMessage {
package:
const $pb.PackageName(_omitMessageNames ? '' : 'server_to_client'),
createEmptyInstance: create)
..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16])
..aOB(1, _omitFieldNames ? '' : 'None', protoName: 'None')
..aInt64(2, _omitFieldNames ? '' : 'userid')
..a<$core.List<$core.int>>(
@ -1624,6 +1629,10 @@ class Response_Ok extends $pb.GeneratedMessage {
subBuilder: Response_SignedPreKey.create)
..aOM<Response_ProofOfWork>(15, _omitFieldNames ? '' : 'proofOfWork',
protoName: 'proofOfWork', subBuilder: Response_ProofOfWork.create)
..a<$core.List<$core.int>>(
16,
_omitFieldNames ? '' : 'passwordlessRecoveryServerKey',
$pb.PbFieldType.OY)
..hasRequiredFields = false;
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@ -1660,6 +1669,7 @@ class Response_Ok extends $pb.GeneratedMessage {
@$pb.TagNumber(13)
@$pb.TagNumber(14)
@$pb.TagNumber(15)
@$pb.TagNumber(16)
Response_Ok_Ok whichOk() => _Response_Ok_OkByTag[$_whichOneof(0)]!;
@$pb.TagNumber(1)
@$pb.TagNumber(2)
@ -1676,6 +1686,7 @@ class Response_Ok extends $pb.GeneratedMessage {
@$pb.TagNumber(13)
@$pb.TagNumber(14)
@$pb.TagNumber(15)
@$pb.TagNumber(16)
void clearOk() => $_clearField($_whichOneof(0));
@$pb.TagNumber(1)
@ -1835,6 +1846,16 @@ class Response_Ok extends $pb.GeneratedMessage {
void clearProofOfWork() => $_clearField(15);
@$pb.TagNumber(15)
Response_ProofOfWork ensureProofOfWork() => $_ensure(14);
@$pb.TagNumber(16)
$core.List<$core.int> get passwordlessRecoveryServerKey => $_getN(15);
@$pb.TagNumber(16)
set passwordlessRecoveryServerKey($core.List<$core.int> value) =>
$_setBytes(15, value);
@$pb.TagNumber(16)
$core.bool hasPasswordlessRecoveryServerKey() => $_has(15);
@$pb.TagNumber(16)
void clearPasswordlessRecoveryServerKey() => $_clearField(16);
}
enum Response_Response { ok, error, notSet }

View file

@ -623,6 +623,14 @@ const Response_Ok$json = {
'9': 0,
'10': 'proofOfWork'
},
{
'1': 'passwordless_recovery_server_key',
'3': 16,
'4': 1,
'5': 12,
'9': 0,
'10': 'passwordlessRecoveryServerKey'
},
],
'8': [
{'1': 'Ok'},
@ -677,7 +685,7 @@ final $typed_data.Uint8List responseDescriptor = $convert.base64Decode(
'cKD2Rvd25sb2FkX3Rva2VucxgCIAMoDFIOZG93bmxvYWRUb2tlbnMaOQoORG93bmxvYWRUb2tl'
'bnMSJwoPZG93bmxvYWRfdG9rZW5zGAEgAygMUg5kb3dubG9hZFRva2VucxpFCgtQcm9vZk9mV2'
'9yaxIWCgZwcmVmaXgYASABKAlSBnByZWZpeBIeCgpkaWZmaWN1bHR5GAIgASgDUgpkaWZmaWN1'
'bHR5GtcHCgJPaxIUCgROb25lGAEgASgISABSBE5vbmUSGAoGdXNlcmlkGAIgASgDSABSBnVzZX'
'bHR5GqIICgJPaxIUCgROb25lGAEgASgISABSBE5vbmUSGAoGdXNlcmlkGAIgASgDSABSBnVzZX'
'JpZBImCg1hdXRoY2hhbGxlbmdlGAMgASgMSABSDWF1dGhjaGFsbGVuZ2USSgoLdXBsb2FkdG9r'
'ZW4YBCABKAsyJi5zZXJ2ZXJfdG9fY2xpZW50LlJlc3BvbnNlLlVwbG9hZFRva2VuSABSC3VwbG'
'9hZHRva2VuEkEKCHVzZXJkYXRhGAUgASgLMiMuc2VydmVyX3RvX2NsaWVudC5SZXNwb25zZS5V'
@ -694,5 +702,6 @@ final $typed_data.Uint8List responseDescriptor = $convert.base64Decode(
'dG9fY2xpZW50LlJlc3BvbnNlLkRvd25sb2FkVG9rZW5zSABSDmRvd25sb2FkdG9rZW5zEk0KDH'
'NpZ25lZHByZWtleRgOIAEoCzInLnNlcnZlcl90b19jbGllbnQuUmVzcG9uc2UuU2lnbmVkUHJl'
'S2V5SABSDHNpZ25lZHByZWtleRJKCgtwcm9vZk9mV29yaxgPIAEoCzImLnNlcnZlcl90b19jbG'
'llbnQuUmVzcG9uc2UuUHJvb2ZPZldvcmtIAFILcHJvb2ZPZldvcmtCBAoCT2tCCgoIUmVzcG9u'
'c2U=');
'llbnQuUmVzcG9uc2UuUHJvb2ZPZldvcmtIAFILcHJvb2ZPZldvcmsSSQogcGFzc3dvcmRsZXNz'
'X3JlY292ZXJ5X3NlcnZlcl9rZXkYECABKAxIAFIdcGFzc3dvcmRsZXNzUmVjb3ZlcnlTZXJ2ZX'
'JLZXlCBAoCT2tCCgoIUmVzcG9uc2U=');