summaryrefslogtreecommitdiffstats
path: root/lib/libssl/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2020-06-09The check_includes step is incorrect dependency management model forderaadt1-11/+1
how our tree gets built. If this was done in all the libraries (imagine sys/dev), it would disrupt the development process hugely. So it should not be done here either. use 'make includes' by hand instead.
2020-05-10Provide an easy way to get debug information from TLSv1.3 handshakes.jsing1-1/+4
This makes it easier to debug TLSv1.3 handshake failures. "Yes please!" tb@, ok beck@
2020-03-13Remove dtls1_enc().jsing1-2/+1
Like much of the original DTLS code, dtls1_enc() is effectively a renamed copy of tls1_enc(). Since then tls1_enc() has been modified, however the non-AEAD code remains largely the same. As such, remove dtls1_enc() and instead call tls1_enc() from the DTLS code. The tls1_enc() AEAD code does not currently work correctly with DTLS, however this is a non-issue since we do not support AEAD cipher suites with DTLS currently. ok tb@
2020-02-15Move the TLSv1.3 code that interfaces with the legacy APIs/stack into ajsing1-1/+2
separate file. Discussed with beck@ and tb@
2020-01-30Provide struct/functions for handling TLSv1.3 key shares.jsing1-1/+2
Pull out the key share handling code and provide a clean/self contained interface. This will make it easier to support groups other than X25519. ok beck@ inoguchi@ tb@
2020-01-30Factor out/rewrite the ECDHE EC point key exchange code.jsing1-1/+2
This reduces replication between the existing TLS client/server and allows the code to soon be reused for TLSv1.3. With feedback from inoguchi@ and tb@ ok inoguchi@ tb@
2020-01-22Add checks to ensure that lib{crypto,ssl,tls} public headers have actuallyjsing1-1/+11
been installed prior to building. Requested by and ok tb@
2020-01-22Split the TLSv1.3 guards into separate client and server guards.jsing1-2/+3
ok beck@ tb@
2020-01-20Provide an error framework for use with the TLSv1.3 code.jsing1-1/+2
This is based on the libtls error handling code, but adds machine readable codes and subcodes. We then map these codes back to libssl error codes. ok beck@ inoguchi@
2019-11-17Add the initial framework for the TLSv1.3 server.jsing1-2/+3
ok beck@
2019-02-09Rename the file that contains the transcript handling code.jsing1-2/+2
ok inoguchi@ tb@
2019-02-04Make it easier to build with LIBRESSL_HAS_TLS1_3 enabled.jsing1-1/+4
ok tb@
2019-01-23No need to include <bsd.prog.mk> here.tb1-2/+1
ok bcook
2019-01-21Provide the initial TLSv1.3 client implementation.jsing1-1/+2
Move tls13_connect() to a new tls13_client.c file and provide a legacy wrapper to it, which allocates a struct tls_ctx if necessary. Also move tls13_client_hello_send() to tls13_client.c and actual implement the building of a client hello. ok tb@
2019-01-21Add ssl_cipher_is_permitted(), an internal helper function thattb1-1/+2
will be used in a few places shortly, e.g. in ssl_cipher_list_to_bytes(). ok jsing
2019-01-21Provide TLS 1.3 cipher AEAD/hash and legacy I/O handling functions.jsing1-1/+2
Provide functionality for determining AEADs and hashes for TLS 1.3 ciphers. Also provide wire read/write callbacks that interface with BIO and functions that interface between SSL_read/SSL_write and the TLS 1.3 record layer API. ok tb@
2019-01-20Provide a handshake message handling implementation for TLS 1.3.jsing1-1/+2
It receives handshake messages by reading and parsing data from the record layer. It also provides support for building and sending handshake messages. ok tb@
2019-01-20Provide an initial implementation of the TLS 1.3 record layer.jsing1-3/+3
This is entirely self-contained and knows nothing about SSL or BIO. The bottom of the stack is provided by wire read and write callbacks, with the API to the record layer primarily being via tls13_{read,write}_{application,handshake}_data(). This currently lacks some functionality, however will be worked on in tree. ok tb@
2019-01-19Sort HDRS/SRCS lists and use one line per source file for maintainability.jsing1-15/+43
ok tb@
2019-01-19Provide a TLS record handling implementation.jsing1-2/+2
This is a self-contained struct and set of functions that knows how to decode and read a TLS record from data supplied via a read callback, and send itself via a write callback. This will soon be used to build the TLSv1.3 record layer handling code. ok beck@ tb@
2019-01-18Remove this copy, we have decided we can do this in placebeck1-2/+2
ok jsing@
2019-01-17Provide an extensible buffer implementation that uses a read callback.jsing1-2/+3
The read callback returns a TLS13_IO_* value on EOF, failure, want pollin or want pollout, or a positive value indicating the number of bytes read. This will be used by upcoming TLSv1.3 handshake message and record processing code, both of which need the ability to read a fixed size header, before extending the buffer to the number of bytes specified in the header. ok beck@ tb@
2019-01-17Add a direct copy of the exension parsing code to be modified for tls13.beck1-2/+2
At the moment this is mechanical, with the functions renamed. This will be refactored for tls13. ok jsing@
2018-11-09Reimplement the sigalgs processing code into a new implementationbeck1-2/+2
that will be usable with TLS 1.3 with less eye bleed. ok jsing@ tb@
2018-11-08First skeleton of the TLS 1.3 state machine. Based on RFC 8446 andtb1-2/+2
inspired by s2n's state machine. Lots of help and input from jsing. ok beck, jsing
2018-11-07Add initial TLS 1.3 key schedule support with basic regress testsbeck1-2/+3
ok jsing@ tb@
2018-11-05Consolidate all of the SSL method structs/functions into a single file.jsing1-4/+4
Discussed with tb@
2018-03-17Bring in compatibility for OpenSSL 1.1 style init functions.beck1-2/+2
This adds OPENSSL_init_crypto and OPENSSL_init_ssl, as well thread safety modifications for the existing LibreSSL init functions. The initialization routines are called automatically by the normal entry points into the library, as in newer OpenSSL ok jsing@, nits by tb@ and deraadt@
2017-08-13Switch to -Werror with clang for libressl.doug1-2/+2
Discussed with beck@ and jsing@ ok beck@
2017-07-24Rewrite the TLS Renegotiation Indication extension handling using CBB/CBSjsing1-2/+2
and the new extension framework. Feedback from doug@ ok inoguchi@
2017-07-16Start rewriting TLS extension handling.jsing1-2/+2
Introduce a TLS extension handling framework that has per-extension type functions to determine if an extension is needed, to build the extension data and parse the extension data. This is somewhat analogous to BoringSSL, however these build and parse functions are intentionally symetrical. The framework is hooked into the existing TLS handling code in such a way that we can gradual convert the extension handling code. Convert the TLS Server Name Indication extension to the new framework, while rewriting it to use CBB/CBS and be more strict in the process. Discussed with beck@ ok inoguchi@
2017-04-30Only enable -Werror on libcrypto/libssl/libtls if we are building withjsing1-2/+3
gcc4. This should avoid failed builds while transitioning compilers. While here also make the CFLAGS blocks consistent across makefiles. Discussed with deraadt@, ok beck@
2017-04-29Revert previous - we still want to do this, but I forgot about the installerbeck1-2/+1
and want to avoid the wrath of theo when he arrives home in a couple of hours :)
2017-04-29We now require you to have a working libpthreadbeck1-1/+2
2017-03-05Provide a rolling handshake hash that commences as soon as the cipherjsing1-2/+2
suite has been selected, and convert the final finish MAC to use this handshake hash. This is a first step towards cleaning up the current handshake buffer/digest code. ok beck@ inoguchi@
2017-01-26Merge the single two line function from ssl_err2.c into ssl_err.c.jsing1-2/+2
ok beck@
2017-01-26Move relatively new version range code from ssl_lib.c into a separatejsing1-2/+2
ssl_versions.c file. ok beck@
2017-01-26Rename s3_{both,clnt,pkt_srvr}.c to have an ssl_ prefix since they are nojsing1-2/+2
longer SSLv3 code. ok beck@
2017-01-26Merge the client/server version negotiation into the existing (currentlyjsing1-4/+3
fixed version) client/server code. ok beck@
2016-11-05move manual pages from doc/ to man/ for consistency with otherschwarze1-2/+2
libraries, in particular considering that there are unrelated files in doc/; requested by jsing@ and beck@
2016-11-05after getting rid of the pod files, clean up the Makefiles; ok bcook@schwarze1-3/+6
2016-11-05Remove generated Symbols.map on make clean.jsing1-2/+2
ok guenther@
2016-11-04Add an explict list of exported symbols with just the functionsguenther1-1/+9
declared in the public headers, and use __{BEGIN,END}_HIDDEN_DECLS in the internal headers to optimize internal functions ok jsing@
2016-09-19Update ld search path for libssl/libcrypto, fixes cross-build after source moved.bcook1-3/+3
from Patrick Wildt
2016-09-14Generate pkg-config files at build time like everything else. Thisnatano1-2/+3
avoids permission problems due to the build and install stages being run by different users. ok deraadt jasper
2016-09-04only regen pkg-config files when required; ok jaspernatano1-3/+5
2016-09-03Make tree build againbeck1-2/+47
2014-04-11Move build machinery for libcrypto from libssl/crypto to libcrypto, as wellmiod1-11/+3
as configuration files; split manpages and .pc files between libcrypto and libssl. No functional change, only there to make engineering easier, and libcrypto sources are still found in libssl/src/crypto at the moment. ok reyk@, also discussed with deraadt@ beck@ and the usual crypto suspects.
2011-05-26remove hack to test and create /usr/lib/pkgconfig/ if needed, it's been sixjasper1-3/+1
months since it was introduced so it's safe to assume people have this dir now. ok deraadt@
2011-01-21- simplify, krb5 handling is not needed.jasper1-7/+1
prompted by brad