[FFmpeg-trac] #8466(avformat:new): av_url_split violates RFC2396, fails to parse URLs
FFmpeg
trac at avcodec.org
Fri Jan 10 09:38:43 EET 2020
#8466: av_url_split violates RFC2396, fails to parse URLs
-------------------------------------+------------------------------------
Reporter: aitte | Owner:
Type: defect | Status: new
Priority: normal | Component: avformat
Version: unspecified | Resolution:
Keywords: http | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+------------------------------------
Comment (by aitte):
Alright. Here's the latest Git build's output:
{{{
INCORRECTLY PARSED BY FFMPEG:
$ ffmpeg -i "https://key.vscdns.com?key_id=2&model_id=991011&&access_key="
ffmpeg version git-2020-01-10-3ea7057 Copyright (c) 2000-2020 the FFmpeg
developers
built with gcc 9.2.1 (GCC) 20191125
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-
fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-
libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr
--enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack
--enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2
--enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-
libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa
--enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx
--enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc
--enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
--enable-amf
libavutil 56. 38.100 / 56. 38.100
libavcodec 58. 65.102 / 58. 65.102
libavformat 58. 35.101 / 58. 35.101
libavdevice 58. 9.103 / 58. 9.103
libavfilter 7. 70.101 / 7. 70.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
[https @ 00000229894b92c0] HTTP error 400 Bad Request
https://key.vscdns.com?key_id=2&model_id=991011&&access_key=: Server
returned 400 Bad Request
MANUALLY REWRITTEN TO MAKE FFMPEG UNDERSTAND:
$ ffmpeg -i "https://key.vscdns.com?key_id=2&model_id=991011&&access_key="
ffmpeg version git-2020-01-10-3ea7057 Copyright (c) 2000-2020 the FFmpeg
developers
built with gcc 9.2.1 (GCC) 20191125
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-
fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-
libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr
--enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack
--enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2
--enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-
libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa
--enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx
--enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc
--enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
--enable-amf
libavutil 56. 38.100 / 56. 38.100
libavcodec 58. 65.102 / 58. 65.102
libavformat 58. 35.101 / 58. 35.101
libavdevice 58. 9.103 / 58. 9.103
libavfilter 7. 70.101 / 7. 70.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
[https @ 00000205c0b592c0] HTTP error 403 Forbidden
https://key.vscdns.com/?key_id=2&model_id=991011&&access_key=: Server
returned 403 Forbidden (access denied)
}}}
My previous reply above has located the bug to both the URL parser (it can
be fixed in there), and the HTTP GET connection library (it can be fixed
there too). Where it's fixed doesn't matter, and it would be most trivial
to fix it via the URL parser (av_url_split).
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8466#comment:3>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list