Coverage Report

Created: 2026-09-14 07:03

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/pigeonhole/src/lib-sieve/plugins/enotify/mailto/ntfy-mailto-settings.c
Line
Count
Source
1
/* Copyright (c) Pigeonhole authors, see top-level COPYING file */
2
3
#include "lib.h"
4
#include "array.h"
5
#include "settings.h"
6
#include "settings-parser.h"
7
8
#include "ntfy-mailto-settings.h"
9
10
static bool
11
ntfy_mailto_settings_check(void *_set, pool_t pool, const char **error_r);
12
13
#undef DEF
14
#define DEF(type, name) \
15
  SETTING_DEFINE_STRUCT_##type("sieve_notify_mailto_"#name, name, \
16
             struct ntfy_mailto_settings)
17
18
static const struct setting_define ntfy_mailto_setting_defines[] = {
19
  DEF(STR, envelope_from),
20
  DEF(UINT_HIDDEN, max_recipients),
21
  DEF(UINT_HIDDEN, max_headers),
22
23
  SETTING_DEFINE_LIST_END,
24
};
25
26
static const struct ntfy_mailto_settings ntfy_mailto_default_settings = {
27
  .envelope_from = "",
28
  .max_recipients = 8,
29
  .max_headers = 16,
30
};
31
32
const struct setting_parser_info ntfy_mailto_setting_parser_info = {
33
  .name = "sieve_notify_mailto",
34
35
  .defines = ntfy_mailto_setting_defines,
36
  .defaults = &ntfy_mailto_default_settings,
37
38
  .struct_size = sizeof(struct ntfy_mailto_settings),
39
40
  .check_func = ntfy_mailto_settings_check,
41
42
  .pool_offset1 = 1 + offsetof(struct ntfy_mailto_settings, pool),
43
};
44
45
/* <settings checks> */
46
static bool
47
ntfy_mailto_settings_check(void *_set, pool_t pool, const char **error_r)
48
0
{
49
0
  struct ntfy_mailto_settings *set = _set;
50
51
0
  if (!sieve_address_source_parse(pool, set->envelope_from,
52
0
          &set->parsed.envelope_from)) {
53
0
    *error_r = t_strdup_printf("sieve_notify_mailto_envelope_from: "
54
0
             "Invalid address source '%s'",
55
0
             set->envelope_from);
56
0
    return FALSE;
57
0
  }
58
59
0
  return TRUE;
60
0
}
61
/* </settings checks> */