diff options
author | Guido Günther <agx@sigxcpu.org> | 2014-10-12 13:24:17 +0200 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2014-10-12 13:24:17 +0200 |
commit | ed92c03ba29123ed0cbd9eef22fd580036e3b265 (patch) | |
tree | 1f57f674ea5a26e28d443810105a02175e905e48 | |
parent | 477afd97e53546d65ad918075df29410fcf09b19 (diff) | |
parent | 14112bdee63173aa401d381c4ef34054e008b9d1 (diff) |
Merge tag 'v0.0.5' into debian/sid
network-manager-iodine 0.0.5
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | NEWS | 31 | ||||
-rw-r--r-- | auth-dialog/Makefile.am | 8 | ||||
-rw-r--r-- | auth-dialog/main.c | 85 | ||||
-rw-r--r-- | auth-dialog/vpn-password-dialog.c | 361 | ||||
-rw-r--r-- | auth-dialog/vpn-password-dialog.h | 79 | ||||
-rw-r--r-- | configure.ac | 12 | ||||
-rw-r--r-- | po/POTFILES.in | 1 | ||||
-rw-r--r-- | po/el.po | 24 | ||||
-rw-r--r-- | po/hu.po | 17 | ||||
-rw-r--r-- | po/id.po | 14 |
11 files changed, 135 insertions, 498 deletions
@@ -18,6 +18,7 @@ POTFILES stamp-* .deps .libs +TAGS autom4te.cache intltool-* po/*.gmo @@ -1,4 +1,35 @@ ============= +Version 0.0.5 +============= +* Use libsecret +* Use libmm-gtk +* UI translations: + Andika Triwidada (id) + Antonio Fernandes C. Neto (pt_BR) + A S Alam (pa) + Aurimas Černius (lt) + Balázs Úr (hu) + Christian Kirbach (de) + Daniel Mustieles (es) + Dimitris Spingos (el) + Gabor Kelemen (hu) + Hajime Taira (ja) + Marek Černocký (cs) + Matej Urbančič (sl) + Milo Casagrande (it) + Piotr Drąg (pl) + Rafael Ferreira (pt_BR) + Rūdolfs Mazurs (lv) + Tom Tryfonidis (el) + Zdeněk Hataš (cs) + Мирослав Николић (sr) (sr@latin) + +============= +Version 0.0.4 +============= +* Add external ui support + +============= Version 0.0.3 ============= * Pass the password via stdin diff --git a/auth-dialog/Makefile.am b/auth-dialog/Makefile.am index fe45a82..2f26959 100644 --- a/auth-dialog/Makefile.am +++ b/auth-dialog/Makefile.am @@ -6,7 +6,8 @@ nm_iodine_auth_dialog_CPPFLAGS = \ $(NM_CFLAGS) \ $(GTHREAD_CFLAGS) \ $(GTK_CFLAGS) \ - $(GNOMEKEYRING_CFLAGS) \ + $(LIBSECRET_CFLAGS) \ + $(NMGTK_CFLAGS) \ -DICONDIR=\""$(datadir)/pixmaps"\" \ -DBINDIR=\""$(bindir)"\" \ -DG_DISABLE_DEPRECATED \ @@ -17,14 +18,13 @@ nm_iodine_auth_dialog_CPPFLAGS = \ nm_iodine_auth_dialog_SOURCES = \ main.c \ - vpn-password-dialog.c \ - vpn-password-dialog.h \ $(NULL) nm_iodine_auth_dialog_LDADD = \ $(GTK_LIBS) \ $(NM_LIBS) \ - $(GNOMEKEYRING_LIBS) + $(NMGTK_LIBS) \ + $(LIBSECRET_LIBS) CLEANFILES = *~ diff --git a/auth-dialog/main.c b/auth-dialog/main.c index 03586e4..f482cf0 100644 --- a/auth-dialog/main.c +++ b/auth-dialog/main.c @@ -16,7 +16,7 @@ * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * - * Copyright © 2012 Guido Günther <agx@sigxcpu.org> + * Copyright © 2012,2014 Guido Günther <agx@sigxcpu.org> * * Heavily based on network-manager-pptp by Dan Williams <dcbw@redhat.com> */ @@ -31,22 +31,34 @@ #include <glib/gi18n.h> #include <gtk/gtk.h> -#include <gnome-keyring.h> -#include <gnome-keyring-memory.h> +#define SECRET_API_SUBJECT_TO_CHANGE +#include <libsecret/secret.h> #include <nm-setting-vpn.h> #include <nm-vpn-plugin-utils.h> +#include <nm-vpn-password-dialog.h> #include "src/nm-iodine-service.h" -#include "vpn-password-dialog.h" - #define KEYRING_UUID_TAG "connection-uuid" #define KEYRING_SN_TAG "setting-name" #define KEYRING_SK_TAG "setting-key" #define UI_KEYFILE_GROUP "VPN Plugin UI" + +static const SecretSchema network_manager_secret_schema = { + "org.freedesktop.NetworkManager.Connection", + SECRET_SCHEMA_DONT_MATCH_NAME, + { + { KEYRING_UUID_TAG, SECRET_SCHEMA_ATTRIBUTE_STRING }, + { KEYRING_SN_TAG, SECRET_SCHEMA_ATTRIBUTE_STRING }, + { KEYRING_SK_TAG, SECRET_SCHEMA_ATTRIBUTE_STRING }, + { NULL, 0 }, + } +}; + + static void keyfile_add_entry_info (GKeyFile *keyfile, const gchar *key, @@ -78,29 +90,34 @@ keyfile_print_stdout (GKeyFile *keyfile) static char * keyring_lookup_secret (const char *uuid, const char *secret_name) { - GList *found_list = NULL; - GnomeKeyringResult ret; - GnomeKeyringFound *found; + GHashTable *attrs; + GList *list; char *secret = NULL; - ret = gnome_keyring_find_itemsv_sync (GNOME_KEYRING_ITEM_GENERIC_SECRET, - &found_list, - KEYRING_UUID_TAG, - GNOME_KEYRING_ATTRIBUTE_TYPE_STRING, - uuid, - KEYRING_SN_TAG, - GNOME_KEYRING_ATTRIBUTE_TYPE_STRING, - NM_SETTING_VPN_SETTING_NAME, - KEYRING_SK_TAG, - GNOME_KEYRING_ATTRIBUTE_TYPE_STRING, - secret_name, - NULL); - if (ret == GNOME_KEYRING_RESULT_OK && found_list) { - found = g_list_nth_data (found_list, 0); - secret = gnome_keyring_memory_strdup (found->secret); + attrs = secret_attributes_build (&network_manager_secret_schema, + KEYRING_UUID_TAG, uuid, + KEYRING_SN_TAG, NM_SETTING_VPN_SETTING_NAME, + KEYRING_SK_TAG, secret_name, + NULL); + + list = secret_service_search_sync (NULL, &network_manager_secret_schema, attrs, + SECRET_SEARCH_ALL | + SECRET_SEARCH_UNLOCK | + SECRET_SEARCH_LOAD_SECRETS, + NULL, NULL); + + if (list && list->data) { + SecretItem *item = list->data; + SecretValue *value = secret_item_get_secret (item); + + if (value) { + secret = g_strdup (secret_value_get (value, NULL)); + secret_value_unref (value); + } } - gnome_keyring_found_list_free (found_list); + g_list_free_full (list, g_object_unref); + g_hash_table_unref (attrs); return secret; } @@ -114,7 +131,7 @@ get_secrets (const char *vpn_uuid, char **out_pw, NMSettingSecretFlags pw_flags) { - VpnPasswordDialog *dialog; + NMAVpnPasswordDialog *dialog; char *prompt, *pw = NULL; const char *new_password = NULL; gboolean success = FALSE; @@ -128,14 +145,14 @@ get_secrets (const char *vpn_uuid, if (!(pw_flags & NM_SETTING_SECRET_FLAG_NOT_SAVED) && !(pw_flags & NM_SETTING_SECRET_FLAG_NOT_REQUIRED)) { if (in_pw) - pw = gnome_keyring_memory_strdup (in_pw); + pw = g_strdup (in_pw); else pw = keyring_lookup_secret (vpn_uuid, NM_IODINE_KEY_PASSWORD); } /* Don't ask if the passwords is unused */ if (pw_flags & NM_SETTING_SECRET_FLAG_NOT_REQUIRED) { - gnome_keyring_memory_free (pw); + g_free (pw); return TRUE; } @@ -184,20 +201,20 @@ get_secrets (const char *vpn_uuid, /* Otherwise, we have no saved password, or the password flags indicated * that the password should never be saved. */ - dialog = (VpnPasswordDialog *) \ - vpn_password_dialog_new (_("Authenticate VPN"), prompt, NULL); - + dialog = NMA_VPN_PASSWORD_DIALOG ( + nma_vpn_password_dialog_new (_("Authenticate VPN"), prompt, NULL)); + nma_vpn_password_dialog_set_show_password_secondary (dialog, FALSE); /* pre-fill dialog with the password */ if (pw && !(pw_flags & NM_SETTING_SECRET_FLAG_NOT_SAVED)) - vpn_password_dialog_set_password (dialog, pw); + nma_vpn_password_dialog_set_password (dialog, pw); gtk_widget_show (GTK_WIDGET (dialog)); - if (vpn_password_dialog_run_and_block (dialog)) { + if (nma_vpn_password_dialog_run_and_block (dialog)) { - new_password = vpn_password_dialog_get_password (dialog); + new_password = nma_vpn_password_dialog_get_password (dialog); if (new_password) { - *out_pw = gnome_keyring_memory_strdup (new_password); + *out_pw = g_strdup (new_password); success = TRUE; } } diff --git a/auth-dialog/vpn-password-dialog.c b/auth-dialog/vpn-password-dialog.c deleted file mode 100644 index 6b5cb34..0000000 --- a/auth-dialog/vpn-password-dialog.c +++ /dev/null @@ -1,361 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -/* vpn-password-dialog.c - A use password prompting dialog widget. - * - * The Gnome Library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public License as - * published by the ree Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * The Gnome Library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Copyright (C) 1999, 2000 Eazel, Inc. - * Copyright (C) 2011 Red Hat, Inc. - * - * Authors: Ramiro Estrugo <ramiro@eazel.com> - * Dan Williams <dcbw@redhat.com> - */ - -#include <config.h> -#include <gnome-keyring-memory.h> -#include <glib/gi18n.h> -#include <gtk/gtk.h> - -#include "vpn-password-dialog.h" - -G_DEFINE_TYPE (VpnPasswordDialog, vpn_password_dialog, GTK_TYPE_DIALOG) - -#define VPN_PASSWORD_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \ - VPN_TYPE_PASSWORD_DIALOG, \ - VpnPasswordDialogPrivate)) - -typedef struct { - /* Attributes */ - gboolean show_password; - - /* Internal widgetry and flags */ - GtkWidget *password_entry; - GtkWidget *show_passwords_checkbox; - - GtkWidget *grid_alignment; - GtkWidget *grid; - GtkSizeGroup *group; - - char *primary_password_label; -} VpnPasswordDialogPrivate; - -/* VpnPasswordDialogClass methods */ -static void vpn_password_dialog_class_init (VpnPasswordDialogClass *password_dialog_class); -static void vpn_password_dialog_init (VpnPasswordDialog *password_dialog); - -/* GtkDialog callbacks */ -static void dialog_show_callback (GtkWidget *widget, gpointer callback_data); -static void dialog_close_callback (GtkWidget *widget, gpointer callback_data); - -static void -finalize (GObject *object) -{ - VpnPasswordDialogPrivate *priv = VPN_PASSWORD_DIALOG_GET_PRIVATE (object); - - g_object_unref (priv->password_entry); - g_object_unref (priv->group); - - g_free (priv->primary_password_label); - - G_OBJECT_CLASS (vpn_password_dialog_parent_class)->finalize (object); -} - -static void -vpn_password_dialog_class_init (VpnPasswordDialogClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - g_type_class_add_private (object_class, sizeof (VpnPasswordDialogPrivate)); - - object_class->finalize = finalize; -} - -static void -vpn_password_dialog_init (VpnPasswordDialog *dialog) -{ - VpnPasswordDialogPrivate *priv = VPN_PASSWORD_DIALOG_GET_PRIVATE (dialog); - - priv->show_password = TRUE; - priv->primary_password_label = g_strdup ( _("_Password:") ); -} - -/* GtkDialog callbacks */ -static void -dialog_show_callback (GtkWidget *widget, gpointer callback_data) -{ - VpnPasswordDialog *dialog = VPN_PASSWORD_DIALOG (callback_data); - VpnPasswordDialogPrivate *priv = VPN_PASSWORD_DIALOG_GET_PRIVATE (dialog); - - if (gtk_widget_get_visible (priv->password_entry)) - gtk_widget_grab_focus (priv->password_entry); -} - -static void -dialog_close_callback (GtkWidget *widget, gpointer callback_data) -{ - gtk_widget_hide (widget); -} - -static void -add_row (GtkWidget *grid, int row, const char *label_text, GtkWidget *entry) -{ - GtkWidget *label; - - label = gtk_label_new_with_mnemonic (label_text); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - - gtk_grid_attach (GTK_GRID (grid), label, 0, 1, 1, 1); - gtk_grid_attach (GTK_GRID (grid), entry, 1, 1, 1, 1); - - gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry); -} - -static void -remove_child (GtkWidget *child, GtkWidget *grid) -{ - gtk_container_remove (GTK_CONTAINER (grid), child); -} - -static void -add_grid_rows (VpnPasswordDialog *dialog) -{ - VpnPasswordDialogPrivate *priv = VPN_PASSWORD_DIALOG_GET_PRIVATE (dialog); - int row = 0; - int offset = 0; - - gtk_alignment_set_padding (GTK_ALIGNMENT (priv->grid_alignment), 0, 0, offset, 0); - - /* This will not kill the entries, since they are ref:ed */ - gtk_container_foreach (GTK_CONTAINER (priv->grid), (GtkCallback) remove_child, priv->grid); - - if (priv->show_password) - add_row (priv->grid, row++, priv->primary_password_label, priv->password_entry); - - gtk_grid_attach (GTK_GRID (priv->grid), - priv->show_passwords_checkbox, - 1, 2, 1, 1); - gtk_widget_show_all (priv->grid); -} - -static void -show_passwords_toggled_cb (GtkWidget *widget, gpointer user_data) -{ - VpnPasswordDialog *dialog = VPN_PASSWORD_DIALOG (user_data); - VpnPasswordDialogPrivate *priv = VPN_PASSWORD_DIALOG_GET_PRIVATE (dialog); - gboolean visible; - - visible = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); - - gtk_entry_set_visibility (GTK_ENTRY (priv->password_entry), visible); -} - -/* Public VpnPasswordDialog methods */ -GtkWidget * -vpn_password_dialog_new (const char *title, - const char *message, - const char *password) -{ - GtkWidget *dialog; - VpnPasswordDialogPrivate *priv; - GtkLabel *message_label; - GtkWidget *hbox; - GtkWidget *vbox; - GtkWidget *main_vbox; - GtkWidget *dialog_icon; - GtkBox *content; - - dialog = gtk_widget_new (VPN_TYPE_PASSWORD_DIALOG, NULL); - if (!dialog) - return NULL; - priv = VPN_PASSWORD_DIALOG_GET_PRIVATE (dialog); - - gtk_window_set_title (GTK_WINDOW (dialog), title); - gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); - - gtk_dialog_add_buttons (GTK_DIALOG (dialog), - _("_Cancel"), GTK_RESPONSE_CANCEL, - _("_Ok"), GTK_RESPONSE_OK, - NULL); - gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); - - content = GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))); - - gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER); - gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); - - g_signal_connect (dialog, "show", - G_CALLBACK (dialog_show_callback), - dialog); - g_signal_connect (dialog, "close", - G_CALLBACK (dialog_close_callback), - dialog); - - /* The grid that holds the captions */ - priv->grid_alignment = gtk_alignment_new (0.0, 0.0, 0.0, 0.0); - - priv->group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); - - priv->grid = gtk_grid_new (); - gtk_grid_set_column_spacing (GTK_GRID (priv->grid), 12); - gtk_grid_set_row_spacing (GTK_GRID (priv->grid), 6); - gtk_container_add (GTK_CONTAINER (priv->grid_alignment), priv->grid); - - priv->password_entry = gtk_entry_new (); - - priv->show_passwords_checkbox = gtk_check_button_new_with_mnemonic (_("Sh_ow passwords")); - - /* We want to hold on to these during the grid rearrangement */ - g_object_ref_sink (priv->password_entry); - g_object_ref_sink (priv->show_passwords_checkbox); - - gtk_entry_set_visibility (GTK_ENTRY (priv->password_entry), FALSE); - - g_signal_connect_swapped (priv->password_entry, "activate", - G_CALLBACK (gtk_window_activate_default), - dialog); - - g_signal_connect (priv->show_passwords_checkbox, "toggled", - G_CALLBACK (show_passwords_toggled_cb), - dialog); - - add_grid_rows (VPN_PASSWORD_DIALOG (dialog)); - - /* Adds some eye-candy to the dialog */ -#if GTK_CHECK_VERSION (3,1,6) - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); -#else - hbox = gtk_hbox_new (FALSE, 12); -#endif - gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); - dialog_icon = gtk_image_new_from_icon_name ("dialog-password", GTK_ICON_SIZE_DIALOG); - gtk_misc_set_alignment (GTK_MISC (dialog_icon), 0.5, 0.0); - gtk_box_pack_start (GTK_BOX (hbox), dialog_icon, FALSE, FALSE, 0); - - /* Fills the vbox */ -#if GTK_CHECK_VERSION (3,1,6) - main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18); -#else - main_vbox = gtk_vbox_new (FALSE, 18); -#endif - - if (message) { - message_label = GTK_LABEL (gtk_label_new (message)); - gtk_label_set_justify (message_label, GTK_JUSTIFY_LEFT); - gtk_label_set_line_wrap (message_label, TRUE); - gtk_label_set_max_width_chars (message_label, 35); - gtk_size_group_add_widget (priv->group, GTK_WIDGET (message_label)); - gtk_box_pack_start (GTK_BOX (main_vbox), GTK_WIDGET (message_label), FALSE, FALSE, 0); - gtk_size_group_add_widget (priv->group, priv->grid_alignment); - } - -#if GTK_CHECK_VERSION (3,1,6) - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); -#else - vbox = gtk_vbox_new (FALSE, 6); -#endif - gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox), priv->grid_alignment, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), main_vbox, FALSE, FALSE, 0); - gtk_box_pack_start (content, hbox, FALSE, FALSE, 0); - gtk_widget_show_all (GTK_WIDGET (content)); - - vpn_password_dialog_set_password (VPN_PASSWORD_DIALOG (dialog), password); - - return GTK_WIDGET (dialog); -} - -gboolean -vpn_password_dialog_run_and_block (VpnPasswordDialog *dialog) -{ - gint button_clicked; - - g_return_val_if_fail (dialog != NULL, FALSE); - g_return_val_if_fail (VPN_IS_PASSWORD_DIALOG (dialog), FALSE); - - button_clicked = gtk_dialog_run (GTK_DIALOG (dialog)); - gtk_widget_hide (GTK_WIDGET (dialog)); - - return button_clicked == GTK_RESPONSE_OK; -} - -void -vpn_password_dialog_set_password (VpnPasswordDialog *dialog, - const char *password) -{ - VpnPasswordDialogPrivate *priv; - - g_return_if_fail (VPN_IS_PASSWORD_DIALOG (dialog)); - - priv = VPN_PASSWORD_DIALOG_GET_PRIVATE (dialog); - gtk_entry_set_text (GTK_ENTRY (priv->password_entry), password ? password : ""); -} - -void -vpn_password_dialog_set_show_password (VpnPasswordDialog *dialog, gboolean show) -{ - VpnPasswordDialogPrivate *priv; - - g_return_if_fail (dialog != NULL); - g_return_if_fail (VPN_IS_PASSWORD_DIALOG (dialog)); - - priv = VPN_PASSWORD_DIALOG_GET_PRIVATE (dialog); - - show = !!show; - if (priv->show_password != show) { - priv->show_password = show; - add_grid_rows (dialog); - } -} - -void -vpn_password_dialog_focus_password (VpnPasswordDialog *dialog) -{ - VpnPasswordDialogPrivate *priv; - - g_return_if_fail (dialog != NULL); - g_return_if_fail (VPN_IS_PASSWORD_DIALOG (dialog)); - - priv = VPN_PASSWORD_DIALOG_GET_PRIVATE (dialog); - if (priv->show_password) - gtk_widget_grab_focus (priv->password_entry); -} - -const char * -vpn_password_dialog_get_password (VpnPasswordDialog *dialog) -{ - VpnPasswordDialogPrivate *priv; - - g_return_val_if_fail (VPN_IS_PASSWORD_DIALOG (dialog), NULL); - - priv = VPN_PASSWORD_DIALOG_GET_PRIVATE (dialog); - return gtk_entry_get_text (GTK_ENTRY (priv->password_entry)); -} - -void vpn_password_dialog_set_password_label (VpnPasswordDialog *dialog, - const char *label) -{ - VpnPasswordDialogPrivate *priv; - - g_return_if_fail (dialog != NULL); - g_return_if_fail (VPN_IS_PASSWORD_DIALOG (dialog)); - - priv = VPN_PASSWORD_DIALOG_GET_PRIVATE (dialog); - - g_free (priv->primary_password_label); - priv->primary_password_label = g_strdup (label); - - if (priv->show_password) - add_grid_rows (dialog); -} - diff --git a/auth-dialog/vpn-password-dialog.h b/auth-dialog/vpn-password-dialog.h deleted file mode 100644 index 7d69320..0000000 --- a/auth-dialog/vpn-password-dialog.h +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -/* vpn-password-dialog.c - A use password prompting dialog widget. - * - * The Gnome Library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public License as - * published by the ree Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * The Gnome Library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Copyright (C) 1999, 2000 Eazel, Inc. - * Copyright (C) 2011 Red Hat, Inc. - * - * Authors: Ramiro Estrugo <ramiro@eazel.com> - * Dan Williams <dcbw@redhat.com> - */ - -#ifndef VPN_PASSWORD_DIALOG_H -#define VPN_PASSWORD_DIALOG_H - -#include <gtk/gtk.h> - -G_BEGIN_DECLS - -#define VPN_TYPE_PASSWORD_DIALOG (vpn_password_dialog_get_type ()) -#define VPN_PASSWORD_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VPN_TYPE_PASSWORD_DIALOG, VpnPasswordDialog)) -#define VPN_PASSWORD_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VPN_TYPE_PASSWORD_DIALOG, VpnPasswordDialogClass)) -#define VPN_IS_PASSWORD_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VPN_TYPE_PASSWORD_DIALOG)) -#define VPN_IS_PASSWORD_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VPN_TYPE_PASSWORD_DIALOG)) - -typedef struct VpnPasswordDialog VpnPasswordDialog; -typedef struct VpnPasswordDialogClass VpnPasswordDialogClass; - -struct VpnPasswordDialog { - GtkDialog parent; -}; - -struct VpnPasswordDialogClass { - GtkDialogClass parent_class; -}; - -GType vpn_password_dialog_get_type (void); -GtkWidget* vpn_password_dialog_new (const char *title, - const char *message, - const char *password); - -gboolean vpn_password_dialog_run_and_block (VpnPasswordDialog *dialog); - -/* Attribute mutators */ -void vpn_password_dialog_set_show_password (VpnPasswordDialog *dialog, - gboolean show); -void vpn_password_dialog_focus_password (VpnPasswordDialog *dialog); -void vpn_password_dialog_set_password (VpnPasswordDialog *dialog, - const char *password); -void vpn_password_dialog_set_password_label (VpnPasswordDialog *dialog, - const char *label); - -void vpn_password_dialog_set_show_password_secondary (VpnPasswordDialog *dialog, - gboolean show); -void vpn_password_dialog_focus_password_secondary (VpnPasswordDialog *dialog); -void vpn_password_dialog_set_password_secondary (VpnPasswordDialog *dialog, - const char *password_secondary); -void vpn_password_dialog_set_password_secondary_label (VpnPasswordDialog *dialog, - const char *label); -/* Attribute accessors */ -const char *vpn_password_dialog_get_password (VpnPasswordDialog *dialog); - -const char *vpn_password_dialog_get_password_secondary (VpnPasswordDialog *dialog); - -G_END_DECLS - -#endif /* VPN_PASSWORD_DIALOG_H */ diff --git a/configure.ac b/configure.ac index cc9e348..fb146d9 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ(2.52) -AC_INIT(NetworkManager-iodine, 0.0.4, agx@sigxcpu.org, NetworkManager-iodine) +AC_INIT(NetworkManager-iodine, 0.0.5, agx@sigxcpu.org, NetworkManager-iodine) AM_INIT_AUTOMAKE([subdir-objects no-dist-gzip dist-xz]) AM_MAINTAINER_MODE @@ -67,9 +67,9 @@ if test x"$with_gnome" != xno; then AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) - PKG_CHECK_MODULES(GNOMEKEYRING, gnome-keyring-1) - AC_SUBST(GNOMEKEYRING_CFLAGS) - AC_SUBST(GNOMEKEYRING_LIBS) + PKG_CHECK_MODULES(LIBSECRET, libsecret-1) + AC_SUBST(LIBSECRET_CFLAGS) + AC_SUBST(LIBSECRET_LIBS) fi PKG_CHECK_MODULES(NM, @@ -80,6 +80,10 @@ PKG_CHECK_MODULES(NM, AC_SUBST(NM_CFLAGS) AC_SUBST(NM_LIBS) +PKG_CHECK_MODULES(NMGTK, libnm-gtk >= 0.9.9.0) +AC_SUBST(NMGTK_CFLAGS) +AC_SUBST(NMGTK_LIBS) + NM_COMPILER_WARNINGS AC_CONFIG_FILES([ diff --git a/po/POTFILES.in b/po/POTFILES.in index 2aad63d..9b5980e 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,7 +1,6 @@ # List of source files containing translatable strings. # Please keep this file sorted alphabetically. auth-dialog/main.c -auth-dialog/vpn-password-dialog.c properties/nm-iodine.c [type: gettext/glade]properties/nm-iodine-dialog.ui src/nm-iodine-service.c @@ -6,26 +6,26 @@ msgid "" msgstr "" "Project-Id-Version: network-manager-iodine master\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product" -"=network-manager-iodine&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2013-07-03 20:37+0000\n" -"PO-Revision-Date: 2013-07-15 07:36+0300\n" -"Last-Translator: Dimitris Spingos (Δημήτρης Σπίγγος) <dmtrs32@gmail.com>\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=network-manager-iodine&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2014-03-09 20:36+0000\n" +"PO-Revision-Date: 2014-04-24 19:48+0200\n" +"Last-Translator: Tom Tryfonidis <tomtryf@gmail.com>\n" "Language-Team: team@gnome.gr\n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.7.1\n" +"X-Generator: Poedit 1.6.4\n" "X-Project-Style: gnome\n" #: ../auth-dialog/main.c:152 #, c-format msgid "You need to authenticate to access the Virtual Private Network '%s'." msgstr "" -"Χρειάζεστε πιστοποίηση για να αποκτήσετε πρόσβαση στο Ιδιωτικό Εικονικό " -"Δίκτυο (VPN) '%s'." +"Χρειάζεστε πιστοποίηση για να αποκτήσετε πρόσβαση στο ιδιωτικό εικονικό " +"δίκτυο (VPN) '%s'." #. Otherwise, we have no saved password, or the password flags indicated #. * that the password should never be saved. @@ -43,6 +43,14 @@ msgstr "Κωδικός πρόσβασης:" msgid "_Password:" msgstr "_Κωδικός πρόσβασης:" +#: ../auth-dialog/vpn-password-dialog.c:187 +msgid "_Cancel" +msgstr "Ακύ_ρωση" + +#: ../auth-dialog/vpn-password-dialog.c:188 +msgid "_Ok" +msgstr "_Εντάξει" + #: ../auth-dialog/vpn-password-dialog.c:223 msgid "Sh_ow passwords" msgstr "Εμ_φάνιση κωδικών πρόσβασης" @@ -3,21 +3,22 @@ # This file is distributed under the same license as the network-manager-iodine package. # # Gabor Kelemen <kelemeng at gnome dot hu>, 2013. +# Balázs Úr <urbalazs@gmail.com>, 2014. msgid "" msgstr "" "Project-Id-Version: network-manager-iodine master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=network-manager-iodine&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2013-08-16 21:55+0000\n" -"PO-Revision-Date: 2013-09-20 12:12+0200\n" -"Last-Translator: Gabor Kelemen <kelemeng at gnome dot hu>\n" +"POT-Creation-Date: 2014-03-09 20:36+0000\n" +"PO-Revision-Date: 2014-03-20 18:08+0100\n" +"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n" "Language-Team: Hungarian <openscope at googlegroups dot com>\n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 1.5\n" +"X-Generator: Lokalize 1.2\n" #: ../auth-dialog/main.c:152 #, c-format @@ -40,6 +41,14 @@ msgstr "Jelszó:" msgid "_Password:" msgstr "_Jelszó:" +#: ../auth-dialog/vpn-password-dialog.c:187 +msgid "_Cancel" +msgstr "_Mégse" + +#: ../auth-dialog/vpn-password-dialog.c:188 +msgid "_Ok" +msgstr "_OK" + #: ../auth-dialog/vpn-password-dialog.c:223 msgid "Sh_ow passwords" msgstr "_Jelszavak megjelenítése" @@ -1,15 +1,15 @@ # Indonesian translation for network-manager-iodine. # Copyright (C) 2013 network-manager-iodine's COPYRIGHT HOLDER # This file is distributed under the same license as the network-manager-iodine package. -# Andika Triwidada <andika@gmail.com>, 2013. +# Andika Triwidada <andika@gmail.com>, 2013, 2014. # msgid "" msgstr "" "Project-Id-Version: network-manager-iodine master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=network-manager-iodine&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2013-09-20 10:15+0000\n" -"PO-Revision-Date: 2013-10-14 08:02+0700\n" +"POT-Creation-Date: 2014-03-09 20:36+0000\n" +"PO-Revision-Date: 2014-03-30 10:37+0700\n" "Last-Translator: Andika Triwidada <andika@gmail.com>\n" "Language-Team: Indonesian <gnome@i15n.org>\n" "Language: id\n" @@ -39,6 +39,14 @@ msgstr "Sandi:" msgid "_Password:" msgstr "_Sandi:" +#: ../auth-dialog/vpn-password-dialog.c:187 +msgid "_Cancel" +msgstr "_Batal" + +#: ../auth-dialog/vpn-password-dialog.c:188 +msgid "_Ok" +msgstr "_Ok" + #: ../auth-dialog/vpn-password-dialog.c:223 msgid "Sh_ow passwords" msgstr "Ta_mpilkan sandi" |