From 3679ef5f3183126c386b57fd4b79d94c54e2ae5e Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Wed, 25 Apr 2012 19:51:48 +0200
Subject: [PATCH] support both IPv4 and IPv6 address.

---
 slapos/recipe/generic_varnish/__init__.py | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/slapos/recipe/generic_varnish/__init__.py b/slapos/recipe/generic_varnish/__init__.py
index 4187b7ea0..4f93407bb 100644
--- a/slapos/recipe/generic_varnish/__init__.py
+++ b/slapos/recipe/generic_varnish/__init__.py
@@ -38,7 +38,7 @@ class Recipe(GenericSlapRecipe):
   def _install(self):
     ip = self.options['ip']
     backend_url = self.parameter_dict['tidstorage-url']
-    backend_ip, backend_port = self._getBackendServer(backend_url)
+    backend_server, backend_port = self._getBackendServer(backend_url)
     varnishd_manager_port = int(self.options['manager-port'])
     varnishd_server_port = int(self.options['server-port'])
     path_list = []
@@ -53,9 +53,8 @@ class Recipe(GenericSlapRecipe):
       varnish_data=self.options['varnish-data'],
       shell_path=self.options['shell-path'],
       vcl_file=self.options['vcl-file'],
-      backend_ip = backend_ip,
-      backend_port = backend_port,
-      backend_server = "[%s]" % backend_ip,
+      backend_port=backend_port,
+      backend_server=backend_server,
     )
 
     path_list.append(self.createExecutable(self.options['varnishd-wrapper'],
@@ -70,7 +69,7 @@ class Recipe(GenericSlapRecipe):
     return path_list
 
   def _getBackendServer(self, url):
-    r = re.compile('\/\/\[(.*)\]:(\d*)')
+    r = re.compile('\/\/(\[.+\]|[\d.]+):(\d*)')
     result = r.search(url)
     ip = result.groups()[0]
     port = result.groups()[1]
-- 
2.30.9