Changeset 4968 for pjproject/trunk/pjsip/src/pjsip/sip_transport_tls.c
- Timestamp:
- Dec 18, 2014 4:40:35 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjsip/src/pjsip/sip_transport_tls.c
r4882 r4968 186 186 187 187 188 static pj_uint32_t ssl_get_proto(pjsip_ssl_method ssl_method, pj_uint32_t proto) 189 { 190 pj_uint32_t out_proto; 191 192 if (proto) 193 return proto; 194 195 if (ssl_method == PJSIP_SSL_UNSPECIFIED_METHOD) 196 ssl_method = PJSIP_SSL_DEFAULT_METHOD; 197 198 switch(ssl_method) { 199 case PJSIP_SSLV2_METHOD: 200 out_proto = PJ_SSL_SOCK_PROTO_SSL2; 201 break; 202 case PJSIP_SSLV3_METHOD: 203 out_proto = PJ_SSL_SOCK_PROTO_SSL3; 204 break; 205 case PJSIP_TLSV1_METHOD: 206 out_proto = PJ_SSL_SOCK_PROTO_TLS1; 207 break; 208 case PJSIP_TLSV1_1_METHOD: 209 out_proto = PJ_SSL_SOCK_PROTO_TLS1_1; 210 break; 211 case PJSIP_TLSV1_2_METHOD: 212 out_proto = PJ_SSL_SOCK_PROTO_TLS1_2; 213 break; 214 case PJSIP_SSLV23_METHOD: 215 out_proto = PJ_SSL_SOCK_PROTO_SSL23; 216 break; 217 default: 218 out_proto = PJ_SSL_SOCK_PROTO_DEFAULT; 219 break; 220 } 221 return out_proto; 222 } 223 224 188 225 static void tls_init_shutdown(struct tls_transport *tls, pj_status_t status) 189 226 { … … 276 313 pj_bool_t is_ipv6; 277 314 int af, sip_ssl_method; 315 pj_uint32_t sip_ssl_proto; 278 316 struct tls_listener *listener; 279 317 pj_ssl_sock_param ssock_param; … … 369 407 370 408 sip_ssl_method = listener->tls_setting.method; 371 if (sip_ssl_method==PJSIP_SSL_UNSPECIFIED_METHOD) 372 sip_ssl_method = PJSIP_SSL_DEFAULT_METHOD; 373 374 switch(sip_ssl_method) { 375 case PJSIP_TLSV1_METHOD: 376 ssock_param.proto = PJ_SSL_SOCK_PROTO_TLS1; 377 break; 378 case PJSIP_SSLV2_METHOD: 379 ssock_param.proto = PJ_SSL_SOCK_PROTO_SSL2; 380 break; 381 case PJSIP_SSLV3_METHOD: 382 ssock_param.proto = PJ_SSL_SOCK_PROTO_SSL3; 383 break; 384 case PJSIP_SSLV23_METHOD: 385 ssock_param.proto = PJ_SSL_SOCK_PROTO_SSL23; 386 break; 387 default: 388 ssock_param.proto = PJ_SSL_SOCK_PROTO_DEFAULT; 389 break; 390 } 409 sip_ssl_proto = listener->tls_setting.proto; 410 ssock_param.proto = ssl_get_proto(sip_ssl_method, sip_ssl_proto); 391 411 392 412 /* Create group lock */ … … 964 984 struct tls_transport *tls; 965 985 int sip_ssl_method; 986 pj_uint32_t sip_ssl_proto; 966 987 pj_pool_t *pool; 967 988 pj_grp_lock_t *glock; … … 1028 1049 1029 1050 sip_ssl_method = listener->tls_setting.method; 1030 if (sip_ssl_method==PJSIP_SSL_UNSPECIFIED_METHOD) 1031 sip_ssl_method = PJSIP_SSL_DEFAULT_METHOD; 1032 1033 switch(sip_ssl_method) { 1034 case PJSIP_TLSV1_METHOD: 1035 ssock_param.proto = PJ_SSL_SOCK_PROTO_TLS1; 1036 break; 1037 case PJSIP_SSLV2_METHOD: 1038 ssock_param.proto = PJ_SSL_SOCK_PROTO_SSL2; 1039 break; 1040 case PJSIP_SSLV3_METHOD: 1041 ssock_param.proto = PJ_SSL_SOCK_PROTO_SSL3; 1042 break; 1043 case PJSIP_SSLV23_METHOD: 1044 ssock_param.proto = PJ_SSL_SOCK_PROTO_SSL23; 1045 break; 1046 default: 1047 ssock_param.proto = PJ_SSL_SOCK_PROTO_DEFAULT; 1048 break; 1049 } 1051 sip_ssl_proto = listener->tls_setting.proto; 1052 ssock_param.proto = ssl_get_proto(sip_ssl_method, sip_ssl_proto); 1050 1053 1051 1054 /* Create group lock */
Note: See TracChangeset
for help on using the changeset viewer.