Renaming + changelog
This commit is contained in:
parent
3f237c690d
commit
14d9515d2a
|
@ -24,6 +24,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
- [2020-06-28] Fixed various state transition bugs by [@carbotaniuman].
|
- [2020-06-28] Fixed various state transition bugs by [@carbotaniuman].
|
||||||
|
|
||||||
### Security
|
### Security
|
||||||
|
- [2020-07-02] Added option to enforce strict checks on tokens to prevent hotlinking [@carbotaniuman].
|
||||||
|
|
||||||
## [1.0.0] - 2020-06-22
|
## [1.0.0] - 2020-06-22
|
||||||
### Added
|
### Added
|
||||||
|
|
|
@ -99,12 +99,12 @@ class ImageServer(private val cache: DiskLruCache, private val statistics: Atomi
|
||||||
"/data"
|
"/data"
|
||||||
} + "/$chapterHash/$fileName"
|
} + "/$chapterHash/$fileName"
|
||||||
|
|
||||||
if (tokenized || serverSettings.forceToken) {
|
if (tokenized || serverSettings.forceTokens) {
|
||||||
val tokenArr = Base64.getUrlDecoder().decode(Path.of("token")(request))
|
val tokenArr = Base64.getUrlDecoder().decode(Path.of("token")(request))
|
||||||
val token = JACKSON.readValue<Token>(
|
val token = JACKSON.readValue<Token>(
|
||||||
try {
|
try {
|
||||||
sodium.cryptoBoxOpenEasyAfterNm(
|
sodium.cryptoBoxOpenEasyAfterNm(
|
||||||
tokenArr.sliceArray(24 until tokenArr.size), tokenArr.sliceArray(0 until 24), serverSettings.sharedKey
|
tokenArr.sliceArray(24 until tokenArr.size), tokenArr.sliceArray(0 until 24), serverSettings.tokenKey
|
||||||
)
|
)
|
||||||
} catch (_: SodiumException) {
|
} catch (_: SodiumException) {
|
||||||
if (LOGGER.isInfoEnabled) {
|
if (LOGGER.isInfoEnabled) {
|
||||||
|
|
|
@ -27,10 +27,10 @@ data class ServerSettings(
|
||||||
val imageServer: String,
|
val imageServer: String,
|
||||||
val latestBuild: Int,
|
val latestBuild: Int,
|
||||||
val url: String,
|
val url: String,
|
||||||
val sharedKey: ByteArray,
|
val tokenKey: ByteArray,
|
||||||
val compromised: Boolean,
|
val compromised: Boolean,
|
||||||
val paused: Boolean,
|
val paused: Boolean,
|
||||||
val forceToken: Boolean = false,
|
val forceTokens: Boolean = false,
|
||||||
val tls: TlsCert?
|
val tls: TlsCert?
|
||||||
) {
|
) {
|
||||||
override fun equals(other: Any?): Boolean {
|
override fun equals(other: Any?): Boolean {
|
||||||
|
@ -42,7 +42,7 @@ data class ServerSettings(
|
||||||
if (imageServer != other.imageServer) return false
|
if (imageServer != other.imageServer) return false
|
||||||
if (latestBuild != other.latestBuild) return false
|
if (latestBuild != other.latestBuild) return false
|
||||||
if (url != other.url) return false
|
if (url != other.url) return false
|
||||||
if (!sharedKey.contentEquals(other.sharedKey)) return false
|
if (!tokenKey.contentEquals(other.tokenKey)) return false
|
||||||
if (compromised != other.compromised) return false
|
if (compromised != other.compromised) return false
|
||||||
if (paused != other.paused) return false
|
if (paused != other.paused) return false
|
||||||
if (tls != other.tls) return false
|
if (tls != other.tls) return false
|
||||||
|
@ -54,7 +54,7 @@ data class ServerSettings(
|
||||||
var result = imageServer.hashCode()
|
var result = imageServer.hashCode()
|
||||||
result = 31 * result + latestBuild
|
result = 31 * result + latestBuild
|
||||||
result = 31 * result + url.hashCode()
|
result = 31 * result + url.hashCode()
|
||||||
result = 31 * result + sharedKey.contentHashCode()
|
result = 31 * result + tokenKey.contentHashCode()
|
||||||
result = 31 * result + compromised.hashCode()
|
result = 31 * result + compromised.hashCode()
|
||||||
result = 31 * result + paused.hashCode()
|
result = 31 * result + paused.hashCode()
|
||||||
result = 31 * result + (tls?.hashCode() ?: 0)
|
result = 31 * result + (tls?.hashCode() ?: 0)
|
||||||
|
|
Loading…
Reference in a new issue