diff --git a/mbuni/doc/examples/mmsc.conf b/mbuni/doc/examples/mmsc.conf index 105d1f6..dddd408 100644 --- a/mbuni/doc/examples/mmsc.conf +++ b/mbuni/doc/examples/mmsc.conf @@ -41,15 +41,16 @@ sendmms-port = 10001 group = send-mms-user username = tester password = foobar -faked-sender = 100 +# faked-sender = 100 group = mmsc id = testone -mmsc-url = http://localhost:8080/vasp/servlet/messagerouter +mmsc-url = http://mbuni:test@192.168.129.52:8080/eaif +# mmsc-url = http://localhost:8080/vasp/servlet/messagerouter incoming-username = user incoming-password = pass incoming-port = 10002 -type = soap +type = eaif group = mms-service name = me diff --git a/mbuni/misc-patches/mbuni-kannel-patch-full b/mbuni/misc-patches/mbuni-kannel-patch-full index 225057e..35fc5d4 100644 --- a/mbuni/misc-patches/mbuni-kannel-patch-full +++ b/mbuni/misc-patches/mbuni-kannel-patch-full @@ -1,6 +1,6 @@ -diff -Naur gateway-1.4.0/Makefile.in gateway/Makefile.in +diff -Naur gateway-1.4.0/Makefile.in gateway-1.4.0-patched/Makefile.in --- gateway-1.4.0/Makefile.in 2004-08-25 00:50:09.000000000 +0300 -+++ gateway/Makefile.in 2005-01-29 16:21:19.000000000 +0300 ++++ gateway-1.4.0-patched/Makefile.in 2005-01-29 16:21:19.000000000 +0300 @@ -262,9 +262,13 @@ $(INSTALL) $(man8pages) $(DESTDIR)$(mandir)/man8 $(INSTALL) -d $(DESTDIR)$(includedir)/kannel/gwlib @@ -23,9 +23,9 @@ diff -Naur gateway-1.4.0/Makefile.in gateway/Makefile.in + "-L$(libdir)/kannel -lwap -lgwlib @LIBS@" \ "@VERSION@" > gw-config chmod 0755 gw-config -diff -Naur gateway-1.4.0/gw/ota_compiler.c gateway/gw/ota_compiler.c +diff -Naur gateway-1.4.0/gw/ota_compiler.c gateway-1.4.0-patched/gw/ota_compiler.c --- gateway-1.4.0/gw/ota_compiler.c 2004-01-22 17:08:24.000000000 +0300 -+++ gateway/gw/ota_compiler.c 2005-01-28 17:07:56.000000000 +0300 ++++ gateway-1.4.0-patched/gw/ota_compiler.c 2005-01-28 17:07:56.000000000 +0300 @@ -91,9 +91,10 @@ * chapter 8.2. */ @@ -417,9 +417,9 @@ diff -Naur gateway-1.4.0/gw/ota_compiler.c gateway/gw/ota_compiler.c output_char(ota_hex, otabxml); } else { output_char(ota_hex, otabxml); -diff -Naur gateway-1.4.0/gw/ota_prov.c gateway/gw/ota_prov.c +diff -Naur gateway-1.4.0/gw/ota_prov.c gateway-1.4.0-patched/gw/ota_prov.c --- gateway-1.4.0/gw/ota_prov.c 2004-01-22 17:08:24.000000000 +0300 -+++ gateway/gw/ota_prov.c 2005-06-20 13:32:51.000000000 +0300 ++++ gateway-1.4.0-patched/gw/ota_prov.c 2005-06-20 13:32:51.000000000 +0300 @@ -70,12 +70,16 @@ #include "gwlib/gwlib.h" @@ -587,9 +587,9 @@ diff -Naur gateway-1.4.0/gw/ota_prov.c gateway/gw/ota_prov.c return -1; } -diff -Naur gateway-1.4.0/gw/ota_prov.h gateway/gw/ota_prov.h +diff -Naur gateway-1.4.0/gw/ota_prov.h gateway-1.4.0-patched/gw/ota_prov.h --- gateway-1.4.0/gw/ota_prov.h 2004-01-22 17:08:24.000000000 +0300 -+++ gateway/gw/ota_prov.h 2005-01-28 17:18:20.000000000 +0300 ++++ gateway-1.4.0-patched/gw/ota_prov.h 2005-01-28 17:18:20.000000000 +0300 @@ -77,7 +77,7 @@ * Return -2 when header error, -1 when compile error, 0 when no error */ @@ -599,9 +599,9 @@ diff -Naur gateway-1.4.0/gw/ota_prov.h gateway/gw/ota_prov.h /* * Tokenizes a given 'ota-setting' group (without using the xml compiler) to -diff -Naur gateway-1.4.0/gw/smsbox.c gateway/gw/smsbox.c +diff -Naur gateway-1.4.0/gw/smsbox.c gateway-1.4.0-patched/gw/smsbox.c --- gateway-1.4.0/gw/smsbox.c 2004-09-03 15:42:33.000000000 +0300 -+++ gateway/gw/smsbox.c 2005-02-08 11:23:25.000000000 +0300 ++++ gateway-1.4.0-patched/gw/smsbox.c 2005-02-08 11:23:25.000000000 +0300 @@ -1210,6 +1210,7 @@ break; @@ -696,9 +696,9 @@ diff -Naur gateway-1.4.0/gw/smsbox.c gateway/gw/smsbox.c *status = HTTP_BAD_REQUEST; msg_destroy(msg); if (r == -2) { -diff -Naur gateway-1.4.0/gw/xml_shared.h gateway/gw/xml_shared.h +diff -Naur gateway-1.4.0/gw/xml_shared.h gateway-1.4.0-patched/gw/xml_shared.h --- gateway-1.4.0/gw/xml_shared.h 2004-01-22 17:08:24.000000000 +0300 -+++ gateway/gw/xml_shared.h 2005-01-28 17:23:22.000000000 +0300 ++++ gateway-1.4.0-patched/gw/xml_shared.h 2005-01-28 17:23:22.000000000 +0300 @@ -82,10 +82,11 @@ * XML binary type not containing a string table. This is used for SI and SL. */ @@ -715,9 +715,9 @@ diff -Naur gateway-1.4.0/gw/xml_shared.h gateway/gw/xml_shared.h }; /* -diff -Naur gateway-1.4.0/gwlib/cfg.def gateway/gwlib/cfg.def +diff -Naur gateway-1.4.0/gwlib/cfg.def gateway-1.4.0-patched/gwlib/cfg.def --- gateway-1.4.0/gwlib/cfg.def 2004-06-28 18:18:35.000000000 +0300 -+++ gateway/gwlib/cfg.def 2005-09-05 11:30:55.000000000 +0300 ++++ gateway-1.4.0-patched/gwlib/cfg.def 2005-09-05 11:30:55.000000000 +0300 @@ -544,6 +544,113 @@ OCTSTR(unified-prefix) ) @@ -832,36 +832,44 @@ diff -Naur gateway-1.4.0/gwlib/cfg.def gateway/gwlib/cfg.def #undef OCTSTR #undef SINGLE_GROUP #undef MULTI_GROUP -diff -Naur gateway-1.4.0/gwlib/mime.c gateway/gwlib/mime.c +diff -Naur gateway-1.4.0/gwlib/mime.c gateway-1.4.0-patched/gwlib/mime.c --- gateway-1.4.0/gwlib/mime.c 2004-08-11 19:41:29.000000000 +0300 -+++ gateway/gwlib/mime.c 2005-04-14 08:31:05.000000000 +0300 -@@ -191,11 +191,11 @@ ++++ gateway-1.4.0-patched/gwlib/mime.c 2005-09-09 15:31:17.000000000 +0300 +@@ -191,14 +191,16 @@ value = http_header_value(headers, octstr_imm("Content-Type")); boundary = http_get_header_parameter(value, octstr_imm("boundary")); if (boundary == NULL) { - boundary = octstr_format("_MIME_boundary-%d-%ld_%c_%c_bd%d", -+ boundary = octstr_format("=_MIME_boundary_%d_%ld_%c_%c_bd%d", ++ boundary = octstr_format("_boundary_%d_%ld_%c_%c_bd%d", random(), (long)time(NULL), 'A' + (random()%26), 'a'+(random() % 26), random()); - octstr_append(value, octstr_imm("; boundary=")); - octstr_append(value, boundary); -+ octstr_format_append(value, "; boundary=\"%S\"", boundary); ++ octstr_format_append(value, "; boundary=%S", boundary); + http_header_remove_all(headers, "Content-Type"); http_header_add(headers, "Content-Type", octstr_get_cstr(value)); ++#if 0 http_header_add(headers, "MIME-Version", "1.0"); -@@ -214,8 +214,8 @@ ++#endif + } + octstr_destroy(value); + +@@ -213,9 +215,10 @@ + for (i = 0; i < list_len(m->multiparts); i++) { MIMEEntity *e = list_get(m->multiparts, i); Octstr *body; - +- - if (i != 0) - octstr_append(mime, octstr_imm("\r\n")); ++#if 0 /* Is this extra new line needed ?? */ + if (i != 0) + octstr_append(mime, octstr_imm("\r\n")); ++#endif octstr_append(mime, octstr_imm("\r\n--")); octstr_append(mime, boundary); octstr_append(mime, octstr_imm("\r\n")); -@@ -331,10 +331,13 @@ +@@ -331,10 +334,13 @@ else octstr_delete(entity, 0, 1); @@ -877,7 +885,7 @@ diff -Naur gateway-1.4.0/gwlib/mime.c gateway/gwlib/mime.c debug("mime.parse",0,"MIME multipart: Parsing entity:"); -@@ -443,6 +446,34 @@ +@@ -443,6 +449,34 @@ return body; } @@ -912,9 +920,9 @@ diff -Naur gateway-1.4.0/gwlib/mime.c gateway/gwlib/mime.c /******************************************************************** * Routines for debugging purposes. -diff -Naur gateway-1.4.0/gwlib/mime.h gateway/gwlib/mime.h +diff -Naur gateway-1.4.0/gwlib/mime.h gateway-1.4.0-patched/gwlib/mime.h --- gateway-1.4.0/gwlib/mime.h 2004-01-26 18:04:57.000000000 +0300 -+++ gateway/gwlib/mime.h 2005-04-13 17:59:48.000000000 +0300 ++++ gateway-1.4.0-patched/gwlib/mime.h 2005-04-13 17:59:48.000000000 +0300 @@ -141,6 +141,13 @@ Octstr *mime_entity_body(MIMEEntity *m); @@ -929,9 +937,9 @@ diff -Naur gateway-1.4.0/gwlib/mime.h gateway/gwlib/mime.h * Dump the structure (hicharchical view) of the MIME representation * structure into our DEBUG log level facility. */ -diff -Naur gateway-1.4.0/test/test_ppg.c gateway/test/test_ppg.c +diff -Naur gateway-1.4.0/test/test_ppg.c gateway-1.4.0-patched/test/test_ppg.c --- gateway-1.4.0/test/test_ppg.c 2004-10-13 10:38:13.000000000 +0300 -+++ gateway/test/test_ppg.c 2005-05-31 08:31:10.000000000 +0300 ++++ gateway-1.4.0-patched/test/test_ppg.c 2005-05-31 08:31:10.000000000 +0300 @@ -81,7 +81,7 @@ static int verbose = 1, use_hardcoded = 0, @@ -959,9 +967,9 @@ diff -Naur gateway-1.4.0/test/test_ppg.c gateway/test/test_ppg.c wait_seconds = atof(optarg); break; -diff -Naur gateway-1.4.0/wap/wsp_headers.c gateway/wap/wsp_headers.c +diff -Naur gateway-1.4.0/wap/wsp_headers.c gateway-1.4.0-patched/wap/wsp_headers.c --- gateway-1.4.0/wap/wsp_headers.c 2004-08-08 23:39:56.000000000 +0300 -+++ gateway/wap/wsp_headers.c 2005-07-07 18:53:59.000000000 +0300 ++++ gateway-1.4.0-patched/wap/wsp_headers.c 2005-07-07 18:53:59.000000000 +0300 @@ -122,10 +122,9 @@ } else if (val > 127) { *well_known_value = val - 128; @@ -1031,9 +1039,9 @@ diff -Naur gateway-1.4.0/wap/wsp_headers.c gateway/wap/wsp_headers.c if (tmp >= 0) { wsp_pack_integer_value(packed, tmp); return; -diff -Naur gateway-1.4.0/wap/wsp_headers.h gateway/wap/wsp_headers.h +diff -Naur gateway-1.4.0/wap/wsp_headers.h gateway-1.4.0-patched/wap/wsp_headers.h --- gateway-1.4.0/wap/wsp_headers.h 2004-01-26 18:06:38.000000000 +0300 -+++ gateway/wap/wsp_headers.h 2005-07-06 08:19:01.000000000 +0300 ++++ gateway-1.4.0-patched/wap/wsp_headers.h 2005-07-06 08:19:01.000000000 +0300 @@ -141,6 +141,7 @@ int wsp_pack_date(Octstr *packet, Octstr *value); int wsp_pack_retry_after(Octstr *packet, Octstr *value); diff --git a/mbuni/mmsbox/Makefile b/mbuni/mmsbox/Makefile deleted file mode 100644 index 379c955..0000000 --- a/mbuni/mmsbox/Makefile +++ /dev/null @@ -1,451 +0,0 @@ -# Makefile.in generated by automake 1.9.3 from Makefile.am. -# mmsbox/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -SOURCES = $(mmsbox_SOURCES) - -srcdir = . -top_srcdir = .. - -pkgdatadir = $(datadir)/mbuni -pkglibdir = $(libdir)/mbuni -pkgincludedir = $(includedir)/mbuni -top_builddir = .. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = /usr/bin/install -c -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = powerpc-apple-darwin8.2.0 -host_triplet = powerpc-apple-darwin8.2.0 -bin_PROGRAMS = mmsbox$(EXEEXT) -subdir = mmsbox -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_mmsbox_OBJECTS = mmsbox.$(OBJEXT) mmsbox_cfg.$(OBJEXT) \ - dlr.$(OBJEXT) bearerbox.$(OBJEXT) -mmsbox_OBJECTS = $(am_mmsbox_OBJECTS) -mmsbox_LDADD = $(LDADD) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(mmsbox_SOURCES) -DIST_SOURCES = $(mmsbox_SOURCES) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /Users/bagyenda/src/mbuni/missing --run aclocal-1.9 -AMDEP_FALSE = # -AMDEP_TRUE = -AMTAR = ${SHELL} /Users/bagyenda/src/mbuni/missing --run tar -AR = ar -AUTOCONF = ${SHELL} /Users/bagyenda/src/mbuni/missing --run autoconf -AUTOHEADER = ${SHELL} /Users/bagyenda/src/mbuni/missing --run autoheader -AUTOMAKE = ${SHELL} /Users/bagyenda/src/mbuni/missing --run automake-1.9 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -I./../mmlib -g -Wall -DDARWIN=1 -I/sw/include -I/usr/local/include/kannel -DDARWIN=1 -I/sw/include/libxml2 -I/sw/include -I/sw/include -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -ECHO = echo -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = grep -E -EXEEXT = -EXE_EXT = -F77 = -FFLAGS = -GW_CONFIG = /usr/local/bin/gw-config -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s -LDFLAGS = -LIBOBJS = error$U.o lstat$U.o -LIBS = -L./../mmlib -lmms -lwap -lgwlib -lssl -lpthread -ldl -L/sw/lib -lcrypto -lssl -L/usr/local/lib/kannel -lwap -lgwlib -lssl -lresolv -lm -lpthread -liconv -L/sw/lib -lxml2 -lz -lpthread -L/sw/lib -liconv -lm -L/sw/lib -lcrypto -lssl -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LN_S = ln -s -LTLIBOBJS = error$U.lo lstat$U.lo -MAKEINFO = ${SHELL} /Users/bagyenda/src/mbuni/missing --run makeinfo -OBJEXT = o -OPENSSL = /usr/bin/openssl -PACKAGE = mbuni -PACKAGE_BUGREPORT = devel@mbuni.org -PACKAGE_NAME = mbuni -PACKAGE_STRING = mbuni cvs -PACKAGE_TARNAME = mbuni -PACKAGE_VERSION = cvs -PATH_SEPARATOR = : -RANLIB = ranlib -SET_MAKE = -SHELL = /bin/sh -STRIP = strip -VERSION = cvs -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_F77 = -ac_ct_RANLIB = ranlib -ac_ct_STRIP = strip -am__fastdepCC_FALSE = # -am__fastdepCC_TRUE = -am__fastdepCXX_FALSE = # -am__fastdepCXX_TRUE = -am__include = include -am__leading_dot = . -am__quote = -am__tar = ${AMTAR} chof - "$$tardir" -am__untar = ${AMTAR} xf - -bindir = ${exec_prefix}/bin -build = powerpc-apple-darwin8.2.0 -build_alias = -build_cpu = powerpc -build_os = darwin8.2.0 -build_vendor = apple -datadir = ${prefix}/share -exec_prefix = ${prefix} -host = powerpc-apple-darwin8.2.0 -host_alias = -host_cpu = powerpc -host_os = darwin8.2.0 -host_vendor = apple -includedir = ${prefix}/include -infodir = ${prefix}/info -install_sh = /Users/bagyenda/src/mbuni/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localstatedir = ${prefix}/var -mandir = ${prefix}/man -mkdir_p = $(install_sh) -d -oldincludedir = /usr/include -prefix = /usr/local -program_transform_name = s,x,x, -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -sysconfdir = ${prefix}/etc -target_alias = -mmsbox_SOURCES = mmsbox.c mmsbox_cfg.c dlr.c bearerbox.c -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mmsbox/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu mmsbox/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - || test -f $$p1 \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -mmsbox$(EXEEXT): $(mmsbox_OBJECTS) $(mmsbox_DEPENDENCIES) - @rm -f mmsbox$(EXEEXT) - $(LINK) $(mmsbox_LDFLAGS) $(mmsbox_OBJECTS) $(mmsbox_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/bearerbox.Po -include ./$(DEPDIR)/dlr.Po -include ./$(DEPDIR)/mmsbox.Po -include ./$(DEPDIR)/mmsbox_cfg.Po - -.c.o: - if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ - then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -# source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(COMPILE) -c $< - -.c.obj: - if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ - then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -# source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: - if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ - then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -# source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: install-binPROGRAMS - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-info-am - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libtool ctags distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-binPROGRAMS install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/mbuni/mmsbox/bearerbox.c b/mbuni/mmsbox/bearerbox.c index da3a3c0..58283af 100644 --- a/mbuni/mmsbox/bearerbox.c +++ b/mbuni/mmsbox/bearerbox.c @@ -613,7 +613,7 @@ static Octstr *mm7eaif_send(MmscGrp *mmc, Octstr *from, Octstr *to, char *vasid, MmsMsg *m, Octstr **error) { - Octstr *ret = NULL; + Octstr *ret = NULL, *resp = NULL; int mtype = mms_messagetype(m); int hstatus = HTTP_OK; List *rh = http_create_empty_headers(), *ph = NULL; @@ -639,6 +639,10 @@ static Octstr *mm7eaif_send(MmscGrp *mmc, Octstr *from, Octstr *to, http_header_add(rh, "X-NOKIA-MMSC-Message-Type", msgtype); http_header_add(rh, "Content-Type", "application/vnd.wap.mms-message"); + /* Patch the message FROM and TO fields. */ + mms_replace_header_value(m, "From", octstr_get_cstr(from)); + mms_replace_header_value(m, "To", octstr_get_cstr(to)); + body = mms_tobinary(m); hstatus = mmsbox_url_fetch_content(HTTP_METHOD_POST, mmc->mmsc_url, rh, body, &ph, &rbody); @@ -646,8 +650,20 @@ static Octstr *mm7eaif_send(MmscGrp *mmc, Octstr *from, Octstr *to, if (http_status_class(hstatus) != HTTP_STATUS_SUCCESSFUL) { *error = octstr_format("Failed to contact MMC[url=%s] => HTTP returned status = %d !", octstr_get_cstr(mmc->mmsc_url), hstatus); - } else - info(0, "Sent to MMC[%s], code=[%d]", octstr_get_cstr(mmc->id), hstatus); + } else { + MmsMsg *mresp = rbody ? mms_frombinary(rbody, octstr_imm("anon@anon")) : NULL; + + resp = octstr_imm("Ok"); + if (mresp && mms_messagetype(mresp) == MMS_MSGTYPE_SEND_CONF) + resp = mms_get_header_value(mresp, octstr_imm("X-Mms-Response-Status")); + if (octstr_case_compare(resp, octstr_imm("ok")) != 0) + hstatus = HTTP_STATUS_SERVER_ERROR; /* error. */ + else if (mresp) + ret = mms_get_header_value(mresp, octstr_imm("Message-ID")); + + if (mresp) + mms_destroy(mresp); + } if (hstatus < 0) ret = NULL; @@ -655,12 +671,15 @@ static Octstr *mm7eaif_send(MmscGrp *mmc, Octstr *from, Octstr *to, hstatus = http_status_class(hstatus); if (hstatus == HTTP_STATUS_SERVER_ERROR) ret = NULL; - else + else if (!ret) ret = http_header_value(ph, octstr_imm("X-Nokia-MMSC-Message-Id")); } if (ret) mms_log2("Sent", from, to, -1, ret, NULL, mmc->id, "MMSBox", NULL, NULL); + + info(0, "Sent to MMC[%s], code=[%d], resp=%s msgid [%s]", octstr_get_cstr(mmc->id), + hstatus, resp ? octstr_get_cstr(resp) : "(none)", ret ? octstr_get_cstr(ret) : "(none)"); if (rh) http_destroy_headers(rh); @@ -673,7 +692,8 @@ static Octstr *mm7eaif_send(MmscGrp *mmc, Octstr *from, Octstr *to, if (url) octstr_destroy(url); - + if (resp) + octstr_destroy(resp); return ret; } diff --git a/mbuni/mmsbox/mmsbox.c b/mbuni/mmsbox/mmsbox.c index 9ff3c54..caff054 100644 --- a/mbuni/mmsbox/mmsbox.c +++ b/mbuni/mmsbox/mmsbox.c @@ -493,15 +493,14 @@ int main(int argc, char *argv[]) if (sendmms_port.port > 0) sthread = gwthread_create((gwthread_func_t *)sendmms_func, NULL); -#if 1 + /* Start out-going queue thread. */ qthread = gwthread_create((gwthread_func_t *)mmsbox_outgoing_queue_runner, &rstop); - -#endif +#if 0 mms_queue_run(octstr_get_cstr(incoming_qdir), mmsbox_service_dispatch, queue_interval, maxthreads, &rstop); - +#endif /* Wait for the sender thread, then quit. */ gwthread_join(qthread); /* Wait for it to die... */