static pthread_t main_thread;
static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
-#define LOCK() pthread_mutex_lock(&lock)
-#define UNLOCK() pthread_mutex_unlock(&lock)
+#define LOCK() pthread_mutex_lock (&lock)
+#define UNLOCK() pthread_mutex_unlock (&lock)
#else
#define LOCK()
#define UNLOCK()
#endif
-#define d(x) x
+#define d(x)
struct _EPassMsg {
EMsg msg;
- void (*dispatch)(struct _EPassMsg *);
+ void (*dispatch) (struct _EPassMsg *);
/* input */
struct _GtkWindow *parent;
- const char *component;
- const char *key;
- const char *title;
- const char *prompt;
- const char *oldpass;
+ const gchar *component;
+ const gchar *key;
+ const gchar *title;
+ const gchar *prompt;
+ const gchar *oldpass;
guint32 flags;
/* output */
gboolean *remember;
- char *password;
+ gchar *password;
/* work variables */
GtkWidget *entry;
static GHashTable *password_cache = NULL;
static GtkDialog *password_dialog = NULL;
-static EDList request_list = E_DLIST_INITIALISER(request_list);
-static int idle_id;
-static int ep_online_state = TRUE;
+static EDList request_list = E_DLIST_INITIALISER (request_list);
+static gint idle_id;
+static gint ep_online_state = TRUE;
#define KEY_FILE_GROUP_PREFIX "Passwords-"
static GKeyFile *key_file = NULL;
}
static gboolean
-ep_idle_dispatch(void *data)
+ep_idle_dispatch (void *data)
{
EPassMsg *msg;
/* As soon as a password window is up we stop; it will
re-invoke us when it has been closed down */
- LOCK();
- while (password_dialog == NULL && (msg = (EPassMsg *)e_dlist_remhead(&request_list))) {
- UNLOCK();
+ LOCK ();
+ while (password_dialog == NULL && (msg = (EPassMsg *) e_dlist_remhead (&request_list))) {
+ UNLOCK ();
- msg->dispatch(msg);
+ msg->dispatch (msg);
- LOCK();
+ LOCK ();
}
idle_id = 0;
- UNLOCK();
+ UNLOCK ();
return FALSE;
}
static EPassMsg *
-ep_msg_new(void (*dispatch)(EPassMsg *))
+ep_msg_new (void (*dispatch) (EPassMsg *))
{
EPassMsg *msg;
- e_passwords_init();
+ e_passwords_init ();
- msg = g_malloc0(sizeof(*msg));
+ msg = g_malloc0 (sizeof (*msg));
msg->dispatch = dispatch;
- msg->msg.reply_port = e_msgport_new();
+ msg->msg.reply_port = e_msgport_new ();
#ifdef ENABLE_THREADS
- msg->ismain = pthread_equal(pthread_self(), main_thread);
+ msg->ismain = pthread_equal (pthread_self (), main_thread);
#else
msg->ismain = TRUE;
#endif
}
static void
-ep_msg_free(EPassMsg *msg)
+ep_msg_free (EPassMsg *msg)
{
- e_msgport_destroy(msg->msg.reply_port);
- g_free(msg->password);
- g_free(msg);
+ e_msgport_destroy (msg->msg.reply_port);
+ g_free (msg->password);
+ g_free (msg);
}
static void
-ep_msg_send(EPassMsg *msg)
+ep_msg_send (EPassMsg *msg)
{
- int needidle = 0;
+ gint needidle = 0;
- LOCK();
- e_dlist_addtail(&request_list, (EDListNode *)&msg->msg);
+ LOCK ();
+ e_dlist_addtail (&request_list, (EDListNode *) &msg->msg);
if (!idle_id) {
if (!msg->ismain)
- idle_id = g_idle_add(ep_idle_dispatch, NULL);
+ idle_id = g_idle_add (ep_idle_dispatch, NULL);
else
needidle = 1;
}
- UNLOCK();
+ UNLOCK ();
if (msg->ismain) {
EPassMsg *m;
if (needidle)
- ep_idle_dispatch(NULL);
- while ((m = (EPassMsg *)e_msgport_get(msg->msg.reply_port)) == NULL)
- g_main_context_iteration(NULL, TRUE);
- g_assert(m == msg);
+ ep_idle_dispatch (NULL);
+ while ((m = (EPassMsg *) e_msgport_get (msg->msg.reply_port)) == NULL)
+ g_main_context_iteration (NULL, TRUE);
+ g_assert (m == msg);
} else {
- EMsg *reply_msg = e_msgport_wait(msg->msg.reply_port);
- g_assert(reply_msg == &msg->msg);
+ EMsg *reply_msg = e_msgport_wait (msg->msg.reply_port);
+ g_assert (reply_msg == &msg->msg);
}
}
/* the functions that actually do the work */
#ifdef WITH_GNOME_KEYRING
static void
-ep_clear_passwords_keyring(EPassMsg *msg)
+ep_clear_passwords_keyring (EPassMsg *msg)
{
GnomeKeyringAttributeList *attributes;
GnomeKeyringResult result;
GList *matches = NULL, *tmp;
- char *default_keyring = NULL;
+ gchar *default_keyring = NULL;
result = gnome_keyring_get_default_keyring_sync (&default_keyring);
if (!default_keyring) {
- if (gnome_keyring_create_sync ("default", NULL) != GNOME_KEYRING_RESULT_OK) {
- if (!msg->noreply)
- e_msgport_reply(&msg->msg);
- return;
- }
+ if (gnome_keyring_create_sync ("default", NULL) != GNOME_KEYRING_RESULT_OK)
+ return;
default_keyring = g_strdup ("default");
}
- d(g_print("Get Default %d\n", result));
+ d(g_print ("Get Default %d\n", result));
/* Not called at all */
attributes = gnome_keyring_attribute_list_new ();
} else {
for (tmp = matches; tmp; tmp = tmp->next) {
result = gnome_keyring_item_delete_sync (default_keyring, ((GnomeKeyringFound *) tmp->data)->item_id);
- d(g_print("Delete Items %d\n", result));
+ d(g_print ("Delete Items %d\n", result));
}
}
g_free (default_keyring);
- if (!msg->noreply)
- e_msgport_reply(&msg->msg);
}
#endif
+
static void
-ep_clear_passwords_file(EPassMsg *msg)
+ep_clear_passwords_keyfile (EPassMsg *msg)
{
gchar *group;
GError *error = NULL;
}
g_free (group);
+}
+
+static void
+ep_clear_passwords (EPassMsg *msg)
+{
+#ifdef WITH_GNOME_KEYRING
+ if (gnome_keyring_is_available ())
+ ep_clear_passwords_keyring (msg);
+ else
+ ep_clear_passwords_keyfile (msg);
+#else
+ ep_clear_passwords_keyfile (msg);
+#endif
if (!msg->noreply)
- e_msgport_reply(&msg->msg);
+ e_msgport_reply (&msg->msg);
}
#ifdef WITH_GNOME_KEYRING
static void
-ep_forget_passwords_keyring(EPassMsg *msg)
+ep_forget_passwords_keyring (EPassMsg *msg)
{
GnomeKeyringAttributeList *attributes;
GnomeKeyringResult result;
GList *matches = NULL, *tmp;
- char *default_keyring = NULL;
+ gchar *default_keyring = NULL;
result = gnome_keyring_get_default_keyring_sync (&default_keyring);
if (!default_keyring) {
- if (gnome_keyring_create_sync ("default", NULL) != GNOME_KEYRING_RESULT_OK) {
- if (!msg->noreply)
- e_msgport_reply(&msg->msg);
- return;
- }
+ if (gnome_keyring_create_sync ("default", NULL) != GNOME_KEYRING_RESULT_OK)
+ return;
default_keyring = g_strdup ("default");
}
- d(g_print("Get Default %d\n", result));
+ d(g_print ("Get Default %d\n", result));
attributes = gnome_keyring_attribute_list_new ();
gnome_keyring_attribute_list_append_string (attributes, "application", "Evolution");
} else {
for (tmp = matches; tmp; tmp = tmp->next) {
result = gnome_keyring_item_delete_sync (default_keyring, ((GnomeKeyringFound *) tmp->data)->item_id);
- d(g_print("Delete Items %d\n", result));
+ d(g_print ("Delete Items %d\n", result));
}
}
/* free up the session passwords */
g_hash_table_remove_all (password_cache);
-
- if (!msg->noreply)
- e_msgport_reply(&msg->msg);
}
#endif
static void
-ep_forget_passwords_file(EPassMsg *msg)
+ep_forget_passwords_keyfile (EPassMsg *msg)
{
gchar **groups;
gsize length, ii;
}
ep_key_file_save ();
g_strfreev (groups);
+}
+
+static void
+ep_forget_passwords (EPassMsg *msg)
+{
+#ifdef WITH_GNOME_KEYRING
+ if (gnome_keyring_is_available ())
+ ep_forget_passwords_keyring (msg);
+ else
+ ep_forget_passwords_keyfile (msg);
+#else
+ ep_forget_passwords_keyfile (msg);
+#endif
if (!msg->noreply)
- e_msgport_reply(&msg->msg);
+ e_msgport_reply (&msg->msg);
}
#ifdef WITH_GNOME_KEYRING
static void
-ep_remember_password_keyring(EPassMsg *msg)
+ep_remember_password_keyring (EPassMsg *msg)
{
gchar *value;
if (!strcmp (uri->protocol, "ldap") && !uri->user) {
/* LDAP doesnt use username in url. Let the url be the user key. So safe it */
- char *keycopy = g_strdup (msg->key);
- int i;
+ gchar *keycopy = g_strdup (msg->key);
+ gint i;
for (i = 0; i < strlen (keycopy); i ++)
if (keycopy[i] == '/' || keycopy[i] =='=')
TRUE, /* Update if already exists */
&item_id);
- d(g_print("Remember %s: %d/%d\n", msg->key, result, item_id));
+ d(g_print ("Remember %s: %d/%d\n", msg->key, result, item_id));
gnome_keyring_attribute_list_free (attributes);
e_uri_free (uri);
}
-
- if (!msg->noreply)
- e_msgport_reply(&msg->msg);
}
#endif
static void
-ep_remember_password_file(EPassMsg *msg)
+ep_remember_password_keyfile (EPassMsg *msg)
{
gchar *group, *key, *password;
g_free (group);
g_free (key);
g_free (password);
+}
+
+static void
+ep_remember_password (EPassMsg *msg)
+{
+#ifdef WITH_GNOME_KEYRING
+ if (gnome_keyring_is_available ())
+ ep_remember_password_keyring (msg);
+ else
+ ep_remember_password_keyfile (msg);
+#else
+ ep_remember_password_keyfile (msg);
+#endif
if (!msg->noreply)
- e_msgport_reply(&msg->msg);
+ e_msgport_reply (&msg->msg);
}
#ifdef WITH_GNOME_KEYRING
GnomeKeyringAttributeList *attributes;
GnomeKeyringResult result;
GList *matches = NULL, *tmp;
- char *default_keyring = NULL;
+ gchar *default_keyring = NULL;
EUri *uri = e_uri_new (msg->key);
if (!strcmp (uri->protocol, "ldap") && !uri->user) {
/* LDAP doesnt use username in url. Let the url be the user key. So safe it */
- char *keycopy = g_strdup (msg->key);
- int i;
+ gchar *keycopy = g_strdup (msg->key);
+ gint i;
for (i = 0; i < strlen (keycopy); i ++)
if (keycopy[i] == '/' || keycopy[i] =='=')
default_keyring = g_strdup ("default");
}
- d(g_print("Get Default %d\n", result));
+ d(g_print ("Get Default %d\n", result));
attributes = gnome_keyring_attribute_list_new ();
gnome_keyring_attribute_list_append_string (attributes, "user", uri->user);
} else {
for (tmp = matches; tmp; tmp = tmp->next) {
GArray *pattr = ((GnomeKeyringFound *) tmp->data)->attributes;
- int i;
+ gint i;
GnomeKeyringAttribute *attr;
gboolean accept = TRUE;
guint present = 0;
for (i =0; (i < pattr->len) && accept; i++)
{
attr = &g_array_index (pattr, GnomeKeyringAttribute, i);
- if (!strcmp(attr->name, "user")) {
+ if (!strcmp (attr->name, "user")) {
present++;
if (strcmp (attr->value.string, uri->user))
accept = FALSE;
- } else if (!strcmp(attr->name, "server")) {
+ } else if (!strcmp (attr->name, "server")) {
present++;
if (strcmp (attr->value.string, uri->host))
accept = FALSE;
}
if (present == 2 && accept) {
result = gnome_keyring_item_delete_sync (default_keyring, ((GnomeKeyringFound *) tmp->data)->item_id);
- d(g_print("Delete Items %s %s %d\n", uri->host, uri->user, result));
+ d(g_print ("Delete Items %s %s %d\n", uri->host, uri->user, result));
}
}
g_free (default_keyring);
exit:
- if (!msg->noreply)
- e_msgport_reply(&msg->msg);
-
- e_uri_free(uri);
+ e_uri_free (uri);
}
#endif
static void
-ep_forget_password_file (EPassMsg *msg)
+ep_forget_password_keyfile (EPassMsg *msg)
{
gchar *group, *key;
GError *error = NULL;
g_free (group);
g_free (key);
+}
+
+static void
+ep_forget_password (EPassMsg *msg)
+{
+#ifdef WITH_GNOME_KEYRING
+ if (gnome_keyring_is_available ())
+ ep_forget_password_keyring (msg);
+ else
+ ep_forget_password_keyfile (msg);
+#else
+ ep_forget_password_keyfile (msg);
+#endif
if (!msg->noreply)
- e_msgport_reply(&msg->msg);
+ e_msgport_reply (&msg->msg);
}
-
#ifdef WITH_GNOME_KEYRING
static void
ep_get_password_keyring (EPassMsg *msg)
{
- char *passwd;
+ gchar *passwd;
GnomeKeyringAttributeList *attributes;
GnomeKeyringResult result;
GList *matches = NULL, *tmp;
passwd = g_hash_table_lookup (password_cache, msg->key);
if (passwd) {
- msg->password = g_strdup(passwd);
+ msg->password = g_strdup (passwd);
} else {
EUri *uri = e_uri_new (msg->key);
if (!strcmp (uri->protocol, "ldap") && !uri->user) {
/* LDAP doesnt use username in url. Let the url be the user key. So safe it */
- char *keycopy = g_strdup (msg->key);
- int i;
+ gchar *keycopy = g_strdup (msg->key);
+ gint i;
for (i = 0; i < strlen (keycopy); i ++)
if (keycopy[i] == '/' || keycopy[i] =='=')
gnome_keyring_attribute_list_append_string (attributes, "user", uri->user);
gnome_keyring_attribute_list_append_string (attributes, "server", uri->host);
gnome_keyring_attribute_list_append_string (attributes, "application", "Evolution");
- printf("get %s %s\n", uri->user, msg->key);
+ d(printf ("get %s %s\n", uri->user, msg->key));
result = gnome_keyring_find_items_sync (GNOME_KEYRING_ITEM_NETWORK_PASSWORD, attributes, &matches);
d(g_print ("Find Items %d\n", result));
/* FIXME: What to do if this returns more than one? */
for (tmp = matches; tmp; tmp = tmp->next) {
GArray *pattr = ((GnomeKeyringFound *) tmp->data)->attributes;
- int i;
+ gint i;
GnomeKeyringAttribute *attr;
gboolean accept = TRUE;
guint present = 0;
{
attr = &g_array_index (pattr, GnomeKeyringAttribute, i);
- if (!strcmp(attr->name, "user") && attr->value.string) {
+ if (!strcmp (attr->name, "user") && attr->value.string) {
present++;
if (strcmp (attr->value.string, uri->user))
accept = FALSE;
- } else if (!strcmp(attr->name, "server") && attr->value.string) {
+ } else if (!strcmp (attr->name, "server") && attr->value.string) {
present++;
if (strcmp (attr->value.string, uri->host))
accept = FALSE;
e_uri_free (uri);
}
-
- if (!msg->noreply)
- e_msgport_reply(&msg->msg);
}
#endif
static void
-ep_get_password_file (EPassMsg *msg)
+ep_get_password_keyfile (EPassMsg *msg)
{
gchar *group, *key, *password;
GError *error = NULL;
g_free (group);
g_free (key);
+}
+
+static void
+ep_get_password (EPassMsg *msg)
+{
+#ifdef WITH_GNOME_KEYRING
+ if (gnome_keyring_is_available ())
+ ep_get_password_keyring (msg);
+ else
+ ep_get_password_keyfile (msg);
+#else
+ ep_get_password_keyfile (msg);
+#endif
if (!msg->noreply)
- e_msgport_reply(&msg->msg);
+ e_msgport_reply (&msg->msg);
}
static void
e_msgport_reply (&msg->msg);
}
-static void ep_ask_password(EPassMsg *msg);
+static void ep_ask_password (EPassMsg *msg);
static void
-pass_response(GtkDialog *dialog, int response, void *data)
+pass_response (GtkDialog *dialog, gint response, void *data)
{
EPassMsg *msg = data;
- int type = msg->flags & E_PASSWORDS_REMEMBER_MASK;
- EDList pending = E_DLIST_INITIALISER(pending);
+ gint type = msg->flags & E_PASSWORDS_REMEMBER_MASK;
+ EDList pending = E_DLIST_INITIALISER (pending);
EPassMsg *mw, *mn;
if (response == GTK_RESPONSE_OK) {
- msg->password = g_strdup(gtk_entry_get_text((GtkEntry *)msg->entry));
+ msg->password = g_strdup (gtk_entry_get_text ((GtkEntry *)msg->entry));
if (type != E_PASSWORDS_REMEMBER_NEVER) {
- int noreply = msg->noreply;
+ gint noreply = msg->noreply;
*msg->remember = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (msg->check));
if (*msg->remember || type == E_PASSWORDS_REMEMBER_FOREVER) {
msg->oldpass = msg->password;
- ep_add_password(msg);
- }
-#ifdef WITH_GNOME_KEYRING
- if (*msg->remember && type == E_PASSWORDS_REMEMBER_FOREVER) {
- if (gnome_keyring_is_available())
- ep_remember_password_keyring(msg);
- else
- ep_remember_password_file(msg);
+ ep_add_password (msg);
}
-#else
if (*msg->remember && type == E_PASSWORDS_REMEMBER_FOREVER)
- ep_remember_password_file(msg);
-#endif
+ ep_remember_password (msg);
msg->noreply = noreply;
}
}
- gtk_widget_destroy((GtkWidget *)dialog);
+ gtk_widget_destroy ((GtkWidget *)dialog);
password_dialog = NULL;
/* ok, here things get interesting, we suck up any pending
* operations on this specific password, and return the same
* result or ignore other operations */
- LOCK();
+ LOCK ();
mw = (EPassMsg *)request_list.head;
mn = (EPassMsg *)mw->msg.ln.next;
while (mn) {
-#ifdef WITH_GNOME_KEYRING
- if ((mw->dispatch == (gnome_keyring_is_available() ? ep_forget_password_keyring : ep_forget_password_file)
-#else
- if ((mw->dispatch == ep_forget_password_file
-#endif
-#ifdef WITH_GNOME_KEYRING
- || mw->dispatch == (gnome_keyring_is_available() ? ep_get_password_keyring : ep_get_password_file)
-#else
- || mw->dispatch == ep_get_password_file
-#endif
+ if ((mw->dispatch == ep_forget_password
+ || mw->dispatch == ep_get_password
|| mw->dispatch == ep_ask_password)
- && (strcmp(mw->component, msg->component) == 0
- && strcmp(mw->key, msg->key) == 0)) {
- e_dlist_remove((EDListNode *)mw);
- mw->password = g_strdup(msg->password);
- e_msgport_reply(&mw->msg);
+ && (strcmp (mw->component, msg->component) == 0
+ && strcmp (mw->key, msg->key) == 0)) {
+ e_dlist_remove ((EDListNode *)mw);
+ mw->password = g_strdup (msg->password);
+ e_msgport_reply (&mw->msg);
}
mw = mn;
mn = (EPassMsg *)mn->msg.ln.next;
}
- UNLOCK();
+ UNLOCK ();
if (!msg->noreply)
- e_msgport_reply(&msg->msg);
+ e_msgport_reply (&msg->msg);
- ep_idle_dispatch(NULL);
+ ep_idle_dispatch (NULL);
}
static void
-ep_ask_password(EPassMsg *msg)
+ep_ask_password (EPassMsg *msg)
{
GtkWidget *vbox;
- int type = msg->flags & E_PASSWORDS_REMEMBER_MASK;
+ gint type = msg->flags & E_PASSWORDS_REMEMBER_MASK;
guint noreply = msg->noreply;
AtkObject *a11y;
msg->noreply = 1;
- /*password_dialog = (GtkDialog *)e_error_new(msg->parent, "mail:ask-session-password", msg->prompt, NULL);*/
+ /*password_dialog = (GtkDialog *)e_error_new (msg->parent, "mail:ask-session-password", msg->prompt, NULL);*/
password_dialog = (GtkDialog *)gtk_message_dialog_new (msg->parent,
0,
GTK_MESSAGE_QUESTION,
GTK_BUTTONS_OK_CANCEL,
"%s", msg->prompt);
- gtk_window_set_title(GTK_WINDOW(password_dialog), msg->title);
+ gtk_window_set_title (GTK_WINDOW (password_dialog), msg->title);
gtk_widget_ensure_style (GTK_WIDGET (password_dialog));
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (password_dialog)->vbox), 0);
gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (password_dialog)->action_area), 12);
- gtk_dialog_set_default_response(password_dialog, GTK_RESPONSE_OK);
+ gtk_dialog_set_default_response (password_dialog, GTK_RESPONSE_OK);
vbox = gtk_vbox_new (FALSE, 12);
gtk_widget_show (vbox);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (password_dialog)->vbox), vbox, TRUE, FALSE, 0);
- gtk_container_set_border_width((GtkContainer *)vbox, 12);
+ gtk_container_set_border_width ((GtkContainer *)vbox, 12);
msg->entry = gtk_entry_new ();
a11y = gtk_widget_get_accessible (msg->entry);
atk_object_set_description (a11y, msg->prompt);
gtk_entry_set_visibility ((GtkEntry *)msg->entry, !(msg->flags & E_PASSWORDS_SECRET));
- gtk_entry_set_activates_default((GtkEntry *)msg->entry, TRUE);
+ gtk_entry_set_activates_default ((GtkEntry *)msg->entry, TRUE);
gtk_box_pack_start (GTK_BOX (vbox), msg->entry, TRUE, FALSE, 3);
gtk_widget_show (msg->entry);
gtk_widget_grab_focus (msg->entry);
if ((msg->flags & E_PASSWORDS_REPROMPT)) {
-#ifdef WITH_GNOME_KEYRING
- if (gnome_keyring_is_available())
- ep_get_password_keyring(msg);
- else
- ep_get_password_file(msg);
-#else
- ep_get_password_file(msg);
-#endif
+ ep_get_password (msg);
if (msg->password) {
gtk_entry_set_text ((GtkEntry *) msg->entry, msg->password);
g_free (msg->password);
but will be remembered within the session beyond our control */
if (type != E_PASSWORDS_REMEMBER_NEVER) {
if (msg->flags & E_PASSWORDS_PASSPHRASE) {
- msg->check = gtk_check_button_new_with_mnemonic(type == E_PASSWORDS_REMEMBER_FOREVER
+ msg->check = gtk_check_button_new_with_mnemonic (type == E_PASSWORDS_REMEMBER_FOREVER
? _("_Remember this passphrase")
: _("_Remember this passphrase for the remainder of this session"));
} else {
- msg->check = gtk_check_button_new_with_mnemonic(type == E_PASSWORDS_REMEMBER_FOREVER
+ msg->check = gtk_check_button_new_with_mnemonic (type == E_PASSWORDS_REMEMBER_FOREVER
? _("_Remember this password")
: _("_Remember this password for the remainder of this session"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (msg->check), *msg->remember);
gtk_box_pack_start (GTK_BOX (vbox), msg->check, TRUE, FALSE, 3);
if ((msg->flags & E_PASSWORDS_DISABLE_REMEMBER))
- gtk_widget_set_sensitive(msg->check, FALSE);
+ gtk_widget_set_sensitive (msg->check, FALSE);
gtk_widget_show (msg->check);
}
msg->noreply = noreply;
- g_signal_connect(password_dialog, "response", G_CALLBACK (pass_response), msg);
+ g_signal_connect (password_dialog, "response", G_CALLBACK (pass_response), msg);
if (msg->parent)
gtk_dialog_run (GTK_DIALOG (password_dialog));
else
- gtk_widget_show((GtkWidget *)password_dialog);
+ gtk_widget_show ((GtkWidget *)password_dialog);
}
void
e_passwords_init (void)
{
- LOCK();
+ LOCK ();
if (password_cache == NULL) {
password_cache = g_hash_table_new_full (
(GDestroyNotify) g_free,
(GDestroyNotify) g_free);
#ifdef ENABLE_THREADS
- main_thread = pthread_self();
+ main_thread = pthread_self ();
#endif
#ifdef WITH_GNOME_KEYRING
#endif
}
- UNLOCK();
+ UNLOCK ();
}
/**
* currently being shown.
**/
void
-e_passwords_cancel(void)
+e_passwords_cancel (void)
{
EPassMsg *msg;
- LOCK();
- while ((msg = (EPassMsg *)e_dlist_remhead(&request_list)))
- e_msgport_reply(&msg->msg);
- UNLOCK();
+ LOCK ();
+ while ((msg = (EPassMsg *)e_dlist_remhead (&request_list)))
+ e_msgport_reply (&msg->msg);
+ UNLOCK ();
if (password_dialog)
- gtk_dialog_response(password_dialog,GTK_RESPONSE_CANCEL);
+ gtk_dialog_response (password_dialog,GTK_RESPONSE_CANCEL);
}
/**
void
e_passwords_shutdown (void)
{
- e_passwords_cancel();
+ e_passwords_cancel ();
if (password_cache != NULL) {
g_hash_table_destroy (password_cache);
* FIXME: This is not a permanent api, review post 2.0.
**/
void
-e_passwords_set_online(int state)
+e_passwords_set_online (gint state)
{
ep_online_state = state;
/* TODO: we could check that a request is open and close it, or maybe who cares */
void
e_passwords_forget_passwords (void)
{
-#ifdef WITH_GNOME_KEYRING
- EPassMsg *msg = ep_msg_new(gnome_keyring_is_available() ? ep_forget_passwords_keyring : ep_forget_passwords_file);
-#else
- EPassMsg *msg = ep_msg_new(ep_forget_passwords_file);
-#endif
+ EPassMsg *msg = ep_msg_new (ep_forget_passwords);
- ep_msg_send(msg);
- ep_msg_free(msg);
+ ep_msg_send (msg);
+ ep_msg_free (msg);
}
/**
* Forgets all disk cached passwords for the component.
**/
void
-e_passwords_clear_passwords (const char *component_name)
+e_passwords_clear_passwords (const gchar *component_name)
{
-#ifdef WITH_GNOME_KEYRING
- EPassMsg *msg = ep_msg_new(gnome_keyring_is_available() ? ep_clear_passwords_keyring : ep_clear_passwords_file);
-#else
- EPassMsg *msg = ep_msg_new(ep_clear_passwords_file);
-#endif
+ EPassMsg *msg = ep_msg_new (ep_clear_passwords);
msg->component = component_name;
- ep_msg_send(msg);
- ep_msg_free(msg);
+ ep_msg_send (msg);
+ ep_msg_free (msg);
}
/**
* Saves the password associated with @key to disk.
**/
void
-e_passwords_remember_password (const char *component_name, const char *key)
+e_passwords_remember_password (const gchar *component_name, const gchar *key)
{
EPassMsg *msg;
- g_return_if_fail(component_name != NULL);
- g_return_if_fail(key != NULL);
+ g_return_if_fail (component_name != NULL);
+ g_return_if_fail (key != NULL);
-#ifdef WITH_GNOME_KEYRING
- msg = ep_msg_new(gnome_keyring_is_available() ? ep_remember_password_keyring : ep_remember_password_file);
-#else
- msg = ep_msg_new(ep_remember_password_file);
-#endif
+ msg = ep_msg_new (ep_remember_password);
msg->component = component_name;
msg->key = key;
- ep_msg_send(msg);
- ep_msg_free(msg);
+ ep_msg_send (msg);
+ ep_msg_free (msg);
}
/**
* Forgets the password associated with @key, in memory and on disk.
**/
void
-e_passwords_forget_password (const char *component_name, const char *key)
+e_passwords_forget_password (const gchar *component_name, const gchar *key)
{
EPassMsg *msg;
- g_return_if_fail(component_name != NULL);
- g_return_if_fail(key != NULL);
+ g_return_if_fail (component_name != NULL);
+ g_return_if_fail (key != NULL);
-#ifdef WITH_GNOME_KEYRING
- msg = ep_msg_new(gnome_keyring_is_available() ? ep_forget_password_keyring : ep_forget_password_file);
-#else
- msg = ep_msg_new(ep_forget_password_file);
-#endif
+ msg = ep_msg_new (ep_forget_password);
msg->component = component_name;
msg->key = key;
- ep_msg_send(msg);
- ep_msg_free(msg);
+ ep_msg_send (msg);
+ ep_msg_free (msg);
}
/**
* must free the returned password.
**/
char *
-e_passwords_get_password (const char *component_name, const char *key)
+e_passwords_get_password (const gchar *component_name, const gchar *key)
{
EPassMsg *msg;
- char *passwd;
-
- g_return_val_if_fail(component_name != NULL, NULL);
- g_return_val_if_fail(key != NULL, NULL);
+ gchar *passwd;
-#ifdef WITH_GNOME_KEYRING
- msg = ep_msg_new(gnome_keyring_is_available() ? ep_get_password_keyring : ep_get_password_file);
-#else
- msg = ep_msg_new(ep_get_password_file);
-#endif
+ g_return_val_if_fail (component_name != NULL, NULL);
+ g_return_val_if_fail (key != NULL, NULL);
+ msg = ep_msg_new (ep_get_password);
msg->component = component_name;
msg->key = key;
- ep_msg_send(msg);
+ ep_msg_send (msg);
passwd = msg->password;
msg->password = NULL;
- ep_msg_free(msg);
+ ep_msg_free (msg);
return passwd;
}
* hash.
**/
void
-e_passwords_add_password (const char *key, const char *passwd)
+e_passwords_add_password (const gchar *key, const gchar *passwd)
{
EPassMsg *msg;
- g_return_if_fail(key != NULL);
- g_return_if_fail(passwd != NULL);
+ g_return_if_fail (key != NULL);
+ g_return_if_fail (passwd != NULL);
- msg = ep_msg_new(ep_add_password);
+ msg = ep_msg_new (ep_add_password);
msg->key = key;
msg->oldpass = passwd;
- ep_msg_send(msg);
- ep_msg_free(msg);
+ ep_msg_send (msg);
+ ep_msg_free (msg);
}
/**
* E_PASSWORDS_DO_NOT_REMEMBER.
**/
char *
-e_passwords_ask_password (const char *title, const char *component_name,
- const char *key,
- const char *prompt,
+e_passwords_ask_password (const gchar *title, const gchar *component_name,
+ const gchar *key,
+ const gchar *prompt,
EPasswordsRememberType type,
gboolean *remember,
GtkWindow *parent)
{
- char *passwd;
+ gchar *passwd;
EPassMsg *msg;
g_return_val_if_fail (component_name != NULL, NULL);
msg->remember = remember;
msg->parent = parent;
- ep_msg_send(msg);
+ ep_msg_send (msg);
passwd = msg->password;
msg->password = NULL;
- ep_msg_free(msg);
+ ep_msg_free (msg);
return passwd;
}