diff options
author | Roger Dingledine <arma@torproject.org> | 2004-03-14 18:07:46 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2004-03-14 18:07:46 +0000 |
commit | f55ff5b8d20259484020c1d9790bd024ecec896d (patch) | |
tree | fa93134cf267a3bcd4f3040de8410a8901392c29 | |
parent | 74ef3a63ae791f8a688171568486334a73b4e7aa (diff) | |
download | tor-f55ff5b8d20259484020c1d9790bd024ecec896d.tar tor-f55ff5b8d20259484020c1d9790bd024ecec896d.tar.gz |
teach us to recognize internal IPs
svn:r1271
-rw-r--r-- | src/common/util.c | 12 | ||||
-rw-r--r-- | src/common/util.h | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/common/util.c b/src/common/util.c index 98930a639..c00406338 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -686,6 +686,18 @@ try_next_line: return 1; } +int is_internal_IP(uint32_t ip) { + + if (((ip & 0xff000000) == 0xa0000000) || /* 10/8 */ + ((ip & 0xff000000) == 0x00000000) || /* 0/8 */ + ((ip & 0xff000000) == 0x7f000000) || /* 127/8 */ + ((ip & 0xffff0000) == 0xa9fe0000) || /* 169.254/16 */ + ((ip & 0xfff00000) == 0xac100000) || /* 172.16/12 */ + ((ip & 0xffff0000) == 0xc0a80000)) /* 192.168/16 */ + return 1; + return 0; +} + static char uname_result[256]; static int uname_result_is_set = 0; diff --git a/src/common/util.h b/src/common/util.h index 9f4654b92..63d55c6fe 100644 --- a/src/common/util.h +++ b/src/common/util.h @@ -84,6 +84,8 @@ void spawn_exit(); int tor_socketpair(int family, int type, int protocol, int fd[2]); +int is_internal_IP(uint32_t ip); + const char *get_uname(void); /* Start putting the process into daemon mode: fork and drop all resources |