#define LOG_LEVEL_DEBUG 3
#define LOG_LEVEL_MASK LOG_LEVEL_DEBUG
-#define LOG_LEVEL_PERROR 42
+#define LOG_LEVEL_PERROR (1 << 10)
#define OPTION_PARSED (1 << 1)
/* Don't intercept listen(), accept(). */
int port;
if (addr->sa_family == AF_INET) {
af = "v4";
- port = ntohs(((struct sockaddr_in *)addr)->sin_port);
+ port = ntohs(((const struct sockaddr_in *)addr)->sin_port);
} else if (addr->sa_family == AF_INET6) {
af = "v6";
- port = ntohs(((struct sockaddr_in6 *)addr)->sin6_port);
+ port = ntohs(((const struct sockaddr_in6 *)addr)->sin6_port);
} else {
af = "unknown";
port = 0;
static int (*real_close)(int);
LOAD_FUNCTION(real_close, "close");
- DBG("close(%d)\n", fd);
-
struct list *entry = remove_sockfd(fd);
if (entry == NULL) {
DBG("close(%d): sockfd not found\n", fd);
return real_close(fd);
}
assert(fd == entry->orig_sockfd);
+
+ DBG("close(%d)\n", fd);
free(entry->orig_addr);
free(entry);
static int (*real_bind)(int, const struct sockaddr *, socklen_t);
LOAD_FUNCTION(real_bind, "bind");
- DBG("bind(%d, ..)\n", sockfd);
-
if (addr == NULL || addrlen < sizeof(addr->sa_family)
|| addr->sa_family == AF_UNIX
|| addr->sa_family == AF_LOCAL) {
return real_accept(sockfd, addr, addrlen);
}
- DBG("accept(%d, ..)\n", sockfd);
-
struct list *entry = find_sockfd(sockfd);
if (!entry) {
DBG("accept(%d, ..): sockfd not found\n", sockfd);
return real_connect(sockfd, addr, addrlen);
}
- DBG("connect(%d, ..)\n", sockfd);
-
if (addr == NULL || addrlen < sizeof(addr->sa_family)
|| addr->sa_family == AF_UNIX
|| addr->sa_family == AF_LOCAL) {