Jack Lau
e6af82c498
avformat/tls_openssl: remove all redundant "TLS: " in log with AVClass
...
Signed-off-by: Jack Lau <jacklau1222@qq.com>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2025-07-17 02:35:11 +02:00
Jack Lau
dda91b87e8
avformat/tls_openssl: replace 1 with TLS_ST_OK to be more clear
...
Signed-off-by: Jack Lau <jacklau1222@qq.com>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2025-07-17 02:35:07 +02:00
Jack Lau
7bd3bdbd62
avformat/whip: free udp socket after dtls free
...
the SSL_shutdown in tls_close need call the url_bio_bwrite
so we should keep udp still alive
Signed-off-by: Jack Lau <jacklau1222@qq.com>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2025-07-17 02:35:01 +02:00
Timo Rothenpieler
95eae5dd50
avformat/tls_openssl: unset nonblock flag on correct URLContext during dtls handshake
...
The internal BIO functions do not in fact look at this flag, only the outer
tls_read and tls_write functions do.
2025-07-17 02:20:34 +02:00
Jack Lau
7afe1167e5
avformat/tls_openssl: set tlsext host name after init ssl
...
Signed-off-by: Jack Lau <jacklau1222@qq.com>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2025-07-17 02:04:38 +02:00
Timo Rothenpieler
9015d595a1
avformat/flvdec: don't skip backwards or over EOF
...
Skipping backwards (and even forwards) resets the EOF flag, and can thus
lead to infinite looping if the conditions are just right.
Fixes: Infinite loop
Fixes: 427538726/clusterfuzz-testcase-minimized-ffmpeg_dem_FLV_fuzzer-6582567304495104
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2025-07-16 19:05:51 +02:00
Timo Rothenpieler
483e509169
avformat/tls_openssl: automatically generate self-signed certificate when none is provided in listen mode
2025-07-16 18:46:55 +02:00
Timo Rothenpieler
454f161b4b
avformat/tls_openssl: make generating fingerprints optional
2025-07-16 18:46:55 +02:00
Timo Rothenpieler
40ce64eae7
avformat/tls_openssl: don't expose deprecated EC_KEY outside of its function
2025-07-16 18:46:55 +02:00
Timo Rothenpieler
5339db2cf4
avformat/tls_openssl: properly free generated/read keys and certificates
2025-07-16 18:46:55 +02:00
Timo Rothenpieler
49badc8689
avformat/tls_openssl: don't enable read_ahead in dtls mode
...
OpenSSL docs say:
These functions have no impact when used with DTLS.
2025-07-16 18:46:55 +02:00
Timo Rothenpieler
31abcc1505
avformar/tls_openssl: use correct info callback in DTLS mode
2025-07-16 18:46:55 +02:00
Timo Rothenpieler
5edbfc4bae
avformat/tls_openssl: clean up peer verify logic in dtls mode
2025-07-16 18:46:55 +02:00
Timo Rothenpieler
95fd0840fe
avformat/tls_openssl: don't hardcode ciphers and curves for dtls
2025-07-16 18:46:55 +02:00
Timo Rothenpieler
f3355a1fff
avformat/tls_openssl: properly limit written size to data mtu
2025-07-16 18:46:55 +02:00
Timo Rothenpieler
576f44016a
avformat/tls_openssl: set default MTU if none is set
2025-07-16 18:46:55 +02:00
Timo Rothenpieler
b6e808d28b
avformat/tls_openssl: initialize DTLS context with correct method
2025-07-16 18:46:55 +02:00
Timo Rothenpieler
db0adbbd3f
avformat/tls_openssl: don't abort if dtls has no key/cert set
2025-07-16 18:46:55 +02:00
Timo Rothenpieler
951013e603
avformat/tls_openssl: force dtls handshake to be blocking
...
There is no sensible way to handle this otherwise anyway, one just has
to loop over this function until it succeeds.
2025-07-16 18:46:55 +02:00
Timo Rothenpieler
87b09f3931
avformat/tls_openssl: set dtls remote addr in listen mode
...
Taken from the first received packet, which will signify the now
permanent peer of this DTLS "connection".
2025-07-16 18:46:55 +02:00
James Almer
307983b292
avformat/tls_schannel: add check for Windows 10 only types and defines
...
Old Mingw-w64 releases provided by some distros seemingly don't have them, so
check for them and disable the dtls protocol if unavailable.
Signed-off-by: James Almer <jamrial@gmail.com>
2025-07-15 10:24:08 -03:00
Timo Rothenpieler
9b6638e125
avformat/tls_schannel: fix non-blocking write breaking TLS sessions
2025-07-11 17:49:58 +02:00
Timo Rothenpieler
9cd86c431b
avformat/tls_schannel: add option to load server certificate from store
2025-07-11 17:49:57 +02:00
Timo Rothenpieler
90fa9636ef
avformat/tls_schannel: add DTLS support
2025-07-11 17:49:57 +02:00
Timo Rothenpieler
6af099522e
avformat/tls: make passing an external socket universal
2025-07-11 17:49:57 +02:00
Timo Rothenpieler
2604c86c1f
avformat/udp: add function to set remote address directly
2025-07-11 17:49:57 +02:00
Timo Rothenpieler
585cae13fa
avformat/udp: separate rx and tx fifo
2025-07-11 17:49:57 +02:00
Timo Rothenpieler
af04a27893
avformat/udp: make recv addr of each packet available
2025-07-11 17:49:57 +02:00
Timo Rothenpieler
2c7e117fe0
avformat/tls: move whip specific init out of generic tls code
2025-07-11 17:49:57 +02:00
Marvin Scholz
7c91ae9419
avformat/rtsp: check copy_tls_opts_dict
...
Properly check av_dict_set return values and propagate them to
the caller so they can be handled.
2025-07-11 16:32:05 +02:00
Marvin Scholz
c4e8ac3d0e
avformat/rtsp: use av_unreachable
2025-07-11 16:32:05 +02:00
Marvin Scholz
c425951c05
avformat/rtsp: fix misleading indentation
2025-07-11 16:32:05 +02:00
Kacper Michajłow
3334bdc6e7
avformat/scd: ensure SCD_MIN_HEADER_SIZE bytes are read
...
Instead of accessing unintialized data when input is shorter than
expected size.
Fixes use of uninitialized value in MSAN build.
Found by OSS-Fuzz.
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-07-11 01:23:58 +02:00
Marvin Scholz
82aeee3c19
avformat/rtsp: fix leak of options dict on error
...
Fix CID 1655306
Reviewed-by: Kieran Kunhya <kierank@obe.tv>
2025-07-10 13:16:08 +02:00
Marvin Scholz
0dedef1557
avformat/tls: rename accidentally changed options
...
These were accidentally renamed back to the old names in
ba9817df9d
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
2025-07-08 00:16:21 +02:00
Dawid Kozinski
219f234e07
avformat/mov: add support for APV streams
...
Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2025-07-07 13:37:24 -03:00
Marvin Scholz
d2828ab284
avformat: rtsp: export AV_PKT_DATA_RTCP_SR
2025-07-07 16:33:48 +02:00
Marvin Scholz
74aa710879
lavf: add and use AVRTCPSenderReport struct
...
This will be used in a future commit to expose the SR as side-data.
2025-07-07 16:14:02 +02:00
Marvin Scholz
e0abe0a02a
lavf/rtpdec: fix RTCP SR packet length check
...
The minimum valid packet length is 28, given that the length includes
the packet header.
This didn't cause any issues so far as the code did not care about the
last two fields in the SR section, but will be relevant in a future
commit.
2025-07-07 16:14:02 +02:00
Marvin Scholz
019ca5f013
avformat/tls_openssl: use SSL_CTX_set_min_proto_version
...
Using SSL_CTX_set_options to disallow specific versions is
discouraged by the documentation, which recommends to use
SSL_CTX_set_min_proto_version instead.
2025-07-07 01:52:47 +02:00
Marvin Scholz
fb38d8759b
avformat/tls_openssl: use TLS_[client|server]_method
...
SSLv23_*_method was just a define for these anyway since OpenSSL 1.1.0
and the old functions are deprecated.
2025-07-07 01:52:47 +02:00
Marvin Scholz
aaffa9bc72
avformat/tls_openssl: remove unnecessary checks
...
Calling av_free with NULL is a no-op so this check is not needed.
2025-07-07 01:52:46 +02:00
Marvin Scholz
3abc8d507b
avformat/tls_openssl: remove leftover comment
2025-07-07 01:52:46 +02:00
Marvin Scholz
816dad231f
avformat/tls_openssl: properly get new BIO index
...
As noted in the OpenSSL documentation, BIO_get_new_index must be
used to get a new BIO index. This is ORd with the proper type flag
BIO_TYPE_SOURCE_SINK.
2025-07-07 01:52:46 +02:00
Marvin Scholz
1702becd64
avformat/tls_openssl: remove now unnecessary define
...
This was used previously when multiple OpenSSL versions were supported
that required this to be handled differently.
2025-07-07 01:52:46 +02:00
Marvin Scholz
f0913b3f16
avformat: tls: drop support for OpenSSL < 1.1.0
2025-07-07 01:52:46 +02:00
Daniel N Pettersson
e1ef33d361
avformat/rtsp: add TLS options
...
Add TLS options to RTSP for when TLS is used for the lower protocol.
Signed-off-by: Marvin Scholz <epirat07@gmail.com>
Co-authored-by: Marvin Scholz <epirat07@gmail.com>
2025-07-07 01:45:10 +02:00
Marvin Scholz
ba9817df9d
avformat/tls: move common client options into their own define
...
Used in a future commit to not duplicate options.
2025-07-07 01:45:07 +02:00
Ken McGaugh
30043cc167
avformat/mov: allowing custom udta atoms to pass through their values correctly when export_all option specified.
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-07-05 21:05:56 +02:00
Peter Ross
0fe9f25e76
avcodec/adpcm: Sanyo LD-ADPCM decoder
2025-07-04 17:07:53 +10:00