Commit 8e59b856 authored by Neel Chauhan's avatar Neel Chauhan
Browse files

Return a descriptive error for 'GETINFO status/fresh-relay-descs'

parent 80031db3
Loading
Loading
Loading
Loading

changes/ticket32873

0 → 100644
+6 −0
Original line number Diff line number Diff line
  o Minor features (control port):
    - Return a descriptive error message from the 'GETINFO
      status/fresh-relay-descs' command on the control port.
      Previously, we returned a generic error of "Error
      generating descriptor". Closes ticket 32873. Patch by
      Neel Chauhan.
+16 −2
Original line number Diff line number Diff line
@@ -1331,8 +1331,22 @@ getinfo_helper_events(control_connection_t *control_conn,
      }
      routerinfo_t *r;
      extrainfo_t *e;
      if (router_build_fresh_descriptor(&r, &e) < 0) {
      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;