Commit 8aadd60e authored by Nick Mathewson's avatar Nick Mathewson 🥔
Browse files

Replace remaining directory_initiate_command_* instances

parent 4e393f53
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2527,7 +2527,7 @@ connection_ap_handshake_send_begin(entry_connection_t *ap_conn)
    /* Sensitive directory connections must have an anonymous path length.
     * Otherwise, directory connections are typically one-hop.
     * This matches the earlier check for directory connection path anonymity
     * in directory_initiate_command_rend(). */
     * in directory_initiate_request(). */
    if (purpose_needs_anonymity(linked_dir_conn_base->purpose,
                    TO_DIR_CONN(linked_dir_conn_base)->router_purpose,
                    TO_DIR_CONN(linked_dir_conn_base)->requested_resource)) {
+2 −1
Original line number Diff line number Diff line
@@ -5303,7 +5303,8 @@ typedef struct dir_server_t {
                           * address information from published? */

  routerstatus_t fake_status; /**< Used when we need to pass this trusted
                               * dir_server_t to directory_initiate_command_*
                               * dir_server_t to
                               * directory_request_set_routerstatus.
                               * as a routerstatus_t.  Not updated by the
                               * router-status management code!
                               **/
+9 −7
Original line number Diff line number Diff line
@@ -756,13 +756,15 @@ directory_get_from_hs_dir(const char *desc_id,
  /* Send fetch request. (Pass query and possibly descriptor cookie so that
   * they can be written to the directory connection and be referred to when
   * the response arrives. */
  directory_initiate_command_routerstatus_rend(hs_dir,
                                          DIR_PURPOSE_FETCH_RENDDESC_V2,
                                          ROUTER_PURPOSE_GENERAL,
                                          how_to_fetch,
                                          desc_id_base32,
                                          NULL, 0, 0,
                                          rend_query, NULL);
  directory_request_t *req =
    directory_request_new(DIR_PURPOSE_FETCH_RENDDESC_V2);
  directory_request_set_routerstatus(req, hs_dir);
  directory_request_set_indirection(req, how_to_fetch);
  directory_request_set_resource(req, desc_id_base32);
  directory_request_set_rend_query(req, rend_query);
  directory_initiate_request(req);
  directory_request_free(req);

  log_info(LD_REND, "Sending fetch request for v2 descriptor for "
                    "service '%s' with descriptor ID '%s', auth type %d, "
                    "and descriptor cookie '%s' to hidden service "
+10 −7
Original line number Diff line number Diff line
@@ -3712,13 +3712,16 @@ directory_post_to_hs_dir(rend_service_descriptor_t *renddesc,
       * request. Lookup is made in rend_service_desc_has_uploaded(). */
      rend_data = rend_data_client_create(service_id, desc->desc_id, NULL,
                                          REND_NO_AUTH);
      directory_initiate_command_routerstatus_rend(hs_dir,
                                              DIR_PURPOSE_UPLOAD_RENDDESC_V2,
                                                   ROUTER_PURPOSE_GENERAL,
                                                   DIRIND_ANONYMOUS, NULL,
                                                   desc->desc_str,
                                                   strlen(desc->desc_str),
                                                   0, rend_data, NULL);
      directory_request_t *req =
        directory_request_new(DIR_PURPOSE_UPLOAD_RENDDESC_V2);
      directory_request_set_routerstatus(req, hs_dir);
      directory_request_set_indirection(req, DIRIND_ANONYMOUS);
      directory_request_set_payload(req,
                                    desc->desc_str, strlen(desc->desc_str));
      directory_request_set_rend_query(req, rend_data);
      directory_initiate_request(req);
      directory_request_free(req);

      rend_data_free(rend_data);
      base32_encode(desc_id_base32, sizeof(desc_id_base32),
                    desc->desc_id, DIGEST_LEN);
+16 −6
Original line number Diff line number Diff line
@@ -1470,13 +1470,23 @@ consider_testing_reachability(int test_or, int test_dir)
      !connection_get_by_type_addr_port_purpose(
                CONN_TYPE_DIR, &addr, me->dir_port,
                DIR_PURPOSE_FETCH_SERVERDESC)) {
    tor_addr_port_t my_orport, my_dirport;
    memcpy(&my_orport.addr, &addr, sizeof(addr));
    memcpy(&my_dirport.addr, &addr, sizeof(addr));
    my_orport.port = me->or_port;
    my_dirport.port = me->dir_port;
    /* ask myself, via tor, for my server descriptor. */
    directory_initiate_command(&addr, me->or_port,
                               &addr, me->dir_port,
                               me->cache_info.identity_digest,
                               DIR_PURPOSE_FETCH_SERVERDESC,
                               ROUTER_PURPOSE_GENERAL,
                               DIRIND_ANON_DIRPORT, "authority.z", NULL, 0, 0);
    directory_request_t *req =
      directory_request_new(DIR_PURPOSE_FETCH_SERVERDESC);
    directory_request_set_or_addr_port(req, &my_orport);
    directory_request_set_dir_addr_port(req, &my_dirport);
    directory_request_set_directory_id_digest(req,
                                              me->cache_info.identity_digest);
    // ask via an anon circuit, connecting to our dirport.
    directory_request_set_indirection(req, DIRIND_ANON_DIRPORT);
    directory_request_set_resource(req, "authority.z");
    directory_initiate_request(req);
    directory_request_free(req);
  }
}

Loading