New upstream version 5.6.4

mr10.5.4 upstream/5.6.4
Victor Seva 2 years ago
parent 27245368b0
commit 75b4eefc66

File diff suppressed because it is too large Load Diff

@ -1157,7 +1157,7 @@ PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
# generate an inheritance diagram (in HTML, RTF and LaTeX) for classes with base
# or super classes. Setting the tag to NO turns the diagrams off. Note that
# this option is superseded by the HAVE_DOT option below. This is only a
# fallback. It is recommended to install and use dot, since it yields more

@ -166,11 +166,6 @@ Specifies the number of children processes forked to handle tcp incoming connect
.BI \-n
).
.TP
.BI \-P " pid\-file"
Creates a file containing the pid of the main
.B kamailio
process.
.TP
.BI \-O " optimization\-level"
Script optimization level (debugging option).
.TP
@ -231,8 +226,8 @@ Specify internal manager for shared memory (shm) can be: fm, qm or tlsf
.BI \-X " name"
Specify internal manager for private memory (pkg) if omitted, the one for shm is used
.TP
.BI \-Y " dir"
Runtime dir path
.BI \-Y " dir"
Runtime dir path
.TP
.BI \-w " working\-dir"
Specifies the working directory. In the very improbable event that

@ -23,7 +23,7 @@ A short time after this Jiri began testing the code and requesting new features.
In Octomber 2001 I made some changes to ser routing language bringing it to what we still use today.
In the next months I've created the module interface, the first two modules (print and textops) and I've added the shared memory support (this involved the creation of ser's own malloc library which proved to be much faster for ser's memory usage patterns than standards malloc implementations).
During the same period Bogdan and Jan joined me and Jiri also began writing code.
In December 2001 Bogdan announced that tm was up an running (after a sleepless night).
In December 2001 Bogdan announced that tm was up and running (after a sleepless night).
At the beginning of 2002 we were joined by Daniel. Jan introduced the mysql, usrloc and auth modules.
Ser first public appearance was at the April 2002 Sipit. We ran it on a pda an still managed to be faster than the testing tools that were used against us :-)

@ -924,7 +924,7 @@ core:
Only a limited number of commands are allowed (drop, if
+ all the checks, msg flag manipulations, send(), log(),
textops::search()). In this route the final destination
of the message is available an can be checked (with
of the message is available and can be checked (with
snd_ip, snd_port, to_ip, to_port, snd_proto, snd_af).
This route is executed only when forwarding requests.
It's not executed for replies, retransmissions, or

@ -26,7 +26,7 @@ RPC Exports for usrloc
<section id="ul.rm"><title>ul.rm</title>
<para>
Delete a address of record including its contacts
Delete an address of record including its contacts
</para>
<para>
</para>

@ -40,7 +40,7 @@
<para>
A <acronym>SIP</acronym> message consists of message header and
optional message body. The header is separated from the body with
a empty line (containing CRLF only).
an empty line (containing CRLF only).
</para>
<para>
Message header consists of the first line and one or more header

@ -339,7 +339,7 @@ struct sip_msg {
<emphasis>REQUEST</emphasis> before it will be
forwarded. The list will be processed when the request is
being converted to character array (i.e. immediately before
the request will be send out).
the request will be sent out).
</para>
</listitem>
<listitem>
@ -349,7 +349,7 @@ struct sip_msg {
<emphasis>REPLY</emphasis> before it will be forwarded. the
list will be processed when the reply is being converted to
character array (i.e. immediately before the request will
be send out).
be sent out).
</para>
</listitem>
<listitem>

@ -100,7 +100,7 @@ A "fast" timer is a timer that does very little work in its timer handler (it al
4.2 timer handlers
------------------
The timer handler can be periodic, one shot or it can change from call to call. It all depends on what value you return from it. If you always return (ticks_t)(-1) or timer_ln->initial_timeout you have a periodic timer. If you return 0 you have an one shot timer (the timer will be removed when your timer handler function exits). For any other value v, your timer will be automatically re-added with the next expire set to v (expressed in ticks).
The timer handler can be periodic, one shot or it can change from call to call. It all depends on what value you return from it. If you always return (ticks_t)(-1) or timer_ln->initial_timeout you have a periodic timer. If you return 0 you have a one shot timer (the timer will be removed when your timer handler function exits). For any other value v, your timer will be automatically re-added with the next expire set to v (expressed in ticks).
4.3 timer_add
-------------
@ -118,7 +118,7 @@ To remove a timer from the active timer list call timer_del(struct timer_ln*).
timer_del is the slowest of all the timer functions. If you are trying to delete a timer whose timer is executing. timer_del will wait until it finishes.
timer_del returns 0 on success and a negative number on error (for now -1 if an attempt to delete and already removed or expired timer is made and -2 if timer_del is called from the timer handle it is supposed to delete).
WARNING: - avoid deleting your own timer from its timer handle (if you try it, you'll get a BUG message in the log). If you _must_ have this, you have a broken design. If you still want it, look at timer_allow_del().
- if you have an one shot timer that frees its memory before exiting, make sure you don't call timer_del afterwards (e.g. use some reference counters and free the memory only if the counter is 0).
- if you have a one shot timer that frees its memory before exiting, make sure you don't call timer_del afterwards (e.g. use some reference counters and free the memory only if the counter is 0).
Race example (using the struct foo defined above):

@ -117,7 +117,7 @@ modparam("usrloc", "db_mode", 2)
#
#modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# If you set "calculate_ha1" parameter to yes (which is true in this config),
# uncomment also the following parameter)
#
#modparam("auth_db", "password_column", "password")

@ -113,8 +113,8 @@ route{
# Special handling for NATed clients; first, NAT test is
# executed: it looks for via!=received and RFC1918 addresses
# in Contact (may fail if line-folding is used); also,
# the received test should, if completed, should check all
# vias for rpesence of received
# the received test, if completed, should check all
# vias for presence of received
if (nat_uac_test("3")) {
# Allow RR-ed requests, as these may indicate that
# a NAT-enabled proxy takes care of it; unless it is

@ -107,7 +107,7 @@ route{
# executed: it looks for via!=received and RFC1918 addresses
# in Contact (may fail if line-folding is used); also,
# the received test should, if completed, should check all
# vias for rpesence of received
# vias for presence of received
if (nat_uac_test("3")) {
# Allow RR-ed requests, as these may indicate that
# a NAT-enabled proxy takes care of it; unless it is

@ -683,7 +683,7 @@ route[FORWARD]
}
# Activate the RTP proxy as the second last step because it modifies the
# body but also sets an dialog AVP cookie.
# body but also sets a dialog AVP cookie.
route(RTPPROXY);
# Insert a Record-Route header into all requests.

@ -128,7 +128,7 @@ if [ ! -e $LOCKF ] ; then
echo " Please configure it to your local settings first."
echo
echo "If you do not press CTRL-C within 2 seconds an informational message"
echo "with your hostname will be send to the ser developers."
echo "with your hostname will be sent to the ser developers."
sleep 2
$MAILCOMMAND -s "serresponse executed on ${HOSTN}" $NOTIFY < $TMP
rm -f $TMP

@ -4,7 +4,7 @@
# Maintainer: Nathan Angelacos <nangel@alpinelinux.org>
pkgname=kamailio
pkgver=5.6.2
pkgver=5.6.4
pkgrel=0
# If building from a git snapshot, specify the gitcommit

@ -1,3 +1,15 @@
kamailio (5.6.4) unstable; urgency=medium
* version set 5.6.4
-- Victor Seva <vseva@debian.org> Mon, 27 Feb 2023 10:00:12 +0100
kamailio (5.6.3) unstable; urgency=medium
* version set 5.6.3
-- Victor Seva <vseva@debian.org> Wed, 11 Jan 2023 09:06:01 +0100
kamailio (5.6.2) unstable; urgency=medium
* version set 5.6.2

@ -1,2 +1,2 @@
kamailio-tls-modules binary: possible-gpl-code-linked-with-openssl
kamailio-tls-modules binary: library-not-linked-against-libc usr/lib/*/kamailio/openssl_mutex_shared/openssl_mutex_shared.so
kamailio-tls-modules binary: library-not-linked-against-libc

@ -1,3 +1,15 @@
kamailio (5.6.4) unstable; urgency=medium
* version set 5.6.4
-- Victor Seva <vseva@debian.org> Mon, 27 Feb 2023 10:00:12 +0100
kamailio (5.6.3) unstable; urgency=medium
* version set 5.6.3
-- Victor Seva <vseva@debian.org> Wed, 11 Jan 2023 09:06:01 +0100
kamailio (5.6.2) unstable; urgency=medium
* version set 5.6.2

@ -30,7 +30,7 @@ Build-Depends:
libmono-2.0-dev [amd64 armel armhf i386 mipsel kfreebsd-amd64 kfreebsd-i386 ppc64 ppc64el s390x],
libmosquitto-dev,
libnats-dev,
libncurses5-dev,
libncurses-dev,
libpcre3-dev,
libperl-dev,
libphonenumber-dev (>= 7),
@ -70,7 +70,6 @@ Pre-Depends:
${misc:Pre-Depends},
Depends:
adduser,
lsb-base,
python3,
${misc:Depends},
${shlibs:Depends},

@ -1,2 +1,2 @@
kamailio-tls-modules binary: possible-gpl-code-linked-with-openssl
kamailio-tls-modules binary: library-not-linked-against-libc usr/lib/*/kamailio/openssl_mutex_shared/openssl_mutex_shared.so
kamailio-tls-modules binary: library-not-linked-against-libc

@ -1,3 +1,15 @@
kamailio (5.6.4) unstable; urgency=medium
* version set 5.6.4
-- Victor Seva <vseva@debian.org> Mon, 27 Feb 2023 10:00:12 +0100
kamailio (5.6.3) unstable; urgency=medium
* version set 5.6.3
-- Victor Seva <vseva@debian.org> Wed, 11 Jan 2023 09:06:01 +0100
kamailio (5.6.2) unstable; urgency=medium
* version set 5.6.2

@ -1,2 +1,2 @@
kamailio-tls-modules binary: possible-gpl-code-linked-with-openssl
kamailio-tls-modules binary: library-not-linked-against-libc usr/lib/*/kamailio/openssl_mutex_shared/openssl_mutex_shared.so
kamailio-tls-modules binary: library-not-linked-against-libc

@ -1,3 +1,15 @@
kamailio (5.6.4) unstable; urgency=medium
* version set 5.6.4
-- Victor Seva <vseva@debian.org> Mon, 27 Feb 2023 10:00:12 +0100
kamailio (5.6.3) unstable; urgency=medium
* version set 5.6.3
-- Victor Seva <vseva@debian.org> Wed, 11 Jan 2023 09:06:01 +0100
kamailio (5.6.2) unstable; urgency=medium
* version set 5.6.2

@ -1,2 +1,2 @@
kamailio-tls-modules binary: possible-gpl-code-linked-with-openssl
kamailio-tls-modules binary: library-not-linked-against-libc usr/lib/*/kamailio/openssl_mutex_shared/openssl_mutex_shared.so
kamailio-tls-modules binary: library-not-linked-against-libc

@ -35,6 +35,12 @@ sed -i -e '/^ python,/d' -e '/python-dev/d' \
sed -i -e 's/ python [ ,$]*//' ${DIST}/rules
sed -i -e '/^EXCLUDED_MODULES=/s/$/ python/' ${DIST}/rules
# no lsb-base
sed -i -e '/lsb-base/d' ${DIST}/control
# libncurses
sed -i -e 's/libncurses5-dev/libncurses-dev/g' ${DIST}/control
wrap-and-sort -sat -d ${DIST}
# clean backports scripts

@ -0,0 +1,42 @@
#!/bin/bash
#
# Target dist: Ubuntu Jammy
DIST=jammy
rm -rf ${DIST}
cp -r debian ${DIST}
# No mi_xmlrpc module
sed -i -e '/libxmlrpc-c3-dev/d' -e '/^Package: kamailio-xmlrpc-modules/,/^$/d' \
${DIST}/control
sed -i -e 's/ mi_xmlrpc[ ,$]*/ /' ${DIST}/rules
sed -i -e '/^EXTRA_EXCLUDED_MODULES=/s/$/ mi_xmlrpc/' ${DIST}/rules
# No dnssec module:
sed -i -e '/libval-dev/d' -e '/^Package: kamailio-dnssec-modules/,/^$/d' \
${DIST}/control
sed -i -e 's/ dnssec[ ,$]*/ /' ${DIST}/rules
sed -i -e '/^EXTRA_EXCLUDED_MODULES=/s/$/ dnssec/' ${DIST}/rules
# No app_java due lack of gcj-jdk
sed -i -e '/gcj-jdk/d' -e '/^Package: kamailio-java-modules/,/^$/d' \
${DIST}/control
sed -i -e '/^export JAVA_HOME/d' ${DIST}/rules
sed -i -e 's/ java[ ,$]*/ /' ${DIST}/rules
sed -i -e '/^EXCLUDED_MODULES=/s/$/ java/' ${DIST}/rules
# no dh-systemd
sed -i -e '/dh-systemd/d' ${DIST}/control
# no python2
sed -i -e '/^ python,/d' -e '/python-dev/d' \
-e '/^Package: kamailio-python-modules/,/^$/d' \
${DIST}/control
sed -i -e 's/ python [ ,$]*//' ${DIST}/rules
sed -i -e '/^EXCLUDED_MODULES=/s/$/ python/' ${DIST}/rules
wrap-and-sort -sat -d ${DIST}
# clean backports scripts
rm -rf ${DIST}/backports
exit 0

@ -35,6 +35,12 @@ sed -i -e '/^ python,/d' -e '/python-dev/d' \
sed -i -e 's/ python [ ,$]*//' ${DIST}/rules
sed -i -e '/^EXCLUDED_MODULES=/s/$/ python/' ${DIST}/rules
# no lsb-base
sed -i -e '/lsb-base/d' ${DIST}/control
# libncurses
sed -i -e 's/libncurses5-dev/libncurses-dev/g' ${DIST}/control
wrap-and-sort -sat -d ${DIST}
# clean backports scripts

@ -1,3 +1,15 @@
kamailio (5.6.4) unstable; urgency=medium
* version set 5.6.4
-- Victor Seva <vseva@debian.org> Mon, 27 Feb 2023 10:00:12 +0100
kamailio (5.6.3) unstable; urgency=medium
* version set 5.6.3
-- Victor Seva <vseva@debian.org> Wed, 11 Jan 2023 09:06:01 +0100
kamailio (5.6.2) unstable; urgency=medium
* version set 5.6.2

@ -1,3 +1,15 @@
kamailio (5.6.4) unstable; urgency=medium
* version set 5.6.4
-- Victor Seva <vseva@debian.org> Mon, 27 Feb 2023 10:00:12 +0100
kamailio (5.6.3) unstable; urgency=medium
* version set 5.6.3
-- Victor Seva <vseva@debian.org> Wed, 11 Jan 2023 09:06:01 +0100
kamailio (5.6.2) unstable; urgency=medium
* version set 5.6.2

@ -1,2 +1,2 @@
kamailio-tls-modules binary: possible-gpl-code-linked-with-openssl
kamailio-tls-modules binary: library-not-linked-against-libc usr/lib/*/kamailio/openssl_mutex_shared/openssl_mutex_shared.so
kamailio-tls-modules binary: library-not-linked-against-libc

@ -0,0 +1,77 @@
kamailio (5.6.4) unstable; urgency=medium
* version set 5.6.4
-- Victor Seva <vseva@debian.org> Mon, 27 Feb 2023 10:00:12 +0100
kamailio (5.6.3) unstable; urgency=medium
* version set 5.6.3
-- Victor Seva <vseva@debian.org> Wed, 11 Jan 2023 09:06:01 +0100
kamailio (5.6.2) unstable; urgency=medium
* version set 5.6.2
-- Victor Seva <vseva@debian.org> Thu, 06 Oct 2022 10:35:53 +0200
kamailio (5.6.1) unstable; urgency=medium
* version set 5.6.1
-- Victor Seva <vseva@debian.org> Wed, 06 Jul 2022 09:59:31 +0200
kamailio (5.6.0) unstable; urgency=medium
* version set 5.6.0
-- Victor Seva <vseva@debian.org> Mon, 23 May 2022 09:28:48 +0200
kamailio (5.6.0~rc1) unstable; urgency=medium
* version set 5.6.0-rc1
-- Victor Seva <vseva@debian.org> Mon, 16 May 2022 15:08:07 +0200
kamailio (5.6.0~rc0) unstable; urgency=medium
* version set 5.6.0-rc0
-- Victor Seva <vseva@debian.org> Thu, 05 May 2022 12:51:49 +0200
kamailio (5.6.0~pre1) unstable; urgency=medium
* version set 5.6.0-pre1
-- Victor Seva <vseva@debian.org> Thu, 28 Apr 2022 09:45:55 +0200
kamailio (5.6.0~pre0) unstable; urgency=medium
* version set 5.6.0-pre0
-- Victor Seva <vseva@debian.org> Fri, 15 Apr 2022 09:03:42 +0200
kamailio (5.6.0~dev3) unstable; urgency=medium
* version set 5.6.0-dev3
-- Victor Seva <vseva@debian.org> Tue, 11 Jan 2022 09:29:18 +0100
kamailio (5.6.0~dev2) unstable; urgency=medium
* version set 5.6.0-dev2
-- Victor Seva <vseva@debian.org> Thu, 04 Nov 2021 11:30:21 +0100
kamailio (5.6.0~dev1) unstable; urgency=medium
* version set 5.6.0-dev1
-- Victor Seva <vseva@debian.org> Fri, 27 Aug 2021 12:33:08 +0200
kamailio (5.6.0~dev0) unstable; urgency=medium
* version set 5.6.0-dev0
-- Victor Seva <vseva@debian.org> Fri, 23 Apr 2021 11:27:18 +0200

@ -0,0 +1,908 @@
Source: kamailio
Section: net
Priority: optional
Maintainer: Kamailio Admin Group <kadmin.hq@lists.kamailio.org>
Uploaders:
Victor Seva <vseva@debian.org>,
Build-Depends:
bison,
debhelper (>= 9),
default-libmysqlclient-dev,
docbook-xml,
dpkg-dev (>= 1.16.1.1),
erlang-dev,
flex,
libcurl4-openssl-dev,
libdb-dev (>= 4.6.19),
libev-dev,
libevent-dev,
libexpat1-dev,
libgeoip-dev (>= 1.4.5),
libhiredis-dev (>= 0.10.0),
libjansson-dev,
libjson-c-dev,
libldap2-dev,
liblua5.1-0-dev,
libmaxminddb-dev,
libmemcached-dev,
libmnl-dev,
libmongoc-dev,
libmono-2.0-dev [amd64 armel armhf i386 mipsel kfreebsd-amd64 kfreebsd-i386 ppc64 ppc64el s390x],
libmosquitto-dev,
libnats-dev,
libncurses5-dev,
libpcre3-dev,
libperl-dev,
libphonenumber-dev (>= 7),
libpq-dev,
librabbitmq-dev,
libradcli-dev,
libreadline-dev,
libsasl2-dev,
libsctp-dev [any],
libsecsipid-dev [amd64 arm64 armel armhf hurd-i386 i386 powerpc ppc64 ppc64el riscv64 s390x],
libsnmp-dev,
libsqlite3-dev,
libssl-dev,
libsystemd-dev,
libunistring-dev,
libwebsockets-dev,
libxml2-dev,
openssl,
pkg-config,
python3,
python3-dev,
ruby-dev,
unixodbc-dev,
uuid-dev,
xsltproc,
zlib1g-dev,
Standards-Version: 4.6.0.1
Homepage: http://www.kamailio.org/
Vcs-Git: https://github.com/kamailio/kamailio.git
Vcs-Browser: https://github.com/kamailio/kamailio/
Rules-Requires-Root: no
Package: kamailio
Architecture: any
Multi-Arch: foreign
Pre-Depends:
${misc:Pre-Depends},
Depends:
adduser,
lsb-base,
python3,
${misc:Depends},
${shlibs:Depends},
Replaces:
kamailio-carrierroute-modules,
Suggests:
kamailio-berkeley-modules,
kamailio-cpl-modules,
kamailio-dbg,
kamailio-ldap-modules,
kamailio-lua-modules,
kamailio-mysql-modules,
kamailio-perl-modules,
kamailio-postgres-modules,
kamailio-presence-modules,
kamailio-python-modules,
kamailio-radius-modules,
kamailio-snmpstats-modules,
kamailio-tls-modules,
kamailio-unixodbc-modules,
kamailio-xml-modules,
kamailio-xmpp-modules,
stun-server | turn-server,
Provides:
sip-router,
Description: very fast, dynamic and configurable SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, kamailio can handle thousands requests
per second even on low-budget hardware. It can be configured to act
as a SIP proxy, application server, session border controller,
or call load balancer to handle a set of media servers.
.
A C Shell like scripting language provides full control over the server's
behaviour. It's easy to integrate Kamailio with 3rd party API's and applications
using HTTP, AMQP, database drivers, LDAP, Radius and many other solutions.
In addition there is support for scripting using Lua, Python, Perl, Java and
a set of other languages using Mono.
.
Kamailio's modular architecture allows only required functionality to be loaded.
There are over 100 modules available: WebSockets for WebRTC, authentication,
multiple databases - both traditional SQL databases as well as no-SQL,
message bus systems like Rabbit MQ, instant messaging, a presence agent,
integration with REST-ful APIs using HTTP and JSON or XML,
radius authentication, record routing, an SMS gateway, a XMPP/jabber gateway, a
transaction and dialog module, OSP module, statistics support,
registrar and user location services, SNMP, SIMPLE Presence and much more.
.
This package contains the main Kamailio binary along with the principal modules
and support binaries.
Package: kamailio-dbg
Priority: extra
Section: debug
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
Description: very fast and configurable SIP server [debug symbols]
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package contains the debugging symbols for the Kamailio binaries and
modules. You only need to install it if you need to debug Kamailio.
Package: kamailio-geoip-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: The geoip module for the Kamailio SIP Server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the geoip module, an extension enabling
usage of the GeoIP API within the Kamailio configuration file.
Package: kamailio-geoip2-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: The geoip2 module for the Kamailio SIP Server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the geoip2 module, an extension enabling
real-time queries against the Max Mind GeoIP2 database within the Kamailio
configuration file.
Package: kamailio-sqlite-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Recommends:
sqlite3,
Description: SQLite database connectivity module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the SQLite database driver for Kamailio.
Package: kamailio-json-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: Json parser and Json-RPC modules for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides a JSON parser for use in the Kamailio
configuration file and the JSON-RPC client over netstrings.
Package: kamailio-memcached-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Replaces:
kamailio-memcached-module,
Description: interface to the memcached server, for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the memcached module, an interface to the memcached
server, a high-performance, distributed memory object caching system.
Package: kamailio-lua-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: The app_lua module for Kamailio Lua support
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the app_lua module, an extension allowing to
execute embedded Lua applications within the configuration file as
well as writing the entire configuration file in Lua.
Package: kamailio-mono-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: The app_mono module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the app_mono module, an extension allowing to
execute embedded Mono applications within the Kamailio SIP routing script.
Package: kamailio-python3-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: The app_python3 module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the app_python3 module, an extension allowing to
execute embedded Python applications within the Kamailio SIP routing script.
Package: kamailio-ruby-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: The app_ruby module for Kamailio Ruby support
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the app_ruby module, an extension allowing to
execute embedded Ruby applications within the Kamailio SIP routing script.
Package: kamailio-redis-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: Redis database connectivity module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the Redis NOSQL database driver for Kamailio.
Package: kamailio-mysql-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
default-mysql-client | virtual-mysql-client,
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: MySQL database connectivity module for Kamailio
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the MySQL database driver for Kamailio.
Package: kamailio-postgres-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
postgresql-client,
${misc:Depends},
${shlibs:Depends},
Description: PostgreSQL database connectivity module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the PostgreSQL database driver for Kamailio.
Package: kamailio-cpl-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: CPL module (CPL interpreter engine) for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides a CPL (Call Processing Language) interpreter for
Kamailio, turning Kamailio into a CPL server (storage and interpreter).
Package: kamailio-radius-modules
Architecture: any
Multi-Arch: same
Breaks:
kamailio (<<5.1),
Replaces:
kamailio (<<5.1),
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: RADIUS modules for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides a set of RADIUS modules for Kamailio, for
authentication, peering, group membership and messages URIs checking against a
RADIUS server.
Package: kamailio-unixodbc-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: unixODBC database connectivity module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the unixODBC database driver for Kamailio.
Package: kamailio-presence-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: SIP presence modules for Kamailio
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides several Kamailio modules for implementing a presence
server and presence user agent for rich presence, registrar-based presence,
external triggered presence with SIMPLE and XCAP support, as well as a
set of other SIP event packages..
Package: kamailio-perl-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: Perl extensions and database driver for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides an interface for Kamailio to write Perl extensions and
the perlvdb database driver for Kamailio.
Package: kamailio-snmpstats-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
snmpd,
${misc:Depends},
${shlibs:Depends},
Description: SNMP AgentX subagent module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the snmpstats module for Kamailio. This module acts
as an AgentX subagent which connects to a master agent. The Kamailio MIBS are
included.
Package: kamailio-xmpp-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: XMPP gateway module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the SIP to XMPP IM translator module for Kamailio.
Package: kamailio-xml-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Replaces:
kamailio-xml-module,
kamailio-xmlrpc-module,
Provides:
kamailio-xmlrpc-modules,
Description: XML based extensions for Kamailio's Management Interface
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides:
- the XMLRPC transport implementations for Kamailio's
Management and Control Interface.
- xmlops module for XPath operations in configuration file
Package: kamailio-berkeley-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
db-util (>= 4.6.19),
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: Berkeley database module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the Berkeley database module for Kamailio, a
high-performance embedded database. All database tables are stored
in files, no additional server is necessary.
Package: kamailio-berkeley-bin
Architecture: any
Multi-Arch: foreign
Pre-Depends:
${misc:Pre-Depends},
Depends:
${misc:Depends},
${shlibs:Depends},
Description: Berkeley database module for Kamailio - helper program
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides helper modules for the Berkeley database module for
Kamailio, a high-performance embedded DB kernel. You should normally
install kamailio-berkeley-modules and not this package directly.
Package: kamailio-ldap-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: LDAP modules for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the ldap and h350 modules for Kamailio, enabling LDAP
queries from the Kamailio routing scripts and storage of SIP account data in an LDAP
directory.
Package: kamailio-ims-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: IMS module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package contains various Diameter interfaces and modules for Kamailio
to run as an IMS core.
Package: kamailio-utils-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: Utility functions for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides a set of utility functions for Kamailio, as well
as modules for restful HTTP API access using the CURL library in the
http_client module.
Package: kamailio-sctp-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: SCTP SIP transport module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the SCTP SIP transport module for Kamailio.
Package: kamailio-tls-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: TLS support for the Kamailio SIP server (authentication, transport)
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides TLS support for encrypted and authenticated
SIP connections as well as generic TLS support for many Kamailio modules.
Package: kamailio-outbound-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: SIP Outbound module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package contains the "outbound" module implementing SIP outbound extension.
Package: kamailio-websocket-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: WebSocket module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package contains the module implementing WebSocket transport layer
for use in SIP over WebSockets, in combination with WebRTC media sessions..
Package: kamailio-autheph-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: authentication using ephemeral credentials for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the ephemeral authentication module for Kamailio,
enabling authentication using a Restful HTTP API.
Package: kamailio-kazoo-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: kazoo modules for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the Kazoo application server integration module for Kamailio.
Package: kamailio-rabbitmq-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: RabbitMQ and AMQP integration modules for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the RabbitMQ module for Kamailio, enabling AMQP
integration into the SIP routing scripts for third party service
support.
Package: kamailio-cnxcc-modules
Architecture: any
Multi-Arch: same
Breaks:
kamailio (<<5.1),
Replaces:
kamailio (<<5.1),
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: cnxcc modules for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the cnxcc call charging control module for Kamailio.
Package: kamailio-erlang-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: Erlang modules for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This Kamailio module provides interaction with the Erlang node from the Kamailio
SIP routing scripts. The module allows sending, receiving Erlang messages
and RPC calls between each other.
Package: kamailio-systemd-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: systemd logging modules for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides logging to systemd journal directly from the
Kamailio configuration and routing scripts.
Package: kamailio-phonenum-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: phonenum modules for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides real-time queries against the libphonenumber to be
performed directly from the Kamailio configuration and routing scripts.
Package: kamailio-mongodb-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: mongodb modules for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides the mongodb database driver and non-db connector for
Kamailio.
Package: kamailio-mqtt-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: MQTT modules for the Kamailio SIP Server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
MQTT module allows bidirectional publish/subscribe communication by
connecting Kamailio to a MQTT Broker.
.
Messages can be published from any point in the routing script. Also
the subscriptions can be fully controlled by scripting commands.
Package: kamailio-secsipid-modules
Architecture: amd64 arm64 armel armhf hurd-i386 i386 powerpc ppc64 ppc64el riscv64 s390x
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: contains the secsipid module
Kamailio is a very fast and flexible SIP (RFC3261)
proxy server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package contains the secsipid Module.
Package: kamailio-lwsc-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: Libwebsockets module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package contains the lwcs module, which provides a client-side WebSockets
API through libwebsockets.
Package: kamailio-nats-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: Nats module for the Kamailio SIP server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package contains the nats module, which provides a NATS consumer for Kamailio.
NATS is a real time distributed messaging platform, more details about it can be
found at nats.io.
Package: kamailio-extra-modules
Architecture: any
Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends},
Depends:
kamailio (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
Description: Extra modules for the Kamailio SIP Server
Kamailio is a very fast and flexible SIP (RFC3261)
server. Written entirely in C, Kamailio can handle thousands calls
per second even on low-budget hardware.
.
This package provides a set of modules for compression of SIP attachments,
UUID usage, JSON data structure support, HTTP restful API asynchronous
access and a few more functions: gzcompress uuid evapi jansson janssonrpcc http_async_client
Package: kamailio-nth
Architecture: any
Pre-Depends:
${misc:Pre-Depends},
Depends:
binutils,
bison,
bvi,
flex,
gcc,
gdb,
iftop,
less | most,
lsof,
mc,
ngrep,
psmisc,
screen,
sipsak,
tcpdump,
vim,
${misc:Depends},
Description: Kamailio SIP server - package for "nice to have" utilities
This is a metapackage for easy installation various useful tools that may be
handy on server with Kamailio installed.

@ -0,0 +1,309 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Kamailio
Upstream-Contact: sr-dev@lists.kamailio.org
Source: http://www.kamailio.org/pub/kamailio/
Files: *
Copyright:
2001-2003 FhG Fokus
2006-2010 iptelorg GmbH
Various others (see AUTHORS file)
License: GPL-2.0+
On Debian systems, the full text of the GNU General Public
License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'.
Files: debian/*
Copyright: 2012, 2013, 2014 Victor Seva <linuxmaniac@torreviejawireless.org>
2009, 2010, 2011, Daniel-Constantin Mierla <miconda@gmail.com>
2010, Jon Bonilla <manwe@aholab.ehu.es>
2009, Jonas Bergler <jonas.bergler@staff.snap.net.nz>
2009, Henning Westerholt <henning.westerholt@1und1.de>
2007, Julien BLACHE <jblache@debian.org>
License: GPL-2+
On Debian systems, the full text of the GNU General Public
License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'.
Files: src/code/atomic/* src/code/atomic_ops.* src/code/basex.* src/code/bit_*.c
src/code/char_msg_val.h src/code/compiler_opt.h src/code/core_stats.h src/code/counters.*
src/code/endianness.* src/code/futexlock.h src/code/hashes.h src/code/io_wait.*
src/core/lock_ops.c src/core/lock_ops_init.h src/core/lvalue.* src/core/mem/ll_malloc.*
src/core/mem/memdbg.h src/core/mem/sf_malloc.* src/core/mod_fix.* src/modules/tm/rpc_uac.*
src/modules/counters/counters.c src/modules/tls/sbufq.h
src/modules/tls/tls_bio.* src/modules/tls/tls_cfg.* src/modules/tls/tls_cfg.h
src/modules/tls/tls_ct_wrq.* src/modules/tls/tls_ct_q.h src/modules/tls/tls_domain.*
src/modules/tls/tls_server.* src/modules/tls/tls_locking.* src/modules/tls/tls_rpc.*
src/modules/malloc_test/malloc_test.c src/modules/blst/blst.c
src/core/parser/case_p_* src/core/parser/case_reas.h src/core/pvapi.h
src/core/pv_core.* src/core/rand/fastrand.* src/core/raw_*
src/core/rpc_lookup.* src/core/rvalue.* src/core/sctp_* src/core/ser_time.h
src/core/shm_init.* src/core/sip_msg_clone.* src/core/sock_ut.*
src/core/sr_compat.* src/core/str_hash.h src/core/switch.*
src/core/tcp_ev.h src/core/tcp_int_send.h src/core/tcp_options.*
src/core/tcp_read.h src/core/tcp_stats.* src/core/timer_proc.*
src/core/tls_hooks.* src/core/tls_hooks_init.h src/core/ver.*
Copyright: 2006-2010 iptelorg GmbH
License: ISC
Files: src/modules/tls/tls_select.* src/modules/tls/tls_dump_vf.*
Copyright: 2005-2010 iptelorg GmbH
License: GPL-2 + OpenSSL exception
Files: src/modules/websocket/* src/modules/outbound/* src/modules/auth_ephemeral/*
Copyright: 2012-2013 Crocodile RCS Ltd
License: GPL-2 + OpenSSL exception
Files: src/core/daemonize.* src/core/fastlock.h src/core/lock_ops.h
src/core/mem/mem.* src/core/mem/f_malloc.h
src/core/mem/meminfo.h src/core/mem/memtest.c src/core/mem/shm_mem.c
src/core/mem/q_malloc.* src/core/mem/shm_mem.h
src/core/mem/f_malloc.c src/core/pt.* src/core/sched_yield.h src/core/ut.*
Copyright: 2001-2003 FhG Fokus
License: ISC
Files: src/core/events.* src/modules/topoh/*
Copyright: 2009 SIP-Router.org
License: ISC
Files: src/modules/pv/pv_xavp.* src/modules/usrloc/ul_rpc.*
src/core/ppcfg.* src/core/xavp.*
Copyright: 2009-2010 Daniel-Constantin Mierla (asipto.com)
License: ISC
Files: src/modules/xmpp/xsnprintf.c
Copyright: 1995-1998, The Apache Group
License: Apache-1.0
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
.
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
.
3. All advertising materials mentioning features or use of this
software must display the following acknowledgment:
"This product includes software developed by the Apache Group
for use in the Apache HTTP server project (http://www.apache.org/)."
.
4. The names "Apache Server" and "Apache Group" must not be used to
endorse or promote products derived from this software without
prior written permission.
.
5. Redistributions of any form whatsoever must retain the following
acknowledgment:
"This product includes software developed by the Apache Group
for use in the Apache HTTP server project (http://www.apache.org/)."
.
THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
Files: src/code/list.h
Copyright: 1991, 1993 The Regents of the University of California
License: BSD-3-clause
Files: src/modules/tm/t_serial.*
Copyright: 2008 Juha Heinanen
License: BSD-2-clause
Files: src/core/parser/sdp/sdp.* src/core/parser/sdp/sdp_helpr_funcs.*
src/core/parser/sdp/sdp_cloner.h
Copyright:
2008-2009 SOMA Networks, INC.
2010 VoIP Embedded, Inc
License: BSD-2-clause
Files: src/modules/tls/fixed_c_zlib.h
Copyright:1998-2005 The OpenSSL Project
Comment: file copied from OpenSSL 0.9.8, refers to OpenSSL License. Note that
this code will not build by default in the Debian packaging.
License: OpenSSL
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
.
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
.
3. All advertising materials mentioning features or use of this
software must display the following acknowledgment:
"This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
.
4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
endorse or promote products derived from this software without
prior written permission. For written permission, please contact
openssl-core@openssl.org.
.
5. Products derived from this software may not be called "OpenSSL"
nor may "OpenSSL" appear in their names without prior written
permission of the OpenSSL Project.
.
6. Redistributions of any form whatsoever must retain the following
acknowledgment:
"This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/)"
.
THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
Files: src/core/crypto/md5.* src/core/crypto/md5utils.c
Copyright: 1991-2, RSA Data Security, Inc
Comment: Note that md5.c and md5.h have been replaced in the patches
plum_md5*.patch .
.
As for md5utils.c, according to a mail from Upstream (Daniel-Constantin
Mierla): while the initial commit log for it states that it is derived
from mddriver.c of RFC 1321, it seems that it was, in fact, written from
scratch by Jiri Kuthan (a core developer of SER at that time, working for
FhG Fokus Institute). As you can see it's rather trivial and uses a data
type of SER ("str"). I didn't reimplement it as it's too trivial and
looks like there's no other way to implement it.
License: RSA-MD5
License to copy and use this software is granted provided that it
is identified as the "RSA Data Security, Inc. MD5 Message-Digest
Algorithm" in all material mentioning or referencing this software
or this function.
.
License is also granted to make and use derivative works provided
that such works are identified as "derived from the RSA Data
Security, Inc. MD5 Message-Digest Algorithm" in all material
mentioning or referencing the derived work.
.
RSA Data Security, Inc. makes no representations concerning either
the merchantability of this software or the suitability of this
software for any particular purpose. It is provided "as is"
without express or implied warranty of any kind.
.
These notices must be retained in any copies of any part of this
documentation and/or software.
Files: src/core/mem/dl_*
Copyright: n/a
License: public-domain
This is a version (aka dlmalloc) of malloc/free/realloc written by
Doug Lea and released to the public domain, as explained at
http://creativecommons.org/licenses/publicdomain. Send questions,
comments, complaints, performance data, etc to dl@cs.oswego.edu
Files: src/core/rand/isaac/*
Copyright: n/a
License: public-domain
By Bob Jenkins. My random number generator, ISAAC. Public Domain.
License: ISC
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Files: src/lib/srutils/srjson.*
Copyright: 2009 Dave Gamble
License: MIT
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
,
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
License: GPL-2 + OpenSSL exception
On Debian systems, the full text of the GNU General Public
License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'.
* Exception: permission to copy, modify, propagate, and distribute a work
* formed by combining OpenSSL toolkit software and the code in this file,
* such as linking with software components and libraries released under
* OpenSSL project license.
License: BSD-3-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
4. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
License: BSD-2-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
.
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
.
THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

@ -0,0 +1 @@
kamailio-autheph-modules binary: possible-gpl-code-linked-with-openssl

@ -0,0 +1 @@
kamailio-dnssec-modules binary: possible-gpl-code-linked-with-openssl

@ -0,0 +1 @@
kamailio-outbound-modules binary: possible-gpl-code-linked-with-openssl

@ -0,0 +1 @@
kamailio-secsipid-modules binary: library-not-linked-against-libc

@ -0,0 +1 @@
kamailio-systemd-modules binary: library-not-linked-against-libc

@ -0,0 +1,2 @@
kamailio-tls-modules binary: possible-gpl-code-linked-with-openssl
kamailio-tls-modules binary: library-not-linked-against-libc

@ -0,0 +1 @@
kamailio-websocket-modules binary: possible-gpl-code-linked-with-openssl

@ -0,0 +1,39 @@
Kamailio for Debian
-------------------
* init script check for fork=no
-------------------------------
The Kamailio init script will not start Kamailio on boot if fork=no is
specified in the config file. The check in the initscript will match
any occurrence of fork=no in the file, even inside C-style comments.
You can disable this check in the init script if you wish; just comment
out the calls to the check_fork function in the script. Your changes to
the init script will be preserved upon upgrade, as the file is tagged
as a conffile.
* Kamailio setup
----------------
To setup Kamailio, you need to:
- configure Kamailio properly to suit your needs
- edit /etc/default/kamailio, adjust the MEMORY parameter and set
RUN_KAMAILIO to "yes"
If you are building an HA cluster using heartbeat or similar, you'll want
to disable the init script by running:
update-rc.d kamailio remove
so that Kamailio will not be launched at system startup. You still need
to set RUN_KAMAILIO to "yes" if you want to use the /etc/init.d/kamailio init
script.
Set the DUMP_CORE parameter in /etc/default/kamailio to "yes" if you want to
get a core dump in case Kamailio crashes. The debug symbols for Kamailio are
provided by the kamailio-dbg package.
-- Victor Seva <linuxmaniac@torreviejawireless.org> Wed, 11 Dec 2013 16:07:11 +0100

@ -0,0 +1,36 @@
#
# Kamailio startup options
#
# Set to yes to enable kamailio, once configured properly.
#RUN_KAMAILIO=yes
# User to run as
#USER=kamailio
# Group to run as
#GROUP=kamailio
# On systemd, to change username or group please create drop-in
# /etc/systemd/system/kamailio.service.d/10-user_group.conf file, like
# ```
# [Service]
# User=kamuser
# Group=kamgroup
# ```
# Amount of shared and private memory to allocate
# for the running Kamailio server (in Mb)
#SHM_MEMORY=64
#PKG_MEMORY=8
# Config file
#CFGFILE=/etc/kamailio/kamailio.cfg
# Enable the server to leave a core file when it crashes.
# Set this to 'yes' to enable Kamailio to leave a core file when it crashes
# or 'no' to disable this feature. This option is case sensitive and only
# accepts 'yes' and 'no' and only in lowercase letters.
# On some systems it is necessary to specify a directory for the core files
# to get a dump. Look into the kamailio init file for an example configuration.
#DUMP_CORE=yes

@ -0,0 +1,162 @@
#! /bin/sh
#
### BEGIN INIT INFO
# Provides: kamailio
# Required-Start: $syslog $network $local_fs $remote_fs $time
# Should-Start: $named slapd mysql postgresql snmpd radiusd
# Should-Stop: $named slapd mysql postgresql snmpd radiusd
# Required-Stop: $syslog $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start the Kamailio SIP proxy server
# Description: Start the Kamailio SIP proxy server
### END INIT INFO
. /lib/lsb/init-functions
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/kamailio
NAME=`basename "$0"`
DESC="Kamailio SIP Server"
HOMEDIR=/run/$NAME
PIDFILE=$HOMEDIR/$NAME.pid
DEFAULTS=/etc/default/$NAME
CFGFILE=/etc/$NAME/kamailio.cfg
RUN_KAMAILIO=no
USER=kamailio
GROUP=kamailio
# Amount of shared and private memory to allocate
# for the running Kamailio server (in Mb)
SHM_MEMORY=64
PKG_MEMORY=8
DUMP_CORE=no
# Do not start kamailio if fork=no is set in the config file
# otherwise the boot process will just stop
check_fork ()
{
if grep -q "^[[:space:]]*fork[[:space:]]*=[[:space:]]*no.*" $CFGFILE; then
log_failure_msg "Not starting $DESC: fork=no specified in config file; run /etc/init.d/kamailio debug instead"
exit 0
fi
}
check_kamailio_config ()
{
# Check if kamailio configuration is valid before starting the server
set +e
out=$($DAEMON -f $CFGFILE -M $PKG_MEMORY -c 2>&1 > /dev/null)
retcode=$?
set -e
if [ "$retcode" != '0' ]; then
log_failure_msg "Not starting $DESC: invalid configuration file!"
log_failure_msg
log_failure_msg "$out"
log_failure_msg
exit 1
fi
}
create_radius_seqfile ()
{
# Create a radius sequence file to be used by the radius client if
# radius accounting is enabled. This is needed to avoid any issue
# with the file not being writable if kamailio first starts as user
# root because DUMP_CORE is enabled and creates this file as user
# root and then later it switches back to user kamailio and cannot
# write to the file. If the file exists before kamailio starts, it
# won't change it's ownership and will be writable for both root
# and kamailio, no matter what options are chosen at install time
RADIUS_SEQ_FILE="$HOMEDIR/kamailio_radius.seq"
if [ -d $HOMEDIR ]; then
chown ${USER}:${GROUP} $HOMEDIR
if [ ! -f $RADIUS_SEQ_FILE ]; then
touch $RADIUS_SEQ_FILE
fi
chown ${USER}:${GROUP} $RADIUS_SEQ_FILE
chmod 660 $RADIUS_SEQ_FILE
fi
}
test -f $DAEMON || exit 0
# Load startup options if available
if [ -f $DEFAULTS ]; then
. $DEFAULTS || true
fi
if [ "$RUN_KAMAILIO" != "yes" ]; then
log_failure_msg "Kamailio not yet configured. Edit /etc/default/$NAME first."
exit 0
fi
set -e
SHM_MEMORY=$((`echo $SHM_MEMORY | sed -e 's/[^0-9]//g'`))
PKG_MEMORY=$((`echo $PKG_MEMORY | sed -e 's/[^0-9]//g'`))
[ -z "$USER" ] && USER=kamailio
[ -z "$GROUP" ] && GROUP=kamailio
[ $SHM_MEMORY -le 0 ] && SHM_MEMORY=64
[ $PKG_MEMORY -le 0 ] && PKG_MEMORY=4
if test "$DUMP_CORE" = "yes" ; then
# set proper ulimit
ulimit -c unlimited
# directory for the core dump files
# COREDIR=/home/corefiles
# [ -d $COREDIR ] || mkdir $COREDIR
# chmod 777 $COREDIR
# echo "$COREDIR/core.%e.sig%s.%p" > /proc/sys/kernel/core_pattern
fi
# $HOMEDIR can be a tmpfs
if [ ! -d $HOMEDIR ]; then
mkdir -p $HOMEDIR
chown ${USER}:${GROUP} $HOMEDIR
fi
OPTIONS="-f $CFGFILE -P $PIDFILE -m $SHM_MEMORY -M $PKG_MEMORY -u $USER -g $GROUP --atexit=no"
case "$1" in
start|debug)
check_kamailio_config
create_radius_seqfile
if [ "$1" != "debug" ]; then
check_fork
fi
log_daemon_msg "Starting $DESC: $NAME"
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--exec $DAEMON -- $OPTIONS || log_failure_msg " already running"
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping $DESC: $NAME"
start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE \
--exec $DAEMON --retry 5
log_end_msg 0
;;
restart|force-reload)
check_kamailio_config
create_radius_seqfile
$0 stop
$0 start
;;
status)
log_daemon_msg "Status of $DESC: "
status_of_proc -p"$PIDFILE" $NAME $NAME
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload|status|debug}" >&2
exit 1
;;
esac
exit 0

@ -0,0 +1,2 @@
kamailio binary: example-interpreter-not-absolute usr/share/doc/kamailio/examples/outbound/edge.cfg #!KAMAILIO
kamailio binary: example-interpreter-not-absolute usr/share/doc/kamailio/examples/outbound/registrar.cfg #!KAMAILIO

@ -0,0 +1,24 @@
#! /bin/sh
set -e
case "$1" in
configure)
adduser --quiet --system --group --disabled-password \
--shell /bin/false --gecos "Kamailio SIP Server" \
--home /run/kamailio kamailio || true
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#

@ -0,0 +1,27 @@
[Unit]
Description=Kamailio - the Open Source SIP Server
Wants=network-online.target
After=network-online.target
[Service]
Type=forking
User=kamailio
Group=kamailio
Environment='CFGFILE=/etc/kamailio/kamailio.cfg'
Environment='SHM_MEMORY=64'
Environment='PKG_MEMORY=8'
EnvironmentFile=-/etc/default/kamailio
EnvironmentFile=-/etc/default/kamailio.d/*
# PIDFile requires a full absolute path
PIDFile=/run/kamailio/kamailio.pid
# ExecStart requires a full absolute path
ExecStart=/usr/sbin/kamailio -P /run/kamailio/kamailio.pid -f $CFGFILE -m $SHM_MEMORY -M $PKG_MEMORY --atexit=no
Restart=on-failure
# /run/kamailio in tmpfs
RuntimeDirectory=kamailio
RuntimeDirectoryMode=0770
# necessary for chown of control files e.g. for jsonrpcs and ctl modules
AmbientCapabilities=CAP_CHOWN
[Install]
WantedBy=multi-user.target

@ -0,0 +1,228 @@
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.
DEBVERSION:=$(shell head -n 1 debian/changelog \
| sed -e 's/^[^(]*(\([^)]*\)).*/\1/')
UPVERSION:=$(shell dpkg-parsechangelog | sed -ne 's/^Version: \(\([0-9]\+\):\)\?\(.*\)-.*/\3/p')
FILENAME := kamailio_$(UPVERSION).orig.tar.gz
URL := http://www.kamailio.org/pub/kamailio/$(UPVERSION)/src/kamailio-$(UPVERSION)_src.tar.gz
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
export RADCLI=1
# modules not in the "main" kamailio package
EXCLUDED_MODULES= java python
# extra modules to skip, because they are not compilable now
# - regardless if they go to the main kamailio package or to some module package,
# they will be excluded from compile and install of all
EXTRA_EXCLUDED_MODULES=bdb dbtext oracle pa iptrtpproxy mi_xmlrpc dnssec
# module groups that are packaged in separate packages
# (with the name kamailio-$(group_name)-modules)
# Note: the order is important (should be in dependency order, the one
# on which other depend first)
PACKAGE_GROUPS=mysql postgres berkeley unixodbc radius presence \
ldap xml perl utils lua memcached \
snmpstats carrierroute xmpp cpl redisgeoip geoip2 \
sqlite json mono ruby ims sctp \
tls outbound websocket autheph kazoo cnxcc \
erlang systemd phonenum mongodb rabbitmq python3 mqtt secsipid lwsc nats
# module groups to be packaged onto kamailio-extra-modules
EXTRA_GROUPS=gzcompress uuid ev jansson http_async
# name of libdir in the path for libraries (e.g., lib for 32b, lib64 for 64b)
export LIBDIR ?= lib/$(DEB_HOST_MULTIARCH)
# directories with possible duplicate libraries (that should be deleted
# from current module* packages)
DUP_LIBS_DIRS=$(CURDIR)/debian/kamailio/usr/$(LIBDIR)/kamailio \
$(CURDIR)/debian/kamailio-db-modules/usr/$(LIBDIR)/kamailio
# "function" to get package short name out of a dir/module_name
# it also transforms db_foo into foo
mod_name=$(subst db_,,$(lastword $(subst /, ,$(1))))
define PACKAGE_GRP_BUILD_template
# package all the modules in PACKAGE_GROUPS in separate packages
$(foreach grp,$(PACKAGE_GROUPS),\
$(MAKE) every-module group_include="k$(grp)" quiet=verbose
)
endef
define PACKAGE_GRP_INSTALL_template
$(foreach grp,$(PACKAGE_GROUPS),\
$(MAKE) install-modules-all LIBDIR=$(LIBDIR) group_include="k$(grp)" \
BASEDIR=$(CURDIR)/debian/kamailio-$(grp)-modules \
cfg_prefix=$(CURDIR)/debian/kamailio-$(grp)-modules \
doc-dir=share/doc/kamailio-$(grp)-modules quiet=verbose
# eliminate duplicate libs
-for d in $(DUP_LIBS_DIRS); do \
test "$$d" != "$(CURDIR)/debian/kamailio-$(grp)-modules/usr/$(LIBDIR)/kamailio" &&\
for r in `find $$d -name 'lib*'|xargs`; do \
echo "removing $(grp) lib `basename $$r` present also in $$d";\
rm -f $(CURDIR)/debian/kamailio-$(grp)-modules/usr/$(LIBDIR)/kamailio/`basename "$$r"` ; \
done ; \
done
find $(CURDIR)/debian/kamailio-$(grp)-modules -depth -empty -type d -exec rmdir {} \;
)
endef
define PACKAGE_EXTRA_BUILD_template
# package all the modules in EXTRA_GROUPS in separate packages
$(foreach grp,$(EXTRA_GROUPS),\
$(MAKE) every-module group_include="k$(grp)" quiet=verbose
)
endef
define PACKAGE_EXTRA_INSTALL_template
$(foreach grp,$(EXTRA_GROUPS),\
$(MAKE) install-modules-all LIBDIR=$(LIBDIR) group_include="k$(grp)" \
BASEDIR=$(CURDIR)/debian/kamailio-extra-modules \
cfg_prefix=$(CURDIR)/debian/kamailio-extra-modules \
doc-dir=share/doc/kamailio-extra-modules quiet=verbose
)
# eliminate duplicate libs
-for d in $(DUP_LIBS_DIRS); do \
test "$$d" != "$(CURDIR)/debian/kamailio-extra-modules/usr/$(LIBDIR)/kamailio" &&\
for r in `find $$d -name 'lib*'|xargs`; do \
echo "removing extra lib `basename $$r` present also in $$d";\
rm -f $(CURDIR)/debian/kamailio-extra-modules/usr/$(LIBDIR)/kamailio/`basename "$$r"` ; \
done ; \
done
find $(CURDIR)/debian/kamailio-extra-modules -depth -empty -type d -exec rmdir {} \;
endef
# CFLAGS + CPPFLAGS -> CC_EXTRA_OPTS
CC_EXTRA_OPTS := $(shell dpkg-buildflags --get CPPFLAGS)
CC_EXTRA_OPTS += $(shell DEB_CFLAGS_MAINT_STRIP=-O2 dpkg-buildflags --get CFLAGS)
CXXFLAGS := $(shell DEB_CXXFLAGS_MAINT_STRIP=-O2 dpkg-buildflags --get CXXFLAGS)
# LDFLAGS -> LD_EXTRA_OPTS
LD_EXTRA_OPTS := $(shell dpkg-buildflags --get LDFLAGS)
# https://wiki.debian.org/ReproducibleBuilds/
CC_EXTRA_OPTS += -DVERSION_NODATE
configure: configure-stamp
configure-stamp:
dh_testdir
# Add here commands to configure the package.
$(MAKE) FLAVOUR=kamailio cfg prefix=/usr cfg_prefix=$(CURDIR)/debian/kamailio \
cfg_target=/etc/kamailio/ \
BASEDIR=$(CURDIR)/debian/kamailio \
skip_modules="$(EXCLUDED_MODULES) $(EXTRA_EXCLUDED_MODULES)" \
CC_EXTRA_OPTS="$(CC_EXTRA_OPTS)" \
LD_EXTRA_OPTS="$(LD_EXTRA_OPTS)" \
group_include="kstandard" quiet=verbose
touch configure-stamp
build: build-stamp
build-arch: build-stamp
build-indep: build-stamp
build-stamp: configure-stamp
dh_testdir
# Add here commands to compile the package.
$(MAKE) all quiet=verbose
# make groups
$(call PACKAGE_GRP_BUILD_template)
$(call PACKAGE_EXTRA_BUILD_template)
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
# Add here commands to clean up after the build process.
$(MAKE) maintainer-clean
dh_clean
install: build
dh_testdir
dh_testroot
dh_prep
dh_installdirs
# Add here commands to install the package into debian/kamailio
$(MAKE) install group_include="kstandard"
# make group packages
$(call PACKAGE_GRP_INSTALL_template)
$(call PACKAGE_EXTRA_INSTALL_template)
mv $(CURDIR)/debian/kamailio-berkeley-modules/usr/sbin/kambdb_recover \
$(CURDIR)/debian/kamailio-berkeley-bin/usr/sbin/kambdb_recover
# install /etc/default/kamailio file
mkdir -p $(CURDIR)/debian/kamailio/etc/default
cp -f debian/kamailio.default $(CURDIR)/debian/kamailio/etc/default/kamailio
# delete /run/kamailio dir
rm -rf $(CURDIR)/debian/kamailio/usr/local
# This single target is used to build all the packages, all at once, or
# one at a time. So keep in mind: any options passed to commands here will
# affect _all_ packages. Anything you want to only affect one package
# should be put in another target, such as the install target.
binary-common:
dh_testdir
dh_testroot
dh_installdebconf
dh_installdocs
dh_installexamples -Xobsoleted -Xsr
dh_installmenu
dh_systemd_enable -pkamailio
dh_installinit -pkamailio -- defaults 23
dh_systemd_start -pkamailio
dh_installcron
dh_installman
dh_installinfo
dh_lintian
dh_installchangelogs ChangeLog
dh_link
dh_strip --dbg-package=kamailio-dbg
dh_compress
dh_fixperms
dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
# Build architecture-independent packages using the common target
binary-indep: build install
# (Uncomment this next line if you have such packages.)
# $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
# We have nothing to do by default.
# Build architecture-dependent packages using the common target
binary-arch: build install
$(MAKE) -f debian/rules DH_OPTIONS=-a binary-common
# Any other binary targets build just one binary package at a time.
binary-%: build install
$(MAKE) -f debian/rules binary-common DH_OPTIONS=-p$*
print-version:
@@echo "Debian version: $(DEBVERSION)"
@@echo "Upstream version: $(UPVERSION)"
get-orig-source:
@@dh_testdir
@@[ -d ../tarballs/. ]||mkdir -p ../tarballs
@@echo Downloading $(FILENAME) from $(URL) ...
@@wget -nv -T10 -t3 -O ../tarballs/$(FILENAME) $(URL)
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure

@ -0,0 +1 @@
kamailio source: debian-watch-file-in-native-package

@ -0,0 +1,3 @@
version=3
opts=dversionmangle=s/\~svn([\d]+)//; \
http://www.kamailio.org/pub/kamailio/([\d.]+)/src/kamailio-([\d.]+)_src\.tar\.gz

@ -1,3 +1,15 @@
kamailio (5.6.4) unstable; urgency=medium
* version set 5.6.4
-- Victor Seva <vseva@debian.org> Mon, 27 Feb 2023 10:00:13 +0100
kamailio (5.6.3) unstable; urgency=medium
* version set 5.6.3
-- Victor Seva <vseva@debian.org> Wed, 11 Jan 2023 09:06:01 +0100
kamailio (5.6.2) unstable; urgency=medium
* version set 5.6.2

@ -1,2 +1,2 @@
kamailio-tls-modules binary: possible-gpl-code-linked-with-openssl
kamailio-tls-modules binary: library-not-linked-against-libc usr/lib/*/kamailio/openssl_mutex_shared/openssl_mutex_shared.so
kamailio-tls-modules binary: library-not-linked-against-libc

@ -1,3 +1,15 @@
kamailio (5.6.4) unstable; urgency=medium
* version set 5.6.4
-- Victor Seva <vseva@debian.org> Mon, 27 Feb 2023 10:00:13 +0100
kamailio (5.6.3) unstable; urgency=medium
* version set 5.6.3
-- Victor Seva <vseva@debian.org> Wed, 11 Jan 2023 09:06:01 +0100
kamailio (5.6.2) unstable; urgency=medium
* version set 5.6.2

@ -1,2 +1,2 @@
kamailio-tls-modules binary: possible-gpl-code-linked-with-openssl
kamailio-tls-modules binary: library-not-linked-against-libc usr/lib/*/kamailio/openssl_mutex_shared/openssl_mutex_shared.so
kamailio-tls-modules binary: library-not-linked-against-libc

@ -1,3 +1,15 @@
kamailio (5.6.4) unstable; urgency=medium
* version set 5.6.4
-- Victor Seva <vseva@debian.org> Mon, 27 Feb 2023 10:00:13 +0100
kamailio (5.6.3) unstable; urgency=medium
* version set 5.6.3
-- Victor Seva <vseva@debian.org> Wed, 11 Jan 2023 09:06:01 +0100
kamailio (5.6.2) unstable; urgency=medium
* version set 5.6.2

@ -30,7 +30,7 @@ Build-Depends:
libmono-2.0-dev [amd64 armel armhf i386 mipsel kfreebsd-amd64 kfreebsd-i386 ppc64 ppc64el s390x],
libmosquitto-dev,
libnats-dev,
libncurses5-dev,
libncurses-dev,
libpcre3-dev,
libperl-dev,
libphonenumber-dev (>= 7),
@ -70,7 +70,6 @@ Pre-Depends:
${misc:Pre-Depends},
Depends:
adduser,
lsb-base,
python3,
${misc:Depends},
${shlibs:Depends},

@ -1,2 +1,2 @@
kamailio-tls-modules binary: possible-gpl-code-linked-with-openssl
kamailio-tls-modules binary: library-not-linked-against-libc usr/lib/*/kamailio/openssl_mutex_shared/openssl_mutex_shared.so
kamailio-tls-modules binary: library-not-linked-against-libc

@ -1,3 +1,15 @@
kamailio (5.6.4) unstable; urgency=medium
* version set 5.6.4
-- Victor Seva <vseva@debian.org> Mon, 27 Feb 2023 10:00:13 +0100
kamailio (5.6.3) unstable; urgency=medium
* version set 5.6.3
-- Victor Seva <vseva@debian.org> Wed, 11 Jan 2023 09:06:01 +0100
kamailio (5.6.2) unstable; urgency=medium
* version set 5.6.2

@ -1,2 +1,2 @@
kamailio-tls-modules binary: possible-gpl-code-linked-with-openssl
kamailio-tls-modules binary: library-not-linked-against-libc usr/lib/*/kamailio/openssl_mutex_shared/openssl_mutex_shared.so
kamailio-tls-modules binary: library-not-linked-against-libc

@ -1,3 +1,15 @@
kamailio (5.6.4) unstable; urgency=medium
* version set 5.6.4
-- Victor Seva <vseva@debian.org> Mon, 27 Feb 2023 10:00:13 +0100
kamailio (5.6.3) unstable; urgency=medium
* version set 5.6.3
-- Victor Seva <vseva@debian.org> Wed, 11 Jan 2023 09:06:01 +0100
kamailio (5.6.2) unstable; urgency=medium
* version set 5.6.2

@ -1,2 +1,2 @@
kamailio-tls-modules binary: possible-gpl-code-linked-with-openssl
kamailio-tls-modules binary: library-not-linked-against-libc usr/lib/*/kamailio/openssl_mutex_shared/openssl_mutex_shared.so
kamailio-tls-modules binary: library-not-linked-against-libc

@ -1,3 +1,15 @@
kamailio (5.6.4) unstable; urgency=medium
* version set 5.6.4
-- Victor Seva <vseva@debian.org> Mon, 27 Feb 2023 10:00:13 +0100
kamailio (5.6.3) unstable; urgency=medium
* version set 5.6.3
-- Victor Seva <vseva@debian.org> Wed, 11 Jan 2023 09:06:01 +0100
kamailio (5.6.2) unstable; urgency=medium
* version set 5.6.2

@ -1,2 +1,2 @@
kamailio-tls-modules binary: possible-gpl-code-linked-with-openssl
kamailio-tls-modules binary: library-not-linked-against-libc usr/lib/*/kamailio/openssl_mutex_shared/openssl_mutex_shared.so
kamailio-tls-modules binary: library-not-linked-against-libc

@ -1,3 +1,15 @@
kamailio (5.6.4) unstable; urgency=medium
* version set 5.6.4
-- Victor Seva <vseva@debian.org> Mon, 27 Feb 2023 10:00:13 +0100
kamailio (5.6.3) unstable; urgency=medium
* version set 5.6.3
-- Victor Seva <vseva@debian.org> Wed, 11 Jan 2023 09:06:01 +0100
kamailio (5.6.2) unstable; urgency=medium
* version set 5.6.2

@ -1,2 +1,2 @@
kamailio-tls-modules binary: possible-gpl-code-linked-with-openssl
kamailio-tls-modules binary: library-not-linked-against-libc usr/lib/*/kamailio/openssl_mutex_shared/openssl_mutex_shared.so
kamailio-tls-modules binary: library-not-linked-against-libc

@ -1,5 +1,5 @@
%define name kamailio
%define ver 5.6.2
%define ver 5.6.4
%define rel dev1.0%{dist}
%if 0%{?fedora}
@ -736,8 +736,11 @@ BuildRequires: zlib-devel
Requires: libmysqlclient18
BuildRequires: libmysqlclient-devel
%else
Requires: mysql-libs
%if 0%{?rhel} == 6
BuildRequires: mysql-devel
%else
BuildRequires: mariadb-devel
%endif
%endif
%description mysql

@ -28,7 +28,7 @@ include Makefile.sources
include Makefile.targets
# whether or not the entire build process should fail if building a module or
# an utility fails
# a utility fails
err_fail?=1
# whether or not to install $(MAIN_NAME).cfg or just $(MAIN_NAME).cfg.default

@ -106,7 +106,7 @@ INSTALL_FLAVOUR=$(FLAVOUR)
# version number
VERSION = 5
PATCHLEVEL = 6
SUBLEVEL = 2
SUBLEVEL = 4
EXTRAVERSION =
# memory manager switcher

@ -30,7 +30,7 @@ COREPATH ?=../../src
ALLDEP=Makefile $(COREPATH)/Makefile.sources $(COREPATH)/Makefile.rules \
$(COREPATH)/Makefile.utils $(COREPATH)/Makefile.dirs $(COREPATH)/config.mak
#override modules value, an util cannot have submodules
#override modules value, a util cannot have submodules
override modules=
override static_modules=
override static_modules_path=

@ -918,7 +918,7 @@ int do_action(struct run_act_ctx* h, struct action* a, struct sip_msg* msg)
if (len){
if(crt+len>end) goto error_uri;
memcpy(crt,tmp,len);crt+=len;
user=1; /* we have an user field so mark it */
user=1; /* we have a user field so mark it */
}
if (a->type==SET_USERPASS_T) tmp=0;

@ -2,6 +2,6 @@
* DO NOT EDIT IT
*/
#define REPO_VER "54a9c1"
#define REPO_HASH "54a9c1"
#define REPO_VER "a004cf"
#define REPO_HASH "a004cf"
#define REPO_STATE ""

@ -79,7 +79,7 @@
#elif defined __CPU_x86 || defined __CPU_x86_64
/* no asm (e.g. no CC_GCC_LIKE_ASM) => debruijn for bit_scan_forward and
* br for bit_scan_reverse */
/* make sure debruijn an branch version are enabled */
/* make sure debruijn and branch version are enabled */
#ifndef BIT_SCAN_DEBRUIJN
#define BIT_SCAN_DEBRUIJN
#endif
@ -117,7 +117,7 @@
#else /* __CPU_XXX */
/* default - like x86 no asm */
/* make sure debruijn an branch version are enabled */
/* make sure debruijn and branch version are enabled */
#ifndef BIT_SCAN_DEBRUIJN
#define BIT_SCAN_DEBRUIJN
#endif

@ -1099,7 +1099,7 @@ error:
* Both parameters can be NULL meaning that the src/dst config is the default,
* not an additional group instance.
* The function executes all the per-child process callbacks which are different
* in the two instaces.
* in the two instances.
*/
void cfg_move_handle(cfg_group_t *group, cfg_group_inst_t *src_ginst, cfg_group_inst_t *dst_ginst)
{

@ -299,7 +299,7 @@ static inline void cfg_child_cb_free_item(cfg_child_cb_t *cb)
* Both parameters can be NULL meaning that the src/dst config is the default,
* not an additional group instance.
* The function executes all the per-child process callbacks which are different
* in the two instaces.
* in the two instances.
*/
void cfg_move_handle(cfg_group_t *group, cfg_group_inst_t *src_ginst, cfg_group_inst_t *dst_ginst);

@ -111,7 +111,7 @@ retry:
/** wait for an exit status to be send by daemon_status_send().
/** wait for an exit status to be sent by daemon_status_send().
* @param status - filled with the sent status (a char).
* @return 0 on success, -1 on error (e.g. process died before sending
* status, not initialized a.s.o.).

@ -786,7 +786,7 @@ inline static struct dns_hash_entry* dns_cache_mk_bad_entry(str* name,
/* create a a/aaaa hash entry from a name and ip address
/* create an a/aaaa hash entry from a name and ip address
* returns 0 on error */
inline static struct dns_hash_entry* dns_cache_mk_ip_entry(str* name,
struct ip_addr* ip)
@ -4399,8 +4399,8 @@ int dns_cache_add_record(unsigned short type,
}
if (!rr_p) {
for ( rr_p = rr_iter;
*rr_p && (*rr_p != new_rr);
for (rr_p = rr_iter;
rr_p && *rr_p && (*rr_p != new_rr);
rr_p = &((*rr_p)->next)
);
}

@ -480,7 +480,9 @@ void log_init(void)
log_fqdn = strdup (info->ai_canonname);
}
freeaddrinfo (info);
if(info!=NULL) {
freeaddrinfo (info);
}
dprint_init_colors();
}

@ -257,7 +257,7 @@ again:
BUG("kq_ev_change: kevent flush changes failed"
" (unexpected error): %s [%d]\n",
strerror(errno), errno);
/* ignore error even if it's not a EBADF/ENOENT */
/* ignore error even if it's not an EBADF/ENOENT */
/* one of the file descriptors is bad, probably already
closed => try to apply changes one-by-one */
for (r = 0; r < h->kq_nchanges; r++) {

@ -1260,7 +1260,7 @@ extern void* sbrk(ptrdiff_t);
/* The bit mask value corresponding to MALLOC_ALIGNMENT */
#define CHUNK_ALIGN_MASK (MALLOC_ALIGNMENT - SIZE_T_ONE)
/* True if address a has acceptable alignment */
/* True if address A has acceptable alignment */
#define is_aligned(A) (((size_t)((A)) & (CHUNK_ALIGN_MASK)) == 0)
/* the number of bytes to offset an address to align it */

@ -53,7 +53,7 @@
* lookup is performed on the host part and the reply is sent to the
* resulting ip. If a port is present or the host part is an ip address
* the dns lookup will be a "normal" one (A or AAAA).
* - if rport is present, it's value will be used as the destination port
* - if rport is present, its value will be used as the destination port
* (and this will also disable srv lookups)
* - if no port is present the destination port will be taken from the srv
* lookup. If the srv lookup fails or is not performed (e.g. ip address
@ -1459,7 +1459,7 @@ skip_nop_before:
/* skip len bytes from orig msg */
s_offset+=t->len;
} else if (t->op==LUMP_DEL && flag == FLAG_MSG_LUMPS_ONLY) {
/* copy lump value and indent as necessarely */
/* copy lump value and indent as necessarily */
memcpy(new_buf+offset, orig + t->u.offset, t->len);
offset+=t->len;
if (new_buf[offset-1] != '\n') {
@ -1592,7 +1592,7 @@ static inline int adjust_clen(struct sip_msg* msg, int body_delta, int proto)
/* The body has been changed, try to find
* existing Content-Length
*/
/* no need for Content-Length if it's and UDP packet and
/* no need for Content-Length if it's an UDP packet and
* it hasn't Content-Length already */
if (msg->content_length==0){
/* content-length doesn't exist, append it */
@ -1938,7 +1938,7 @@ clean:
/** builds a request in memory from another sip request.
*
* Side-effects: - it adds lumps to the msg which are _not_ cleaned.
* The added lumps are HDR_VIA_T (almost always added), HDR_CONTENLENGTH_T
* The added lumps are HDR_VIA_T (almost always added), HDR_CONTENTLENGTH_T
* and HDR_ROUTE_T (when a Route: header is added as a result of a non-null
* msg->path_vec).
* - it might change send_info->proto and send_info->send_socket
@ -2109,7 +2109,7 @@ after_local_via:
}
received_buf = NULL;
}
/* if rport needs to be updated, delete it if present and add it's value */
/* if rport needs to be updated, delete it if present and add its value */
if (rport_buf){
if (msg->via1->rport){ /* rport already present */
via_insert_param=del_lump(msg,
@ -3075,7 +3075,7 @@ char* create_via_hf(unsigned int *len,
/* builds a char* buffer from message headers without body
* first line is excluded in case of skip_first_line=1
* error is set -1 if the memory allocation failes
* error is set -1 if the memory allocation fails
*/
char * build_only_headers( struct sip_msg* msg, int skip_first_line,
unsigned int *returned_len,
@ -3127,7 +3127,7 @@ char * build_only_headers( struct sip_msg* msg, int skip_first_line,
}
/* builds a char* buffer from message body
* error is set -1 if the memory allocation failes
* error is set -1 if the memory allocation fails
*/
char * build_body( struct sip_msg* msg,
unsigned int *returned_len,
@ -3253,7 +3253,7 @@ int build_sip_msg_from_buf(struct sip_msg *msg, char *buf, int len,
msg->buf = buf;
msg->len = len;
if (parse_msg(buf, len, msg)!=0) {
LM_ERR("parsing failed");
LM_ERR("parsing failed\n");
return -1;
}
msg->set_global_address=default_global_address;

@ -61,7 +61,7 @@ static inline int new_credentials(struct hdr_field* _h)
* Return value -1 means that the function was unable to allocate
* memory and therefore the server should return Internal Server Error,
* not Bad Request in this case !
* Bad Request should be send when return value != -1
* Bad Request should be sent when return value != -1
*/
int parse_credentials(struct hdr_field* _h)
{

@ -231,6 +231,7 @@ static inline int hdr_allocs_parse(struct hdr_field* hdr)
case HDR_PROXYAUTH_T:
case HDR_RECORDROUTE_T:
case HDR_REFER_TO_T:
case HDR_REQUIRE_T:
case HDR_ROUTE_T:
case HDR_RPID_T:
case HDR_SESSIONEXPIRES_T:

@ -91,7 +91,7 @@ struct mime_type {
/*! \brief
* returns the accept values of a sip_msg as an null-terminated array
* returns the accept values of a sip_msg as a null-terminated array
* of integer
*/
#define get_accept(_msg_) ((int*)((_msg_)->accept->parsed))
@ -109,7 +109,7 @@ int parse_accept_body(struct hdr_field* const hdr);
/*! \brief
* parse the body of the Accept header. It's values are also converted
* as an null-terminated array of ints.
* as a null-terminated array of ints.
* Returns: 1 : OK
* 0 : hdr not found
* -1 : error (parse error)
@ -119,7 +119,7 @@ int parse_accept_hdr(struct sip_msg* const msg);
/*! \brief
* parse the body of a Content_-Length header. Also tries to recognize the
* type specified by this header (see th above defines).
* type specified by this header (see the above defines).
* Returns the first chr after the end of the header.
*/
char* parse_content_length(char* const buffer, const char* const end, int* const length);

@ -550,7 +550,7 @@ static int parse_sdp_session(str *sdp_body, int session_num, str *cnt_disp, sdp_
}
payload_attr = 0;
/* Let's figure out the atributes */
/* Let's figure out the attributes */
a1p = find_sdp_line(m1p, m2p, 'a');
a2p = a1p;
for (;;) {

@ -232,7 +232,7 @@ int route_get(struct route_list* rt, char* name)
int i;
len=strlen(name);
/* check if exists an non empty*/
/* check if exists and non empty*/
e=str_hash_get(&rt->names, name, len);
if (e){
i=e->u.n;
@ -261,7 +261,7 @@ int route_lookup(struct route_list* rt, char* name)
struct str_hash_entry* e;
len=strlen(name);
/* check if exists an non empty*/
/* check if exists and non empty*/
e=str_hash_get(&rt->names, name, len);
if (e){
return e->u.n;

@ -27,12 +27,8 @@
* Module: \ref core
*/
#ifndef _RPC_H
#define _RPC_H
/*
* TODO: Add the possibility to add printf-like formatted string to fault
*/
#ifndef _RPC_H_
#define _RPC_H_
enum rpc_flags {
RET_ARRAY = (1 << 0),
@ -120,5 +116,4 @@ typedef struct rpc_export {
unsigned int flags; /*!< Various flags, reserved for future use */
} rpc_export_t;
#endif /* _RPC_H */
#endif /* _RPC_H_ */

@ -40,8 +40,8 @@ int rpc_sarray_crt_size; /* used */
static int rpc_sarray_max_size; /* number of entries alloc'ed */
/** init the rpc hash table.
* @return 0 on success, -1 on error
*/
* @return 0 on success, -1 on error
*/
int init_rpcs(void)
{
if (str_hash_alloc(&rpc_hash_table, RPC_HASH_SIZE)<0)
@ -204,9 +204,9 @@ int rpc_register(rpc_export_t* rpc)
/** register all the rpc in a null-terminated array.
* @return 0 on success, >0 if duplicates were found (number of
* duplicates), -1 on error
*/
* @return 0 on success, >0 if duplicates were found (number of
* duplicates), -1 on error
*/
int rpc_register_array(rpc_export_t* rpc_array)
{
rpc_export_t* rpc;

@ -21,8 +21,8 @@
* \author andrei
*/
#ifndef __rpc_lookup_h
#define __rpc_lookup_h
#ifndef _RPC_LOOKUP_H_
#define _RPC_LOOKUP_H_
#include "rpc.h"
/* must be exported for listing the rpcs */
@ -36,8 +36,6 @@ rpc_export_t* rpc_lookup(const char* name, int len);
int rpc_register(rpc_export_t* rpc);
int rpc_register_array(rpc_export_t* rpc_array);
#endif /*__rpc_lookup_h*/
#endif /*_RPC_LOOKUP_H_*/
/* vi: set ts=4 sw=4 tw=79:ai:cindent: */

@ -2690,7 +2690,7 @@ struct rval_expr* mk_rval_expr_v(enum rval_type rv_type, void* val,
/**
* @brief Create a unary op. rval_expr
* @brief Create an unary op. rval_expr
* ret= op rve1
* @param op - rval expr. unary operator
* @param rve1 - rval expr. on which the operator will act.
@ -3652,7 +3652,7 @@ static int rve_optimize(struct rval_expr* rve)
if (rve_replace_with_ct_rv(rve->right.rve, rv)<0)
goto error;
rve->op=RVE_IPLUS_OP;
LM_DBG("FIXUP RVE (%d,%d-%d,%d): optimized $v - a into "
LM_DBG("FIXUP RVE (%d,%d-%d,%d): optimized $v - an into "
"$v + (%d)\n",
rve->fpos.s_line, rve->fpos.s_col,
rve->fpos.e_line, rve->fpos.e_col,

@ -296,7 +296,7 @@ struct rval_expr* mk_rval_expr_v(enum rval_type rv_type, void* val,
struct cfg_pos* pos);
/**
* @brief Create a unary op. rval_expr
* @brief Create an unary op. rval_expr
* ret= op rve1
* @param op - rval expr. unary operator
* @param rve1 - rval expr. on which the operator will act.

@ -1714,7 +1714,7 @@ static int fix_hostname(str* name, struct ip_addr* address, str* address_str,
}
#ifdef USE_MCAST
/* Check if it is an multicast address and
/* Check if it is a multicast address and
* set the flag if so
*/
if (is_mcast(address)){

@ -2043,8 +2043,10 @@ int tcp_send(struct dest_info* dst, union sockaddr_union* from,
}
/* check if connect() is disabled */
if (unlikely((dst->send_flags.f & SND_F_FORCE_CON_REUSE) ||
cfg_get(tcp, tcp_cfg, no_connect)))
cfg_get(tcp, tcp_cfg, no_connect))) {
LM_DBG("no connect set and no active connection\n");
return -1;
}
LM_DBG("no open tcp connection found, opening new one\n");
/* create tcp connection */
if (likely(from==0)){

@ -659,7 +659,7 @@ static inline void strlower(str* _s)
/*
* Convert an str to unsigned long
* Convert a str to unsigned long
*/
static inline int str2ulong(str* _s, unsigned long* _r)
{
@ -667,7 +667,7 @@ static inline int str2ulong(str* _s, unsigned long* _r)
}
/*
* Convert an str to unsigned integer
* Convert a str to unsigned integer
*/
static inline int str2int(str* _s, unsigned int* _r)
{

@ -57,33 +57,6 @@ static inline int tr_strz_to_int(char *_bp)
}
static inline char* tr_trim(char* _s)
{
int len;
char* end;
/* Null pointer, there is nothing to do */
if (!_s) return _s;
/* Remove spaces and tabs from the beginning of string */
while ((*_s == ' ') || (*_s == '\t')) _s++;
len = strlen(_s);
end = _s + len - 1;
/* Remove trailing spaces and tabs */
while ((*end == ' ') || (*end == '\t')) end--;
if (end != (_s + len - 1)) {
*(end+1) = '\0';
}
return _s;
}
/**
* ===== imported from "ac_tm.c"
*/

@ -698,7 +698,7 @@ int binrpc_get_response_type(struct binrpc_response_handle *resp_handle)
* and stops at each %v, returning a pointer after the %v, setting *size
* to the string length (not including %v) and *type to the corresponding
* BINRPC type (for now only BINRPC_T_ALL).
* To escape a '%', use "%%", and check for type==-1 (which means skip an call
* To escape a '%', use "%%", and check for type==-1 (which means skip a call
* again parse_fmt).
* Usage:
* n="test: %v,%v,%v\n";

@ -1247,12 +1247,13 @@ int cscf_get_p_charging_vector(struct sip_msg *msg, str * icid, str * orig_ioi,
LM_DBG("p_charging_vector body is %.*s\n", header_body.len, header_body.s);
p = strtok(header_body.s, " ;:\r\t\n\"=");
loop: if (p > (header_body.s + header_body.len))
loop:
if (p == NULL || p > (header_body.s + header_body.len))
return 1;
if (strncmp(p, "icid-value", 10) == 0) {
p = strtok(NULL, " ;:\r\t\n\"=");
if (p > (header_body.s + header_body.len)) {
if (p == NULL || p > (header_body.s + header_body.len)) {
LM_ERR("cscf_get_p_charging_vector: no value for icid\n");
return 0;
}
@ -1272,7 +1273,7 @@ int cscf_get_p_charging_vector(struct sip_msg *msg, str * icid, str * orig_ioi,
} else if (strncmp(p, "orig-ioi", 8) == 0) {
p = strtok(NULL, " ;:\r\t\n\"=");
if (p > (header_body.s + header_body.len)) {
if (p == NULL || p > (header_body.s + header_body.len)) {
LM_ERR("cscf_get_p_charging_vector: no value for icid\n");
return 0;
}
@ -1292,7 +1293,7 @@ int cscf_get_p_charging_vector(struct sip_msg *msg, str * icid, str * orig_ioi,
} else if (strncmp(p, "term-ioi", 8) == 0) {
p = strtok(NULL, " ;:\r\t\n\"=");
if (p > (header_body.s + header_body.len)) {
if (p == NULL || p > (header_body.s + header_body.len)) {
LM_ERR("cscf_get_p_charging_vector: no value for icid\n");
return 0;
}
@ -1314,7 +1315,7 @@ int cscf_get_p_charging_vector(struct sip_msg *msg, str * icid, str * orig_ioi,
LM_DBG("end\n");
str_free(header_body, pkg);
return 1;
out_of_memory:
out_of_memory:
PKG_MEM_ERROR;
return 0;
}

@ -21,7 +21,7 @@
/**
* \file lib/srdb1/db_op.h
* \brief Type that represents a expression operator.
* \brief Type that represents an expression operator.
* \ingroup db1
*/

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save