aboutsummaryrefslogtreecommitdiffstats
path: root/config/haproxy-devel
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2014-12-21 20:10:30 -0500
committerjim-p <jimp@pfsense.org>2014-12-21 20:10:30 -0500
commit30967fa4bc6cbce48e25829ad133611b65f30f8a (patch)
treec9fab91fbf3caddd27d750c9281ed2739acdb5cd /config/haproxy-devel
parent9575f87529d7c5f63c9454b84e27a474d6283eac (diff)
parentddb8836b32c9e2baccfe4573941224b126cf50cb (diff)
downloadpfsense-packages-30967fa4bc6cbce48e25829ad133611b65f30f8a.tar.gz
pfsense-packages-30967fa4bc6cbce48e25829ad133611b65f30f8a.tar.bz2
pfsense-packages-30967fa4bc6cbce48e25829ad133611b65f30f8a.zip
Merge pull request #756 from PiBa-NL/haproxy_multi_bind_fix
Diffstat (limited to 'config/haproxy-devel')
-rw-r--r--config/haproxy-devel/haproxy.inc15
1 files changed, 11 insertions, 4 deletions
diff --git a/config/haproxy-devel/haproxy.inc b/config/haproxy-devel/haproxy.inc
index a596b241..fd086cfc 100644
--- a/config/haproxy-devel/haproxy.inc
+++ b/config/haproxy-devel/haproxy.inc
@@ -634,7 +634,6 @@ function write_backend($configpath, $fd, $name, $pool, $frontend) {
$a_servers = &$pool['ha_servers']['item'];
$frontendtype = $frontend['type'];
- $frontend_ip = haproxy_interface_ip($frontend['extaddr']);
fwrite ($fd, "backend " . $name . "\n");
// https is an alias for tcp for clarity purposes
@@ -785,11 +784,19 @@ function write_backend($configpath, $fd, $name, $pool, $frontend) {
$pool['retries'] = 3;
fwrite ($fd, "\tretries\t\t\t" . $pool['retries'] . "\n");
+ $uses_ipv6 = false;
+ $ips = get_frontend_ipport($frontend);
+ foreach($ips as $ip){
+ $uses_ipv6 = is_ipaddrv6($ip['addr']);
+ if ($uses_ipv6)
+ break;
+ }
+
if ($pool['transparent_clientip']) {
- if (is_ipaddrv4($frontend_ip))
- fwrite ($fd, "\tsource 0.0.0.0 usesrc clientip\n");
- else
+ if ($uses_ipv6)
fwrite ($fd, "\tsource ipv6@ usesrc clientip\n");
+ else
+ fwrite ($fd, "\tsource 0.0.0.0 usesrc clientip\n");
}
$uri = $pool['monitor_uri'];