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
|
CGI_SUPPORT ?= 1
|
||||||
LUA_SUPPORT:=1
|
LUA_SUPPORT ?= 1
|
||||||
TLS_SUPPORT:=0
|
TLS_SUPPORT ?= 1
|
||||||
|
|
||||||
LDFLAGS ?= -L./lua-5.1.4/src -L./cyassl-1.4.0/src/.libs -lm
|
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 ?= -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
|
OBJ = uhttpd.o uhttpd-file.o uhttpd-utils.o
|
||||||
|
|
||||||
ifeq ($(CGI_SUPPORT),1)
|
ifeq ($(CGI_SUPPORT),1)
|
||||||
|
@ -21,7 +24,7 @@ endif
|
||||||
ifeq ($(TLS_SUPPORT),1)
|
ifeq ($(TLS_SUPPORT),1)
|
||||||
OBJ += uhttpd-tls.o
|
OBJ += uhttpd-tls.o
|
||||||
CFLAGS += -DHAVE_TLS
|
CFLAGS += -DHAVE_TLS
|
||||||
LDFLAGS += -lcyassl
|
LDFLAGS += -lpthread -lz -lcyassl
|
||||||
endif
|
endif
|
||||||
|
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
|
|
|
@ -363,6 +363,8 @@ int main (int argc, char **argv)
|
||||||
|
|
||||||
/* maximum file descriptor number */
|
/* maximum file descriptor number */
|
||||||
int new_fd, cur_fd, max_fd = 0;
|
int new_fd, cur_fd, max_fd = 0;
|
||||||
|
|
||||||
|
int tls = 0;
|
||||||
int keys = 0;
|
int keys = 0;
|
||||||
int bound = 0;
|
int bound = 0;
|
||||||
int nofork = 0;
|
int nofork = 0;
|
||||||
|
@ -428,10 +430,13 @@ int main (int argc, char **argv)
|
||||||
port = optarg;
|
port = optarg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( opt == 's' )
|
||||||
|
tls = 1;
|
||||||
|
|
||||||
/* bind sockets */
|
/* bind sockets */
|
||||||
bound += uh_socket_bind(
|
bound += uh_socket_bind(
|
||||||
&serv_fds, &max_fd, bind[0] ? bind : NULL, port, &hints,
|
&serv_fds, &max_fd, bind[0] ? bind : NULL, port,
|
||||||
(opt == 's') ? 1 : 0, &conf
|
&hints, tls, &conf
|
||||||
);
|
);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -532,7 +537,7 @@ int main (int argc, char **argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_TLS
|
#ifdef HAVE_TLS
|
||||||
if( keys < 2 )
|
if( (tls == 1) && (keys < 2) )
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Missing private key or certificate file\n");
|
fprintf(stderr, "Missing private key or certificate file\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
Loading…
Reference in a new issue