diff options
author | Harald Welte <laforge@osmocom.org> | 2022-05-17 14:39:51 +0200 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2022-05-17 14:47:34 +0200 |
commit | 72a651a457519b665950697c030030578f9ef0aa (patch) | |
tree | 0264089cc796aefe9fe048ab249623a8de4e94e5 /src/libmsc/sms_queue.c | |
parent | 9a67864ed1792ffe7ff95d678bdb074222cdc3d4 (diff) |
sms_queue: Make deletion of messages from DB VTY-configurable
This introduces some VTY settings that determine if delivered
or expired messages should be removed from he SQL database or not.
Change-Id: Id6174875d5c01c40d987077651b27ae1acbcaa93
Diffstat (limited to 'src/libmsc/sms_queue.c')
-rw-r--r-- | src/libmsc/sms_queue.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libmsc/sms_queue.c b/src/libmsc/sms_queue.c index ff4940aef..7d1860f76 100644 --- a/src/libmsc/sms_queue.c +++ b/src/libmsc/sms_queue.c @@ -472,6 +472,8 @@ struct sms_queue_config *sms_queue_cfg_alloc(void *ctx) sqcfg->max_pending = 20; sqcfg->max_fail = 1; + sqcfg->delete_delivered = true; + sqcfg->delete_expired = true; sqcfg->db_file_path = talloc_strdup(ctx, SMS_DEFAULT_DB_FILE_PATH); return sqcfg; @@ -615,7 +617,8 @@ static int sms_sms_cb(unsigned int subsys, unsigned int signal, /* Remember the subscriber and clear the pending entry */ vsub = pending->vsub; vlr_subscr_get(vsub, __func__); - db_sms_delete_sent_message_by_id(pending->sms_id); + if (smq->cfg->delete_delivered) + db_sms_delete_sent_message_by_id(pending->sms_id); sms_pending_free(smq, pending); /* Attempt to send another SMS to this subscriber */ sms_send_next(vsub); @@ -653,7 +656,8 @@ static int sms_sms_cb(unsigned int subsys, unsigned int signal, } /* While here, attempt to remove an expired SMS from the DB. */ - db_sms_delete_oldest_expired_message(); + if (smq->cfg->delete_expired) + db_sms_delete_oldest_expired_message(); return 0; } |