Ignore:
Timestamp:
Jun 20, 2012 10:39:05 AM (12 years ago)
Author:
ming
Message:

Fixed #1537: Via rewrite: putting the right IP address in Via sent-by for outgoing requests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsip-simple/publishc.c

    r3553 r4173  
    9595    pjsip_route_hdr              route_set; 
    9696    pjsip_hdr                    usr_hdr; 
     97    pjsip_host_port              via_addr; 
     98    const void                  *via_tp; 
    9799 
    98100    /* Authorization sessions. */ 
     
    342344        h = h->next; 
    343345    } 
     346 
     347    return PJ_SUCCESS; 
     348} 
     349 
     350PJ_DEF(pj_status_t) pjsip_publishc_set_via_sent_by(pjsip_publishc *pubc, 
     351                                                   pjsip_host_port *via_addr, 
     352                                                   pjsip_transport *via_tp) 
     353{ 
     354    PJ_ASSERT_RETURN(pubc, PJ_EINVAL); 
     355 
     356    if (!via_addr) 
     357        pj_bzero(&pubc->via_addr, sizeof(pubc->via_addr)); 
     358    else 
     359        pubc->via_addr = *via_addr; 
     360    pubc->via_tp = via_tp; 
    344361 
    345362    return PJ_SUCCESS; 
     
    740757    pj_mutex_unlock(pubc->mutex); 
    741758 
     759    /* If via_addr is set, use this address for the Via header. */ 
     760    if (pubc->via_addr.host.slen > 0) { 
     761        tdata->via_addr = pubc->via_addr; 
     762        tdata->via_tp = pubc->via_tp; 
     763    } 
     764 
    742765    /* Invalidate message buffer. */ 
    743766    pjsip_tx_data_invalidate_msg(tdata); 
Note: See TracChangeset for help on using the changeset viewer.