-const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.125 2014/06/02 06:19:05 fabiankeil Exp $";
+const char jbsockets_rcs[] = "$Id: jbsockets.c,v 1.128 2014/10/18 11:24:53 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/jbsockets.c,v $
#include "jbsockets.h"
#include "filters.h"
#include "errlog.h"
+#include "miscutil.h"
/* Mac OSX doesn't define AI_NUMERICSESRV */
#ifndef AI_NUMERICSERV
return(JB_INVALID_SOCKET);
}
- csp->http->host_ip_addr_str = malloc(NI_MAXHOST);
- if (NULL == csp->http->host_ip_addr_str)
- {
- freeaddrinfo(result);
- log_error(LOG_LEVEL_ERROR,
- "Out of memory while getting the server IP address.");
- return JB_INVALID_SOCKET;
- }
+ csp->http->host_ip_addr_str = malloc_or_die(NI_MAXHOST);
for (rp = result; rp != NULL; rp = rp->ai_next)
{
fd = socket(AF_INET, SOCK_STREAM, 0);
#endif /* def HAVE_RFC2553 */
-#ifdef FEATURE_EXTERNAL_FILTERS
- mark_socket_for_close_on_execute(fd);
-#endif
-
#ifdef _WIN32
if (fd == JB_INVALID_SOCKET)
#else
#endif
}
+#ifdef FEATURE_EXTERNAL_FILTERS
+ mark_socket_for_close_on_execute(fd);
+#endif
+
#ifndef _WIN32
/*
* This is not needed for Win32 - in fact, it stops
#ifndef NI_MAXSERV
#define NI_MAXSERV 32
#endif
- *port = malloc(NI_MAXSERV);
- if (NULL == *port)
- {
- log_error(LOG_LEVEL_ERROR,
- "Out of memory while getting the client's port.");
- return;
- }
+ *port = malloc_or_die(NI_MAXSERV);
+
#ifdef HAVE_RFC2553
- *ip_address = malloc(NI_MAXHOST);
- if (NULL == *ip_address)
- {
- log_error(LOG_LEVEL_ERROR,
- "Out of memory while getting the client's IP address.");
- freez(*port);
- return;
- }
+ *ip_address = malloc_or_die(NI_MAXHOST);
retval = getnameinfo((struct sockaddr *) &server, s_length,
*ip_address, NI_MAXHOST, *port, NI_MAXSERV,
NI_NUMERICHOST|NI_NUMERICSERV);
}
#ifdef HAVE_RFC2553
- *hostname = malloc(NI_MAXHOST);
- if (NULL == *hostname)
- {
- log_error(LOG_LEVEL_ERROR,
- "Out of memory while getting the client's hostname.");
- return;
- }
+ *hostname = malloc_or_die(NI_MAXHOST);
retval = getnameinfo((struct sockaddr *) &server, s_length,
*hostname, NI_MAXHOST, NULL, 0, NI_NAMEREQD);
if (retval)
setsockopt(fd, SOL_SOCKET, SO_ACCEPTFILTER, &af_options, sizeof(af_options));
#endif
afd = accept (fd, (struct sockaddr *) &client, &c_length);
- } while (afd < 1 && errno == EINTR);
+ } while (afd < 0 && errno == EINTR);
if (afd < 0)
{
return 0;
csp->cfd = afd;
#ifdef HAVE_RFC2553
- csp->ip_addr_str = malloc(NI_MAXHOST);
- if (NULL == csp->ip_addr_str)
- {
- log_error(LOG_LEVEL_ERROR,
- "Out of memory while getting the client's IP address.");
- return 0;
- }
+ csp->ip_addr_str = malloc_or_die(NI_MAXHOST);
retval = getnameinfo((struct sockaddr *) &client, c_length,
csp->ip_addr_str, NI_MAXHOST, NULL, 0, NI_NUMERICHOST);
if (!csp->ip_addr_str || retval)