Allow bandwidth-file lines to have node_id in the last position

Closes ticket 26004.
This commit is contained in:
juga0 2018-05-03 08:29:57 +00:00 committed by Nick Mathewson
parent 34e7dca9c9
commit dbc80ad19b
2 changed files with 13 additions and 0 deletions

View File

@ -2640,6 +2640,12 @@ measured_bw_line_parse(measured_bw_line_t *out, const char *orig_line)
int got_bw = 0;
int got_node_id = 0;
char *strtok_state; /* lame sauce d'jour */
/* Remove end of line character, so that is not part of the token */
if (line[strlen(line) - 1] == '\n') {
line[strlen(line) - 1] = '\0';
}
cp = tor_strtok_r(cp, " \t", &strtok_state);
if (!cp) {

View File

@ -1314,6 +1314,13 @@ test_dir_measured_bw_kb(void *arg)
"bw=1024 junk=007\n",
"misc=junk node_id=$557365204145532d32353620696e73746561642e "
"bw=1024 junk=007\n",
/* check whether node_id can be at the end */
"bw=1024 node_id=$557365204145532d32353620696e73746561642e\n",
/* check whether node_id can be at the end and bw has something in front*/
"foo=bar bw=1024 node_id=$557365204145532d32353620696e73746561642e\n",
/* check whether node_id can be at the end and something in the
* in the middle of bw and node_id */
"bw=1024 foo=bar node_id=$557365204145532d32353620696e73746561642e\n",
"end"
};
const char *lines_fail[] = {