Andrei Pelinescu-Onciul [Mon, 15 Mar 2010 19:16:01 +0000 (20:16 +0100)]
app_python: update api calls: s/MODULE_T/MODULE2_T
MODULE_T was obsoleted by recent core changes. It was replaced by
MODULE0_T, MODULE1_T and MODULE2_T
Andrei Pelinescu-Onciul [Mon, 15 Mar 2010 19:14:40 +0000 (20:14 +0100)]
print(s): more module function examples
Added example functions with no fixups, with 1, 2, 3 or variable
number of parameters (VAR_PARAM_NO).
Andrei Pelinescu-Onciul [Mon, 15 Mar 2010 19:05:49 +0000 (20:05 +0100)]
core: support for expressions/variables in function parameters
- all module functions that do not have fixups can now be called
with variables, avps or expressions. They will be converted to
string, either on startup (if the expression is constant, e.g.
"a"+"b") or at runtime (if the expression is not constant, .e.g.
$a, $b+$var(foo)+"test").
E.g.: f("1+1=" + 1 + 1, "v=" + $v).
- slightly faster module function calls (eliminated some
never-triggered sanity tests).
Daniel-Constantin Mierla [Mon, 15 Mar 2010 12:15:09 +0000 (13:15 +0100)]
mtree: fixed attr size in mt_list command
Daniel-Constantin Mierla [Mon, 15 Mar 2010 11:16:58 +0000 (12:16 +0100)]
mtree: mt_reload updated
- reload function takes in consideration the operation mode
Daniel-Constantin Mierla [Mon, 15 Mar 2010 11:07:01 +0000 (12:07 +0100)]
mtree: documented new parameters
- new parameters: db_table, tname_column and mt_tree_type
Daniel-Constantin Mierla [Mon, 15 Mar 2010 11:04:04 +0000 (12:04 +0100)]
mtree: fixet mt_tree_type param name
Daniel-Constantin Mierla [Mon, 15 Mar 2010 10:55:44 +0000 (11:55 +0100)]
mtree: load many trees from same table
- support to load data for different trees from same table
- this is a different operating mode, where tree names are dynamic, it
is no need to define them via parameters
- static tree definition takes priority (if a static tree is defined,
the table with dynamic trees name is not loaded)
Andrei Pelinescu-Onciul [Sun, 14 Mar 2010 16:15:32 +0000 (17:15 +0100)]
app_python: fix mk_action() call
The mk_action() call used the old openser format instead of the
sip_router one.
Andrei Pelinescu-Onciul [Sun, 14 Mar 2010 16:13:40 +0000 (17:13 +0100)]
perl(k): fix mk_action call
The mk_action() call used the old openser format, instead of the
sip_router one.
Andrei Pelinescu-Onciul [Fri, 12 Mar 2010 18:38:42 +0000 (19:38 +0100)]
malloc_test: realloc testing support
Support for stress testing realloc:
- new config variable realloc_p for enabling realloc() usage
instead of malloc() for mem tests and mem_rnd_alloc. Its value
is the percent of realloc()s from the total calls to alloc
functions (0-90%).
- new RPC: mt.mem_realloc size [unit] for manually triggering
a realloc.
Andrei Pelinescu-Onciul [Fri, 12 Mar 2010 11:16:16 +0000 (12:16 +0100)]
mem: fix real_used stats for realloc
A realloc that shrank an allocation accounted twice for the
fragment overhead. Basically each shrinking realloc would
introduce an error in the real_used mem stats, between 8 bytes
(f_malloc, no debugging, 32 bits) and up to 96 bytes (q_malloc
with debugging, 64 bits).
This bug concerns only the accounting part. It does not cause any
memory leak or any real runtime problem. It was introduced
in commit
fb9d6e50 (2005).
Marius Zbihlei [Fri, 12 Mar 2010 09:54:25 +0000 (11:54 +0200)]
test/unit Added support for running the tests if kamailio was built instead of ser
Support was added by checking what executable exists in the $SR_DIR path
Marius Zbihlei [Fri, 12 Mar 2010 09:36:10 +0000 (11:36 +0200)]
registrar Removed unnecessary child_fixup for min_expires parameter
The param was not exported to the stats framework.
Marius Zbihlei [Fri, 12 Mar 2010 09:29:47 +0000 (11:29 +0200)]
registrar Fixed typo in original commit that caused an invalid reference when linking
Andrei Pelinescu-Onciul [Thu, 11 Mar 2010 20:08:20 +0000 (21:08 +0100)]
mem: fix f_malloc big fragments bug
In some situation, when dealing with several big free fragments
(>16k) f_malloc would wrongly choose a fragment with a smaller
size then requested. This would create the impression that someone
arbitrarily overwrites the memory.
First symptoms were some tls crashes reported by
Klaus Darilion klaus.darilion@nic.at.
Reproduced using the malloc_test module.
Andrei Pelinescu-Onciul [Thu, 11 Mar 2010 20:06:17 +0000 (21:06 +0100)]
malloc_test: doc updates & generated README
Andrei Pelinescu-Onciul [Thu, 11 Mar 2010 18:38:04 +0000 (19:38 +0100)]
malloc_test: new module for testing/debugging memory problems
malloc_test is a new module for stressing the memory allocators
and easily simulating out-of-memory conditions or memory leaks.
Implemented RPCs:
mt.mem_alloc size - allocates size bytes
mt.mem_free [size] - frees at least size bytes. If size is missing
frees everything allocated by any malloc_test test function.
mt.mem_used - amount of currently allocated mem. by malloc_test.
mt.mem_rnd_alloc min max total [unit] - allocates total
<unit> bytes in chunks with the size randomly chosen between min
and max. <unit> is optional and can be one of b-bytes, k - kb,
m - mb, g -gb.
mt.mem_test_start min max total min_int max_int total_time [unit]
starts a malloc test that will take total_time to execute.
Memory allocations will be performed at intervals randomly
chosen between min_int and max_int (in ms). Each allocation will
have a randomly chosen size between min and max <unit> bytes.
After total <unit> bytes are allocated, everything is
released/freed again and the allocations are restarted. The
total_time is expressed in milliseconds.
Several tests can be run in the same time.
mt.mem_test_stop id - stops the test identified by id.
mt.mem_test_destroy id - destroys the test identified by id
(besides stopping it, it also frees all the data, including the
statistics).
mt.mem_test_destroy_all - destroys all the running or stopped
tests.
mt.mem_test_list [id] - Prints data about test id (running time,
total allocations, errors a.s.o.). If id is missing, it will lists
all the tests.
Script functions:
mt_mem_alloc(size) - equivalent to the mt.mem_alloc RPC.
mt_mem_free(size) - equivalent to the mt.mem_free RPC.
Juha Heinanen [Thu, 11 Mar 2010 02:03:41 +0000 (04:03 +0200)]
modules/mediaproxy: Added support for ICE negotiation.
Patch provided by Sal Ibarra Corretg.
Andrei Pelinescu-Onciul [Wed, 10 Mar 2010 16:30:39 +0000 (17:30 +0100)]
make: fix CPU reset in some conditions
In some cases like trying to build a package with debug config
(e.g. make cfg mode=debug; .... ; make deb), the CPU make variable
was reset resulting in a build failure. This happens because in
the debug config CPU is not set and hence is saved as empty.
Trying to build a package will start a sub-make which will try to
re-do the config without debugging (make cfg), but the CPU
variable with and empty value will be inherited from the
environment and thus the CPU?=something lines won't have any
effect.
The fix replaces CPU?=something with
$(call set_if_empty,CPU,something)
This works around having an empty CPU in the environment.
Reported-by: Jan Janak <jan@iptel.org>
Andrei Pelinescu-Onciul [Wed, 10 Mar 2010 09:42:15 +0000 (10:42 +0100)]
docbook: fix rm'ed files mentioned in .d build error
When some .xml include file is deleted or removed, but the .d
already exists, the build will fail trying to build the apparently
missing file, requiring a make proper.
This fix enclosed the prerequisites in $(wildcard ...), when
generating the .d file.
Andrei Pelinescu-Onciul [Wed, 10 Mar 2010 08:45:28 +0000 (09:45 +0100)]
cfg. parser: fix warnings
- removed flex input warnings
- workaround for bison conflicts warnings (%expect ...)
Andrei Pelinescu-Onciul [Wed, 10 Mar 2010 08:25:13 +0000 (09:25 +0100)]
make: on-the-fly dependency generation
- support on-the-fly dependency file generation with gcc >=3.0
(the dependency files are generated while compiling the object
file, eliminating another gcc+sed invocation)
- support for using makedepend -f- for generating dependencies
E.g.: make cfg MKDEP="makedepend -f-". In general gcc should be
preferred if available (use this if you don't have gcc and your
compiler doesn't generate good deps).
Andrei Pelinescu-Onciul [Tue, 9 Mar 2010 20:57:25 +0000 (21:57 +0100)]
make: depends move/rm file fix & optimization
- fix for make failing if the depends were made and a *.h is moved
or deleted
- avoid restarting make when depends change (make the depends at
the same moment when the .o are generated)
Marius Zbihlei [Tue, 9 Mar 2010 12:54:49 +0000 (14:54 +0200)]
modules/carrierroute Ser cfg framework for some carrierroute parameters (fetch_rows, use_domain and fallback_default)
Added support for cfg framework for some parameters
Updated documentation to reflect the changes
Marius Zbihlei [Mon, 8 Mar 2010 14:11:05 +0000 (16:11 +0200)]
modules_k/registrar Updated documentation to reflect ser cfg framework integration
Andrei Pelinescu-Onciul [Sun, 7 Mar 2010 11:58:06 +0000 (12:58 +0100)]
doc: select_list regenerated
Andrei Pelinescu-Onciul [Sun, 7 Mar 2010 11:57:08 +0000 (12:57 +0100)]
doc: cfg_list regenerated
Andrei Pelinescu-Onciul [Sun, 7 Mar 2010 11:56:02 +0000 (12:56 +0100)]
doc: rpc_lists regenerated
Andrei Pelinescu-Onciul [Sun, 7 Mar 2010 11:52:27 +0000 (12:52 +0100)]
tm: rpc doc strings moved to tm.c
Moved all the rpc doc strings into tm.c, close to the rpc exports
declaration. This will also allow automatic documentation
generation for the rpcs (the script that generates the rpc docs,
parses C code and cannot "resolve" symbols defined in other
files).
Andrei Pelinescu-Onciul [Sun, 7 Mar 2010 11:31:59 +0000 (12:31 +0100)]
doc rpc: fix xmllint errors
Fix unsupported xmlns:xi attrib., missing example titles and
text or examples outside sections.
Andrei Pelinescu-Onciul [Sun, 7 Mar 2010 11:28:04 +0000 (12:28 +0100)]
doc: dump_selects.pl: fix bare <listitem> in generated xmls
- <listitem></listitem> cannot contain bare text => switched to
using <simpara></simpara> inside
Andrei Pelinescu-Onciul [Sun, 7 Mar 2010 11:24:02 +0000 (12:24 +0100)]
doc: *_list: fix xmllint errors and TOC
- fix xmllint erros
- use a 0-level TOC (such that the main TOC will list only the
chapters and not also the sections)
Andrei Pelinescu-Onciul [Sat, 6 Mar 2010 12:57:46 +0000 (13:57 +0100)]
doc: *_list makefiles and files lists updates
- added new makefile targets: gen-files-list (generate the file
lists in a makefile-ready-to-paste format), diff-list
(searches for files and prints the one which are not listed
in the makefile).
- updated make autogen to obey the excluded file and group lists
- updated the files lists for cfg_list, rpc_list and select_list.
Now they are in alphabetical order, with core groups first, as
generated by make gen-files-list.
- fixed title for the config var list
Andrei Pelinescu-Onciul [Fri, 5 Mar 2010 18:17:06 +0000 (19:17 +0100)]
doc: cfg_list regenerated
Andrei Pelinescu-Onciul [Fri, 5 Mar 2010 18:14:27 +0000 (19:14 +0100)]
doc: cfg_list: updated module list
Added siputils, registrar(k) and ratelimit.
Andrei Pelinescu-Onciul [Fri, 5 Mar 2010 18:10:22 +0000 (19:10 +0100)]
doc: rpc_list regenerated
Andrei Pelinescu-Onciul [Fri, 5 Mar 2010 18:04:25 +0000 (19:04 +0100)]
doc: rpc_list: updated the module list
Removed rls(s), pike(s) and pa(s) (obsolete) and add
debugger htable, usrloc(k) and uac(k).
Changed the name for usrloc(s) and usrloc(k) so that there won't
be name conflicts.
Andrei Pelinescu-Onciul [Fri, 5 Mar 2010 17:43:44 +0000 (18:43 +0100)]
doc: select_list regenerated
Andrei Pelinescu-Onciul [Fri, 5 Mar 2010 17:33:44 +0000 (18:33 +0100)]
Merge remote branch 'origin/andrei/cdefs2doc'
* origin/andrei/cdefs2doc: (23 commits)
doc: select_list: added intro & notations sections
doc: select_list: generated docbook and txt lists
doc: select_list: added makefiles for auto-gen.
doc: {rpc,cfg}_list: fix makefile exclude list
doc: dump_selects.pl: fix for incomplete initializers
doc: dump_selects.pl: support for docbook output
doc: cfg_list: generated docbook cfg vars lists
doc: cfg_list: docbook output directory
doc: cfg_list: support for generating docbook output
doc: dump_cfg_defs.pl: support for docbook output
doc: rpc_list: generated docbook rpc lists
doc: rpc_list: docbook output directory
doc: rpc_list: support for generating docbook output
doc: dump_rpcs.pl: support for docbook output
doc: select doc generator: more fixes & core selects support
doc: select doc generator fix flags processing
doc: generated rpc lists
doc: generated cfg vars lists
doc: added makefiles for auto-gen. rpc and cfg vars lists
doc: script to generate select lists from C code
...
Marius Zbihlei [Fri, 5 Mar 2010 14:54:58 +0000 (16:54 +0200)]
modules_k/permisssions Fixed a bug that caused a segmentation fault if the mi_fifo subnet_dump was issued
but the permissions module was not fully configured (no db url given)
Marius Zbihlei [Fri, 5 Mar 2010 14:32:49 +0000 (16:32 +0200)]
modules_k/userblacklist : check_blacklist function uses globalblacklist_table as data source if no parameter is given.
Globalblacklist_table parameter was not used at all in the userblacklist module, the check_blacklist funtion always needing
one parameters and the db table. This is not mandatory anymore, as the check_blacklist function with no parameters will use
the globalblacklist_table
Juha Heinanen [Fri, 5 Mar 2010 04:44:03 +0000 (06:44 +0200)]
modules/lcr: improved documentation related to defunct_gw function
(cherry picked from commit
98607744d233e03ba6e71f076ee4dd5e68d4407b)
Andrei Pelinescu-Onciul [Thu, 4 Mar 2010 18:27:33 +0000 (19:27 +0100)]
doc: select_list: added intro & notations sections
Daniel-Constantin Mierla [Sun, 24 Jan 2010 21:25:03 +0000 (22:25 +0100)]
pipelimit: module for pipe traffic limit
- based on ratelimit
- has only pipe functionality so far
- pipe definitions loaded from database
- pipe id is name
- dynamic management of piples
(cherry picked from commit
163cd084ab97d8938dd014867f70811f0cffa54f)
Andrei Pelinescu-Onciul [Thu, 4 Mar 2010 12:16:06 +0000 (13:16 +0100)]
makefile: fix modules config overwrite
A config file provided by a module was installed even if a
previous version was already installed, overwriting the old
version. Now if a file with the same name already exists, the
module config file will be installed with a .sample extension
added (so only .sample will be overwritten, never an active .cfg).
Reported-by: Klaus Darilion klaus.mailinglists pernau at
Closes FlySpray#38 .
Andrei Pelinescu-Onciul [Thu, 4 Mar 2010 09:52:50 +0000 (10:52 +0100)]
doc: fix links & path for ctl & xmlrpc
ctl & xmlrpc were moved from modules_s/ to modules/, but the
links to them in the docs were not updated.
Andrei Pelinescu-Onciul [Thu, 4 Mar 2010 09:07:48 +0000 (10:07 +0100)]
removed duplicate modules_s/tls
The up-to-date tls module is modules/tls.
Juha Heinanen [Thu, 4 Mar 2010 07:09:22 +0000 (09:09 +0200)]
* modules_k/permissions: subnet matching fix (credits to anonymous)
Andrei Pelinescu-Onciul [Wed, 3 Mar 2010 18:30:04 +0000 (19:30 +0100)]
test: added parse to body test program
- added parse to body test program that uses the same code as
sip-router. E.g. test/parse_to_body "Foo <foo@bar>CR".
- update p_uri (parse uri test) to compile with sip-router.
Andrei Pelinescu-Onciul [Wed, 3 Mar 2010 18:29:04 +0000 (19:29 +0100)]
core: define shm_str_dup() only ifdef SHM_MEM
Andrei Pelinescu-Onciul [Wed, 3 Mar 2010 18:24:08 +0000 (19:24 +0100)]
core: parse_to display name multi-token no-quotes fix
Fix for properly returning a non-quoted display name that is
composed of several tokens (contains spaces). The previous version
would set the display name to the first token, in this case
(e.g. Foo Bar <sip:foo@bar> resulted in display_name="Foo" instead
of "Foo Bar").
Reported-by: Ronald Voermans ronald voermans nu
Closes FlySpray#39 .
Jan Janak [Tue, 2 Mar 2010 21:03:42 +0000 (16:03 -0500)]
parse_param: Let the body point behind '=' when body is missing.
This fixes potential issues with functions that copy parameters
structures from private to shared memory because such functions
usually translate string pointers using a base pointing at the
first character of the parameter list.
Reported by Daniel.
Jan Janak [Tue, 23 Feb 2010 19:38:31 +0000 (14:38 -0500)]
param_parser: Accept parameters with missing bodies.
This change makes the parameter parser more forgiving. It accepts
parameters with missing bodies (foo=), such parameters will have
the body set to an empty string. Observed on iptel.org
Andrei Pelinescu-Onciul [Tue, 2 Mar 2010 16:41:37 +0000 (17:41 +0100)]
core: added missing parsed flags & minor get_hdr optimization
- parsed flags were not set for some headers (ACCEPTCONTACT,
ALLOWEVENTS, CONTENTENCODING, REFERREDBY, REJECTCONTACT,
REQUESTDISPOSITION, WWW_AUTHENTICATE, PROXY_AUTHENTICATE,
RETRY_AFTER).
- get_hdr() now checks first if the required header type was
parsed using the parsed flags. If it was not, it exists
immediately (it does not try to search through all the headers
anymore).
Andrei Pelinescu-Onciul [Fri, 26 Feb 2010 14:21:50 +0000 (15:21 +0100)]
core: msg_parse minor 64bit warning fix
Andrei Pelinescu-Onciul [Fri, 26 Feb 2010 14:10:49 +0000 (15:10 +0100)]
tm: experimental tm onreply_route final reply DROP support
Experimental support for dropping final replies from tm
onreply_route[]s. It's disabled by default (causes a small
performance hit and it's not needed in most cases).
To enable re-compile tm with -DTM_ONREPLY_FINAL_DROP_OK
(e.g. make cfg extra_defs=-DTM_ONREPLY_FINAL_DROP_OK; make all
or make -C modules/tm extra_defs=-DTM_ONREPLY_FINAL_DROP_OK)
Andrei Pelinescu-Onciul [Fri, 26 Feb 2010 12:39:55 +0000 (13:39 +0100)]
tls: TLS_MALLOC_DBG can now be set on make cfg
Enabling tls extra malloc debugging info, does not require anymore
editing tls_init.c. It can be enabled at cfg time
(make cfg extra_defs=-DTLS_MALLOC_DBG) or at compile/re-compile
time ( make -C modules/tls clean;
make -C modules/tls extra_defs=-DTLS_MALLOC_DBG).
When TLS_MALLOC_DBG is enabled, an extra warning will be printed
at compile time. NO_TLS_MALLOC_DBG takes precedence over
TLS_MALLOC_DBG.
Henning Westerholt [Wed, 24 Feb 2010 16:04:54 +0000 (17:04 +0100)]
userblacklist(k): short term fix in the docs for redundant table definition
Andrei Pelinescu-Onciul [Wed, 24 Feb 2010 14:13:12 +0000 (15:13 +0100)]
cfg parser: segfault on case RE parse error fix
Reported-by: Klaus Feichtinger klaus.feichtinger gmx net
Henning Westerholt [Wed, 24 Feb 2010 14:07:38 +0000 (15:07 +0100)]
reg(k): fix compilation for kamailio flavour, reported from Daniel
Andrei Pelinescu-Onciul [Tue, 23 Feb 2010 15:10:21 +0000 (16:10 +0100)]
tls: disable kerberos more thoroughly [fix]
Older openssl versions (< 0.9.8e release) have a bug in the
kerberos code (it uses the wrong malloc, for more details see
openssl bug # 1467). While there is already a workaround for this
openssl bug in the sr code (see commits 36cb8f & 560a42), in some
situations this workaround causes another bug (crash on connection
opening when openssl is compiled with kerberos support and
kerberos is enabled for key exchange).
The current fix will disable automatically all the ciphers containing
KRB5 if the openssl version is < 0.9.8e beta1 or it is between
0.9.9-dev and 0.9.9-beta1.
It iss equivalent to setting cipher_list to "<prev. value>:!KRB5".
Impact: this fix is needed only if openssl is compiled with
kerberos support and the version is < 0.9.8e. It also affects at
least CentOS users with openssl-0.9.8e-12.el5_4.1 (in the centos
openssl package they play some strange games with the version and
report 0.9.8b via SSLeay).
Tested-by: Klaus Darilion klaus.mailinglists at pernau.at
Reported-by: Klaus Darilion klaus.mailinglists at pernau.at
Reported-by: Andreas Rehbein rehbein at e-technik.org
Reported-by: Martin Koenig koenig starface.de
Andrei Pelinescu-Onciul [Mon, 22 Feb 2010 18:45:14 +0000 (19:45 +0100)]
various modules: don't access route_type directly
route_type should be accessed only through get_route_type() or
is_route_type(FOO).
Replaced all the route_type==FOO_ROUTE with
is_route_type(FOO_ROUTE).
Andrei Pelinescu-Onciul [Mon, 22 Feb 2010 18:41:33 +0000 (19:41 +0100)]
tmx(k): core & tm onreply route support
- support for core onreply route (like for tm onreply route, but
with extra t_unref).
- use get_route_type() instead of directly accessing route_type.
Andrei Pelinescu-Onciul [Mon, 22 Feb 2010 18:38:40 +0000 (19:38 +0100)]
tm: t_check_status & t_reply main onreply_route fix
- t_check_status: in some situations t_check_status left the
transaction referenced when called from main onreply_route (e.g.
t_check_status(); drop )
- t_reply: unref the transaction only when called from the main
onreply_route and not from tm onreply route
Andrei Pelinescu-Onciul [Mon, 22 Feb 2010 17:01:26 +0000 (18:01 +0100)]
tm: onreply_route: fix cleanup after DROP
After a DROP in the onreply_route the avp lists where not restored
to their original values and the possible msg flags changes in the
script were dropped.
Andrei Pelinescu-Onciul [Mon, 22 Feb 2010 17:00:30 +0000 (18:00 +0100)]
NEWS: note about onreply_route changes & tm
Andrei Pelinescu-Onciul [Mon, 22 Feb 2010 16:50:40 +0000 (17:50 +0100)]
tm: t_reply can now be used from onreply_routes
t_reply can now be used both from the main onreply_route
(onreply_route{}) or from tm onreply_routes (onreply_route[x]{},
where x!=0).
In general it should be followed by a DROP. If not you might get
some log warning messages (but besides that nothing bad will
happen).
Andrei Pelinescu-Onciul [Mon, 22 Feb 2010 16:48:45 +0000 (17:48 +0100)]
tm: _reply cleans up after itself
The _reply() function now cleans possible added reply_lumps before
exiting. This allows using it not only from request or failure
route.
Andrei Pelinescu-Onciul [Mon, 22 Feb 2010 15:41:59 +0000 (16:41 +0100)]
tm: restrict tm onreply_route commands to tm reply routes only
- most tm onreply functions restricted to tm onreply routes only.
They cannot be executed anymore from the main/core
onreply_route (some of them won't work and others would leave the
transaction referenced).
- don't access route_type directly, but via get_route_type()
Andrei Pelinescu-Onciul [Mon, 22 Feb 2010 13:53:42 +0000 (14:53 +0100)]
tm: tm onreply route has now TM_ONREPLY_ROUTE type
Andrei Pelinescu-Onciul [Mon, 22 Feb 2010 13:49:37 +0000 (14:49 +0100)]
core: distinct core and tm onreply route tests
- added TM_ONREPLY_ROUTE and CORE_ONREPLY_ROUTE to the possible
route types. This allows to distinguish between the main reply
route (executed by the core) and onreply routes executed by tm.
ONREPLY_ROUTE was changed to TM_ONREPLY_ROUTE|CORE_ONREPLY_ROUTE,
so that is_route_type(ONREPLY_ROUTE) will return true both for
CORE_ONREPLY_ROUTE and TM_ONREPLY_ROUTE.
- onreply_route[0] {} is equivalent with onreply_route{}.
- use different route types when parsing the script for
onreply_route{} (CORE_ONREPLY_ROUTE) and onreply_route[x]{},
where x!=0 (TM_ONREPLY_ROUTE).
Andrei Pelinescu-Onciul [Fri, 19 Feb 2010 15:37:51 +0000 (16:37 +0100)]
Merge remote branch 'origin/andrei/blst_send_flags'
Support for blacklist ignore flags, both global and on a per
message basis.
E.g.:
per message:
if (method=~"MESSAGE")
blst_set_ignore(6);
global:
sercmd cfg.set_now_int core dst_blacklist_tcp_imask 16
* origin/andrei/blst_send_flags:
NEWS: minor blacklist flag number correction
tm: blacklist on 503 reply fixed for send flags
NEWS: mentioned blacklist ignore masks
core: cfg script support for blacklist ignore masks
blst: global config variables for ignoring blacklist events
blst: docs for blst_{set,clear}_ignore script functions
blst: functions for ignoring blacklist events
blst: use dst_blacklist_force_add
tm: simplified blacklist add code
blacklist: ignore mask support
tm: updated to the new snd_flags_t structure
core: send_flags preliminary blacklist support
Conflicts:
NEWS
cfg.lex
cfg.y
dst_blacklist.h
Andrei Pelinescu-Onciul [Fri, 19 Feb 2010 15:26:44 +0000 (16:26 +0100)]
NEWS: minor blacklist flag number correction
Andrei Pelinescu-Onciul [Fri, 19 Feb 2010 14:35:57 +0000 (15:35 +0100)]
tm: blacklist on 503 reply fixed for send flags
Blacklisting the source of a 503 reply now obeys also the
blacklist ignore masks (both global and per message).
The ignore 503 blacklist flag can be set (and it will be obeyed)
in any route (be it main route, on branch, on send or the on_reply
route). E.g.: using blst_set_ignore(32) in the onsend_route for a
specific destination would cause the ignore 503 flag to be
inherited by the 503 reply (this is the only blacklist flag that
it's inherited this way).
Andrei Pelinescu-Onciul [Fri, 19 Feb 2010 11:05:41 +0000 (12:05 +0100)]
Merge remote branch 'origin/sr_3.0'
The dst_uri fix (see FlySpray#37) and kamctl.
* origin/sr_3.0:
core: avoid non-null 0-length dst_uri, ruris and path
tm: fake_req dst_uri and ruri copy fix
utils/kamctl: removed unsupported commands to manage lcr gateways and routes
Andrei Pelinescu-Onciul [Fri, 19 Feb 2010 10:55:44 +0000 (11:55 +0100)]
core: PAI & PPI header names parser fixes
Changed to the usual "case" construct. This also fixes the case
when spaces were present between the header name and ':'
(e.g. "P-Preferred-Identity : ..." was not recognized).
Andrei Pelinescu-Onciul [Thu, 18 Feb 2010 20:20:07 +0000 (21:20 +0100)]
core: support for parsing the Reason header
Andrei Pelinescu-Onciul [Thu, 18 Feb 2010 14:19:53 +0000 (15:19 +0100)]
doc: select_list: generated docbook and txt lists
Andrei Pelinescu-Onciul [Thu, 18 Feb 2010 13:15:31 +0000 (14:15 +0100)]
doc: select_list: added makefiles for auto-gen.
Added a new directory (doc/select_list) complete with a makefile for
auto-generating lists with all the select implemented in the code.
make -C doc/select_list all will generate both .txt and .xml
files. The .xml are in docbook format and are written to
doc/select_list/docbook, complete with a file that includes them
all (select_list.xml).
E.g.: to generate a .html file with all the selects:
make -C doc/select_list all # generates the docbook
make -C doc/select_list/docbook html
Andrei Pelinescu-Onciul [Thu, 18 Feb 2010 13:10:08 +0000 (14:10 +0100)]
doc: {rpc,cfg}_list: fix makefile exclude list
- fix makefile exclude groups and files (didn't work for more then
one entry)
- added default list for make all
Andrei Pelinescu-Onciul [Thu, 18 Feb 2010 12:41:10 +0000 (13:41 +0100)]
doc: dump_selects.pl: fix for incomplete initializers
Some of the modules (e.g db_ops) omit the last members (flags) in
the select_row_t initializer. The script did not take into account
this possibility when it did parse the C code.
Andrei Pelinescu-Onciul [Thu, 18 Feb 2010 11:31:59 +0000 (12:31 +0100)]
doc: dump_selects.pl: support for docbook output
Added support for generating docbook output (by using the
--docbook option).
Andrei Pelinescu-Onciul [Wed, 17 Feb 2010 21:39:30 +0000 (22:39 +0100)]
doc: cfg_list: generated docbook cfg vars lists
Andrei Pelinescu-Onciul [Wed, 17 Feb 2010 21:35:09 +0000 (22:35 +0100)]
doc: cfg_list: docbook output directory
Added directory for docbook output, complete with standard doc
makefile (for generating html, pdf, txt a.s.o from docbook
sources).
Andrei Pelinescu-Onciul [Wed, 17 Feb 2010 21:31:43 +0000 (22:31 +0100)]
doc: cfg_list: support for generating docbook output
- make docbook will generate the cfg lists in docbook format
- make all will generate both txt and docbook
- generate docbook index file (cfg_var_list.xml)
- configurable output directories (txt_output_dir and
docbook_output_dir)
Andrei Pelinescu-Onciul [Wed, 17 Feb 2010 21:27:01 +0000 (22:27 +0100)]
doc: dump_cfg_defs.pl: support for docbook output
Added support for generating docbook output (by using the
--docbook option).
Andrei Pelinescu-Onciul [Wed, 17 Feb 2010 19:46:47 +0000 (20:46 +0100)]
core: avoid non-null 0-length dst_uri, ruris and path
- a dst_uri or ruri that has 0 length should be equivalent to also
having a null corresponding char* pointer. sip_msg_shm_clone()
will now clone this type of uris to (0,0).
- set_dst_uri() called with "" (a 0-length non-zero string) is now
equivalent to reset_dst_uri().
- set_path_vector() called with "" is now equivalent with
reset_path_vector().
Andrei Pelinescu-Onciul [Wed, 17 Feb 2010 19:40:46 +0000 (20:40 +0100)]
tm: fake_req dst_uri and ruri copy fix
If the uris have 0 len but no 0 value (possible at least for a
manually set dst_uri), set the corresponding fake_req uri to 0,
thus avoiding a potentially disastrous free in free_faked_req().
Should close FS#37.
Andrei Pelinescu-Onciul [Wed, 17 Feb 2010 16:38:05 +0000 (17:38 +0100)]
doc: rpc_list: generated docbook rpc lists
Andrei Pelinescu-Onciul [Wed, 17 Feb 2010 16:24:46 +0000 (17:24 +0100)]
doc: rpc_list: docbook output directory
Added directory for docbook output, complete with standard doc
makefile (for generating html, pdf, txt a.s.o from docbook
sources).
Andrei Pelinescu-Onciul [Wed, 17 Feb 2010 16:21:18 +0000 (17:21 +0100)]
doc: rpc_list: support for generating docbook output
- make docbook will generate the rpc lists in docbook format
- make all will generate both txt and docbook
- generate docbook index file (rpc_list.xml)
- configurable output directories (txt_output_dir and
docbook_output_dir)
Andrei Pelinescu-Onciul [Wed, 17 Feb 2010 16:19:11 +0000 (17:19 +0100)]
doc: dump_rpcs.pl: support for docbook output
Added support for generating docbook output (by using the
--docbook option).
Marius Zbihlei [Wed, 17 Feb 2010 11:57:05 +0000 (13:57 +0200)]
Modules/registrar : update stats even if -DSTATISTICS was not passed to the compiles(this was the default)
update_stat was called even if the statistics where not added to the stats framework.
Marius Zbihlei [Wed, 17 Feb 2010 11:52:48 +0000 (13:52 +0200)]
Modules_k/registrar Other module variables added to configuration framework
Also added callback that modify the statistics to reflect the changes via sercmd
Andrei Pelinescu-Onciul [Wed, 17 Feb 2010 09:00:57 +0000 (10:00 +0100)]
NEWS: mentioned blacklist ignore masks
Andrei Pelinescu-Onciul [Wed, 17 Feb 2010 08:58:21 +0000 (09:58 +0100)]
core: cfg script support for blacklist ignore masks
The blacklist ignore mask can now be set from the script (not only
at runtime):
dst_blacklist_udp_imask
dst_blacklist_tcp_imask
dst_blacklist_tls_imask
dst_blacklist_sctp_imask
E.g. dst_blacklist_udp_imask=16
Possible values:
0 -disabled
2 - send error
4 - connect error
8 - icmp (reserverd for future use)
16 - transaction timeout
32 - administratively prohibited (manually set)
Marius Zbihlei [Tue, 16 Feb 2010 14:32:16 +0000 (16:32 +0200)]
modules_k:registrar Implementing cfg framework for registrar
Started to implement cfg framework for registrar, having the possibility to change module paraments without restarting k/s
Andrei Pelinescu-Onciul [Mon, 15 Feb 2010 20:37:28 +0000 (21:37 +0100)]
blst: global config variables for ignoring blacklist events
Blacklist events can now be ignored on a per protocol basis, by
setting the corresponding new config variable:
dst_blacklist_udp_imask
dst_blacklist_tcp_imask
dst_blacklist_tls_imask
dst_blacklist_sctp_imask
E.g.: sercmd cfg.set_now_int core dst_blacklist_tcp_imask 6
(ignore send and connect errors on tcp when deciding whether or
not to blacklist)
Andrei Pelinescu-Onciul [Mon, 15 Feb 2010 14:47:37 +0000 (15:47 +0100)]
Merge remote branch 'origin/daniel/xavp'
* origin/daniel/xavp:
pv: export new PV class $xavp(name)
core: introducing xavp (eXtended AVP)
tm: set/reset head of xavps on TM events
pv: new pv class $xavp(...)
core: destroy xavp list once sip msg processing is done
Conflicts:
modules/tm/h_table.c
modules/tm/t_reply.c
modules/tm/uac.c
modules_k/pv/pv.c