mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-07-25 15:35:49 -04:00
Removed flawed logic samenet/samesubnet you cannot determine if two ip are in the same subnet just from ips the internet is not just a bunch of /24
This commit is contained in:
parent
febea809b1
commit
16a5eed453
10 changed files with 4 additions and 348 deletions
|
@ -70,9 +70,7 @@ Description:
|
|||
(1) isExternalNet()
|
||||
(2) isPrivateNet()
|
||||
(3) isLoopbackNet()
|
||||
(4) sameNet()
|
||||
(5) isValidNet()
|
||||
(6) isSameSubnet()
|
||||
(7) pqi_inet_netof()
|
||||
|
||||
------------------------------------------------------------
|
||||
|
|
|
@ -211,46 +211,6 @@ bool test_local_address_manipulation()
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#if 0
|
||||
|
||||
std::ostream &showSocketError(std::ostream &out);
|
||||
|
||||
std::string socket_errorType(int err);
|
||||
int sockaddr_cmp(struct sockaddr_in &addr1, struct sockaddr_in &addr2 );
|
||||
int inaddr_cmp(struct sockaddr_in addr1, struct sockaddr_in addr1 );
|
||||
int inaddr_cmp(struct sockaddr_in addr1, unsigned long);
|
||||
|
||||
std::list<std::string> getLocalInterfaces(); // returns all possible addrs.
|
||||
bool isExternalNet(struct in_addr *addr); // if Valid & is not Private or Loopback.
|
||||
bool isPrivateNet(struct in_addr *addr); // if inside 10.0.0.0 or
|
||||
// other then firewalled.
|
||||
bool isLoopbackNet(struct in_addr *addr);
|
||||
bool sameNet(struct in_addr *addr, struct in_addr *addr2);
|
||||
bool isValidNet(struct in_addr *addr);
|
||||
|
||||
// checks (addr1 & 255.255.255.0) == (addr2 & 255.255.255.0)
|
||||
bool isSameSubnet(struct in_addr *addr1, struct in_addr *addr2);
|
||||
|
||||
|
||||
struct in_addr getPreferredInterface(); // returns best addr.
|
||||
|
||||
in_addr_t pqi_inet_netof(struct in_addr addr); // our implementation.
|
||||
|
||||
bool LookupDNSAddr(std::string name, struct sockaddr_in &addr);
|
||||
|
||||
/* universal socket interface */
|
||||
|
||||
int unix_close(int sockfd);
|
||||
int unix_socket(int domain, int type, int protocol);
|
||||
int unix_fcntl_nonblock(int sockfd);
|
||||
int unix_connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen);
|
||||
int unix_getsockopt_error(int sockfd, int *err);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
bool test_bind_addr(struct sockaddr_in addr);
|
||||
|
||||
bool test_address_listen()
|
||||
|
|
|
@ -53,9 +53,7 @@ const char * invalid_addrstr = "AAA.BBB.256.256";
|
|||
int test_isExternalNet();
|
||||
int test_isPrivateNet();
|
||||
int test_isLoopbackNet();
|
||||
int test_sameNet();
|
||||
int test_isValidNet();
|
||||
int test_isSameSubnet();
|
||||
int test_pqi_inet_netof();
|
||||
|
||||
INITTEST();
|
||||
|
@ -67,9 +65,7 @@ int main(int argc, char **argv)
|
|||
test_isExternalNet();
|
||||
test_isPrivateNet();
|
||||
test_isLoopbackNet();
|
||||
test_sameNet();
|
||||
test_isValidNet();
|
||||
test_isSameSubnet();
|
||||
test_pqi_inet_netof();
|
||||
|
||||
FINALREPORT("net_test1");
|
||||
|
@ -158,42 +154,6 @@ int test_isLoopbackNet()
|
|||
return 1;
|
||||
}
|
||||
|
||||
int test_sameNet()
|
||||
{
|
||||
struct in_addr localnet1_addr;
|
||||
struct in_addr localnet2_addr;
|
||||
struct in_addr localnet3_addr;
|
||||
struct in_addr localnet4_addr;
|
||||
struct in_addr localnet5_addr;
|
||||
struct in_addr localnet6_addr;
|
||||
struct in_addr localnet7_addr;
|
||||
struct in_addr localnet8_addr;
|
||||
struct in_addr external_addr;
|
||||
|
||||
inet_aton(localnet1_addrstr, &localnet1_addr);
|
||||
inet_aton(localnet2_addrstr, &localnet2_addr);
|
||||
inet_aton(localnet3_addrstr, &localnet3_addr);
|
||||
inet_aton(localnet4_addrstr, &localnet4_addr);
|
||||
inet_aton(localnet5_addrstr, &localnet5_addr);
|
||||
inet_aton(localnet6_addrstr, &localnet6_addr);
|
||||
inet_aton(localnet7_addrstr, &localnet7_addr);
|
||||
inet_aton(localnet8_addrstr, &localnet8_addr);
|
||||
inet_aton(external_addrstr, &external_addr);
|
||||
|
||||
CHECK(sameNet(&localnet1_addr, &localnet5_addr)==true);
|
||||
CHECK(sameNet(&localnet2_addr, &localnet6_addr)==true);
|
||||
CHECK(sameNet(&localnet3_addr, &localnet7_addr)==true);
|
||||
CHECK(sameNet(&localnet4_addr, &localnet8_addr)==true);
|
||||
CHECK(sameNet(&localnet1_addr, &external_addr)==false);
|
||||
CHECK(sameNet(&localnet2_addr, &external_addr)==false);
|
||||
CHECK(sameNet(&localnet3_addr, &external_addr)==false);
|
||||
CHECK(sameNet(&localnet4_addr, &external_addr)==false);
|
||||
|
||||
REPORT("sameNet()");
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int test_isValidNet()
|
||||
{
|
||||
struct in_addr localnet1_addr;
|
||||
|
@ -211,25 +171,6 @@ int test_isValidNet()
|
|||
return 1;
|
||||
}
|
||||
|
||||
int test_isSameSubnet()
|
||||
{
|
||||
struct in_addr localnet1_addr;
|
||||
struct in_addr classc1_addr;
|
||||
struct in_addr classc2_addr;
|
||||
|
||||
inet_aton(localnet1_addrstr, &localnet1_addr);
|
||||
//random class C addresses
|
||||
inet_aton("197.67.28.93", &classc1_addr);
|
||||
inet_aton("197.67.28.3", &classc2_addr);
|
||||
|
||||
CHECK(isSameSubnet(&localnet1_addr, &classc1_addr)==false);
|
||||
CHECK(isSameSubnet(&classc1_addr, &classc2_addr)==true);
|
||||
|
||||
REPORT("isSameSubnet()");
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int test_pqi_inet_netof()
|
||||
{
|
||||
struct in_addr localnet1_addr;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue