From: Steven Barth Date: Mon, 9 Mar 2009 09:37:08 +0000 (+0000) Subject: Make nixio compile on OpenSolaris X-Git-Tag: 0.9.0~617 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=589e680970d44e5bd006844bdeb6ed355c8d345b;p=oweals%2Fluci.git Make nixio compile on OpenSolaris --- diff --git a/libs/nixio/Makefile b/libs/nixio/Makefile index df63dc183..f8d01b781 100644 --- a/libs/nixio/Makefile +++ b/libs/nixio/Makefile @@ -6,8 +6,6 @@ AXTLS_VERSION = 1.2.1 AXTLS_DIR = axTLS AXTLS_FILE = $(AXTLS_DIR)-$(AXTLS_VERSION).tar.gz NIXIO_TLS ?= axtls -EXTRA_CFLAGS = -std=c99 -NIXIO_CFLAGS = -D_XOPEN_SOURCE=500 NIXIO_OBJ = src/nixio.o src/socket.o src/sockopt.o src/bind.o src/address.o \ src/poll.o src/io.o src/file.o src/splice.o src/process.o \ @@ -24,10 +22,6 @@ ifeq ($(NIXIO_TLS),openssl) TLS_LDFLAGS = -lssl endif -ifeq ($(OS),Linux) - NIXIO_CFLAGS = -D_GNU_SOURCE -endif - %.o: %.c $(COMPILE) $(NIXIO_CFLAGS) $(LUA_CFLAGS) $(FPIC) -c -o $@ $< @@ -55,7 +49,7 @@ $(AXTLS_DIR)/.prepared: touch $@ src/libaxtls.a: $(AXTLS_DIR)/.prepared - $(MAKE) -C $(AXTLS_DIR) CC=$(CC) CFLAGS="$(CFLAGS) $(EXTRA_CFLAGS) $(FPIC) '-Dalloca(size)=__builtin_alloca(size)' -Wall -pedantic -I../config -I../ssl -I../crypto" LDFLAGS="$(LDFLAGS)" OS="$(OS)" clean all + $(MAKE) -C $(AXTLS_DIR) CC=$(CC) CFLAGS="$(CFLAGS) $(EXTRA_CFLAGS) $(FPIC) -Wall -pedantic -I../config -I../ssl -I../crypto" LDFLAGS="$(LDFLAGS)" OS="$(OS)" clean all cp -p $(AXTLS_DIR)/_stage/libaxtls.a src clean: luaclean diff --git a/libs/nixio/src/process.c b/libs/nixio/src/process.c index 19fa10ef2..e8f0cdc50 100644 --- a/libs/nixio/src/process.c +++ b/libs/nixio/src/process.c @@ -24,6 +24,7 @@ #include #include #include +#include static int nixio_fork(lua_State *L) { pid_t pid = fork(); diff --git a/libs/nixio/src/sockopt.c b/libs/nixio/src/sockopt.c index b80e2e353..6ec87539b 100644 --- a/libs/nixio/src/sockopt.c +++ b/libs/nixio/src/sockopt.c @@ -23,6 +23,7 @@ #include #include #include +#include #include "nixio.h" @@ -124,7 +125,11 @@ static int nixio__getsetsockopt(lua_State *L, int set) { } else if (!strcmp(option, "sndbuf")) { return nixio__gso_int(L, sock->fd, SOL_SOCKET, SO_SNDBUF, set); } else if (!strcmp(option, "priority")) { +#ifdef SO_PRIORITY return nixio__gso_int(L, sock->fd, SOL_SOCKET, SO_PRIORITY, set); +#else + return nixio__pstatus(L, !(errno = ENOPROTOOPT)); +#endif } else if (!strcmp(option, "broadcast")) { return nixio__gso_int(L, sock->fd, SOL_SOCKET, SO_BROADCAST, set); } else if (!strcmp(option, "linger")) { diff --git a/libs/nixio/src/tls-socket.c b/libs/nixio/src/tls-socket.c index 3b0744f04..693a2a551 100644 --- a/libs/nixio/src/tls-socket.c +++ b/libs/nixio/src/tls-socket.c @@ -82,11 +82,11 @@ static int nixio_tls_sock_recv(lua_State *L) { t->pbufsiz -= req; return 1; } else { - char *axbuf; - int axread; + uint8_t *axbuf; + size_t axread; /* while handshake pending */ - while ((axread = ssl_read(sock, (uint8_t**)&axbuf)) == SSL_OK); + while ((axread = ssl_read(sock, &axbuf)) == SSL_OK); if (t->pbufsiz) { lua_pushlstring(L, t->pbufpos, t->pbufsiz); @@ -111,7 +111,7 @@ static int nixio_tls_sock_recv(lua_State *L) { int stillwant = req - t->pbufsiz; if (stillwant < axread) { /* we got more data than we need */ - lua_pushlstring(L, axbuf, stillwant); + lua_pushlstring(L, (char *)axbuf, stillwant); if(t->pbufsiz) { lua_concat(L, 2); } @@ -130,7 +130,7 @@ static int nixio_tls_sock_recv(lua_State *L) { t->pbufpos = t->pbuffer; memcpy(t->pbufpos, axbuf + stillwant, t->pbufsiz); } else { - lua_pushlstring(L, axbuf, axread); + lua_pushlstring(L, (char *)axbuf, axread); if(t->pbufsiz) { lua_concat(L, 2); }