]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Control: make HSFETCH command use LongName
authorDavid Goulet <dgoulet@ev0ke.net>
Sun, 15 Mar 2015 14:29:02 +0000 (10:29 -0400)
committerDavid Goulet <dgoulet@ev0ke.net>
Tue, 21 Apr 2015 18:22:54 +0000 (14:22 -0400)
The "SERVER=" option now supports LongName described in the control-spec.txt

Signed-off-by: David Goulet <dgoulet@ev0ke.net>
src/or/control.c

index 2f6ef5cd9b27c23dcc85772c96f38f16ea71de55..5cbc6ab619c241f9ac1da8da760394a3615d642c 100644 (file)
@@ -3304,18 +3304,10 @@ handle_control_hsfetch(control_connection_t *conn, uint32_t len,
     static const char *opt_server = "SERVER=";
 
     if (!strcasecmpstart(arg, opt_server)) {
-      char id[DIGEST_LEN] = {0};
       const char *server;
 
       server = arg + strlen(opt_server);
-      /* Is the server's fingerprint valid?. */
-      if (!string_is_hex(server) || strlen(server) != HEX_DIGEST_LEN ||
-          base16_decode(id, sizeof(id), server, HEX_DIGEST_LEN)) {
-        connection_printf_to_buf(conn, "552 Invalid fingerprint \"%s\"\r\n",
-                                 server);
-        goto done;
-      }
-      node = node_get_by_id(id);
+      node = node_get_by_hex_id(server);
       if (!node) {
         connection_printf_to_buf(conn, "552 Server \"%s\" not found\r\n",
                                  server);