Fix all integrations
This commit is contained in:
@@ -54,12 +54,12 @@ def _xmpp_c2s_port() -> int:
|
||||
|
||||
|
||||
def _xmpp_domain() -> str:
|
||||
"""The VirtualHost domain (zm.is), derived from XMPP_JID or XMPP_DOMAIN."""
|
||||
"""The VirtualHost domain, derived from XMPP_JID or XMPP_DOMAIN."""
|
||||
domain = getattr(settings, "XMPP_DOMAIN", None)
|
||||
if domain:
|
||||
return str(domain)
|
||||
jid = str(settings.XMPP_JID)
|
||||
# Component JID is like "jews.zm.is" → parent domain is "zm.is"
|
||||
# Component JIDs may be subdomains; derive the parent domain when needed.
|
||||
parts = jid.split(".")
|
||||
if len(parts) > 2:
|
||||
return ".".join(parts[1:])
|
||||
@@ -389,7 +389,10 @@ class XMPPAuthBridgeTests(SimpleTestCase):
|
||||
"""Auth bridge returns 0 (or error) for a request with a wrong XMPP_SECRET."""
|
||||
_, host, port, path = self._parse_endpoint()
|
||||
# isuser command with wrong secret — should be rejected or return 0
|
||||
query = "?command=isuser%3Anonexistent%3Azm.is&secret=wrongsecret"
|
||||
query = (
|
||||
f"?command=isuser%3Anonexistent%3A{urllib.parse.quote(_xmpp_domain())}"
|
||||
"&secret=wrongsecret"
|
||||
)
|
||||
try:
|
||||
conn = http.client.HTTPConnection(host, port, timeout=5)
|
||||
conn.request("GET", path + query)
|
||||
@@ -410,7 +413,8 @@ class XMPPAuthBridgeTests(SimpleTestCase):
|
||||
secret = getattr(settings, "XMPP_SECRET", "")
|
||||
_, host, port, path = self._parse_endpoint()
|
||||
query = (
|
||||
f"?command=isuser%3Anonexistent%3Azm.is&secret={urllib.parse.quote(secret)}"
|
||||
f"?command=isuser%3Anonexistent%3A{urllib.parse.quote(_xmpp_domain())}"
|
||||
f"&secret={urllib.parse.quote(secret)}"
|
||||
)
|
||||
try:
|
||||
conn = http.client.HTTPConnection(host, port, timeout=5)
|
||||
|
||||
Reference in New Issue
Block a user