Move a bunch of files into the network modules.

This commit is contained in:
Greyson Parrelli
2026-05-13 16:45:27 -04:00
committed by Michelle Tang
parent 6339b38dee
commit 4dd57460de
280 changed files with 622 additions and 421 deletions
@@ -17,7 +17,12 @@ import org.signal.libsignal.zkgroup.GenericServerPublicParams
import org.signal.libsignal.zkgroup.backups.BackupAuthCredential
import org.signal.libsignal.zkgroup.backups.BackupAuthCredentialRequestContext
import org.signal.libsignal.zkgroup.backups.BackupAuthCredentialResponse
import org.whispersystems.signalservice.api.NetworkResult
import org.signal.network.NetworkResult
import org.signal.network.websocket.WebSocketRequestMessage
import org.signal.network.websocket.delete
import org.signal.network.websocket.get
import org.signal.network.websocket.post
import org.signal.network.websocket.put
import org.whispersystems.signalservice.api.archive.ArchiveCredentialPresentation
import org.whispersystems.signalservice.api.archive.ArchiveGetBackupInfoResponse
import org.whispersystems.signalservice.api.archive.ArchiveGetMediaItemsResponse
@@ -33,16 +38,12 @@ import org.whispersystems.signalservice.api.archive.BatchArchiveMediaRequest
import org.whispersystems.signalservice.api.archive.BatchArchiveMediaResponse
import org.whispersystems.signalservice.api.archive.DeleteArchivedMediaRequest
import org.whispersystems.signalservice.api.archive.GetArchiveCdnCredentialsResponse
import org.whispersystems.signalservice.api.fromWebSocketRequest
import org.whispersystems.signalservice.api.messages.SignalServiceAttachment
import org.whispersystems.signalservice.api.websocket.SignalWebSocket
import org.whispersystems.signalservice.internal.delete
import org.whispersystems.signalservice.internal.get
import org.whispersystems.signalservice.internal.post
import org.whispersystems.signalservice.internal.push.AttachmentUploadForm
import org.whispersystems.signalservice.internal.push.AuthCredentials
import org.whispersystems.signalservice.internal.push.PushServiceSocket
import org.whispersystems.signalservice.internal.put
import org.whispersystems.signalservice.internal.websocket.WebSocketRequestMessage
import java.io.InputStream
import java.time.Instant
import kotlin.time.Duration.Companion.days
@@ -7,19 +7,20 @@ package org.signal.network.api
import org.signal.libsignal.zkgroup.calllinks.CreateCallLinkCredentialRequest
import org.signal.libsignal.zkgroup.calllinks.CreateCallLinkCredentialResponse
import org.signal.network.NetworkResult
import org.signal.network.websocket.WebSocketRequestMessage
import org.signal.network.websocket.get
import org.signal.network.websocket.post
import org.signal.network.websocket.putCustom
import org.signal.storageservice.protos.calls.quality.SubmitCallQualitySurveyRequest
import org.whispersystems.signalservice.api.NetworkResult
import org.whispersystems.signalservice.api.fromWebSocketRequest
import org.whispersystems.signalservice.api.messages.calls.CallingResponse
import org.whispersystems.signalservice.api.messages.calls.TurnServerInfo
import org.whispersystems.signalservice.api.websocket.SignalWebSocket
import org.whispersystems.signalservice.internal.get
import org.whispersystems.signalservice.internal.post
import org.whispersystems.signalservice.internal.push.CreateCallLinkAuthRequest
import org.whispersystems.signalservice.internal.push.CreateCallLinkAuthResponse
import org.whispersystems.signalservice.internal.push.GetCallingRelaysResponse
import org.whispersystems.signalservice.internal.push.PushServiceSocket
import org.whispersystems.signalservice.internal.putCustom
import org.whispersystems.signalservice.internal.websocket.WebSocketRequestMessage
/**
* Provide calling specific network apis.
@@ -10,13 +10,14 @@ import org.signal.core.util.logging.Log
import org.signal.libsignal.net.CdsiProtocolException
import org.signal.libsignal.net.Network
import org.signal.libsignal.zkgroup.profiles.ProfileKey
import org.whispersystems.signalservice.api.NetworkResult
import org.signal.network.NetworkResult
import org.signal.network.websocket.WebSocketRequestMessage
import org.signal.network.websocket.get
import org.whispersystems.signalservice.api.cds.CdsiV2Service
import org.whispersystems.signalservice.api.fromWebSocketRequest
import org.whispersystems.signalservice.api.push.exceptions.CdsiInvalidTokenException
import org.whispersystems.signalservice.api.websocket.SignalWebSocket
import org.whispersystems.signalservice.internal.get
import org.whispersystems.signalservice.internal.push.CdsiAuthResponse
import org.whispersystems.signalservice.internal.websocket.WebSocketRequestMessage
import java.io.IOException
import java.util.Optional
import java.util.concurrent.TimeUnit
@@ -39,7 +40,7 @@ class CdsApi(private val authWebSocket: SignalWebSocket.AuthenticatedWebSocket)
* - 200: Success
* - 401: Not authenticated
*
* And then CDS websocket communications, can return the following within [org.whispersystems.signalservice.api.NetworkResult.StatusCodeError]
* And then CDS websocket communications, can return the following within [org.signal.network.NetworkResult.StatusCodeError]
* - [org.whispersystems.signalservice.api.push.exceptions.CdsiResourceExhaustedException]: Rate limited
* - [org.whispersystems.signalservice.api.push.exceptions.CdsiInvalidTokenException]: Token no longer valid
*/
@@ -15,10 +15,11 @@ import com.fasterxml.jackson.databind.SerializerProvider
import com.fasterxml.jackson.databind.annotation.JsonDeserialize
import com.fasterxml.jackson.databind.annotation.JsonSerialize
import org.signal.core.util.Base64
import org.whispersystems.signalservice.api.NetworkResult
import org.signal.network.NetworkResult
import org.signal.network.websocket.WebSocketRequestMessage
import org.signal.network.websocket.get
import org.whispersystems.signalservice.api.fromWebSocketRequest
import org.whispersystems.signalservice.api.websocket.SignalWebSocket
import org.whispersystems.signalservice.internal.get
import org.whispersystems.signalservice.internal.websocket.WebSocketRequestMessage
/**
* Endpoints to get sender certificates.
@@ -17,7 +17,12 @@ import org.signal.core.util.urlEncode
import org.signal.libsignal.protocol.IdentityKeyPair
import org.signal.libsignal.protocol.ecc.ECPublicKey
import org.signal.libsignal.zkgroup.profiles.ProfileKey
import org.whispersystems.signalservice.api.NetworkResult
import org.signal.network.NetworkResult
import org.signal.network.websocket.WebSocketRequestMessage
import org.signal.network.websocket.delete
import org.signal.network.websocket.get
import org.signal.network.websocket.put
import org.whispersystems.signalservice.api.fromWebSocketRequest
import org.whispersystems.signalservice.api.link.LinkedDeviceVerificationCodeResponse
import org.whispersystems.signalservice.api.link.SetDeviceNameRequest
import org.whispersystems.signalservice.api.link.SetLinkedDeviceTransferArchiveRequest
@@ -28,13 +33,9 @@ import org.whispersystems.signalservice.api.messages.multidevice.DeviceInfo
import org.whispersystems.signalservice.api.provisioning.ProvisioningMessage
import org.whispersystems.signalservice.api.websocket.SignalWebSocket
import org.whispersystems.signalservice.internal.crypto.PrimaryProvisioningCipher
import org.whispersystems.signalservice.internal.delete
import org.whispersystems.signalservice.internal.get
import org.whispersystems.signalservice.internal.push.DeviceInfoList
import org.whispersystems.signalservice.internal.push.ProvisionMessage
import org.whispersystems.signalservice.internal.push.ProvisioningVersion
import org.whispersystems.signalservice.internal.put
import org.whispersystems.signalservice.internal.websocket.WebSocketRequestMessage
import kotlin.time.Duration
import kotlin.time.Duration.Companion.seconds
@@ -5,12 +5,13 @@
package org.signal.network.api
import org.whispersystems.signalservice.api.NetworkResult
import org.signal.network.NetworkResult
import org.signal.network.websocket.WebSocketRequestMessage
import org.signal.network.websocket.get
import org.whispersystems.signalservice.api.fromWebSocketRequest
import org.whispersystems.signalservice.api.payments.CurrencyConversions
import org.whispersystems.signalservice.api.websocket.SignalWebSocket
import org.whispersystems.signalservice.internal.get
import org.whispersystems.signalservice.internal.push.AuthCredentials
import org.whispersystems.signalservice.internal.websocket.WebSocketRequestMessage
/**
* Provide payments specific network apis.
@@ -8,16 +8,17 @@ package org.signal.network.api
import org.signal.core.util.Base64
import org.signal.core.util.urlEncode
import org.signal.libsignal.protocol.ecc.ECPublicKey
import org.signal.network.NetworkResult
import org.signal.network.websocket.WebSocketRequestMessage
import org.signal.network.websocket.get
import org.signal.network.websocket.put
import org.signal.registration.proto.RegistrationProvisionMessage
import org.whispersystems.signalservice.api.NetworkResult
import org.whispersystems.signalservice.api.fromWebSocketRequest
import org.whispersystems.signalservice.api.provisioning.ProvisioningMessage
import org.whispersystems.signalservice.api.provisioning.RestoreMethod
import org.whispersystems.signalservice.api.registration.RestoreMethodBody
import org.whispersystems.signalservice.api.websocket.SignalWebSocket
import org.whispersystems.signalservice.internal.crypto.PrimaryProvisioningCipher
import org.whispersystems.signalservice.internal.get
import org.whispersystems.signalservice.internal.put
import org.whispersystems.signalservice.internal.websocket.WebSocketRequestMessage
import kotlin.time.Duration.Companion.seconds
/**
@@ -6,11 +6,12 @@
package org.signal.network.api
import com.fasterxml.jackson.annotation.JsonProperty
import org.whispersystems.signalservice.api.NetworkResult
import org.signal.network.NetworkResult
import org.signal.network.websocket.WebSocketRequestMessage
import org.signal.network.websocket.post
import org.signal.network.websocket.put
import org.whispersystems.signalservice.api.fromWebSocketRequest
import org.whispersystems.signalservice.api.websocket.SignalWebSocket
import org.whispersystems.signalservice.internal.post
import org.whispersystems.signalservice.internal.put
import org.whispersystems.signalservice.internal.websocket.WebSocketRequestMessage
/**
* Calls for requesting and submitting rate limit triggered challenges.
@@ -6,14 +6,15 @@
package org.signal.network.api
import com.fasterxml.jackson.annotation.JsonProperty
import org.whispersystems.signalservice.api.NetworkResult
import org.signal.network.NetworkResult
import org.signal.network.util.JsonUtil
import org.signal.network.websocket.WebSocketRequestMessage
import org.signal.network.websocket.WebsocketResponse
import org.signal.network.websocket.get
import org.whispersystems.signalservice.api.fromWebSocketRequest
import org.whispersystems.signalservice.api.remoteconfig.RemoteConfigResult
import org.whispersystems.signalservice.api.websocket.SignalWebSocket
import org.whispersystems.signalservice.internal.get
import org.whispersystems.signalservice.internal.push.PushServiceSocket
import org.whispersystems.signalservice.internal.util.JsonUtil
import org.whispersystems.signalservice.internal.websocket.WebSocketRequestMessage
import org.whispersystems.signalservice.internal.websocket.WebsocketResponse
import java.util.Locale
/**
@@ -47,7 +47,7 @@ class SvrBApi(private val network: Network) {
* See [org.signal.libsignal.net.SvrB.store].
*
* Handling this one is funny because the underlying protocols don't use status codes, instead favoring complex results.
* As a result, responses are only [org.whispersystems.signalservice.api.NetworkResult.Success] and [org.whispersystems.signalservice.api.NetworkResult.NetworkError], with errors being accounted for
* As a result, responses are only [org.signal.network.NetworkResult.Success] and [org.signal.network.NetworkResult.NetworkError], with errors being accounted for
* in the success case via the sealed result class.
*/
fun store(auth: AuthCredentials, backupKey: MessageBackupKey, previousSecretData: ByteArray): StoreResult {
@@ -79,7 +79,7 @@ class SvrBApi(private val network: Network) {
* See [org.signal.libsignal.net.SvrB.restore]
*
* Handling this one is funny because the underlying protocols don't use status codes, instead favoring complex results.
* As a result, responses are only [org.whispersystems.signalservice.api.NetworkResult.Success] and [org.whispersystems.signalservice.api.NetworkResult.NetworkError], with errors being accounted for
* As a result, responses are only [org.signal.network.NetworkResult.Success] and [org.signal.network.NetworkResult.NetworkError], with errors being accounted for
* in the success case via the sealed result class.
*/
fun restore(auth: AuthCredentials, backupKey: MessageBackupKey, forwardSecrecyMetadata: ByteArray): RestoreResult {
@@ -14,8 +14,8 @@ import org.signal.core.util.bytes
import org.signal.core.util.isNotEmpty
import org.signal.core.util.logging.Log
import org.signal.libsignal.protocol.InvalidKeyException
import org.whispersystems.signalservice.api.NetworkResult
import org.whispersystems.signalservice.api.push.exceptions.NonSuccessfulResponseCodeException
import org.signal.network.NetworkResult
import org.signal.network.exceptions.NonSuccessfulResponseCodeException
import org.whispersystems.signalservice.api.storage.RecordIkm
import org.whispersystems.signalservice.api.storage.SignalStorageCipher
import org.whispersystems.signalservice.api.storage.SignalStorageManifest