summaryrefslogtreecommitdiff
path: root/src/cmd_settings.c
diff options
context:
space:
mode:
authorAnders Betts <anders.betts@gmail.com>2026-09-21 23:09:57 +0200
committerAnders Betts <anders.betts@gmail.com>2026-09-21 23:09:57 +0200
commit8350815a8c6987b288551848eda1c678739c8d4a (patch)
tree04ef3c56e10fa8b06768465910d10a57779e8731 /src/cmd_settings.c
parentbf9012dad7ef34bbbfb073bc0f37b0161f0496f3 (diff)
downloadbokf-8350815a8c6987b288551848eda1c678739c8d4a.tar.gz
bokf-8350815a8c6987b288551848eda1c678739c8d4a.zip
invoices: text rows, duplicate and payment link (schema v12); smtp address checksv0.1.62
Diffstat (limited to 'src/cmd_settings.c')
-rw-r--r--src/cmd_settings.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cmd_settings.c b/src/cmd_settings.c
index 28167de..f41f904 100644
--- a/src/cmd_settings.c
+++ b/src/cmd_settings.c
@@ -8,6 +8,7 @@
#include "audit.h"
#include "config.h"
#include "db.h"
+#include "mail.h"
#include "secret.h"
#include "util.h"
@@ -217,6 +218,10 @@ static yyjson_mut_val *h_settings_set(struct req *r)
strcmp(value, "tls") != 0 && strcmp(value, "plain") != 0)
return failf(r, "INVALID_ARGS", "%s must be starttls, tls or plain",
key);
+ if ((strcmp(key, "smtp_from") == 0 ||
+ strcmp(key, "smtp_reply_to") == 0) &&
+ !mail_addr_valid(value))
+ return failf(r, "INVALID_ARGS", "%s must be an email address", key);
if (r->dry_run)
return settings_result(r, key, value, 1);
sqlite3_stmt *st = NULL;