Hi all:
Due to the date of the last oficial release of kannel (version 1.4.0 was released almost a year ago), a few problems that I've found installing the 1.4 version, and some bugs that I've found sending wap pushes, I switched to kannel cvs version and still keep the mbuni running. This post explains all the problems that I've found and the solution to make the task (that at the begining looked imposible) posible.
First when I tried to patch kannel with the patch provided in the mbuni cvs resource I got this problem:
patching file Makefile.in
patching file gw/ota_compiler.c
patching file gw/ota_prov.c
patching file gw/ota_prov.h
patching file gw/smsbox.c
Hunk #1 succeeded at 1272 (offset 62 lines).
Hunk #2 succeeded at 2833 (offset 93 lines).
Hunk #3 succeeded at 2844 (offset 93 lines).
Hunk #4 succeeded at 2978 (offset 98 lines).
Hunk #5 succeeded at 3017 (offset 98 lines).
Hunk #6 succeeded at 3062 (offset 98 lines).
Hunk #7 FAILED at 3084.
1 out of 7 hunks FAILED -- saving rejects to file gw/smsbox.c.rej
patching file gw/xml_shared.h
patching file gwlib/cfg.def
Hunk #1 succeeded at 547 (offset 3 lines).
patching file gwlib/mime.c
Hunk #2 succeeded at 215 with fuzz 2.
patching file gwlib/mime.h
patching file test/test_ppg.c
Hunk #1 FAILED at 81.
Hunk #2 FAILED at 648.
Hunk #3 FAILED at 784.
3 out of 3 hunks FAILED -- saving rejects to file test/test_ppg.c.rej
patching file wap/wsp_headers.c
Hunk #1 FAILED at 122.
Hunk #2 FAILED at 1486.
Hunk #3 FAILED at 1615.
Hunk #4 FAILED at 1893.
Hunk #5 FAILED at 1914.
5 out of 5 hunks FAILED -- saving rejects to file wap/wsp_headers.c.rej
patching file wap/wsp_headers.h
patching file gw/ota_compiler.c
patching file gw/ota_prov.c
patching file gw/ota_prov.h
patching file gw/smsbox.c
Hunk #1 succeeded at 1272 (offset 62 lines).
Hunk #2 succeeded at 2833 (offset 93 lines).
Hunk #3 succeeded at 2844 (offset 93 lines).
Hunk #4 succeeded at 2978 (offset 98 lines).
Hunk #5 succeeded at 3017 (offset 98 lines).
Hunk #6 succeeded at 3062 (offset 98 lines).
Hunk #7 FAILED at 3084.
1 out of 7 hunks FAILED -- saving rejects to file gw/smsbox.c.rej
patching file gw/xml_shared.h
patching file gwlib/cfg.def
Hunk #1 succeeded at 547 (offset 3 lines).
patching file gwlib/mime.c
Hunk #2 succeeded at 215 with fuzz 2.
patching file gwlib/mime.h
patching file test/test_ppg.c
Hunk #1 FAILED at 81.
Hunk #2 FAILED at 648.
Hunk #3 FAILED at 784.
3 out of 3 hunks FAILED -- saving rejects to file test/test_ppg.c.rej
patching file wap/wsp_headers.c
Hunk #1 FAILED at 122.
Hunk #2 FAILED at 1486.
Hunk #3 FAILED at 1615.
Hunk #4 FAILED at 1893.
Hunk #5 FAILED at 1914.
5 out of 5 hunks FAILED -- saving rejects to file wap/wsp_headers.c.rej
patching file wap/wsp_headers.h
After a long fight I've found that some of the patch are already maded (the files wsp_headers.c and wsp_headers.h were already patched) and other changed so depth that the changing lines are so separated that the patch doesn't fing them (That happens with
smsbox.c).
but the problem doesn't end here.
When i've tried to compile mbuni (either 1.0 or cvs sources) I've found a lot of problems with the list.h library (The list library that mbuni uses is the library maded by kannel and it is in gwlib folder of kannel). Mainly the problem whan that mbuni doesn't found the list_* methods that should be in the library.
After reading the code and analize the problem, I've found that the cvs source of kannel has a code refactoring in the list (inside the folder gwlib), and all the methods were renamed from list_* to gwlist_*. I almost cried when I realized that all my problem could be solve making the method call changes in the mbuni cvs sources.
The good news is that after I've refactored the files in the cvs source of mbuni (that means almost all the .c files in mmlib, mmsc and mmsbox folders) all works perfect and a lots of bugs that kannel had in the 1.4
version are solved and in harmony with mbuni.
My conclusion:
It's really a simple task (but a long one), and mainly, here are the steps:
1. Get the kannel cvs source
2. Get the patch from mbuni
2.1 Apply the patch from mbuni.
2.2 You have to make the patch to smsbox.c and to wsp_headers.h (the others fails are because the file already have been patched in the cvs).
3. Compile kannel
4. get the cvs sources from mbuni
5. Refactor (change the method call) of all the list_* method in all the files of mmsc, mmlib and mmbox folders to gwlist_* (this is the longest step)
6. Compile mbuni
I'm doing some several functional, stress and performance test to this "patched" version, and a lot of problems and bugs are solved (the problems with ppg and wap pushes in some special cases seems to be solved). I haven't tested all yet, but I'm working on it.
I hope that this could help anyone that want to upgrade kannel and mbuni to cvs versions, keeping the harmony between them.
greetings
Gelvis Sequera
Operaciones/Operations
DBAccess
HQ: +58-212-7619206
GDC: +58-274-2523906
IP Phone Caracas: +1-312-2248358
IP Phone
Merida: +1-312-2389360
US: +1-312-4046458
Cel: +58-412-7239834
http://www.dbaccess.com
_______________________________________________ Users mailing list [email protected] http://mbuni.org/mailman/listinfo/users_mbuni.org
