Commit Graph
14 Commits
Author SHA1 Message Date
Alessandro RosandGitHub 7418e51031 prevent directory traversal attacks (#5602)
Path names are used as part of paths in several components: in the
recorder, in the playback server and in every HTTP-based component
(WebRTC, HLS, API). Special characters that allow to escape from the
intended directory are now forbidden in order to prevent directory
traversal attacks.
2026-03-23 20:16:12 +01:00
bluenviron-botandGitHub a07526d57c bump Golang to 1.26 (#5460) 2026-02-21 14:48:53 +01:00
Alessandro RosandGitHub 8858bf1db9 simplify code with ptrOf (#5179) 2025-11-11 12:01:03 +01:00
Alessandro RosandGitHub 02e2b9d640 recorder: write additional infos inside segments (#5083)
write stream ID, segment number, DTS, NTP in a dedicated box. This
allows to improve the merge algorithm in the playback server.
2025-10-13 12:34:44 +02:00
Alessandro RosandGitHub 2690ef8e71 api: add /info endpoint (#945) (#5045) 2025-09-30 10:39:27 +02:00
Alessandro RosandGitHub a558c5681a improve documentation (#4918) 2025-08-31 14:15:58 +02:00
Alessandro RosandGitHub d423a71aaa update linter settings (#4790) 2025-07-26 16:44:32 +02:00
Alessandro RosandGitHub dbc38a7aa6 record: support storing timezone in recording segments (#3566) (#4597) 2025-06-02 20:47:29 +02:00
Alessandro RosandGitHub 517ba4124c restore support for using unix timestamp in record path (#4330) (#4417) 2025-04-12 12:16:08 +02:00
Alessandro RosandGitHub 44136b3045 api: fix crash in /recordings/list (#4040) (#4291)
The API crashed when

- '%path%' is not present in 'recordPath'
- 'all_others' is in 'paths'
- there's at least one recording segment

A recording segment without path is parsed as a segment with an empty
path. This path is then passed to FindPathConf(), that returns an error
in case of empty or invalid paths. This error is not checked for
performance reasons, leading to the crash.

This PR prevents empty or invalid paths from reaching FindPathConf().
2025-02-28 19:04:05 +01:00
35e858c6e7 playback: fix filtering when start date is earlier than first segment (#4173)
* bugfix in recordstore: no segments returned when given a start time earlier than all available segments

* add tests

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-01-19 10:23:03 +01:00
1f33b5b2ba playback: improve performance (#4152)
* change from filepath.Walk to filepath.WalkDir

* use filepath.WalkDir in the entire project

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-01-17 13:19:03 +01:00
Alessandro RosandGitHub d38b7e95fc playback: allow filtering timespans by start and end date (#3637) (#3489) (#4085) 2025-01-02 12:43:18 +01:00
Alessandro RosandGitHub 73a300afd0 fix cleaning of recordings in case of multiple recordDeleteAfter values (#3557) (#3741) 2024-09-08 20:33:18 +02:00