Hi,
We've reached the point where we should start adding modules. Me and Jan
would like to start moving ser modules to sip-router. ser modules are
particularly easy because we can move changes from ser cvs
semi-automatically (only a git pull required), so we don't need to stop
development on cvs.
Soon we will have to add kamailio modules too, but for kamailio it would
be more painful, both because of the bigger number of changes required
and because it's difficult to update from svn (so it would be better if
all developers would move to git or use patches).
We must decide if we use separate repositories or a branch in sip-router and
we should also start thinking about the version number of the first ser
and first kamailio based on sip-router.
Repositories:
1. we use branches inside sip-router:
master - like now, only core, tm and common modules
ser_30 - master merged with ser_modules, next version of ser will
come out of it
kamailio_30 - same like above
Disadvantages: - one big repo
- people must be careful _not_ to merge ser_30 or
kamailio_30 into master (that would bring all the
modules into master which is not what we want)
- if someone working on the ser_30 branch (for example)
finds a problem in the core and wants to fix it, it
has to do it on the master branch.
- if the above requirement cannot be avoided and someone
does a specific core change in ser_30 or k_30
(e.g. name in makefile), it should always do it in a
separate commit (no commits touching both core/tm and
some project specific module, instead separate
commits for the common part so that they might be
cherry-picked)
2. we use 3 repositories:
sip-router - like now, only the common part: core, tm and common
modules
ser-ng - sip-router + ser modules
kamailio-ng - sip-router + k modules
Advantages: - 3 smaller repos
- more difficult to make mistakes and merge kamailio or
ser into sip-router/master
Disadvantages: - 3 smaller repos :-)
- same as for (1)
In general whatever we can do with branches in the same repo we can with
branches in different repos, so a complete kamailio-ser merge would not
be affected if we use separate repos.
Version numbers:
I think it would be a good idea to come up with a versioning scheme that
would reflect the common part used for future ser and kamailio releases.
Maybe 3.x (3 being > then both current ser and kamailio version), or
mabye v.v.X , where v.v is the sip-router version (common part) and X is
the project version (ser or kamailio).
What's important is to (very) quickly decide on the repository layout (because
this will slow us down) and on the names for the branches or for the different
repos. Once this is decided we want to quickly make a test ser version based
on sip-router and start testing it. If everything looks ok we want to
start using it on iptel.org.
Andrei
Module: sip-router
Branch: andrei/modules_dirs
Commit: d3a4a0dbfdc468b2f8808a89fb3ab632dc5dbdf8
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=d3a4a0d…
Author: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Committer: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Date: Fri Mar 27 20:44:36 2009 +0100
build system: support for multiple modules dirs
Multiple modules directories are now supported.
The list of the modules directories is in Makefile.dirs in
$(modules_dirs).
Name restrictions: the names must not match any makefile variable name
and they shouldn't contain any '-' char.
The modules and modules doc/READMEs will be installed in separate dirs
(e.g. for modules_dirs="modules modules_s modules_k" , the modules
will be installed in .../lib/ser/modules , ...lib/ser/modules_s
and ...lib/ser/modules_k).
The module man pages will all be installed in the same man dir
(but so far only some ser modules have man pages so we should be
safe).
New make targets:
every-module - make all the modules in all the module dirs
install-every-module - like above, but install
install-every-module-doc
install-every-module-man
Targets dependent on $(modules_dirs) content:
$(m), $(m)-doc, $(m)-readme, $(m)-man, install-$(m),
install-$(m)-doc, install-$(m)-man.
E.g.: for modules_dirs=modules modules_k modules_s
make modules - make all modules in the directory "modules".
make modules_k - make all the modules in the directory modules_k.
make every-module - make all the modules in the directories
modules, modules_k and modules_s.
make install-modules_s - install all the modules in the directory
modules_s.
---
Makefile | 309 ++++++++++++++++++++++++++++++++++--------------------
Makefile.defs | 3 +-
Makefile.dirs | 23 ++++
Makefile.modules | 16 ++--
Makefile.rules | 12 +-
Makefile.sources | 2 +-
Makefile.targets | 22 +++--
7 files changed, 249 insertions(+), 138 deletions(-)
Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=d3a…
Module: sip-router
Branch: master
Commit: 7c0dd0275e94eb2c9ad787241952dcfc1c3e4ed9
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=7c0dd02…
Author: Jan Janak <jan(a)iptel.org>
Committer: Jan Janak <jan(a)iptel.org>
Date: Fri Mar 27 18:36:18 2009 +0100
Switch to the openser module interface version
We need to switch the tls module to the openser version of module
interface in order to make all the tls related pseudo-variables
available.
This comes with a price, we won't be able to use the TLS rpc
commands temporarily because they can only be exported through
the SER version of the module interface. But there are only two
functions available through the rpc interface anyway and not
having them harms less than not having the pseudo-variables.
---
modules/tls/Makefile | 2 +-
modules/tls/tls_mod.c | 21 ++++++++++++---------
2 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/modules/tls/Makefile b/modules/tls/Makefile
index 8c2671b..30dacf4 100644
--- a/modules/tls/Makefile
+++ b/modules/tls/Makefile
@@ -17,6 +17,6 @@ LIBS+= -L$(LOCALBASE)/lib -L$(LOCALBASE)/ssl/lib -lssl -lcrypto \
# E.g.: make TLS_HOOKS=1 TLS_EXTRA_LIBS="-lz -lkrb5"
-DEFS+=-DSER_MOD_INTERFACE
+DEFS+=-DOPENSER_MOD_INTERFACE
include ../../Makefile.modules
diff --git a/modules/tls/tls_mod.c b/modules/tls/tls_mod.c
index 7c1b56a..8e45043 100644
--- a/modules/tls/tls_mod.c
+++ b/modules/tls/tls_mod.c
@@ -220,15 +220,18 @@ static param_export_t params[] = {
* Module interface
*/
struct module_exports exports = {
- "tls",
- cmds, /* Exported functions */
- tls_rpc, /* RPC methods */
- params, /* Exported parameters */
- mod_init, /* module initialization function */
- 0, /* response function*/
- destroy, /* destroy function */
- 0, /* cancel function */
- mod_child /* per-child init function */
+ "tlsops",
+ DEFAULT_DLFLAGS, /* dlopen flags */
+ cmds, /* Exported functions */
+ params, /* Exported parameters */
+ 0, /* exported statistics */
+ 0, /* exported MI functions */
+ tls_pv, /* exported pseudo-variables */
+ 0, /* extra processes */
+ mod_init, /* module initialization function */
+ 0, /* response function */
+ destroy, /* destroy function */
+ mod_child /* child initialization function */
};
Module: sip-router
Branch: master
Commit: 226d8a1af6d95637a9caab0661b202a6ad1020c0
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=226d8a1…
Author: Jan Janak <jan(a)iptel.org>
Committer: Jan Janak <jan(a)iptel.org>
Date: Fri Mar 27 15:23:55 2009 +0100
Prepare for inclusion of kamailio PV functions
List of changes:
* All select functions has been split into a generit part that can be
reused by PV function and a select part which contains the code
specific for the SER select framework.
* Indentation fixed
* check_cert renamed to sel_check_cert to follow the naming scheme of
all other select functions
* get_cert function logs an error message when it fails to retrieve
certificate from the SSL structure
---
modules/tls/tls_select.c | 358 +++++++++++++++++++++++++++++-----------------
1 files changed, 224 insertions(+), 134 deletions(-)
Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=226…
Module: sip-router
Branch: master
Commit: 7c757bb1b2e62f2319cff2ed4d79405b6f48f4df
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=7c757bb…
Author: Jan Janak <jan(a)iptel.org>
Committer: Jan Janak <jan(a)iptel.org>
Date: Fri Mar 27 18:12:12 2009 +0100
Exporting TLS module functions through the pseudo-variable interface
This patch adds pseudo-variable related function from kamailio, these
function work on top of the generic functions in tls_select.c
---
modules/tls/tls_select.c | 430 +++++++++++++++++++++++++++++++++++++++++++++-
modules/tls/tls_select.h | 6 +-
2 files changed, 433 insertions(+), 3 deletions(-)
Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=7c7…
Module: sip-router
Branch: janakj/kcore
Commit: 1d9df499a688a4202518f1622ca45eba9eac1f9c
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=1d9df49…
Author: Ovidiu Sas <osas(a)voipembedded.com>
Committer: Jan Janak <jan(a)iptel.org>
Date: Fri Mar 27 13:28:18 2009 +0100
Moving socket related code from snmpstats module into libkcore
Other modules will be able to access socket related statistics directly
from the shared library (this is currently used by two modules,
ratelimit and snmpstats.
Signed-off-by: Jan Janak <jan(a)iptel.org>
---
lib/kcore/statistics.c | 359 ++++++++++++++++++++++++++++++++++++++++++++++++
lib/kcore/statistics.h | 46 ++++++
2 files changed, 405 insertions(+), 0 deletions(-)
Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=1d9…
Module: sip-router
Branch: janakj/kcore
Commit: 4a308b52d343e768f5e60f9285632b405c7591b9
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=4a308b5…
Author: Jan Janak <jan(a)iptel.org>
Committer: Jan Janak <jan(a)iptel.org>
Date: Fri Mar 27 13:27:21 2009 +0100
Merge commit 'sr/master' into kcore
* commit 'sr/master': (63 commits)
Kamailio compatibility: Privacy header field name parser
Kamailio compatibility: Privacy header field name parser
Replace TCP_BUF_SIZE with a cfg_get(..).
Remove shm_str_dup function.
Define SER_MOD_INTERFACE in Makefile.
Do not clone sip_msg->body into shared memory
Update the SDP parser for the sip-router core.
New element of sip_msg structure with pointer to parsed body
Compile also the files in parser/sdp
SDP document parser
Support for mixed content type.
Teach the parser recognize PRACK and UPDATE methods
Kamailio compatiblity: Added pointer to a free function to tm callbacks
- a set of minimalistic config files for testing purposes
- tls module todo
- default key and certificate names changed to ser-selfsigned*
- updated to the latest changes in the cfg parser
- Use the new configuration file parser
- fixed includes (rm malloc.h) due to portability problems
- shm_str_dup and shm_asciiz_dup set the destination buffer to NULL if
...
---