diff --git a/examples/var/db/turndb b/examples/var/db/turndb index bcae52e8..ad8e8cbd 100644 Binary files a/examples/var/db/turndb and b/examples/var/db/turndb differ diff --git a/src/apps/relay/mainrelay.c b/src/apps/relay/mainrelay.c index aa4ad5db..f42e815a 100644 --- a/src/apps/relay/mainrelay.c +++ b/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); diff --git a/src/apps/relay/turn_admin_server.c b/src/apps/relay/turn_admin_server.c index 4ab4dc7d..8373c38e 100644 --- a/src/apps/relay/turn_admin_server.c +++ b/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"); - if(is_superuser()) { + if(is_superuser() && ENC_ALG_NUM) { str_buffer_append(sb,"
\r\n"); if(key.ikm_key[0]) { - str_buffer_append(sb,"Base64-encoded Input Keying Material:"); + str_buffer_append(sb,"Base64-encoded key:"); str_buffer_append(sb,key.ikm_key); str_buffer_append(sb,"\r\n"); } diff --git a/src/apps/relay/userdb.c b/src/apps/relay/userdb.c index 26f6cde2..401d05ff 100644 --- a/src/apps/relay/userdb.c +++ b/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; } diff --git a/src/client/ns_turn_msg.c b/src/client/ns_turn_msg.c index 490598b1..b76febd6 100644 --- a/src/client/ns_turn_msg.c +++ b/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; diff --git a/src/client/ns_turn_msg_defs_new.h b/src/client/ns_turn_msg_defs_new.h index f58e981b..cc3b4074 100644 --- a/src/client/ns_turn_msg_defs_new.h +++ b/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;