diff --git a/demos/build.info b/demos/build.info index 5822f9bfec..3c74e8f331 100644 --- a/demos/build.info +++ b/demos/build.info @@ -7,6 +7,10 @@ IF[{- !$disabled{"h3demo"} -}] ENDIF ENDIF +IF[{- !$disabled{"quic"} -}] + SUBDIRS=quic +ENDIF + IF[{- !$disabled{"cms"} -}] IF[{- !$disabled{"deprecated"} -}] SUBDIRS=cms diff --git a/demos/quic/build.info b/demos/quic/build.info new file mode 100644 index 0000000000..d9ef4c7d4e --- /dev/null +++ b/demos/quic/build.info @@ -0,0 +1 @@ +SUBDIRS=server diff --git a/demos/quic/server/Makefile b/demos/quic/server/Makefile index df68c7ed6f..8fe295876f 100644 --- a/demos/quic/server/Makefile +++ b/demos/quic/server/Makefile @@ -2,11 +2,9 @@ # To run the demo when linked with a shared library (default) ensure that # libcrypto and libssl are on the library path. For example: # -# LD_LIBRARY_PATH=../.. ./server 4444 \ -# ../../test/certs/servercert.pem \ -# ../../test/certs/serverkey.pem -# -# TODO(QUIC SERVER): Add build.info. +# LD_LIBRARY_PATH=../../.. ./server 4444 \ +# ../../../test/certs/servercert.pem \ +# ../../../test/certs/serverkey.pem # CFLAGS += -I../../../include -g -Wall -Wsign-compare LDFLAGS += -L../../.. diff --git a/demos/quic/server/build.info b/demos/quic/server/build.info new file mode 100644 index 0000000000..296c27bac1 --- /dev/null +++ b/demos/quic/server/build.info @@ -0,0 +1,14 @@ +# +# To run the demo when linked with a shared library (default) ensure that +# libcrypto and libssl are on the library path. For example: +# +# LD_LIBRARY_PATH=../../.. ./server 4444 \ +# ../../../test/certs/servercert.pem \ +# ../../../test/certs/serverkey.pem + + +PROGRAMS{noinst} = server + +INCLUDE[server]=../../../include +SOURCE[server]=server.c +DEPEND[server]=../../../libcrypto ../../../libssl diff --git a/demos/quic/server/server.c b/demos/quic/server/server.c index ad0fc1f462..183c59c6f9 100644 --- a/demos/quic/server/server.c +++ b/demos/quic/server/server.c @@ -9,8 +9,12 @@ #include #include #include -#include -#include +#ifdef _WIN32 /* Windows */ +# include +#else /* Linux/Unix */ +# include +# include +#endif #include /* @@ -155,7 +159,8 @@ static int run_quic_server(SSL_CTX *ctx, int fd) * so the below call is not actually necessary. The configured behaviour is * inherited by child objects. */ - SSL_set_blocking_mode(listener, 1); + if (!SSL_set_blocking_mode(listener, 1)) + goto err; for (;;) { /* Blocking wait for an incoming connection, similar to accept(2). */