When building check_expr2 with ASLR PIE hardening enabled the linker
fails. This is resolved by adding the regular compiler flags when
building the object files from ast_expr2f.c and ast_expr2.c.
Note: The STANDALONE define is removed because it is already defined in
_ASTCFLAGS. YY_NO_INPUT is defined so that the compile survives
'--enable-dev-mode'.
Also, a Makefile variable "CROSS_COMPILING" is added so that the
build system doesn't try to run check_expr2 when cross-compiling,
because that will fail the build as will.
ASTERISK-28685 #close
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Change-Id: If435b7db9f9ad8266245bda51c81c220f9658915
Because keypad() is exported by libtinfo, it needs to be explicitly
added to the linker options.
ASTERISK-28487 #close
Change-Id: I6c2ad5b95f422c263d078b5c0e84c111807dffc6
This change adds support for larger TLS certificates by allowing
OpenSSL to fragment the DTLS packets according to the configured
MTU. By default this is set to 1200.
This is accomplished by implementing our own BIO method that
supports MTU querying. The configured MTU is returned to OpenSSL
which fragments the packet accordingly. When a packet is to be
sent it is done directly out the RTP instance.
ASTERISK-28018
Change-Id: If2d5032019a28ffd48f43e9e93ed71dbdbf39c06
AttendedTransfer queues up attended transfer to the given extension.
This application can be useful with Custom Dynamic Features.
For example to make attended transfer to a predefined number.
features.conf
;;;
[applicationmap]
my_atxfer => *7,self,GoSub,"my_atxfer,s,1",default
;;;
extensions.conf
;;;
[globals]
DYNAMIC_FEATURES=my_atxfer
TRANSFER_CONTEXT=my_transfer
[my_atxfer]
exten => s,1,AttendedTransfer(1234567890)
same => n,Return()
[my_transfer]
include => default
;;;
This application also can be used to completly redefine Attended transfer
feature using dialplan. For example:
features.conf
;;;
[featuremap]
atxfer => *7
[applicationmap]
custom_atxfer => *2,self,GoSub,"custom_atxfer,s,1",default
;;;
extensions.conf
;;;
[globals]
DYNAMIC_FEATURES=custom_atxfer
TRANSFER_CONTEXT=my_transfer
[custom_atxfer]
exten => s,1,
same => n,Playback(pbx-transfer)
same => n,Read(dest,dial,10,i,3,3)
same => n,AttendedTransfer(${dest})
same => n,Return()
[my_transfer]
include => default
;;;
Change-Id: Ie5cfa455d0813cffd5c85a6fb117f07d8f0b903b
BlindTransfer redirects all channels currently bridged to the
caller channel to the specified destination.
This application can be useful with Custom Dynamic Features.
For example to make blind transfer to a predefined number.
features.conf
;;;
[applicationmap]
my_blindxfer => *6,self,GoSub,"my_blindxfer,s,1",default
;;;
extensions.conf
;;;
[globals]
DYNAMIC_FEATURES=my_blindxfer
[my_blindxfer]
exten => s,1,BlindTransfer(1234567890,default)
same => n,Return()
;;;
This application also can be used to completly redefine Blind transfer
feature using dialplan. For example:
features.conf
;;;
[featuremap]
blindxfer =>
[applicationmap]
custom_blindxfer => ##,self,GoSub,"custom_blindxfer,s,1",default
;;;
extensions.conf
;;;
[globals]
DYNAMIC_FEATURES=custom_blindxfer
[custom_blindxfer]
exten => s,1,
same => n,Playback(pbx-transfer)
same => n,Read(dest,dial,10,i,3,3)
same => n,BlindTransfer(${dest},default)
same => n,Return()
;;;
Change-Id: I9d55e7f69ccfd4472dec00d62771d6de8803215a
This file was added to the Subversion repository on 2007-03-15 by
Russell Bryant, a Digium employee at the time.
ASTERISK-24173 #close
Change-Id: Ie866fa9d31d550467613d362b35b03c031ee594d
When writing an RTCP report to json the code attempts to pack the "ssrc" and
"source_ssrc" unsigned integer values as a signed int value type. This of course
means if the ssrc's unsigned value is greater than that which can fit into a
signed integer value it gets converted to a negative number. Subsequently, the
negative value goes out in the json report.
This patch now packs the value as a json_int_t, which is the widest integer type
available on a given system. This should make it so the value no longer
overflows.
Note, this was caught by two failing tests hep/rtcp-receiver/ and
hep/rtcp-sender.
Change-Id: I2af275286ee5e795b79f0c3d450d9e4b28e958b0
The check for the library ncurses should use not use the header <curses.h> but
<ncurses.h>, because on some platforms <curses.h> is not a drop-in replacement
for <ncurses.h>: For example in Solaris, the symbol initscr is a typedef in
<curses.h> to a symbol which does not exist in the library ncurses (initscr32).
Simply use <ncurses.h> when you link to ncurses.
Furthermore in Solaris, the header <ncurses.h> is in a subdirectory
/usr/include/ncurses and not available via pkg-config.
ASTERISK-15331
ASTERISK-14935
ASTERISK-12382
ASTERISK-9107
Change-Id: Ife367776b0ccf17d3fefed868245376bfb93745d
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
Acccording to the man page for sprintf, using the same buffer for
output as one used as an input yields undefined behavior.
This patch should work around this problem.
ASTERISK-27903
Reported-by: Alexander Traud
Change-Id: I2213dcb454aff26457e2e4cc9c6821276463ae3a
In DragonFly BSD, added libraries from ports are placed into /usr/local.
Therefore, this directory must be added for the preprocessor, compiler, and
linker.
Beside that, the script ./configure was updated:
* OSARCH list was outdated and not used, removed.
* AC_CANONICAL_BUILD was not used.
* _REENTRANT, this feature test macro is obsolete.
ASTERISK-27820
Change-Id: I186d88d99cfa4de6569888e12ac97bd2f441c422
Asterisk requires GNU C extensions. On some systems certain libraries
may incorrectly push -std=c99 into CFLAGS, thus breaking the build.
This change causes that flag to be stripped so the Asterisk build is not
broken by those libraries. This change is made for both pkgconfig and
tool based libraries.
ASTERISK-27629 #close
Change-Id: I13389613b194abbac77becf90cd950dc168704db
This allows asterisk to be compiled with MALLOC_DEBUG to load modules
built without MALLOC_DEBUG. Now pre-compiled third-party modules will
still work regardless of MALLOC_DEBUG being enabled or not.
Change-Id: Ic07ad80b2c2df894db984cf27b16a69383ce0e10
This causes the root bootstrap.sh script to generate configure scripts
for both Asterisk and menuselect. This ensures that both configure
scripts are generated with the same version of autotools and avoids
situations where shared autoconf macros get modified without
regenerating the menuselect script.
Change-Id: I2bfd8537bbb63b3d46b11efabbb15eaaf9ef731a
menuselect/Makefile checks that autoconfig.h and makeopts were newer
than the '.in' files. Unfortunately running ./configure does not touch
autoconfig.h unless the contents will change.
Instead of looking at autoconfig.h we just need to ensure that makeopts
is newer than configure.
Also make change to configure.ac so bootstrap.sh doesn't re-add the
extra trailing line-feed.
Change-Id: Ief1f831d6717007f9cebb668c14e92782cd2b794
Fix instances of:
* Retreive
* Recieve
* other then
* different then
* Repeated words ("the the", "an an", "and and", etc).
* othterwise, teh
ASTERISK-24198 #close
Change-Id: I3809a9c113b92fd9d0d9f9bac98e9c66dc8b2d31
Recently menuselect has randomly produced an error stating that
configure was just run and make had to be restarted. I believe this is
due to an incorrect menuselect/Makefile rule. The original rule
produced an error if makeopts or autoconfig.h were older than
makeopts.in or autoconfig.h.in. I believe this can create an issue if
makeopts is older than autoconfig.h.in or if autoconfig.h is older than
makeopts.in. The new rules compare files independently.
Change-Id: Ibca155035fa1392c95e33cbf25f257902abba17b
menuselect detects compiler support for multiple styles of weak
functions. This is a remnant from 2013 when OPTIONAL_API required weak
functions. It is no longer correct for menuselect to switch
dependencies from optional to required based on lack of weak function
support.
Note an issue remains - dependencies should switch from optional to
required based on OPTIONAL_API being enabled or disabled. I don't think
this is possible. menuselect needs to know at startup if OPTIONAL_API
is enabled or disabled, so the only way to fix this is to remove
OPTIONAL_API from menuselect and create a configure option. I've left
the code that switches in place but it's preprocessed out.
Additionally removed:
- WEAKREF variable from Asterisk makeopts.in.
- Related disabled code from test_utils.
- Pointless AC_REVISION call from menuselect/configure.ac.
Change-Id: Ifa702e5f98eb45f338b2f131a93354632a8fb389
Adds binaural synthesis to bridge_softmix (via convolution using libfftw3).
Binaural synthesis is conducted at 48kHz.
For a conference, only one spatial representation is rendered.
The default rendering is applied for mono-capable channels.
ASTERISK-26292
Change-Id: Iecdb381b6adc17c961049658678f6219adae1ddf
configuire.ac was only checking for the existence of pkg-config
and not the gtk2 package itself. Now it calls AST_PKG_CONFIG_CHECK
for gtk+-2.0.
ASTERISK-26356 #close
Change-Id: I93e9d0166341f0e7f84b52955bb6f81da42f2ef6
The strdupa function is a GNU extension, and not widely portable. We
have an ast_strdupa function used within Asterisk which is preferred.
I pulled the definition up from menuselect.c into the menuselect.h
header file so it can be shared across menuselect.
Change-Id: I9593c97f78386b47dc1e83201e80cb2f62b36c2e
* Add 'external' as a support level.
* Add ability for module directories to add entries to the menu
by adding members to the <module_prefix>/<module_prefix>.xml file.
* Expand the description field to 3 lines in the ncurses implementation.
* Allow the description field to wrap in the newt implementation.
* Add description field to the gtk implementation.
Change-Id: I7f9600a1984a42ce0696db574c1051bc9ad7c808
I can't ever recall actually needing the intermediate files or the checking
that a double compile produces. What I CAN remember is every DONT_OPTIMIZE
build needing 3 invocations of gcc instead of 1 just to do the checks and
produce those intermediate files.
Having said that, Richard pointed out that the reason for the double compile
was that there were cases in the past where a submitted patch failed to compile
because the submitter never tried it with the optimizations turned on.
To get the best of both worlds, COMPILE_DOUBLE has been split into its own
option. If DONT_OPTIMIZE is turned on, COMPILE_DOUBLE will also be selected
BUT you can then turn it off if all you need are the debugging symbols. This
way you have to make an informed decision about disabling COMPILE_DOUBLE.
To allow COMPILE_DOUBLE to be both auto-selected and turned off, a new feature
was added to menuselect. The <use> element can now contain an "autoselect"
attribute which will turn the used member on but not create a hard dependency.
The cflags.xml implementation for COMPILE_DOUBLE looks like this...
<member name="DONT_OPTIMIZE" displayname="Disable Optimizations ...">
<use autoselect="yes">COMPILE_DOUBLE</use>
<support_level>core</support_level>
</member>
<member name="COMPILE_DOUBLE" displayname="Pre-compile with ...>
<depend>DONT_OPTIMIZE</depend>
<support_level>core</support_level>
</member>
When DONT_OPTIMIZE is turned on, COMPILE_DOUBLE is turned on because
of the use.
When DONT_OPTIMIZE is turned off, COMPILE_DOUBLE is turned off because
of the depend.
When COMPILE_DOUBLE is turned on, DONT_OPTIMIZE is turned on because
of the depend.
When COMPILE_DOUBLE is turned off, DONT_OPTIMIZE is left as is because
it only uses COMPILE_DOUBLE, it doesn't depend on it.
I also made a few tweaks to the ncurses implementation to move things
left a bit to allow longer descriptions.
Change-Id: Id49ca930ac4b5ec4fc2d8141979ad888da7b1611
GCC 4.7 Manual:
http://gcc.gnu.org/onlinedocs/gcc-4.7.4/gcc/Function-Attributes.html
weakref ("target")
A weak reference is an alias that does not by itself require a definition
to be given for the target symbol.
ASTERISK-22559 #close
Reported by: Ibercom
Change-Id: I36a136cae947b65187a697533416f9ff9a0b8cdf
Add the .gitignore and .gitreview files to the asterisk repo.
NB: You can add local ignores to the .git/info/exclude file
without having to do a commit.
Common ignore patterns are in the top-level .gitignore file.
Subdirectory-specific ignore patterns are in their own .gitignore
files.
Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
Tested-by: George Joseph
The commit that added libxml2 support didn't fully check for the libxml2
development script in the Asterisk configure file. As a result, Asterisk could
be configured, then fail on menuselect. This patch fixes it so that Asterisk
should detect the libxml2 dependency failure first.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This is the final patch in adding menuselect to Asterisk.
- The first patch (r418832) added menuselect along with mxml
- The second patch (r418833) removed mxml from menuselect
This patch adds support for libxml2 to menuselect, and makes libxml2 a
required library for Asterisk.
Note that the libxml2 portion of this patch was written by Sean Bright,
and was made available on a team branch:
http://svn.digium.com/svn/menuselect/team/seanbright/libxml2/
Review: https://reviewboard.asterisk.org/r/3773/
ASTERISK-20703 #close
patches:
some_mysterious_team_branch uploaded by seanbright (License 5060)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This is the second patch that adds menuselect to Asterisk trunk. The previous
commit (r418832) added menuselect along with mxml; this patch removes mxml
completely from Menuselect.
A subsequent patch will switch menuselect over to using libxml2, and make
libxml2 a required dependency for Asterisk.
ASTERISK-20703
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This is the first patch that adds menuselect to Asterisk trunk, and removes
the svn:externals property. This is being done for two reasons:
(1) The removal of external repositories eases a future migration to git
(2) Asterisk is now the only thing that uses menuselect; as a result, there's
little need to keep it in an external repository
Subsequent patches will remove the mxml dependency from menuselect and tidy
up the build system.
ASTERISK-20703
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418832 65c4cc65-6c06-0410-ace0-fbb531ad65f3