[asterisk-bugs] [JIRA] (ASTERISK-27733) [patch] res_srtp: Add support for libsrtp2.x on openSUSE.

Alexander Traud (JIRA) noreply at issues.asterisk.org
Mon Mar 12 04:08:13 CDT 2018


Alexander Traud created ASTERISK-27733:
------------------------------------------

             Summary: [patch] res_srtp: Add support for libsrtp2.x on openSUSE.
                 Key: ASTERISK-27733
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-27733
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: Resources/res_srtp
    Affects Versions: 15.2.2, 13.19.2
         Environment: openSUSE Leap 42.3
            Reporter: Alexander Traud


{code}fatal error: srtp2/crypto_types.h: No such file or directory{code}With ASTERISK-26976, libSRTP 2.x can be linked. This is good because some platforms, like Arch Linux, do not have libSRTP 1.x pre-packaged anymore. Therefore, support for libSRTP 2.x is required to leverage sRTP within Asterisk. However, the added header file {{srtp2/crypto_types.h}} is a private header. On some platforms, this header is available. On some platforms, like openSUSE, this header was never available.

Since Asterisk 14, symbols from this header are not used anymore, because ASTERISK-26190 changed the code to leverage Crypto Suites, like {{crypto_policy_set_aes_cm_128_hmac_sha1}}. For Asterisk 14 and newer, the symbols got removed thanks to ASTERISK-27253. However, the include statement for that header remained for no reason. Consequently, the include statement can simply be removed, in those Asterisk versions.

ASTERISK-27253 was a new feature and therefore not backported to Asterisk 13. In Asterisk 13, the symbols {{AES_128_ICM}} and {{HMAC_SHA1}} are still used. However, with libSRTP 2.x no public header exists for these anymore.

Therefore, one approach is to move/define those symbols directly within the file {{res/srtp/srtp_compat.h}}. Another approach would be to change the code to leverage Crypto Suites. However, Crypto Suites were introduced with libSRTP 1.4.2 (May 2006) and changing this would lose compatibility with (even) older libSRTP versions.

The attached patch implements the mode/define-approach.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list