Commit graph

60 commits

Author SHA1 Message Date
Robert Högberg
8a2f8231fb yate: Update yate script to use an nftables set
By using an nftables set in this script it's easier to install
and use this script now that OpenWrt uses nftables by default.

Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
2023-10-10 23:55:53 +02:00
Sergey V. Lobanov
fb23e4f004 yate: fix build on macos
yate configure script uses `uname -s` to determine OS and changes
build logic regarding to build host OS. OpenWrt is always Linux so
it should be built as for Linux.

This patch uses fakeuname tool to pass `uname -s` checks as Linux
on macos build host.

Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
2022-02-06 11:46:51 +03:00
Sebastian Kemper
ec400c16c3 yate: disable parallel builds
Sporadic build failures are visible on the build bots.

libyate.so: undefined reference to `TelEngine::ClientLogic::initStaticData()'
libyate.so: undefined reference to `TelEngine::DefaultLogic::DefaultLogic(char const*, int)'
collect2: error: ld returned 1 exit status

Turning off parallel builds should (hopefully) work around this.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2021-09-22 18:29:41 +02:00
Robert Högberg
7c35652d3a yate: bump to 6.4.0
Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
2021-08-03 20:34:31 +02:00
Robert Högberg
621352af15 yate: increase max acceptable size of incoming SIP messages
Some SIP UAs support lots of features and codecs which results in
large SIP messages. YATE, with its default configuration, truncates
and fails to parse received SIP messages which are larger than 1500
bytes. Let's increase the default max message size for OpenWrt users
to make it easier to use yate out-of-the-box.

The new max size of 8192 bytes has been arbitrarily chosen.

I've seen the SIP UA baresip produce messages larger than 1500 bytes
with its default configuration when authentication is used.

Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
2021-06-08 10:30:36 +02:00
Robert Högberg
da7fcbd600 yate: bump to 6.3.0 and enable speex codec
New yate modules in this release:
yate-mod-ilbcwebrtc
yate-mod-speexcodec
yate-mod-wiresniff

Some patches were removed:
110-no-libnsl.patch - not needed
120-create-thread-key-on-access.patch - not needed
150-video-codecs-mapping.patch - already applied upstream

Some additional changes:
* An upstream fix (r6470) is cherry-picked to avoid crashing when YATE
  receives an invalid SIP message.

* Build directory changed to include package version.

* Set PKG_BUILD_PARALLEL to allow parallelized build of yate.

* Speed up build if yate-mod-ilbccodec or yate-mod-sqlitedb is
  disabled (disable ilbc and sqlite in configure step).

* Removing umbrella package yate-collection-basic. It isn't built and
  hasn't been built for years and I think the modules it wants to
  install are a bit strange and probably not useful to most
  users. From the name yate-collection-basic I would expect to get
  some basic functionality, but why would I then need
  yate-mod-dumbchan, yate-mod-rmanager and yate-mod-tonegen? What is
  the use case? I think it's better that users themselves install the
  packages needed for their use case, especially in OpenWrt where
  flash space usually is limited and you don't want to install more
  packages than what you really need.

Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
2021-06-07 12:46:45 +02:00
Rosen Penev
13fd0a5ab9 treewide: remove uClibc++ support
This is in preparation for removing the whole thing from base.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-03-06 14:45:47 -08:00
Robert Högberg
a026c0ee63 yate: Revert to internal regex implementation
.. because the musl implementation doesn't seem to be fully compatible
with yate. We switched to the musl implementation in f6ad95d.

Yate has this regexp:
^([[:alpha:]][[:alnum:]]+:)?/?/?([^[:space:][:cntrl:]@]+@)?([[:alnum:]._+-]+|[[][[:xdigit:].:]+[]])(:[0-9]+)?

Given a string like

  sip:012345678@11.111.11.111:5060;user=phone

musl's regexec() returns these matches:

index start end
0     -1    0
1     0     32   sip:012345678@11.111.11.111:5060
2     -1    -1
3     0     14   sip:012345678@
4     14    27   11.111.11.111
5     27    32   :5060

.. but this is what yate expects:

index start end
0     -1    0
1     0     32   sip:012345678@11.111.11.111:5060
2     0     4    sip:
3     4     14   012345678@
4     14    27   11.111.11.111
5     27    32   :5060

Fixes #378

Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
2018-10-02 19:48:18 +02:00
Sebastian Kemper
6315dcd5bf yate: update to 6.1.0
Upgrade yate. The video codec mapping patch needed some small changes.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-07-12 22:25:01 +02:00
Sebastian Kemper
0234b91cba yate: fix mod-mysqldb compile
Since libmariadb 10.2.x requires to be linked in together with iconv,
include nls.mk to help the build system find it.

Also fix a type in PKG_CONFIG_DEPENDS.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-07-12 22:22:20 +02:00
Sebastian Kemper
32fa1723c9 yate: fix mysql detection
When configure is called with '--with-mysql="$(STAGING_DIR)/usr"' it tries
to detect mysql manually instead of using mysql_config. This doesn't always
work:

<snip>
checking for MySQL in /var/lib/buildbot/slaves/slave-lede-builds4/i386_pentium4/build/sdk/staging_dir/target-i386_pentium4_musl/usr... no
<snip>

This commit changes the configure argument to '--with-mysql=yes/no'. When
'yes' is selected configure uses mysql_config and then the detection works
reliably.

<snip>
checking for MySQL using mysql_config... yes 10.1.32
checking whether MYSQL_OPT_RECONNECT is declared... yes
checking whether MYSQL_OPT_READ_TIMEOUT is declared... yes
checking whether MYSQL_OPT_WRITE_TIMEOUT is declared... yes
checking whether mysql_set_character_set is declared... yes
<snip>

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-05-05 13:21:50 +02:00
Sebastian Kemper
45ecde769a yate: remove underscores from package names
Underscores should not be used in package base names as they're used as
semantic separators by opkg.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-04-10 21:34:43 +02:00
Sebastian Kemper
174fce59b7 yate: build pgsqldb for target ARC
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-04-08 11:52:53 +02:00
Zhong Jianxin
c447ba0de2 yate: Bump PKG_RELEASE
Signed-off-by: Zhong Jianxin <azuwis@gmail.com>
2018-03-31 00:14:25 +08:00
Zhong Jianxin
2235c2fa01 yate: More video codecs mapping
Signed-off-by: Zhong Jianxin <azuwis@gmail.com>
2018-03-30 22:09:57 +08:00
Sebastian Kemper
5c4ac82788 yate: add PKG_CONFIG_DEPENDS
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-03-09 16:57:33 +01:00
Sebastian Kemper
ecfb5062ef yate: revert uclibc++ commit
This reverts commit b8b9818a13.

In hindsight I have to admit I did not correctly understand the
implications of the uclibc++.mk include.

The include allows a package to follow the user's choice regarding which
C++ library should be the standard. Linking against uClibc++ instead of
libstd++ is not a problem when running musl (which is what I had
incorrectly assumed), as both C++ libs are separate packages. And
uClibc++ is a lot smaller than libstd++, which is probably why it is
even the default C++ lib on OpenWrt currently.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-03-04 19:21:28 +01:00
Sebastian Kemper
dff826f128 yate: update install define
- Simplify lib install
- Use $(INSTALL_CONF) for config files

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-24 11:37:48 +01:00
Sebastian Kemper
1f76a5f991 yate: add DAHDI support
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-24 11:35:04 +01:00
Sebastian Kemper
91e90c7f9b net/yate: Add some plugins
Add some plugins which are built by default anyway.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-18 10:11:28 +01:00
Sebastian Kemper
326df0e414 net/yate: Disable RTTI
Yate is the only package in OpenWrt which manually enables RTTI
(run-time type information). There's no explanation in the Makefile as
to why that would be needed or advisable. Remove it.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-18 10:07:19 +01:00
Sebastian Kemper
b8b9818a13 net/yate: Remove uclibc++.mk include
With this include libuClibc++.so.0 gets added as a lib depend, even on
musl. readelf shows:

  Dynamic section at offset 0x10ea60 contains 23 entries:
    Tag        Type                         Name/Value
   0x0000000000000001 (NEEDED)             Shared library: [libuClibc++.so.0]
   0x0000000000000001 (NEEDED)             Shared library: [libc.so]
   0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
   0x000000000000000e (SONAME)             Library soname: [libyate.so.6.0.0]

Remove the include from the Makefile and add a depend on libstdcpp
instead.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-18 10:04:23 +01:00
Sebastian Kemper
b3dff13a07 net/yate: Disable FORTIFY_SOURCE properly
This reverts commit 4cc2afdcdc which
disabled FORTIFY_SOURCE by removing OpenWrt's CPPFLAGS from the built.
Instead PKG_FORTIFY_SOURCE:=0 is defined, which is the proper way to do
it.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-17 18:39:25 +01:00
Sebastian Kemper
489adca0db yate: turn miniwebrtc error into warning
ilbcwebrtc and isaccodec currently depend on @!arc because the code does
not compile there. The code does not compile on aarch64 either.

Instead of adding @!aarch64 this commit adds a patch copied from Debian
that turns the error "Please add support for your architecture in
typedefs.h" into a warning, allowing the code to build.

Consequently this commit removes @!arc from the depends as well.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-05 21:24:49 +01:00
Sebastian Kemper
f7a1941430 yate: fix a typo
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-04 19:24:33 +01:00
Sebastian Kemper
4cc2afdcdc yate: Prevent build failures due to inclusion of fortify-source headers
yate cannot be compiled against fortify-source headers at this moment:

  In file included from /home/sk/tmp/lede/staging_dir/toolchain-x86_64_gcc-5.5.0_musl/include/fortify/unistd.h:23:0,
                   from ../yateclass.h:32,
                   from ../yatengine.h:29,
                   from ../yatephone.h:29,
                   from server/ysnmpagent.cpp:22:
  /home/sk/tmp/lede/staging_dir/toolchain-x86_64_gcc-5.5.0_musl/include/fortify/fortify-headers.h:20:42: error: type of 'TelEngine::strcat' is unknown

To work around this remove CPPFLAGS from CFLAGS.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-03 21:46:21 +01:00
Sebastian Kemper
74d4c05222 yate: fix compile failures on ARC
- perl and postgresql do not compile on ARC; disable the modules
  accordingly
- ilbcwebrtc and isac also cause build failures on ARC; disable them as
  well.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-03 14:55:42 +01:00
Sebastian Kemper
262d9e7b8b yate: fix module conffiles
Currently conffiles is always filled with <module>.conf. This leads to
"no such file and directory" errors when the file actually does not
exist.

This commit adds a 6th column to BuildPlugin() which indicates if there
is a config file or not.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-03 14:50:11 +01:00
Sebastian Kemper
f6ad95d6aa yate: clean up CONFIGURE_ARGS
- remove ARGS that are default anyway
- enable sse2 when target is x86_64
- remove --enable-inline as that causes too many warnings:

    ilbccodec.cpp:50:7: warning: inlining failed in call to 'virtual {anonymous}::iLBCFactory::~iLBCFactory()': call is unlikely and code size would grow [-Winline]
     class iLBCFactory : public TranslatorFactory
           ^~~~~~~~~~~
    ilbccodec.cpp:50:7: note: called from here
     class iLBCFactory : public TranslatorFactory
           ^~~~~~~~~~~

- --enable-internalregex removed as yate can use external regex
- make some choices depending on whether a package is selected; otherwise the
  build might fail, i.e. when spandsp is not installed but the Makefiles tells
  the build system to use spandsp anyway

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-03 14:38:32 +01:00
Sebastian Kemper
a49531f22e yate: clean up FLAGS
- remove flags to don't have a reason for being there anymore (there is
  no comment on why they're needed).
- add CPPFLAGS to CFLAGS so the compiler can use the FORTIFY_SOURCE
  headers.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-03 14:27:41 +01:00
Sebastian Kemper
f52d5ff3f8 yate: prevent ilbc to overwrite OpenWrt CFLAGS
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-03 14:27:24 +01:00
Sebastian Kemper
4ba28200be yate: improve depends of sub packages
Currently the Makfile pulls in every dependency mentioned. Fix this by
prefixing the depends with the respective PACKAGE_* items.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-02-03 14:18:52 +01:00
Robert Högberg
54931ca188 yate: Bump to version 6.0.0
Updates yate to version 6.0.0.
2017-10-01 20:48:43 +02:00
Jiri Slachta
921a560832 Merge pull request #123 from robho/yate_banbrutes_using_iptables_recent
yate-scripts-perl: Add script to block phones which fail to authenticate
2017-08-13 21:26:56 +02:00
Jiri Slachta
a6b42ea220 Merge pull request #85 from robho/install_echo_script
yate-mod-extmodule: Include and install script echo.sh
2017-06-09 10:35:06 +02:00
Jiri Slachta
f9916da3bb Merge pull request #86 from robho/yate-scripts-perl_needs_perlbase-data
yate-scripts-perl: Add dependency on perlbase-data
2017-05-09 14:34:46 +02:00
Jiri Slachta
1ae479cade Merge pull request #120 from robho/init-thread-key-on-access
yate: Call pthread_key_create when the key is first accessed
2017-05-09 12:33:28 +02:00
Daniel Engberg
af7ad3497b net/yate: Remove support for Speex
Remove Speex as it's being obsoleted by upstream.

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2017-01-04 19:12:48 -06:00
Robert Högberg
2d4f799440 yate-scripts-perl: Add script to block phones which fail to authenticate
Yate ships with a php script (banbrutes.php) which can help block brute
force login/password attacks. Since Yate for OpenWrt doesn't support
php scripts I've written a similar script in perl that's easier to use
with OpenWrt.

The script uses the iptables extension "recent" to keep track of
authentication failures and block users after too many authentication
failures.

This is an alternative to #87. The functionality is mostly the same,
but this is a slightly simplified, more light-weight version since
IP sets aren't used.

Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
2016-10-01 22:17:16 +02:00
Robert Högberg
1a4d76347a yate: Call pthread_key_create when the key is first accessed
pthread_key_create used to be called when a specific static key object was
initialized, but if another static object was initialized earlier and this
other object needed the key during its initialization yate would crash.

Fixes #99

Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
2016-09-09 19:55:24 +02:00
Jiri Slachta
7a4de7c71d multiple packages: change PKG_MAINTAINER email address
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>
2016-05-31 20:12:51 +02:00
Robert Högberg
c4ed82eca6 yate-scripts-perl: Add dependency on perlbase-data
Yate.pm that is included in yate-scripts-perl uses perl package Data::Dumper
which is provided by openwrt package perlbase-data. Update dependency to
reflect this.

Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
2015-09-13 23:57:47 +02:00
Robert Högberg
eee9a3661c yate-mod-extmodule: Include and install script echo.sh
echo.sh is a simple yate script which can be used to echo back audio to a
caller. It's useful for testing purposes.

Since the script is a basic shell script it has no specific dependencies.

Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
2015-09-13 23:54:31 +02:00
Daniel Golle
d567d6c1c4 yate: update source
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-06-28 23:16:31 +02:00
Daniel Golle
5eebac5572 yate: fix build with musl
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-06-28 22:27:00 +02:00
Jiri Slachta
4165841eda yate: updates yate to 5.4.2. This fixes #14
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>
2015-03-16 13:48:57 +01:00
Jiri Slachta
30ffae1ecc Add PKG_LICENSE to the rest of the packages
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>
2014-11-04 17:00:24 +01:00
Jiri Slachta
ba0855ebee yate: add patch that adds ppc arch to typedefs.h
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>
2014-08-18 14:01:39 +02:00
Jiri Slachta
81e36eafb4 yate: fix typo
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>
2014-08-12 14:09:11 +02:00
Jiri Slachta
dcbbe3f624 yate: add mysql module
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>
2014-08-12 11:28:48 +02:00