mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Parse uptime into routerinfo
svn:r2247
This commit is contained in:
@@ -39,6 +39,7 @@ typedef enum {
|
||||
K_DIRCACHEPORT,
|
||||
K_CONTACT,
|
||||
K_NETWORK_STATUS,
|
||||
K_UPTIME,
|
||||
_UNRECOGNIZED,
|
||||
_ERR,
|
||||
_EOF,
|
||||
@@ -111,6 +112,7 @@ static struct {
|
||||
{ "dircacheport", K_DIRCACHEPORT, ARGS, NO_OBJ, RTR_ONLY },
|
||||
{ "contact", K_CONTACT, CONCAT_ARGS, NO_OBJ, ANY },
|
||||
{ "network-status", K_NETWORK_STATUS, NO_ARGS, NO_OBJ, DIR_ONLY },
|
||||
{ "uptime", K_UPTIME, ARGS, NO_OBJ, RTR_ONLY },
|
||||
{ NULL, -1 }
|
||||
};
|
||||
|
||||
@@ -642,6 +644,7 @@ routerinfo_t *router_parse_entry_from_string(const char *s,
|
||||
smartlist_t *tokens = NULL, *exit_policy_tokens = NULL;
|
||||
directory_token_t *tok;
|
||||
int t;
|
||||
long lng;
|
||||
int ports_set, bw_set;
|
||||
|
||||
if (!end) {
|
||||
@@ -745,6 +748,14 @@ routerinfo_t *router_parse_entry_from_string(const char *s,
|
||||
bw_set = 1;
|
||||
}
|
||||
|
||||
if ((tok = find_first_by_keyword(tokens, K_UPTIME))) {
|
||||
if (tok->n_args != 1) {
|
||||
log_fn(LOG_WARN, "Unrecognized number of args on K_UPTIME; skipping.");
|
||||
} else {
|
||||
router->uptime = atol(tok->args[0]);
|
||||
}
|
||||
}
|
||||
|
||||
if (!(tok = find_first_by_keyword(tokens, K_PUBLISHED))) {
|
||||
log_fn(LOG_WARN, "Missing published time"); goto err;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user