0.2.0 — a notebook in your pocket, ready to be hosted #3
+7
-2
@@ -4,8 +4,8 @@ The whole security property is "a caller cannot forge their own address", and it
|
|||||||
on counting in from the RIGHT of the header rather than the left. These are the cases
|
on counting in from the RIGHT of the header rather than the left. These are the cases
|
||||||
that tell the two apart — pure functions, no request context, no database.
|
that tell the two apart — pure functions, no request context, no database.
|
||||||
"""
|
"""
|
||||||
from thoughtsync.config import Config
|
|
||||||
from thoughtsync.proxy import forwarded_for, trusted_entry
|
from thoughtsync.proxy import forwarded_for, trusted_entry
|
||||||
|
from thoughtsync.settings import live
|
||||||
|
|
||||||
PEER = "10.0.0.1" # the socket address: our own proxy, or the caller when unproxied
|
PEER = "10.0.0.1" # the socket address: our own proxy, or the caller when unproxied
|
||||||
|
|
||||||
@@ -13,7 +13,12 @@ PEER = "10.0.0.1" # the socket address: our own proxy, or the caller when unpro
|
|||||||
def test_default_is_one_hop():
|
def test_default_is_one_hop():
|
||||||
# One reverse proxy terminating TLS — this deployment, and the only shape that is
|
# One reverse proxy terminating TLS — this deployment, and the only shape that is
|
||||||
# safe to assume. A wrong default here is a silent security bug, not a preference.
|
# safe to assume. A wrong default here is a silent security bug, not a preference.
|
||||||
assert Config.trusted_proxy_hops() == 1
|
#
|
||||||
|
# Read through live() rather than the registry: live() is what proxy.py actually
|
||||||
|
# calls, and it is seeded from the defaults at import time so the value is right
|
||||||
|
# before the first database read. A boot that never reached the DB must still
|
||||||
|
# count one hop, not zero.
|
||||||
|
assert live("trusted_proxy_hops") == 1
|
||||||
|
|
||||||
|
|
||||||
def test_no_proxy_ignores_the_header_entirely():
|
def test_no_proxy_ignores_the_header_entirely():
|
||||||
|
|||||||
Reference in New Issue
Block a user