[SR-Users] New Kamailio module Obfuscate

Daniel-Constantin Mierla miconda at gmail.com
Fri Aug 8 08:07:57 CEST 2014


I see that the code introduces a new variable $raw_msg. It looks like 
being message buffer which is returned by $mb, thus redundant.

Cheers,
Daniel

On 05/08/14 12:06, Muhammad Shahzad wrote:
> yup, i always download kamailio from official repo mentioned here,
>
> http://www.kamailio.org/wiki/install/devel/git
>
> Thank you.
>
>
>
>
> On Tue, Aug 5, 2014 at 3:03 PM, Daniel-Constantin Mierla 
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
>
>     On 05/08/14 11:55, Muhammad Shahzad wrote:
>>     OK, created the patch finally...
>>
>>     http://webrtc.voip-demos.com/0001-added-support-for-network-io-intercept.patch
>
>     I will look over it and push it to the repository if everything is
>     ok.
>
>
>>
>>     I had to add all file i wanted to include in the commit using
>>     "git add", even the ones that are already included in git repo,
>>     e.g. corex.xml and corex_mod.c.
>     Strange, I never had to do it -- did you clone the git repository
>     from sip-router.org <http://sip-router.org>?
>
>>
>>     I will just let you know i hit my head on wall just 17 times to
>>     make it work. :-(
>     Hopefully it was facebook wall :-)
>
>     Daniel
>
>
>>
>>     Thank you.
>>
>>
>>
>>
>>     On Tue, Aug 5, 2014 at 2:40 PM, Daniel-Constantin Mierla
>>     <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>>
>>         You should use:
>>
>>         git format-patch -1 <sha>
>>
>>         The <sha> in your case appears to be f415b0c . If it is last
>>         commit, should work with:
>>
>>         git format-patch -1 HEAD
>>
>>         Cheers,
>>         Daniel
>>
>>
>>         On 05/08/14 11:25, Muhammad Shahzad wrote:
>>>         These commands do not seem to work for me. Can you please do
>>>         the patch?
>>>
>>>         1. adding files work,
>>>
>>>         git add modules/corex/corex_nio.c modules/corex/corex_nio.h
>>>
>>>         git status
>>>         # On branch master
>>>         # Changes to be committed:
>>>         #   (use "git reset HEAD <file>..." to unstage)
>>>         #
>>>         #    new file: modules/corex/corex_nio.c
>>>         #    new file: modules/corex/corex_nio.h
>>>         #
>>>         # Changes not staged for commit:
>>>         #   (use "git add <file>..." to update what will be committed)
>>>         #   (use "git checkout -- <file>..." to discard changes in
>>>         working directory)
>>>         #
>>>         #    modified: modules/corex/README
>>>         #    modified: modules/corex/corex_mod.c
>>>         #    modified: modules/corex/doc/corex.xml
>>>         #    modified: modules/corex/doc/corex_admin.xml
>>>         #
>>>
>>>         2. making commit seems to work,
>>>
>>>         git commit -m "added support for network io intercept."
>>>         [master f415b0c] added support for network io intercept.
>>>          2 files changed, 268 insertions(+)
>>>          create mode 100644 modules/corex/corex_nio.c
>>>          create mode 100644 modules/corex/corex_nio.h
>>>
>>>         3. git format-patch does not work,
>>>
>>>         git format-patch
>>>         [no-output]
>>>
>>>         4. Also tried,
>>>
>>>         git format-patch master --stdout
>>>         [no-output]
>>>
>>>         git format-patch master --stdout > /tmp/nio.patch
>>>         [no-output]
>>>
>>>
>>>         I don't know what is wrong, i have git version 1.7.10.4 on
>>>         debian wheezy.
>>>
>>>         i miss subversion so badly...
>>>
>>>         Thank you.
>>>
>>>
>>>
>>>
>>>         On Tue, Aug 5, 2014 at 1:26 PM, Daniel-Constantin Mierla
>>>         <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>>>
>>>             Can you do a commit on your local git clone and send the
>>>             patch? It is easier to review the changes. Practically use:
>>>
>>>             - git add -- to add new files
>>>             - git commit -- to commit changes
>>>             - git format-patch -- to get the commit in a file
>>>
>>>             Cheers,
>>>             Daniel
>>>
>>>
>>>             On 05/08/14 01:14, Muhammad Shahzad wrote:
>>>>             Done all changes as you suggested.
>>>>
>>>>             1. The code is embedded in corex module. Two new files
>>>>             added named, corex_nio.h and corex_nio.c. Some minor
>>>>             changes to corex_mod.c to call the methods defined in
>>>>             corex_nio.h.
>>>>             2. Event route name changed to event_route[network:msg].
>>>>             3. function name changed from is_msg_obfuscated to
>>>>             is_incoming.
>>>>             4. one additional module parameter is added, named
>>>>             network_io_intercept, to enable disable the whole
>>>>             functionality. (default is disabled)
>>>>             5. The README file and doc folder is updated with
>>>>             relevant documentation, examples and use cases etc.
>>>>
>>>>             The code is available for review and download at,
>>>>
>>>>             http://webrtc.voip-demos.com/corex.tbz2
>>>>
>>>>             Regarding the actual encryption / compression etc., i
>>>>             am planning to add some example PERL / LUA scripts
>>>>             later on.
>>>>
>>>>             Thank you.
>>>>
>>>>
>>>>
>>>>
>>>>             On Mon, Aug 4, 2014 at 8:19 PM, Muhammad Shahzad
>>>>             <shaheryarkh at gmail.com <mailto:shaheryarkh at gmail.com>>
>>>>             wrote:
>>>>
>>>>                 Thank you for your valuable suggestions, i
>>>>                 appreciate it.
>>>>
>>>>                 I agree about module name, in fact a couple friends
>>>>                 have already sent me email privately suggesting the
>>>>                 same. May be something like "nio_intercept" would
>>>>                 be better, since module only intercepts the network
>>>>                 in/output and leaves it to script writer what to do
>>>>                 with it.
>>>>
>>>>                 Regarding embedding in corex, that is interesting,
>>>>                 however i need to go through its code to understand
>>>>                 it a bit and then attempt to embed it. Later on, i
>>>>                 will create separate module which import this
>>>>                 functionality from corex and do specific tasks such
>>>>                 as compression and faking http etc.
>>>>
>>>>                 There is a good progress on doubango SDK side as
>>>>                 well and at least idoubs would be ready soon (7 to
>>>>                 10 days approx). Then mobile voip developers can
>>>>                 fully test this functionality at both ends.
>>>>
>>>>                 Anyways let me look at corex module and see if and
>>>>                 how can i embed this. In the meantime more
>>>>                 suggestions and comments on this are warmly welcome
>>>>                 from everyone.
>>>>
>>>>                 Thank you.
>>>>
>>>>
>>>>
>>>>
>>>>                 On Mon, Aug 4, 2014 at 7:55 PM, Daniel-Constantin
>>>>                 Mierla <miconda at gmail.com
>>>>                 <mailto:miconda at gmail.com>> wrote:
>>>>
>>>>                     Hello,
>>>>
>>>>                     I looked at the code and my conclusion was that
>>>>                     the name is a bit confusing.
>>>>
>>>>                     While indeed you can do obfuscation using some
>>>>                     embedded language or other meanings from the
>>>>                     config file, the module itself doesn't do
>>>>                     anything related. It executes an event route
>>>>                     for network packet in/out.
>>>>
>>>>                     Such functionaly is of course useful, just to
>>>>                     remind the given example with obfuscation. But
>>>>                     I think a better name to reflect the behaviour
>>>>                     should be given.
>>>>
>>>>                     Maybe obfuscate should be a module that
>>>>                     implement some algorithms for obfuscations,
>>>>                     like you mentions:
>>>>                     - simply compressing (gz)
>>>>                     - compressing and encapsulation as body in a
>>>>                     http request/reply
>>>>                     - itv
>>>>
>>>>                     My proposal would be:
>>>>                     - either rename the module or embed in another
>>>>                     module (e.g., corex) what was developed for
>>>>                     these event route execution. The event route
>>>>                     name should be related to network
>>>>                     reception/transmission (e.g., network:msg).
>>>>                     Also the is_obfuscated_msg() should be
>>>>                     something like is_incoming()
>>>>                     - have a new module obfuscate to implement some
>>>>                     algorithm as proof of concept (e.g., gzip -- i
>>>>                     guess plenty of code from gzcompress module is
>>>>                     very useful just to take from there). Then
>>>>                     others may contribute more, as they have new
>>>>                     ideas or from what you listed (http
>>>>                     ecapsulation is at least interesting,
>>>>                     considering many allow port 80 and inspect for
>>>>                     http).
>>>>
>>>>                     Of course, these are my opinions, so the
>>>>                     discussion can go on for deciding on how to
>>>>                     proceed.
>>>>
>>>>                     Cheers,
>>>>                     Daniel
>>>>
>>>>
>>>>
>>>>
>>>>                     On 02/08/14 23:57, Muhammad Shahzad wrote:
>>>>
>>>>                         Hi,
>>>>
>>>>                         As already discussed in detail in following
>>>>                         email thread,
>>>>
>>>>                         https://www.mail-archive.com/sr-users@lists.sip-router.org/msg19922.html
>>>>
>>>>                         The new Kamailio module obfuscate is ready
>>>>                         for testing and can be downloaded at,
>>>>
>>>>                         http://webrtc.voip-demos.com/obfuscate.tbz2
>>>>
>>>>                         It contains full code, with documentation
>>>>                         and usage scenarios etc.
>>>>
>>>>                         Adding Kamailio dev team, can you guys
>>>>                         review the code and add this module to
>>>>                         Kamailio trunk if possible? I will be
>>>>                         responsible for its maintenance and bug
>>>>                         fixes etc. if any.
>>>>
>>>>                         Thank you.
>>>>
>>>>
>>>>
>>>>                     -- 
>>>>                     Daniel-Constantin Mierla - http://www.asipto.com
>>>>                     http://twitter.com/#!/miconda
>>>>                     <http://twitter.com/#%21/miconda> -
>>>>                     http://www.linkedin.com/in/miconda
>>>>
>>>>
>>>>
>>>
>>>             -- 
>>>             Daniel-Constantin Mierla -http://www.asipto.com
>>>             http://twitter.com/#!/miconda  <http://twitter.com/#%21/miconda>  -http://www.linkedin.com/in/miconda
>>>
>>>
>>
>>         -- 
>>         Daniel-Constantin Mierla -http://www.asipto.com
>>         http://twitter.com/#!/miconda  <http://twitter.com/#%21/miconda>  -http://www.linkedin.com/in/miconda
>>
>>
>
>     -- 
>     Daniel-Constantin Mierla -http://www.asipto.com
>     http://twitter.com/#!/miconda  <http://twitter.com/#%21/miconda>  -http://www.linkedin.com/in/miconda
>
>

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Next Kamailio Advanced Trainings 2014 - http://www.asipto.com
Sep 22-25, Berlin, Germany ::: Oct 15-17, San Francisco, USA

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20140808/24f575ed/attachment.html>


More information about the sr-users mailing list