aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmsc/gsm_04_11.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2022-05-17 19:01:43 +0200
committerlaforge <laforge@osmocom.org>2022-05-19 19:34:41 +0000
commita3c639ff5fe3c127ec000904840f0fd0bf1b221b (patch)
treeddf757363438cf461fb75c5b57827f910f3a2763 /src/libmsc/gsm_04_11.c
parent2765a18450bd4ff960a438e9717fed4f876301c8 (diff)
sms: Introduce VTY-configurable minimum SMS validity period
This is meant as a safeguard against users or user equipment which doesn't set a reasonable validity period. Using this setting, the SMSC administrator can set a minimum SMS validity period. Any SMS submitted with lower validity period will be extended to that minimum. Change-Id: I192528a6f9059d158fa12876a247d61bd7edaec8 Related: OS#5567
Diffstat (limited to 'src/libmsc/gsm_04_11.c')
-rw-r--r--src/libmsc/gsm_04_11.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c
index 722973e77..743e2722b 100644
--- a/src/libmsc/gsm_04_11.c
+++ b/src/libmsc/gsm_04_11.c
@@ -626,6 +626,12 @@ static int gsm340_rx_tpdu(struct gsm_trans *trans, struct msgb *msg,
osmo_hexdump(gsms->user_data, gsms->user_data_len));
gsms->validity_minutes = gsm340_validity_period(sms_vpf, sms_vp);
+ if (gsms->validity_minutes < net->sms_queue_cfg->minimum_validity_mins) {
+ LOG_TRANS(trans, LOGL_INFO, "Overriding user-provided validity period (%lu) "
+ "with minimum SMSC validity period (%u) minutes\n", gsms->validity_minutes,
+ net->sms_queue_cfg->minimum_validity_mins);
+ gsms->validity_minutes = net->sms_queue_cfg->minimum_validity_mins;
+ }
rc = sms_route_mt_sms(trans, gsms);