Index: webrtc/pc/externalhmac.h |
diff --git a/webrtc/pc/externalhmac.h b/webrtc/pc/externalhmac.h |
index 18d46811451c1537e84fcc1edeed8b56b92e33db..091412e6a9e710d2aa108daccf227b35e1afacc1 100644 |
--- a/webrtc/pc/externalhmac.h |
+++ b/webrtc/pc/externalhmac.h |
@@ -20,8 +20,8 @@ |
// How will libsrtp select this module? |
// Libsrtp defines authentication function types identified by an unsigned |
-// integer, e.g. HMAC_SHA1 is 3. Using authentication ids, the application |
-// can plug any desired authentication modules into libsrtp. |
+// integer, e.g. SRTP_HMAC_SHA1 is 3. Using authentication ids, the |
+// application can plug any desired authentication modules into libsrtp. |
// libsrtp also provides a mechanism to select different auth functions for |
// individual streams. This can be done by setting the right value in |
// the auth_type of srtp_policy_t. The application must first register auth |
@@ -39,9 +39,20 @@ extern "C" { |
} |
#endif // HAVE_SRTP |
+#if defined(HAVE_SRTP) && !defined(SRTP_HMAC_SHA1) |
+// Include compatibility shims to compile against libsrtp 1.x. |
+// TODO(mattdr): Remove once Chromium uses libsrtp 2. |
+ |
+// Remember that the definition of SRTP_HMAC_SHA1 is synthetic. |
+#define COMPILING_AGAINST_LIBSRTP1 1 |
+ |
+#define SRTP_HMAC_SHA1 HMAC_SHA1 |
+#define srtp_auth_t auth_t |
+#endif |
+ |
#if defined(HAVE_SRTP) && defined(ENABLE_EXTERNAL_AUTH) |
-#define EXTERNAL_HMAC_SHA1 HMAC_SHA1 + 1 |
+#define EXTERNAL_HMAC_SHA1 SRTP_HMAC_SHA1 + 1 |
#define HMAC_KEY_LENGTH 20 |
// The HMAC context structure used to store authentication keys. |
@@ -52,27 +63,29 @@ typedef struct { |
int key_length; |
} ExternalHmacContext; |
-err_status_t external_hmac_alloc(auth_t** a, int key_len, int out_len); |
+srtp_err_status_t external_hmac_alloc(srtp_auth_t** a, |
+ int key_len, |
+ int out_len); |
-err_status_t external_hmac_dealloc(auth_t* a); |
+srtp_err_status_t external_hmac_dealloc(srtp_auth_t* a); |
-err_status_t external_hmac_init(ExternalHmacContext* state, |
- const uint8_t* key, |
- int key_len); |
+srtp_err_status_t external_hmac_init(ExternalHmacContext* state, |
+ const uint8_t* key, |
+ int key_len); |
-err_status_t external_hmac_start(ExternalHmacContext* state); |
+srtp_err_status_t external_hmac_start(ExternalHmacContext* state); |
-err_status_t external_hmac_update(ExternalHmacContext* state, |
- const uint8_t* message, |
- int msg_octets); |
+srtp_err_status_t external_hmac_update(ExternalHmacContext* state, |
+ const uint8_t* message, |
+ int msg_octets); |
-err_status_t external_hmac_compute(ExternalHmacContext* state, |
- const void* message, |
- int msg_octets, |
- int tag_len, |
- uint8_t* result); |
+srtp_err_status_t external_hmac_compute(ExternalHmacContext* state, |
+ const void* message, |
+ int msg_octets, |
+ int tag_len, |
+ uint8_t* result); |
-err_status_t external_crypto_init(); |
+srtp_err_status_t external_crypto_init(); |
#endif // defined(HAVE_SRTP) && defined(ENABLE_EXTERNAL_AUTH) |
#endif // WEBRTC_PC_EXTERNALHMAC_H_ |