diff --git a/modules/restserver/src/main/scala/docspell/restserver/Config.scala b/modules/restserver/src/main/scala/docspell/restserver/Config.scala index 3696610e..e5aae021 100644 --- a/modules/restserver/src/main/scala/docspell/restserver/Config.scala +++ b/modules/restserver/src/main/scala/docspell/restserver/Config.scala @@ -42,14 +42,13 @@ object Config { case class HttpHeader(enabled: Boolean, headerName: String, headerValue: String) case class AllowedIps(enabled: Boolean, ips: Set[String]) { - def containsAddress(inet: IpAddress): Boolean = { - val ip = inet.fold(_.toUriString, _.toUriString) //.getHostAddress + def containsAddress(ipa: IpAddress): Boolean = { + val inet = ipa.toInetAddress + val ip = inet.getHostAddress lazy val ipParts = ip.split('.') def checkSingle(pattern: String): Boolean = - pattern == ip || (ip.contains( - "localhost" - ) && pattern == "127.0.0.1") || (pattern + pattern == ip || (inet.isLoopbackAddress && pattern == "127.0.0.1") || (pattern .split('.') .zip(ipParts) .foldLeft(true) { case (r, (a, b)) => diff --git a/modules/restserver/src/main/scala/docspell/restserver/http4s/ClientRequestInfo.scala b/modules/restserver/src/main/scala/docspell/restserver/http4s/ClientRequestInfo.scala index 8c6256da..91b37a60 100644 --- a/modules/restserver/src/main/scala/docspell/restserver/http4s/ClientRequestInfo.scala +++ b/modules/restserver/src/main/scala/docspell/restserver/http4s/ClientRequestInfo.scala @@ -41,7 +41,8 @@ object ClientRequestInfo { req.headers .get[`X-Forwarded-For`] .flatMap(_.values.head) - .map(ip => ip.fold(_.toUriString, _.toUriString)) + .map(_.toInetAddress) + .flatMap(inet => Option(inet.getHostName).orElse(Option(inet.getHostAddress))) private def xForwardedHost[F[_]](req: Request[F]): Option[String] = req.headers diff --git a/project/dev-ui-build.sh b/project/dev-ui-build.sh index c61da8ed..bb1fedb1 100755 --- a/project/dev-ui-build.sh +++ b/project/dev-ui-build.sh @@ -48,6 +48,7 @@ watch_both() { } +cd "$wdir/modules/webapp" case "$1" in all) compile_js