uhttpd: make missing certs only fatal if tls sockets were requested
This commit is contained in:
parent
0799c5f9ea
commit
77f310f5db
2 changed files with 18 additions and 10 deletions
|
@ -1,10 +1,13 @@
|
|||
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)
|
||||
|
@ -21,7 +24,7 @@ endif
|
|||
ifeq ($(TLS_SUPPORT),1)
|
||||
OBJ += uhttpd-tls.o
|
||||
CFLAGS += -DHAVE_TLS
|
||||
LDFLAGS += -lcyassl
|
||||
LDFLAGS += -lpthread -lz -lcyassl
|
||||
endif
|
||||
|
||||
%.o: %.c
|
||||
|
|
|
@ -363,6 +363,8 @@ int main (int argc, char **argv)
|
|||
|
||||
/* maximum file descriptor number */
|
||||
int new_fd, cur_fd, max_fd = 0;
|
||||
|
||||
int tls = 0;
|
||||
int keys = 0;
|
||||
int bound = 0;
|
||||
int nofork = 0;
|
||||
|
@ -428,10 +430,13 @@ int main (int argc, char **argv)
|
|||
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;
|
||||
|
@ -532,7 +537,7 @@ int main (int argc, char **argv)
|
|||
}
|
||||
|
||||
#ifdef HAVE_TLS
|
||||
if( keys < 2 )
|
||||
if( (tls == 1) && (keys < 2) )
|
||||
{
|
||||
fprintf(stderr, "Missing private key or certificate file\n");
|
||||
exit(1);
|
||||
|
|
Loading…
Reference in a new issue