From f7df3212380c62a9acf826edec4316d88cbaa6a0 Mon Sep 17 00:00:00 2001 From: Frank Breedijk Date: Mon, 25 Jul 2016 11:55:52 +0200 Subject: [PATCH] Thunderbird(s) are go! --- include/client_sim.data | 24 +++++++++++++++++++++++- utils/update_client_sim_data.pl | 14 ++++++++++---- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/include/client_sim.data b/include/client_sim.data index ae66d39..3fb7917 100755 --- a/include/client_sim.data +++ b/include/client_sim.data @@ -3,7 +3,10 @@ # vim:ts=5:sw=5:expandtab # we have a spaces softtab, that ensures readability with other editors too - # Client simulation data +# This file contains client handshake data used in the run_client_simulation function +# Don't update this file by hand, but run util/update_client_sim_data.pl instead + +# Most clients are taken from Qualys SSL Labs --- From: https://api.dev.ssllabs.com/api/v3/getClients names+=("Android 2.3.7 ") short+=("android_237") ciphers+=("RC4-MD5:RC4-SHA:AES128-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC-SHA:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:EXP-RC4-MD5:EXP-DES-CBC-SHA:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA") @@ -1822,6 +1825,24 @@ requiresSha2+=(false) current+=(true) + names+=("Thunderbird 45.1.1 OSX 10.11 ") + short+=("thunderbird_45.1.1_osx_101115") + ciphers+=("ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA") + sni+=("$SNI") + warning+=("") + handshakebytes+=("160301009d010000990303c7c5b3ff80b3aa597c770c538b98ae34a94c9590ad8f947ba7bc28692061cb57000016c02bc02fc00ac009c013c01400330039002f0035000a0100005a0000001800160000136d78332e73656374696f6e7a65726f2e6f7267ff01000100000a00080006001700180019000b0002010000230000000500050100000000000d001600140401050106010201040305030603020304020202") + protos+=("-tls1_2 -tls1_1 -tls1") + lowest_protocol+=("0x0301") + highest_protocol+=("0x0303") + service+=("SMTP,POP,IMAP") + minDhBits+=(-1) + maxDhBits+=(-1) + minRsaBits+=(-1) + maxRsaBits+=(-1) + minEcdsaBits+=(-1) + requiresSha2+=(false) + current+=(true) + names+=("Tor 17.0.9 Win 7 ") short+=("tor_1709_win7") ciphers+=("ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-DSS-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:ECDH-RSA-AES256-SHA:ECDH-ECDSA-AES256-SHA:CAMELLIA256-SHA:AES256-SHA:ECDHE-ECDSA-RC4-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-DSS-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:ECDH-RSA-RC4-SHA:ECDH-RSA-AES128-SHA:ECDH-ECDSA-RC4-SHA:ECDH-ECDSA-AES128-SHA:SEED-SHA:CAMELLIA128-SHA:RC4-SHA:RC4-MD5:AES128-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:ECDH-RSA-DES-CBC3-SHA:ECDH-ECDSA-DES-CBC3-SHA:DES-CBC3-SHA") @@ -1965,3 +1986,4 @@ minEcdsaBits+=(-1) requiresSha2+=(false) current+=(true) + diff --git a/utils/update_client_sim_data.pl b/utils/update_client_sim_data.pl index 551ec0b..4aa60af 100755 --- a/utils/update_client_sim_data.pl +++ b/utils/update_client_sim_data.pl @@ -132,7 +132,8 @@ foreach my $client ( @$ssllabs ) { # # This is where we maintain our own clients -my $sim = {}; +my $sim; +$sim = {}; #$sim->{name} = "names+=(\"Mail iOS 9.3.2 \")"; #$sim->{shortname} = "short+=(\"mail_ios_932\")"; #$sim->{ciphers} = "ciphers+=(\"ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:EDH-RSA-DES-CBC3-SHA:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:ECDHE-ECDSA-RC4-SHA:ECDHE-RSA-RC4-SHA:RC4-SHA:RC4-MD5\")"; @@ -167,6 +168,7 @@ my $sim = {}; #$sim->{minEcdsaBits} = "minEcdsaBits+=(-1)"; #$sim->{requiresSha2} = "requiresSha2+=(false)"; +$sim = {}; $sim->{name} = "names+=(\"Thunderbird 45.1.1 OSX 10.11 \")"; $sim->{shortname} = "short+=(\"thunderbird_45.1.1_osx_101115\")"; $sim->{ciphers} = "ciphers+=(\"ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA\")"; @@ -183,6 +185,7 @@ $sim->{minRsaBits} = "minRsaBits+=(-1)"; $sim->{maxRsaBits} = "maxRsaBits+=(-1)";# $sim->{minEcdsaBits} = "minEcdsaBits+=(-1)"; $sim->{requiresSha2} = "requiresSha2+=(false)"; +$sims{$sim->{shortname}} = $sim; my %count; foreach my $shortname ( reverse sort keys %sims ) { @@ -251,8 +254,11 @@ foreach my $shortname ( reverse sort keys %sims ) { } } -open OUT, ">client-simulation-data.sh" or die "Unable to open client-simulation-data.sh"; -print OUT "#!/bin/bash +open OUT, ">include/client_sim.data" or die "Unable to open include/client_sim.data"; +print OUT "#!/usr/bin/env bash +# +# vim:ts=5:sw=5:expandtab +# we have a spaces softtab, that ensures readability with other editors too # This file contains client handshake data used in the run_client_simulation function # Don't update this file by hand, but run util/update_client_sim_data.pl instead @@ -262,7 +268,7 @@ print OUT "#!/bin/bash foreach my $shortname ( sort keys %sims ) { foreach my $k ( qw(name shortname ciphers sni warning handshakebytes protos lowestProtocol highestProtocol service minDhBits maxDhBits minRsaBits maxRsaBits minEcdsaBits requiresSha2 current) ) { - print OUT "$sims{$shortname}->{$k}\n"; + print OUT " $sims{$shortname}->{$k}\n"; } print OUT "\n"; }