[index] stop passing certificates around

This commit is contained in:
Torsten Grote 2024-04-05 17:44:33 -03:00
parent 52e3905f4c
commit fbf96a80cd
No known key found for this signature in database
GPG Key ID: 3E5F77D92CF891FF
6 changed files with 10 additions and 19 deletions

View File

@ -38,7 +38,6 @@ import java.io.InputStream
@OptIn(ExperimentalSerializationApi::class)
public class IndexV1StreamProcessor(
private val indexStreamReceiver: IndexV1StreamReceiver,
private val certificate: String?,
private val lastTimestamp: Long,
private val locale: String = DEFAULT_LOCALE,
private val json: Json = IndexParser.json,
@ -98,7 +97,7 @@ public class IndexV1StreamProcessor(
categories = emptyMap(),
releaseChannels = emptyMap()
)
indexStreamReceiver.receive(repoV2, repo.version.toLong(), certificate)
indexStreamReceiver.receive(repoV2, repo.version.toLong())
}
private fun deserializeRequests(decoder: JsonDecoder, index: Int) {

View File

@ -16,7 +16,6 @@ import java.io.InputStream
@OptIn(ExperimentalSerializationApi::class)
public class IndexV2FullStreamProcessor(
private val indexStreamReceiver: IndexV2StreamReceiver,
private val certificate: String,
private val json: Json = IndexParser.json,
) : IndexV2StreamProcessor {
@ -68,7 +67,7 @@ public class IndexV2FullStreamProcessor(
private fun deserializeRepo(decoder: JsonDecoder, index: Int) {
require(index == descriptor.getElementIndex("repo"))
val repo = decoder.decodeSerializableValue(RepoV2.serializer())
indexStreamReceiver.receive(repo, version, certificate)
indexStreamReceiver.receive(repo, version)
}
private fun deserializePackages(decoder: JsonDecoder, index: Int) {

View File

@ -125,7 +125,7 @@ internal class IndexV1StreamProcessorTest {
) {
val file = File(filePath)
val testStreamReceiver = TestStreamReceiver()
val streamProcessor = IndexV1StreamProcessor(testStreamReceiver, null, lastTimestamp)
val streamProcessor = IndexV1StreamProcessor(testStreamReceiver, lastTimestamp)
FileInputStream(file).use { streamProcessor.process(it) }
assertEquals(indexV2.repo, testStreamReceiver.repo)
assertEquals(indexV2.packages, testStreamReceiver.packages)
@ -133,7 +133,7 @@ internal class IndexV1StreamProcessorTest {
private fun testStreamError(index: String) {
val testStreamReceiver = TestStreamReceiver()
val streamProcessor = IndexV1StreamProcessor(testStreamReceiver, null, -1)
val streamProcessor = IndexV1StreamProcessor(testStreamReceiver, -1)
ByteArrayInputStream(index.encodeToByteArray()).use { streamProcessor.process(it) }
assertNull(testStreamReceiver.repo)
assertEquals(0, testStreamReceiver.packages.size)
@ -144,7 +144,7 @@ internal class IndexV1StreamProcessorTest {
var repo: RepoV2? = null
val packages = HashMap<String, PackageV2>()
override fun receive(repo: RepoV2, version: Long, certificate: String?) {
override fun receive(repo: RepoV2, version: Long) {
this.repo = repo
}

View File

@ -7,7 +7,6 @@ import org.fdroid.test.TestDataEmptyV2
import org.fdroid.test.TestDataMaxV2
import org.fdroid.test.TestDataMidV2
import org.fdroid.test.TestDataMinV2
import org.fdroid.test.TestUtils.getRandomString
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TemporaryFolder
@ -108,8 +107,7 @@ internal class IndexV2FullStreamProcessorTest {
private fun testStreamProcessing(filePath: String, index: IndexV2, expectedNumApps: Int) {
val file = File(filePath)
val testStreamReceiver = TestStreamReceiver()
val certificate = getRandomString()
val streamProcessor = IndexV2FullStreamProcessor(testStreamReceiver, certificate)
val streamProcessor = IndexV2FullStreamProcessor(testStreamReceiver)
var totalApps = 0
FileInputStream(file).use {
streamProcessor.process(42, it) { numAppsProcessed ->
@ -119,15 +117,13 @@ internal class IndexV2FullStreamProcessorTest {
assertTrue(testStreamReceiver.calledOnStreamEnded)
assertEquals(index.repo, testStreamReceiver.repo)
assertEquals(certificate, testStreamReceiver.certificate)
assertEquals(index.packages, testStreamReceiver.packages)
assertEquals(expectedNumApps, totalApps)
}
private fun testStreamError(str: String) {
val testStreamReceiver = TestStreamReceiver()
val certificate = getRandomString()
val streamProcessor = IndexV2FullStreamProcessor(testStreamReceiver, certificate)
val streamProcessor = IndexV2FullStreamProcessor(testStreamReceiver)
var totalApps = 0
ByteArrayInputStream(str.encodeToByteArray()).use {
streamProcessor.process(42, it) { numAppsProcessed ->
@ -136,20 +132,17 @@ internal class IndexV2FullStreamProcessorTest {
}
assertTrue(testStreamReceiver.calledOnStreamEnded)
assertEquals(certificate, testStreamReceiver.certificate)
assertEquals(0, testStreamReceiver.packages.size)
assertEquals(0, totalApps)
}
private open class TestStreamReceiver : IndexV2StreamReceiver {
var repo: RepoV2? = null
var certificate: String? = null
val packages = HashMap<String, PackageV2>()
var calledOnStreamEnded: Boolean = false
override fun receive(repo: RepoV2, version: Long, certificate: String) {
override fun receive(repo: RepoV2, version: Long) {
this.repo = repo
this.certificate = certificate
}
override fun receive(packageName: String, p: PackageV2) {

View File

@ -10,7 +10,7 @@ import org.fdroid.index.v2.RepoV2
@Deprecated("Use IndexV2 instead")
public interface IndexV1StreamReceiver {
public fun receive(repo: RepoV2, version: Long, certificate: String?)
public fun receive(repo: RepoV2, version: Long)
public fun receive(packageName: String, m: MetadataV2)
public fun receive(packageName: String, v: Map<String, PackageVersionV2>)

View File

@ -6,7 +6,7 @@ public interface IndexV2StreamReceiver {
* Receives the [RepoV2] from the index stream.
* Attention: This might get called after receiving packages.
*/
public fun receive(repo: RepoV2, version: Long, certificate: String)
public fun receive(repo: RepoV2, version: Long)
/**
* Receives one [PackageV2] from the index stream.