module: Remove deprecated modules and update support levels.

I have removed the STATIC_BUILD option immediately as it has not
been maintained in many years and is non-functional.

ASTERISK-27965

Change-Id: I64783d017b86dba9ee3c7bcfb97e59889a3f76d7
This commit is contained in:
Joshua Colp 2018-07-17 10:24:02 +00:00
parent a9cef123d9
commit 134e2f0ddc
27 changed files with 59 additions and 609 deletions

16
CHANGES
View File

@ -37,6 +37,11 @@ app_macro
built. Users should migrate to app_stack (Gosub). A warning is logged
the first time any Macro is used.
app_setcallerid
------------------
* The app_setcallerid module has been removed. The CALLERID dialplan function
should be used instead.
chan_sip
------------------
* New function SIP_HEADERS() enumerates all headers in the incoming INVITE.
@ -108,10 +113,21 @@ cdr_syslog
* The cdr_syslog module is now deprecated and by default it is no longer
built.
cdr_sqlite
------------------
* The cdr_sqlite module has been removed. Users should move to using the
cdr_sqlite3_custom module instead.
format_jpeg
------------------
* The format_jpeg module has been removed.
Core:
------------------
* libedit is no longer available as an embedded library and must be provided
by the system.
* The STATIC_BUILD functionality has been removed as it has not been maintained
and has not worked in quite some time.
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 15.5.0 to Asterisk 15.6.0 ------------

View File

@ -76,9 +76,6 @@ export AST_DEVMODE_STRICT # Enables shadow warnings (-Wshadow)
export _SOLINK # linker flags for all shared objects
export SOLINK # linker flags for loadable modules
export DYLINK # linker flags for shared libraries
export STATIC_BUILD # Additional cflags, set to -static
# for static builds. Probably
# should go directly to ASTLDFLAGS
#--- paths to various commands
# The makeopts include below tries to set these if they're found during

View File

@ -18,10 +18,6 @@
# Also note that we can only set one variable per rule, so we have to
# repeat the left hand side to set multiple variables.
ifneq ($(findstring STATIC_BUILD,$(MENUSELECT_CFLAGS)),)
STATIC_BUILD=-static
endif
include $(ASTTOPDIR)/Makefile.rules
# If MODULE_PREFIX is defined, use it to run the standard functions to set

View File

@ -176,17 +176,17 @@ ifeq ($(GNU_LD),1)
$(CMD_PREFIX) $(ASTTOPDIR)/build_tools/make_linker_version_script $* "$(LINKER_SYMBOL_PREFIX)" "$(ASTTOPDIR)"
endif
$(ECHO_PREFIX) echo " [LD] $^ -> $@"
$(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(CC_LDFLAGS_SO) $^ $(CC_LIBS)
$(CMD_PREFIX) $(CC) -o $@ $(CC_LDFLAGS_SO) $^ $(CC_LIBS)
%.so: %.oo
ifeq ($(GNU_LD),1)
$(CMD_PREFIX) $(ASTTOPDIR)/build_tools/make_linker_version_script $* "$(LINKER_SYMBOL_PREFIX)" "$(ASTTOPDIR)"
endif
$(ECHO_PREFIX) echo " [LDXX] $^ -> $@"
$(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(CXX_LDFLAGS_SO) $^ $(CXX_LIBS)
$(CMD_PREFIX) $(CXX) -o $@ $(CXX_LDFLAGS_SO) $^ $(CXX_LIBS)
%: %.o
$(ECHO_PREFIX) echo " [LD] $^ -> $@"
$(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(_ASTLDFLAGS) $^ $(CXX_LIBS) $(ASTLDFLAGS)
$(CMD_PREFIX) $(CXX) -o $@ $(PTHREAD_CFLAGS) $(_ASTLDFLAGS) $^ $(CXX_LIBS) $(ASTLDFLAGS)
dist-clean:: clean

View File

@ -36,7 +36,7 @@
/*** MODULEINFO
<depend>res_adsi</depend>
<support_level>extended</support_level>
<support_level>deprecated</support_level>
***/
#include "asterisk.h"
@ -1610,7 +1610,7 @@ static int load_module(void)
}
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Asterisk ADSI Programming Application",
.support_level = AST_MODULE_SUPPORT_EXTENDED,
.support_level = AST_MODULE_SUPPORT_DEPRECATED,
.load = load_module,
.unload = unload_module,
.requires = "res_adsi",

View File

@ -27,7 +27,7 @@
/*** MODULEINFO
<depend>dahdi</depend>
<support_level>extended</support_level>
<support_level>deprecated</support_level>
***/
#include "asterisk.h"
@ -226,4 +226,4 @@ static int load_module(void)
return ((ast_register_application_xml(app, dahdiras_exec)) ? AST_MODULE_LOAD_DECLINE : AST_MODULE_LOAD_SUCCESS);
}
AST_MODULE_INFO_STANDARD_EXTENDED(ASTERISK_GPL_KEY, "DAHDI ISDN Remote Access Server");
AST_MODULE_INFO_STANDARD_DEPRECATED(ASTERISK_GPL_KEY, "DAHDI ISDN Remote Access Server");

View File

@ -42,25 +42,6 @@
#include "asterisk/lock.h"
/*** DOCUMENTATION
<application name="DBdel" language="en_US">
<synopsis>
Delete a key from the asterisk database.
</synopsis>
<syntax argsep="/">
<parameter name="family" required="true" />
<parameter name="key" required="true" />
</syntax>
<description>
<para>This application will delete a <replaceable>key</replaceable> from the Asterisk
database.</para>
<note><para>This application has been DEPRECATED in favor of the DB_DELETE function.</para></note>
</description>
<see-also>
<ref type="function">DB_DELETE</ref>
<ref type="application">DBdeltree</ref>
<ref type="function">DB</ref>
</see-also>
</application>
<application name="DBdeltree" language="en_US">
<synopsis>
Delete a family or keytree from the asterisk database.
@ -75,13 +56,11 @@
</description>
<see-also>
<ref type="function">DB_DELETE</ref>
<ref type="application">DBdel</ref>
<ref type="function">DB</ref>
</see-also>
</application>
***/
static const char d_app[] = "DBdel";
static const char dt_app[] = "DBdeltree";
static int deltree_exec(struct ast_channel *chan, const char *data)
@ -117,53 +96,14 @@ static int deltree_exec(struct ast_channel *chan, const char *data)
return 0;
}
static int del_exec(struct ast_channel *chan, const char *data)
{
char *argv, *family, *key;
static int deprecation_warning = 0;
if (!deprecation_warning) {
deprecation_warning = 1;
ast_log(LOG_WARNING, "The DBdel application has been deprecated in favor of the DB_DELETE dialplan function!\n");
}
argv = ast_strdupa(data);
if (strchr(argv, '/')) {
family = strsep(&argv, "/");
key = strsep(&argv, "\0");
if (!family || !key) {
ast_debug(1, "Ignoring; Syntax error in argument\n");
return 0;
}
ast_verb(3, "DBdel: family=%s, key=%s\n", family, key);
if (ast_db_del(family, key))
ast_verb(3, "DBdel: Error deleting key from database.\n");
} else {
ast_debug(1, "Ignoring, no parameters\n");
}
return 0;
}
static int unload_module(void)
{
int retval;
retval = ast_unregister_application(dt_app);
retval |= ast_unregister_application(d_app);
return retval;
return ast_unregister_application(dt_app);
}
static int load_module(void)
{
int retval;
retval = ast_register_application_xml(d_app, del_exec);
retval |= ast_register_application_xml(dt_app, deltree_exec);
return retval;
return ast_register_application_xml(dt_app, deltree_exec);
}
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Database Access Functions");

View File

@ -26,7 +26,7 @@
*/
/*** MODULEINFO
<support_level>extended</support_level>
<support_level>deprecated</support_level>
***/
#include "asterisk.h"
@ -137,7 +137,7 @@ static int load_module(void)
}
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Get ADSI CPE ID",
.support_level = AST_MODULE_SUPPORT_EXTENDED,
.support_level = AST_MODULE_SUPPORT_DEPRECATED,
.load = load_module,
.unload = unload_module,
.requires = "res_adsi",

View File

@ -28,7 +28,7 @@
*/
/*** MODULEINFO
<support_level>extended</support_level>
<support_level>deprecated</support_level>
***/
#include "asterisk.h"
@ -211,4 +211,4 @@ static int load_module(void)
return ast_register_application_xml(app, ices_exec);
}
AST_MODULE_INFO_STANDARD_EXTENDED(ASTERISK_GPL_KEY, "Encode and Stream via icecast and ices");
AST_MODULE_INFO_STANDARD_DEPRECATED(ASTERISK_GPL_KEY, "Encode and Stream via icecast and ices");

View File

@ -26,7 +26,7 @@
*/
/*** MODULEINFO
<support_level>extended</support_level>
<support_level>deprecated</support_level>
***/
#include "asterisk.h"
@ -104,4 +104,4 @@ static int load_module(void)
return ast_register_application_xml(app, sendimage_exec);
}
AST_MODULE_INFO_STANDARD_EXTENDED(ASTERISK_GPL_KEY, "Image Transmission Application");
AST_MODULE_INFO_STANDARD_DEPRECATED(ASTERISK_GPL_KEY, "Image Transmission Application");

View File

@ -26,7 +26,7 @@
*/
/*** MODULEINFO
<support_level>extended</support_level>
<support_level>deprecated</support_level>
***/
#include "asterisk.h"
@ -220,4 +220,4 @@ static int load_module(void)
return ast_register_application_xml(app, NBScat_exec);
}
AST_MODULE_INFO_STANDARD_EXTENDED(ASTERISK_GPL_KEY, "Silly NBS Stream Application");
AST_MODULE_INFO_STANDARD_DEPRECATED(ASTERISK_GPL_KEY, "Silly NBS Stream Application");

View File

@ -1,128 +0,0 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief App to set callerid presentation
*
* \author Mark Spencer <markster@digium.com>
*
* \ingroup applications
*/
/*** MODULEINFO
<defaultenabled>no</defaultenabled>
<support_level>deprecated</support_level>
<replacement>func_callerid</replacement>
***/
#include "asterisk.h"
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/translate.h"
#include "asterisk/image.h"
#include "asterisk/callerid.h"
/*** DOCUMENTATION
<application name="SetCallerPres" language="en_US">
<synopsis>
Set CallerID Presentation.
</synopsis>
<syntax>
<parameter name="presentation" required="true">
<enumlist>
<enum name="allowed_not_screened">
<para>Presentation Allowed, Not Screened.</para>
</enum>
<enum name="allowed_passed_screen">
<para>Presentation Allowed, Passed Screen.</para>
</enum>
<enum name="allowed_failed_screen">
<para>Presentation Allowed, Failed Screen.</para>
</enum>
<enum name="allowed">
<para>Presentation Allowed, Network Number.</para>
</enum>
<enum name="prohib_not_screened">
<para>Presentation Prohibited, Not Screened.</para>
</enum>
<enum name="prohib_passed_screen">
<para>Presentation Prohibited, Passed Screen.</para>
</enum>
<enum name="prohib_failed_screen">
<para>Presentation Prohibited, Failed Screen.</para>
</enum>
<enum name="prohib">
<para>Presentation Prohibited, Network Number.</para>
</enum>
<enum name="unavailable">
<para>Number Unavailable.</para>
</enum>
</enumlist>
</parameter>
</syntax>
<description>
<para>Set Caller*ID presentation on a call.</para>
</description>
</application>
***/
static char *app2 = "SetCallerPres";
static int setcallerid_pres_exec(struct ast_channel *chan, const char *data)
{
int pres = -1;
static int deprecated = 0;
if (!deprecated) {
deprecated = 1;
ast_log(LOG_WARNING, "SetCallerPres is deprecated. Please use Set(CALLERPRES()=%s) instead.\n", (char *)data);
}
/* For interface consistency, permit the argument to be specified as a number */
if (sscanf(data, "%30d", &pres) != 1 || pres < 0 || pres > 255 || (pres & 0x9c)) {
pres = ast_parse_caller_presentation(data);
}
if (pres < 0) {
ast_log(LOG_WARNING, "'%s' is not a valid presentation (see 'show application SetCallerPres')\n",
(char *) data);
return 0;
}
/* Set the combined caller id presentation. */
ast_channel_caller(chan)->id.name.presentation = pres;
ast_channel_caller(chan)->id.number.presentation = pres;
return 0;
}
static int unload_module(void)
{
return ast_unregister_application(app2);
}
static int load_module(void)
{
return ast_register_application_xml(app2, setcallerid_pres_exec);
}
AST_MODULE_INFO_STANDARD_DEPRECATED(ASTERISK_GPL_KEY, "Set CallerID Presentation Application");

View File

@ -26,7 +26,7 @@
*/
/*** MODULEINFO
<support_level>extended</support_level>
<support_level>deprecated</support_level>
***/
#include "asterisk.h"
@ -177,4 +177,4 @@ static int load_module(void)
return ast_register_application_xml(app, sendurl_exec);
}
AST_MODULE_INFO_STANDARD_EXTENDED(ASTERISK_GPL_KEY, "Send URL Applications");
AST_MODULE_INFO_STANDARD_DEPRECATED(ASTERISK_GPL_KEY, "Send URL Applications");

View File

@ -16,9 +16,6 @@
<member name="AO2_DEBUG" displayname="Enable internal Astobj2 debugging">
<support_level>extended</support_level>
</member>
<member name="STATIC_BUILD" displayname="Build static binaries">
<support_level>extended</support_level>
</member>
<member name="DEBUG_FD_LEAKS" displayname="Enable File Descriptor Leak Detection">
<support_level>core</support_level>
</member>

View File

@ -1,252 +0,0 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 2004 - 2005, Holger Schurig
*
*
* Ideas taken from other cdr_*.c files
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*!
* \file
* \brief Store CDR records in a SQLite database.
*
* \author Holger Schurig <hs4233@mail.mn-solutions.de>
* SQLite http://www.sqlite.org/
*
* See also
* \arg \ref Config_cdr
* \arg http://www.sqlite.org/
*
* Creates the database and table on-the-fly
* \ingroup cdr_drivers
*
* \note This module has been marked deprecated in favor for cdr_sqlite3_custom
*/
/*** MODULEINFO
<depend>sqlite</depend>
<defaultenabled>no</defaultenabled>
<support_level>deprecated</support_level>
<replacement>sqlite3_custom</replacement>
***/
#include "asterisk.h"
#include <sqlite.h>
#include "asterisk/channel.h"
#include "asterisk/module.h"
#include "asterisk/utils.h"
#include "asterisk/paths.h"
#define LOG_UNIQUEID 0
#define LOG_USERFIELD 0
#define LOG_HRTIME 0
/* When you change the DATE_FORMAT, be sure to change the CHAR(19) below to something else */
#define DATE_FORMAT "%Y-%m-%d %T"
static const char name[] = "sqlite";
static sqlite* db = NULL;
AST_MUTEX_DEFINE_STATIC(sqlite_lock);
/*! \brief SQL table format */
static const char sql_create_table[] = "CREATE TABLE cdr ("
" AcctId INTEGER PRIMARY KEY,"
" clid VARCHAR(80),"
" src VARCHAR(80),"
" dst VARCHAR(80),"
" dcontext VARCHAR(80),"
" channel VARCHAR(80),"
" dstchannel VARCHAR(80),"
" lastapp VARCHAR(80),"
" lastdata VARCHAR(80),"
" start CHAR(19),"
" answer CHAR(19),"
" end CHAR(19),"
#if LOG_HRTIME
" duration FLOAT,"
" billsec FLOAT,"
#else
" duration INTEGER,"
" billsec INTEGER,"
#endif
" disposition INTEGER,"
" amaflags INTEGER,"
" accountcode VARCHAR(20)"
#if LOG_UNIQUEID
" ,uniqueid VARCHAR(32)"
#endif
#if LOG_USERFIELD
" ,userfield VARCHAR(255)"
#endif
");";
static void format_date(char *buffer, size_t length, struct timeval *when)
{
struct ast_tm tm;
ast_localtime(when, &tm, NULL);
ast_strftime(buffer, length, DATE_FORMAT, &tm);
}
static int sqlite_log(struct ast_cdr *cdr)
{
int res = 0;
char *zErr = 0;
char startstr[80], answerstr[80], endstr[80];
int count;
#if LOG_HRTIME
double hrbillsec = 0.0;
double hrduration;
#endif
ast_mutex_lock(&sqlite_lock);
format_date(startstr, sizeof(startstr), &cdr->start);
format_date(answerstr, sizeof(answerstr), &cdr->answer);
format_date(endstr, sizeof(endstr), &cdr->end);
#if LOG_HRTIME
if (!ast_tvzero(cdr->answer)) {
hrbillsec = (double) ast_tvdiff_us(cdr->end, cdr->answer) / 1000000.0;
}
hrduration = (double) ast_tvdiff_us(cdr->end, cdr->start) / 1000000.0;
#endif
for(count=0; count<5; count++) {
res = sqlite_exec_printf(db,
"INSERT INTO cdr ("
"clid,src,dst,dcontext,"
"channel,dstchannel,lastapp,lastdata, "
"start,answer,end,"
"duration,billsec,disposition,amaflags, "
"accountcode"
# if LOG_UNIQUEID
",uniqueid"
# endif
# if LOG_USERFIELD
",userfield"
# endif
") VALUES ("
"'%q', '%q', '%q', '%q', "
"'%q', '%q', '%q', '%q', "
"'%q', '%q', '%q', "
#if LOG_HRTIME
"%f, %f, %d, %d, "
#else
"%d, %d, %d, %d, "
#endif
"'%q'"
# if LOG_UNIQUEID
",'%q'"
# endif
# if LOG_USERFIELD
",'%q'"
# endif
")", NULL, NULL, &zErr,
cdr->clid, cdr->src, cdr->dst, cdr->dcontext,
cdr->channel, cdr->dstchannel, cdr->lastapp, cdr->lastdata,
startstr, answerstr, endstr,
#if LOG_HRTIME
hrduration, hrbillsec, cdr->disposition, cdr->amaflags,
#else
cdr->duration, cdr->billsec, cdr->disposition, cdr->amaflags,
#endif
cdr->accountcode
# if LOG_UNIQUEID
,cdr->uniqueid
# endif
# if LOG_USERFIELD
,cdr->userfield
# endif
);
if (res != SQLITE_BUSY && res != SQLITE_LOCKED)
break;
usleep(200);
}
if (zErr) {
ast_log(LOG_ERROR, "cdr_sqlite: %s\n", zErr);
ast_free(zErr);
}
ast_mutex_unlock(&sqlite_lock);
return res;
}
static int unload_module(void)
{
if (ast_cdr_unregister(name)) {
return -1;
}
if (db) {
sqlite_close(db);
}
return 0;
}
static int load_module(void)
{
char *zErr;
char fn[PATH_MAX];
int res;
ast_log(LOG_NOTICE, "This module has been marked deprecated in favor of "
"using cdr_sqlite3_custom.\n");
/* is the database there? */
snprintf(fn, sizeof(fn), "%s/cdr.db", ast_config_AST_LOG_DIR);
db = sqlite_open(fn, AST_FILE_MODE, &zErr);
if (!db) {
ast_log(LOG_ERROR, "cdr_sqlite: %s\n", zErr);
ast_free(zErr);
return AST_MODULE_LOAD_DECLINE;
}
/* is the table there? */
res = sqlite_exec(db, "SELECT COUNT(AcctId) FROM cdr;", NULL, NULL, NULL);
if (res) {
res = sqlite_exec(db, sql_create_table, NULL, NULL, &zErr);
if (res) {
ast_log(LOG_ERROR, "cdr_sqlite: Unable to create table 'cdr': %s\n", zErr);
ast_free(zErr);
goto err;
}
/* TODO: here we should probably create an index */
}
res = ast_cdr_register(name, ast_module_info->description, sqlite_log);
if (res) {
ast_log(LOG_ERROR, "Unable to register SQLite CDR handling\n");
return AST_MODULE_LOAD_DECLINE;
}
return AST_MODULE_LOAD_SUCCESS;
err:
if (db)
sqlite_close(db);
return AST_MODULE_LOAD_DECLINE;
}
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "SQLite CDR Backend",
.support_level = AST_MODULE_SUPPORT_DEPRECATED,
.load = load_module,
.unload = unload_module,
.load_pri = AST_MODPRI_CDR_DRIVER,
.requires = "cdr",
);

View File

@ -76,7 +76,8 @@
<depend>isdnnet</depend>
<depend>misdn</depend>
<depend>suppserv</depend>
<support_level>extended</support_level>
<support_level>deprecated</support_level>
<replacement>chan_dahdi</replacement>
***/
#include "asterisk.h"
@ -12829,7 +12830,7 @@ static void chan_misdn_log(int level, int port, char *tmpl, ...)
}
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "Channel driver for mISDN Support (BRI/PRI)",
.support_level = AST_MODULE_SUPPORT_EXTENDED,
.support_level = AST_MODULE_SUPPORT_DEPRECATED,
.load = load_module,
.unload = unload_module,
.reload = reload,

View File

@ -27,7 +27,7 @@
/*** MODULEINFO
<depend>nbs</depend>
<support_level>extended</support_level>
<support_level>deprecated</support_level>
***/
#include "asterisk.h"
@ -270,4 +270,4 @@ static int load_module(void)
return AST_MODULE_LOAD_SUCCESS;
}
AST_MODULE_INFO_STANDARD_EXTENDED(ASTERISK_GPL_KEY, "Network Broadcast Sound Support");
AST_MODULE_INFO_STANDARD_DEPRECATED(ASTERISK_GPL_KEY, "Network Broadcast Sound Support");

View File

@ -40,7 +40,7 @@
/*** MODULEINFO
<depend>oss</depend>
<support_level>extended</support_level>
<support_level>deprecated</support_level>
***/
#include "asterisk.h"
@ -1524,4 +1524,4 @@ static int load_module(void)
return AST_MODULE_LOAD_SUCCESS;
}
AST_MODULE_INFO_STANDARD_EXTENDED(ASTERISK_GPL_KEY, "OSS Console Channel Driver");
AST_MODULE_INFO_STANDARD_DEPRECATED(ASTERISK_GPL_KEY, "OSS Console Channel Driver");

View File

@ -35,7 +35,7 @@
/*** MODULEINFO
<depend>ixjuser</depend>
<support_level>extended</support_level>
<support_level>deprecated</support_level>
***/
#include "asterisk.h"
@ -1514,4 +1514,4 @@ static int load_module(void)
return AST_MODULE_LOAD_SUCCESS;
}
AST_MODULE_INFO_STANDARD_EXTENDED(ASTERISK_GPL_KEY, "Linux Telephony API Support");
AST_MODULE_INFO_STANDARD_DEPRECATED(ASTERISK_GPL_KEY, "Linux Telephony API Support");

View File

@ -50,7 +50,7 @@
/*** MODULEINFO
<depend>vpb</depend>
<defaultenabled>no</defaultenabled>
<support_level>extended</support_level>
<support_level>deprecated</support_level>
***/
#include <vpbapi.h>
@ -2875,4 +2875,4 @@ static enum ast_module_load_result load_module()
#endif
/**/
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Voicetronix API driver");
AST_MODULE_INFO_STANDARD_DEPRECATED(ASTERISK_GPL_KEY, "Voicetronix API driver");

View File

@ -1,115 +0,0 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 1999 - 2005, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief JPEG File format support.
*
* \arg File name extension: jpeg, jpg
* \ingroup formats
*/
/*** MODULEINFO
<support_level>extended</support_level>
***/
#include "asterisk.h"
#include "asterisk/mod_format.h"
#include "asterisk/module.h"
#include "asterisk/image.h"
#include "asterisk/endian.h"
#include "asterisk/format_cache.h"
static struct ast_frame *jpeg_read_image(int fd, int len)
{
struct ast_frame fr;
int res;
char buf[65536];
if (len > sizeof(buf) || len < 0) {
ast_log(LOG_WARNING, "JPEG image too large to read\n");
return NULL;
}
res = read(fd, buf, len);
if (res < len) {
ast_log(LOG_WARNING, "Only read %d of %d bytes: %s\n", res, len, strerror(errno));
}
memset(&fr, 0, sizeof(fr));
fr.frametype = AST_FRAME_IMAGE;
fr.subclass.format = ast_format_jpeg;
fr.data.ptr = buf;
fr.src = "JPEG Read";
fr.datalen = len;
return ast_frisolate(&fr);
}
static int jpeg_identify(int fd)
{
char buf[10];
int res;
res = read(fd, buf, sizeof(buf));
if (res < sizeof(buf))
return 0;
if (memcmp(buf + 6, "JFIF", 4))
return 0;
return 1;
}
static int jpeg_write_image(int fd, struct ast_frame *fr)
{
int res=0;
if (fr->datalen) {
res = write(fd, fr->data.ptr, fr->datalen);
if (res != fr->datalen) {
ast_log(LOG_WARNING, "Only wrote %d of %d bytes: %s\n", res, fr->datalen, strerror(errno));
return -1;
}
}
return res;
}
static struct ast_imager jpeg_format = {
.name = "jpg",
.desc = "JPEG (Joint Picture Experts Group)",
.exts = "jpg|jpeg",
.read_image = jpeg_read_image,
.identify = jpeg_identify,
.write_image = jpeg_write_image,
};
static int load_module(void)
{
jpeg_format.format = ast_format_jpeg;
if (ast_image_register(&jpeg_format))
return AST_MODULE_LOAD_DECLINE;
return AST_MODULE_LOAD_SUCCESS;
}
static int unload_module(void)
{
ast_image_unregister(&jpeg_format);
return 0;
}
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "jpeg (joint picture experts group) image format",
.support_level = AST_MODULE_SUPPORT_EXTENDED,
.load = load_module,
.unload = unload_module,
.load_pri = AST_MODPRI_APP_DEPEND
);

View File

@ -205,7 +205,7 @@ ifeq ($(GNU_LD),1)
$(CMD_PREFIX) $(ASTTOPDIR)/build_tools/make_linker_version_script libasteriskssl "$(LINKER_SYMBOL_PREFIX)" "$(ASTTOPDIR)"
endif
$(ECHO_PREFIX) echo " [LD] $^ -> $@"
$(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(CC_LDFLAGS_SO) $^ $(CC_LIBS)
$(CMD_PREFIX) $(CC) -o $@ $(CC_LDFLAGS_SO) $^ $(CC_LIBS)
$(ASTSSL_LIB): $(ASTSSL_LIB).$(ASTSSL_SO_VERSION)
$(ECHO_PREFIX) echo " [LN] $< -> $@"
@ -224,7 +224,7 @@ $(ASTSSL_LIB): SOLINK=$(DYLINK)
# Special rules for building a shared library (not a dynamically loadable module)
$(ASTSSL_LIB): libasteriskssl.o
$(ECHO_PREFIX) echo " [LD] $^ -> $@"
$(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(CC_LDFLAGS_SO) $^ $(CC_LIBS)
$(CMD_PREFIX) $(CC) -o $@ $(CC_LDFLAGS_SO) $^ $(CC_LIBS)
endif
endif
@ -282,7 +282,7 @@ $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): SOLINK=$(DYLINK)
# type that are built by the standard rules)
$(ASTPJ_LIB).$(ASTPJ_SO_VERSION): libasteriskpj.o libasteriskpj.exports
$(ECHO_PREFIX) echo " [LD] $< -> $@"
$(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(CC_LDFLAGS_SO) $< $(CC_LIBS)
$(CMD_PREFIX) $(CC) -o $@ $(CC_LDFLAGS_SO) $< $(CC_LIBS)
$(ASTPJ_LIB): $(ASTPJ_LIB).$(ASTPJ_SO_VERSION)
$(ECHO_PREFIX) echo " [LN] $< -> $@"
@ -301,7 +301,7 @@ $(ASTPJ_LIB): SOLINK=$(DYLINK)
# Special rules for building a shared library (not a dynamically loadable module)
$(ASTPJ_LIB): libasteriskpj.o
$(ECHO_PREFIX) echo " [LD] $^ -> $@"
$(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(CC_LDFLAGS_SO) $^ $(CC_LIBS)
$(CMD_PREFIX) $(CC) -o $@ $(CC_LDFLAGS_SO) $^ $(CC_LIBS)
endif
endif
@ -312,7 +312,7 @@ tcptls.o: _ASTCFLAGS+=$(OPENSSL_INCLUDE) -Wno-deprecated-declarations
$(MAIN_TGT): $(OBJS) $(MOD_OBJS) $(ASTSSL_LIB) $(ASTPJ_LIB)
@$(CC) -c -o buildinfo.o $(_ASTCFLAGS) buildinfo.c $(ASTCFLAGS)
$(ECHO_PREFIX) echo " [LD] $(OBJS) $(MOD_OBJS) -> $@"
$(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLINK) $(_ASTLDFLAGS) $(ASTLDFLAGS) $(OBJS) $(MOD_OBJS) $(ASTSSL_LDLIBS) $(ASTPJ_LDLIBS) buildinfo.o $(AST_LIBS) $(GMIMELDFLAGS) $(LIBEDIT_LIB)
$(CMD_PREFIX) $(CXX) -o $@ $(ASTLINK) $(_ASTLDFLAGS) $(ASTLDFLAGS) $(OBJS) $(MOD_OBJS) $(ASTSSL_LDLIBS) $(ASTPJ_LDLIBS) buildinfo.o $(AST_LIBS) $(GMIMELDFLAGS) $(LIBEDIT_LIB)
ifeq ($(GNU_LD),1)
$(MAIN_TGT): asterisk.exports

View File

@ -535,8 +535,6 @@
</member>
<member name="DEBUG_THREADS" displayname="Enable Thread Debugging">
</member>
<member name="STATIC_BUILD" displayname="Build static binaries">
</member>
<member name="LOADABLE_MODULES" displayname="Runtime module loading">
<defaultenabled>yes</defaultenabled>
</member>

View File

@ -31,7 +31,7 @@
*/
/*** MODULEINFO
<support_level>core</support_level>
<support_level>deprecated</support_level>
***/
#include "asterisk.h"
@ -1208,7 +1208,7 @@ static int unload_module(void)
}
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "ADSI Resource",
.support_level = AST_MODULE_SUPPORT_CORE,
.support_level = AST_MODULE_SUPPORT_DEPRECATED,
.load = load_module,
.unload = unload_module,
.reload = reload,

View File

@ -24,7 +24,7 @@
/*** MODULEINFO
<depend>res_ael_share</depend>
<support_level>extended</support_level>
<support_level>deprecated</support_level>
***/
#define ASTMM_LIBC ASTMM_IGNORE

View File

@ -45,7 +45,7 @@
*/
/*** MODULEINFO
<support_level>extended</support_level>
<support_level>deprecated</support_level>
***/
#include "asterisk/autoconfig.h"

View File

@ -1,7 +1,7 @@
<category name="MENUSELECT_UTILS" displayname="Utilities" positive_output="yes">
<member name="aelparse">
<defaultenabled>no</defaultenabled>
<support_level>extended</support_level>
<support_level>deprecated</support_level>
</member>
<member name="astcanary">
<defaultenabled>yes</defaultenabled>
@ -18,7 +18,7 @@
<member name="astman">
<defaultenabled>no</defaultenabled>
<depend>newt</depend>
<support_level>extended</support_level>
<support_level>deprecated</support_level>
</member>
<member name="check_expr">
<defaultenabled>no</defaultenabled>
@ -30,11 +30,11 @@
</member>
<member name="conf2ael">
<defaultenabled>no</defaultenabled>
<support_level>extended</support_level>
<support_level>deprecated</support_level>
</member>
<member name="muted">
<defaultenabled>no</defaultenabled>
<support_level>extended</support_level>
<support_level>deprecated</support_level>
</member>
<member name="smsq">
<defaultenabled>no</defaultenabled>