diff --git a/examples/repl/cmdline.rs b/examples/repl/cmdline.rs index b02e0dfe4..4577007c1 100644 --- a/examples/repl/cmdline.rs +++ b/examples/repl/cmdline.rs @@ -125,7 +125,7 @@ fn poke_spec(context: &Context, spec: *const libc::c_char) -> libc::c_int { .set_config(context, "import_spec", Some(&real_spec)) .unwrap(); } else { - let rs = context.sql.get_config(context, "import_spec"); + let rs = context.sql.get_raw_config(context, "import_spec"); if rs.is_none() { error!(context, "Import: No file or folder given."); return 0; diff --git a/src/config.rs b/src/config.rs index a9ee79fbb..1beeea419 100644 --- a/src/config.rs +++ b/src/config.rs @@ -78,13 +78,13 @@ impl Context { pub fn get_config(&self, key: Config) -> Option { let value = match key { Config::Selfavatar => { - let rel_path = self.sql.get_config(self, key); + let rel_path = self.sql.get_raw_config(self, key); rel_path.map(|p| dc_get_abs_path(self, &p).to_str().unwrap().to_string()) } Config::SysVersion => Some((&*DC_VERSION_STR).clone()), Config::SysMsgsizeMaxRecommended => Some(format!("{}", 24 * 1024 * 1024 / 4 * 3)), Config::SysConfigKeys => Some(get_config_keys_string()), - _ => self.sql.get_config(self, key), + _ => self.sql.get_raw_config(self, key), }; if value.is_some() { diff --git a/src/configure/mod.rs b/src/configure/mod.rs index cc603839b..fa2c622d8 100644 --- a/src/configure/mod.rs +++ b/src/configure/mod.rs @@ -38,7 +38,7 @@ pub unsafe fn configure(context: &Context) { /// Check if the context is already configured. pub fn dc_is_configured(context: &Context) -> bool { - context.sql.get_config_bool(context, "configured") + context.sql.get_raw_config_bool(context, "configured") } /******************************************************************************* @@ -604,7 +604,7 @@ pub fn dc_connect_to_configured_imap(context: &Context, imap: &Imap) -> libc::c_ ret_connected = 1 } else if context .sql - .get_config_int(context, "configured") + .get_raw_config_int(context, "configured") .unwrap_or_default() == 0 { diff --git a/src/context.rs b/src/context.rs index 9399b8024..cca8d109e 100644 --- a/src/context.rs +++ b/src/context.rs @@ -230,7 +230,7 @@ impl Context { let is_configured = self.get_config_int(Config::Configured); let dbversion = self .sql - .get_config_int(self, "dbversion") + .get_raw_config_int(self, "dbversion") .unwrap_or_default(); let e2ee_enabled = self.get_config_int(Config::E2eeEnabled); @@ -259,16 +259,16 @@ impl Context { let mvbox_move = self.get_config_int(Config::MvboxMove); let folders_configured = self .sql - .get_config_int(self, "folders_configured") + .get_raw_config_int(self, "folders_configured") .unwrap_or_default(); let configured_sentbox_folder = self .sql - .get_config(self, "configured_sentbox_folder") + .get_raw_config(self, "configured_sentbox_folder") .unwrap_or_else(|| "".to_string()); let configured_mvbox_folder = self .sql - .get_config(self, "configured_mvbox_folder") + .get_raw_config(self, "configured_mvbox_folder") .unwrap_or_else(|| "".to_string()); let mut res = get_info(); @@ -372,7 +372,7 @@ impl Context { } pub fn is_sentbox(&self, folder_name: impl AsRef) -> bool { - let sentbox_name = self.sql.get_config(self, "configured_sentbox_folder"); + let sentbox_name = self.sql.get_raw_config(self, "configured_sentbox_folder"); if let Some(name) = sentbox_name { name == folder_name.as_ref() } else { @@ -381,7 +381,7 @@ impl Context { } pub fn is_mvbox(&self, folder_name: impl AsRef) -> bool { - let mvbox_name = self.sql.get_config(self, "configured_mvbox_folder"); + let mvbox_name = self.sql.get_raw_config(self, "configured_mvbox_folder"); if let Some(name) = mvbox_name { name == folder_name.as_ref() diff --git a/src/imap.rs b/src/imap.rs index 16541991f..bc9979dea 100644 --- a/src/imap.rs +++ b/src/imap.rs @@ -693,7 +693,7 @@ impl Imap { fn get_config_last_seen_uid>(&self, context: &Context, folder: S) -> (u32, u32) { let key = format!("imap.mailbox.{}", folder.as_ref()); - if let Some(entry) = context.sql.get_config(context, &key) { + if let Some(entry) = context.sql.get_raw_config(context, &key) { // the entry has the format `imap.mailbox.=:` let mut parts = entry.split(':'); ( diff --git a/src/imex.rs b/src/imex.rs index a8428abf3..5a4121f9f 100644 --- a/src/imex.rs +++ b/src/imex.rs @@ -90,7 +90,7 @@ pub fn has_backup(context: &Context, dir_name: impl AsRef) -> Result newest_backup_time { newest_backup_path = Some(path); diff --git a/src/job.rs b/src/job.rs index 2f3a808f9..a254b2f98 100644 --- a/src/job.rs +++ b/src/job.rs @@ -219,13 +219,13 @@ impl Job { if let Ok(msg) = Message::load_from_db(context, self.foreign_id) { if context .sql - .get_config_int(context, "folders_configured") + .get_raw_config_int(context, "folders_configured") .unwrap_or_default() < 3 { inbox.configure_folders(context, 0x1i32); } - let dest_folder = context.sql.get_config(context, "configured_mvbox_folder"); + let dest_folder = context.sql.get_raw_config(context, "configured_mvbox_folder"); if let Some(dest_folder) = dest_folder { let server_folder = msg.server_folder.as_ref().unwrap(); @@ -327,13 +327,13 @@ impl Job { if 0 != self.param.get_int(Param::AlsoMove).unwrap_or_default() { if context .sql - .get_config_int(context, "folders_configured") + .get_raw_config_int(context, "folders_configured") .unwrap_or_default() < 3 { inbox.configure_folders(context, 0x1i32); } - let dest_folder = context.sql.get_config(context, "configured_mvbox_folder"); + let dest_folder = context.sql.get_raw_config(context, "configured_mvbox_folder"); if let Some(dest_folder) = dest_folder { let mut dest_uid = 0; if ImapResult::RetryLater diff --git a/src/job_thread.rs b/src/job_thread.rs index c45d39e72..a679c0076 100644 --- a/src/job_thread.rs +++ b/src/job_thread.rs @@ -116,14 +116,14 @@ impl JobThread { if ret_connected { if context .sql - .get_config_int(context, "folders_configured") + .get_raw_config_int(context, "folders_configured") .unwrap_or_default() < 3 { self.imap.configure_folders(context, 0x1); } - if let Some(mvbox_name) = context.sql.get_config(context, self.folder_config_name) { + if let Some(mvbox_name) = context.sql.get_raw_config(context, self.folder_config_name) { self.imap.set_watch_folder(mvbox_name); } else { self.imap.disconnect(context); diff --git a/src/login_param.rs b/src/login_param.rs index 01e85b32a..5e44b35ba 100644 --- a/src/login_param.rs +++ b/src/login_param.rs @@ -51,53 +51,53 @@ impl LoginParam { let key = format!("{}addr", prefix); let addr = sql - .get_config(context, key) + .get_raw_config(context, key) .unwrap_or_default() .trim() .to_string(); let key = format!("{}mail_server", prefix); - let mail_server = sql.get_config(context, key).unwrap_or_default(); + let mail_server = sql.get_raw_config(context, key).unwrap_or_default(); let key = format!("{}mail_port", prefix); - let mail_port = sql.get_config_int(context, key).unwrap_or_default(); + let mail_port = sql.get_raw_config_int(context, key).unwrap_or_default(); let key = format!("{}mail_user", prefix); - let mail_user = sql.get_config(context, key).unwrap_or_default(); + let mail_user = sql.get_raw_config(context, key).unwrap_or_default(); let key = format!("{}mail_pw", prefix); - let mail_pw = sql.get_config(context, key).unwrap_or_default(); + let mail_pw = sql.get_raw_config(context, key).unwrap_or_default(); let key = format!("{}imap_certificate_checks", prefix); let imap_certificate_checks = - if let Some(certificate_checks) = sql.get_config_int(context, key) { + if let Some(certificate_checks) = sql.get_raw_config_int(context, key) { num_traits::FromPrimitive::from_i32(certificate_checks).unwrap_or_default() } else { Default::default() }; let key = format!("{}send_server", prefix); - let send_server = sql.get_config(context, key).unwrap_or_default(); + let send_server = sql.get_raw_config(context, key).unwrap_or_default(); let key = format!("{}send_port", prefix); - let send_port = sql.get_config_int(context, key).unwrap_or_default(); + let send_port = sql.get_raw_config_int(context, key).unwrap_or_default(); let key = format!("{}send_user", prefix); - let send_user = sql.get_config(context, key).unwrap_or_default(); + let send_user = sql.get_raw_config(context, key).unwrap_or_default(); let key = format!("{}send_pw", prefix); - let send_pw = sql.get_config(context, key).unwrap_or_default(); + let send_pw = sql.get_raw_config(context, key).unwrap_or_default(); let key = format!("{}smtp_certificate_checks", prefix); let smtp_certificate_checks = - if let Some(certificate_checks) = sql.get_config_int(context, key) { + if let Some(certificate_checks) = sql.get_raw_config_int(context, key) { num_traits::FromPrimitive::from_i32(certificate_checks).unwrap_or_default() } else { Default::default() }; let key = format!("{}server_flags", prefix); - let server_flags = sql.get_config_int(context, key).unwrap_or_default(); + let server_flags = sql.get_raw_config_int(context, key).unwrap_or_default(); LoginParam { addr: addr.to_string(), diff --git a/src/oauth2.rs b/src/oauth2.rs index a16573358..00d56220b 100644 --- a/src/oauth2.rs +++ b/src/oauth2.rs @@ -82,17 +82,17 @@ pub fn dc_get_oauth2_access_token( // read generated token if !regenerate && !is_expired(context) { - let access_token = context.sql.get_config(context, "oauth2_access_token"); + let access_token = context.sql.get_raw_config(context, "oauth2_access_token"); if access_token.is_some() { // success return access_token; } } - let refresh_token = context.sql.get_config(context, "oauth2_refresh_token"); + let refresh_token = context.sql.get_raw_config(context, "oauth2_refresh_token"); let refresh_token_for = context .sql - .get_config(context, "oauth2_refresh_token_for") + .get_raw_config(context, "oauth2_refresh_token_for") .unwrap_or_else(|| "unset".into()); let (redirect_uri, token_url, update_redirect_uri_on_success) = @@ -101,7 +101,7 @@ pub fn dc_get_oauth2_access_token( ( context .sql - .get_config(context, "oauth2_pending_redirect_uri") + .get_raw_config(context, "oauth2_pending_redirect_uri") .unwrap_or_else(|| "unset".into()), oauth2.init_token, true, @@ -114,7 +114,7 @@ pub fn dc_get_oauth2_access_token( ( context .sql - .get_config(context, "oauth2_redirect_uri") + .get_raw_config(context, "oauth2_redirect_uri") .unwrap_or_else(|| "unset".into()), oauth2.refresh_token, false, @@ -293,7 +293,7 @@ impl Oauth2 { fn is_expired(context: &Context) -> bool { let expire_timestamp = context .sql - .get_config_int64(context, "oauth2_timestamp_expires") + .get_raw_config_int64(context, "oauth2_timestamp_expires") .unwrap_or_default(); if expire_timestamp <= 0 { diff --git a/src/sql.rs b/src/sql.rs index 2b0571d4c..b3ec7b58b 100644 --- a/src/sql.rs +++ b/src/sql.rs @@ -241,7 +241,7 @@ impl Sql { } /// Get configuration options from the database. - pub fn get_config(&self, context: &Context, key: impl AsRef) -> Option { + pub fn get_raw_config(&self, context: &Context, key: impl AsRef) -> Option { if !self.is_open() || key.as_ref().is_empty() { return None; } @@ -261,14 +261,14 @@ impl Sql { self.set_config(context, key, Some(&format!("{}", value))) } - pub fn get_config_int(&self, context: &Context, key: impl AsRef) -> Option { - self.get_config(context, key).and_then(|s| s.parse().ok()) + pub fn get_raw_config_int(&self, context: &Context, key: impl AsRef) -> Option { + self.get_raw_config(context, key).and_then(|s| s.parse().ok()) } - pub fn get_config_bool(&self, context: &Context, key: impl AsRef) -> bool { + pub fn get_raw_config_bool(&self, context: &Context, key: impl AsRef) -> bool { // Not the most obvious way to encode bool as string, but it is matter // of backward compatibility. - self.get_config_int(context, key).unwrap_or_default() > 0 + self.get_raw_config_int(context, key).unwrap_or_default() > 0 } pub fn set_config_bool(&self, context: &Context, key: T, value: bool) -> Result<()> @@ -288,8 +288,8 @@ impl Sql { self.set_config(context, key, Some(&format!("{}", value))) } - pub fn get_config_int64(&self, context: &Context, key: impl AsRef) -> Option { - self.get_config(context, key).and_then(|r| r.parse().ok()) + pub fn get_raw_config_int64(&self, context: &Context, key: impl AsRef) -> Option { + self.get_raw_config(context, key).and_then(|r| r.parse().ok()) } fn start_stmt(&self, stmt: impl AsRef) { @@ -481,7 +481,7 @@ fn open( } } else { exists_before_update = 1; - dbversion_before_update = sql.get_config_int(context, "dbversion").unwrap_or_default(); + dbversion_before_update = sql.get_raw_config_int(context, "dbversion").unwrap_or_default(); } // (1) update low-level database structure. @@ -818,7 +818,7 @@ fn open( // this snippet converts older databases and can be removed after some time. info!(context, "[migration] update file paths"); let repl_from = sql - .get_config(context, "backup_for") + .get_raw_config(context, "backup_for") .unwrap_or_else(|| context.get_blobdir().to_string_lossy().into()); let repl_from = dc_ensure_no_slash_safe(&repl_from);