From 068503483447360eec4bb9e297e46f724b84fdc9 Mon Sep 17 00:00:00 2001 From: aymeric Date: Fri, 27 Feb 2009 13:05:14 +0000 Subject: [PATCH] extand STUN API for integrity check git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@278 3f6dc0c8-ddfe-455d-9043-3cd528dc4637 --- linphone/oRTP/include/ortp/stun.h | 6 ++++++ linphone/oRTP/src/stun.c | 26 ++++++++++---------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/linphone/oRTP/include/ortp/stun.h b/linphone/oRTP/include/ortp/stun.h index 3e4df81f8..b224df230 100644 --- a/linphone/oRTP/include/ortp/stun.h +++ b/linphone/oRTP/include/ortp/stun.h @@ -427,6 +427,12 @@ typedef struct StunMediaRelay relays[MAX_MEDIA_RELAYS]; } StunServerInfo; +void +stunCalculateIntegrity_longterm(char* hmac, const char* input, int length, + const char *username, const char *realm, const char *password); +void +stunCalculateIntegrity_shortterm(char* hmac, const char* input, int length, const char* key); + bool_t stunParseMessage( char* buf, unsigned int bufLen, diff --git a/linphone/oRTP/src/stun.c b/linphone/oRTP/src/stun.c index 1144fbbf1..ba09f5ad6 100644 --- a/linphone/oRTP/src/stun.c +++ b/linphone/oRTP/src/stun.c @@ -123,12 +123,6 @@ static char *ipaddr(const StunAddress4 *addr) return tmp; } -static void -computeHmac_longterm(char* hmac, const char* input, int length, - const char *username, const char *realm, const char *password); -static void -computeHmac_shortterm(char* hmac, const char* input, int length, const char* key); - static bool_t stunParseAtrAddress( char* body, unsigned int hdrLen, StunAtrAddress4 *result ) { @@ -1044,7 +1038,7 @@ stunEncodeMessage( const StunMessage *msg, //ortp_debug("stun: HMAC with password: %s\n", password->value ); encode16(lengthp, (UInt16)(ptr - buf - sizeof(StunMsgHdr)+24)); - computeHmac_longterm(integrity.hash, buf, (int)(ptr-buf) , + stunCalculateIntegrity_longterm(integrity.hash, buf, (int)(ptr-buf) , msg->username.value, msg->realmName.value, password->value); ptr = encodeAtrIntegrity(ptr, &integrity); } @@ -1056,7 +1050,7 @@ stunEncodeMessage( const StunMessage *msg, //ortp_debug("stun: HMAC with password: %s\n", password->value ); encode16(lengthp, (UInt16)(ptr - buf - sizeof(StunMsgHdr)+24)); - computeHmac_shortterm(integrity.hash, buf, (int)(ptr-buf) , + stunCalculateIntegrity_shortterm(integrity.hash, buf, (int)(ptr-buf) , password->value); ptr = encodeAtrIntegrity(ptr, &integrity); } @@ -1177,14 +1171,14 @@ randomPort() #ifdef NOSSL -static void -computeHmac_longterm(char* hmac, const char* input, int length, +void +stunCalculateIntegrity_longterm(char* hmac, const char* input, int length, const char *username, const char *realm, const char *password) { strncpy(hmac,"hmac-not-implemented",20); } -static void -computeHmac_shortterm(char* hmac, const char* input, int length, const char* key) +void +stunCalculateIntegrity_shortterm(char* hmac, const char* input, int length, const char* key) { strncpy(hmac,"hmac-not-implemented",20); } @@ -1192,8 +1186,8 @@ computeHmac_shortterm(char* hmac, const char* input, int length, const char* key #include #include -static void -computeHmac_longterm(char* hmac, const char* input, int length, +void +stunCalculateIntegrity_longterm(char* hmac, const char* input, int length, const char *username, const char *realm, const char *password) { unsigned int resultSize=0; @@ -1209,8 +1203,8 @@ computeHmac_longterm(char* hmac, const char* input, int length, (unsigned char*)hmac, &resultSize); } -static void -computeHmac_shortterm(char* hmac, const char* input, int length, const char* key) +void +stunCalculateIntegrity_shortterm(char* hmac, const char* input, int length, const char* key) { unsigned int resultSize=0; HMAC(EVP_sha1(),