From 62f75fb2e773d9c06fed3306f641aa8a7b9dc1f4 Mon Sep 17 00:00:00 2001 From: Erik Ekman Date: Sun, 25 Jan 2009 16:42:28 +0000 Subject: [PATCH] Dont need plibc --- src/common.c | 9 ++++----- src/iodine.c | 11 +++-------- src/iodined.c | 5 ++--- src/osflags | 4 ++-- src/tun.c | 15 ++------------- 5 files changed, 13 insertions(+), 31 deletions(-) diff --git a/src/common.c b/src/common.c index 28cf769..2bf7b07 100644 --- a/src/common.c +++ b/src/common.c @@ -41,7 +41,6 @@ #endif #include "common.h" -#include "plibc.h" /* daemon(3) exists only in 4.4BSD or later, and in GNU libc */ #if !defined(WINDOWS32) && !(defined(BSD) && (BSD >= 199306)) && !defined(__GLIBC__) @@ -114,20 +113,20 @@ open_dns(int localport, in_addr_t listen_ip) /* listen_ip already in network byte order from inet_addr, or 0 */ addr.sin_addr.s_addr = listen_ip; - if ((fd = SOCKET(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) { + if ((fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) { printf("got fd %d\n", fd); err(1, "socket"); } flag = 1; #ifdef SO_REUSEPORT - SETSOCKOPT(fd, SOL_SOCKET, SO_REUSEPORT, (const void*) &flag, sizeof(flag)); + setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, (const void*) &flag, sizeof(flag)); #endif - SETSOCKOPT(fd, SOL_SOCKET, SO_REUSEADDR, (const void*) &flag, sizeof(flag)); + setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (const void*) &flag, sizeof(flag)); #ifndef WINDOWS32 /* To get destination address from each UDP datagram, see iodined.c:read_dns() */ - SETSOCKOPT(fd, IPPROTO_IP, DSTADDR_SOCKOPT, (const void*) &flag, sizeof(flag)); + setsockopt(fd, IPPROTO_IP, DSTADDR_SOCKOPT, (const void*) &flag, sizeof(flag)); #endif if(bind(fd, (struct sockaddr*)&addr, sizeof(addr)) < 0) diff --git a/src/iodine.c b/src/iodine.c index 93d25ec..3664996 100644 --- a/src/iodine.c +++ b/src/iodine.c @@ -43,7 +43,6 @@ #include #endif -#include "plibc.h" #include "common.h" #include "encoding.h" #include "base32.h" @@ -172,13 +171,13 @@ read_dns(int fd, char *buf, int buflen) { struct sockaddr_in from; char data[64*1024]; - int addrlen; + socklen_t addrlen; struct query q; int rv; int r; addrlen = sizeof(struct sockaddr); - if ((r = RECVFROM(fd, data, sizeof(data), 0, + if ((r = recvfrom(fd, data, sizeof(data), 0, (struct sockaddr*)&from, &addrlen)) == -1) { warn("recvfrom"); return 0; @@ -315,7 +314,7 @@ tunnel(int tun_fd, int dns_fd) } FD_SET(dns_fd, &fds); - i = SELECT(MAX(tun_fd, dns_fd) + 1, &fds, NULL, NULL, &tv); + i = select(MAX(tun_fd, dns_fd) + 1, &fds, NULL, NULL, &tv); if (running == 0) break; @@ -907,10 +906,6 @@ main(int argc, char **argv) b32 = get_base32_encoder(); dataenc = get_base32_encoder(); -#ifdef WINDOWS32 - plibc_init("Kryo", "iodine"); -#endif - #if !defined(BSD) && !defined(__GLIBC__) __progname = strrchr(argv[0], '/'); if (__progname == NULL) diff --git a/src/iodined.c b/src/iodined.c index 9a10ace..7c405dd 100644 --- a/src/iodined.c +++ b/src/iodined.c @@ -48,7 +48,6 @@ #include #endif -#include "plibc.h" #include "common.h" #include "dns.h" #include "encoding.h" @@ -780,7 +779,7 @@ static int read_dns(int fd, struct query *q) { struct sockaddr_in from; - int addrlen; + socklen_t addrlen; char packet[64*1024]; int r; #ifndef WINDOWS32 @@ -804,7 +803,7 @@ read_dns(int fd, struct query *q) r = recvmsg(fd, &msg, 0); #else addrlen = sizeof(struct sockaddr); - r = RECVFROM(fd, packet, sizeof(packet), 0, (struct sockaddr*)&from, &addrlen); + r = recvfrom(fd, packet, sizeof(packet), 0, (struct sockaddr*)&from, &addrlen); #endif /* !WINDOWS32 */ if (r > 0) { diff --git a/src/osflags b/src/osflags index 0b9c3d3..c88174a 100755 --- a/src/osflags +++ b/src/osflags @@ -14,13 +14,13 @@ link) echo '-lnetwork'; ;; windows32) - echo '-lplibc -lws2_32'; + echo '-lws2_32'; ;; esac ;; cflags) case $1 in - BeOS) + BeOS | windows32) echo '-Dsocklen_t=int'; ;; esac diff --git a/src/tun.c b/src/tun.c index bf5899a..61b79b0 100644 --- a/src/tun.c +++ b/src/tun.c @@ -50,7 +50,6 @@ struct tun_data data; char if_name[50]; #endif -#include "plibc.h" #include "tun.h" #include "common.h" @@ -354,11 +353,10 @@ write_tun(int tun_fd, char *data, size_t len) ssize_t read_tun(int tun_fd, char *buf, size_t len) { -#ifndef WINDOWS32 -#if defined (FREEBSD) || defined (DARWIN) || defined(NETBSD) +#if defined (FREEBSD) || defined (DARWIN) || defined(NETBSD) || defined(WINDOWS32) /* FreeBSD/Darwin/NetBSD has no header */ int bytes; - bytes = read(tun_fd, buf + 4, len - 4); + bytes = recv(tun_fd, buf + 4, len, 0); if (bytes < 0) { return bytes; } else { @@ -367,15 +365,6 @@ read_tun(int tun_fd, char *buf, size_t len) #else /* !FREEBSD */ return read(tun_fd, buf, len); #endif /* !FREEBSD */ -#else /* !WINDOWS32 */ - int bytes; - bytes = RECV(tun_fd, buf + 4, len, 0); - if (bytes < 0) { - return bytes; - } else { - return bytes + 4; - } -#endif } int