summaryrefslogtreecommitdiffstats
path: root/ipapython/ipautil.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipapython/ipautil.py')
-rw-r--r--ipapython/ipautil.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/ipapython/ipautil.py b/ipapython/ipautil.py
index cfc979edb..dfeaa9e0b 100644
--- a/ipapython/ipautil.py
+++ b/ipapython/ipautil.py
@@ -151,6 +151,24 @@ class CheckedIPAddress(netaddr.IPAddress):
def valid_ip(addr):
return netaddr.valid_ipv4(addr) or netaddr.valid_ipv6(addr)
+def format_netloc(host, port=None):
+ """
+ Format network location (host:port).
+
+ If the host part is a literal IPv6 address, it must be enclosed in square
+ brackets (RFC 2732).
+ """
+ host = str(host)
+ try:
+ socket.inet_pton(socket.AF_INET6, host)
+ host = '[%s]' % host
+ except socket.error:
+ pass
+ if port is None:
+ return host
+ else:
+ return '%s:%s' % (host, str(port))
+
def realm_to_suffix(realm_name):
s = realm_name.split(".")
terms = ["dc=" + x.lower() for x in s]