|
@@ -143,7 +143,7 @@ static int check_directory_signature(const char *digest,
|
|
|
int router_get_dir_hash(const char *s, char *digest)
|
|
|
{
|
|
|
return router_get_hash_impl(s,digest,
|
|
|
- "signed-directory","directory-signature");
|
|
|
+ "signed-directory","\ndirectory-signature");
|
|
|
}
|
|
|
|
|
|
|
|
@@ -152,7 +152,7 @@ int router_get_dir_hash(const char *s, char *digest)
|
|
|
int router_get_router_hash(const char *s, char *digest)
|
|
|
{
|
|
|
return router_get_hash_impl(s,digest,
|
|
|
- "router ","router-signature");
|
|
|
+ "router ","\nrouter-signature");
|
|
|
}
|
|
|
|
|
|
|
|
@@ -161,7 +161,7 @@ int router_get_router_hash(const char *s, char *digest)
|
|
|
int router_get_runningrouters_hash(const char *s, char *digest)
|
|
|
{
|
|
|
return router_get_hash_impl(s,digest,
|
|
|
- "network-status ","directory-signature");
|
|
|
+ "network-status","\ndirectory-signature");
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1341,6 +1341,11 @@ static int router_get_hash_impl(const char *s, char *digest,
|
|
|
log_fn(LOG_WARN,"couldn't find \"%s\"",start_str);
|
|
|
return -1;
|
|
|
}
|
|
|
+ if (start != s && *(start-1) != '\n') {
|
|
|
+ log_fn(LOG_WARN, "first occurance of \"%s\" is not at the start of a line",
|
|
|
+ start_str);
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
end = strstr(start+strlen(start_str), end_str);
|
|
|
if (!end) {
|
|
|
log_fn(LOG_WARN,"couldn't find \"%s\"",end_str);
|