diff options
author | George Kadianakis <desnacked@riseup.net> | 2020-05-21 16:22:47 +0300 |
---|---|---|
committer | George Kadianakis <desnacked@riseup.net> | 2020-05-21 16:22:47 +0300 |
commit | fb281daf293f791999e3b1ead0f6dd77afd10eb1 (patch) | |
tree | dfaa01b3f3c1891019fd6f7f67314e7eafc57e8b /src | |
parent | ca13249dcc3e9974c35d6c29a2622a5c8d4cf32e (diff) | |
parent | 8e59b8560a4ce372497ea7bf5bcddff0c5211ebc (diff) | |
download | tor-fb281daf293f791999e3b1ead0f6dd77afd10eb1.tar.gz tor-fb281daf293f791999e3b1ead0f6dd77afd10eb1.zip |
Merge branch 'tor-github/pr/1861'
Diffstat (limited to 'src')
-rw-r--r-- | src/feature/control/control_getinfo.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/feature/control/control_getinfo.c b/src/feature/control/control_getinfo.c index 685deb8ecc..b2d0c9680d 100644 --- a/src/feature/control/control_getinfo.c +++ b/src/feature/control/control_getinfo.c @@ -1332,8 +1332,22 @@ getinfo_helper_events(control_connection_t *control_conn, } routerinfo_t *r; extrainfo_t *e; - if (router_build_fresh_descriptor(&r, &e) < 0) { - *errmsg = "Error generating descriptor"; + int result; + if ((result = router_build_fresh_descriptor(&r, &e)) < 0) { + switch (result) { + case TOR_ROUTERINFO_ERROR_NO_EXT_ADDR: + *errmsg = "Cannot get relay address while generating descriptor"; + break; + case TOR_ROUTERINFO_ERROR_DIGEST_FAILED: + *errmsg = "Key digest failed"; + break; + case TOR_ROUTERINFO_ERROR_CANNOT_GENERATE: + *errmsg = "Cannot generate router descriptor"; + break; + default: + *errmsg = "Error generating descriptor"; + break; + } return -1; } size_t size = r->cache_info.signed_descriptor_len + 1; |