Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F13520651
remote_ip_test.exs
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
remote_ip_test.exs
View Options
# Pleroma: A lightweight social networking server
# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule
Pleroma.Plugs.RemoteIpTest
do
use
ExUnit.Case
,
async
:
true
use
Plug.Test
alias
Pleroma.Plugs.RemoteIp
import
Pleroma.Tests.Helpers
,
only
:
[
clear_config
:
1
,
clear_config
:
2
]
setup
do
:
clear_config
(
RemoteIp
)
test
"disabled"
do
Pleroma.Config
.
put
(
RemoteIp
,
enabled
:
false
)
%{
remote_ip
:
remote_ip
}
=
conn
(
:get
,
"/"
)
conn
=
conn
(
:get
,
"/"
)
|>
put_req_header
(
"x-forwarded-for"
,
"1.1.1.1"
)
|>
RemoteIp
.
call
(
nil
)
assert
conn
.
remote_ip
==
remote_ip
end
test
"enabled"
do
Pleroma.Config
.
put
(
RemoteIp
,
enabled
:
true
)
conn
=
conn
(
:get
,
"/"
)
|>
put_req_header
(
"x-forwarded-for"
,
"1.1.1.1"
)
|>
RemoteIp
.
call
(
nil
)
assert
conn
.
remote_ip
==
{
1
,
1
,
1
,
1
}
end
test
"custom headers"
do
Pleroma.Config
.
put
(
RemoteIp
,
enabled
:
true
,
headers
:
[
"cf-connecting-ip"
])
conn
=
conn
(
:get
,
"/"
)
|>
put_req_header
(
"x-forwarded-for"
,
"1.1.1.1"
)
|>
RemoteIp
.
call
(
nil
)
refute
conn
.
remote_ip
==
{
1
,
1
,
1
,
1
}
conn
=
conn
(
:get
,
"/"
)
|>
put_req_header
(
"cf-connecting-ip"
,
"1.1.1.1"
)
|>
RemoteIp
.
call
(
nil
)
assert
conn
.
remote_ip
==
{
1
,
1
,
1
,
1
}
end
test
"custom proxies"
do
Pleroma.Config
.
put
(
RemoteIp
,
enabled
:
true
)
conn
=
conn
(
:get
,
"/"
)
|>
put_req_header
(
"x-forwarded-for"
,
"173.245.48.1, 1.1.1.1, 173.245.48.2"
)
|>
RemoteIp
.
call
(
nil
)
refute
conn
.
remote_ip
==
{
1
,
1
,
1
,
1
}
Pleroma.Config
.
put
([
RemoteIp
,
:proxies
],
[
"173.245.48.0/20"
])
conn
=
conn
(
:get
,
"/"
)
|>
put_req_header
(
"x-forwarded-for"
,
"173.245.48.1, 1.1.1.1, 173.245.48.2"
)
|>
RemoteIp
.
call
(
nil
)
assert
conn
.
remote_ip
==
{
1
,
1
,
1
,
1
}
end
end
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Dec 7, 7:43 PM (1 d, 23 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
636056
Default Alt Text
remote_ip_test.exs (1 KB)
Attached To
Mode
rPUBE pleroma-upstream
Attached
Detach File
Event Timeline
Log In to Comment