Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
ollama
Commits
5c143af7
Commit
5c143af7
authored
Mar 08, 2024
by
Jeffrey Morgan
Browse files
add additional allowed hosts
parent
6c0af259
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
33 additions
and
14 deletions
+33
-14
server/routes.go
server/routes.go
+33
-14
No files found.
server/routes.go
View file @
5c143af7
...
@@ -915,9 +915,9 @@ func allowedHost(host string) bool {
...
@@ -915,9 +915,9 @@ func allowedHost(host string) bool {
}
}
var
tlds
=
[]
string
{
var
tlds
=
[]
string
{
"
.
localhost"
,
"localhost"
,
"
.
local"
,
"local"
,
"
.
internal"
,
"internal"
,
}
}
for
_
,
tld
:=
range
tlds
{
for
_
,
tld
:=
range
tlds
{
...
@@ -929,24 +929,36 @@ func allowedHost(host string) bool {
...
@@ -929,24 +929,36 @@ func allowedHost(host string) bool {
return
false
return
false
}
}
func
allowedHostsMiddleware
(
addr
net
.
Addr
)
gin
.
HandlerFunc
{
func
ips
()
[]
string
{
return
func
(
c
*
gin
.
Context
)
{
var
ips
[]
string
if
addr
==
nil
{
c
.
Next
()
return
}
if
!
netip
.
MustParseAddrPort
(
addr
.
String
())
.
Addr
()
.
IsLoopback
()
{
if
interfaces
,
err
:=
net
.
Interfaces
();
err
==
nil
{
c
.
Next
()
for
_
,
iface
:=
range
interfaces
{
return
addrs
,
err
:=
iface
.
Addrs
()
if
err
!=
nil
{
continue
}
for
_
,
a
:=
range
addrs
{
if
ip
,
_
,
err
:=
net
.
ParseCIDR
(
a
.
String
());
err
==
nil
{
ips
=
append
(
ips
,
ip
.
String
())
}
}
}
}
}
return
ips
}
if
addrPort
,
_
:=
netip
.
ParseAddrPort
(
c
.
Request
.
Host
);
addrPort
.
Addr
()
.
IsLoopback
()
{
func
allowedHostsMiddleware
(
addr
net
.
Addr
)
gin
.
HandlerFunc
{
return
func
(
c
*
gin
.
Context
)
{
if
addr
==
nil
{
c
.
Next
()
c
.
Next
()
return
return
}
}
if
addr
,
_
:=
netip
.
ParseAddr
(
c
.
Request
.
Host
);
addr
.
IsLoopback
()
{
addr
,
err
:=
netip
.
ParseAddrPort
(
addr
.
String
())
if
err
==
nil
&&
!
addr
.
Addr
()
.
IsLoopback
()
{
c
.
Next
()
c
.
Next
()
return
return
}
}
...
@@ -956,6 +968,13 @@ func allowedHostsMiddleware(addr net.Addr) gin.HandlerFunc {
...
@@ -956,6 +968,13 @@ func allowedHostsMiddleware(addr net.Addr) gin.HandlerFunc {
host
=
c
.
Request
.
Host
host
=
c
.
Request
.
Host
}
}
if
addr
,
err
:=
netip
.
ParseAddr
(
host
);
err
==
nil
{
if
addr
.
IsLoopback
()
||
addr
.
IsPrivate
()
||
slices
.
Contains
(
ips
(),
host
)
||
addr
.
String
()
==
"0.0.0.0"
{
c
.
Next
()
return
}
}
if
allowedHost
(
host
)
{
if
allowedHost
(
host
)
{
c
.
Next
()
c
.
Next
()
return
return
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment