@ -1335,7 +1335,6 @@ static struct sip_auth *find_realm_authentication(struct sip_auth *authlist, con
/*--- Misc functions */
static void check_rtp_timeout ( struct sip_pvt * dialog , time_t t ) ;
static int sip_do_reload ( enum channelreloadreason reason ) ;
static int reload_config ( enum channelreloadreason reason ) ;
static int expire_register ( const void * data ) ;
static void * do_monitor ( void * data ) ;
@ -13384,7 +13383,7 @@ static int transmit_request(struct sip_pvt *p, int sipmethod, int seqno, enum xm
return send_request ( p , & resp , reliable , seqno ? seqno : p - > ocseq ) ;
}
/*! \brief return the request and response heade for a 401 or 407 code */
/*! \brief return the request and response heade r for a 401 or 407 code */
static void auth_headers ( enum sip_auth_type code , char * * header , char * * respheader )
{
if ( code = = WWW_AUTH ) { /* 401 */
@ -17357,13 +17356,13 @@ static char *_sip_show_peer(int type, int fd, struct mansession *s, const struct
ast_cli ( fd , " Status : " ) ;
peer_status ( peer , status , sizeof ( status ) ) ;
ast_cli ( fd , " %s \n " , status ) ;
ast_cli ( fd , " Useragent : %s \n " , peer - > useragent ) ;
ast_cli ( fd , " Reg. Contact : %s \n " , peer - > fullcontact ) ;
ast_cli ( fd , " Useragent : %s \n " , peer - > useragent ) ;
ast_cli ( fd , " Reg. Contact : %s \n " , peer - > fullcontact ) ;
ast_cli ( fd , " Qualify Freq : %d ms \n " , peer - > qualifyfreq ) ;
if ( peer - > chanvars ) {
ast_cli ( fd , " Variables : \n " ) ;
ast_cli ( fd , " Variables : \n " ) ;
for ( v = peer - > chanvars ; v ; v = v - > next )
ast_cli ( fd , " %s = %s \n " , v - > name , v - > value ) ;
ast_cli ( fd , " %s = %s \n " , v - > name , v - > value ) ;
}
ast_cli ( fd , " Sess-Timers : %s \n " , stmode2str ( peer - > stimer . st_mode_oper ) ) ;
@ -17457,13 +17456,13 @@ static char *_sip_show_peer(int type, int fd, struct mansession *s, const struct
astman_append ( s , " Status: " ) ;
peer_status ( peer , status , sizeof ( status ) ) ;
astman_append ( s , " %s \r \n " , status ) ;
astman_append ( s , " SIP-Useragent: %s \r \n " , peer - > useragent ) ;
astman_append ( s , " Reg-Contact: %s \r \n " , peer - > fullcontact ) ;
astman_append ( s , " SIP-Useragent: %s \r \n " , peer - > useragent ) ;
astman_append ( s , " Reg-Contact: %s \r \n " , peer - > fullcontact ) ;
astman_append ( s , " QualifyFreq: %d ms \r \n " , peer - > qualifyfreq ) ;
astman_append ( s , " Parkinglot: %s \r \n " , peer - > parkinglot ) ;
if ( peer - > chanvars ) {
for ( v = peer - > chanvars ; v ; v = v - > next ) {
astman_append ( s , " ChanVariable: %s=%s \r \n " , v - > name , v - > value ) ;
astman_append ( s , " ChanVariable: %s=%s \r \n " , v - > name , v - > value ) ;
}
}
astman_append ( s , " SIP-Use-Reason-Header : %s \r \n " , ( ast_test_flag ( & peer - > flags [ 1 ] , SIP_PAGE2_Q850_REASON ) ) ? " Y " : " N " ) ;
@ -19093,7 +19092,7 @@ static int build_reply_digest(struct sip_pvt *p, int method, char* digest, int d
username = p - > authname ;
secret = p - > relatedpeer
& & ! ast_strlen_zero ( p - > relatedpeer - > remotesecret )
? p - > relatedpeer - > remotesecret : p - > peersecret ;
? p - > relatedpeer - > remotesecret : p - > peersecret ;
md5secret = p - > peermd5secret ;
}
if ( ast_strlen_zero ( username ) ) /* We have no authentication */
@ -19117,7 +19116,7 @@ static int build_reply_digest(struct sip_pvt *p, int method, char* digest, int d
/* only include the opaque string if it's set */
if ( ! ast_strlen_zero ( p - > opaque ) ) {
snprintf ( opaque , sizeof ( opaque ) , " , opaque= \" %s \" " , p - > opaque ) ;
snprintf ( opaque , sizeof ( opaque ) , " , opaque= \" %s \" " , p - > opaque ) ;
}
/* XXX We hard code our qop to "auth" for now. XXX */
@ -30003,6 +30002,7 @@ static int load_module(void)
if ( ! ( sip_tech . capabilities = ast_format_cap_alloc ( ) ) ) {
return AST_MODULE_LOAD_FAILURE ;
}
/* the fact that ao2_containers can't resize automatically is a major worry! */
/* if the number of objects gets above MAX_XXX_BUCKETS, things will slow down */
peers = ao2_t_container_alloc ( HASH_PEER_SIZE , peer_hash_cb , peer_cmp_cb , " allocate peers " ) ;
@ -30011,6 +30011,11 @@ static int load_module(void)
dialogs_needdestroy = ao2_t_container_alloc ( HASH_DIALOG_SIZE , dialog_hash_cb , dialog_cmp_cb , " allocate dialogs_needdestroy " ) ;
dialogs_rtpcheck = ao2_t_container_alloc ( HASH_DIALOG_SIZE , dialog_hash_cb , dialog_cmp_cb , " allocate dialogs for rtpchecks " ) ;
threadt = ao2_t_container_alloc ( HASH_DIALOG_SIZE , threadt_hash_cb , threadt_cmp_cb , " allocate threadt table " ) ;
if ( ! peers | | ! peers_by_ip | | ! dialogs | | ! dialogs_needdestroy | | ! dialogs_rtpcheck
| | ! threadt ) {
ast_log ( LOG_ERROR , " Unable to create primary SIP container(s) \n " ) ;
return AST_MODULE_LOAD_FAILURE ;
}
if ( ! ( sip_cfg . caps = ast_format_cap_alloc ( ) ) ) {
return AST_MODULE_LOAD_FAILURE ;
@ -30034,7 +30039,7 @@ static int load_module(void)
sip_reloadreason = CHANNEL_MODULE_LOAD ;
can_parse_xml = sip_is_xml_parsable ( ) ;
if ( reload_config ( sip_reloadreason ) ) { /* Load the configuration from sip.conf */
if ( reload_config ( sip_reloadreason ) ) { /* Load the configuration from sip.conf */
return AST_MODULE_LOAD_DECLINE ;
}