From c9a56eae2b03221b4399a3b801510a10a1f6e9a1 Mon Sep 17 00:00:00 2001
From: Daira Hopwood <daira@jacaranda.org>
Date: Mon, 9 Feb 2015 19:18:58 +0000
Subject: [PATCH] Allow combining autodetected and statically configured
 locations. fixes #754 Replaces the location 'AUTO' with the autodetected
 IP/port combination.

Author: Chris Kerr <debdepba@dasganma.tk>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
---
 src/allmydata/node.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/allmydata/node.py b/src/allmydata/node.py
index 710ce7d5..ab8722af 100644
--- a/src/allmydata/node.py
+++ b/src/allmydata/node.py
@@ -398,9 +398,16 @@ class Node(service.MultiService):
         # next time
         fileutil.write_atomically(self._portnumfile, "%d\n" % portnum, mode="")
 
-        base_location = ",".join([ "%s:%d" % (addr, portnum)
-                                   for addr in local_addresses ])
-        location = self.get_config("node", "tub.location", base_location)
+        location = self.get_config("node", "tub.location", "AUTO")
+
+        # Replace the location "AUTO" with the detected local addresses.
+        split_location = location.split(",")
+        if "AUTO" in split_location:
+            split_location.remove("AUTO")
+            split_location.extend([ "%s:%d" % (addr, portnum)
+                                    for addr in local_addresses ])
+            location = ",".join(split_location)
+
         self.log("Tub location set to %s" % location)
         self.tub.setLocation(location)
 
-- 
2.45.2