Update multi-recipient message sending to handle unrestricted destinations
This commit is contained in:
parent
a0427ecf8c
commit
1dda015c6a
|
@ -431,8 +431,15 @@ public class MessageController {
|
||||||
private void checkAccessKeys(CombinedUnidentifiedSenderAccessKeys accessKeys, Map<UUID, Account> uuidToAccountMap) {
|
private void checkAccessKeys(CombinedUnidentifiedSenderAccessKeys accessKeys, Map<UUID, Account> uuidToAccountMap) {
|
||||||
AtomicBoolean throwUnauthorized = new AtomicBoolean(false);
|
AtomicBoolean throwUnauthorized = new AtomicBoolean(false);
|
||||||
byte[] empty = new byte[16];
|
byte[] empty = new byte[16];
|
||||||
|
final Optional<byte[]> UNRESTRICTED_UNIDENTIFIED_ACCESS_KEY = Optional.of(new byte[16]);
|
||||||
byte[] combinedUnknownAccessKeys = uuidToAccountMap.values().stream()
|
byte[] combinedUnknownAccessKeys = uuidToAccountMap.values().stream()
|
||||||
.map(Account::getUnidentifiedAccessKey)
|
.map(account -> {
|
||||||
|
if (account.isUnrestrictedUnidentifiedAccess()) {
|
||||||
|
return UNRESTRICTED_UNIDENTIFIED_ACCESS_KEY;
|
||||||
|
} else {
|
||||||
|
return account.getUnidentifiedAccessKey();
|
||||||
|
}
|
||||||
|
})
|
||||||
.map(accessKey -> {
|
.map(accessKey -> {
|
||||||
if (accessKey.isEmpty()) {
|
if (accessKey.isEmpty()) {
|
||||||
throwUnauthorized.set(true);
|
throwUnauthorized.set(true);
|
||||||
|
|
Loading…
Reference in New Issue