This fixes the following compile-time warning:
cc1: note: someone does not honour COPTS correctly, passed 2 times
LTCOMPILE tport_type_connect.lo
cc1: note: someone does not honour COPTS correctly, passed 2 times
LTCOMPILE tport_type_ws.lo
cc1: note: someone does not honour COPTS correctly, passed 2 times
LTCOMPILE ws.lo
cc1: note: someone does not honour COPTS correctly, passed 2 times
ws.c: In function 'hton64':
ws.c:730:14: error: implicit declaration of function '__bswap_64' [-Werror=implicit-function-declaration]
else return __bswap_64(val);
^
cc1: all warnings being treated as errors
Makefile:1465: recipe for target 'ws.lo' failed
make[12]: *** [ws.lo] Error 1
Fix by including byteswap.h, which is available on Linux and also
everywhere glibc is used (wpa_supplicant includes this header the same
way).
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This fixes the following compile-time warning:
make[8]: Entering directory '/home/sk/tmp/lede/build_dir/target-mips_24kc_musl-1.1.15/freeswitch-1.8.0/src/mod/endpoints/mod_sofia'
CC mod_sofia_la-mod_sofia.lo
CC mod_sofia_la-sofia.lo
CC mod_sofia_la-sofia_glue.lo
CC mod_sofia_la-sofia_presence.lo
CC mod_sofia_la-sofia_reg.lo
CC mod_sofia_la-sofia_media.lo
CC mod_sofia_la-sip-dig.lo
In file included from sip-dig.c:137:0:
/home/sk/tmp/lede/build_dir/target-mips_24kc_musl-1.1.15/freeswitch-1.8.0/libs/sofia-sip/libsofia-sip-ua/bnf/../../config.h:522:0: error: "__BYTE_ORDER" redefined [-Werror]
#define __BYTE_ORDER __BIG_ENDIAN
^
In file included from /home/sk/tmp/lede/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.15/include/sys/types.h:70:0,
from ../../../../src/include/switch.h:107,
from sip-dig.c:135:
/home/sk/tmp/lede/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.15/include/endian.h:11:0: note: this is the location of the previous definition
#define __BYTE_ORDER __BYTE_ORDER__
^
cc1: all warnings being treated as errors
SWITCH_BYTE_ORDER is already used elsewhere in FS source and takes care
of changing byte order without causing a warning
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Backport upstream alignment fix to correct bus error on platforms
that require strict memory alignment such as SPARC
FS-8783 #resolve
From upstream:
commit 4d8430a504137509f23b5a19f8a06b6df0f651cc
Author: Jaap Keuter <jaap.keuter@xs4all.nl>
Date: Fri Nov 7 00:13:10 2014 +0100
While setting the IV for AES ICM the nonce is simply typecast from
a void * to a v128_t *. This breaches alignment requirements for
v128_t objects on platforms that require it.
Instead make a copy of the nonce to assure proper alignment.
Sofia will unpredictably close a tls transport during call setup. This
occurs when the epoll event loop wakes up the socket reader and SSL_read
returns an error because there is no packet on the socket. Normally
sofia will read the last error using SSL_get_error and return
SSL_ERROR_WANT_READ. Sofia gracefully handles this error and the
transport stays open. Sometimes, however, the worker thread will call
SSL_shutdown for a different transport, which can write an error to the
internal openssl error queue. If that error is not read off the queue,
the next time that SSL_get_error is called, it will read that unrelated
error.
The documentation for SSL_shutdown explains that there are three
possible results -1, 0 and 1 with, oddly, 1 indicating success. The -1
result code occurs when there is no handshake callback registered on the
connection. It can return 0 when there is still work to be done. The
documentation suggest that it is insufficient to call it just once. This
is why I added the do {} while () construct.
Although just the fix to SSL_shutdown was enough to resolve my issue, I
a also audited other calls to SSL_* functions and found a few other
cases where an error may be generated, but was not handled.
Misc code style fixes as well:
* Use static functions everywhere, no need to pollute the global namespace
* Rework some function names and variables to use lower case
Use the new parameter immediate-forwarding-numbers to configure
immediate forwarding logic that emulates hunt groups
The parameter syntax is:
[<span-name>:]<number>
Multiple elements can be specified separated by commas
If the <span-name> is specified, the span will be checked for
availability, if available, its number will be selected for
forwarding, otherwise next number will be checked
Forwarding is enabled as soon as a channel is answered and its
disabled when the channel is hung up
* Add error handing in mod_freetdm for ftdm trace failures
* Allow freetdm signaling modules to specify a destroy function
* Added conditional forwarding to the freetdm gsm module
Just specify the conditional-forwarding-number gsm parameter in freetdm.conf.xml
* Added new 'gsm call' freetdm command for raw GSM calls which can be
used to enable/disabling network features (e.g call *93) without
having to resort to use a full originate that requires routing the
call somewhere when answered
* Miscelaneous cleanup of piggy coding style left over by one of the
previous authors -_-
* commit '54be6fc57369a71685aaad59f4605b29194cc8f2':
ESL-111 Fix esl/python/Makefile to create install directory This need when using make install DESTDIR=...
configure.ac: honor NetBSD and SmartOS in search for system lua
src/switch_utf8.c: remove switch_u8_vprintf and switch_u8_printf
replace u_int32_t with C99 standard uint32_t, and also the same for
8,16,64 bit
The new C compiler breaks a lot of things. snprintf and timespec now exist, and redefining causes an error.
Many more things are warnings, so warnings-as-errors will fail - remove it from some projects for now.
V8: don't pass VS version to build batch file.
mod_sofia: Config has too-long if/elseif chain. Break this up to avoid "parser stack overflow; program too complex".
Add mod_conference.h to project and dir to includes.
add var=val member lookup usable wherver member_id is valid in api commands
add bgimg to layouts with api command or config for global setting
fix bug with overlap layouts combined with odd sized layers
improve switch_img_fit to take a modifier for fit, streach or both at once