th5/_dev/tstclnt/Dockerfile
Filippo Valsorda f3fe024dc7 crypto/tls: do not drain 0-RTT data on Close
There is no reason a server can't just send a CloseNotify in its first
flight, and then close the connection without reading the 0-RTT data.

Also, it's not expected of Close to block on reading, and interlocking
with a Read can cause a deadlock.

Fixes NCC-2016-001
2017-09-05 21:06:34 +01:00

45 lines
1.1 KiB
Docker

FROM buildpack-deps
RUN hg clone https://hg.mozilla.org/projects/nspr
RUN hg clone https://hg.mozilla.org/projects/nss
ENV USE_64=1 NSS_ENABLE_TLS_1_3=1
# Incremental build snapshot disabled as dependencies don't seem to be solid:
# the same value changed in a header file would apply to one .c file and not another
# RUN cd nss && make nss_build_all
# Draft 15
# ARG REVISION=c483e5f9e0bc
# Draft 16
# ARG REVISION=3e7b53b18112
# Draft 18
# ARG REVISION=b6dfef6d0ff0
# tstclnt resumption
ARG REVISION=2ed8aef0b360
RUN cd nss && hg pull
RUN cd nss && hg checkout -C $REVISION
ADD *.patch ./
RUN for p in *.patch; do patch -p1 -d nss < $p; done
RUN cd nss && make nss_build_all
# ENV HOST=localhost
# RUN cd nss/tests/ssl_gtests && ./ssl_gtests.sh
RUN cd nss && make install
RUN mv /dist/$(uname -s)$(uname -r | cut -f 1-2 -d . -)_$(uname -m)_${CC:-cc}_glibc_PTH_64_$([ -n "$BUILD_OPT" ] && echo OPT || echo DBG).OBJ /dist/OBJ-PATH
ENV LD_LIBRARY_PATH=/dist/OBJ-PATH/lib
ENV SSLTRACE=100 SSLDEBUG=100
ADD httpreq.txt /httpreq.txt
ADD run.sh /run.sh
ENTRYPOINT ["/run.sh"]