Module: sip-router
Branch: master
Commit: 88b1fb440e9a379bbcd64292a8bb1d8e29a8b427
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=88b1fb4…
Author: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Committer: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Date: Wed Aug 11 22:49:04 2010 +0200
Merge remote branch 'origin/andrei/raw_sock'
Raw socket support for sending UDP IPv4 packets
(major performance increase on multi-cpu machines running linux:
40-50% faster at least in stateless mode).
* origin/andrei/raw_sock:
NEWS: notes about the new udp4_raw mode
raw sockets: added info rpc
core: compile raw socket support by default on freebsd
raw sockets: freebsd support
cfg: delay cfg_shmize to just before forking
core: always compile the raw sockets code on linux
raw sockets: ttl can be set from the config file
raw sockets: ttl can be set or auto-detected
core: include raw socket support in version info
raw sockets: use BSD ip & udp structure versions
raw sockets: config file support
raw sockets: udp send will use now raw sockets if enabled
raw sockets: runtime config support
raw sockets: build ip header & fragmentation support
raw socket: compilation fixes
raw sockets: get dst. ip from the ip header
core: basic support for receiving udp sip packets on raw sockets
core: basic raw socket support functions
---
Module: sip-router
Branch: master
Commit: 99cff51099aad0613ed7a7a19c3042045a52917a
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=99cff51…
Author: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Committer: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Date: Wed Aug 11 22:18:06 2010 +0200
Merge remote branch 'origin/andrei/rve_f_params'
Automatic support for expressions or variables in lots of module
functions. It applies to all the module functions declared without
a fixup, with a fixup and the corresponding free_fixup function or
with a compatible ser or kamailio style standard fixup (declared
in sr_module.h or mod_fix.h).
E.g.: f($a, "b = " + $b); t_set_fr($v + 2 + $x).
t_set_fr($foo) (equivalent now with t_set_fr("$foo")).
If the expression is constant, then there is no restriction, all the
module functions can take it as parameter.
E.g.: f("7 *" +" 6 = " + 7 * 6) # equivalent to f("7 * 6 = 42")
* origin/andrei/rve_f_params: (21 commits)
NEWS: notes about expressions in function parameters
core: enable RVE fixup support when fixup_free is present
core: automatically fill known fixup_free functions
core: functions to get a fixup corresp. fixup_free function
core: k style fixup_free fixes
core: added generic fparam fixup_free functions
core: pvapi: added pv_spec_free_contents()
core: fix "unsigned" bug in sint2str*()
core: fix auto-deref. for vars in fparam fixups
perl(k): use sr31_cmd_export_t
app_python: use sr31_cmd_export_t
core: internal module interface changes
print(s): fparam fixup example
core: support for RVEs in fparam fixups
core: rval - don't use static buffer for int conversions
core: ut.* - BSD licence
core: ut.h: added sint2strbuf()
perl(k): update api calls: s/MODULE_T/MODULE2_T/
app_python: update api calls: s/MODULE_T/MODULE2_T
print(s): more module function examples
core: support for expressions/variables in function parameters
Conflicts:
NEWS
action.c
modules/app_python/python_msgobj.c
modules_k/perl/openserxs.xs
pkg/kamailio/debian-lenny
pvapi.c
route.c
route_struct.h
sr_module.c
---
Installing on Linux went like a charm, no issues. However, there are some issues when building on FreeBSD.
Some comments:
- The xmlrpc module links to -lresolv, something that doesn't exist on FreeBSD and can be removed.
- Libraries in /usr/local/lib was not found, but it seems like include files in /usr/local/include was found by some modules, but not all. Setting CPATH solved issues here.
- There's no point in even trying to compile iptrtpproxy on systems that are not Linux, right?
- There are many compiler warnings that should be looked at
- In order to get INADDR_LOOPBACK, that is used in presence_dialoginfo and other modules I ended up copying the definition of INADDR_LOOPBACK into ip_addr.h... It's in netinet/in.h but must be disabled for some reason.
Also getting this at make install (but not make modules), guessing it belongs to kamctl installation:
MYSQLON=yes make -C ../../utils/kamctl/ install-modules
"../../Makefile.defs", line 88: Missing dependency operator
Error expanding embedded variable.
gmake[1]: *** [install-mysql-scripts] Error 2
gmake[1]: Leaving directory `/s/usr-local/src/kamailio-3.0.2/modules/db_mysql'
gmake: *** [install-modules] Error 1
I had to exclude all db modules in order to get around this.
I guess someone with some more experience of the build system needs to look at this :-)
Cheers,
/O
Module: sip-router
Branch: master
Commit: 850a7b31de86056fc9223d809dfae54b0e490c5f
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=850a7b3…
Author: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Committer: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Date: Wed Aug 11 19:31:14 2010 +0200
presence_dialoginfo(k): fix bsd compilation
On FreeBSD don't define _XOPEN_SOURCE (define it only on linux).
It's not needed for strptime() and worse will cause some other
defines to be missing, like INADDR_LOOPBACK ( if_XOPEN_SOURCE
is defined, __BSD_VISIBLE will be undefined => lots of missing
defines).
Reported-by: Reported-by: Olle E. Johansson oej edvina net
---
modules_k/presence_dialoginfo/pidf.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules_k/presence_dialoginfo/pidf.c b/modules_k/presence_dialoginfo/pidf.c
index 9285d2b..d90de4c 100644
--- a/modules_k/presence_dialoginfo/pidf.c
+++ b/modules_k/presence_dialoginfo/pidf.c
@@ -36,12 +36,12 @@
* use 600 for 'Single UNIX Specification, Version 3'
* _XOPEN_SOURCE creates conflict in header definitions in Solaris
*/
-#ifndef __OS_solaris
- #define _XOPEN_SOURCE 600 /* glibc2 on linux, bsd */
+#ifdef __OS_linux
+ #define _XOPEN_SOURCE 600 /* glibc2 on linux */
#define _BSD_SOURCE 1 /* needed on linux to "fix" the effect
of the above define on
features.h/unistd.h syscall() */
-#else
+#elif defined __OS_solaris
#define _XOPEN_SOURCE_EXTENDED 1 /* solaris */
#endif
Module: sip-router
Branch: andrei/rve_f_params
Commit: c06ba275405db446df6a3fd1f19f66c7bcd263dc
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=c06ba27…
Author: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Committer: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Date: Wed Aug 11 16:16:54 2010 +0200
NEWS: notes about expressions in function parameters
---
NEWS | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/NEWS b/NEWS
index 5f193c4..7e2e8d3 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,15 @@ $Id$
sip-router 3.1 chages
core:
+ - lots of module functions automatically support now expressions or
+ variables in function parameters. This applies to all the module
+ functions declared without a fixup, with a fixup and the corresponding
+ free_fixup function or with a compatible ser or kamailio style standard
+ fixup (declared in sr_module.h or mod_fix.h).
+ E.g.: f($a, "b = " + $b); t_set_fr($v + 2 + $x).
+ t_set_fr($foo) (equivalent now with t_set_fr("$foo")).
+ - all the module functions can now be called with any constant expression
+ as parameters. E.g.: f("7 *" +" 6 = " + 7 * 6);
- onreply_route {...} is now equivalent with onreply_route[0] {...}
- global, per protocol blacklist ignore masks (via extended send_flags).
See dst_blacklist_udp_imask a.s.o (dst_blacklist_*_imask).