Changeset 1957


Ignore:
Timestamp:
May 15, 2008 10:07:36 AM (11 years ago)
Author:
bennylp
Message:

More ticket #533: fixed bug in Retry-After parser (thanks Samuel Vinson)

Location:
pjproject/trunk/pjsip/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsip/sip_parser.c

    r1954 r1957  
    18351835 
    18361836    while (!pj_scan_is_eof(scanner) && *scanner->curptr!='\r' && 
    1837            *scanner->curptr=='\n') 
     1837           *scanner->curptr!='\n') 
    18381838    { 
    18391839        if (*scanner->curptr=='(') { 
    18401840            pj_scan_get_quote(scanner, '(', ')', &hdr->comment); 
     1841            /* Trim the leading and ending parens */ 
     1842            hdr->comment.ptr++; 
     1843            hdr->comment.slen -= 2; 
    18411844        } else if (*scanner->curptr==';') { 
    18421845            pjsip_param *prm = PJ_POOL_ALLOC_T(ctx->pool, pjsip_param); 
  • pjproject/trunk/pjsip/src/test-pjsip/msg_test.c

    r1610 r1957  
    801801static int hdr_test_via_ipv6_2(pjsip_hdr *h); 
    802802static int hdr_test_via_ipv6_3(pjsip_hdr *h); 
     803static int hdr_test_retry_after1(pjsip_hdr *h); 
    803804 
    804805 
     
    973974        "SIP/2.0/UDP [::1];rport=5061;received=::2", 
    974975        &hdr_test_via_ipv6_3 
     976    }, 
     977 
     978    { 
     979        /* Retry-After header with comment */ 
     980        "Retry-After", NULL, 
     981        "10(Already Pending Register)", 
     982        &hdr_test_retry_after1 
    975983    } 
    976984}; 
     
    15231531    if (hdr->rport_param != 5061) 
    15241532        return -2850; 
     1533 
     1534    return 0; 
     1535} 
     1536 
     1537/* "10(Already Pending Register)" */ 
     1538static int hdr_test_retry_after1(pjsip_hdr *h) 
     1539{ 
     1540    pjsip_retry_after_hdr *hdr = (pjsip_retry_after_hdr*)h; 
     1541 
     1542    if (h->type != PJSIP_H_RETRY_AFTER) 
     1543        return -2910; 
     1544 
     1545    if (hdr->ivalue != 10) 
     1546        return -2920; 
     1547     
     1548    if (pj_strcmp2(&hdr->comment, "Already Pending Register")) 
     1549        return -2930; 
    15251550 
    15261551    return 0; 
Note: See TracChangeset for help on using the changeset viewer.