Donat Zenichev
1f288542db
MT#58636 Fix a defect detected by Coverity Scan
...
** CID 1574844: Null pointer dereferences (FORWARD_NULL)
/daemon/call.c: 2416 in codecs_offer()
*** CID 1574844: Null pointer dereferences (FORWARD_NULL)
/daemon/call.c: 2416 in codecs_offer()
2410
2411 if (update_answerer) {
2412 // update/create answer/receiver side
2413 ilogs(codec, LOG_DEBUG, "Updating offer codecs for answerer " STR_FORMAT " #%u",
2414 STR_FMT(&media->monologue->tag),
2415 media->index);
>>> CID 1574844: Null pointer dereferences (FORWARD_NULL)
>>> Dereferencing null pointer "flags".
2416 if (flags->static_codecs && media->codecs.codec_prefs.length)
2417 ilogs(codec, LOG_DEBUG, "Leaving answerer codecs alone");
2418 else if (flags && flags->reuse_codec)
2419 codec_store_populate_reuse(&media->codecs, &sp->codecs,
2420 .merge_cs = &sp->codecs);
2421 else
** CID 1574843: Null pointer dereferences (REVERSE_INULL)
/daemon/call.c: 2418 in codecs_offer()
*** CID 1574843: Null pointer dereferences (REVERSE_INULL)
/daemon/call.c: 2418 in codecs_offer()
2412 // update/create answer/receiver side
2413 ilogs(codec, LOG_DEBUG, "Updating offer codecs for answerer " STR_FORMAT " #%u",
2414 STR_FMT(&media->monologue->tag),
2415 media->index);
2416 if (flags->static_codecs && media->codecs.codec_prefs.length)
2417 ilogs(codec, LOG_DEBUG, "Leaving answerer codecs alone");
>>> CID 1574843: Null pointer dereferences (REVERSE_INULL)
>>> Null-checking "flags" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
2418 else if (flags && flags->reuse_codec)
2419 codec_store_populate_reuse(&media->codecs, &sp->codecs,
2420 .merge_cs = &sp->codecs);
2421 else
2422 codec_store_populate(&media->codecs, &sp->codecs,
2423 .allow_asymmetric = !!(flags && flags->allow_asymmetric_codecs),
Change-Id: Ife9ad5fdf9481fb74bbc4e7c5ac5a784bb564d4b
(cherry picked from commit acd303cd56 )
2 years ago
Richard Fuchs
ef73c66445
MT#58636 add new option 'static codecs'
...
Change-Id: Ife8ef86ff0c6dd8733fd063d8ce19f6baaa30e58
(cherry picked from commit 76203fdce9 )
2 years ago
Richard Fuchs
bcdd8d0ea6
MT#55283 check DTLS src/dst addressses
...
Check addresses of received DTLS packets against known ICE pairs if ICE
is in use. Ignore packets that don't correspond to known ICE pairs.
Credit to the the team at EnableSecurity.com for disclosure.
Ref: https://github.com/EnableSecurity/advisories/tree/master/ES2023-03-rtpengine-dtls-hello-race
Change-Id: I45197c50aedeb078763f2f444225ddbda78d9349
(cherry picked from commit e969a79428 )
2 years ago
Michal Hajek
c9831d5f57
MT#55283 leave SRTP keys in place after DTLS shut
...
closes #1772
Change-Id: Iaf80e7314730537ca56112cd5f9e1f9c85ca6e3c
(cherry picked from commit afd85a4f94 )
2 years ago
Richard Fuchs
e0e93d9692
MT#55283 verify "zero" DTLS cert
...
... instead of "current" if available
closes #1771
Change-Id: Id1b742b2446d4d59b3de251a1d1a5dcbed86834a
(cherry picked from commit 8fba68f2c9 )
2 years ago
Richard Fuchs
2034225b1b
MT#55283 add desired_family to call_monologue
...
This is required to look up the correct interface during Redis restore.
Change-Id: I0ea67576deba95b4201c6384fdcf8051b84f879e
2 years ago
Richard Fuchs
0bf00b55e9
MT#56471 rework mix-buffer tests
...
Use int16_t literals instead of strings to solve failing tests on big
endian systems
Change-Id: Ie9e5b31ef2ae8f7b3b8277d4520e62540629baa2
2 years ago
Richard Fuchs
1345767487
MT#57371 add --nftables-status option
...
Change-Id: I9925c8c593850729095647b3749fb4b9835b37a4
2 years ago
Richard Fuchs
d76507b2ee
MT#57371 split up match_immediate_rtpe function
...
... into its two components so that they can be used separately.
Change-Id: I1f2d800f6ac2739a2d10f8b6d97e783259fad890
2 years ago
Richard Fuchs
c7c37c6b69
MT#57371 make callback function optional
...
Change-Id: I0705378620136a9e424c3a8eda42aa1c0dfd0e08
2 years ago
Richard Fuchs
d0930d3732
MT#57371 change scope of temporary object
...
We can use this to return information back to the calling function.
Change-Id: I8c83d41145e8f1e4d51b8b3b28cbd20abd63829b
2 years ago
Richard Fuchs
807835ce33
MT#57371 configurable nftables families
...
Change-Id: I8c3e76ed6a86522f53dc309aa7a91c93359b96f8
2 years ago
Richard Fuchs
42053bcf9e
MT#57371 support "none" as nft base chain
...
Change-Id: I8d2b43e3b4dd9c26b6b9b4cfa325a48a6c6f1c8a
2 years ago
Richard Fuchs
d5da4613a1
MT#57371 support rule prepending
...
For the use case with a separate base chain, we want to preempt other
firewall rules by default and insert our immediate jump rule at the
beginning, rather than at the end. Add an option to provide the other
behaviour.
Change-Id: I16171f7c028c89b94823ecc99387771be3ba9443
2 years ago
Richard Fuchs
846c63febb
MT#57371 convert arg from void* to struct
...
... so that other arguments can be passed as well
Change-Id: Ib0fe30418cd4aacd0ba27b6557fe9f311429b34c
2 years ago
Richard Fuchs
8590a8c0a2
MT#57371 convert nftables_setup args to struct
...
... for easier extending to more arguments
Change-Id: I514b7497de5df60479b597bbc301a83cf479a5b2
2 years ago
Richard Fuchs
d6fd24dcfd
MT#57371 adapt base chain rule
...
If we're not using a separate base chain, create the target rule with
the UDP filter in place, same as the "immediate" rule in the case with a
base chain.
Reported in #1732
Change-Id: I0e67a88f5f51e21ba9537c87e2955f910dd6ec2c
2 years ago
Richard Fuchs
2fa54e3a9f
MT#57371 split up rtpe_target function
...
... so that the core functionality can be re-used
Change-Id: Ie567110dc3c407ee38dcf6710d090828206db619
2 years ago
Richard Fuchs
a98d2a4519
MT#57371 split out function to add UDP filter
...
Change-Id: I4ff6af17f82571b1470eed818a33269d2656f5c9
2 years ago
Donat Zenichev
c814ed0b5b
MT#56128 docs: refactor the `SDP attributes manipulations` part
...
In order to let the docs comply with what we have in the code,
we have to adjust some of docs definitions and also remove partially.
Change-Id: Ied5791d196267abfc1e1717d23751b1acf8e9dc1
2 years ago
Richard Fuchs
6e92b9bdc7
MT#57371 remove leftover test code
...
Change-Id: I64e71b191572ca752580bd04a93b1fbdd61b89d7
2 years ago
Richard Fuchs
bcc25953f6
MT#57371 fix rule deletion
...
We need to reset the condition flag for each rule, otherwise we may end
up deleting everything
Change-Id: Ic7f827149d18cce9e7b5d8ae5f0145bd52bee12d
2 years ago
Richard Fuchs
e80445c556
MT#55283 selectively stop codec handlers
...
If we're updating the handlers for one particular source -> sink flow,
only stop/reset the handlers matching this flow.
Change-Id: I1d046f47f8d26cac47c5d0f4318498eacb6c5677
2 years ago
Richard Fuchs
6edd63c4f9
MT#55283 backport fix for I2ce02e92debce0b
...
Change-Id: Ib88765ee02b2d83175c41034dc1f3a6895808777
2 years ago
Richard Fuchs
54efff24b8
MT#55283 fix missing unlock
...
Change-Id: I2ce02e92debce0ba33b6a271ba831d7ba67e622b
2 years ago
Richard Fuchs
59db753809
MT#55283 update tests for new ffmpeg
...
These single bit differences are due to a change in ffmpeg encoding.
Change-Id: Ica0dc157f7494be1a0f4e4de9a795273a29d74e7
2 years ago
Richard Fuchs
af7f2a711c
MT#55283 add tests for repeated answer
...
Change-Id: I831bb89a3e37ea6a7842607ee9dc9b8e859537be
(cherry picked from commit 585f001cdb0b150af6d43d64d946bcc2abafad77)
2 years ago
Richard Fuchs
07d5a0164c
MT#55283 retain codec tracker status for answers
...
In case of repeated answers without additional offer in between, we
shouldn't reset the codec tracker status at the end of the codec answer
routine, so that we end up with the same state during the next answer.
Change-Id: I54f6136cc5684473553b4862c13ea9f4a3dcfe99
(cherry picked from commit d0c59a3badf1b52756685be2e8fe2d9dbea9564f)
2 years ago
Richard Fuchs
64455fa38f
MT#55283 add fmtp to debug log messages
...
Change-Id: I5ea043233daedcdab565a24d8a76bf441b5c7d74
(cherry picked from commit f8ca718a1c5f4f9303ffd3fbdac5962312713f5d)
2 years ago
Richard Fuchs
59ab148234
MT#54294 update to codec-chain framework
...
Change-Id: Ic6286494fad459df4a77665aae66f1af03e9664b
2 years ago
Richard Fuchs
4877b620bd
MT#55283 restrict ifunc usage to glibc
...
probably fixes #1751
Change-Id: Id78d91ef74d60be58e537db85c54bc9447406e34
(cherry picked from commit 96691305a8 )
2 years ago
Richard Fuchs
8c62230610
MT#55283 fix possible mem leak
...
... and slightly improve log printing by including the PT number
Change-Id: Ie3aae38a32ac6cbab54b6471e2f029db6432c4ed
(cherry picked from commit f24f59efb9 )
2 years ago
Richard Fuchs
23c5a90f7b
MT#55283 fix media array building
...
The index j we get is not the position in the output array/list, but
rather the index into the source array. Simply append each new element
to the array in order.
Also make sure we don't skip over empty elements in the array when
building the JSON list, so that the order is preserved.
Change-Id: Id6577410e114f0ddbea745977118f1bab2e38fa9
(cherry picked from commit 64724284c1 )
2 years ago
Sipwise Jenkins Builder
db34da9f0e
Release new version 12.0.2.0+0~mr12.0.2.0
2 years ago
Sipwise Jenkins Builder
f97b8193fe
Release new version 12.0.1.0+0~mr12.0.1.0
2 years ago
Mykola Malkov
48e14d06ac
Release new version 12.0.0.0+0~mr12.0.0.0
...
Change-Id: I17ca7d6a5b0423530a6df255174b26fcdff75157
2 years ago
Richard Fuchs
bd039ad94d
MT#55283 fix use-after-free
...
Grab the correct list link when inserting in the middle of the list.
Change-Id: I4ae484ba05f5e4be827101193952653c21c47ad3
(cherry picked from commit 3f5a22d2a5 )
2 years ago
Richard Fuchs
9e86013577
MT#56008 increment EVS decoder frame count
...
Change-Id: I91e6bc52b33d19de04b6ddb8ef5a955c38f0b152
(cherry picked from commit 72b053bf3a )
2 years ago
Sipwise Jenkins Builder
f089cca0a0
Release new version 12.0.3.0+0~mr12.0.3.0
2 years ago
Sipwise Jenkins Builder
3eceffba65
Release new version 12.0.2.0+0~mr12.0.2.0
2 years ago
Richard Fuchs
3b1493a6bc
MT#55283 fix possible use without initialiser
...
Change-Id: I7d08d549aedc3c6b5075062d898c3726902fe302
2 years ago
Richard Fuchs
5171fd8901
MT#55283 fix possible NULL dereferences
...
Change-Id: I4abd23c834d133c8f20f0a8038a78aa214cbc879
2 years ago
Richard Fuchs
469789bf19
MT#55283 make code checkers happy
...
Fix all instances of argument-less function signatures.
Fix all instances of auto-cleanup variables declared after they need to
be in scope.
Change-Id: I3a005df03ede971e08d4f62d7c7711a1913fda5e
2 years ago
Richard Fuchs
494ac006c3
MT#55283 shutdown: close/delete kernel interface
...
Change-Id: Ie638cd2d33a7f0c5d570048a28444cd0333f5a45
2 years ago
Richard Fuchs
6c7277a84f
MT#55283 add missing send_timer locks
...
ps->out_lock must be held when sending packets, and the SSRC lock must
be held for sending RTCP
Change-Id: I19fe85762e330a9b8a03658a828f735db6eb6cb7
2 years ago
Richard Fuchs
8e149723c0
MT#55283 add missing (re-) initialiser
...
Change-Id: Iae96dc8018d646aadce8e7c229bcd7ee65b206bd
2 years ago
Richard Fuchs
8cacdcc8d3
MT#55283 fix typo
...
Change-Id: I713cf8a2783f2af24771db3de0b1a30aa37df483
2 years ago
Richard Fuchs
eea3824725
MT#55283 remove rtpengine-iptables package
...
Dropping support for handling this via the CLI means we don't need this
package any more
Change-Id: Ib13184018ca571f6d489491a04e7967de2542ac2
2 years ago
Richard Fuchs
979a3c09ad
MT#57371 drop dependency on iptables
...
As we now natively support nftables, we no longer need to rely on the
iptables helper script. We can completely remove it.
Change-Id: I214bfee6ada534754141cb86bb50e87556de977d
2 years ago
Richard Fuchs
b2ff4cc03f
MT#55283 drop support for ancient kernel versions
...
Minimum supported version is 4.4
Change-Id: I1eb0990259cf7ace768dbe116ac59779327ab195
2 years ago