Ignore:
Timestamp:
Dec 18, 2014 4:40:35 AM (9 years ago)
Author:
riza
Message:

Re #1806: Implement SSL/TLS setting to set protocol operation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/include/pjsip/sip_transport_tls.h

    r4860 r4968  
    5252#endif 
    5353 
     54 
    5455/** SSL protocol method constants. */ 
    5556typedef enum pjsip_ssl_method 
    5657{ 
    57     PJSIP_SSL_UNSPECIFIED_METHOD= 0,    /**< Default protocol method.   */ 
    58     PJSIP_TLSV1_METHOD          = 31,   /**< Use SSLv1 method.          */ 
    59     PJSIP_SSLV2_METHOD          = 20,   /**< Use SSLv2 method.          */ 
    60     PJSIP_SSLV3_METHOD          = 30,   /**< Use SSLv3 method.          */ 
    61     PJSIP_SSLV23_METHOD         = 23    /**< Use SSLv23 method.         */ 
     58    PJSIP_SSL_UNSPECIFIED_METHOD = 0,   /**< Default protocol method.   */     
     59    PJSIP_SSLV2_METHOD           = 20,  /**< Use SSLv2 method.          */ 
     60    PJSIP_SSLV3_METHOD           = 30,  /**< Use SSLv3 method.          */ 
     61    PJSIP_TLSV1_METHOD           = 31,  /**< Use TLSv1 method.          */ 
     62    PJSIP_TLSV1_1_METHOD         = 32,  /**< Use TLSv1_1 method.        */ 
     63    PJSIP_TLSV1_2_METHOD         = 33,  /**< Use TLSv1_2 method.        */ 
     64    PJSIP_SSLV23_METHOD          = 23,  /**< Use SSLv23 method.         */ 
    6265} pjsip_ssl_method; 
    6366 
    64  
    65  
     67/** 
     68 * The default enabled SSL proto to be used. 
     69 * Default is all protocol above TLSv1 (TLSv1 & TLS v1.1 & TLS v1.2). 
     70 */ 
     71#ifndef PJSIP_SSL_DEFAULT_PROTO 
     72#   define PJSIP_SSL_DEFAULT_PROTO  (PJ_SSL_SOCK_PROTO_TLS1 | \ 
     73                                     PJ_SSL_SOCK_PROTO_TLS1_1 | \ 
     74                                     PJ_SSL_SOCK_PROTO_TLS1_2) 
     75#endif 
    6676 
    6777/** 
     
    93103 
    94104    /** 
    95      * TLS protocol method from #pjsip_ssl_method, which can be: 
    96      *  - PJSIP_SSL_UNSPECIFIED_METHOD(0): default (which will use  
    97      *                                     PJSIP_SSL_DEFAULT_METHOD) 
    98      *  - PJSIP_TLSV1_METHOD(1):           TLSv1 
    99      *  - PJSIP_SSLV2_METHOD(2):           SSLv2 
    100      *  - PJSIP_SSLV3_METHOD(3):           SSL3 
    101      *  - PJSIP_SSLV23_METHOD(23):         SSL23 
     105     * TLS protocol method from #pjsip_ssl_method. In the future, this field 
     106     * might be deprecated in favor of <b>proto</b> field. For now, this field  
     107     * is only applicable only when <b>proto</b> field is set to zero. 
    102108     * 
    103109     * Default is PJSIP_SSL_UNSPECIFIED_METHOD (0), which in turn will 
    104      * use PJSIP_SSL_DEFAULT_METHOD, which default value is  
    105      * PJSIP_TLSV1_METHOD. 
    106      */ 
    107     int         method; 
     110     * use PJSIP_SSL_DEFAULT_METHOD, which default value is PJSIP_TLSV1_METHOD. 
     111     */ 
     112    pjsip_ssl_method    method; 
     113 
     114    /** 
     115     * TLS protocol type from #pj_ssl_sock_proto. Use this field to enable  
     116     * specific protocol type. Use bitwise OR operation to combine the protocol  
     117     * type. 
     118     * 
     119     * Default is PJSIP_SSL_DEFAULT_PROTO. 
     120     */ 
     121    pj_uint32_t proto; 
    108122 
    109123    /** 
     
    253267    tls_opt->qos_ignore_error = PJ_TRUE; 
    254268    tls_opt->sockopt_ignore_error = PJ_TRUE; 
     269    tls_opt->proto = PJSIP_SSL_DEFAULT_PROTO; 
    255270} 
    256271 
Note: See TracChangeset for help on using the changeset viewer.