mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-02 14:16:16 -04:00
Implemented sockaddr_storage functions.
Fixed interfaces for UPnP. Some further tweaks to get TCP connections working again: - hiddenNode issue in p3peers.cc - fixed socklen_t for bind() and connect() calls. - initialise addr to IPv4 for netmgr. - change netAssist (Upnp) interfaces. Still todo: tou address functions, test UDP functionality. git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6755 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
6290d8fed9
commit
34ea22d5f6
15 changed files with 1076 additions and 40 deletions
|
@ -946,9 +946,34 @@ int unix_fcntl_nonblock(int fd)
|
|||
}
|
||||
|
||||
|
||||
int unix_connect(int fd, const struct sockaddr *serv_addr, socklen_t addrlen)
|
||||
int unix_connect(int fd, const struct sockaddr *serv_addr, socklen_t socklen)
|
||||
{
|
||||
int ret = connect(fd, serv_addr, addrlen);
|
||||
std::cerr << "unix_connect()";
|
||||
std::cerr << std::endl;
|
||||
|
||||
const struct sockaddr_storage *ss_addr = (struct sockaddr_storage *) serv_addr;
|
||||
socklen_t len = socklen;
|
||||
|
||||
switch (ss_addr->ss_family)
|
||||
{
|
||||
case AF_INET:
|
||||
len = sizeof(struct sockaddr_in);
|
||||
break;
|
||||
case AF_INET6:
|
||||
len = sizeof(struct sockaddr_in6);
|
||||
break;
|
||||
}
|
||||
|
||||
if (len > socklen)
|
||||
{
|
||||
std::cerr << "unix_connect() ERROR len > socklen";
|
||||
std::cerr << std::endl;
|
||||
|
||||
len = socklen;
|
||||
//return EINVAL;
|
||||
}
|
||||
|
||||
int ret = connect(fd, serv_addr, len);
|
||||
|
||||
/******************* WINDOWS SPECIFIC PART ******************/
|
||||
#ifdef WINDOWS_SYS // WINDOWS
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue