aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmsc/smpp_smsc.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2019-05-08 23:55:58 +0200
committerHarald Welte <laforge@gnumonks.org>2019-05-10 07:07:00 +0000
commitc0847d641c2a46e091b349467899df93bcc3cf5c (patch)
tree52fd57be4bc041f4f1cca0abc03b5a59ecca80a0 /src/libmsc/smpp_smsc.h
parent7f85acea9bb9f80e208820958f4cae63625f3689 (diff)
SMPP: Don't accept password or system-id exceeding spec length
The SMPP 3.4 specification defines the password field as a "Variable-length octet string with maximum length of 9", and according to table 3-1 this means including the terminating NUL-byte. However, OsmoMSC allows to configure longer passwords in the ESME configuration. Those passwords will then never match, as libsmpp34 performs length validation and generates a parser error for anyone trying to send a longer password via SMPP. The same applies for system-id, where we have to permit only 15 characters with zero termination, but not 16 characters. Change-Id: I81ef593e84bf1e15f6746386fc145495fae29354 Closes: OS#3166
Diffstat (limited to 'src/libmsc/smpp_smsc.h')
-rw-r--r--src/libmsc/smpp_smsc.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libmsc/smpp_smsc.h b/src/libmsc/smpp_smsc.h
index 1c9eae68e..b26d01126 100644
--- a/src/libmsc/smpp_smsc.h
+++ b/src/libmsc/smpp_smsc.h
@@ -13,8 +13,8 @@
#include <smpp34_structs.h>
#include <smpp34_params.h>
-#define SMPP_SYS_ID_LEN 16
-#define SMPP_PASSWD_LEN 16
+#define SMPP_SYS_ID_LEN 15
+#define SMPP_PASSWD_LEN 8
#define MODE_7BIT 7
#define MODE_8BIT 8