| 1519 | } |
| 1520 | |
| 1521 | static int git_imap_config(const char *var, const char *val, |
| 1522 | const struct config_context *ctx, void *cb) |
| 1523 | { |
| 1524 | struct imap_server_conf *cfg = cb; |
| 1525 | |
| 1526 | if (!strcmp("imap.sslverify", var)) { |
| 1527 | cfg->ssl_verify = git_config_bool(var, val); |
| 1528 | } else if (!strcmp("imap.preformattedhtml", var)) { |
| 1529 | cfg->use_html = git_config_bool(var, val); |
| 1530 | } else if (!strcmp("imap.folder", var)) { |
| 1531 | FREE_AND_NULL(cfg->folder); |
| 1532 | return git_config_string(&cfg->folder, var, val); |
| 1533 | } else if (!strcmp("imap.user", var)) { |
| 1534 | FREE_AND_NULL(cfg->user); |
| 1535 | return git_config_string(&cfg->user, var, val); |
| 1536 | } else if (!strcmp("imap.pass", var)) { |
| 1537 | FREE_AND_NULL(cfg->pass); |
| 1538 | return git_config_string(&cfg->pass, var, val); |
| 1539 | } else if (!strcmp("imap.tunnel", var)) { |
| 1540 | FREE_AND_NULL(cfg->tunnel); |
| 1541 | return git_config_string(&cfg->tunnel, var, val); |
| 1542 | } else if (!strcmp("imap.authmethod", var)) { |
| 1543 | FREE_AND_NULL(cfg->auth_method); |
| 1544 | return git_config_string(&cfg->auth_method, var, val); |
| 1545 | } else if (!strcmp("imap.port", var)) { |
| 1546 | cfg->port = git_config_int(var, val, ctx->kvi); |
| 1547 | } else if (!strcmp("imap.host", var)) { |
| 1548 | if (!val) { |
| 1549 | return config_error_nonbool(var); |
| 1550 | } else { |
| 1551 | if (starts_with(val, "imap:")) |
| 1552 | val += 5; |
| 1553 | else if (starts_with(val, "imaps:")) { |
| 1554 | val += 6; |
| 1555 | cfg->use_ssl = 1; |
| 1556 | } |
| 1557 | if (starts_with(val, "//")) |
| 1558 | val += 2; |
| 1559 | cfg->host = xstrdup(val); |
| 1560 | } |
| 1561 | } else { |
| 1562 | return git_default_config(var, val, ctx, cb); |
| 1563 | } |
| 1564 | |
| 1565 | return 0; |
| 1566 | } |
| 1567 | |
| 1568 | static int append_msgs_to_imap(struct imap_server_conf *server, |
| 1569 | struct strbuf* all_msgs, int total) |
nothing calls this directly
no test coverage detected