mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
Removed unused getLocalInterfaces_ipv4
This commit is contained in:
parent
77bcc99030
commit
5a541e7feb
@ -256,80 +256,6 @@ std::string socket_errorType(int err)
|
||||
return std::string("----WINDOWS OPERATING SYSTEM FAILURE----");
|
||||
}
|
||||
|
||||
#include <iphlpapi.h>
|
||||
//#include <iprtrmib.h>
|
||||
|
||||
// A function to determine the interfaces on your computer....
|
||||
// No idea of how to do this in windows....
|
||||
// see if it compiles.
|
||||
bool getLocalInterfaces_ipv4(struct in_addr &routeAddr, std::list<struct in_addr> &addrs)
|
||||
{
|
||||
// Get the best interface for transport to routeAddr
|
||||
// This interface should be first in list!
|
||||
DWORD bestInterface;
|
||||
if (GetBestInterface((IPAddr) routeAddr.s_addr, &bestInterface) != NO_ERROR)
|
||||
{
|
||||
bestInterface = 0;
|
||||
}
|
||||
|
||||
/* USE MIB IPADDR Interface */
|
||||
PMIB_IPADDRTABLE iptable = NULL;
|
||||
DWORD dwSize = 0;
|
||||
|
||||
if (GetIpAddrTable(iptable, &dwSize, 0) != ERROR_INSUFFICIENT_BUFFER)
|
||||
{
|
||||
pqioutput(PQL_ALERT, pqinetzone, "Cannot Find Windoze Interfaces!");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
iptable = (MIB_IPADDRTABLE *) malloc(dwSize);
|
||||
GetIpAddrTable(iptable, &dwSize, 0);
|
||||
|
||||
struct in_addr addr;
|
||||
|
||||
for (unsigned int i = 0; i < iptable -> dwNumEntries; i++)
|
||||
{
|
||||
MIB_IPADDRROW &ipaddr = iptable->table[i];
|
||||
|
||||
std::string out;
|
||||
|
||||
addr.s_addr = ipaddr.dwAddr;
|
||||
rs_sprintf(out, "Iface(%ld) => %s\n", ipaddr.dwIndex, rs_inet_ntoa(addr).c_str());
|
||||
|
||||
#if __MINGW_MAJOR_VERSION <= 3 && !defined(__MINGW64_VERSION_MAJOR)
|
||||
unsigned short wType = ipaddr.unused2; // should be wType
|
||||
#else
|
||||
unsigned short wType = ipaddr.wType;
|
||||
#endif
|
||||
if (wType & MIB_IPADDR_DISCONNECTED)
|
||||
{
|
||||
pqioutput(PQL_DEBUG_BASIC, pqinetzone, "Interface disconnected, " + out);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (wType & MIB_IPADDR_DELETED)
|
||||
{
|
||||
pqioutput(PQL_DEBUG_BASIC, pqinetzone, "Interface deleted, " + out);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ipaddr.dwIndex == bestInterface)
|
||||
{
|
||||
pqioutput(PQL_DEBUG_BASIC, pqinetzone, "Best address, " + out);
|
||||
addrs.push_front(addr);
|
||||
}
|
||||
else
|
||||
{
|
||||
pqioutput(PQL_DEBUG_BASIC, pqinetzone, out);
|
||||
addrs.push_back(addr);
|
||||
}
|
||||
}
|
||||
|
||||
free (iptable);
|
||||
|
||||
return (addrs.size() > 0);
|
||||
}
|
||||
|
||||
// implement the improved unix inet address fn.
|
||||
// using old one.
|
||||
int inet_aton(const char *name, struct in_addr *addr)
|
||||
|
@ -73,16 +73,6 @@ Description:
|
||||
(5) isValidNet()
|
||||
(7) pqi_inet_netof()
|
||||
|
||||
------------------------------------------------------------
|
||||
netiface_test
|
||||
------------------------------------------------------------
|
||||
Tested Code: pqinetwork.cc
|
||||
Description :
|
||||
(1) getPreferredInterface()
|
||||
(2) getLocalInterfaces()
|
||||
|
||||
This is currently a manual test - needs to be converted.
|
||||
|
||||
------------------------------------------------------------
|
||||
pqiarchive_test
|
||||
------------------------------------------------------------
|
||||
|
@ -39,7 +39,6 @@
|
||||
|
||||
bool test_byte_manipulation();
|
||||
bool test_local_address_manipulation();
|
||||
bool test_address_listen();
|
||||
|
||||
|
||||
INITTEST();
|
||||
@ -50,7 +49,6 @@ int main(int argc, char **argv)
|
||||
|
||||
test_byte_manipulation();
|
||||
test_local_address_manipulation();
|
||||
test_address_listen();
|
||||
|
||||
FINALREPORT("libretroshare Net Basics Tests");
|
||||
return TESTRESULT();
|
||||
@ -213,36 +211,6 @@ bool test_local_address_manipulation()
|
||||
|
||||
bool test_bind_addr(struct sockaddr_in addr);
|
||||
|
||||
bool test_address_listen()
|
||||
{
|
||||
struct sockaddr_in addr1, addr2, addr3;
|
||||
|
||||
sockaddr_clear(&addr1);
|
||||
addr1.sin_family = AF_INET;
|
||||
inet_aton(loopback_addrstr, &(addr1.sin_addr));
|
||||
addr1.sin_port = htons(12345);
|
||||
|
||||
sockaddr_clear(&addr2);
|
||||
addr2.sin_family = AF_INET;
|
||||
getPreferredInterface(addr2.sin_addr); // returns best addr.
|
||||
addr2.sin_port = htons(13245);
|
||||
|
||||
sockaddr_clear(&addr3);
|
||||
addr3.sin_family = AF_INET;
|
||||
getPreferredInterface(addr3.sin_addr); // returns best addr.
|
||||
addr3.sin_port = htons(23451);
|
||||
|
||||
/* test bind to loopback, and preferred interfaces */
|
||||
test_bind_addr(addr1);
|
||||
test_bind_addr(addr2);
|
||||
test_bind_addr(addr3);
|
||||
|
||||
|
||||
|
||||
REPORT("Test Address Listen");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool test_bind_addr(struct sockaddr_in addr)
|
||||
{
|
||||
|
||||
|
@ -1,122 +0,0 @@
|
||||
/*
|
||||
* libretroshare/src/pqi net_test.cc
|
||||
*
|
||||
* 3P/PQI network interface for RetroShare.
|
||||
*
|
||||
* Copyright 2007-2008 by Robert Fernie.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License Version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA.
|
||||
*
|
||||
* Please report all bugs and problems to "retroshare@lunamutt.com".
|
||||
*
|
||||
*/
|
||||
|
||||
/******
|
||||
* NETWORKING Test to check Big/Little Endian behaviour
|
||||
* as well as socket behaviour
|
||||
*
|
||||
*/
|
||||
|
||||
#include "pqi/pqinetwork.h"
|
||||
#include "util/rsnet.h"
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
|
||||
|
||||
bool test_iface();
|
||||
bool test_iface_loop();
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
bool repeat = false;
|
||||
if (argc > 1)
|
||||
{
|
||||
repeat = true;
|
||||
}
|
||||
|
||||
test_iface();
|
||||
|
||||
if (repeat)
|
||||
{
|
||||
test_iface_loop();
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* test 1: single check if interfaces */
|
||||
bool test_iface()
|
||||
{
|
||||
struct in_addr pref_iface;
|
||||
std::list<struct in_addr> ifaces;
|
||||
std::list<struct in_addr>::iterator it;
|
||||
|
||||
getPreferredInterface(pref_iface);
|
||||
getLocalInterfaces(ifaces);
|
||||
|
||||
std::cerr << "test_iface()" << std::endl;
|
||||
for(it = ifaces.begin(); it != ifaces.end(); it++)
|
||||
{
|
||||
std::cerr << "available iface: " << rs_inet_ntoa(*it) << std::endl;
|
||||
}
|
||||
std::cerr << "preferred " << rs_inet_ntoa(pref_iface) << std::endl;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* test 2: catch changing interfaces */
|
||||
bool test_iface_loop()
|
||||
{
|
||||
std::cerr << "test_iface_loop()" << std::endl;
|
||||
struct in_addr curr_pref_iface;
|
||||
getPreferredInterface(curr_pref_iface);
|
||||
time_t start = time(NULL);
|
||||
while(1)
|
||||
{
|
||||
struct in_addr pref_iface;
|
||||
std::list<struct in_addr> ifaces;
|
||||
std::list<struct in_addr>::iterator it;
|
||||
|
||||
getPreferredInterface(pref_iface);
|
||||
getLocalInterfaces(ifaces);
|
||||
|
||||
|
||||
std::cerr << "T(" << time(NULL) - start << ") ";
|
||||
|
||||
for(it = ifaces.begin(); it != ifaces.end(); it++)
|
||||
{
|
||||
std::cerr << " I: " << rs_inet_ntoa(*it);
|
||||
}
|
||||
std::cerr << " P: " << rs_inet_ntoa(pref_iface) << std::endl;
|
||||
|
||||
if (curr_pref_iface.s_addr !=
|
||||
pref_iface.s_addr)
|
||||
{
|
||||
std::cerr << "+++++++++++++ Address CHANGED ++++++++++";
|
||||
std::cerr << std::endl;
|
||||
std::cerr << "+++++++++++++ Address CHANGED ++++++++++";
|
||||
std::cerr << std::endl;
|
||||
std::cerr << "+++++++++++++ Address CHANGED ++++++++++";
|
||||
std::cerr << std::endl;
|
||||
|
||||
curr_pref_iface = pref_iface;
|
||||
}
|
||||
|
||||
sleep(1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user