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 A90E040EAF for ; Sun, 13 Jul 2025 19:25:32 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id B402F68E2EC; Sun, 13 Jul 2025 22:25:28 +0300 (EEST) Received: from btbn.de (btbn.de [144.76.60.213]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 40F41687DAF for ; Sun, 13 Jul 2025 22:25:22 +0300 (EEST) Received: from [authenticated] by btbn.de (Postfix) with ESMTPSA id A558728191023; Sun, 13 Jul 2025 21:25:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rothenpieler.org; s=mail; t=1752434719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=biYXfaNYRmTgTEyfJ2gOPaBYS3LS1YRlkS/gfQEOHJA=; b=TjtCFgsyFkJSi/5YRravVf2uX//HrQQTwsscWlEw8cyjFQxV3YMdHvSFxN2EFphUSZ8VnE pipMHTdVGJPQcUgB6n9Vb5k03aoaZeFBnJDuhlVL8/H0nZ27gPS7IGjdiwrE9VaWM4I1ew 4EpJBmWoiGGo54rSrlrq92Bb1wKExpD8TpBy5UD32a41Z4zQFBjuVYDP9FjVyQ1Jm7tOOD gqCKtfWiQ+IRUGPr0RxUAwElsvP4JIoxh4kziGxMQJCm09Z4gS4T8Mc9oFZFdCikSUReHF 8WXU+JozcB8A5E5LLp/yVsRI4PL3FZ9eWmCdspOZcSXm24+zI535ffcGafQ1vA== From: Timo Rothenpieler To: ffmpeg-devel@ffmpeg.org Date: Sun, 13 Jul 2025 21:24:35 +0200 Message-ID: <20250713192512.928390-1-timo@rothenpieler.org> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 01/14] avformat/tls_openssl: set dtls remote addr in listen mode 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: Timo Rothenpieler 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: Taken from the first received packet, which will signify the now permanent peer of this DTLS "connection". --- libavformat/tls_openssl.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c index 2a01fb387d..f6826222f9 100644 --- a/libavformat/tls_openssl.c +++ b/libavformat/tls_openssl.c @@ -465,6 +465,8 @@ typedef struct TLSContext { BIO_METHOD* url_bio_method; int io_err; char error_message[256]; + struct sockaddr_storage dest_addr; + socklen_t dest_addr_len; } TLSContext; /** @@ -575,9 +577,23 @@ static int url_bio_destroy(BIO *b) static int url_bio_bread(BIO *b, char *buf, int len) { TLSContext *c = BIO_get_data(b); + TLSShared *s = &c->tls_shared; int ret = ffurl_read(c->tls_shared.is_dtls ? c->tls_shared.udp : c->tls_shared.tcp, buf, len); - if (ret >= 0) + if (ret >= 0) { + if (s->is_dtls && s->listen && !c->dest_addr_len) { + int err_ret; + + ff_udp_get_last_recv_addr(s->udp, &c->dest_addr, &c->dest_addr_len); + err_ret = ff_udp_set_remote_addr(s->udp, (struct sockaddr *)&c->dest_addr, c->dest_addr_len, 1); + if (err_ret < 0) { + av_log(c, AV_LOG_ERROR, "Failed connecting udp context\n"); + return err_ret; + } + av_log(c, AV_LOG_TRACE, "Set UDP remote addr on UDP socket, now 'connected'\n"); + } + return ret; + } BIO_clear_retry_flags(b); if (ret == AVERROR_EXIT) return 0; -- 2.49.0 _______________________________________________ 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".