Ignore:
Timestamp:
Jan 21, 2008 9:20:58 PM (16 years ago)
Author:
nanang
Message:

Ticket #452:

  • Applied preprocessor PJMEDIA_HAS_SRTP in PJMEDIA & PJSUA.
  • Applied preprocessor PJSUA_DEFAULT_USE_SRTP and PJSUA_DEFAULT_SRTP_SECURE_SIGNALING in PJSUA
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/users/nanang/pjsip-apps/src/samples/streamutil.c

    r1718 r1723  
    5656 "  --send-only           Set stream direction to send only             \n" 
    5757 "  --recv-only           Set stream direction to recv only (default)   \n" 
     58 
     59#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) 
    5860 "  --use-srtp[=NAME]     Enable SRTP with crypto suite NAME            \n" 
    5961 "                        e.g: AES_CM_128_HMAC_SHA1_80 (default),       \n" 
     
    6365 "  --srtp-tx-key         SRTP key for transmiting                      \n" 
    6466 "  --srtp-rx-key         SRTP key for receiving                        \n" 
     67#endif 
     68 
    6569 "\n" 
    6670; 
     
    133137                                  pj_uint16_t local_port, 
    134138                                  const pj_sockaddr_in *rem_addr, 
     139#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) 
    135140                                  pj_bool_t use_srtp, 
    136141                                  const pj_str_t *crypto_suite, 
    137142                                  const pj_str_t *srtp_tx_key, 
    138143                                  const pj_str_t *srtp_rx_key, 
     144#endif 
    139145                                  pjmedia_stream **p_stream ) 
    140146{ 
    141147    pjmedia_stream_info info; 
    142148    pjmedia_transport *transport = NULL; 
     149    pj_status_t status; 
     150#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) 
    143151    pjmedia_transport *srtp_tp = NULL; 
    144     pj_status_t status; 
     152#endif 
    145153 
    146154 
     
    174182        return status; 
    175183 
     184#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) 
    176185    /* Check if SRTP enabled */ 
    177186    if (use_srtp) { 
     
    194203        if (status != PJ_SUCCESS) 
    195204            return status; 
    196     } 
     205 
     206        transport = srtp_tp; 
     207    } 
     208#endif 
    197209 
    198210    /* Now that the stream info is initialized, we can create the  
     
    201213 
    202214    status = pjmedia_stream_create( med_endpt, pool, &info,  
    203                                     (use_srtp?srtp_tp:transport),  
     215                                    transport,  
    204216                                    NULL, p_stream); 
    205217 
     
    239251    pj_status_t status;  
    240252 
     253#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) 
    241254    /* SRTP variables */ 
    242255    pj_bool_t use_srtp = PJ_FALSE; 
     
    247260    pj_str_t  srtp_crypto_suite = {NULL, 0}; 
    248261    int tmp_key_len; 
     262#endif 
    249263 
    250264    /* Default values */ 
     
    266280        OPT_SEND_ONLY   = 's', 
    267281        OPT_RECV_ONLY   = 'i', 
     282#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) 
    268283        OPT_USE_SRTP    = 'S', 
     284#endif 
    269285        OPT_SRTP_TX_KEY = 'x', 
    270286        OPT_SRTP_RX_KEY = 'y', 
     
    281297        { "send-only",      0, 0, OPT_SEND_ONLY }, 
    282298        { "recv-only",      0, 0, OPT_RECV_ONLY }, 
     299#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) 
    283300        { "use-srtp",       2, 0, OPT_USE_SRTP }, 
    284301        { "srtp-tx-key",    1, 0, OPT_SRTP_TX_KEY }, 
    285302        { "srtp-rx-key",    1, 0, OPT_SRTP_RX_KEY }, 
     303#endif 
    286304        { "help",           0, 0, OPT_HELP }, 
    287305        { NULL, 0, 0, 0 }, 
     
    350368            break; 
    351369 
     370#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) 
    352371        case OPT_USE_SRTP: 
    353372            use_srtp = PJ_TRUE; 
     
    368387            pj_strset(&srtp_rx_key, tmp_rx_key, tmp_key_len/2); 
    369388            break; 
     389#endif 
    370390 
    371391        case OPT_HELP: 
     
    394414    } 
    395415 
     416#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) 
     417    /* SRTP validation */ 
    396418    if (use_srtp) { 
    397         if (((dir & PJMEDIA_DIR_ENCODING) && !srtp_tx_key.slen) || 
    398             ((dir & PJMEDIA_DIR_DECODING) && !srtp_rx_key.slen)) 
     419        if (!srtp_tx_key.slen || !srtp_rx_key.slen) 
    399420        { 
    400421            printf("Error: Key for each SRTP stream direction must be set\n"); 
     
    402423        } 
    403424    } 
     425#endif 
    404426 
    405427    /* Must create a pool factory before we can allocate any memory. */ 
     
    448470    status = create_stream(pool, med_endpt, codec_info, dir, local_port,  
    449471                           &remote_addr,  
     472#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) 
    450473                           use_srtp, &srtp_crypto_suite,  
    451474                           &srtp_tx_key, &srtp_rx_key, 
     475#endif 
    452476                           &stream); 
    453477    if (status != PJ_SUCCESS) 
Note: See TracChangeset for help on using the changeset viewer.