Maybe I 'am in over my head here, but I'll try anyway.
I have used Kannel for some years now and lately trying to get Mbuni working
as well.
Mbuni, mbuni.org, is a MMS gateway for those who don't know it.
Using Kannel 1.4.1 stable version, released in the Gentoo portage tree and
Mbuni 1.30 self compiled, leaves me with the same problem as anybody else.
When using the mmsproxy in the this setup, it crashes every time it enters
mm7dispatch.
>From asking the Mbuni user mail list, the answer is a problem with Kannel
1.4.1's gwlib.
I browsed their mail list archives and it seems to be a general problem.
Now, I don't have the necessary skills to solve the problem, but I can
provide some information for starts.
So I anybody involved in the development of Kannel will either "pick up the
glove" or point towards a solution to this problem, many Mbuni users will be
affected.
I have pasted some mbuni-mmsc log lines and a part of the Kannel
gwlib/octstr.c file below
Thank you!
/Nis
Mbuni-mmsc log
--------------
DEBUG: --> Enterred mm7dispatch interface, mreq=[Ok] mtype=[SubmitReq] <--
PANIC: gwlib/octstr.c:2447: seems_valid_real: Assertion `ostr != NULL'
failed. (Called from gwlib/octstr.c:661:octstr_base64_to_binary.)
PANIC: gwlib/octstr.c:2447: seems_valid_real: Assertion `ostr != NULL'
failed. (Called from gwlib/octstr.c:661:octstr_base64_to_binary.)
PANIC: /usr/local/bin/mmsproxy(gw_panic+0x101) [0x808e8e1]
PANIC: /usr/local/bin/mmsproxy [0x8091855]
PANIC: /usr/local/bin/mmsproxy(octstr_base64_to_binary+0x25) [0x8092d75]
PANIC: /usr/local/bin/mmsproxy(unbase64_mimeparts+0x100) [0x806f9e0]
PANIC: /usr/local/bin/mmsproxy(mms_frommime+0x72) [0x80624d2]
PANIC: /usr/local/bin/mmsproxy(mm7_soap_to_mmsmsg+0x1ab) [0x8072cdb]
PANIC: /usr/local/bin/mmsproxy [0x805b05b]
PANIC: /usr/local/bin/mmsproxy [0x8085b80]
PANIC: /lib/libpthread.so.0 [0xb7c9d18b]
PANIC: /lib/libc.so.6(clone+0x5e) [0xb7a9804e]
gwlib/octstr.c
--------------
static void seems_valid_real(const Octstr *ostr, const char *filename, long
lineno,
const char *function) {
gw_assert(immutables_init);
gw_assert_place(ostr != NULL, ( !!! LINE 2447 !!! )
filename, lineno, function);
gw_assert_allocated(ostr,
filename, lineno, function);
gw_assert_place(ostr->len >= 0,
filename, lineno, function);
gw_assert_place(ostr->size >= 0,
filename, lineno, function);
if (ostr->size == 0) {
gw_assert_place(ostr->len == 0,
filename, lineno, function);
gw_assert_place(ostr->data == NULL,
filename, lineno, function);
} else {
gw_assert_place(ostr->len + 1 <= ostr->size,
filename, lineno, function);
gw_assert_place(ostr->data != NULL,
filename, lineno, function);
if (!ostr->immutable)
gw_assert_allocated(ostr->data,
filename, lineno, function);
gw_assert_place(ostr->data[ostr->len] == '\0',
filename, lineno, function);
}
}