Hi,
This is supported, but you have to edit the source code to enable
support for the special parameters you need. I have attached an older
patch that shows which files, and what needs to be added for each
parameter. You can use this as a guide, but this patch does not work
directly with the current source, it just shows where you need to put what.
I am currently working on verifying an extended version of that patch,
in case those are the optional parameters you need, for the current
codebase, but for now I can't post it as it still not tested enough.
Kyriacos
Remon Magdy wrote:
Dear All,
I have been searching for a way to send an “optional parameters” which
is a newly introduced feature in SMPP v3.4 via Kannel.
I am wondering if it is even supported by Kannel?
Any help will be appreciated.
Regards,
Remon
--
Kyriacos Sakkas
Development Team
Netsmart
Tel: + 357 22 452565
Fax: + 357 22 452566
Email: [EMAIL PROTECTED]
http://www.netsmart.com.cy
Taking Business to a New Level!
** Confidentiality Notice: The information contained in this email
message may be privileged, confidential and protected from disclosure.
If you are not the intended recipient, any dissemination, distribution,
or copying of this email message is strictly prohibited.
If you think that you have received this email message in error, please
email the sender at [EMAIL PROTECTED] **
diff -Naupr gateway-1.4.0/ChangeLog gateway-1.4.0-egwn/ChangeLog
--- gateway-1.4.0/ChangeLog 2004-11-23 17:20:55.000000000 +0100
+++ gateway-1.4.0-egwn/ChangeLog 2004-12-10 13:18:45.000000000 +0100
@@ -1,2 +1,7 @@
2004-11-23 Stipe Tolj <[EMAIL PROTECTED]>
* Making stable release 1.4.0.
+2004-07-09 Ian Cass <[EMAIL PROTECTED]
+ * Add mBlox optional parameters for PSMS
+2004-07-09 Stipe Tolj <[EMAIL PROTECTED]>
+ * test/test_headers.c: fixing command line options and argument handling
+ which breaks "make check" target.
diff -Naupr gateway-1.4.0/gw/bb_alog.c gateway-1.4.0-egwn/gw/bb_alog.c
--- gateway-1.4.0/gw/bb_alog.c 2004-08-11 18:41:29.000000000 +0200
+++ gateway-1.4.0-egwn/gw/bb_alog.c 2004-12-10 13:23:27.000000000 +0100
@@ -80,6 +80,8 @@ static Octstr *custom_log_format = NULL;
* %i - smsc-id
* %n - service-name (for MO) or sendsms-user (for MT)
* %A - account
+ * %O - mBlox billing tag
+ * %o - mBlox operator tag
* %B - billing identifier/information
* %p - sender (from)
* %P - receiver (to)
@@ -285,6 +287,19 @@ static Octstr *get_pattern(SMSCConn *con
octstr_append_decimal(result, octstr_len(msg->sms.udhdata));
break;
+ case 'O': /* mBlox billing identifier */
+ if (octstr_len(msg->sms.mblox_billing)) {
+ octstr_append(result, msg->sms.mblox_billing);
+ }
+ break;
+
+ case 'o': /* mBlox operator identifier */
+ if (octstr_len(msg->sms.mblox_operator)) {
+ octstr_append(result, msg->sms.mblox_operator);
+ }
+ break;
+
+
case 'B': /* billing identifier/information */
if (octstr_len(msg->sms.binfo)) {
octstr_append(result, msg->sms.binfo);
@@ -388,5 +403,3 @@ void bb_alog_sms(SMSCConn *conn, Msg *ms
octstr_destroy(text);
}
-
-
diff -Naupr gateway-1.4.0/gw/msg-decl.h gateway-1.4.0-egwn/gw/msg-decl.h
--- gateway-1.4.0/gw/msg-decl.h 2004-09-03 14:42:32.000000000 +0200
+++ gateway-1.4.0-egwn/gw/msg-decl.h 2004-12-10 13:24:25.000000000 +0100
@@ -103,6 +103,8 @@ MSG(sms,
OCTSTR(charset);
OCTSTR(boxc_id);
OCTSTR(binfo);
+ OCTSTR(mblox_billing);
+ OCTSTR(mblox_operator);
INTEGER(msg_left);
VOID(split_parts);
INTEGER(priority);
diff -Naupr gateway-1.4.0/gw/smsbox.c gateway-1.4.0-egwn/gw/smsbox.c
--- gateway-1.4.0/gw/smsbox.c 2004-09-03 14:42:33.000000000 +0200
+++ gateway-1.4.0-egwn/gw/smsbox.c 2004-12-10 13:46:19.000000000 +0100
@@ -440,7 +440,9 @@ static void get_x_kannel_from_headers(Li
int *validity, int *deferred,
int *dlr_mask, Octstr **dlr_url,
Octstr **account, int *pid, int *alt_dcs,
- int *rpi, Octstr **binfo, int *priority)
+ int *rpi, Octstr **binfo, int *priority,
+ Octstr **mblox_billing,
+ Octstr **mblox_operator)
{
Octstr *name, *val;
long l;
@@ -493,9 +495,17 @@ static void get_x_kannel_from_headers(Li
*account = octstr_duplicate(val);
octstr_strip_blanks(*account);
}
+ else if (octstr_case_compare(name,
octstr_imm("X-Kannel-mBlox-Billing")) == 0) {
+ *mblox_billing = octstr_duplicate(val);
+ octstr_strip_blanks(*mblox_billing);
+ }
+ else if (octstr_case_compare(name,
octstr_imm("X-Kannel-mBlox-Operator")) == 0) {
+ *mblox_operator = octstr_duplicate(val);
+ octstr_strip_blanks(*mblox_operator);
+ }
else if (octstr_case_compare(name, octstr_imm("X-Kannel-BInfo")) == 0) {
- *binfo = octstr_duplicate(val);
- octstr_strip_blanks(*binfo);
+ *binfo = octstr_duplicate(val);
+ octstr_strip_blanks(*binfo);
}
else if (octstr_case_compare(name, octstr_imm("X-Kannel-Coding")) == 0)
{
sscanf(octstr_get_cstr(val),"%d", coding);
@@ -586,7 +596,9 @@ static void get_x_kannel_from_xml(int re
int *dlr_mask, Octstr **dlr_url,
Octstr **account, int *pid, int *alt_dcs,
int *rpi, List **tolist, Octstr **charset,
- Octstr **binfo, int *priority)
+ Octstr **binfo, int *priority,
+ Octstr **mblox_billing,
+ Octstr **mblox_operator)
{
Octstr *text, *tmp, *tmp2;
@@ -612,6 +624,12 @@ static void get_x_kannel_from_xml(int re
/* account */
get_tag(tmp, octstr_imm("account"), account, 0, 0);
+ /* mblox_billing */
+ get_tag(tmp, octstr_imm("mblox_billing"), mblox_billing, 0, 0);
+
+ /* mblox_operator */
+ get_tag(tmp, octstr_imm("mblox_operator"), mblox_operator, 0, 0);
+
/* binfo */
get_tag(tmp, octstr_imm("binfo"), binfo, 0, 0);
@@ -800,7 +818,8 @@ static void fill_message(Msg *msg, URLTr
int validity, int deferred,
Octstr *dlr_url, int dlr_mask, int pid, int alt_dcs,
int rpi, Octstr *smsc, Octstr *account,
- Octstr *charset, Octstr *binfo, int priority)
+ Octstr *charset, Octstr *binfo, int priority,
+ Octstr *mblox_billing, Octstr *mblox_operator)
{
msg->sms.msgdata = replytext;
msg->sms.time = time(NULL);
@@ -941,6 +960,26 @@ static void fill_message(Msg *msg, URLTr
octstr_destroy(account);
}
}
+
+ if (mblox_billing) {
+ if (urltrans_accept_x_kannel_headers(trans)) {
+ msg->sms.mblox_billing = mblox_billing;
+ } else {
+ warning(0, "Tried to change mBlox billing info to '%s', denied.",
+ octstr_get_cstr(mblox_billing));
+ octstr_destroy(mblox_billing);
+ }
+ }
+
+ if (mblox_operator) {
+ if (urltrans_accept_x_kannel_headers(trans)) {
+ msg->sms.mblox_operator = mblox_operator;
+ } else {
+ warning(0, "Tried to change mBlox operator info to '%s', denied.",
+ octstr_get_cstr(mblox_operator));
+ octstr_destroy(mblox_operator);
+ }
+ }
if (binfo) {
if (urltrans_accept_x_kannel_headers(trans)) {
@@ -1034,6 +1073,7 @@ static void url_result_thread(void *arg)
Octstr *reply_body, *charset;
Octstr *udh, *from, *to, *dlr_url, *account, *smsc, *binfo;
+ Octstr *mblox_billing, *mblox_operator;
int dlr_mask, mclass, mwi, coding, compress, pid, alt_dcs, rpi;
int validity, deferred, priority;
@@ -1052,6 +1092,7 @@ static void url_result_thread(void *arg)
octets = 0;
from = to = udh = smsc = dlr_url = account = binfo = charset = NULL;
+ mblox_billing = mblox_operator = NULL;
mclass = mwi = coding = compress = pid = alt_dcs = rpi = dlr_mask
= validity = deferred = priority = SMS_PARAM_UNDEFINED;
@@ -1071,7 +1112,8 @@ static void url_result_thread(void *arg)
&coding, &compress, &validity,
&deferred, &dlr_mask, &dlr_url,
&account, &pid, &alt_dcs, &rpi,
- &binfo, &priority);
+ &binfo, &priority,
+ &mblox_billing, &mblox_operator);
} else if (octstr_case_compare(type, text_plain) == 0) {
replytext = octstr_duplicate(reply_body);
octstr_destroy(reply_body);
@@ -1081,7 +1123,8 @@ static void url_result_thread(void *arg)
&coding, &compress, &validity,
&deferred, &dlr_mask, &dlr_url,
&account, &pid, &alt_dcs, &rpi,
- &binfo, &priority);
+ &binfo, &priority,
+ &mblox_billing, &mblox_operator);
} else if (octstr_case_compare(type, text_xml) == 0) {
replytext = octstr_duplicate(reply_body);
octstr_destroy(reply_body);
@@ -1090,7 +1133,8 @@ static void url_result_thread(void *arg)
&from, &to, &udh, NULL, NULL, &smsc, &mclass, &mwi,
&coding, &compress, &validity, &deferred, &dlr_mask,
&dlr_url, &account, &pid, &alt_dcs, &rpi, NULL,
&charset,
- &binfo, &priority);
+ &binfo, &priority,
+ &mblox_billing, &mblox_operator);
} else if (octstr_case_compare(type, octet_stream) == 0) {
replytext = octstr_duplicate(reply_body);
octstr_destroy(reply_body);
@@ -1101,7 +1145,8 @@ static void url_result_thread(void *arg)
&coding, &compress, &validity,
&deferred, &dlr_mask, &dlr_url,
&account, &pid, &alt_dcs, &rpi,
- &binfo, &priority);
+ &binfo, &priority,
+ &mblox_billing, &mblox_operator);
} else {
replytext = octstr_duplicate(reply_couldnotrepresent);
}
@@ -1121,7 +1166,7 @@ static void url_result_thread(void *arg)
fill_message(msg, trans, replytext, octets, from, to, udh, mclass,
mwi, coding, compress, validity, deferred, dlr_url,
dlr_mask, pid, alt_dcs, rpi, smsc, account, charset,
- binfo, priority);
+ binfo, priority, mblox_billing, mblox_operator);
if (final_url == NULL)
final_url = octstr_imm("");
@@ -1374,6 +1419,20 @@ static int obey_request(Octstr **result,
octstr_get_cstr(os));
octstr_destroy(os);
}
+ if (octstr_len(msg->sms.mblox_billing)) {
+ Octstr *os;
+ os = octstr_duplicate(msg->sms.mblox_billing);
+ http_header_add(request_headers, "X-Kannel-mBlox-Billing",
+ octstr_get_cstr(os));
+ octstr_destroy(os);
+ }
+ if (octstr_len(msg->sms.mblox_operator)) {
+ Octstr *os;
+ os = octstr_duplicate(msg->sms.mblox_operator);
+ http_header_add(request_headers, "X-Kannel-mBlox-Operator",
+ octstr_get_cstr(os));
+ octstr_destroy(os);
+ }
if (octstr_len(msg->sms.binfo)) {
Octstr *os;
os = octstr_duplicate(msg->sms.binfo);
@@ -1883,7 +1942,8 @@ static Octstr *smsbox_req_handle(URLTran
int validity, int deferred,
int *status, int dlr_mask, Octstr *dlr_url,
Octstr *account, int pid, int alt_dcs, int rpi,
- List *receiver, Octstr *binfo, int priority)
+ List *receiver, Octstr *binfo, int priority,
+ Octstr *mblox_billing, Octstr *mblox_operator)
{
Msg *msg = NULL;
Octstr *newfrom, *returnerror, *receiv;
@@ -2068,6 +2128,12 @@ static Octstr *smsbox_req_handle(URLTran
msg->sms.msgdata = text ? octstr_duplicate(text) : octstr_create("");
msg->sms.udhdata = udh ? octstr_duplicate(udh) : octstr_create("");
+ if (octstr_len(mblox_billing))
+ msg->sms.mblox_billing = octstr_duplicate(mblox_billing);
+
+ if (octstr_len(mblox_operator))
+ msg->sms.mblox_operator = octstr_duplicate(mblox_operator);
+
if (octstr_len(binfo))
msg->sms.binfo = octstr_duplicate(binfo);
@@ -2385,10 +2451,12 @@ static Octstr *smsbox_req_sendsms(List *
Octstr *tmp_string;
Octstr *from, *to, *charset, *text, *udh, *smsc, *dlr_url, *account;
Octstr *binfo;
+ Octstr *mblox_billing, *mblox_operator;
int dlr_mask, mclass, mwi, coding, compress, validity, deferred,
pid;
int alt_dcs, rpi, priority;
from = to = udh = text = smsc = account = dlr_url = charset = binfo = NULL;
+ mblox_billing = mblox_operator = NULL;
mclass = mwi = coding = compress = validity = deferred = dlr_mask =
pid = alt_dcs = rpi = priority = SMS_PARAM_UNDEFINED;
@@ -2406,6 +2474,8 @@ static Octstr *smsbox_req_sendsms(List *
from = http_cgi_variable(args, "from");
to = http_cgi_variable(args, "to");
account = http_cgi_variable(args, "account");
+ mblox_billing = http_cgi_variable(args, "mblox_billing");
+ mblox_operator = http_cgi_variable(args, "mblox_operator");
binfo = http_cgi_variable(args, "binfo");
dlr_url = http_cgi_variable(args, "dlr-url");
if(dlr_url == NULL) { /* deprecated dlrurl without "-" */
@@ -2480,7 +2550,8 @@ static Octstr *smsbox_req_sendsms(List *
return smsbox_req_handle(t, client_ip, from, to, text, charset, udh,
smsc, mclass, mwi, coding, compress, validity,
deferred, status, dlr_mask, dlr_url, account,
- pid, alt_dcs, rpi, NULL, binfo, priority);
+ pid, alt_dcs, rpi, NULL, binfo, priority,
+ mblox_billing, mblox_operator);
}
@@ -2498,6 +2569,7 @@ static Octstr *smsbox_sendsms_post(List
Octstr *text_html, *text_plain, *text_wml, *text_xml, *octet_stream;
Octstr *text;
Octstr *from, *to, *udh, *smsc, *charset, *dlr_url, *account, *binfo;
+ Octstr *mblox_billing, *mblox_operator;
int dlr_mask, mclass, mwi, coding, compress, validity, deferred;
int pid, alt_dcs, rpi, priority;
@@ -2510,6 +2582,7 @@ static Octstr *smsbox_sendsms_post(List
user = pass = ret = type = NULL;
tolist = NULL;
from = to = udh = smsc = account = dlr_url = charset = binfo = NULL;
+ mblox_billing, mblox_operator = NULL;
mclass = mwi = coding = compress = validity = deferred = dlr_mask =
pid = alt_dcs = rpi = priority = SMS_PARAM_UNDEFINED;
@@ -2525,7 +2598,8 @@ static Octstr *smsbox_sendsms_post(List
&coding, &compress, &validity,
&deferred, &dlr_mask, &dlr_url,
&account, &pid, &alt_dcs, &rpi,
- &binfo, &priority);
+ &binfo, &priority,
+ &mblox_billing, &mblox_operator);
} else if (octstr_case_compare(type, text_plain) == 0 ||
octstr_case_compare(type, octet_stream) == 0) {
get_x_kannel_from_headers(headers, &from, &to, &udh,
@@ -2533,13 +2607,15 @@ static Octstr *smsbox_sendsms_post(List
&coding, &compress, &validity,
&deferred, &dlr_mask, &dlr_url,
&account, &pid, &alt_dcs, &rpi,
- &binfo, &priority);
+ &binfo, &priority,
+ &mblox_billing, &mblox_operator);
} else if (octstr_case_compare(type, text_xml) == 0) {
get_x_kannel_from_xml(mt_push, &type, &body, headers,
&from, &to, &udh, &user, &pass, &smsc, &mclass,
&mwi, &coding, &compress, &validity, &deferred,
&dlr_mask, &dlr_url, &account, &pid, &alt_dcs,
- &rpi, &tolist, &charset, &binfo, &priority);
+ &rpi, &tolist, &charset, &binfo, &priority,
+ &mblox_billing, &mblox_operator);
} else {
*status = HTTP_BAD_REQUEST;
ret = octstr_create("Invalid content-type");
@@ -2590,7 +2666,7 @@ static Octstr *smsbox_sendsms_post(List
udh, smsc, mclass, mwi, coding, compress,
validity, deferred, status, dlr_mask,
dlr_url, account, pid, alt_dcs, rpi, tolist,
- binfo, priority);
+ binfo, priority, mblox_billing,
mblox_operator);
}
error2:
@@ -2602,6 +2678,8 @@ error2:
octstr_destroy(smsc);
octstr_destroy(dlr_url);
octstr_destroy(account);
+ octstr_destroy(mblox_billing);
+ octstr_destroy(mblox_operator);
octstr_destroy(binfo);
error:
octstr_destroy(type);
@@ -2626,6 +2704,7 @@ static Octstr *smsbox_xmlrpc_post(List *
{
Octstr *ret, *type, *user, *pass;
Octstr *from, *to, *udh, *smsc, *charset, *dlr_url, *account, *binfo;
+ Octstr *mblox_billing, *mblox_operator;
Octstr *output;
Octstr *method_name;
XMLRPCDocument *msg;
@@ -2634,6 +2713,7 @@ static Octstr *smsbox_xmlrpc_post(List *
deferred, pid, alt_dcs, rpi;
from = to = udh = smsc = account = dlr_url = charset = binfo = NULL;
+ mblox_billing = mblox_operator = NULL;
mclass = mwi = coding = compress = validity = deferred = dlr_mask =
pid = alt_dcs = rpi = -1;
@@ -3521,4 +3601,3 @@ int charset_processing (Octstr *charset,
return resultcode;
}
-
diff -Naupr gateway-1.4.0/gw/smsc/smpp_pdu.def
gateway-1.4.0-egwn/gw/smsc/smpp_pdu.def
--- gateway-1.4.0/gw/smsc/smpp_pdu.def 2004-03-27 18:55:43.000000000 +0100
+++ gateway-1.4.0-egwn/gw/smsc/smpp_pdu.def 2004-12-10 13:47:53.000000000
+0100
@@ -253,6 +253,8 @@ PDU(submit_sm,
TLV_INTEGER(its_reply_type, 1)
TLV_OCTETS(its_session_info, 2, 2)
TLV_OCTETS(ussd_service_op, 1, 1)
+ TLV_OCTETS(mblox_billing, 0, 5)
+ TLV_OCTETS(mblox_operator, 0, 5)
OPTIONAL_END
)
@@ -355,6 +357,8 @@ PDU(deliver_sm,
TLV_OCTETS(network_error_code, 3, 3)
TLV_INTEGER(message_state, 1)
TLV_NULTERMINATED(receipted_message_id, 65)
+ TLV_OCTETS(mblox_billing, 0, 5)
+ TLV_OCTETS(mblox_operator, 0, 5)
OPTIONAL_END
)
@@ -522,4 +526,3 @@ PDU(alert_notification,
#undef TLV_NULTERMINATED
#undef TLV_OCTETS
#undef OPTIONAL_END
-
diff -Naupr gateway-1.4.0/gw/smsc/smpp_pdu_opt.def
gateway-1.4.0-egwn/gw/smsc/smpp_pdu_opt.def
--- gateway-1.4.0/gw/smsc/smpp_pdu_opt.def 2004-03-27 18:55:43.000000000
+0100
+++ gateway-1.4.0-egwn/gw/smsc/smpp_pdu_opt.def 2004-12-10 13:48:33.000000000
+0100
@@ -105,6 +105,7 @@
#define SMPP_alert_on_message_delivery 0x130C
#define SMPP_its_reply_type 0x1380
#define SMPP_its_session_info 0x1383
+#define SMPP_mblox_operator 0x1402
+#define SMPP_mblox_billing 0x1403
#endif
-
diff -Naupr gateway-1.4.0/gw/smsc/smsc_smpp.c
gateway-1.4.0-egwn/gw/smsc/smsc_smpp.c
--- gateway-1.4.0/gw/smsc/smsc_smpp.c 2004-10-21 14:33:40.000000000 +0200
+++ gateway-1.4.0-egwn/gw/smsc/smsc_smpp.c 2004-12-10 13:50:34.000000000
+0100
@@ -406,6 +406,18 @@ static Msg *pdu_to_msg(SMPP *smpp, SMPP_
}
msg->sms.receiver = pdu->u.deliver_sm.destination_addr;
pdu->u.deliver_sm.destination_addr = NULL;
+
+ /* Check for mBlox billing identifier */
+ if (smpp->version > 0x33 && octstr_len(pdu->u.deliver_sm.mblox_billing)) {
+ msg->sms.mblox_billing = pdu->u.deliver_sm.mblox_billing;
+ pdu->u.deliver_sm.mblox_billing = NULL;
+ }
+
+ /* Check for mBlox operator identifier */
+ if (smpp->version > 0x33 && octstr_len(pdu->u.deliver_sm.mblox_operator)) {
+ msg->sms.mblox_operator = pdu->u.deliver_sm.mblox_operator;
+ pdu->u.deliver_sm.mblox_operator = NULL;
+ }
/* SMSCs use service_type for billing information */
msg->sms.binfo = pdu->u.deliver_sm.service_type;
@@ -738,6 +750,16 @@ static SMPP_PDU *msg_to_pdu(SMPP *smpp,
/* set more messages to send */
if (smpp->version > 0x33 && msg->sms.msg_left > 0)
pdu->u.submit_sm.more_messages_to_send = 1;
+
+ /* set mBlox billing identifier */
+ if (smpp->version > 0x33 && octstr_len(msg->sms.mblox_billing)) {
+ pdu->u.submit_sm.mblox_billing =
octstr_duplicate(msg->sms.mblox_billing);
+ }
+
+ /* set mBlox operator identifier */
+ if (smpp->version > 0x33 && octstr_len(msg->sms.mblox_operator)) {
+ pdu->u.submit_sm.mblox_operator =
octstr_duplicate(msg->sms.mblox_operator);
+ }
return pdu;
}
@@ -1939,4 +1961,3 @@ int smsc_smpp_create(SMSCConn *conn, Cfg
return 0;
}
-
diff -Naupr gateway-1.4.0/gw/urltrans.c gateway-1.4.0-egwn/gw/urltrans.c
--- gateway-1.4.0/gw/urltrans.c 2004-09-28 16:47:01.000000000 +0200
+++ gateway-1.4.0-egwn/gw/urltrans.c 2004-12-10 19:18:59.835686120 +0100
@@ -623,6 +623,24 @@ Octstr *urltrans_get_pattern(URLTranslat
octstr_destroy(enc);
}
break;
+
+ case 'M': /* mBlox billing identifier */
+ if (octstr_len(request->sms.mblox_billing)) {
+ enc = octstr_duplicate(request->sms.mblox_billing);
+ octstr_url_encode(enc);
+ octstr_append(result, enc);
+ octstr_destroy(enc);
+ }
+ break;
+
+ case 'm': /* mBlox operator identifier */
+ if (octstr_len(request->sms.mblox_operator)) {
+ enc = octstr_duplicate(request->sms.mblox_operator);
+ octstr_url_encode(enc);
+ octstr_append(result, enc);
+ octstr_destroy(enc);
+ }
+ break;
case 'B': /* billing identifier/information */
if (octstr_len(request->sms.binfo)) {
@@ -633,7 +651,7 @@ Octstr *urltrans_get_pattern(URLTranslat
}
break;
- case 'o': /* account information (may be operator id for aggregators */
+ case 'o': /* account information (may be operator id for aggregators */
if (octstr_len(request->sms.account)) {
enc = octstr_duplicate(request->sms.account);
octstr_url_encode(enc);
@@ -1463,4 +1481,3 @@ static long count_occurences(Octstr *str
}
return count;
}
-
diff -Naupr gateway-1.4.0/VERSION gateway-1.4.0-egwn/VERSION
--- gateway-1.4.0/VERSION 2004-11-23 17:20:55.000000000 +0100
+++ gateway-1.4.0-egwn/VERSION 2004-12-10 13:19:04.000000000 +0100
@@ -1,4 +1,4 @@
-1.4.0
+1.4.0-egwn
This file contains the version number of the gateway.
It is stored on the first line. Nothing else should
be there.