Oleg Moskalenko 9 years ago
parent
commit
2ad38333ea
2 changed files with 11 additions and 6 deletions
  1. 1 1
      src/apps/common/apputils.h
  2. 10 5
      src/apps/relay/dtls_listener.c

+ 1 - 1
src/apps/common/apputils.h

@@ -90,7 +90,7 @@ extern int IS_TURN_SERVER;
 
 #endif
 
-#if (defined(TURN_NO_DTLS) || !defined(DTLS_CTRL_LISTEN)) && (OPENSSL_VERSION_NUMBER < 0x10100000L)
+#if defined(TURN_NO_DTLS) || (!defined(DTLS_CTRL_LISTEN) && (OPENSSL_VERSION_NUMBER < 0x10100000L))
 
 	#define DTLS_SUPPORTED 0
 	#define DTLSv1_2_SUPPORTED 0

+ 10 - 5
src/apps/relay/dtls_listener.c

@@ -150,6 +150,8 @@ static int generate_cookie(SSL *ssl, unsigned char *cookie, unsigned int *cookie
   /* Read peer information */
   (void) BIO_dgram_get_peer(SSL_get_wbio(ssl), &peer);
   
+  //TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO,"%s: family=%u(1)\n",__FUNCTION__,(unsigned)peer.ss.sa_family);
+
   /* Create buffer with peer's address and port */
   length = 0;
   switch (peer.ss.sa_family) {
@@ -171,6 +173,8 @@ static int generate_cookie(SSL *ssl, unsigned char *cookie, unsigned int *cookie
     return 0;
   }
   
+  //TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO,"%s: family=%u(2)\n",__FUNCTION__,(unsigned)peer.ss.sa_family);
+
   switch (peer.ss.sa_family) {
   case AF_INET:
     memcpy(buffer,
@@ -204,7 +208,7 @@ static int generate_cookie(SSL *ssl, unsigned char *cookie, unsigned int *cookie
   return 1;
 }
 
-static int verify_cookie(SSL *ssl, unsigned char *cookie, unsigned int cookie_len)
+static int verify_cookie(SSL *ssl, const unsigned char *cookie, unsigned int cookie_len)
 {
   unsigned int resultlength=0;
   unsigned char result[COOKIE_SECRET_LENGTH];
@@ -212,11 +216,12 @@ static int verify_cookie(SSL *ssl, unsigned char *cookie, unsigned int cookie_le
   generate_cookie(ssl, result, &resultlength);
   
   if (cookie_len == resultlength && memcmp(result, cookie, resultlength) == 0) {
-    //TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO,"%s: cookies are OK, length=%u\n",__FUNCTION__,cookie_len);
-    return 1;
+	  //TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO,"%s: cookies are OK, length=%u\n",__FUNCTION__,cookie_len);
+	  return 1;
+  } else {
+	  //TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO,"%s: cookies are OK, length=%u\n",__FUNCTION__,cookie_len);
+	  return  0;
   }
-  
-  return 0;
 }
 
 /////////////// io handlers ///////////////////