[asterisk-bugs] [JIRA] (ASTERISK-28046) Remove stale nonoptreq references

Corey Farrell (JIRA) noreply at issues.asterisk.org
Tue Sep 11 03:54:54 CDT 2018


    [ https://issues.asterisk.org/jira/browse/ASTERISK-28046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=244755#comment-244755 ] 

Corey Farrell commented on ASTERISK-28046:
------------------------------------------

FWIW I did some major work on the module loader for 16+, nonoptreq does not exist in 16 or master.  Since nothing actually reads that field in 13/15 I have no objection to removing it from all modules (just leave it in modules.h for ABI reasons).

> Remove stale nonoptreq references
> ---------------------------------
>
>                 Key: ASTERISK-28046
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28046
>             Project: Asterisk
>          Issue Type: Improvement
>      Security Level: None
>          Components: General
>    Affects Versions: 13.22.0, 15.6.0, 16.0.0
>            Reporter: Walter Doekes
>
> Since this commit:
> {noformat}
> commit 9bed50db41690339ca64bdcc6d6bc1c6edfebe4a
> Author: David M. Lee <dlee at digium.com>
> Date:   Fri Aug 30 13:40:27 2013 +0000
>     optional_api: Fix linking problems between modules that export global symbols
> {noformat}
> the nonoptreq is not being used anymore.
> Because no one uses it, it is not updated either and may start to contain stale info.
> For instance: Asterisk 13.23 chan_sip contains nonoptreq=res_crypto,res_http_websocket
> but only res_http_websocket is actually used.
> Test (compile without OPTIONAL_API support in compiler flags):
> {noformat}
> *CLI> module load chan_sip.so 
> Unable to load module chan_sip.so
> Command 'module load chan_sip.so ' failed.
> [2018-09-11 10:34:25] WARNING[29777]: loader.c:583 load_dlopen: Error loading module 'chan_sip.so': /usr/lib/asterisk/modules/chan_sip.so: undefined symbol: ast_websocket_ref
> [2018-09-11 10:34:25] WARNING[29777]: loader.c:1182 load_resource: Module 'chan_sip.so' could not be loaded.
> *CLI> module load res_http_websocket.so 
> Loaded res_http_websocket.so
> *CLI> module load chan_sip.so
> SIP channel loading...
> [...]
> Loaded chan_sip.so
> *CLI> module show
> Module                         Description                              Use Count  Status      Support Level
> chan_sip.so                    Session Initiation Protocol (SIP)        0          Running              core
> res_http_websocket.so          HTTP WebSocket Support                   2          Running          extended
> 2 modules loaded
> {noformat}
> As far as I can tell, the res_crypto requirement there is outdated (I did not find any source refs to it in any other channel driver than chan_iax2.c).
> I suggest we:
> - blank out all the nonoptreq values in the current branches ({{"<unused>"}})
> - remove the parameter altogether in master



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



More information about the asterisk-bugs mailing list