Changeset 502


Ignore:
Timestamp:
Jun 13, 2006 10:25:05 PM (16 years ago)
Author:
bennylp
Message:

Fixed bugs in client authentication: (1)tx_data in reinit_req() is not invalidated, and (2)caching caused multiple identical authorization headers to be sent in one request

File:
1 edited

Legend:

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

    r401 r502  
    611611                        hauth = pjsip_hdr_shallow_clone(tdata->pool, entry->hdr); 
    612612                        pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)hauth); 
    613                     } else { 
    614 #                       if defined(PJSIP_AUTH_AUTO_SEND_NEXT) && \ 
    615                            PJSIP_AUTH_AUTO_SEND_NEXT!=0 
    616                         { 
    617                             new_auth_for_req( tdata, sess, auth, NULL); 
    618                         } 
    619 #                       endif 
     613                        break; 
    620614                    } 
    621615                    entry = entry->next; 
    622616                } 
     617 
     618#               if defined(PJSIP_AUTH_AUTO_SEND_NEXT) && \ 
     619                           PJSIP_AUTH_AUTO_SEND_NEXT!=0 
     620                { 
     621                    if (entry == &auth->cached_hdr) 
     622                        new_auth_for_req( tdata, sess, auth, NULL); 
     623                } 
     624#               endif 
     625 
    623626            } 
    624627#           elif defined(PJSIP_AUTH_AUTO_SEND_NEXT) && \ 
     
    826829    via->branch_param.slen = 0; 
    827830 
     831    /* Must invalidate the message! */ 
     832    pjsip_tx_data_invalidate_msg(tdata); 
     833 
    828834    /* Increment reference counter. */ 
    829835    pjsip_tx_data_add_ref(tdata); 
Note: See TracChangeset for help on using the changeset viewer.