aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/feature150265
-rw-r--r--src/common/log.c14
2 files changed, 19 insertions, 0 deletions
diff --git a/changes/feature15026 b/changes/feature15026
new file mode 100644
index 0000000000..c732b41e5d
--- /dev/null
+++ b/changes/feature15026
@@ -0,0 +1,5 @@
+ o Minor features (logging):
+ - Include the Tor version in all LD_BUG log messages, since people
+ tend to cut and paste those into the bugtracker. Implements
+ ticket 15026.
+
diff --git a/src/common/log.c b/src/common/log.c
index e8cc30c312..396eb6b0e8 100644
--- a/src/common/log.c
+++ b/src/common/log.c
@@ -263,6 +263,13 @@ log_tor_version(logfile_t *lf, int reset)
return 0;
}
+const char bug_suffix[] = " (on Tor " VERSION
+#ifndef _MSC_VER
+ " "
+#include "micro-revision.i"
+#endif
+ ")";
+
/** Helper: Format a log message into a fixed-sized buffer. (This is
* factored out of <b>logv</b> so that we never format a message more
* than once.) Return a pointer to the first character of the message
@@ -341,6 +348,13 @@ format_msg(char *buf, size_t buf_len,
}
}
}
+
+ if (domain == LD_BUG &&
+ buf_len - n > strlen(bug_suffix)+1) {
+ memcpy(buf+n, bug_suffix, strlen(bug_suffix));
+ n += strlen(bug_suffix);
+ }
+
buf[n]='\n';
buf[n+1]='\0';
*msg_len_out = n+1;