From 36259d1a057dfb39c454e709bbadebb82d1acfcd Mon Sep 17 00:00:00 2001 From: Valentin DEVILLE Date: Thu, 21 Dec 2017 16:42:45 +0100 Subject: [PATCH 1/2] Fix ascii unicode in message crash --- smsgateway.py | 1 + 1 file changed, 1 insertion(+) diff --git a/smsgateway.py b/smsgateway.py index 6d9bc5e..7d3dd33 100644 --- a/smsgateway.py +++ b/smsgateway.py @@ -22,6 +22,7 @@ def log(message, level = 'INFO'): print "=== (INSTANCE) ===" instanceSeparator = False if config.log: + message = message.encode('ascii', 'ignore').decode('ascii') date = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') print ("%s [ %s ] %s" % (date, level, message)) From 5212360acd15829d527c7ed9dfd254e18ec9cfe1 Mon Sep 17 00:00:00 2001 From: Valentin DEVILLE Date: Fri, 22 Dec 2017 16:43:31 +0100 Subject: [PATCH 2/2] Fix PDU special char for gateway --- smsgateway.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/smsgateway.py b/smsgateway.py index 7d3dd33..7aec8aa 100644 --- a/smsgateway.py +++ b/smsgateway.py @@ -185,11 +185,22 @@ def pdu_format(phonenumber, message): :param message: Text message :return: pdustring, pdulenght """ - sms = SmsSubmit(phonenumber, message) + # Whitelist char + whitelist = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] + whitelist = whitelist + range(0, 9) + whitelist = whitelist + [' ', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] + fixed_message = "" + for chr in message: + if chr in whitelist: + fixed_message += chr + else: + fixed_message += "." + + sms = SmsSubmit(phonenumber, fixed_message) pdu = sms.to_pdu()[0] pdustring = pdu.pdu pdulength = pdu.length - return pdustring, pdulength, phonenumber, message + return pdustring, pdulength, phonenumber, fixed_message def send_ascii_sms(phonenumber, sms):