From 98a86371d0935a69dcec4abc5b80e3e76f8381c1 Mon Sep 17 00:00:00 2001 From: James Laird Date: Wed, 27 Mar 2013 12:02:16 +1100 Subject: [PATCH] Revert "Merge pull request #181 from ffainelli/master" Reverting due to reported failures (see #189). This reverts commit 617cbf5b2348ade5afe8cf9ab657f6eb865fa3dc, reversing changes made to eb8dad53172ab753aee4f4bf02d0f141b9144d08. --- socketlib.c | 54 +++++++++++++++++++++-------------------------------- socketlib.h | 2 +- 2 files changed, 22 insertions(+), 34 deletions(-) diff --git a/socketlib.c b/socketlib.c index eb44bcf4..9efdf221 100644 --- a/socketlib.c +++ b/socketlib.c @@ -39,11 +39,9 @@ #include #include -int common_setup(struct addrinfo **ppAddrInfo, int pPort) -{ +int common_setup(struct addrinfo *pAddrInfo) +{ int tSock; - struct addrinfo *pAddrInfo = *ppAddrInfo; - //printAddrs(pAddrInfo); tSock = socket(pAddrInfo->ai_family, pAddrInfo->ai_socktype, 0); #ifdef AF_INET6 @@ -51,17 +49,7 @@ int common_setup(struct addrinfo **ppAddrInfo, int pPort) { //Fallback to ipv4 perror("Failed to create ipv6 socket. Trying ipv4"); - (*ppAddrInfo)->ai_family = AF_INET; - if (pPort != -1) - { - char tService[SERVLEN]; - sprintf(tService, "%d", pPort); // copies port to string - int tFamily = AF_INET; - if(getAddr(NULL, tService, tFamily, SOCK_STREAM, ppAddrInfo)) - { - return ERROR; // getAddr prints out error message - } - } + pAddrInfo->ai_family = AF_INET; tSock = socket(pAddrInfo->ai_family, pAddrInfo->ai_socktype, 0); } #endif @@ -75,7 +63,7 @@ int setup_client(struct addrinfo *server_host) while(tIdx++ < RETRY_COUNT) { - tSockDesc = common_setup(&server_host, -1); + tSockDesc = common_setup(server_host); if (tSockDesc < 0 && tIdx >= RETRY_COUNT) { perror("Error: Could not create socket"); @@ -119,23 +107,9 @@ int getAddr(char *pHostname, char *pService, int pFamily, int pSockType, struct return tError; } -int setup_server(struct addrinfo *server_addr, int pPort) +int setup_server(struct addrinfo *server_addr) { - char tService[SERVLEN]; - sprintf(tService, "%d", pPort); // copies port to string - int tFamily = AF_INET; - #ifdef AF_INET6 - //printf("Listening on IPv6 Socket\n"); - tFamily = AF_INET6; - #else - //printf("Listening on IPv4 Socket"); - #endif - if(getAddr(NULL, tService, tFamily, SOCK_STREAM, &server_addr)) - { - return ERROR; // getAddr prints out error message - } - - int tSock = common_setup(&server_addr, pPort); + int tSock = common_setup(server_addr); if (tSock < 0) { perror("Error: Could not create server socket"); @@ -180,7 +154,21 @@ int acceptClient(int pSock, struct addrinfo *server_addr) int setupListenServer(struct addrinfo **pAddrInfo, int pPort) { - int tSocketDescriptor = setup_server(*pAddrInfo, pPort); + char tService[SERVLEN]; + sprintf(tService, "%d", pPort); // copies port to string + int tFamily = AF_INET; + #ifdef AF_INET6 + //printf("Listening on IPv6 Socket\n"); + tFamily = AF_INET6; + #else + //printf("Listening on IPv4 Socket"); + #endif + if(getAddr(NULL, tService, tFamily, SOCK_STREAM, pAddrInfo)) + { + return ERROR; // getAddr prints out error message + } + + int tSocketDescriptor = setup_server(*pAddrInfo); char tAddr[INET6_ADDRSTRLEN]; socklen_t tSize = INET6_ADDRSTRLEN; inet_ntop((*pAddrInfo)->ai_family, (*pAddrInfo)->ai_addr, tAddr, tSize); diff --git a/socketlib.h b/socketlib.h index 5cb1bf08..6d501f33 100644 --- a/socketlib.h +++ b/socketlib.h @@ -24,7 +24,7 @@ #define DEFAULT_UNIX "/unix" int setup_client(struct addrinfo *server_info); -int setup_server(struct addrinfo *server_address, int pPort); +int setup_server(struct addrinfo *server_address); int setupListenServer(struct addrinfo **pAddrInfo, int pPort); int acceptClient(int pSock, struct addrinfo *server_addr); void delay(long pMillisecs, struct timeval *pRes);