luci-proto-wireguard: Escape IPv6 endpoints with [] in generated wireguard config
[project/luci.git] / protocols / luci-proto-wireguard / htdocs / luci-static / resources / protocol / wireguard.js
index fc28d2bbe578c983c480ed238072bf5e468864f2..58537f38f8b9e68c92130e762070ca6ebbeff015 100644 (file)
@@ -700,6 +700,11 @@ return network.registerProtocol('wireguard', {
                            eport = this.section.formvalue(section_id, 'endpoint_port'),
                            keep = this.section.formvalue(section_id, 'persistent_keepalive');
 
+                       // If endpoint is IPv6 we must escape it with []
+                       if (endpoint.indexOf(':') > 0) {
+                               endpoint = '['+endpoint+']';
+                       }
+
                        return [
                                '[Interface]',
                                'PrivateKey = ' + prv,