[asterisk-bugs] [JIRA] (ASTERISK-25305) Dynamic logger channels can be added multiple times

Mark Michelson (JIRA) noreply at issues.asterisk.org
Fri Sep 25 11:01:33 CDT 2015


     [ https://issues.asterisk.org/jira/browse/ASTERISK-25305?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mark Michelson closed ASTERISK-25305.
-------------------------------------


> Dynamic logger channels can be added multiple times
> ---------------------------------------------------
>
>                 Key: ASTERISK-25305
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25305
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Core/Logging
>    Affects Versions: 13.4.0
>            Reporter: Mark Michelson
>
> The {{logger add channel}} command attempts to determine if the specified log channel exists before adding the new channel. Unfortunately, this does not work properly when relative paths are specified for the logger channel.
> If I run {{logger add channel bob debug}} then that will create a logger channel in the configured log directory (by default /var/log/asterisk/). If I run the command a second time, then the CLI command attempts to find if the channel exists already. Unfortunately, the comparison it runs is to check if "/var/log/asterisk/bob" matches "bob". Since this does not match, an identical logger channel is created. You can continue running the command as much as you want. The result can be something like:
> {noformat}
> *CLI> logger show channels 
> Channel                             Type     Status    Configuration
> -------                             ----     ------    -------------
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/bob               File     Enabled    - DEBUG 
> /var/log/asterisk/alice             File     Enabled    - NOTICE 
> /var/log/asterisk/bob               File     Enabled    - NOTICE 
> /var/log/asterisk/bob               File     Enabled    - NOTICE 
> /var/log/asterisk/full              File     Enabled    - DEBUG NOTICE WARNING ERROR VERBOSE DTMF FAX 
> /var/log/asterisk/messages          File     Enabled    - NOTICE WARNING ERROR 
>                                     Console  Enabled    - DEBUG NOTICE WARNING ERROR 
> {noformat}
> And if you check on the contents of the bob file after placing a call, you'll see something like:
> {noformat}
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> [Aug  5 14:26:45] DEBUG[15788] res_pjsip_session.c: Response is 200 OK
> {noformat}
> Yep, the message is written to the file once for each time that the bob channel shows up in the list of logger channels.
> The fix for this is to normalize the CLI input to match what the stored log channel will be, and then perform the comparison.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list