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 \
TLS_LDFLAGS = -lssl
endif
-ifeq ($(OS),Linux)
- NIXIO_CFLAGS = -D_GNU_SOURCE
-endif
-
%.o: %.c
$(COMPILE) $(NIXIO_CFLAGS) $(LUA_CFLAGS) $(FPIC) -c -o $@ $<
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
#include <string.h>
#include <sys/wait.h>
#include <sys/types.h>
+#include <signal.h>
static int nixio_fork(lua_State *L) {
pid_t pid = fork();
#include <sys/time.h>
#include <string.h>
#include <fcntl.h>
+#include <errno.h>
#include "nixio.h"
} 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")) {
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);
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);
}
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);
}