static const char crypto_config_comment[] =
" Cryptography related configuration\n"
"\n"
- " The following option is supported here:\n"
+#if (GMIME_MAJOR_VERSION < 3)
+ " The following *deprecated* option is currently supported:\n"
"\n"
"\tgpg_path\n"
- "\t\tbinary name or full path to invoke gpg.\n";
+ "\t\tbinary name or full path to invoke gpg.\n"
+ "\t\tNOTE: In a future build, this option will be ignored.\n"
+#else
+ " The following old option is now ignored:\n"
+ "\n"
+ "\tgpgpath\n"
+ "\t\tThis option was used by older builds of notmuch to choose\n"
+ "\t\tthe version of gpg to use.\n"
+#endif
+ "\t\tSetting $PATH is a better approach.\n";
struct _notmuch_config {
char *filename;
GKeyFile *key_file;
- notmuch_bool_t is_new;
+ bool is_new;
char *database_path;
char *crypto_gpg_path;
size_t new_tags_length;
const char **new_ignore;
size_t new_ignore_length;
- notmuch_bool_t maildir_synchronize_flags;
+ bool maildir_synchronize_flags;
const char **search_exclude_tags;
size_t search_exclude_tags_length;
};
return name;
}
-static notmuch_bool_t
-get_config_from_file (notmuch_config_t *config, notmuch_bool_t create_new)
+static bool
+get_config_from_file (notmuch_config_t *config, bool create_new)
{
#define BUF_SIZE 4096
char *config_str = NULL;
int config_bufsize = BUF_SIZE;
size_t len;
GError *error = NULL;
- notmuch_bool_t ret = FALSE;
+ bool ret = false;
FILE *fp = fopen(config->filename, "r");
if (fp == NULL) {
* default configuration file in the case of FILE NOT FOUND.
*/
if (create_new) {
- config->is_new = TRUE;
- ret = TRUE;
+ config->is_new = true;
+ ret = true;
} else {
fprintf (stderr, "Configuration file %s not found.\n"
"Try running 'notmuch setup' to create a configuration.\n",
if (g_key_file_load_from_data (config->key_file, config_str, config_len,
G_KEY_FILE_KEEP_COMMENTS, &error)) {
- ret = TRUE;
+ ret = true;
goto out;
}
talloc_set_destructor (config, notmuch_config_destructor);
/* non-zero defaults */
- config->maildir_synchronize_flags = TRUE;
+ config->maildir_synchronize_flags = true;
if (filename) {
config->filename = talloc_strdup (config, filename);
config->key_file = g_key_file_new ();
if (config_mode & NOTMUCH_CONFIG_OPEN) {
- notmuch_bool_t create_new = (config_mode & NOTMUCH_CONFIG_CREATE) != 0;
+ bool create_new = (config_mode & NOTMUCH_CONFIG_CREATE) != 0;
if (! get_config_from_file (config, create_new)) {
talloc_free (config);
g_key_file_get_boolean (config->key_file,
"maildir", "synchronize_flags", &error);
if (error) {
- notmuch_config_set_maildir_synchronize_flags (config, TRUE);
+ notmuch_config_set_maildir_synchronize_flags (config, true);
g_error_free (error);
}
+#if (GMIME_MAJOR_VERSION < 3)
if (notmuch_config_get_crypto_gpg_path (config) == NULL) {
notmuch_config_set_crypto_gpg_path (config, "gpg");
}
-
+#endif
+
/* Whenever we know of configuration sections that don't appear in
* the configuration file, we add some comments to help the user
* understand what can be done. */
return 0;
}
-notmuch_bool_t
+bool
notmuch_config_is_new (notmuch_config_t *config)
{
return config->is_new;
&(config->search_exclude_tags));
}
+#if (GMIME_MAJOR_VERSION < 3)
const char *
notmuch_config_get_crypto_gpg_path (notmuch_config_t *config)
{
{
_config_set (config, &config->crypto_gpg_path, "crypto", "gpg_path", gpg_path);
}
+#endif
/* Given a configuration item of the form <group>.<key> return the
}
#define BUILT_WITH_PREFIX "built_with."
-#define QUERY_PREFIX "query."
+
+static bool
+_stored_in_db (const char *item)
+{
+ const char * db_configs[] = {
+ "index.decrypt",
+ };
+ if (STRNCMP_LITERAL (item, "query.") == 0)
+ return true;
+ for (size_t i = 0; i < ARRAY_SIZE (db_configs); i++)
+ if (strcmp (item, db_configs[i]) == 0)
+ return true;
+ return false;
+}
static int
_print_db_config(notmuch_config_t *config, const char *name)
} else if (STRNCMP_LITERAL (item, BUILT_WITH_PREFIX) == 0) {
printf ("%s\n",
notmuch_built_with (item + strlen (BUILT_WITH_PREFIX)) ? "true" : "false");
- } else if (STRNCMP_LITERAL (item, QUERY_PREFIX) == 0) {
+ } else if (_stored_in_db (item)) {
return _print_db_config (config, item);
} else {
char **value;
return 1;
}
- if (STRNCMP_LITERAL (item, QUERY_PREFIX) == 0) {
+ if (_stored_in_db (item)) {
return _set_db_config (config, item, argc, argv);
}
}
-notmuch_bool_t
+bool
notmuch_config_get_maildir_synchronize_flags (notmuch_config_t *config)
{
return config->maildir_synchronize_flags;
void
notmuch_config_set_maildir_synchronize_flags (notmuch_config_t *config,
- notmuch_bool_t synchronize_flags)
+ bool synchronize_flags)
{
g_key_file_set_boolean (config->key_file,
"maildir", "synchronize_flags", synchronize_flags);