Changeset 5579 for pjproject


Ignore:
Timestamp:
Apr 7, 2017 4:00:30 AM (2 years ago)
Author:
nanang
Message:

Fixed #2010: Updated PJSUA to store the user part of an account ID in escaped form.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsua-lib/pjsua_acc.c

    r5535 r5579  
    203203        acc->srv_domain = sip_uri->host; 
    204204        acc->srv_port = 0; 
     205 
     206        /* Escape user part (ticket #2010) */ 
     207        if (acc->user_part.slen) { 
     208            const pjsip_parser_const_t *pconst; 
     209            char buf[PJSIP_MAX_URL_SIZE]; 
     210            pj_str_t user_part; 
     211 
     212            pconst = pjsip_parser_const(); 
     213            pj_strset(&user_part, buf, sizeof(buf)); 
     214            pj_strncpy_escape(&user_part, &sip_uri->user, sizeof(buf), 
     215                              &pconst->pjsip_USER_SPEC_LENIENT); 
     216            if (user_part.slen > acc->user_part.slen) 
     217                pj_strdup(acc->pool, &acc->user_part, &user_part); 
     218        } 
    205219    } 
    206220    acc->is_sips = PJSIP_URI_SCHEME_IS_SIPS(name_addr); 
Note: See TracChangeset for help on using the changeset viewer.