mom040267 10 лет назад
Родитель
Сommit
be736f9f60

BIN
examples/var/db/turndb


+ 12 - 3
src/apps/relay/mainrelay.c

@@ -897,7 +897,11 @@ static void set_option(int c, char *value)
 	  STRCPY(turn_params.oauth_server_name,value);
 	  break;
   case OAUTH_OPT:
-	  turn_params.oauth = get_bool_value(value);
+	  if(!ENC_ALG_NUM) {
+		  TURN_LOG_FUNC(TURN_LOG_LEVEL_WARNING, "WARNING: option --oauth is not supported; ignored.\n");
+	  } else {
+		  turn_params.oauth = get_bool_value(value);
+	  }
 	  break;
   case NO_SSLV2_OPT:
     //deprecated
@@ -1638,11 +1642,16 @@ static void print_features(unsigned long mfn)
 	TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "TURN/STUN ALPN is not supported\n");
 #endif
 
+	if(!ENC_ALG_NUM) {
+		TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "Third-party authorization (oAuth) is not supported\n");
+	} else {
+		TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "Third-party authorization (oAuth) supported\n");
 #if defined(TURN_NO_GCM)
-	TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "GCM (AEAD) is not supported\n");
+		TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "GCM (AEAD) is not supported\n");
 #else
-	TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "GCM (AEAD) supported\n");
+		TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "GCM (AEAD) supported\n");
 #endif
+	}
 
 	TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "OpenSSL compile-time version: %s\n",OPENSSL_VERSION_TEXT);
 

+ 2 - 2
src/apps/relay/turn_admin_server.c

@@ -1650,7 +1650,7 @@ static void write_https_home_page(ioa_socket_handle s)
 			str_buffer_append(sb,current_eff_realm());
 			str_buffer_append(sb,"\">Origins</a>");
 
-			if(is_superuser()) {
+			if(is_superuser() && ENC_ALG_NUM) {
 			  str_buffer_append(sb,"<br><a href=\"");
 			  str_buffer_append(sb,form_names[AS_FORM_OAUTH].name);
 			  str_buffer_append(sb,"?");
@@ -2871,7 +2871,7 @@ static void write_https_oauth_show_keys(ioa_socket_handle s, const char* kid)
 							str_buffer_append(sb,"<table>\r\n");
 
 							if(key.ikm_key[0]) {
-								str_buffer_append(sb,"<tr><td>Base64-encoded Input Keying Material:</td><td>");
+								str_buffer_append(sb,"<tr><td>Base64-encoded key:</td><td>");
 								str_buffer_append(sb,key.ikm_key);
 								str_buffer_append(sb,"</td></tr>\r\n");
 							}

+ 4 - 4
src/apps/relay/userdb.c

@@ -622,10 +622,10 @@ int get_user_key(int in_oauth, int *out_oauth, int *max_session_time, u08bits *u
 		return 0;
 	}
 
-  const turn_dbdriver_t * dbd = get_dbdriver();
-  if (dbd && dbd->get_user_key) {
-    ret = (*(dbd->get_user_key))(usname, realm, key);
-  }
+	const turn_dbdriver_t * dbd = get_dbdriver();
+	if (dbd && dbd->get_user_key) {
+		ret = (*(dbd->get_user_key))(usname, realm, key);
+	}
 
 	return ret;
 }

+ 2 - 1
src/client/ns_turn_msg.c

@@ -2077,8 +2077,9 @@ int convert_oauth_key_data(const oauth_key_data *oakd0, oauth_key *key, char *er
 		if(!(key->timestamp)) key->timestamp = OAUTH_DEFAULT_TIMESTAMP;
 		if(!(key->lifetime)) key->lifetime = OAUTH_DEFAULT_LIFETIME;
 
-		key->as_rs_alg = ENC_ALG_DEFAULT;
+		key->as_rs_alg = ENC_ALG_ERROR;
 #if !defined(TURN_NO_GCM)
+		key->as_rs_alg = ENC_ALG_DEFAULT;
 		if(!strcmp(oakd->as_rs_alg,"A128GCM")) {
 			key->as_rs_alg = A128GCM;
 			key->auth_key_size = 0;

+ 2 - 2
src/client/ns_turn_msg_defs_new.h

@@ -72,12 +72,12 @@ typedef enum _SHATYPE SHATYPE;
 
 enum _ENC_ALG {
 	ENC_ALG_ERROR=-1,
-	ENC_ALG_DEFAULT=0,
 #if !defined(TURN_NO_GCM)
+	ENC_ALG_DEFAULT=0,
 	A256GCM=ENC_ALG_DEFAULT,
 	A128GCM,
 #endif
-	ENG_ALG_NUM
+	ENC_ALG_NUM
 };
 
 typedef enum _ENC_ALG ENC_ALG;