Commit Graph

78 Commits

Author SHA1 Message Date
Alessandro Ros
55556f1ecf add ServerConn.VerifyCredentials() (#555) 2025-02-18 17:39:04 +01:00
Alessandro Ros
a19432fd87 bump Golang to 1.23 (#610) 2024-11-04 13:39:10 +01:00
Alessandro Ros
5865d7b7ac server: fix panic when recording with wrong transport header (https://github.com/bluenviron/mediamtx/issues/3677) (#604) 2024-08-25 20:40:31 +02:00
Alessandro Ros
92cf812d01 improve fuzz tests (#592) 2024-08-01 16:33:04 +02:00
Alessandro Ros
ef60c8c755 improve fuzz tests (#571) 2024-05-17 19:19:15 +02:00
Alessandro Ros
f283abc2e7 fix authentication when algorithm field is not supported (#558)
(https://github.com/bluenviron/mediamtx/issues/3116)

This fixes authentication issues with some TP-LINK cameras.
2024-05-15 10:21:30 +02:00
Alessandro Ros
363b48e632 update golangci-lint (#554) 2024-04-28 18:20:25 +02:00
Alessandro Ros
24ed937861 update golangci-lint (#535) 2024-03-19 12:50:26 +01:00
Alessandro Ros
f040e20ac4 support authenticating with SHA-256 digest (#524) 2024-02-22 19:12:17 +01:00
Alessandro Ros
c10f7aaedb split headers.Authenticate and headers.Authorization (#523) 2024-02-22 13:19:31 +01:00
Alessandro Ros
c93d5c54d9 add fuzz tests to all headers (#522) 2024-02-22 12:08:42 +01:00
Alessandro Ros
55fa72f0c2 fix infinite loop when parsing specially-crafted headers (#521) 2024-02-21 23:36:35 +01:00
Alessandro Ros
93b02bc0e8 simplify tests (#461) 2023-11-07 23:21:33 +01:00
aler9
80106144e6 bump to v4 2023-08-16 13:26:17 +02:00
aler9
98e6e8239e simplify tests 2023-08-14 16:56:54 +02:00
Alessandro Ros
19dcd3e067 update golangci-lint (#292) 2023-05-28 13:40:00 +02:00
Alessandro Ros
b0947c133e move each goroutine in a dedicated struct (#285) 2023-05-17 21:14:00 +02:00
Alessandro Ros
a54a5946c7 add 32-bit tests; return errors in case of string-to-int overflows (#276) 2023-05-08 13:10:31 +02:00
Alessandro Ros
04f5a4041c change owner (#217) 2023-03-31 12:34:07 +02:00
Alessandro Ros
a1396206b5 convert Tracks into Medias and Formats (#155)
* split tracks from medias

* move tracks into dedicated package

* move media into dedicated package

* edit Medias.Marshal() in order to return SDP

* add medias.Find() and simplify examples

* improve coverage

* fix rebase errors

* replace TrackIDs with MediaIDs

* implement media-specific and track-specific callbacks for reading RTCP and RTP packets

* rename publish into record, read into play

* add v2 tag

* rename tracks into formats
2022-12-11 22:03:22 +01:00
aler9
9f5ab03742 headers: simplify usage of Range 2022-11-20 11:33:49 +01:00
Jon Lech Johansen
76460d6404 Fix parsing of Transport header with multiple transports. (#145)
* Fix parsing of Transport header with multiple transports.

* Lint.

* Add test for Transport header with multiple transports.

* Filter out unsupported transports.

* Handle multicast properly when filtering out unsupported transports.

* Minor code cleanup.

* add Transports.Unmarshal(), add additional tests

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2022-11-09 12:00:33 +01:00
aler9
e99f799c07 client: support cameras with invalid SSRC in transport header
(https://github.com/aler9/rtsp-simple-server/issues/1118)
2022-08-29 14:51:32 +02:00
aler9
c6972424d6 avoid using encoding/binary 2022-07-17 14:54:04 +02:00
aler9
f3b0fc69b4 rename Read / Write into Unmarshal / Marshal when needed
Read() / Write() are used to read / write from streams, while
Unmarshal() / Marshal() are used to decode / encode from / to bytes.
2022-06-27 17:27:16 +02:00
aler9
1fd66bdaed fix parsing of transport headers with empty source (https://github.com/aler9/rtsp-simple-server/issues/986) 2022-06-11 11:54:51 +02:00
aler9
18f7fab361 update docs 2022-05-10 10:28:52 +02:00
aler9
d2380aeed1 fix transport header parsing with dahua rtsp server (#121) 2022-04-21 08:58:59 +02:00
Tristan Matthews
cb2d832086 transport: fallback to hostname lookup for source 2022-03-18 15:10:45 +01:00
Tristan Matthews
db823872d3 client: parse source from transport
Fixes #107
2022-03-18 15:10:45 +01:00
aler9
50f19e6653 fix transport header error with some Hikvision cameras
fixes 'invalid transport header: encoding/hex: invalid byte: U+0020 ' ''.
2022-01-05 11:54:03 +01:00
aler9
78bfa5d6a8 use require.EqualError() in tests 2021-11-03 17:52:45 +01:00
aler9
653b3ee993 update golangci-lint 2021-10-30 13:06:23 +02:00
aler9
61c39f9062 rename StreamProtocol and StreamDelivery into TransportProtocol and TransportDelivery 2021-10-22 17:59:36 +02:00
aler9
dbfc058f0c update golangci-lint 2021-09-09 23:05:50 +02:00
aler9
d8bf9b2307 improve coverage 2021-08-05 18:17:59 +02:00
aler9
ff8c485b11 headers: change Transport.Destination type to net.IP 2021-06-19 18:58:31 +02:00
aler9
3f3226b53d server: support reading with multicast 2021-06-17 16:45:24 +02:00
aler9
2c0d28ecb4 headers: support SSRCs with length < 4 (https://github.com/aler9/rtsp-simple-server/issues/396) 2021-05-29 22:23:07 +02:00
aler9
4f595a1d0d headers: support SSRCs with missing zeros (https://github.com/aler9/rtsp-simple-server/issues/396) 2021-05-29 19:19:27 +02:00
aler9
b4ac92dea8 headers: implement Range 2021-05-28 18:11:18 +02:00
aler9
f908a15a1e rename tests 2021-05-26 20:37:18 +02:00
aler9
41eec87259 headers: remove TransportMode.String() 2021-05-24 11:18:30 +02:00
aler9
94e69f9c7f update golangci-lint 2021-05-23 18:50:50 +02:00
aler9
53e8f32bd0 improve coverage 2021-05-22 17:18:09 +02:00
aler9
81dc9311c5 headers: restore coverage 2021-05-20 19:28:14 +02:00
aler9
d821107d27 headers: check 'protocol not found' error properly in Transport header 2021-05-20 19:23:33 +02:00
napieralla
7a5d3ce47b Remove error-tests that check for, now acceptable, value-less header-keys 2021-05-20 11:06:46 +02:00
napieralla
70c97b8843 Allow Transport.Read to parse messages where fields arrive in unconventional order by utilizing keyValParse to read all fields in message 2021-05-20 11:06:22 +02:00
napieralla
b99355c523 Allow keyValParse to parse and return keys with no value (empty string) 2021-05-20 11:05:27 +02:00