-CGI_SUPPORT:=1
-LUA_SUPPORT:=1
-TLS_SUPPORT:=0
+CGI_SUPPORT ?= 1
+LUA_SUPPORT ?= 1
+TLS_SUPPORT ?= 1
LDFLAGS ?= -L./lua-5.1.4/src -L./cyassl-1.4.0/src/.libs -lm
CFLAGS ?= -Wall -I./lua-5.1.4/src -I./cyassl-1.4.0/include -O0 -ggdb3
+CFLAGS += --std=c99 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=500
+LDFLAGS += -lm -lcrypt
+
OBJ = uhttpd.o uhttpd-file.o uhttpd-utils.o
ifeq ($(CGI_SUPPORT),1)
ifeq ($(TLS_SUPPORT),1)
OBJ += uhttpd-tls.o
CFLAGS += -DHAVE_TLS
- LDFLAGS += -lcyassl
+ LDFLAGS += -lpthread -lz -lcyassl
endif
%.o: %.c
continue;
error:
- if( sock > 0 )
+ if( sock > 0 )
close(sock);
}
/* maximum file descriptor number */
int new_fd, cur_fd, max_fd = 0;
+
+ int tls = 0;
int keys = 0;
int bound = 0;
int nofork = 0;
port = optarg;
}
+ if( opt == 's' )
+ tls = 1;
+
/* bind sockets */
bound += uh_socket_bind(
- &serv_fds, &max_fd, bind[0] ? bind : NULL, port, &hints,
- (opt == 's') ? 1 : 0, &conf
+ &serv_fds, &max_fd, bind[0] ? bind : NULL, port,
+ &hints, tls, &conf
);
break;
}
#ifdef HAVE_TLS
- if( keys < 2 )
+ if( (tls == 1) && (keys < 2) )
{
fprintf(stderr, "Missing private key or certificate file\n");
exit(1);
{
/* is a socket managed by us */
if( FD_ISSET(cur_fd, &read_fds) )
- {
+ {
/* is one of our listen sockets */
if( FD_ISSET(cur_fd, &serv_fds) )
{
/* add client socket to global fdset */
FD_SET(new_fd, &used_fds);
- max_fd = max(max_fd, new_fd);
+ max_fd = max(max_fd, new_fd);
}
/* insufficient resources */