From patchwork Thu Jan 24 17:21:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Watson X-Patchwork-Id: 1030593 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=fb.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=fb.com header.i=@fb.com header.b="bpoEA72+"; dkim=pass (1024-bit key; unprotected) header.d=fb.onmicrosoft.com header.i=@fb.onmicrosoft.com header.b="e6FxvKjk"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43lpr41Zl0z9s9G for ; Fri, 25 Jan 2019 04:22:28 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727786AbfAXRW1 (ORCPT ); Thu, 24 Jan 2019 12:22:27 -0500 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:52622 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728984AbfAXRW0 (ORCPT ); Thu, 24 Jan 2019 12:22:26 -0500 Received: from pps.filterd (m0001255.ppops.net [127.0.0.1]) by mx0b-00082601.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x0OHINUP030425; Thu, 24 Jan 2019 09:22:02 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : content-type : content-id : content-transfer-encoding : mime-version; s=facebook; bh=KI/nx3GuYibUg+OebmT5ttBmTA3TlbuCKVL9bunvWsE=; b=bpoEA72+3PL1FvmE9FXbcHfUVYVHoWUCDMsv2vwc6TJoyb+17h4di7YfMvWNxktoAEoP dKdd9a96AGofRGT2rlQEG8hRwzYnsWd0/bjX6UXmdrUbO6WBe13/lnTui6FuNqmnbXX/ xl7/PW7I6fXI0PhihOuKz7c3Wd6SxiojOqc= Received: from mail.thefacebook.com ([199.201.64.23]) by mx0b-00082601.pphosted.com with ESMTP id 2q7g2brek6-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 24 Jan 2019 09:22:02 -0800 Received: from prn-hub04.TheFacebook.com (2620:10d:c081:35::128) by prn-hub01.TheFacebook.com (2620:10d:c081:35::125) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.1.1531.3; Thu, 24 Jan 2019 09:21:24 -0800 Received: from NAM05-CO1-obe.outbound.protection.outlook.com (192.168.54.28) by o365-in.thefacebook.com (192.168.16.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.1.1531.3 via Frontend Transport; Thu, 24 Jan 2019 09:21:24 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.onmicrosoft.com; s=selector1-fb-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KI/nx3GuYibUg+OebmT5ttBmTA3TlbuCKVL9bunvWsE=; b=e6FxvKjkNXi9rU7YjBDxhWRzfPGss8WnpQ2Oa91WLHJNF6PhBOC61cwfZ1mlSNQX01g85yBRubxX59pxYVgQ+gkfi2XGGJ7jCtkNGy3waQ8kGScKpgw+FD3Kfuga+c7f+Z7+GldOIWF1ykPQ9WJ/PAgEyilzI4i3KT6YaCsFVTQ= Received: from MWHPR15MB1134.namprd15.prod.outlook.com (10.175.2.12) by MWHPR15MB1327.namprd15.prod.outlook.com (10.175.3.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1558.17; Thu, 24 Jan 2019 17:21:24 +0000 Received: from MWHPR15MB1134.namprd15.prod.outlook.com ([fe80::93f:b6fe:a6e9:80dc]) by MWHPR15MB1134.namprd15.prod.outlook.com ([fe80::93f:b6fe:a6e9:80dc%8]) with mapi id 15.20.1558.016; Thu, 24 Jan 2019 17:21:24 +0000 From: Dave Watson To: "netdev@vger.kernel.org" , Dave Miller CC: Vakul Garg , Boris Pismenny , Aviad Yehezkel , John Fastabend , Daniel Borkmann Subject: [PATCH net-next 7/7] net: tls: Add tests for TLS 1.3 Thread-Topic: [PATCH net-next 7/7] net: tls: Add tests for TLS 1.3 Thread-Index: AQHUtAk7dfNglf/3fEa0HgVuaehXtQ== Date: Thu, 24 Jan 2019 17:21:23 +0000 Message-ID: <20190124172257.e5yb47es3kqilrun@davejwatson-mba.dhcp.thefacebook.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: NeoMutt/20180716 x-clientproxiedby: MWHPR0201CA0012.namprd02.prod.outlook.com (2603:10b6:301:74::25) To MWHPR15MB1134.namprd15.prod.outlook.com (2603:10b6:320:22::12) x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [2620:10d:c090:180::1:4f45] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; MWHPR15MB1327; 20:e1oSL2OGtXW7AYn+tDbE5Y72UGSl02bNIgXEc4/DVzQ8ftexaMgzmK0ObMKvFNcRcXpCJj/43g66jT8/Zu90h+LqMOy8fp1e+LWnOrWvfiADPkQhdlcRYaQMxz/J2ZHrpEhMDfL7yJn+BD2T0PhRbN1ubhvQ/cmiSmkcKAWwHG0= x-ms-office365-filtering-correlation-id: 7c55d03a-ba5e-4547-f450-08d682205d4c x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(2017052603328)(7153060)(7193020); SRVR:MWHPR15MB1327; x-ms-traffictypediagnostic: MWHPR15MB1327: x-microsoft-antispam-prvs: x-forefront-prvs: 0927AA37C7 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(346002)(376002)(396003)(366004)(39860400002)(199004)(189003)(476003)(186003)(6486002)(33896004)(68736007)(105586002)(316002)(14444005)(97736004)(6506007)(386003)(2906002)(102836004)(46003)(486006)(256004)(1076003)(25786009)(14454004)(71190400001)(71200400001)(8936002)(81166006)(81156014)(8676002)(86362001)(305945005)(9686003)(6512007)(6436002)(106356001)(4326008)(478600001)(7736002)(39060400002)(54906003)(99286004)(6116002)(53936002)(110136005)(58126008)(2501003)(52116002); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR15MB1327; H:MWHPR15MB1134.namprd15.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: fb.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: rNEU/0A8JYxQZdGcYSraVaI38GCqz8gwTuXJ+5CK7Ze04GnqZatFSyHy/kWC3pbFWtZvbeJERbH2aYGTV8b8A4c8NQKOx/7lJecoxJ44F6p8uYPZIrQ+u77neBmXPpsHEXF46m9ZzWxLeZzXEyLoPoTLBtSCKsUJhSDUB3gHsxtRCQkS8jvn5lsfBhyZ/c9/Fv0jKULc8vGtdXcFr8Ip+MJ88k1hRvghoDUocsVVBPM4i0FI0tBs2EaKtvN8aJtdkxirlgiIOdhr5St+6fm8FheReYof++2tqhT67SyD0ag2OftnA8lqa2qdMsr6ZVsQKxuR9MR+FlxwbBbL4agvvbKYmqpE2NbAS4072wuABkYXg37i2UAalCtU+zTpHoOCj+DJuxLVm5FR/HpJ0awoaKMdsLYnwhD6ptfx5ga65OA= Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 7c55d03a-ba5e-4547-f450-08d682205d4c X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jan 2019 17:21:23.4621 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR15MB1327 X-OriginatorOrg: fb.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-01-24_10:, , signatures=0 X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Change most tests to TLS 1.3, while adding tests for previous TLS 1.2 behavior. Signed-off-by: Dave Watson --- tools/testing/selftests/net/tls.c | 76 ++++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/tls.c b/tools/testing/selftests/net/tls.c index c356f481de79..4ac50ccb3272 100644 --- a/tools/testing/selftests/net/tls.c +++ b/tools/testing/selftests/net/tls.c @@ -42,7 +42,7 @@ FIXTURE_SETUP(tls) len = sizeof(addr); memset(&tls12, 0, sizeof(tls12)); - tls12.info.version = TLS_1_2_VERSION; + tls12.info.version = TLS_1_3_VERSION; tls12.info.cipher_type = TLS_CIPHER_AES_GCM_128; addr.sin_family = AF_INET; @@ -825,4 +825,78 @@ TEST(keysizes) { close(cfd); } +TEST(tls12) { + int fd, cfd; + bool notls; + + struct tls12_crypto_info_aes_gcm_128 tls12; + struct sockaddr_in addr; + socklen_t len; + int sfd, ret; + + notls = false; + len = sizeof(addr); + + memset(&tls12, 0, sizeof(tls12)); + tls12.info.version = TLS_1_2_VERSION; + tls12.info.cipher_type = TLS_CIPHER_AES_GCM_128; + + addr.sin_family = AF_INET; + addr.sin_addr.s_addr = htonl(INADDR_ANY); + addr.sin_port = 0; + + fd = socket(AF_INET, SOCK_STREAM, 0); + sfd = socket(AF_INET, SOCK_STREAM, 0); + + ret = bind(sfd, &addr, sizeof(addr)); + ASSERT_EQ(ret, 0); + ret = listen(sfd, 10); + ASSERT_EQ(ret, 0); + + ret = getsockname(sfd, &addr, &len); + ASSERT_EQ(ret, 0); + + ret = connect(fd, &addr, sizeof(addr)); + ASSERT_EQ(ret, 0); + + ret = setsockopt(fd, IPPROTO_TCP, TCP_ULP, "tls", sizeof("tls")); + if (ret != 0) { + notls = true; + printf("Failure setting TCP_ULP, testing without tls\n"); + } + + if (!notls) { + ret = setsockopt(fd, SOL_TLS, TLS_TX, &tls12, + sizeof(tls12)); + ASSERT_EQ(ret, 0); + } + + cfd = accept(sfd, &addr, &len); + ASSERT_GE(cfd, 0); + + if (!notls) { + ret = setsockopt(cfd, IPPROTO_TCP, TCP_ULP, "tls", + sizeof("tls")); + ASSERT_EQ(ret, 0); + + ret = setsockopt(cfd, SOL_TLS, TLS_RX, &tls12, + sizeof(tls12)); + ASSERT_EQ(ret, 0); + } + + close(sfd); + + char const *test_str = "test_read"; + int send_len = 10; + char buf[10]; + + send_len = strlen(test_str) + 1; + EXPECT_EQ(send(fd, test_str, send_len, 0), send_len); + EXPECT_NE(recv(cfd, buf, send_len, 0), -1); + EXPECT_EQ(memcmp(buf, test_str, send_len), 0); + + close(fd); + close(cfd); +} + TEST_HARNESS_MAIN