Changeset 6004 for pjproject/trunk/pjsip-apps/src/pjsua/pjsua_app_config.c
- Timestamp:
- May 24, 2019 3:32:17 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjsip-apps/src/pjsua/pjsua_app_config.c
r5788 r6004 197 197 puts (" 0=SDES (default), 1=DTLS"); 198 198 #endif 199 199 #if PJ_HAS_SSL_SOCK 200 puts (""); 201 puts ("TURN TLS Options:"); 202 puts (" --turn-tls Use TLS connection to TURN server (default no)"); 203 puts (" --turn-tls-ca-file Specify TURN TLS CA file (default=none)"); 204 puts (" --turn-tls-cert-file Specify TURN TLS certificate file (default=none)"); 205 puts (" --turn-tls-privkey-file Specify TURN TLS private key file (default=none)"); 206 puts (" --turn-tls-privkey-pwd Specify TURN TLS password to private key file (default=none)"); 207 puts (" --turn-tls-neg-timeout Specify TURN TLS negotiation timeout (default=no)"); 208 puts (" --turn-tls-cipher Specify prefered TURN TLS cipher (optional)."); 209 puts (" May be specified multiple times"); 210 #endif 200 211 puts (""); 201 212 puts ("Buddy List (can be more than one):"); … … 361 372 OPT_USE_ICE, OPT_ICE_REGULAR, OPT_USE_SRTP, OPT_SRTP_SECURE, 362 373 OPT_USE_TURN, OPT_ICE_MAX_HOSTS, OPT_ICE_NO_RTCP, OPT_TURN_SRV, 363 OPT_TURN_TCP, OPT_TURN_USER, OPT_TURN_PASSWD, OPT_RTCP_MUX, 364 OPT_SRTP_KEYING, 374 OPT_TURN_TCP, OPT_TURN_USER, OPT_TURN_PASSWD, OPT_TURN_TLS, 375 OPT_TURN_TLS_CA_FILE, OPT_TURN_TLS_CERT_FILE, 376 OPT_TURN_TLS_NEG_TIMEOUT, OPT_TURN_TLS_CIPHER, 377 OPT_TURN_TLS_PRIV_FILE, OPT_TURN_TLS_PASSWORD, 378 OPT_RTCP_MUX, OPT_SRTP_KEYING, 365 379 OPT_PLAY_FILE, OPT_PLAY_TONE, OPT_RTP_PORT, OPT_ADD_CODEC, 366 380 OPT_ILBC_MODE, OPT_REC_FILE, OPT_AUTO_REC, … … 453 467 { "turn-srv", 1, 0, OPT_TURN_SRV}, 454 468 { "turn-tcp", 0, 0, OPT_TURN_TCP}, 469 #if PJ_HAS_SSL_SOCK 470 { "turn-tls", 0, 0, OPT_TURN_TLS}, 471 { "turn-tls-ca-file",1, 0, OPT_TURN_TLS_CA_FILE}, 472 { "turn-tls-cert-file",1,0, OPT_TURN_TLS_CERT_FILE}, 473 { "turn-tls-privkey-file",1,0, OPT_TURN_TLS_PRIV_FILE}, 474 { "turn-tls-privkey-pwd",1,0, OPT_TURN_TLS_PASSWORD}, 475 { "turn-tls-neg-timeout", 1, 0, OPT_TURN_TLS_NEG_TIMEOUT}, 476 { "turn-tls-cipher", 1, 0, OPT_TURN_TLS_CIPHER}, 477 #endif 455 478 { "turn-user", 1, 0, OPT_TURN_USER}, 456 479 { "turn-passwd",1, 0, OPT_TURN_PASSWD}, … … 1009 1032 break; 1010 1033 1034 #if PJ_HAS_SSL_SOCK 1035 case OPT_TURN_TLS: 1036 cfg->media_cfg.turn_conn_type = 1037 cur_acc->turn_cfg.turn_conn_type = PJ_TURN_TP_TLS; 1038 break; 1039 case OPT_TURN_TLS_CA_FILE: 1040 cfg->media_cfg.turn_tls_setting.ca_list_file = 1041 cur_acc->turn_cfg.turn_tls_setting.ca_list_file = 1042 pj_str(pj_optarg); 1043 break; 1044 1045 case OPT_TURN_TLS_CERT_FILE: 1046 cfg->media_cfg.turn_tls_setting.cert_file = 1047 cur_acc->turn_cfg.turn_tls_setting.cert_file = 1048 pj_str(pj_optarg); 1049 break; 1050 1051 case OPT_TURN_TLS_PRIV_FILE: 1052 cfg->media_cfg.turn_tls_setting.privkey_file = 1053 cur_acc->turn_cfg.turn_tls_setting.privkey_file = 1054 pj_str(pj_optarg); 1055 break; 1056 1057 case OPT_TURN_TLS_PASSWORD: 1058 cfg->media_cfg.turn_tls_setting.password = 1059 cur_acc->turn_cfg.turn_tls_setting.password = 1060 pj_str(pj_optarg); 1061 break; 1062 1063 case OPT_TURN_TLS_NEG_TIMEOUT: 1064 cfg->media_cfg.turn_tls_setting.ssock_param.timeout.sec = 1065 cur_acc->turn_cfg.turn_tls_setting.ssock_param.timeout.sec = 1066 atoi(pj_optarg); 1067 break; 1068 1069 case OPT_TURN_TLS_CIPHER: 1070 { 1071 pj_ssl_cipher cipher; 1072 1073 if (pj_ansi_strnicmp(pj_optarg, "0x", 2) == 0) { 1074 pj_str_t cipher_st = pj_str(pj_optarg + 2); 1075 cipher = pj_strtoul2(&cipher_st, NULL, 16); 1076 } else { 1077 cipher = atoi(pj_optarg); 1078 } 1079 1080 if (pj_ssl_cipher_is_supported(cipher)) { 1081 static pj_ssl_cipher tls_ciphers[PJ_SSL_SOCK_MAX_CIPHERS]; 1082 pj_ssl_sock_param *ssock_param = 1083 &cfg->media_cfg.turn_tls_setting.ssock_param; 1084 1085 tls_ciphers[ssock_param->ciphers_num++] = cipher; 1086 ssock_param->ciphers = 1087 cur_acc->turn_cfg.turn_tls_setting.ssock_param.ciphers = 1088 tls_ciphers; 1089 } else { 1090 pj_ssl_cipher ciphers[PJ_SSL_SOCK_MAX_CIPHERS]; 1091 unsigned j, ciphers_cnt; 1092 1093 ciphers_cnt = PJ_ARRAY_SIZE(ciphers); 1094 pj_ssl_cipher_get_availables(ciphers, &ciphers_cnt); 1095 1096 PJ_LOG(1,(THIS_FILE, "Cipher \"%s\" is not supported by " 1097 "TLS/SSL backend.", pj_optarg)); 1098 printf("Available TLS/SSL ciphers (%d):\n", ciphers_cnt); 1099 for (j=0; j<ciphers_cnt; ++j) 1100 printf("- 0x%06X: %s\n", ciphers[j], 1101 pj_ssl_cipher_name(ciphers[j])); 1102 return -1; 1103 } 1104 } 1105 break; 1106 #endif 1107 1011 1108 case OPT_TURN_USER: 1012 1109 cfg->media_cfg.turn_auth_cred.type =
Note: See TracChangeset
for help on using the changeset viewer.