Commit Graph

22436 Commits

Author SHA1 Message Date
Jonatan Schlag
1579e8b3fc tests/lib.sh: Add logging functions
So we can change the style of our log messages better.

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-24 12:19:56 +00:00
Jonatan Schlag
035f866d75 tests/lib.sh: Add check if variable exists to test_value_in_array
We cannot use [ -v ] here as this does not work. We need to check if the
array is correctly declared.

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-24 12:19:56 +00:00
Jonatan Schlag
dae8a08086 tests/lib.sh: Add function test_value_in_array
Test if a given array has the specified value stored under key.

! does not work here to access the array by variable name. So the solution here is:
https://unix.stackexchange.com/questions/60584/how-to-use-a-variable-as-part-of-an-array-name/60585#60585

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-24 12:19:56 +00:00
Jonatan Schlag
6f4e782356 tests: Add bash lib
This allows use to write test with less effort as we can reuse functions

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-24 12:19:56 +00:00
Adolf Belka
b7f2cb0a44 shairport-sync: Ship due to sobump from ffmpeg update
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 10:01:06 +00:00
Adolf Belka
a885661eb3 mpd: Ship due to sobump from ffmpeg update
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 10:01:06 +00:00
Adolf Belka
c48dfb2d8f minidlna: Add patch to add compatibility with ffmpeg-7.0
- From ffmpeg-7.0 the channel_layout variable has been changed to ch_layout. A minidlna
   user has submitted a patch to minidlna in May 2024 to fix this. Without this patch
   minidlna fails to build with ffmpeg-7.0 onwards.
- The patch has not yet been merged with minidlna (last commit was in May 2023) so I have
   taken the patch and applied it to the minidlna source tarball.
- Update of rootfile not required

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 10:01:06 +00:00
Adolf Belka
ba6d6014ff ffmpeg: Update to version 7.0.2
- Update from version 6.0 to 7.0.2
- Removal of mathpops patch as content now included in source tarball.
- Update of rootfile
- sobump means that mpd, shairport-sync and minidlna need to be shipped
- minidlna also requires an update due to a variable name change from ffmpeg-7.0 onwards
- Changelog
    7.0.2
	 avcodec/snow: Fix off by 1 error in run_buffer
	 avcodec/utils: apply the same alignment to YUV410 as we do to YUV420 for snow
	 avformat/iamf_parse: Check for 0 samples
	 swscale: [loongarch] Fix checkasm-sw_yuv2rgb failure.
	 avcodec/aacps_tablegen_template: don't redefine CONFIG_HARDCODED_TABLES
	 avutil/hwcontext_vaapi: use the correct type for VASurfaceAttribExternalBuffers.buffers
	 avcodec/pcm-bluray/dvd: Use correct pointer types on BE
	 avcodec/pngenc: fix sBIT writing for indexed-color PNGs
	 avcodec/pngdec: use 8-bit sBIT cap for indexed PNGs per spec
	 avformat/mov: check that child boxes of trak are only present inside it
	 avformat/mov: check that sample and chunk count is 1 for HEIF
	 avcodec/videotoolboxenc: Fix bitrate doesn't work as expected
	 avdevice/dshow: Don't skip audio devices if no video device is present
	 avcodec/hdrenc: Allocate more space
	 avcodec/cfhdenc: Height of 16 is not supported
	 avcodec/cfhdenc: Allocate more space
	 avcodec/osq: fix integer overflow when applying factor
	 avcodec/osq: avoid using too large numbers for shifts and integers in update_residue_parameter()
	 avcodec/vaapi_encode: Check hwctx
	 avcodec/proresdec: Consider negative bits left
	 avcodec/alsdec: Clear shift_value
	 avcodec/hevc/hevcdec: Do not allow slices to depend on failed slices
	 avformat/mov: add an EOF check in IPRP
	 avfilter/vf_xfade: Check ff_inlink_consume_frame() for failure
	 avutil/slicethread: Check pthread_*_init() for failure
	 avutil/frame: Check log2_crop_align
	 avutil/buffer: Check ff_mutex_init() for failure
	 avformat/xmv: Check this_packet_size
	 avformat/webpenc: Check filesize in trailer
	 avformat/ty: rec_size seems to only need 32bit
	 avformat/tty: Check avio_size()
	 avformat/siff: Basic pkt_size check
	 avformat/sauce: Check avio_size() for failure
	 avformat/sapdec: Check ffurl_get_file_handle() for error
	 avformat/nsvdec: Check asize for PCM
	 avformat/mp3dec: Check header_filesize
	 avformat/mp3dec; Check for avio_size() failure
	 avformat/mov: Use 64bit for str_size
	 avformat/mm: Check length
	 avformat/hnm: Check *chunk_size
	 avformat/hlsenc: Check ret
	 avformat/bintext: Check avio_size() return
	 avformat/asfdec_o: Check size of index object
	 avfilter/vf_scale: Check ff_scale_adjust_dimensions() for failure
	 avfilter/scale_eval: Use 64bit, check values in ff_scale_adjust_dimensions()
	 avfilter/vf_lut3d: Check av_scanf()
	 avfilter/vf_elbg: Use unsigned for shifting into the top bit
	 avfilter/vf_premultiply: Use AV_PIX_MAX_PLANES
	 avfilter/vf_deshake_opencl: Ensure that the first iteration initializes the best variables
	 avformat/iamf_parse: Check for negative sample sizes
	 swscale/output: Fix integer overflows in yuv2rgba64_X_c_template
	 avformat/mxfdec: Reorder elements of expression in bisect loop
	 avutil/timecode: Use a 64bit framenum internally
	 avcodec/pnmdec: Use 64bit for input size check
	 avformat/mov: Check extradata in mov_read_iacb()
	 avcodec/mpeg12enc: Use av_rescale() in vbv_buffer_size computation
	 avcodec/utvideoenc: Use unsigned shift to build flags
	 avcodec/j2kenc: Merge dwt_norm into lambda
	 avcodec/vc2enc: Fix overflows with storing large values
	 avcodec/mpegvideo_enc: Do not duplicate pictures on shifting
	 avdevice/dshow_capture: Fix error handling in ff_dshow_##prefix##_Create()
	 avcodec/tiff: Check value on positive signed targets
	 avfilter/vf_convolution_opencl: Assert that the filter name is one of the filters
	 avfilter/vf_bm3d: Dont round MSE2SSE to an integer
	 avdevice/dshow: Remove NULL check on pin
	 avdevice/dshow: check ff_dshow_pin_ConnectionMediaType() for failure
	 avdevice/dshow: Check device_filter_unique_name before use
	 avdevice/dshow: Cleanup also on av_log case
	 avdevice/dshow_filter: Use wcscpy_s()
	 avcodec/flac_parser: Assert that we do not overrun the link_penalty array
	 avcodec/osq: avoid signed overflow in downsample path
	 avcodec/pixlet: Simplify pfx computation
	 avcodec/motion_est: Fix score squaring overflow
	 avcodec/mlpenc: Use 64 for ml, mr
	 avcodec/loco: Check loco_get_rice() for failure
	 avcodec/loco: check get_ur_golomb_jpegls() for failure
	 avcodec/leaddec: Check init_get_bits8() for failure
	 avcodec/imm4: check cbphi for error
	 avcodec/iff: Use signed count
	 avcodec/golomb: Assert that k is in the supported range for get_ur/sr_golomb()
	 avcodec/golomb: Document return for get_ur_golomb_jpegls() and get_sr_golomb_flac()
	 avcodec/dxv: Fix type in get_opcodes()
	 avcodec/cri: Check length
	 avcodec/xsubdec: Check parse_timecode()
	 avutil/imgutils: av_image_check_size2() ensure width and height fit in 32bit
	 avfilter/vf_tiltandshift: Free dst on error
	 doc/examples/mux: remove nop
	 avcodec/proresenc_kostya: use unsigned alpha for rotation
	 avformat/rtpenc_rfc4175: Use 64bit in computation if copy_offset
	 avformat/rtmpproto: Use AV_DICT_MATCH_CASE instead of litteral number
	 avformat/rtmppkt: Simplify and deobfuscate amf_tag_skip() slightly
	 avformat/rmdec: use 64bit for audio_framesize checks
	 avutil/wchar_filename: Correct sizeof
	 avutil/hwcontext_d3d11va: correct sizeof IDirect3DSurface9
	 avutil/hwcontext_d3d11va: Free AVD3D11FrameDescriptor on error
	 avutil/hwcontext_d3d11va: correct sizeof AVD3D11FrameDescriptor
	 avcodec/vvc/refs: Use unsigned mask
	 doc/examples/vaapi_encode: Try to check fwrite() for failure
	 avformat/usmdec: Initialize value
	 avformat/tls_schannel: Initialize ret
	 avformat/subfile: Assert that whence is a known case
	 avformat/subfile: Merge if into switch()
	 avformat/rtsp: Check that lower transport is handled in one of the if()
	 avformat/rtsp: initialize reply1
	 avformat/rtsp: use < 0 for error check
	 avformat/rtpenc_vc2hq: Check sizes
	 avfilter/af_aderivative: Free out on error
	 swscale/swscale: Use ptrdiff_t for linesize computations
	 avfilter/af_amerge: Cleanup on av_channel_layout_copy() failure
	 avfilter/af_afir: Assert format
	 avfilter/af_afftdn: Assert format
	 avfilter/af_pan: check nb_output_channels before use
	 cbs_av1: Reject thirty-two zero bits in uvlc code
	 avfilter/af_mcompand: compute half frequency in double
	 avfilter/af_channelsplit: Assert that av_channel_layout_channel_from_index() succeeds
	 avfilter/af_aresample: Cleanup on av_channel_layout_copy() failure
	 tools/coverity: Phase 1 study of anti-halicogenic for coverity av_rescale()
	 avfilter/vf_avgblur: Check plane instead of AVFrame
	 avfilter/drawutils: Fix depthb computation
	 avfilter/avf_showcwt: Check av_parse_video_rate() for failure
	 avformat/rdt: Check pkt_len
	 avformat/mpeg: Check len in mpegps_probe()
	 avformat/mxfenc: resurrects the error print
	 avdevice/dshow: Check ICaptureGraphBuilder2_SetFiltergraph() for failure
	 avcodec/mfenc: check IMFSample_ConvertToContiguousBuffer() for failure
	 avcodec/vc1_loopfilter: Factor duplicate code in vc1_b_h_intfi_loop_filter()
	 avcodec/vvc/ctu: Remove dead ret check
	 avcodec/vvc/dec: Remove constant eos_at_start
	 avformat/img2dec: assert no pipe on ts_from_file
	 avcodec/cbs_jpeg: Try to move the read entity to one side in a test
	 fftools/ffplay: Check vulkan_params
	 fftools/ffmpeg_enc: Initialize Decoder
	 fftools/ffmpeg_enc: Initialize fd
	 fftools/ffmpeg_enc: simplify opaque_ref check
	 avformat/mov: Check edit list for overflow
	 fftools/ffmpeg: Check read() for failure
	 avcodec/vvc/dec: Check ff_init_cabac_decoder() for failure
	 swscale/output: Avoid undefined overflow in yuv2rgb_write_full()
	 swscale/output: alpha can become negative after scaling, use multiply
	 avcodec/targaenc: Allocate space for the palette
	 avcodec/r210enc: Use av_rescale for bitrate
	 avcodec/jfdctint_template: Fewer integer anomalies
	 avcodec/snowenc: MV limits due to mv_penalty table size
	 tools/target_dec_fuzzer: Adjust threshold for MV30
	 tools/target_dec_fuzzer: Adjust threshold for jpeg2000
	 avformat/mxfdec: Check container_ul->desc before use
	 avcodec/libvpxenc: Cleanup on error
	 doc/developer: Provide information about git send-email and gmail
	 avfilter/vf_rotate: Check ff_draw_init2() return value
	 avformat/mov: Use int64_t in intermediate for corrected_dts
	 avformat/mov: Use 64bit in intermediate for current_dts
	 avformat/matroskadec: Assert that num_levels is non negative
	 avformat/libzmq: Check av_strstart()
	 avformat/img2dec: Little JFIF / Exif cleanup
	 avformat/img2dec: Move DQT after unrelated if()
	 avformat/imfdec: Simplify get_next_track_with_minimum_timestamp()
	 avdevice/xcbgrab: Check sscanf() return
	 fftools/cmdutils: Add protective () to FLAGS
	 avformat/sdp: Check before appending ","
	 avcodec/libx264: Check init_get_bits8() return code
	 avcodec/ilbcdec: Remove dead code
	 avcodec/vp8: Check cond init
	 avcodec/vp8: Check mutex init
	 avcodec/proresenc_anatoliy: Assert that AV_PROFILE_UNKNOWN is replaced
	 avcodec/pcm-dvdenc: 64bit pkt-size
	 avcodec/notchlc: Check init_get_bits8() for failure
	 avcodec/tests/dct: Use 64bit in intermediate for error computation
	 avcodec/scpr3: Check add_dec() for failure
	 avcodec/rv34: assert that size is not 0 in rv34_gen_vlc_ext()
	 avcodec/wavpackenc: Use unsigned for potential 31bit shift
	 avcodec/vvc/mvs: Initialize mvf
	 avcodec/tests/jpeg2000dwt: Use 64bit in comparission
	 avcodec/tests/jpeg2000dwt: Use 64bit in err2 computation
	 avformat/fwse: Remove always false expression
	 avcodec/sga: Make it clear that the return is intentionally not checked
	 avformat/asfdec_f: Use 64bit for preroll computation
	 avformat/argo_asf: Use 64bit in offset intermediate
	 avformat/ape: Use 64bit for final frame size
	 avformat/ac4dec: Check remaining space in ac4_probe()
	 avdevice/pulse_audio_enc: Use av_rescale() to avoid integer overflow
	 avcodec/vlc: Cleanup on multi table alloc failure in ff_vlc_init_multi_from_lengths()
	 avcodec/tiff: Assert init_get_bits8() success in unpack_gray()
	 avcodec/tiff: Assert init_get_bits8() success in horizontal_fill()
	 tools/decode_simple: Check avcodec_send_packet() for errors on flushing
	 swscale/yuv2rgb: Use 64bit for brightness computation
	 swscale/x86/swscale: use a clearer name for INPUT_PLANER_RGB_A_FUNC_CASE
	 avutil/tests/opt: Check av_set_options_string() for failure
	 avutil/tests/dict: Check av_dict_set() before get for failure
	 avdevice/dshow: fix badly indented line
	 avformat/demux: resurrect dead stores
	 avcodec/tests/bitstream_template: Assert bits_init8() return
	 tools/enc_recon_frame_test: Assert that av_image_get_linesize() succeeds
	 avformat/iamf_writer: disallow Opus extradata with mapping family other than 0
	 avformat/iamf_parse: sanitize audio_roll_distance values
	 avformat/iamf: byteswap values in OpusHeader
	 avformat/iamf: rename Codec Config seek_preroll to audio_roll_distance
	 avformat/iamf_writer: fix coded audio_roll_distance values
	 avformat/iamf_writer: fix PCM endian-ness flag
	 avformat/movenc: fix channel count and samplerate fields for IAMF tracks
	 avformat/iamf_parse: keep substream count consistent
	 avformat/iamf_parse: add missing padding to AAC extradata
	 avformat/iamf_parse: 0 layers are not allowed
	 avformat/iamf_parse: consider nb_substreams when accessing substreams array
	 avformat/iamf_parse: Remove dead case
	 avcodec/png: more informative error message for invalid sBIT size
	 avcodec/pngdec: avoid erroring with sBIT on indexed-color images
	 avfilter/vf_tiltandshift: fix buffer offset for yuv422p input
	 avutil/timestamp: avoid possible FPE when 0 is passed to av_ts_make_time_string2()
	 avformat/mov: add more checks for infe atom size
	 avformat/mov: check for EOF inside the infe list parsing loop
	 avformat/mov: check extent_offset calculation for overflow
	 avformat/mov: check that iloc offset values fit on an int64_t
	 avcodec/pngenc: fix mDCv typo
	 avcodec/pngdec: fix mDCv typo
	 avcodec/nvenc: fix segfault in intra-only mode
	 avdevice/avfoundation: add external video devices
	 aarch64: Add OpenBSD runtime detection of dotprod and i8mm using sysctl
	 fftools/ffplay_renderer: use correct NULL value for Vulkan type
	 qsv: Initialize impl_value
	 avutil/hwcontext_qsv: fix GCC 14.1 warnings
	 avcodec/mediacodecenc: workaround the alignment requirement for H.265
	 avcodec/mediacodecenc: workaround the alignment requirement only for H.264
	 lavc/lpc: fix off-by-one in R-V V compute_autocorr
	 lavc/vp9: reset segmentation fields when segmentation isn't enabled
	 configure: enable ffnvcodec, nvenc, nvdec for FreeBSD
	 lavc/sbrdsp: fix potential overflow in noise table
    7.0.1
	 lavc/flacdsp: do not assume maximum R-V VL
	 avformat/flacdec: Reorder allocations to avoid leak on error
	 avcodec/adts_parser: Don't presume buffer to be padded
	 avformat/movenc: Check av_malloc()
	 avcodec/vp8: Return error on error
	 avformat/mov: store sample_sizes as unsigned ints
	 avformat/vvc: fix parsing sps_subpic_id
	 avformat/vvc: initialize some ptl flags
	 avcodec/mscc & mwsc: Check loop counts before use
	 avcodec/mpegvideo_enc: Fix potential overflow in RD
	 avcodec/mpeg4videodec: assert impossible wrap points
	 avcodec/mpeg12dec: Use 64bit in bit computation
	 avcodec/vqcdec: Check init_get_bits8() for failure
	 avcodec/vvc/dec: Check init_get_bits8() for failure
	 avcodec/vble: Check av_image_get_buffer_size() for failure
	 avcodec/vp3: Replace check by assert
	 avcodec/vp8: Forward return of ff_vpx_init_range_decoder()
	 avcodec/jpeg2000dec: remove ST=3 case
	 avcodec/qsvdec: Check av_image_get_buffer_size() for failure
	 avcodec/exr: Fix preview overflow
	 avcodec/decode: decode_simple_internal() only implements audio and video
	 avcodec/fmvc: remove dead assignment
	 avcodec/h2645_sei: Remove dead checks
	 avcodec/h264_slice: Remove dead sps check
	 avcodec/lpc: copy levenson coeffs only when they have been computed
	 avutil/tests/base64: Check with too short output array
	 libavutil/base64: Try not to write over the array end
	 avcodec/cbs_av1: Avoid shift overflow
	 fftools/ffplay: Check return of swr_alloc_set_opts2()
	 tools/opt_common: Check for malloc failure
	 doc/examples/demux_decode: Simplify loop
	 avformat/concatdec: Check file
	 avcodec/mpegvideo_enc: Fix 1 line and one column images
	 avcodec/amrwbdec: assert mode to be valid in decode_fixed_vector()
	 avcodec/wavarc: fix integer overflow in decode_5elp() block type 2
	 swscale/output: Fix integer overflow in yuv2rgba64_full_1_c_template()
	 swscale/output: Fix integer overflow in yuv2rgba64_1_c_template
	 avcodec/av1dec: Change bit_depth to int
	 avcodec/av1dec: bit_depth cannot be another values than 8,10,12
	 avcodec/avs3_parser: assert the return value of init_get_bits()
	 avcodec/avs2_parser: Assert init_get_bits8() success with const size 15
	 avfilter/avfiltergraph: return value of ff_request_frame() is unused
	 avformat/mxfdec: Check body_offset
	 avformat/kvag: Check sample_rate
	 avcodec/atrac9dec: Check init_get_bits8() for failure
	 avcodec/ac3_parser: Check init_get_bits8() for failure
	 avcodec/pngdec: Check last AVFrame before deref
	 avcodec/hevcdec: Check ref frame
	 doc/examples/qsv_transcode: Initialize pointer before free
	 doc/examples/qsv_transcode: Simplify str_to_dict() loop
	 doc/examples/vaapi_transcode: Simplify loop
	 doc/examples/qsv_transcode: Simplify loop
	 avcodec/cbs_h2645: Check NAL space
	 avfilter/vf_thumbnail_cuda: Set ret before checking it
	 avfilter/signature_lookup: Dont copy uninitialized stuff around
	 avfilter/signature_lookup: Fix 2 differences to the refernce SW
	 avcodec/x86/vp3dsp_init: Set correct function pointer, fix crash
	 avformat/mp3dec: change bogus error message if read_header encounters EOF
	 avformat/mp3dec: simplify inner frame size check in mp3_read_header
	 avformat/mp3dec: only call ffio_ensure_seekback once
	 avcodec/cbs_h266: read vps_ptl_max_tid before using it
	 avcodec/cbs_h266: fix sh_collocated_from_l0_flag and sh_collocated_ref_idx infer
	 avformat/vvc: fix parsing some early VPS bitstream values
	 avformat/vvc: fix writing general_constraint_info bytes
	 avutil/ppc/cpu: Also use the machdep.altivec sysctl on NetBSD
	 lavd/v4l2: Use proper field type for second parameter of ioctl() with BSD's
	 vulkan_av1: Fix force_integer_mv value
	 vaapi_av1: Fix force_integer_mv value
	 av1dec: Add force_integer_mv derived field for decoder use
	 avutil/iamf: fix offsets for mix_gain options
	 avformat/iamfdec: check nb_streams in header read
	 avformat/mov: free the infe allocated item data on failure
	 avformat/iamf_writer: reject duplicated stream ids in a stream group
	 avformat/mov: don't read key_size bytes twice in the keys atom
	 avformat/mov: take into account the first eight bytes in the keys atom
	 avformat/mov: fix the check for the heif item parsing loop
	 avutil/iamf: fix mix_gain_class name
	 av1dec: Fix RefFrameSignBias calculation
	 avcodec/codec_par: always clear extradata_size in avcodec_parameters_to_context()
	 avcodec/mediacodecenc: Fix return empty packet when bsf is used
	 avcodec/hevcdec: Fix precedence, bogus film grain warning
	 avcodec/hevcdec: fix segfault on invalid film grain metadata
	 lavc/vvc: Skip enhancement layer NAL units
	 avformat/mov: ignore old infe box versions
	 vulkan_av1: add workaround for NVIDIA drivers tested on broken CTS
	 lavc/vulkan_av1: Use av1dec reference order hint information
	 lavc/av1: Record reference ordering information for each frame
	 doc/encoders: add missing libxvid option
	 doc/encoders: remove non-existent flag
	 fate/ffmpeg: Avoid dependency on samples
	 avcodec/wavpack: Remove always-false check
	 avcodec/wavpack: Fix leak and segfault on reallocation error
	 avcodec/lossless_videoencdsp: Don't presume alignment in diff_bytes
	 avcodec/ppc/h264dsp: Fix left shifts of negative numbers
    7.0
	- DXV DXT1 encoder
	- LEAD MCMP decoder
	- EVC decoding using external library libxevd
	- EVC encoding using external library libxeve
	- QOA decoder and demuxer
	- aap filter
	- demuxing, decoding, filtering, encoding, and muxing in the
	  ffmpeg CLI now all run in parallel
	- enable gdigrab device to grab a window using the hwnd=HANDLER syntax
	- IAMF raw demuxer and muxer
	- D3D12VA hardware accelerated H264, HEVC, VP9, AV1, MPEG-2 and VC1 decoding
	- tiltandshift filter
	- qrencode filter and qrencodesrc source
	- quirc filter
	- lavu/eval: introduce randomi() function in expressions
	- VVC decoder (experimental)
	- fsync filter
	- Raw Captions with Time (RCWT) closed caption muxer
	- ffmpeg CLI -bsf option may now be used for input as well as output
	- ffmpeg CLI options may now be used as -/opt <path>, which is equivalent
	  to -opt <contents of file <path>>
	- showinfo bitstream filter
	- a C11-compliant compiler is now required; note that this requirement
	  will be bumped to C17 in the near future, so consider updating your
	  build environment if it lacks C17 support
	- Change the default bitrate control method from VBR to CQP for QSV encoders.
	- removed deprecated ffmpeg CLI options -psnr and -map_channel
	- DVD-Video demuxer, powered by libdvdnav and libdvdread
	- ffprobe -show_stream_groups option
	- ffprobe (with -export_side_data film_grain) now prints film grain metadata
	- AEA muxer
	- ffmpeg CLI loopback decoders
	- Support PacketTypeMetadata of PacketType in enhanced flv format
	- ffplay with hwaccel decoding support (depends on vulkan renderer via libplacebo)
	- dnn filter libtorch backend
	- Android content URIs protocol
	- AOMedia Film Grain Synthesis 1 (AFGS1)
	- RISC-V optimizations for AAC, FLAC, JPEG-2000, LPC, RV4.0, SVQ, VC1, VP8, and more
	- Loongarch optimizations for HEVC decoding
	- Important AArch64 optimizations for HEVC
	- IAMF support inside MP4/ISOBMFF
	- Support for HEIF/AVIF still images and tiled still images
	- Dolby Vision profile 10 support in AV1
	- Support for Ambient Viewing Environment metadata in MP4/ISOBMFF
	- HDR10 metadata passthrough when encoding with libx264, libx265, and libsvtav1
    6.1
	- libaribcaption decoder
	- Playdate video decoder and demuxer
	- Extend VAAPI support for libva-win32 on Windows
	- afireqsrc audio source filter
	- arls filter
	- ffmpeg CLI new option: -readrate_initial_burst
	- zoneplate video source filter
	- command support in the setpts and asetpts filters
	- Vulkan decode hwaccel, supporting H264, HEVC and AV1
	- color_vulkan filter
	- bwdif_vulkan filter
	- nlmeans_vulkan filter
	- RivaTuner video decoder
	- xfade_vulkan filter
	- vMix video decoder
	- Essential Video Coding parser, muxer and demuxer
	- Essential Video Coding frame merge bsf
	- bwdif_cuda filter
	- Microsoft RLE video encoder
	- Raw AC-4 muxer and demuxer
	- Raw VVC bitstream parser, muxer and demuxer
	- Bitstream filter for editing metadata in VVC streams
	- Bitstream filter for converting VVC from MP4 to Annex B
	- scale_vt filter for videotoolbox
	- transpose_vt filter for videotoolbox
	- support for the P_SKIP hinting to speed up libx264 encoding
	- Support HEVC,VP9,AV1 codec in enhanced flv format
	- apsnr and asisdr audio filters
	- OSQ demuxer and decoder
	- Support HEVC,VP9,AV1 codec fourcclist in enhanced rtmp protocol
	- CRI USM demuxer
	- ffmpeg CLI '-top' option deprecated in favor of the setfield filter
	- VAAPI AV1 encoder
	- ffprobe XML output schema changed to account for multiple
	  variable-fields elements within the same parent element
	- ffprobe -output_format option added as an alias of -of

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 10:01:06 +00:00
Michael Tremer
290e8b5a99 core189: Ship sysvinit
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 10:00:00 +00:00
Adolf Belka
b673eaeba7 sysvinit: Update to version 3.10
- Update from version 3.08 to 3.10
- Update of rootfile not required
- Renamed build_mountpoint patch
- Changelog
    3.10
	When the user executes "machinectl stop", systemd sends SIGRTMIN+4 to PID 1
	 in the container, and expects that to initiate a graceful shutdown
	 (power-off). SysV init now catches this signal and initiates a shutdown
	 (shutdown -hP now).
	Fix issue in bootlogd which could cause the service to enter an endless loop
	 (and use too much CPU) when it is able to open a device for writing, but not
	 actually able to write to it. This resulted in bootlogd closing and
	 re-opening the device over and over. Now bootlogd should simply fail
	 gracefully when it cannot write to an open file/device.
	Fix formatting in shutdown.8 manual page. Cleaned up whitespace and special
	 characters.
    3.09
	On Linux distributions which use the musl C library (instead of glibc) we can now
	 build properly. Specifically, the hddown helper program now builds on musl C
	 systems.
	The reboot command is now able to pass messages to the underlying firmware on
	 Linux systems during a reboot. This allows the admin to pass information to the
	 underlying firmware to, for example, ask the system to boot from another
	 partition. Should be helpful on Raspberry Pi systems.
	 The reboot command can pass a message to the firmware when using the "-m"
	 command line flag.
	This release also improves the Makefile's clean directive.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 09:59:24 +00:00
Michael Tremer
9f029c8e08 core189: Ship suricata because of the updated Rust compiler
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 09:58:58 +00:00
Adolf Belka
34b3e9a0a2 rust: Update to version 1.80.1
- Update from version 1.67.0 to 1.80.1
- Update of rootfile (x86_64 & aarch64)
- Changelog is too large to include here. There are more than 1000 lines from 1.67.0 to
   1.80.1
   Details can be found at https://doc.rust-lang.org/stable/releases.html

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 09:58:25 +00:00
Michael Tremer
ae330c5074 core189: Ship p11-kit
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 09:58:15 +00:00
Adolf Belka
c26ea9ee01 p11-kit: Update to version 0.25.5
- Update from version 0.25.3 to 0.25.5
- Update of rootfile
- Changelog
    0.25.5
	* iter: fix recursive attribute loading [PR#642]
	* fix building on FreeBSD 14.0 (amd64) [PR#644]
	* test fix [PR#645]
    0.25.4
	* rpc: add support for recursive attributes [PR#624, PR#629, PR#631, PR#633]
	* p11-kit: add function to check run-time version of the library [PR#637]
	* p11-kit: expose version information through macros [PR#635]
	* p11-kit: add option to specify CKA_ID in generate-keypair and import-object
	  commands [PR#615]
	* p11-kit: add --provider option to specify PKCS#11 module when using p11-kit
	  commands [PR#611]
	* p11-kit: fix a bug where eddsa mechanism isn't recognized in generate-keypair
	  [PR#617]
	* p11-kit: fallback to C_GetFunctionList when C_GetInterface returns
	  CKR_FUNCTION_NOT_SUPPORTED [PR#622]
	* bug and build fixes [PR#603, PR#604, PR#605, PR#606, PR#609, PR#614, PR#616,
	  PR#619, PR#627, PR#628, PR#632, PR#636, PR#639]

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 09:58:07 +00:00
Michael Tremer
7648f3afe4 core189: Ship GnuTLS
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 09:57:55 +00:00
Adolf Belka
c5fe41d3f9 gnutls: Update to version 3.8.7
- Update from version 3.8.5 to 3.8.7
- Update of rootfile
- Changelog
    3.8.7
	** libgnutls: New configure option to compile out DSA support
	   The --disable-dsa configure option has been added to completely disable DSA
	   algorithm support.
	** libgnutls: Experimental support for X25519Kyber768Draft00 key exchange in TLS
	   For testing purposes, the hybrid post-quantum key exchange defined
	   in draft-tls-westerbaan-xyber768d00 has been implemented using
	   liboqs. Since the algorithm is still not finalized, the support of
	   this key exchange is disabled by default and can be enabled with
	   the --with-liboqs configure option.
    3.8.6
	** libgnutls: PBMAC1 is now supported as a MAC mechanism for PKCS#12
	   To be compliant with FIPS 140-3, PKCS#12 files with MAC based on
	   PBKDF2 (PBMAC1) is now supported, according to the specification
	   proposed in draft-ietf-lamps-pkcs12-pbmac1.
	** libgnutls: SHA3 extendable output functions (XOF) are now supported
	   SHA3 XOF, SHAKE128 and SHAKE256, are now usable through a new
	   public API gnutls_hash_squeeze.
	** API and ABI modifications:
		gnutls_pkcs12_generate_mac3: New function
		gnutls_pkcs12_flags_t: New enum
		gnutls_hash_squeeze: New function

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 09:57:36 +00:00
Adolf Belka
f093cb3fbe binutils: Update to version 2.43
- Update from version 2.42 to 2.43
- Update of rootfile (x86_64 & aarch64)
- Changelog
    2.43
	* Update copyright years
	* config.sub: recognize nanoMIPS CPUs
	* config.guess: recognize ironclad OS
	* config.sub: recognize ironclad OS
	* config.sub: recognize *-*-uefi
	* Recognize the VideoCore 4 processor
	* config.guess: detect LLVM-libc via features.h
	* config.sub: add LLVM-libc support
	* .pre-commit-config.yaml: Bump black hook to 24.3.0
	* .pre-commit-config.yaml: New.
	* Makefile.def: Add configure-gdbserver and all-gdbserver
	  dependencies on all-libiconv.
	* Makefile.in: Re-generate.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 09:57:09 +00:00
Michael Tremer
76ffe6380c core189: Ship the new toolchain
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 09:56:55 +00:00
Michael Tremer
fb0aac9beb Start Core Update 189
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 09:53:22 +00:00
Michael Tremer
d1f7d501c1 Merge remote-tracking branch 'ms/toolchain-2024-08-02' into next 2024-08-23 09:51:19 +00:00
Michael Tremer
5be3501e7c make.sh: Integrate the rootfile consistency check
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 09:50:39 +00:00
Michael Tremer
deb9501433 make.sh: Refactor the broken rootfile check
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 09:33:31 +00:00
Michael Tremer
cc4a17f46c Run "./make.sh lang"
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 09:22:17 +00:00
Michael Tremer
787d9428af make.sh: Fix printing the total build time
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-23 09:19:49 +00:00
Michael Tremer
2b4d457c2f Revert "make.sh: Swap mount propagation"
This reverts commit f3c360cd6e.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 14:36:11 +00:00
Michael Tremer
9a07118b71 make.sh: Remove the brackets from build options
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 14:29:58 +00:00
Michael Tremer
0e2cf06a8c core188: Ship suricata and arping because of SO bump in libnet
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 14:17:58 +00:00
Michael Tremer
9207afd883 core188: Ship lang.pl
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 16:17:22 +02:00
Michael Tremer
d7eb312d0f guardian.cgi: Use the new service widget
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 16:14:40 +02:00
Michael Tremer
17ef83f223 header.pl: Fix language loading
We have been importing the language files many times when they are
actually rather slow. This just tidies this up.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 16:02:42 +02:00
Michael Tremer
ba8a6d83bd header.pl: Remove an unused variable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 16:02:13 +02:00
Michael Tremer
a561a1d866 lang.pl: Fix all sorts of whitespace issues
No functional changes.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 16:01:40 +02:00
Michael Tremer
cc0304b7bd index.cgi: Improve the warning box
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 15:47:08 +02:00
Michael Tremer
590dcf8703 samba.cgi: Fix styling of the configuration form
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 15:25:13 +02:00
Michael Tremer
0a8800657d samba.cgi: Use the new service status widget
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 15:20:51 +02:00
Michael Tremer
9984ed3d5a firewall.cgi: Fix messy table striping
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 15:11:59 +02:00
Michael Tremer
828f2bdd44 CSS: Make the black less agressive
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 12:35:55 +02:00
Michael Tremer
3fb7849c21 services.cgi: Search for suricata by its PID
suricata renames itself and therefore we cannot find the process by its
name.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 12:24:24 +02:00
Michael Tremer
234fd050d4 vpnmain.cgi: Fix colouring of the connection status when disconnected
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 12:22:40 +02:00
Michael Tremer
8ead2ddf3d unbound-dhcp-leases-bridge: Watch unbound
This patch adds a watcher thread which monitors if Unbound is still
alive. If not, it will wait until Unbound comes back, rewrite the leases
file and reload Unbound to get it back into sync.

Afterwards Unbound will receive updates as usual.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-21 10:10:33 +01:00
Michael Tremer
048d2be91a make.sh: Remove all traces of KCFG
This variable is no longer been used and has been abused way too much in
the past. May it rest in pieces.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-20 16:08:32 +00:00
Michael Tremer
f9864480df rtl8812au: Fix build with updated KVER
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-20 16:08:16 +00:00
Michael Tremer
0a110703ca Revert "make.sh: Fix build with kernels < 6.0.0"
This reverts commit 8ea702f3f8.

This commit seems to introduce many more regressions when building
packages which I cannot easily reproduce.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-20 08:39:24 +00:00
Michael Tremer
9287c6c9c7 core188: Ship the network AQM script
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-19 18:17:12 +00:00
Michael Tremer
58846b68b4 AQM: Revert back to only use fq_codel by default
We have defaulted to CAKE for all devices that quality. That has however
resulted in worse network quality as some devices could not provide the
compute power necessary for CAKE. There are however only very few
benefits to run an unconfigured CAKE.

This patch changes this back to fq_codel which is computationally
cheaper and should deliver 99% of the throughput that CAKE does. This is
presumably the better trade-off.

We don't use fq_codel on wireless devices since the kernel is running
this for each client. It would have been nice to only apply this to
wireless interfaces in AP mode, but I cannot find a way to tell the
difference with asking NETLINK.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-19 19:13:19 +01:00
Michael Tremer
bd4e688e64 core188: Ship backup.pl
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-19 18:11:02 +00:00
Michael Tremer
643db076b4 backup.pl: Use a sane timestamp format
I don't think it is nice to mix underscare and dash.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-19 18:10:12 +00:00
Adolf Belka
5b2ee7520f backup.pl: Fixes bug13734 - tar treats colon in filename as remote location
- When a user tries to restore on the console from a backup on IPFire that has a colon in
   the filename the tar treats this as meaning that everything after the colon is
   information about a remote location to do the extraction to. This results in a filename
   that cannot be found, and a remote location that is not correct and the tar operation
   fails.
- This has been confirmed by myself.
- If the user tries a restore from a file downloaded to another computer then for most, if
   not all browsers, the colon will have been replaced by an underscore or other character.
   Firefox, Chromium and Vivaldi do this.
- So any backup file that is selected to be restored using the WUI will no longer have a
   colon in the filename.
- This patch adds --force-local to the tar command, which means that tar will treat the
   colon as a character in the filename. This will ensure that if a user has any backup
   files stored on their IPFire system, with a colon in the filename then doing a restore
   from this file will not cause tar to fail.
- The NOW variable is also changed to replace the colon by a dash and to separate the date
   and time by an underscore. This filename will be accepted by browsers, without doing
   any replacements. Tested out with Firefox, Chromium & Vivaldi.
- The above ensures that both the new and old filename versions will work for doing a
   restore.

Fixes: bug13734
Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Bernhard Bitsch <bbitsch@ipfire.org>
Tested-by: Bernhard Bitsch <bbitsch@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-19 18:09:46 +00:00
Michael Tremer
691d149aa1 linux: Don't reset CFLAGS/CXXFLAGS
The kernel's build system uses its own CFLAGS for building the kernel
but for the tooling we want to use our own CFLAGS.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-19 18:09:17 +00:00
Michael Tremer
9db251ee0b linux: Tidy up the messy KVER variable
This variable never actually held the kernel version. There were always
suffixes appended and other things changed about it. This makes it a lot
simpler as this variable now holds the actual kernel version.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-19 18:09:17 +00:00