[SR-Users] New Kamailio module Obfuscate

Daniel-Constantin Mierla miconda at gmail.com
Tue Aug 5 12:03:22 CEST 2014


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?
>
> 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://www.linkedin.com/in/miconda

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


More information about the sr-users mailing list