summaryrefslogtreecommitdiffstats
path: root/util/TLSProxy
AgeCommit message (Collapse)Author
2016-02-21Don't use 'parent' in util/dofile.plRichard Levitte
Because we're requiring Perl 5.10.0 and the 'parent' didn't appear before Perl 5.10.1, we need to resort to the older parent module declaration style, modifying @ISA. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-02-20Work-around for proxy->s_server retry logicViktor Dukhovni
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-02-19TLS: reject duplicate extensionsEmilia Kasper
Adapted from BoringSSL. Added a test. The extension parsing code is already attempting to already handle this for some individual extensions, but it is doing so inconsistently. Duplicate efforts in individual extension parsing will be cleaned up in a follow-up. Reviewed-by: Stephen Henson <steve@openssl.org>
2016-02-17Be more verbose when debugging is onRichard Levitte
It's near impossible to figure out what goes wrong with the execution of sub-commands otherwise. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-14Prefer IO::Socket::INET6 over IO::Socket::IPRichard Levitte
While IO::Socket::IP is a core perl module (since Perl v5.19.8, or so says corelist), IO::Socket::INET6 has been around longer, is said to be more widely deployed, and most importantly, seems to have less bugs hitting us. We therefore prefer IO::Socket::INET6, and only fall back to IO::Socket::IP if the former doesn't exist on the local system. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2016-02-05Restore -no_comp switch for backwards compatible behaviourViktor Dukhovni
Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-02-03Handle localhost being either 127.0.0.1 or ::1Viktor Dukhovni
When connecting to "localhost" the Proxy's choice of client address family may not match the server's choice address family. Without MultiHomed => 1, the proxy may try the wrong address family first, and give up without trying the other. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-02-03Refactoring BIO: small test correctionRichard Levitte
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2016-02-03Refactoring BIO: add a simple networking test of s_client and s_serverRichard Levitte
This makes use of TLSProxy, which was expanded to use IO::Socket::IP (which is a core perl module) or IO::Socket::INET6 (which is said to be more popular) instead IO::Socket::INET if one of them is installed. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2016-02-03RT3234: disable compressionEmilia Kasper
CRIME protection: disable compression by default, even if OpenSSL is compiled with zlib enabled. Applications can still enable compression by calling SSL_CTX_clear_options(ctx, SSL_OP_NO_COMPRESSION), or by using the SSL_CONF library to configure compression. SSL_CONF continues to work as before: SSL_CONF_cmd(ctx, "Options", "Compression") enables compression. SSL_CONF_cmd(ctx, "Options", "-Compression") disables compression (now no-op by default). The command-line switch has changed from -no_comp to -comp. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-12-29Prefer ReuseAddr over Reuse, with IO::Socket::INETRichard Levitte
Reuse is deprecated and ReuseAddr is prefered, according to documentation. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2015-12-27Add test for missing CertificateStatus messageMatt Caswell
If the client sends a status_request extension in the ClientHello and the server responds with a status_request extension in the ServerHello then normally the server will also later send a CertificateStatus message. However this message is *optional* even if the extensions were sent. This adds a test to ensure that if the extensions are sent then we can still omit the message. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2015-12-08Add extms extensionDr. Stephen Henson
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-12-08TLSProxy updateDr. Stephen Henson
Add function to delete extensions and fix ClientHello repacking. Reviewed-by: Matt Caswell <matt@openssl.org>
2015-09-28Empty NewSessionTicket: test session resumptionEmilia Kasper
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-09-28Empty session ticket: add a testEmilia Kasper
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-09-19Fix some test failures when Configured with zlibMatt Caswell
TLSProxy was failing if we are Configured with compression because it doesn't support it. This fix simply switches compression off for the purposes of the test. Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-08-26Add NewSessionTicket test suiteMatt Caswell
Add a set of tests for checking that NewSessionTicket messages are behaving as expected. Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-08-26Fix TLSProxy end of test detectionMatt Caswell
Previously TLSProxy would detect a successful handshake once it saw the server Finished message. This causes problems with abbreviated handshakes, or if the client fails to process a message from the last server flight. This change additionally sends some application data and finishes when the client sends a CloseNotify. Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-08-13for test_sslvertol, add a value to display SSL version < 3 in debugRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-08-13Fixups in libssl test harnessRichard Levitte
- select an actual file handle for devnull - do not declare $msgdata twice - SKE records sometimes seem to come without sig - in SKE parsing, use and use $pub_key_len when parsing $pub_key Reviewed-by: Matt Caswell <matt@openssl.org>
2015-08-11Use dynamic engine for libssl test harnessRichard Levitte
Use a dynamic engine for ossltest engine so that we can build it without subsequently deploying it during install. We do not want people accidentally using this engine. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2015-08-11Extend TLSProxy capabilitiesMatt Caswell
Add ServerHello parsing to TLSProxy. Also add some (very) limited ServerKeyExchange parsing. Add the capability to set client and server cipher lists Fix a bug with fragment lengths Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-08-11Add a libssl test harnessMatt Caswell
This commit provides a set of perl modules that support the testing of libssl. The test harness operates as a man-in-the-middle proxy between s_server and s_client. Both s_server and s_client must be started using the "-testmode" option which loads the new OSSLTEST engine. The test harness enables scripts to be written that can examine the packets sent during a handshake, as well as (potentially) modifying them so that otherwise illegal handshake messages can be sent. Reviewed-by: Richard Levitte <levitte@openssl.org>