summaryrefslogtreecommitdiff
path: root/net-libs/libsrtp/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-06-13 10:39:22 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-06-13 10:39:22 +0100
commit9452a6e87b6c2c70513bc47a2470bf9f1168920e (patch)
tree8ac67e26b45f34d71c5aab3621813b100a0d5f00 /net-libs/libsrtp/files
parentf516638b7fe9592837389826a6152a7e1b251c54 (diff)
gentoo resync : 13.06.2020
Diffstat (limited to 'net-libs/libsrtp/files')
-rw-r--r--net-libs/libsrtp/files/libsrtp-2.3.0-gcc-10.patch26
-rw-r--r--net-libs/libsrtp/files/libsrtp-2.3.0-nss.patch12
-rw-r--r--net-libs/libsrtp/files/libsrtp-2.3.0-rtp-header.patch24
3 files changed, 62 insertions, 0 deletions
diff --git a/net-libs/libsrtp/files/libsrtp-2.3.0-gcc-10.patch b/net-libs/libsrtp/files/libsrtp-2.3.0-gcc-10.patch
new file mode 100644
index 000000000000..67d4ad86d516
--- /dev/null
+++ b/net-libs/libsrtp/files/libsrtp-2.3.0-gcc-10.patch
@@ -0,0 +1,26 @@
+diff --git a/crypto/math/datatypes.c b/crypto/math/datatypes.c
+index 001584c..4fcb396 100644
+--- a/crypto/math/datatypes.c
++++ b/crypto/math/datatypes.c
+@@ -79,7 +79,7 @@ int octet_get_weight(uint8_t octet)
+
+ /* the value MAX_PRINT_STRING_LEN is defined in datatypes.h */
+
+-char bit_string[MAX_PRINT_STRING_LEN];
++static char bit_string[MAX_PRINT_STRING_LEN];
+
+ uint8_t srtp_nibble_to_hex_char(uint8_t nibble)
+ {
+diff --git a/test/util.c b/test/util.c
+index 2abc28e..c0f7614 100644
+--- a/test/util.c
++++ b/test/util.c
+@@ -49,7 +49,7 @@
+ #include <stdint.h>
+
+ /* include space for null terminator */
+-char bit_string[MAX_PRINT_STRING_LEN + 1];
++static char bit_string[MAX_PRINT_STRING_LEN + 1];
+
+ static inline int hex_char_to_nibble(uint8_t c)
+ {
diff --git a/net-libs/libsrtp/files/libsrtp-2.3.0-nss.patch b/net-libs/libsrtp/files/libsrtp-2.3.0-nss.patch
new file mode 100644
index 000000000000..6f71839e69da
--- /dev/null
+++ b/net-libs/libsrtp/files/libsrtp-2.3.0-nss.patch
@@ -0,0 +1,12 @@
+diff --git a/crypto/cipher/aes_gcm_nss.c b/crypto/cipher/aes_gcm_nss.c
+index 54547cd..ecbba64 100644
+--- a/crypto/cipher/aes_gcm_nss.c
++++ b/crypto/cipher/aes_gcm_nss.c
+@@ -284,6 +284,7 @@ static srtp_err_status_t srtp_aes_gcm_nss_do_crypto(void *cv,
+
+ c->params.pIv = c->iv;
+ c->params.ulIvLen = GCM_IV_LEN;
++ c->params.ulIvBits = 8 * GCM_IV_LEN;
+ c->params.pAAD = c->aad;
+ c->params.ulAADLen = c->aad_size;
+
diff --git a/net-libs/libsrtp/files/libsrtp-2.3.0-rtp-header.patch b/net-libs/libsrtp/files/libsrtp-2.3.0-rtp-header.patch
new file mode 100644
index 000000000000..096b19e8f344
--- /dev/null
+++ b/net-libs/libsrtp/files/libsrtp-2.3.0-rtp-header.patch
@@ -0,0 +1,24 @@
+From 55299517f39e2e1a34df05c27cbc9898071ac9db Mon Sep 17 00:00:00 2001
+From: Lennart Grahl <lennart.grahl@gmail.com>
+Date: Mon, 18 May 2020 18:01:08 +0200
+Subject: [PATCH] Fix two-byte RTP header extension encryption
+
+Also ignores the application bits as required by RFC 8285, sec 4.3
+Fixes #490
+---
+ srtp/srtp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/srtp/srtp.c b/srtp/srtp.c
+index b45cee0f..176b01f0 100644
+--- a/srtp/srtp.c
++++ b/srtp/srtp.c
+@@ -1423,7 +1423,7 @@ static srtp_err_status_t srtp_process_header_encryption(
+ xtn_hdr_data++;
+ }
+ }
+- } else if ((ntohs(xtn_hdr->profile_specific) & 0x1fff) == 0x100) {
++ } else if ((ntohs(xtn_hdr->profile_specific) & 0xfff0) == 0x1000) {
+ /* RFC 5285, section 4.3. Two-Byte Header */
+ while (xtn_hdr_data + 1 < xtn_hdr_end) {
+ uint8_t xid = *xtn_hdr_data;