[asterisk-bugs] [Asterisk 0011102]: ast_unescape_semicolon causes SIP NOTIFY to loop for snom-check-cfg and snom-reboot

noreply at bugs.digium.com noreply at bugs.digium.com
Mon Oct 29 08:21:55 CDT 2007


The following issue has been RESOLVED. 
====================================================================== 
http://bugs.digium.com/view.php?id=11102 
====================================================================== 
Reported By:                fabianhoppe
Assigned To:                file
====================================================================== 
Project:                    Asterisk
Issue ID:                   11102
Category:                   Channels/chan_sip/General
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     resolved
Asterisk Version:           1.4.13  
SVN Branch (only for SVN checkouts, not tarball releases): N/A  
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
Resolution:                 duplicate
Duplicate:                  10550
Fixed in Version:           
====================================================================== 
Date Submitted:             10-29-2007 03:43 CDT
Last Modified:              10-29-2007 08:21 CDT
====================================================================== 
Summary:                    ast_unescape_semicolon causes SIP NOTIFY to loop for
snom-check-cfg and snom-reboot
Description: 
When executing a SIP NOTIFY, the called message from sip_notify.conf is
read and "unescaped" by calling utils.c/ast_unescape_semicolon. Most
notifies don't contain semicolons but snom-check-cfg and snom-reboot.

The first SIP NOTIFY sip-check-cfg works fine but executing this command a
second time results in the SIP NOTIFY is being executed and hanging in a
loop. The Asterisk process starts to consume 100% CPU and needs to get
restarted.

This is caused through an error in utils.c/ast_unescape_semicolon which
parses through the notify message and replaces the "\;" by ";". This works
fine the first time, the command is called but any further initiation
results in a loop as all semicolon are already "unescaped". 

The code finds a ';' in the variable e but the if-statement is false as no
matching '\\' exists at (e-1). Therefore the while condition stay true for
ever. Please under "additional information" for a bug fix.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
duplicate of        0010550 SIP Notify on Snom phones causes Asteri...
====================================================================== 

---------------------------------------------------------------------- 
 file - 10-29-07 08:21  
---------------------------------------------------------------------- 
Closed as this is a duplicate of 10550. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
10-29-07 08:21  file           Relationship added       duplicate of 0010550
10-29-07 08:21  file           Duplicate ID             0 => 10550          
10-29-07 08:21  file           Status                   new => resolved     
10-29-07 08:21  file           Resolution               open => duplicate   
10-29-07 08:21  file           Assigned To               => file            
10-29-07 08:21  file           Note Added: 0072616                          
======================================================================




More information about the asterisk-bugs mailing list