humm, original function must have got lost while moving the code to corex. Anyways, lets just remove this. I send you new patch. Is there anything else need to be changed/removed etc.?
Thank you. On Fri, Aug 8, 2014 at 4:31 PM, Daniel-Constantin Mierla <mico...@gmail.com> wrote: > > Here is the new function you added: > > +int pv_get_raw_msg(sip_msg_t *msg, pv_param_t *param, > + pv_value_t *res) > +{ > + str sb; > + if(msg==NULL || res==NULL) > + return -1; > + sb.s = msg->buf; > + sb.len = msg->len; > + return pv_get_strval(msg, param, res, &sb); > +} > > And next is the existing function for $mb: > > int pv_get_msg_buf(struct sip_msg *msg, pv_param_t *param, > pv_value_t *res) > { > str s; > if(msg==NULL) > return -1; > > s.s = msg->buf; > s.len = msg->len; > return pv_get_strval(msg, param, res, &s); > } > > They are the same apart of variables, so no matter where they will be used > (before or after event route processing), they point to the same buffer, > therefore they will return the same. > > Cheers, > Daniel > > > On 08/08/14 12:23, Muhammad Shahzad wrote: > > humm, it is suppose to contain the original message that was feed to > event_route[network:msg], it would be same as $mb till this route changes > the contents of it stores the new contents in $mb, then the $mb and > $raw_msg would contain different contents (original vs modified), this may > be useful in other routes, such as error_route or local_route e.g. for > comparison etc. > > Of course, you can remove this variable, since i don't have any concrete > use of it in my mind (other then comparing any changes to message were done > by event_route[network:msg] in other routes). > > Thank you. > > > > > On Fri, Aug 8, 2014 at 11:07 AM, Daniel-Constantin Mierla < > mico...@gmail.com> wrote: > >> 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 < >> mico...@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? >>> >>> >>> 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 < >>> mico...@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 < >>>> mico...@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 < >>>>> shaherya...@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 < >>>>>> mico...@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://www.linkedin.com/in/miconda >>>>>>> >>>>>>> >>>>>> >>>>> >>>>> -- >>>>> Daniel-Constantin Mierla - >>>>> http://www.asipto.comhttp://twitter.com/#!/miconda - >>>>> http://www.linkedin.com/in/miconda >>>>> >>>>> >>>> >>>> -- >>>> Daniel-Constantin Mierla - >>>> http://www.asipto.comhttp://twitter.com/#!/miconda - >>>> http://www.linkedin.com/in/miconda >>>> >>>> >>> >>> -- >>> Daniel-Constantin Mierla - >>> http://www.asipto.comhttp://twitter.com/#!/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 >> >> > > -- > Daniel-Constantin Mierlahttp://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 > >
_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users