]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Use uint8_t for rend descriptor_cookie fields
authorJohn Brooks <special@torproject.org>
Mon, 9 May 2016 17:43:14 +0000 (13:43 -0400)
committerJohn Brooks <special@torproject.org>
Mon, 9 May 2016 17:53:09 +0000 (13:53 -0400)
src/or/connection_edge.c
src/or/or.h
src/or/rendservice.c

index 729ef8a4c770bd190710f712baf1ea3c1e0da2ed..3ff02933c39b78c9ef76422f32e8f26e25cfe81f 100644 (file)
@@ -1503,7 +1503,7 @@ connection_ap_handshake_rewrite_and_attach(entry_connection_t *conn,
     rend_service_authorization_t *client_auth =
       rend_client_lookup_service_authorization(socks->address);
 
-    const char *cookie = NULL;
+    const uint8_t *cookie = NULL;
     rend_auth_type_t auth_type = REND_NO_AUTH;
     if (client_auth) {
       log_info(LD_REND, "Using previously configured client authorization "
@@ -1515,7 +1515,7 @@ connection_ap_handshake_rewrite_and_attach(entry_connection_t *conn,
     /* Fill in the rend_data field so we can start doing a connection to
      * a hidden service. */
     rend_data_t *rend_data = ENTRY_TO_EDGE_CONN(conn)->rend_data =
-      rend_data_client_create(socks->address, NULL, cookie, auth_type);
+      rend_data_client_create(socks->address, NULL, (char *) cookie, auth_type);
     if (rend_data == NULL) {
       return -1;
     }
index 8c40f1ab674aae90b91efb49b92960454b68f8d5..54e05e3bc650a2f6370d07dcf37edcf8773a07ec 100644 (file)
@@ -778,7 +778,7 @@ typedef enum rend_auth_type_t {
 
 /** Client-side configuration of authorization for a hidden service. */
 typedef struct rend_service_authorization_t {
-  char descriptor_cookie[REND_DESC_COOKIE_LEN];
+  uint8_t descriptor_cookie[REND_DESC_COOKIE_LEN];
   char onion_address[REND_SERVICE_ADDRESS_LEN+1];
   rend_auth_type_t auth_type;
 } rend_service_authorization_t;
@@ -4851,7 +4851,7 @@ typedef enum {
 /** Hidden-service side configuration of client authorization. */
 typedef struct rend_authorized_client_t {
   char *client_name;
-  char descriptor_cookie[REND_DESC_COOKIE_LEN];
+  uint8_t descriptor_cookie[REND_DESC_COOKIE_LEN];
   crypto_pk_t *client_key;
 } rend_authorized_client_t;
 
index db6bc4b72ec8f311e32f66b8826f59c531c257ca..22a01c9d32dd19af6de82bd7fce72435bf3bea24 100644 (file)
@@ -1208,10 +1208,10 @@ rend_service_load_auth_keys(rend_service_t *s, const char *hfname)
       memcpy(client->descriptor_cookie, parsed->descriptor_cookie,
              REND_DESC_COOKIE_LEN);
     } else {
-      crypto_rand(client->descriptor_cookie, REND_DESC_COOKIE_LEN);
+      crypto_rand((char *) client->descriptor_cookie, REND_DESC_COOKIE_LEN);
     }
     if (base64_encode(desc_cook_out, 3*REND_DESC_COOKIE_LEN_BASE64+1,
-                      client->descriptor_cookie,
+                      (char *) client->descriptor_cookie,
                       REND_DESC_COOKIE_LEN, 0) < 0) {
       log_warn(LD_BUG, "Could not base64-encode descriptor cookie.");
       goto err;