Browse Source

Rename sandbox_getaddrinfo() et. al.

rl1987 5 years ago
parent
commit
439b528f25
6 changed files with 27 additions and 26 deletions
  1. 4 0
      changes/bug26525
  2. 2 2
      src/lib/net/address.c
  3. 9 9
      src/lib/net/resolve.c
  4. 9 12
      src/lib/net/resolve.h
  5. 1 1
      src/lib/sandbox/sandbox.c
  6. 2 2
      src/or/main.c

+ 4 - 0
changes/bug26525

@@ -0,0 +1,4 @@
+  o Minor bugfixes (code quality):
+     - Rename sandbox_getaddrinfo() and other functions to no longer
+       misleadingly suggest that they are sandbox-only. Fixes bug
+       26525; bugfix on 0.2.7.1-alpha.

+ 2 - 2
src/lib/net/address.c

@@ -277,7 +277,7 @@ tor_addr_lookup,(const char *name, uint16_t family, tor_addr_t *addr))
     memset(&hints, 0, sizeof(hints));
     hints.ai_family = family;
     hints.ai_socktype = SOCK_STREAM;
-    err = sandbox_getaddrinfo(name, NULL, &hints, &res);
+    err = tor_getaddrinfo(name, NULL, &hints, &res);
     /* The check for 'res' here shouldn't be necessary, but it makes static
      * analysis tools happy. */
     if (!err && res) {
@@ -306,7 +306,7 @@ tor_addr_lookup,(const char *name, uint16_t family, tor_addr_t *addr))
                           &((struct sockaddr_in6*)best->ai_addr)->sin6_addr);
         result = 0;
       }
-      sandbox_freeaddrinfo(res);
+      tor_freeaddrinfo(res);
       return result;
     }
     return (err == EAI_AGAIN) ? 1 : -1;

+ 9 - 9
src/lib/net/resolve.c

@@ -121,16 +121,16 @@ sandbox_disable_getaddrinfo_cache(void)
 }
 
 void
-sandbox_freeaddrinfo(struct addrinfo *ai)
+tor_freeaddrinfo(struct addrinfo *ai)
 {
   if (sandbox_getaddrinfo_cache_disabled)
     freeaddrinfo(ai);
 }
 
 int
-sandbox_getaddrinfo(const char *name, const char *servname,
-                    const struct addrinfo *hints,
-                    struct addrinfo **res)
+tor_getaddrinfo(const char *name, const char *servname,
+                const struct addrinfo *hints,
+                struct addrinfo **res)
 {
   int err;
   struct cached_getaddrinfo_item_t search, *item;
@@ -191,7 +191,7 @@ sandbox_getaddrinfo(const char *name, const char *servname,
 }
 
 int
-sandbox_add_addrinfo(const char *name)
+tor_add_addrinfo(const char *name)
 {
   struct addrinfo *res;
   struct addrinfo hints;
@@ -204,16 +204,16 @@ sandbox_add_addrinfo(const char *name)
     hints.ai_family = families[i];
 
     res = NULL;
-    (void) sandbox_getaddrinfo(name, NULL, &hints, &res);
+    (void) tor_getaddrinfo(name, NULL, &hints, &res);
     if (res)
-      sandbox_freeaddrinfo(res);
+      tor_freeaddrinfo(res);
   }
 
   return 0;
 }
 
 void
-sandbox_free_getaddrinfo_cache(void)
+tor_free_getaddrinfo_cache(void)
 {
   cached_getaddrinfo_item_t **next, **item, *this;
 
@@ -229,7 +229,7 @@ sandbox_free_getaddrinfo_cache(void)
 }
 
 void
-sandbox_make_getaddrinfo_cache_active(void)
+tor_make_getaddrinfo_cache_active(void)
 {
   sandbox_getaddrinfo_is_active = 1;
 }

+ 9 - 12
src/lib/net/resolve.h

@@ -22,27 +22,24 @@ MOCK_DECL(int,tor_lookup_hostname,(const char *name, uint32_t *addr));
 struct addrinfo;
 #ifdef USE_SANDBOX_GETADDRINFO
 /** Pre-calls getaddrinfo in order to pre-record result. */
-int sandbox_add_addrinfo(const char *addr);
+int tor_add_addrinfo(const char *addr);
 
-// XXXX rename these.  They are named as though they were sandbox-only,
-// XXXX but in fact they're the only allowed entry point to getaddrinfo.
-// XXXX They don't invoke the sandbox code; they only have an internal cache.
 struct addrinfo;
 /** Replacement for getaddrinfo(), using pre-recorded results. */
-int sandbox_getaddrinfo(const char *name, const char *servname,
+int tor_getaddrinfo(const char *name, const char *servname,
                         const struct addrinfo *hints,
                         struct addrinfo **res);
-void sandbox_freeaddrinfo(struct addrinfo *addrinfo);
-void sandbox_free_getaddrinfo_cache(void);
-void sandbox_make_getaddrinfo_cache_active(void);
+void tor_freeaddrinfo(struct addrinfo *addrinfo);
+void tor_free_getaddrinfo_cache(void);
+void tor_make_getaddrinfo_cache_active(void);
 #else /* !(defined(USE_SANDBOX_GETADDRINFO)) */
-#define sandbox_getaddrinfo(name, servname, hints, res)  \
+#define tor_getaddrinfo(name, servname, hints, res)  \
   getaddrinfo((name),(servname), (hints),(res))
-#define sandbox_add_addrinfo(name) \
+#define tor_add_addrinfo(name) \
   ((void)(name))
-#define sandbox_freeaddrinfo(addrinfo) \
+#define tor_freeaddrinfo(addrinfo) \
   freeaddrinfo((addrinfo))
-#define sandbox_free_getaddrinfo_cache()
+#define tor_free_getaddrinfo_cache()
 #endif /* defined(USE_SANDBOX_GETADDRINFO) */
 
 void sandbox_disable_getaddrinfo_cache(void);

+ 1 - 1
src/lib/sandbox/sandbox.c

@@ -1552,7 +1552,7 @@ install_syscall_filter(sandbox_cfg_t* cfg)
 
   // marking the sandbox as active
   sandbox_active = 1;
-  sandbox_make_getaddrinfo_cache_active();
+  tor_make_getaddrinfo_cache_active();
 
  end:
   seccomp_release(ctx);

+ 2 - 2
src/or/main.c

@@ -3668,7 +3668,7 @@ tor_free_all(int postfork)
   routerparse_free_all();
   ext_orport_free_all();
   control_free_all();
-  sandbox_free_getaddrinfo_cache();
+  tor_free_getaddrinfo_cache();
   protover_free_all();
   bridges_free_all();
   consdiffmgr_free_all();
@@ -3890,7 +3890,7 @@ init_addrinfo(void)
 
   // host name to sandbox
   gethostname(hname, sizeof(hname));
-  sandbox_add_addrinfo(hname);
+  tor_add_addrinfo(hname);
 }
 
 static sandbox_cfg_t*