Add a plugin method to allow updating stored passwords on master password change.
[claws.git] / src / plugins / gdata / cm_gdata_prefs.c
index 1e0614357665083029493ce9b55a97e7242ef133..a24349e9aebdf30665d0a88ac3e630209ef086f6 100644 (file)
@@ -151,3 +151,16 @@ void cm_gdata_prefs_done(void)
     prefs_gtk_unregister_page((PrefsPage*) &gdata_page);
   }
 }
+
+void cm_gdata_master_password_change(const gchar *oldp, const gchar *newp) {
+       gchar *pass;
+       int i;
+
+       pass = password_decrypt(cm_gdata_config.oauth2_refresh_token, oldp);
+       if (pass != NULL) {
+               g_free(cm_gdata_config.oauth2_refresh_token);
+               cm_gdata_config.oauth2_refresh_token = password_encrypt(pass, newp);
+               memset(pass, 0, strlen(pass));
+       }
+       g_free(pass);
+}