mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-12 14:13:43 +01:00
dirparse: reject routerstatus entries with malformed protover
Contrary to its name, protover_contains_long_protocol_names() detects all parse errors, not just long names.
This commit is contained in:
parent
5d330997f6
commit
b3affc23ef
@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
#include "core/or/or.h"
|
#include "core/or/or.h"
|
||||||
#include "app/config/config.h"
|
#include "app/config/config.h"
|
||||||
|
#include "core/or/protover.h"
|
||||||
#include "core/or/versions.h"
|
#include "core/or/versions.h"
|
||||||
#include "feature/client/entrynodes.h"
|
#include "feature/client/entrynodes.h"
|
||||||
#include "feature/dirauth/dirvote.h"
|
#include "feature/dirauth/dirvote.h"
|
||||||
@ -451,6 +452,10 @@ routerstatus_parse_entry_from_string(memarea_t *area,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If the protover line is malformed, reject this routerstatus.
|
||||||
|
if (protocols && protover_contains_long_protocol_names(protocols)) {
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
summarize_protover_flags(&rs->pv, protocols, version);
|
summarize_protover_flags(&rs->pv, protocols, version);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user