[Devel] Towards OpenSER libification

Sebastien Tricaud sebastien.tricaud at wengo.com
Fri Apr 20 17:49:34 CEST 2007


Hello people,


following the IRC meeting, Bodgan asked me to write my thoughts here.


* Current situation:
OpenSER is modular, the code is separated in several directories for
functions
such as memory management, sip parsing, mi and other stuff...

Its current architecture looks like (read bottom-top):

[ higher level operations ]
     [ parser ] [ mi ]
   [ base : memory ]


* What I would like to do:
    - Make sure each component is usable individually: I would like to use a
        high performance SIP parser. The OpenSER one fills the room. I am
        sure this is one way to have this library having more users,
which mean
        used in ways OpenSER could not imagine, leading to discovering
new bugs
        and have OpenSER avoid SIP parsing troubles [1].
    - Maybe replace useless(!) things like memory management, which is
what most
        C-written projects do. I think the base library could be Apache
        libAPR [2]. Maybe this is not the best choice, and if you have a
better
        idea please let me know.


* How I would like to do it:
--> Submit patches :-) (put my money where my mouth is)
    - #1: Get rid of current Makefiles and use a build system
(autotools/CMake?)
    - #2: Concatenating the actual memory management functions in a
separate
        library 'libopenserbase'
    - #3: Put all SIP parser functions in a library 'libsipparser'
    - #4: (after a release I guess) Replace memory management functions
using
        a third party library


* When?:
    - I know patch #1 will be source of troubles, please let's be
efficient.
        Unless you have a good argument, I would like to autotoolize
OpenSER.
        - As Soon As Possible -
    - Patch #2 will come shortly after Patch #1, wait two weeks for
feedback,
        then move to #3.
    - For Patch #4, I think we should carefully chose a library that has a
        good license and _fits_ OpenSER requirements.



[1] http://labs.musecurity.com/advisories/MU-200703-01.txt
[2] http://apr.apache.org/



Thank you very much for reading, feedback very welcome,

Sebastien Tricaud.




More information about the Devel mailing list