From patchwork Tue Jun 4 10:26:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: sfan5 X-Patchwork-Id: 49535 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:9183:0:b0:460:55fa:d5ed with SMTP id s3csp2586522vqg; Tue, 4 Jun 2024 03:29:05 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVODc5GYyp8Le3tzgmJ6TZu2D5IO7Z7wEBf5UmBIZcDasMREJOZJwO4q6BgVbISH/t/OMNi5OakrJ+QBr2XBobdZObw/hyxBfd4RA== X-Google-Smtp-Source: AGHT+IFcbvIFGqVk00pODHotcvRoVTkxk0M1vU8S1sHXpabVZruuR9KkHKZnUUp9OE7G2tt0bfSs X-Received: by 2002:a50:a6d7:0:b0:57a:1501:38c with SMTP id 4fb4d7f45d1cf-57a3644b93dmr6869695a12.26.1717496944990; Tue, 04 Jun 2024 03:29:04 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 4fb4d7f45d1cf-57a31b80b91si4974043a12.63.2024.06.04.03.29.04; Tue, 04 Jun 2024 03:29:04 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@LIVE.DE header.s=selector1 header.b=Ob9DXhQs; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=live.de Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DB94268D709; Tue, 4 Jun 2024 13:28:33 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2047.outbound.protection.outlook.com [40.92.73.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5D76268D6FB for ; Tue, 4 Jun 2024 13:28:27 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FZzDXmcqsvBFcrMXcL26VP4HnyViRt4J0GwG7vI2avKOoAvr5NYZJuuGVgeJgz47/h36bwX2MVIH5OBaE3CD8g/JHUdJi7jQiM+f6mePAwYy0VVaEKNFWZ3bxdrn6Q13rxyJNe+NU3ZvldjoTPiFqLq4h4/KLih3AsHGZEFlVmpgojUH8RTKkgoVO7/twVdB6HWrtvwcxVM52Hw2jhLSPSirqsDipZOa6PEWnwNuliyOYaNFOL8aHgOO+Xl5TH6Yewai/Z/8GikllT29t3xs77K5Fc7PDTh/4OW8Q9L2hF3e+5Ut+vuH15DvOzBDJh1fVsAudSNUBWyB50JWArvY8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZqNH4Xhyu0NzDRCwqnNUXvgqHiMT21dFFyUcpWd5sHI=; b=R+hUMNlmGoTpzRBM360IWsMvr6h9RU8UnHKPza9RS62MP+AVkGcK5nOlUYIgtDgaqQDKavbJl9wYKOAnz7yGFV4biRyg4NcR+aHAhQzNXoGHXPaht90R1eHmbzlKaiSNeeM5giMTWHf/ziQX5nORsXAt0F4m/+avWfgSWnc/9mMF1FpZQKTrchBzjBhPpEViVLOmQbKud3aGBunYVIK8RrYnDE1NN4nDDxGLrtdJufiI4hVCESA8jzhK0UfSjw3WMOFAmNiRYh7fTJLwfxZL/DPRZrr6VUK817evCGcWqv6fTv2LmUH9vCWT5KPlCrrjwm2IFHu+ztYn9JZIXkSbxQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=LIVE.DE; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZqNH4Xhyu0NzDRCwqnNUXvgqHiMT21dFFyUcpWd5sHI=; b=Ob9DXhQszScsBKHPxYTxX9Ol02W/74VCVdBbPRu77QFKgiA3RRAb86/W6oty6xtNNT9xBmmVgUIYRGF+Af6+xchZo9AHDIc1Eo4je1wLlGIVwVHHPdBKfdej/qk5JSKa554hpKIPimRF5aplwzysp3ZAWbD5hMQFyKb5cw6P0l7hJn8rArhp+5X3oxT7PeuxjPbLBpc9N2ktruHoYnAEVbZwSLNV854lJyUqtA+vvIbEIarkNxUVN+KfRjHBaXOaxT8UlAdCdZwLvIyzxmVzjFtXov9ezRdCyBtUxGbrRnXH9caRPDbAmYfzqqVGXVKqw++jglyuO6fic5htwuOhag== Received: from DU0PR03MB9567.eurprd03.prod.outlook.com (2603:10a6:10:41f::20) by GV1PR03MB8638.eurprd03.prod.outlook.com (2603:10a6:150:96::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7656.15; Tue, 4 Jun 2024 10:28:16 +0000 Received: from DU0PR03MB9567.eurprd03.prod.outlook.com ([fe80::e356:c67a:e5bb:cc8a]) by DU0PR03MB9567.eurprd03.prod.outlook.com ([fe80::e356:c67a:e5bb:cc8a%3]) with mapi id 15.20.7611.016; Tue, 4 Jun 2024 10:28:16 +0000 Message-ID: Date: Tue, 4 Jun 2024 12:26:45 +0200 User-Agent: Mozilla Thunderbird To: FFmpeg development discussions and patches Content-Language: en-US, de-DE From: sfan5 X-TMN: [vy8nblYu2bQ5rByJDMRoW4oe8ijVR7tq3Mq2E1Gji74G5lAzgWXAOFOOxegLL3upDu+m1KINW+Q=] X-ClientProxiedBy: FR0P281CA0065.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::18) To DU0PR03MB9567.eurprd03.prod.outlook.com (2603:10a6:10:41f::20) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR03MB9567:EE_|GV1PR03MB8638:EE_ X-MS-Office365-Filtering-Correlation-Id: 87615752-ffba-4c35-7933-08dc84810b10 X-MS-Exchange-SLBlob-MailProps: VTa9p188PROa+hh+zXRdb8iH1LoS7wElU/ZtWBhrAssWaMESGgp+oYHehlfVaLjDPjOl4UIpcjWurt9piafOrgD522P4mKq02nWbsySK5X500ch04HaHiO/ZDpeBibAhyDZsAxtFGM1f56AqvzUbdxIDAP92z8V7GFF7UCG66ZAlMktgqUDsp+9jvTcpQLhbF0831wwz44ZDzdiKzpk2MPJgvzQPIPLEsH+r9nzACsWiRGWaqk6F/w1wQKnmtpFYU1Fj1RgK1o/dw8QqEEXeVauG2zwC1sbNs9hf+iSBfMAFUasMgvRLb9aRvIeDERwQ4LSKZ9m7ONe10R5Jc+sJQPkiP3Nea2sXg/RRPKJX198CpVsgWrdy/1ECLDIcK9KURP0h7GlhKP7dbo/w8zOn5epuB+rZOWlR/EH8TYi84c561+BlsSGsP0jtltmM8s5AiDHHVO/WH5iQOvT+aYuIATK4JoyFCjaubqOEe8jWSX/xRErBuwCvn6fL+0c/8Tasod9NxFM9TswoUYK2Ltl2JmJM/6GAz6GgfBi4uTA1zjMp7KBSSU714R9ODRHVMzenPVzQwZb4EeoGos0g9jkrQ1nPOCnlcjBf4+1RXCWEfMq9FAu+6yQ74UUe3Tri5wdY X-Microsoft-Antispam: BCL:0; ARA:14566002|6092099003|461199019|3412199016|440099019; X-Microsoft-Antispam-Message-Info: JcDbKcxtwiD5RrqVhT1Tmxxwj0xuAKTdC1RULLamGF3HNGddkrhjNOsaO8J6ruscv/1HpMec7MLm/lJD5iqQwM4bluro4oGcjxFATHsm5d27oXsYG83A7MalJPN4qkitA1s5r/HxnpBhPWc5Qlx7A4V+Vza0iBCQZSJqoBo1xqfCxCb2aiCB8O0EjvlaaVNltPGvBqZnp3yK76OPb4pzeuAP9Y/eiqk/Z7R5uhu67wSKIgzE8z7C7XaX4sl8lrCKvrrszaksh0UigWCbsrbLMT96ESCAv63VL82nkW/hU5B9bNlgEl1Ov6OG8qZxjXpU3iw7tHvvs/ksQqXPPdZPB2ZkQKwN+DCpmtqUmi8pXx4= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?lsyEqQ+r4r01SvWPI3ndUDEk0pDL?= =?utf-8?q?kfLtwnkd6NyectCbNYolfOpv6WqXex9rCIyIFx2UXXtDpm145KU37D0p5f1eu/1SG?= =?utf-8?q?cAMDM2t/XzVOJf6ty6jPpeqdKDFdTSdw+9oqXxXK9zvlyILhoDxU3cLykw/4pga6G?= =?utf-8?q?RY8H3iJ9lIi0mZcUveixkfq6QGixv7PYoQwMNMnWcPCvXPlQT5+61BxEj4sfWJi8G?= =?utf-8?q?uY+w0HisvvmRjWSFH+jfgOmdEPgAeFWVsqp6ovzHmn3/1BTcv19ITZnRd/m2k45L3?= =?utf-8?q?Gi74YD2lApHjuyzkRCjubxvk/sAG6fazVrroSLiAJfGaCPbjwfAx2HdEEnlHJOCJ5?= =?utf-8?q?N6BN56l9FzAimW6+3czQmzSEy4NxdVOReEf0mwnHCVwZVJI7NFR3nfalrh/8/WePd?= =?utf-8?q?2th4ZzSPf485uezEU4hDvYBJzKjFkXcg4wFIFHy6hFIlkDJxfLYi51zjZZhw1uA+p?= =?utf-8?q?8vlL7c6Zm0zdt+8XNJOGPWcWzvtinhBE84KVNbMoZLE5/bw3QVCRcVu2U8E027Wnr?= =?utf-8?q?Z7JvdyALej1cdpX8px8ixa5BFJaxzTyqYRYe3gM2RErqOPUSa7HsYgrPMvOkkFtRZ?= =?utf-8?q?fzJ/RjAOLGp1cKa2Cp/+wFkKYEwqjOQpPcszTwWdScbG1Jst5fYuhIzWXnsVSoiBw?= =?utf-8?q?IR3EthU2ZsJhcyy+5AOX7Qmvw02rTw6Y725SzZ7txfRJSsgNHeTynWdB0srfyLfgb?= =?utf-8?q?8IhLy8A8/M+rjZEXGd9919ZzECpJP3MQONj8hw+08jILEYs3UfBQTUYE5L4InttAf?= =?utf-8?q?icKTpSK7MGcsKOCOKaUUe0697oV1kpt2+K0HRicn5iC5ZpGQHGyBvRmAsZos1zxtG?= =?utf-8?q?YdqC4ULC59cPijSFgqmJebvnvrs7fydOcZyYO0+EwdXihMOwLf1lZv+1EPMF33173?= =?utf-8?q?ZjWy/56g71XxTfVxdenI5Hq/d9BYx2yRtMnfvDoHG2xeBzMX/aOVQb9SmTNiUfSCh?= =?utf-8?q?jP0bn1V0QMAzhNElxtYdLSzYfueDcJDYS2GnxZfHncpdPkRyeVcKEDHVpLVJ7G+Dp?= =?utf-8?q?jQNcRzds4H1ann+hwW/zwTqHAMZLhbLIPoUFjYwXKDztLbNb3RgOkfWx4BucRZoZ+?= =?utf-8?q?jw/Dsb/cYbLPISkfSh90v1eJyLYzfsI3V3kC9uk+NAjik537FLiVsEgcITSJ9fBOy?= =?utf-8?q?cC80agL/GMHWx/EKxfkB3HJO1Lho07lAdLGa5//7mtDCw6Rdql3MskFJTZThkUeOD?= =?utf-8?q?l0Mbsuvn/qxDicOAiDldJX2bMGndIvfUsxIuigiydW2PQRoL9ShEvIVH2q+0=3D?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-76d7b.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 87615752-ffba-4c35-7933-08dc84810b10 X-MS-Exchange-CrossTenant-AuthSource: DU0PR03MB9567.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2024 10:28:15.3179 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB8638 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH v3 3/6] lavf/tls_mbedtls: hook up debug message callback X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: oKugCP1jDl65 From 9e5993cf104cdc1b7c4eabe173f9ab3e8f0cfeca Mon Sep 17 00:00:00 2001 From: sfan5 Date: Mon, 13 May 2024 20:26:16 +0200 Subject: [PATCH v3 3/6] lavf/tls_mbedtls: hook up debug message callback Unfortunately this won't work out-of-the-box because mbedTLS only provides a global (not per-context) debug toggle. Signed-off-by: sfan5 --- libavformat/tls_mbedtls.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libavformat/tls_mbedtls.c b/libavformat/tls_mbedtls.c index 0d14e9f814..ba94ab3a70 100644 --- a/libavformat/tls_mbedtls.c +++ b/libavformat/tls_mbedtls.c @@ -26,6 +26,7 @@ #include #include #include +#include #ifdef MBEDTLS_PSA_CRYPTO_C #include #endif @@ -36,6 +37,7 @@ #include "tls.h" #include "libavutil/mem.h" #include "libavutil/parseutils.h" +#include "libavutil/avstring.h" typedef struct TLSContext { const AVClass *class; @@ -112,6 +114,13 @@ static int mbedtls_recv(void *ctx, unsigned char *buf, size_t len) return handle_transport_error(h, "ffurl_read", MBEDTLS_ERR_SSL_WANT_READ, ret); } +static void mbedtls_debug(void *ctx, int lvl, const char *file, int line, const char *msg) +{ + URLContext *h = (URLContext*) ctx; + int av_lvl = lvl >= 4 ? AV_LOG_TRACE : AV_LOG_DEBUG; + av_log(h, av_lvl, "%s:%d: %s", av_basename(file), line, msg); +} + static void handle_pk_parse_error(URLContext *h, int ret) { switch (ret) { @@ -204,6 +213,14 @@ static int tls_open(URLContext *h, const char *uri, int flags, AVDictionary **op mbedtls_x509_crt_init(&tls_ctx->ca_cert); mbedtls_pk_init(&tls_ctx->priv_key); + if (av_log_get_level() >= AV_LOG_DEBUG) { + mbedtls_ssl_conf_dbg(&tls_ctx->ssl_config, mbedtls_debug, shr->tcp); + /* + * Note: we can't call mbedtls_debug_set_threshold() here because + * it's global state. The user is thus expected to manage this. + */ + } + // load trusted CA if (shr->ca_file) { if ((ret = mbedtls_x509_crt_parse_file(&tls_ctx->ca_cert, shr->ca_file)) != 0) { -- 2.45.2