summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-mobilephone/kannel/files/kannel-1.4.3-custom-wap-ports.patch')
-rw-r--r--app-mobilephone/kannel/files/kannel-1.4.3-custom-wap-ports.patch346
1 files changed, 346 insertions, 0 deletions
diff --git a/app-mobilephone/kannel/files/kannel-1.4.3-custom-wap-ports.patch b/app-mobilephone/kannel/files/kannel-1.4.3-custom-wap-ports.patch
new file mode 100644
index 000000000000..e1992b08319a
--- /dev/null
+++ b/app-mobilephone/kannel/files/kannel-1.4.3-custom-wap-ports.patch
@@ -0,0 +1,346 @@
+diff -Nru gateway-1.4.3.orig/gw/bb_udp.c gateway-1.4.3/gw/bb_udp.c
+--- gateway-1.4.3.orig/gw/bb_udp.c 2009-01-12 16:46:56.000000000 +0000
++++ gateway-1.4.3/gw/bb_udp.c 2009-03-01 14:20:38.000000000 +0000
+@@ -78,7 +78,7 @@
+ #include "gwlib/gwlib.h"
+ #include "msg.h"
+ #include "bearerbox.h"
+-
++#include "custports.h"
+ /* passed from bearerbox core */
+
+ extern volatile sig_atomic_t bb_status;
+@@ -352,13 +352,13 @@
+ while (gwlist_len(ifs) > 0) {
+ iface = gwlist_extract_first(ifs);
+ info(0, "Adding interface %s", octstr_get_cstr(iface));
+- add_service(9200, octstr_get_cstr(iface)); /* wsp */
+- add_service(9201, octstr_get_cstr(iface)); /* wsp/wtp */
++ add_service(port_wsp, octstr_get_cstr(iface)); /* wsp */
++ add_service(port_wtp, octstr_get_cstr(iface)); /* wsp/wtp */
+
+ #ifdef HAVE_WTLS_OPENSSL
+ if (allow_wtls) {
+- add_service(9202, octstr_get_cstr(iface)); /* wsp/wtls */
+- add_service(9203, octstr_get_cstr(iface)); /* wsp/wtp/wtls */
++ add_service(port_wsps, octstr_get_cstr(iface)); /* wsp/wtls */
++ add_service(port_wtps, octstr_get_cstr(iface)); /* wsp/wtp/wtls */
+ }
+ #else
+ if (allow_wtls)
+diff -Nru gateway-1.4.3.orig/gw/bearerbox.c gateway-1.4.3/gw/bearerbox.c
+--- gateway-1.4.3.orig/gw/bearerbox.c 2009-01-12 16:46:56.000000000 +0000
++++ gateway-1.4.3/gw/bearerbox.c 2009-03-01 14:23:05.000000000 +0000
+@@ -78,6 +78,7 @@
+ #include "shared.h"
+ #include "dlr.h"
+ #include "load.h"
++#include "custports.h"
+
+ /* global variables; included to other modules as needed */
+
+@@ -365,6 +366,7 @@
+ int ssl_enabled = 0;
+ #endif /* HAVE_LIBSSL */
+
++ ReadCustomPorts(cfg);
+ /* defaults: use localtime and markers for access-log */
+ lf = m = 1;
+
+diff -Nru gateway-1.4.3.orig/gw/custports.c gateway-1.4.3/gw/custports.c
+--- gateway-1.4.3.orig/gw/custports.c 1970-01-01 00:00:00.000000000 +0000
++++ gateway-1.4.3/gw/custports.c 2009-03-01 14:20:38.000000000 +0000
+@@ -0,0 +1,88 @@
++/* ====================================================================
++ * The Kannel Software License, Version 1.0
++ *
++ * Copyright (c) 2001-2004 Kannel Group
++ * Copyright (c) 1998-2001 WapIT Ltd.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * 3. The end-user documentation included with the redistribution,
++ * if any, must include the following acknowledgment:
++ * "This product includes software developed by the
++ * Kannel Group (http://www.kannel.org/)."
++ * Alternately, this acknowledgment may appear in the software itself,
++ * if and wherever such third-party acknowledgments normally appear.
++ *
++ * 4. The names "Kannel" and "Kannel Group" must not be used to
++ * endorse or promote products derived from this software without
++ * prior written permission. For written permission, please
++ * contact org@kannel.org.
++ *
++ * 5. Products derived from this software may not be called "Kannel",
++ * nor may "Kannel" appear in their name, without prior written
++ * permission of the Kannel Group.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
++ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++ * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
++ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
++ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
++ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
++ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
++ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
++ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This software consists of voluntary contributions made by many
++ * individuals on behalf of the Kannel Group. For more information on
++ * the Kannel Group, please see <http://www.kannel.org/>.
++ *
++ * Portions of this software are based upon software originally written at
++ * WapIT Ltd., Helsinki, Finland for the Kannel project.
++ */
++
++/*
++ * gw/custports.c
++ *
++ * Implementation of reading custom UDP ports used by wapbox
++ *
++ * Lubor Kolar <kolar@porcus.cz>, 14.03.2006
++ */
++
++#include <custports.h>
++
++long port_wsp = 9200; // connectionless default
++long port_wtp = 9201; // connection-oriented default
++long port_wsps = 9202; // connectionless secure default
++long port_wtps = 9203; // connection-oriented secure
++
++
++void ReadCustomPorts(Cfg *config)
++{
++ CfgGroup *grp;
++ grp = cfg_get_single_group(config, octstr_imm("wapbox"));
++ if(grp == NULL)
++ return;
++
++ if(cfg_get_integer(&port_wsp, grp, octstr_imm("wsp-port")) != -1)
++ info(0, "Using custom WSP port %ld", port_wsp);
++ if(cfg_get_integer(&port_wtp, grp, octstr_imm("wtp-port")) != -1)
++ info(0, "Using custom WSP/WTP port %ld", port_wtp);
++ if(cfg_get_integer(&port_wsps, grp, octstr_imm("wsps-port")) != -1)
++ info(0, "Using custom WSP/WTLS port %ld", port_wsps);
++ if(cfg_get_integer(&port_wtps, grp, octstr_imm("wtps-port")) != -1)
++ info(0, "Using custom WSP/WTP/WTLS port %ld", port_wtps);
++}
+diff -Nru gateway-1.4.3.orig/gw/custports.h gateway-1.4.3/gw/custports.h
+--- gateway-1.4.3.orig/gw/custports.h 1970-01-01 00:00:00.000000000 +0000
++++ gateway-1.4.3/gw/custports.h 2009-03-01 14:20:38.000000000 +0000
+@@ -0,0 +1,77 @@
++/* ====================================================================
++ * The Kannel Software License, Version 1.0
++ *
++ * Copyright (c) 2001-2004 Kannel Group
++ * Copyright (c) 1998-2001 WapIT Ltd.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * 3. The end-user documentation included with the redistribution,
++ * if any, must include the following acknowledgment:
++ * "This product includes software developed by the
++ * Kannel Group (http://www.kannel.org/)."
++ * Alternately, this acknowledgment may appear in the software itself,
++ * if and wherever such third-party acknowledgments normally appear.
++ *
++ * 4. The names "Kannel" and "Kannel Group" must not be used to
++ * endorse or promote products derived from this software without
++ * prior written permission. For written permission, please
++ * contact org@kannel.org.
++ *
++ * 5. Products derived from this software may not be called "Kannel",
++ * nor may "Kannel" appear in their name, without prior written
++ * permission of the Kannel Group.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
++ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++ * DISCLAIMED. IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS
++ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
++ * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
++ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
++ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
++ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
++ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ====================================================================
++ *
++ * This software consists of voluntary contributions made by many
++ * individuals on behalf of the Kannel Group. For more information on
++ * the Kannel Group, please see <http://www.kannel.org/>.
++ *
++ * Portions of this software are based upon software originally written at
++ * WapIT Ltd., Helsinki, Finland for the Kannel project.
++ */
++
++/*
++ * gw/custports.h
++ *
++ * Implementation of wapbox custom UDP ports)
++ *
++ * Lubor Kolar <kolar@porcus.cz>, 14.03.2006
++ */
++
++#ifndef CUSTPORTS_H
++#define CUSTPORTS_H
++
++#include "gwlib/gwlib.h"
++
++extern long port_wsp; // connectionless
++extern long port_wtp; // connection-oriented
++extern long port_wsps; // connectionless secure
++extern long port_wtps; // connection-oriented secure
++
++void ReadCustomPorts(Cfg *config);
++#endif /* CUSTPORTS_H */
++
+diff -Nru gateway-1.4.3.orig/gw/wapbox.c gateway-1.4.3/gw/wapbox.c
+--- gateway-1.4.3.orig/gw/wapbox.c 2009-01-12 16:46:57.000000000 +0000
++++ gateway-1.4.3/gw/wapbox.c 2009-03-01 14:20:38.000000000 +0000
+@@ -84,17 +84,11 @@
+ #include "gwlib/pki.h"
+ #endif
+ #include "radius/radius_acct.h"
++#include "custports.h"
+
+ static void config_reload(int reload);
+ static long logfilelevel=-1;
+
+-enum {
+- CONNECTIONLESS_PORT = 9200,
+- CONNECTION_ORIENTED_PORT = 9201,
+- WTLS_CONNECTIONLESS_PORT = 9202,
+- WTLS_CONNECTION_ORIENTED_PORT = 9203
+-};
+-
+ enum { DEFAULT_TIMER_FREQ = 1};
+
+ static Octstr *bearerbox_host;
+@@ -131,6 +125,8 @@
+
+ cfg_dump(cfg);
+
++ ReadCustomPorts(cfg);
++
+ /*
+ * Extract info from the core group.
+ */
+@@ -776,9 +772,9 @@
+ * XXXX here should be suspend/resume, add RSN
+ */
+ } else if (msg_type(msg) == wdp_datagram) {
+- switch (msg->wdp_datagram.destination_port) {
+- case CONNECTIONLESS_PORT:
+- case CONNECTION_ORIENTED_PORT:
++ if(msg->wdp_datagram.destination_port == port_wsp
++ || msg->wdp_datagram.destination_port == port_wtp)
++ {
+ dgram = wap_event_create(T_DUnitdata_Ind);
+ dgram->u.T_DUnitdata_Ind.addr_tuple = wap_addr_tuple_create(
+ msg->wdp_datagram.source_address,
+@@ -789,19 +785,22 @@
+ msg->wdp_datagram.user_data = NULL;
+
+ wap_dispatch_datagram(dgram);
+- break;
+- case WTLS_CONNECTIONLESS_PORT:
+- case WTLS_CONNECTION_ORIENTED_PORT:
++ }
++ else
++ if(msg->wdp_datagram.destination_port == port_wsps
++ || msg->wdp_datagram.destination_port == port_wtps)
++ {
+ #if (HAVE_WTLS_OPENSSL)
+ dgram = wtls_unpack_wdp_datagram(msg);
+ if (dgram != NULL)
+ wtls_dispatch_event(dgram);
+ #endif
+- break;
+- default:
++ }
++ else
++ {
+ panic(0,"Bad packet received! This shouldn't happen!");
+ break;
+- }
++ }
+ } else {
+ warning(0, "Received other message than wdp/admin, ignoring!");
+ }
+diff -Nru gateway-1.4.3.orig/gw/wap_push_ppg.c gateway-1.4.3/gw/wap_push_ppg.c
+--- gateway-1.4.3.orig/gw/wap_push_ppg.c 2009-01-12 16:46:56.000000000 +0000
++++ gateway-1.4.3/gw/wap_push_ppg.c 2009-03-01 14:20:38.000000000 +0000
+@@ -88,6 +88,7 @@
+ #include "wap_push_pap_compiler.h"
+ #include "wap_push_pap_mime.h"
+ #include "wap_push_ppg_pushuser.h"
++#include "custports.h"
+
+ enum {
+ TIME_EXPIRED = 0,
+@@ -1779,10 +1780,10 @@
+
+ if (!cless_accepted) {
+ cliport = CONNECTED_CLIPORT;
+- servport = CONNECTED_SERVPORT;
++ servport = port_wtp;
+ } else {
+ cliport = CONNECTIONLESS_PUSH_CLIPORT;
+- servport = CONNECTIONLESS_SERVPORT;
++ servport = port_wsp;
+ }
+
+ address_type = (**e).u.Push_Message.address_type;
+diff -Nru gateway-1.4.3.orig/gw/wap_push_ppg.h gateway-1.4.3/gw/wap_push_ppg.h
+--- gateway-1.4.3.orig/gw/wap_push_ppg.h 2009-01-12 16:46:57.000000000 +0000
++++ gateway-1.4.3/gw/wap_push_ppg.h 2009-03-01 14:20:38.000000000 +0000
+@@ -167,9 +167,7 @@
+ */
+ enum {
+ CONNECTIONLESS_PUSH_CLIPORT = 2948,
+- CONNECTIONLESS_SERVPORT = 9200,
+ CONNECTED_CLIPORT = 9209,
+- CONNECTED_SERVPORT = 9201
+ };
+
+ struct PPGSessionMachine {
+diff -Nru gateway-1.4.3.orig/gwlib/cfg.def gateway-1.4.3/gwlib/cfg.def
+--- gateway-1.4.3.orig/gwlib/cfg.def 2009-01-12 16:46:55.000000000 +0000
++++ gateway-1.4.3/gwlib/cfg.def 2009-03-01 14:20:38.000000000 +0000
+@@ -159,6 +159,10 @@
+ OCTSTR(concatenation)
+ OCTSTR(max-messages)
+ OCTSTR(wml-strict)
++ OCTSTR(wsp-port)
++ OCTSTR(wtp-port)
++ OCTSTR(wsps-port)
++ OCTSTR(wtps-port)
+ )
+
+