From efc223ad1fdefd39827b5516a37b7b5822532bbc Mon Sep 17 00:00:00 2001
From: Daira Hopwood <daira@jacaranda.org>
Date: Mon, 5 May 2014 23:14:48 +0100
Subject: [PATCH] Improve error reporting for '#' characters in config entries.
 refs #2128

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
---
 src/allmydata/node.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/allmydata/node.py b/src/allmydata/node.py
index 47c8ac3b..1a6bb94f 100644
--- a/src/allmydata/node.py
+++ b/src/allmydata/node.py
@@ -58,7 +58,7 @@ class OldConfigOptionError(Exception):
 class UnescapedHashError(Exception):
     def __str__(self):
         return ("The configuration entry %s contained an unescaped '#' character."
-                % quote_output(self.args[0]))
+                % quote_output("[%s]%s = %s" % self.args))
 
 
 class Node(service.MultiService):
@@ -124,7 +124,7 @@ class Node(service.MultiService):
 
             item = self.config.get(section, option)
             if option.endswith(".furl") and self._contains_unescaped_hash(item):
-                raise UnescapedHashError(item)
+                raise UnescapedHashError(section, option, item)
 
             return item
         except (ConfigParser.NoOptionError, ConfigParser.NoSectionError):
-- 
2.45.2