summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGeorge Kadianakis <desnacked@riseup.net>2020-06-24 17:22:53 +0300
committerGeorge Kadianakis <desnacked@riseup.net>2020-06-24 17:22:53 +0300
commit2eae59e475168c3056cd33d6ead4f384be915ec7 (patch)
tree20af5b575ee33b55db12194eda37cf37a7aad4c6 /src
parent279225acdd997f0c2ad227fc8b1e5d5c50801dea (diff)
parent1bd0494f8c3375c1b6698bf4e6d4d8be324ba934 (diff)
downloadtor-2eae59e475168c3056cd33d6ead4f384be915ec7.tar.gz
tor-2eae59e475168c3056cd33d6ead4f384be915ec7.zip
Merge branch 'tor-github/pr/1939'
Diffstat (limited to 'src')
-rw-r--r--src/core/or/versions.c8
-rw-r--r--src/test/test_protover.c4
2 files changed, 4 insertions, 8 deletions
diff --git a/src/core/or/versions.c b/src/core/or/versions.c
index 2f8cbac0e9..5dfe0c2cc9 100644
--- a/src/core/or/versions.c
+++ b/src/core/or/versions.c
@@ -490,8 +490,8 @@ memoize_protover_summary(protover_summary_flags_t *out,
/** Summarize the protocols listed in <b>protocols</b> into <b>out</b>,
* falling back or correcting them based on <b>version</b> as appropriate.
*
- * If protocols and version are both NULL, returns a summary with no flags
- * set.
+ * If protocols and version are both NULL or "", returns a summary with no
+ * flags set.
*
* If the protover string does not contain any recognised protocols, and the
* version is not recognised, sets protocols_known, but does not set any other
@@ -504,10 +504,10 @@ summarize_protover_flags(protover_summary_flags_t *out,
{
tor_assert(out);
memset(out, 0, sizeof(*out));
- if (protocols) {
+ if (protocols && strcmp(protocols, "")) {
memoize_protover_summary(out, protocols);
}
- if (version && !strcmpstart(version, "Tor ")) {
+ if (version && strcmp(version, "") && !strcmpstart(version, "Tor ")) {
if (!out->protocols_known) {
/* The version is a "Tor" version, and where there is no
* list of protocol versions that we should be looking at instead. */
diff --git a/src/test/test_protover.c b/src/test/test_protover.c
index b42114f612..5e74265550 100644
--- a/src/test/test_protover.c
+++ b/src/test/test_protover.c
@@ -789,13 +789,9 @@ test_protover_summarize_flags(void *args)
DEBUG_PROTOVER(flags);
tt_mem_op(&flags, OP_EQ, &zero_flags, sizeof(flags));
- /* "" sets the protocols_known flag */
memset(&flags, 0, sizeof(flags));
summarize_protover_flags(&flags, "", "");
DEBUG_PROTOVER(flags);
- tt_int_op(flags.protocols_known, OP_EQ, 1);
- /* Now clear that flag, and check the rest are zero */
- flags.protocols_known = 0;
tt_mem_op(&flags, OP_EQ, &zero_flags, sizeof(flags));
/* Now check version exceptions */