From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 355B65016A for ; Tue, 8 Jul 2025 18:29:00 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 8A7F068F0F0; Tue, 8 Jul 2025 21:28:57 +0300 (EEST) Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 8803F68F0F0 for ; Tue, 8 Jul 2025 21:28:50 +0300 (EEST) Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-60780d74c85so6565882a12.2 for ; Tue, 08 Jul 2025 11:28:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751999330; x=1752604130; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9GRL6RBV3gph/a+Ow81ynFEzyGVDuLo5IU0gcyU1U1M=; b=f7PMGQVhf+NyhNMsl5GQgMRveq82EvCos96K9ERNeFPmsZe+hVkh7xjf+up7EIU5AJ R/AAjpDuPQ1jINUoKCbGsvgpgXAmEyVHyAKsUe6TCkjX7kXlTXznuEcISjB44xcrs9wK tEeYZcEv8DStZdacjyIffPvjODhJbW5raKttDuFIUIQ7yVFL0xGtjMwNcYGkhmJKM6bF 5g+WsDKQhtlHY8ZqRbMzVVsxSmSpiHfnVqcOWA+4WUcrpas3Rqxv1lvol2hdL5seZPRj U/YYG3C5vrI4RBe3k6kx63emgtnTqiCHel9K8GDQmWSs8nTSLHMr3EqyUx7KK3W2ZuMU 0MWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751999330; x=1752604130; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9GRL6RBV3gph/a+Ow81ynFEzyGVDuLo5IU0gcyU1U1M=; b=Twzk7ORPqCf72scUAm3CqPgG+YBuhp6ESeA03654IaDBLbYi6B3cLUYgD78u9APIsm y5EfDj4bmgvM7HjoAwRrSKHYAvEzXPuxKsK1+1Aj47lLY3oWi6qpxZ1kW/XXautV/UKw W17GOLzRREJx23wnNhkgKsdgrSMmlZeVfZUdU0Korb4L3o9CiFA7jyzZz0hklojtiuTP yWTL55TAJ+3IhxXCqyTZjQx7S6W19VNMfUV3vFzMDpoh49q5q9Wgr8L5XNzrRsAbE2NC TvHlUIisl5t8tO3kDaFUEuhzlp+jl6syONPgmPphzfJoS8onJM1ZnnJ6LY5vM8J88QgJ SkXQ== X-Gm-Message-State: AOJu0YwTcbCmrKUVfqfEGqaUBeLUiG58dBwI42LqXecPrmxOPI6c7DlH kXrzcZRWDcgBGVCeiJVeNWikZ5SN9ZdwmMwzTxqoUovOkc1JpC2NYv8XPCBl0bKl X-Gm-Gg: ASbGnctmRZifguuTjjInWCBNU/sbHr48ArekPMf5HAeZZIN3kTVgh5FDIf2QK50evbJ r6VN4AHZsnHYlsP/zPi+2pMFeI1d7BTsTLyLB7jByqLqzKmwku/0HqJypp0XTVaCzEH7FjwW8GC SHRBiLD41thEv6qoEPSpi2qV8iUPWEOp/vyWnfvkEY9m2pY2jz/Z7HkpSZGGKEi67fnQAuJlcXh Fp2z8iwjTXICQN+HhePGfF1+zMi6dsp2x0cYcgJtkjNVHnDslXz2HkI4OyZ/axzS8v4lVlDp3S7 3luWZZhSiLX1uSGGO0Oih3Gw1Uq3Wriw372FXluEM/jzAZykxKl5pNG9TgaW4F02cyfiz2YGMf0 z9mRutYmby6hb0neoHDAefPE80wDD2r7Nc2l1RgB0wJLv0qX3GoFsBhp9Rhxl0xxp6teK9NqvAp 4pCxAHeorBgvmgsHeH X-Google-Smtp-Source: AGHT+IGlp4EDqM9nQF9vJoET6gh/TWqqoXUGE3gpgpu413tS/l9Tc7QjHRNs0j6excWnHlanHj7wLg== X-Received: by 2002:a17:906:c116:b0:ae0:cae0:cb35 with SMTP id a640c23a62f3a-ae6c6c60387mr34810066b.37.1751999329613; Tue, 08 Jul 2025 11:28:49 -0700 (PDT) Received: from localhost.localdomain (p200301023701fa00258573ace0251429.dip0.t-ipconnect.de. [2003:102:3701:fa00:2585:73ac:e025:1429]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae3f69576c9sm946792466b.69.2025.07.08.11.28.47 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 08 Jul 2025 11:28:47 -0700 (PDT) From: Marvin Scholz To: ffmpeg-devel@ffmpeg.org Date: Tue, 8 Jul 2025 20:28:39 +0200 Message-Id: <20250708182841.61888-1-epirat07@gmail.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20250708180617.59679-1-epirat07@gmail.com> References: <20250708180617.59679-1-epirat07@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 1/3] avformat/tls_openssl: add host verification 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 Cc: Marvin Scholz Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: From: Daniel N Pettersson Co-Authored-By: Marvin Scholz --- libavformat/tls_openssl.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c index a0fa3285d5..7f10d80f9e 100644 --- a/libavformat/tls_openssl.c +++ b/libavformat/tls_openssl.c @@ -906,8 +906,7 @@ static int tls_open(URLContext *h, const char *uri, int flags, AVDictionary **op } ret = openssl_init_ca_key_cert(h); if (ret < 0) goto fail; - // Note, this doesn't check that the peer certificate actually matches - // the requested hostname. + if (c->verify) SSL_CTX_set_verify(p->ctx, SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT, NULL); p->ssl = SSL_new(p->ctx); @@ -921,8 +920,15 @@ static int tls_open(URLContext *h, const char *uri, int flags, AVDictionary **op ret = init_bio_method(h); if (ret < 0) goto fail; - if (!c->listen && !c->numerichost) + if (!c->listen && !c->numerichost) { + if (!SSL_set1_host(p->ssl, c->host)) { + av_log(h, AV_LOG_ERROR, "Failed to set hostname for TLS/SSL verification: %s\n", + openssl_get_error(p)); + ret = AVERROR_EXTERNAL; + goto fail; + } SSL_set_tlsext_host_name(p->ssl, c->host); + } ret = c->listen ? SSL_accept(p->ssl) : SSL_connect(p->ssl); if (ret == 0) { av_log(h, AV_LOG_ERROR, "Unable to negotiate TLS/SSL session\n"); -- 2.39.5 (Apple Git-154) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".