1
0
Fork 1
mirror of https://gitlab.com/mangadex-pub/mangadex_at_home.git synced 2024-01-19 02:48:37 +00:00

Update SNI changes

This commit is contained in:
carbotaniuman 2021-05-27 15:37:00 -05:00
parent 785dc1ed7f
commit 661f047523
3 changed files with 10 additions and 5 deletions

View file

@ -52,8 +52,8 @@ import mdnet.logging.info
import mdnet.logging.trace
import mdnet.logging.warn
import mdnet.settings.DevSettings
import mdnet.settings.RemoteSettings
import mdnet.settings.ServerSettings
import mdnet.settings.TlsCert
import org.http4k.core.HttpHandler
import org.http4k.server.Http4kChannelHandler
import org.http4k.server.Http4kServer
@ -140,7 +140,7 @@ sealed class NettyTransport(threads: Int) {
}
class Netty(
private val tls: TlsCert,
private val remoteSettings: RemoteSettings,
private val serverSettings: ServerSettings,
private val devSettings: DevSettings,
private val statistics: Statistics
@ -160,6 +160,7 @@ class Netty(
override fun start(): Http4kServer = apply {
LOGGER.info { "Starting Netty!" }
val tls = remoteSettings.tls!!
val certs = getX509Certs(tls.certificate)
val sslContext = SslContextBuilder
@ -180,10 +181,14 @@ class Netty(
ch.pipeline().addLast(
"dropHostname",
object : ChannelInboundHandlerAdapter() {
private val hostToTest = remoteSettings.url.authority.let {
it.substring(0, it.lastIndexOf(":"))
}
override fun userEventTriggered(ctx: ChannelHandlerContext, evt: Any) {
if (evt is SniCompletionEvent) {
if (!devSettings.disableSniCheck) {
if (!evt.hostname().endsWith("mangadex.network") &&
if (!evt.hostname().endsWith(hostToTest) &&
!evt.hostname().endsWith("localhost")
) {
ctx.close()

View file

@ -147,7 +147,7 @@ class ImageServer(
}
respondWithImage(tee, contentLength, contentType, lastModified, false)
} else {
LOGGER.info { "Request for $sanitizedUri is being served due to write errors" }
LOGGER.info { "Request for $sanitizedUri is being served as the cache is full" }
respondWithImage(mdResponse.body.stream, contentLength, contentType, lastModified, false)
}
}

View file

@ -144,7 +144,7 @@ fun getServer(
GeoIpMetricsFilterBuilder(metricsSettings.enableGeoip, metricsSettings.geoipLicenseKey, registry).build()
)
)
.asServer(Netty(remoteSettings.tls!!, serverSettings, devSettings, statistics))
.asServer(Netty(remoteSettings, serverSettings, devSettings, statistics))
}
private val LOGGER = LoggerFactory.getLogger(ImageServer::class.java)