#include "client.h"
#include "conf.h"
#include "log.h"
+#include "memory.h"
#include "timer.h"
#include "version.h"
#include "util.h"
testsocket = socket(PF_INET6, SOCK_STREAM, 0);
hasv6 = (errno == EAFNOSUPPORT || errno == EPROTONOSUPPORT) ? false : true;
if (!(testsocket < 0)) close(testsocket);
-
+
if(!hasv4)
{
Log_info("IPv4 is not supported by this system");
/* Initialize the address structures for IPv4 and IPv6 */
struct sockaddr_storage** Server_setupAddressesAndPorts()
{
- struct sockaddr_storage** addresses = calloc(2, sizeof(void*));
+ struct sockaddr_storage** addresses = Memory_safeCalloc(2, sizeof(void*));
- struct sockaddr_storage* v4address = calloc(1, sizeof(struct sockaddr_storage));
+ struct sockaddr_storage* v4address = Memory_safeCalloc(1, sizeof(struct sockaddr_storage));
v4address->ss_family = AF_INET;
- struct sockaddr_storage* v6address = calloc(1, sizeof(struct sockaddr_storage));
+ struct sockaddr_storage* v6address = Memory_safeCalloc(1, sizeof(struct sockaddr_storage));
v6address->ss_family = AF_INET6;
#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
void Server_setupTCPSockets(struct sockaddr_storage* addresses[2], struct pollfd* pollfds)
{
- uint8_t yes = 1;
+ int yes = 1;
int sockets[2];
if (hasv4) {
int val = 0;
int sockets[2] = {-1, -1};
- if((udpsocks = calloc(nofServerSocks / 2, sizeof(int))) == NULL)
- Log_fatal("Out of memory (%s:%s)", __FILE__, __LINE__);
+ udpsocks = Memory_safeCalloc(nofServerSocks / 2, sizeof(int));
if (hasv4) {
sockets[0] = socket(PF_INET, SOCK_DGRAM, 0);
checkIPversions();
/* max clients + server sokets + client connecting that will be disconnected */
- if ((pollfds = calloc((getIntConf(MAX_CLIENTS) + nofServerSocks + 1) , sizeof(struct pollfd))) == NULL)
- Log_fatal("out of memory");
+ pollfds = Memory_safeCalloc((getIntConf(MAX_CLIENTS) + nofServerSocks + 1) , sizeof(struct pollfd));
/* Figure out bind address and port */
struct sockaddr_storage** addresses = Server_setupAddressesAndPorts();