summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-05-19 14:09:51 -0400
committerNick Mathewson <nickm@torproject.org>2017-05-19 14:09:51 -0400
commitd950ad0dfdf786639628f95e750121dc772ebb67 (patch)
treebfdb5f2e2088c4ae7026ec362d2462550f6156e4
parent473716d098cf3117f9e121f204ea5fd3c465cc31 (diff)
downloadtor-d950ad0dfdf786639628f95e750121dc772ebb67.tar.gz
tor-d950ad0dfdf786639628f95e750121dc772ebb67.zip
Remove call to get_unquoted_path in config_process_include()
parse_config_line_from_str_verbose() already looks for strings that are surrounded by quotes, and processes them with unescape_string(). So things were getting decoded twice, which was (in turn) playing havoc with backslashes on Windows.
-rw-r--r--src/common/confline.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/common/confline.c b/src/common/confline.c
index e078b1da04..f04b7a8757 100644
--- a/src/common/confline.c
+++ b/src/common/confline.c
@@ -270,6 +270,8 @@ static int
config_process_include(const char *path, int recursion_level, int extended,
config_line_t ***next, config_line_t **list_last)
{
+#if 0
+ // Disabled -- we already unescape_string() on the result. */
char *unquoted_path = get_unquoted_path(path);
if (!unquoted_path) {
return -1;
@@ -281,6 +283,11 @@ config_process_include(const char *path, int recursion_level, int extended,
return -1;
}
tor_free(unquoted_path);
+#endif
+ smartlist_t *config_files = config_get_file_list(path);
+ if (!config_files) {
+ return -1;
+ }
SMARTLIST_FOREACH_BEGIN(config_files, char *, config_file) {
config_line_t *included_list = NULL;