[git] GPA - branch, master, updated. gpa-0.9.0-22-g02fd01c
by Werner Koch
cvs at cvs.gnupg.org
Thu Dec 15 22:33:13 CET 2011
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU Privacy Assistant".
The branch, master has been updated
via 02fd01cf81e39394d9529096e4882deb69db8f83 (commit)
via 4e7f73636b63f50d02d682e5e059e95924cb7871 (commit)
via 7ad794d2f37897156da6f69f37e3f8c6c90316f2 (commit)
from 30752eb091f9005c36f90780e50336cddd8a4e93 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 02fd01cf81e39394d9529096e4882deb69db8f83
Author: Werner Koch <wk at gnupg.org>
Date: Thu Dec 15 21:40:13 2011 +0100
Show the ATR for an unknown card.
* src/cm-unknown.c, src/cm-unknown.h: New files.
* src/Makefile.am: Add them.
* NEWS: Update.
diff --git a/NEWS b/NEWS
index 38471be..e38baae 100644
--- a/NEWS
+++ b/NEWS
@@ -3,14 +3,18 @@ Noteworthy changes in version 0.9.1 (not released)
* The key selection dialogs for encryption and signing do not anymore
list expired, revoked or otherwise invalid keys.
-
+
* If no recipients are given to the server, a generic key selection
dialog is now used.
+ * Now works with Libassuan 2.x.
+
+ * The card manager now displays the ATR for an unknown card.
+
Noteworthy changes in version 0.9.0 (2009-06-20)
------------------------------------------------
-
+
* Added a smartcard manager.
* GPA now requires GnuPG-2.
@@ -140,7 +144,7 @@ Noteworthy changes in version 0.7.0 (2003-10-22)
* Cosmetical and minor fixes to the file manager window.
* GPA now remembers the brief/detailed setting view and restores it
- when GPA is started.
+ when GPA is started.
* Removed all deprecated widgets. GPA is now pure GTK+ 2.2.
@@ -258,7 +262,7 @@ Noteworthy changes in version 0.5.0 (2002-02-25)
* There now is an icon in the tool bar to switch from the keyring
manager to the file manager.
-
+
* GPA can now be compiled using a standard GNU toolchain.
In particular it can be cross-compiled from GNU/Linux to
mingw32/MS-Windows (which is what we did for the GnuPP CD),
diff --git a/src/Makefile.am b/src/Makefile.am
index f0d1e0d..a695e07 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -2,19 +2,19 @@
# Copyright (C) 2000, 2001 Werner Koch
# Copyright (C) 2002, 2003, 2004 Miguel Coca
# Copyright (C) 2005, 2006, 2007, 2008, 2009 g10 Code GmbH
-#
+#
# This file is part of GPA.
-#
+#
# GPA is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 3 of the License, or (at your
# option) any later version.
-#
+#
# GPA 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 General Public
# License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
@@ -22,7 +22,7 @@
localedir = $(datadir)/locale
-logo = gpa-logo.ppm
+logo = gpa-logo.ppm
pkgdata_DATA = $(logo)
@@ -59,8 +59,8 @@ endif
bin_PROGRAMS = gpa
noinst_PROGRAMS = dndtest
-AM_CPPFLAGS = -I$(top_srcdir)/intl -I$(top_srcdir)/pixmaps
-AM_CPPFLAGS += -DLOCALEDIR=\"$(localedir)\"
+AM_CPPFLAGS = -I$(top_srcdir)/intl -I$(top_srcdir)/pixmaps
+AM_CPPFLAGS += -DLOCALEDIR=\"$(localedir)\"
AM_CFLAGS = $(GPGME_CFLAGS) $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS) \
$(GTK_CFLAGS)
@@ -76,7 +76,8 @@ gpa_cardman_sources = \
cm-openpgp.c cm-openpgp.h \
cm-geldkarte.c cm-geldkarte.h \
cm-netkey.c cm-netkey.h \
- cm-dinsig.c cm-dinsig.h
+ cm-dinsig.c cm-dinsig.h \
+ cm-unknown.c cm-unknown.h
gpa_SOURCES = get-path.h get-path.c \
diff --git a/src/cardman.c b/src/cardman.c
index 65788fe..c3779e4 100644
--- a/src/cardman.c
+++ b/src/cardman.c
@@ -29,7 +29,7 @@
#include <assert.h>
#include <time.h>
-#include "gpa.h"
+#include "gpa.h"
#include "gtktools.h"
#include "gpawidgets.h"
@@ -47,11 +47,12 @@
#include "cm-geldkarte.h"
#include "cm-netkey.h"
#include "cm-dinsig.h"
+#include "cm-unknown.h"
/* Object's class definition. */
-struct _GpaCardManagerClass
+struct _GpaCardManagerClass
{
GtkWindowClass parent_class;
};
@@ -66,7 +67,7 @@ struct _GpaCardManager
GtkWidget *app_selector; /* Combo Box to select the application. */
-
+
GtkWidget *card_container; /* The container holding the card widget. */
GtkWidget *card_widget; /* The widget to display a card applciation. */
@@ -90,7 +91,7 @@ struct _GpaCardManager
struct {
int card_any; /* Any card event counter seen. */
- unsigned int card; /* Last seen card event counter. */
+ unsigned int card; /* Last seen card event counter. */
} eventcounter;
};
@@ -108,7 +109,7 @@ static void gpa_card_manager_finalize (GObject *object);
-/************************************************************
+/************************************************************
******************* Implementation *********************
************************************************************/
@@ -122,7 +123,7 @@ statusbar_new (GpaCardManager *cardman)
GtkWidget *label;
hbox = gtk_hbox_new (FALSE, 0);
-
+
label = gtk_label_new (NULL);
cardman->status_label = label;
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
@@ -130,7 +131,7 @@ statusbar_new (GpaCardManager *cardman)
label = gtk_label_new ("");
cardman->status_text = label;
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 5);
-
+
align = gtk_alignment_new (0, 1, 1, 0);
gtk_container_add (GTK_CONTAINER (align), hbox);
@@ -170,7 +171,7 @@ update_title (GpaCardManager *cardman)
else
{
char *tmp;
-
+
tmp = g_strdup_printf ("%s (%s)", title, cardman->cardtypename);
gtk_window_set_title (GTK_WINDOW (cardman), tmp);
xfree (tmp);
@@ -202,7 +203,7 @@ scd_data_cb (void *opaque, const void *data, size_t datalen)
{
/* g_debug ("DATA_CB: datalen=%d", (int)datalen); */
return 0;
-}
+}
static gpg_error_t
@@ -212,7 +213,7 @@ scd_inq_cb (void *opaque, const char *name, const char *args,
/* g_debug ("INQ_CB: name=`%s' args=`%s'", name, args); */
return 0;
-}
+}
static gpg_error_t
@@ -247,6 +248,11 @@ scd_status_cb (void *opaque, const char *status, const char *args)
cardman->cardtype = GPA_CM_GELDKARTE_TYPE;
cardman->cardtypename = "Geldkarte";
}
+ else if (!strcmp (args, "UNDEFINED"))
+ {
+ cardman->cardtype = GPA_CM_UNKNOWN_TYPE;
+ cardman->cardtypename = "UNKNOWN";
+ }
else
cardman->cardtypename = "Unknown";
@@ -263,7 +269,7 @@ scd_status_cb (void *opaque, const char *status, const char *args)
}
return 0;
-}
+}
/* Idle queue callback to mark a relaod operation finished. */
@@ -271,7 +277,7 @@ static gboolean
card_reload_finish_idle_cb (void *user_data)
{
GpaCardManager *cardman = user_data;
-
+
cardman->in_card_reload--;
g_object_unref (cardman);
@@ -288,6 +294,7 @@ card_reload (GpaCardManager *cardman)
char *command_buf = NULL;
const char *command;
const char *err_desc = NULL;
+ char *err_desc_buffer = NULL;
int auto_app;
if (!cardman->gpgagent)
@@ -298,7 +305,7 @@ card_reload (GpaCardManager *cardman)
if (!cardman->in_card_reload)
{
cardman->in_card_reload++;
-
+
update_info_visibility (cardman);
cardman->cardtype = G_TYPE_NONE;
@@ -308,8 +315,8 @@ card_reload (GpaCardManager *cardman)
command; this makes sure that scdaemon initalizes the card if
that has not yet been done. */
command = "SCD SERIALNO";
- if (cardman->app_selector
- && (gtk_combo_box_get_active
+ if (cardman->app_selector
+ && (gtk_combo_box_get_active
(GTK_COMBO_BOX (cardman->app_selector)) > 0)
&& (application = gtk_combo_box_get_active_text
(GTK_COMBO_BOX (cardman->app_selector))))
@@ -374,19 +381,26 @@ card_reload (GpaCardManager *cardman)
&& gpg_err_source (err) == GPG_ERR_SOURCE_SCD
&& gpg_err_code (err) == GPG_ERR_NOT_SUPPORTED)
{
- err_desc =
+ err_desc =
_("The selected card application is not available.");
}
else if (err)
{
- g_debug ("assuan command `%s' failed: %s <%s>\n",
+ g_debug ("assuan command `%s' failed: %s <%s>\n",
command, gpg_strerror (err), gpg_strsource (err));
- err_desc = _("Error accessing the card.");
- statusbar_update (cardman, _("Error accessing card"));
+ if (!gpgme_op_assuan_transact (cardman->gpgagent,
+ "SCD SERIALNO undefined",
+ NULL, NULL, NULL, NULL, NULL, NULL))
+ err = 0;
+ else
+ {
+ err_desc = _("Error accessing the card.");
+ statusbar_update (cardman, _("Error accessing card"));
+ }
}
g_free (command_buf);
-
+
if (!err)
{
/* Get the event counter to avoid a duplicate reload due to
@@ -407,22 +421,25 @@ card_reload (GpaCardManager *cardman)
scd_status_cb, cardman);
if (!err)
err = gpgme_op_assuan_result (cardman->gpgagent)->err;
-
+
if (gpg_err_code (err) == GPG_ERR_CARD_NOT_PRESENT
|| gpg_err_code (err) == GPG_ERR_CARD_REMOVED)
statusbar_update (cardman, _("No card"));
else if (err)
{
- g_debug ("assuan command `%s' failed: %s <%s>\n",
+ g_debug ("assuan command `%s' failed: %s <%s>\n",
command, gpg_strerror (err), gpg_strsource (err));
statusbar_update (cardman, _("Error accessing card"));
}
}
-
+
update_card_widget (cardman, err_desc);
+ g_free (err_desc_buffer);
+ err_desc_buffer = NULL;
+ err_desc = NULL;
update_title (cardman);
-
+
update_info_visibility (cardman);
/* We decrement our lock using a idle handler with lo priority.
This gives us a better chance not to do a reload a second
@@ -449,7 +466,7 @@ static gboolean
card_reload_idle_cb (void *user_data)
{
GpaCardManager *cardman = user_data;
-
+
card_reload (cardman);
g_object_unref (cardman);
@@ -501,7 +518,7 @@ ticker_cb (gpointer user_data)
if (!cardman || !cardman->ticker_timeout_id || !cardman->gpgagent
|| cardman->in_card_reload)
return TRUE; /* Keep on ticking. */
-
+
/* Note that we are single threaded and thus there is no need to
lock the assuan context. */
@@ -526,9 +543,9 @@ start_ticker (GpaCardManager *cardman)
{
#if GTK_CHECK_VERSION (2, 14, 0)
cardman->ticker_timeout_id = g_timeout_add_seconds (1,
- ticker_cb, cardman);
+ ticker_cb, cardman);
#else
- cardman->ticker_timeout_id = g_timeout_add (1000, ticker_cb, cardman);
+ cardman->ticker_timeout_id = g_timeout_add (1000, ticker_cb, cardman);
#endif
}
}
@@ -569,7 +586,7 @@ card_genkey (GpaCardManager *cardman)
if (!err)
{
gpa_window_error ("Admin commands are disabled in scdamon.\n"
- "Key generation is not possible.", NULL);
+ "Key generation is not possible.", NULL);
return;
}
@@ -750,6 +767,10 @@ update_card_widget (GpaCardManager *cardman, const char *error_description)
{
cardman->card_widget = gpa_cm_dinsig_new ();
}
+ else if (cardman->cardtype == GPA_CM_UNKNOWN_TYPE)
+ {
+ cardman->card_widget = gpa_cm_unknown_new ();
+ }
else
{
if (!error_description)
@@ -757,7 +778,7 @@ update_card_widget (GpaCardManager *cardman, const char *error_description)
cardman->card_widget = gtk_label_new (error_description);
}
- gtk_scrolled_window_add_with_viewport
+ gtk_scrolled_window_add_with_viewport
(GTK_SCROLLED_WINDOW (cardman->card_container), cardman->card_widget);
gtk_widget_show_all (cardman->card_widget);
@@ -779,6 +800,7 @@ update_card_widget (GpaCardManager *cardman, const char *error_description)
gpa_cm_geldkarte_reload (cardman->card_widget, cardman->gpgagent);
gpa_cm_netkey_reload (cardman->card_widget, cardman->gpgagent);
gpa_cm_dinsig_reload (cardman->card_widget, cardman->gpgagent);
+ gpa_cm_unknown_reload (cardman->card_widget, cardman->gpgagent);
}
}
@@ -843,7 +865,7 @@ setup_app_selector (GpaCardManager *cardman)
p1 = strchr (p0, ':');
if (p1)
*p1 = 0;
- gtk_combo_box_append_text
+ gtk_combo_box_append_text
(GTK_COMBO_BOX (cardman->app_selector), p0);
if (p[1])
p0 = p+1;
@@ -882,7 +904,7 @@ construct_widgets (GpaCardManager *cardman)
/* Add a fancy label that tells us: This is the card manager. */
hbox1 = gtk_hbox_new (FALSE, 0);
-
+
icon = gtk_image_new_from_stock (GPA_STOCK_CARDMAN, GTK_ICON_SIZE_DND);
gtk_box_pack_start (GTK_BOX (hbox1), icon, FALSE, TRUE, 0);
@@ -916,7 +938,7 @@ construct_widgets (GpaCardManager *cardman)
card widget. This container is required so that we can easily
change to a differet card widget. */
cardman->card_container = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy
+ gtk_scrolled_window_set_policy
(GTK_SCROLLED_WINDOW (cardman->card_container),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_box_pack_start (GTK_BOX (vbox), cardman->card_container, TRUE, TRUE, 0);
@@ -932,7 +954,7 @@ construct_widgets (GpaCardManager *cardman)
}
-/************************************************************
+/************************************************************
****************** Object Management ********************
************************************************************/
@@ -996,7 +1018,7 @@ gpa_card_manager_init (GTypeInstance *instance, void *class_ptr)
static void
gpa_card_manager_finalize (GObject *object)
-{
+{
GpaCardManager *cardman = GPA_CARD_MANAGER (object);
if (cardman->gpgagent)
@@ -1004,7 +1026,7 @@ gpa_card_manager_finalize (GObject *object)
gpgme_release (cardman->gpgagent);
cardman->gpgagent = NULL;
}
-
+
if (cardman->ticker_timeout_id)
{
g_source_remove (cardman->ticker_timeout_id);
@@ -1013,7 +1035,7 @@ gpa_card_manager_finalize (GObject *object)
/* FIXME: Remove the watch object and all other resources. */
- G_OBJECT_CLASS (g_type_class_peek_parent
+ G_OBJECT_CLASS (g_type_class_peek_parent
(GPA_CM_OPENPGP_GET_CLASS (cardman)))->finalize (object);
}
@@ -1022,7 +1044,7 @@ GType
gpa_card_manager_get_type (void)
{
static GType this_type = 0;
-
+
if (!this_type)
{
static const GTypeInfo this_info =
@@ -1037,17 +1059,17 @@ gpa_card_manager_get_type (void)
0, /* n_preallocs */
gpa_card_manager_init,
};
-
+
this_type = g_type_register_static (GTK_TYPE_WINDOW,
"GpaCardManager",
&this_info, 0);
}
-
+
return this_type;
}
-/************************************************************
+/************************************************************
********************** Public API ************************
************************************************************/
GtkWidget *
@@ -1055,14 +1077,14 @@ gpa_card_manager_get_instance (void)
{
if (!this_instance)
{
- this_instance = g_object_new (GPA_CARD_MANAGER_TYPE, NULL);
+ this_instance = g_object_new (GPA_CARD_MANAGER_TYPE, NULL);
card_reload (this_instance);
}
return GTK_WIDGET (this_instance);
}
-gboolean
+gboolean
gpa_card_manager_is_open (void)
{
return !!this_instance;
diff --git a/src/cm-unknown.c b/src/cm-unknown.c
new file mode 100644
index 0000000..70ac99e
--- /dev/null
+++ b/src/cm-unknown.c
@@ -0,0 +1,253 @@
+/* cm-unknown.c - Widget to show information about an unknown card
+ * Copyright (C) 2009, 2011 g10 Code GmbH
+ *
+ * This file is part of GPA.
+ *
+ * GPA is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GPA 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 General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+/* UNKNOWN is a dummy application used for, weel, unknown cards. It
+ does only print the the ATR of the card. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+
+#include "gpa.h"
+#include "gtktools.h"
+#include "convert.h"
+#include "membuf.h"
+
+#include "cm-object.h"
+#include "cm-unknown.h"
+
+
+
+
+
+/* Object's class definition. */
+struct _GpaCMUnknownClass
+{
+ GpaCMObjectClass parent_class;
+};
+
+
+/* Object definition. */
+struct _GpaCMUnknown
+{
+ GpaCMObject parent_instance;
+
+ GtkWidget *label;
+
+ int reloading; /* Sentinel to avoid recursive reloads. */
+};
+
+/* The parent class. */
+static GObjectClass *parent_class;
+
+
+
+/* Local prototypes */
+static void gpa_cm_unknown_finalize (GObject *object);
+
+
+
+/************************************************************
+ ******************* Implementation *********************
+ ************************************************************/
+
+static gpg_error_t
+scd_atr_data_cb (void *opaque, const void *data, size_t datalen)
+{
+ membuf_t *mb = opaque;
+
+ put_membuf (mb, data, datalen);
+ return 0;
+}
+
+
+/* Use the assuan machinery to read the ATR. */
+static void
+reload_data (GpaCMUnknown *card)
+{
+ gpg_error_t err;
+ char command[100];
+ gpgme_ctx_t gpgagent;
+ membuf_t mb;
+ char *buf;
+
+ gpgagent = GPA_CM_OBJECT (card)->agent_ctx;
+ g_return_if_fail (gpgagent);
+
+ card->reloading++;
+
+ init_membuf (&mb, 512);
+
+ err = gpgme_op_assuan_transact (gpgagent,
+ "SCD APDU --dump-atr",
+ scd_atr_data_cb, &mb,
+ NULL, NULL, NULL, NULL);
+ if (!err)
+ err = gpgme_op_assuan_result (gpgagent)->err;
+
+ if (!err)
+ {
+ put_membuf (&mb, "", 1);
+ buf = get_membuf (&mb, NULL);
+ if (buf)
+ {
+ buf = g_strdup_printf ("\n%s\n%s",
+ _("The ATR of the card is:"),
+ buf);
+ gtk_label_set_text (GTK_LABEL (card->label), buf);
+ g_free (buf);
+ }
+ else
+ gtk_label_set_text (GTK_LABEL (card->label), "");
+ }
+ else
+ {
+ g_free (get_membuf (&mb, NULL));
+
+ if (gpg_err_code (err) == GPG_ERR_CARD_NOT_PRESENT)
+ ; /* Lost the card. */
+ else
+ g_debug ("assuan command `%s' failed: %s <%s>\n",
+ command, gpg_strerror (err), gpg_strsource (err));
+ gtk_label_set_text (GTK_LABEL (card->label), "");
+ }
+ card->reloading--;
+}
+
+
+
+
+/* This function constructs the container holding all widgets making
+ up this data widget. It is called during instance creation. */
+static void
+construct_data_widget (GpaCMUnknown *card)
+{
+ GtkWidget *frame;
+ GtkWidget *vbox;
+ GtkWidget *label;
+
+ frame = gtk_frame_new (NULL);
+ gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
+ label = gtk_label_new (_("<b>Unknown Card</b>"));
+ gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
+ gtk_frame_set_label_widget (GTK_FRAME (frame), label);
+ gtk_box_pack_start (GTK_BOX (card), frame, FALSE, TRUE, 0);
+
+ frame = gtk_frame_new (NULL);
+ gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
+ vbox = gtk_vbox_new (FALSE, 5);
+ card->label = gtk_label_new (NULL);
+ gtk_box_pack_start (GTK_BOX (vbox), card->label, TRUE, TRUE, 0);
+ gtk_container_add (GTK_CONTAINER (frame), vbox);
+ gtk_box_pack_start (GTK_BOX (card), frame, FALSE, TRUE, 0);
+}
+
+
+
+/************************************************************
+ ****************** Object Management ********************
+ ************************************************************/
+
+static void
+gpa_cm_unknown_class_init (void *class_ptr, void *class_data)
+{
+ GpaCMUnknownClass *klass = class_ptr;
+
+ parent_class = g_type_class_peek_parent (klass);
+
+ G_OBJECT_CLASS (klass)->finalize = gpa_cm_unknown_finalize;
+}
+
+
+static void
+gpa_cm_unknown_init (GTypeInstance *instance, void *class_ptr)
+{
+ GpaCMUnknown *card = GPA_CM_UNKNOWN (instance);
+
+ construct_data_widget (card);
+
+}
+
+
+static void
+gpa_cm_unknown_finalize (GObject *object)
+{
+/* GpaCMUnknown *card = GPA_CM_UNKNOWN (object); */
+
+ parent_class->finalize (object);
+}
+
+
+/* Construct the class. */
+GType
+gpa_cm_unknown_get_type (void)
+{
+ static GType this_type = 0;
+
+ if (!this_type)
+ {
+ static const GTypeInfo this_info =
+ {
+ sizeof (GpaCMUnknownClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ gpa_cm_unknown_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL, /* class_data */
+ sizeof (GpaCMUnknown),
+ 0, /* n_preallocs */
+ gpa_cm_unknown_init
+ };
+
+ this_type = g_type_register_static (GPA_CM_OBJECT_TYPE,
+ "GpaCMUnknown",
+ &this_info, 0);
+ }
+
+ return this_type;
+}
+
+
+/************************************************************
+ ********************** Public API ************************
+ ************************************************************/
+GtkWidget *
+gpa_cm_unknown_new ()
+{
+ return GTK_WIDGET (g_object_new (GPA_CM_UNKNOWN_TYPE, NULL));
+}
+
+
+/* If WIDGET is of Type GpaCMUnknown do a data reload through the
+ assuan connection. */
+void
+gpa_cm_unknown_reload (GtkWidget *widget, gpgme_ctx_t gpgagent)
+{
+ if (GPA_IS_CM_UNKNOWN (widget))
+ {
+ GPA_CM_OBJECT (widget)->agent_ctx = gpgagent;
+ if (gpgagent)
+ reload_data (GPA_CM_UNKNOWN (widget));
+ }
+}
diff --git a/src/cm-unknown.h b/src/cm-unknown.h
new file mode 100644
index 0000000..41f44ff
--- /dev/null
+++ b/src/cm-unknown.h
@@ -0,0 +1,57 @@
+/* cm-unknown.h - Widget to show information about an unknown card.
+ * Copyright (C) 2009, 2011 g10 Code GmbH
+ *
+ * This file is part of GPA.
+ *
+ * GPA is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GPA 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 General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef CM_UNKNOWN_H
+#define CM_UNKNOWN_H
+
+#include <gtk/gtk.h>
+
+/* Declare the Object. */
+typedef struct _GpaCMUnknown GpaCMUnknown;
+typedef struct _GpaCMUnknownClass GpaCMUnknownClass;
+
+GType gpa_cm_unknown_get_type (void) G_GNUC_CONST;
+
+#define GPA_CM_UNKNOWN_TYPE (gpa_cm_unknown_get_type ())
+
+#define GPA_CM_UNKNOWN(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GPA_CM_UNKNOWN_TYPE, GpaCMUnknown))
+
+#define GPA_CM_UNKNOWN_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), \
+ GPA_CM_UNKNOWN_TYPE, GpaCMUnknownClass))
+
+#define GPA_IS_CM_UNKNOWN(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GPA_CM_UNKNOWN_TYPE))
+
+#define GPA_IS_CM_UNKNOWN_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GPA_CM_UNKNOWN_TYPE))
+
+#define GPA_CM_UNKNOWN_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+ GPA_CM_UNKNOWN_TYPE, GpaCMUnknownClass))
+
+
+/* The class specific API. */
+GtkWidget *gpa_cm_unknown_new (void);
+void gpa_cm_unknown_reload (GtkWidget *widget, gpgme_ctx_t gpgagent);
+
+
+
+#endif /*CM_UNKNOWN_H*/
commit 4e7f73636b63f50d02d682e5e059e95924cb7871
Author: Werner Koch <wk at gnupg.org>
Date: Mon Dec 12 11:47:12 2011 +0100
po: auto update of po files.
diff --git a/po/ar.po b/po/ar.po
index 864f216..6823814 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GPA\n"
"Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"PO-Revision-Date: 2008-03-17 13:05+0100\n"
+"PO-Revision-Date: 2011-12-12 10:14+0100\n"
"Last-Translator: \n"
"Language-Team: Arabic <doc at arabeyes.org>\n"
"MIME-Version: 1.0\n"
@@ -299,6 +299,9 @@ msgstr "ÙÙØªØ ØÙار اÙتÙضÙÙات"
msgid "Enable the UI server"
msgstr "ابدأ ÙÙØ· خادÙÙ
ÙاجÙØ© اÙÙ
ستخدÙ
(ÙÙترض âª--cms⬠أÙضا)"
+msgid "Disable support for X.509"
+msgstr ""
+
msgid "Read options from file"
msgstr "اÙرأ اÙØ®Ùارات Ù
Ù Ù
ÙÙÙ"
@@ -1402,6 +1405,15 @@ msgid "Sign only _locally"
msgstr "ÙÙÙع _Ù
ØÙÙÙا ÙÙØ·"
msgid ""
+"It seems that GPGSM is not installed.\n"
+"\n"
+"Temporary disabling support for X.509.\n"
+"\n"
+"Please install GPGSM or invoke this program\n"
+"with the option --disable-x509 ."
+msgstr ""
+
+msgid ""
"The private key you selected as default is no longer available.\n"
"GPA will try to choose a new default key automatically."
msgstr ""
diff --git a/po/cs.po b/po/cs.po
index 28767d5..c131808 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -316,6 +316,9 @@ msgstr "OtevÅÃt dialog NastavenÃ"
msgid "Enable the UI server"
msgstr ""
+msgid "Disable support for X.509"
+msgstr ""
+
#, fuzzy
msgid "Read options from file"
msgstr "ÄÃst možnosti ze souboru"
@@ -1107,7 +1110,7 @@ msgid ""
"\n"
"Your email address will be part of the new key to make it easier for others "
"to identify keys. If you have several email addresses, you can add further "
-"email adresses later."
+"email addresses later."
msgstr ""
"Vložte prosÃm svoji e-mailovou adresu.\n"
"\n"
@@ -1436,6 +1439,15 @@ msgid "Sign only _locally"
msgstr "Podepsat pouze _lokálnÄ"
msgid ""
+"It seems that GPGSM is not installed.\n"
+"\n"
+"Temporary disabling support for X.509.\n"
+"\n"
+"Please install GPGSM or invoke this program\n"
+"with the option --disable-x509 ."
+msgstr ""
+
+msgid ""
"The private key you selected as default is no longer available.\n"
"GPA will try to choose a new default key automatically."
msgstr ""
diff --git a/po/de.po b/po/de.po
index 5498861..dc5534b 100644
--- a/po/de.po
+++ b/po/de.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gpa\n"
"Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"PO-Revision-Date: 2010-05-06 13:13+0200\n"
+"PO-Revision-Date: 2011-12-12 10:11+0100\n"
"Last-Translator: Werner Koch <wk at gnupg.org>\n"
"Language-Team: German <de at li.org>\n"
"MIME-Version: 1.0\n"
@@ -277,6 +277,9 @@ msgstr "Ãffne den Dialog für die Einstellungen"
msgid "Enable the UI server"
msgstr "Den UI Server aktivieren"
+msgid "Disable support for X.509"
+msgstr ""
+
msgid "Read options from file"
msgstr "Optionen aus einer Datei lesen"
@@ -1361,6 +1364,15 @@ msgid "Sign only _locally"
msgstr "Nur _lokal signieren"
msgid ""
+"It seems that GPGSM is not installed.\n"
+"\n"
+"Temporary disabling support for X.509.\n"
+"\n"
+"Please install GPGSM or invoke this program\n"
+"with the option --disable-x509 ."
+msgstr ""
+
+msgid ""
"The private key you selected as default is no longer available.\n"
"GPA will try to choose a new default key automatically."
msgstr ""
diff --git a/po/es.po b/po/es.po
index 0e0e6d8..9100165 100644
--- a/po/es.po
+++ b/po/es.po
@@ -302,6 +302,9 @@ msgstr "Abrir la ventana de preferencias"
msgid "Enable the UI server"
msgstr "Iniciar solo el servicio de interface de usuario (implica --cms)"
+msgid "Disable support for X.509"
+msgstr ""
+
msgid "Read options from file"
msgstr "Leer opciones desde un archivo"
@@ -440,7 +443,8 @@ msgstr "Clave Revocada"
msgid "_Close"
msgstr "_Cerrar"
-msgid "The following key has been revoked by it's owner:"
+#, fuzzy
+msgid "The following key has been revoked by its owner:"
msgstr "Esta clave ha sido revocada por su propietario:"
msgid "And can not be used for encryption."
@@ -1084,7 +1088,7 @@ msgid ""
"\n"
"Your email address will be part of the new key to make it easier for others "
"to identify keys. If you have several email addresses, you can add further "
-"email adresses later."
+"email addresses later."
msgstr ""
"Por favor, introduzca su dirección de correo electrónico.\n"
"\n"
@@ -1425,6 +1429,15 @@ msgid "Sign only _locally"
msgstr "Firmar solo _localmente"
msgid ""
+"It seems that GPGSM is not installed.\n"
+"\n"
+"Temporary disabling support for X.509.\n"
+"\n"
+"Please install GPGSM or invoke this program\n"
+"with the option --disable-x509 ."
+msgstr ""
+
+msgid ""
"The private key you selected as default is no longer available.\n"
"GPA will try to choose a new default key automatically."
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index a080387..5520a94 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GPA 0.8.0\n"
"Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"PO-Revision-Date: 2008-11-25 13:40+0100\n"
+"PO-Revision-Date: 2011-12-12 10:12+0100\n"
"Last-Translator: Eric Lassauge <lassauge at users.sf.net>\n"
"Language-Team: <fr at li.org>\n"
"MIME-Version: 1.0\n"
@@ -286,6 +286,9 @@ msgid "Enable the UI server"
msgstr ""
"Démarrer seulement le serveur d'interface graphique (implique « --cms »)"
+msgid "Disable support for X.509"
+msgstr ""
+
msgid "Read options from file"
msgstr "Lire les options depuis le fichier"
@@ -1387,6 +1390,15 @@ msgid "Sign only _locally"
msgstr "Signer seulement en _local"
msgid ""
+"It seems that GPGSM is not installed.\n"
+"\n"
+"Temporary disabling support for X.509.\n"
+"\n"
+"Please install GPGSM or invoke this program\n"
+"with the option --disable-x509 ."
+msgstr ""
+
+msgid ""
"The private key you selected as default is no longer available.\n"
"GPA will try to choose a new default key automatically."
msgstr ""
diff --git a/po/ja.po b/po/ja.po
index 34129a6..62eb49b 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -313,6 +313,9 @@ msgstr "
msgid "Enable the UI server"
msgstr ""
+msgid "Disable support for X.509"
+msgstr ""
+
#, fuzzy
msgid "Read options from file"
msgstr "¥Õ¥¡¥¤¥ë¤«¤é¥ª¥×¥·¥ç¥óÆɹþ"
@@ -458,7 +461,8 @@ msgstr "
msgid "_Close"
msgstr "ÊĤ¸¤ë (_C)"
-msgid "The following key has been revoked by it's owner:"
+#, fuzzy
+msgid "The following key has been revoked by its owner:"
msgstr "°Ê²¼¤Î¸°¤Ï½êͼԤˤè¤Ã¤ÆÇË´þ¤µ¤ì¤Æ¤¤¤Þ¤¹:"
msgid "And can not be used for encryption."
@@ -1091,7 +1095,7 @@ msgid ""
"\n"
"Your email address will be part of the new key to make it easier for others "
"to identify keys. If you have several email addresses, you can add further "
-"email adresses later."
+"email addresses later."
msgstr ""
"E ¥á¡¼¥ë¥¢¥É¥ì¥¹¤ò¤Ò¤È¤ÄµÆþ¤·¤Æ²¼¤µ¤¤¡£\n"
"\n"
@@ -1417,6 +1421,15 @@ msgid "Sign only _locally"
msgstr "¥í¡¼¥«¥ë¤Ç¤À¤±½ð̾ (_L)"
msgid ""
+"It seems that GPGSM is not installed.\n"
+"\n"
+"Temporary disabling support for X.509.\n"
+"\n"
+"Please install GPGSM or invoke this program\n"
+"with the option --disable-x509 ."
+msgstr ""
+
+msgid ""
"The private key you selected as default is no longer available.\n"
"GPA will try to choose a new default key automatically."
msgstr ""
diff --git a/po/nl.po b/po/nl.po
index 59c72be..252f273 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -310,6 +310,9 @@ msgstr "Open de voorkeuren dialoog"
msgid "Enable the UI server"
msgstr ""
+msgid "Disable support for X.509"
+msgstr ""
+
#, fuzzy
msgid "Read options from file"
msgstr "lees opties van bestand"
@@ -455,7 +458,8 @@ msgstr "Teruggetrokken sleutel"
msgid "_Close"
msgstr "_Sluiten"
-msgid "The following key has been revoked by it's owner:"
+#, fuzzy
+msgid "The following key has been revoked by its owner:"
msgstr "De volgende sleutel is gerevoceerd door de eigenaar:"
msgid "And can not be used for encryption."
@@ -1096,7 +1100,7 @@ msgid ""
"\n"
"Your email address will be part of the new key to make it easier for others "
"to identify keys. If you have several email addresses, you can add further "
-"email adresses later."
+"email addresses later."
msgstr ""
"Geef aub uw E-mail adress in.\n"
"\n"
@@ -1426,6 +1430,15 @@ msgid "Sign only _locally"
msgstr "Onderteken alleen _lokaal"
msgid ""
+"It seems that GPGSM is not installed.\n"
+"\n"
+"Temporary disabling support for X.509.\n"
+"\n"
+"Please install GPGSM or invoke this program\n"
+"with the option --disable-x509 ."
+msgstr ""
+
+msgid ""
"The private key you selected as default is no longer available.\n"
"GPA will try to choose a new default key automatically."
msgstr ""
diff --git a/po/pl.po b/po/pl.po
index ed860eb..1c86852 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -306,6 +306,9 @@ msgstr "Otwiera okno dialogowe z ustawieniami"
msgid "Enable the UI server"
msgstr ""
+msgid "Disable support for X.509"
+msgstr ""
+
#, fuzzy
msgid "Read options from file"
msgstr "odczytuje opcje z podanego pliku"
@@ -452,7 +455,8 @@ msgstr "Unieważniony klucz"
msgid "_Close"
msgstr "Z_amknij"
-msgid "The following key has been revoked by it's owner:"
+#, fuzzy
+msgid "The following key has been revoked by its owner:"
msgstr "Ten klucz zostaÅ unieważniony przez swojego wÅaÅciciela:"
msgid "And can not be used for encryption."
@@ -1097,7 +1101,7 @@ msgid ""
"\n"
"Your email address will be part of the new key to make it easier for others "
"to identify keys. If you have several email addresses, you can add further "
-"email adresses later."
+"email addresses later."
msgstr ""
"ProszÄ wprowadziÄ swój adres email.\n"
"\n"
@@ -1429,6 +1433,15 @@ msgid "Sign only _locally"
msgstr "Podpisz tylko _lokalnie"
msgid ""
+"It seems that GPGSM is not installed.\n"
+"\n"
+"Temporary disabling support for X.509.\n"
+"\n"
+"Please install GPGSM or invoke this program\n"
+"with the option --disable-x509 ."
+msgstr ""
+
+msgid ""
"The private key you selected as default is no longer available.\n"
"GPA will try to choose a new default key automatically."
msgstr ""
diff --git a/po/pt_BR.po b/po/pt_BR.po
index f41716d..7bc095a 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -309,6 +309,9 @@ msgstr "Abrir caixa de di
msgid "Enable the UI server"
msgstr ""
+msgid "Disable support for X.509"
+msgstr ""
+
#, fuzzy
msgid "Read options from file"
msgstr "ler as preferências do arquivo"
@@ -455,7 +458,8 @@ msgstr "Chave revogada"
msgid "_Close"
msgstr "_Fechar"
-msgid "The following key has been revoked by it's owner:"
+#, fuzzy
+msgid "The following key has been revoked by its owner:"
msgstr "A seguinte chave foi revogada pelo seu proprietário:"
msgid "And can not be used for encryption."
@@ -1093,7 +1097,7 @@ msgid ""
"\n"
"Your email address will be part of the new key to make it easier for others "
"to identify keys. If you have several email addresses, you can add further "
-"email adresses later."
+"email addresses later."
msgstr ""
"Por favor indique o seu e-mail.\n"
"\n"
@@ -1427,6 +1431,15 @@ msgid "Sign only _locally"
msgstr "Assinar apenas _localmente"
msgid ""
+"It seems that GPGSM is not installed.\n"
+"\n"
+"Temporary disabling support for X.509.\n"
+"\n"
+"Please install GPGSM or invoke this program\n"
+"with the option --disable-x509 ."
+msgstr ""
+
+msgid ""
"The private key you selected as default is no longer available.\n"
"GPA will try to choose a new default key automatically."
msgstr ""
diff --git a/po/ru.po b/po/ru.po
index e76c4bd..2352273 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GPA 0.8\n"
"Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"PO-Revision-Date: 2008-03-18 20:12+0300\n"
+"PO-Revision-Date: 2011-12-12 10:17+0100\n"
"Last-Translator: Sergei Smirnov <moscow at hro.org>\n"
"Language-Team: Russian <moscow at hro.org>\n"
"MIME-Version: 1.0\n"
@@ -300,6 +300,9 @@ msgstr "ÐÑкÑÑÑÑ Ð¾ÐºÐ½Ð¾ наÑÑÑоек"
msgid "Enable the UI server"
msgstr "СÑаÑÑоваÑÑ ÑолÑко ÑеÑÐ²ÐµÑ UI"
+msgid "Disable support for X.509"
+msgstr ""
+
msgid "Read options from file"
msgstr "ÐолÑÑиÑÑ Ð½Ð°ÑÑÑойки из Ñайла"
@@ -1082,7 +1085,7 @@ msgid ""
"\n"
"Your email address will be part of the new key to make it easier for others "
"to identify keys. If you have several email addresses, you can add further "
-"email adresses later."
+"email addresses later."
msgstr ""
"ÐведиÑе Ñвой адÑÐµÑ email.\n"
"\n"
@@ -1417,6 +1420,15 @@ msgid "Sign only _locally"
msgstr "ÐодпиÑаÑÑ ÑолÑко локалÑно"
msgid ""
+"It seems that GPGSM is not installed.\n"
+"\n"
+"Temporary disabling support for X.509.\n"
+"\n"
+"Please install GPGSM or invoke this program\n"
+"with the option --disable-x509 ."
+msgstr ""
+
+msgid ""
"The private key you selected as default is no longer available.\n"
"GPA will try to choose a new default key automatically."
msgstr ""
diff --git a/po/sv.po b/po/sv.po
index 84a62f9..e45a02b 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gpa\n"
"Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"PO-Revision-Date: 2008-09-12 18:01+0100\n"
+"PO-Revision-Date: 2011-12-12 10:13+0100\n"
"Last-Translator: Daniel Nylander <po at danielnylander.se>\n"
"Language-Team: Swedish <tp-sv at listor.tp-sv.se>\n"
"MIME-Version: 1.0\n"
@@ -283,6 +283,9 @@ msgstr "Ãppna inställningsdialogen"
msgid "Enable the UI server"
msgstr "Aktivera användargränssnittsservern (innebär --cms)"
+msgid "Disable support for X.509"
+msgstr ""
+
msgid "Read options from file"
msgstr "Läs flaggor från fil"
@@ -1365,6 +1368,15 @@ msgid "Sign only _locally"
msgstr "Signera endast _lokalt"
msgid ""
+"It seems that GPGSM is not installed.\n"
+"\n"
+"Temporary disabling support for X.509.\n"
+"\n"
+"Please install GPGSM or invoke this program\n"
+"with the option --disable-x509 ."
+msgstr ""
+
+msgid ""
"The private key you selected as default is no longer available.\n"
"GPA will try to choose a new default key automatically."
msgstr ""
diff --git a/po/tr.po b/po/tr.po
index 6549dbb..e17c285 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gpa 0.7.0\n"
"Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"PO-Revision-Date: 2004-06-20 14:42+0300\n"
+"PO-Revision-Date: 2011-12-12 10:14+0100\n"
"Last-Translator: Mert Çetin <mertc at su.sabanciuniv.edu>\n"
"Language-Team: xTc & Déjà Vu\n"
"MIME-Version: 1.0\n"
@@ -306,6 +306,9 @@ msgstr "Tercihler penceresini a
msgid "Enable the UI server"
msgstr ""
+msgid "Disable support for X.509"
+msgstr ""
+
#, fuzzy
msgid "Read options from file"
msgstr "seçenekleri dosyadan oku"
@@ -1084,13 +1087,12 @@ msgstr ""
msgid "Your Name:"
msgstr "Ýsminiz:"
-#, fuzzy
msgid ""
"Please insert your email address.\n"
"\n"
"Your email address will be part of the new key to make it easier for others "
"to identify keys. If you have several email addresses, you can add further "
-"email adresses later."
+"email addresses later."
msgstr ""
"Lütfen email adresinizi girin.\n"
"\n"
@@ -1421,6 +1423,15 @@ msgid "Sign only _locally"
msgstr "Sadece _yerel olarak imzala"
msgid ""
+"It seems that GPGSM is not installed.\n"
+"\n"
+"Temporary disabling support for X.509.\n"
+"\n"
+"Please install GPGSM or invoke this program\n"
+"with the option --disable-x509 ."
+msgstr ""
+
+msgid ""
"The private key you selected as default is no longer available.\n"
"GPA will try to choose a new default key automatically."
msgstr ""
diff --git a/po/zh_TW.Big5.po b/po/zh_TW.Big5.po
index d587978..9ed7ca6 100644
--- a/po/zh_TW.Big5.po
+++ b/po/zh_TW.Big5.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gpa-0.7.0\n"
"Report-Msgid-Bugs-To: gpa-dev at gnupg.org\n"
-"POT-Creation-Date: 2011-08-26 10:32+0200\n"
+"POT-Creation-Date: 2011-12-12 10:10+0100\n"
"PO-Revision-Date: 2003-10-20 11:55+0200\n"
"Last-Translator: Shell Hung <shell at linux.org.hk>\n"
"Language-Team: Hong Kong Linux User Group <info at linux.org.hk>\n"
@@ -362,56 +362,60 @@ msgstr "
msgid "_Detached signature"
msgstr "¯Â¤å¦rñ¸p (&C)"
-#: src/gpa.c:96
+#: src/gpa.c:97
#, fuzzy
msgid "Output version information and exit"
msgstr "Åã¥Üª©¥»¸ê®Æ¤ÎÂ÷¶}"
-#: src/gpa.c:98
+#: src/gpa.c:99
#, fuzzy
msgid "Open key manager (default)"
msgstr "¶}±ÒÆ_°é½s¿è¾¹ (¹w³])"
-#: src/gpa.c:100
+#: src/gpa.c:101
#, fuzzy
msgid "Open file manager"
msgstr "¶}±ÒÀɮ׺޲zû"
-#: src/gpa.c:102 src/gpa.h:80
+#: src/gpa.c:103 src/gpa.h:80
#, fuzzy
msgid "Open the card manager"
msgstr "¶}±ÒÀɮ׺޲zû"
-#: src/gpa.c:104
+#: src/gpa.c:105
msgid "Open clipboard"
msgstr ""
-#: src/gpa.c:106
+#: src/gpa.c:107
#, fuzzy
msgid "Open the settings dialog"
msgstr "¶}±Ò³]©wµøµ¡"
-#: src/gpa.c:108
+#: src/gpa.c:109
msgid "Enable the UI server"
msgstr ""
-#: src/gpa.c:110
+#: src/gpa.c:111
+msgid "Disable support for X.509"
+msgstr ""
+
+#: src/gpa.c:113
#, fuzzy
msgid "Read options from file"
msgstr "¥ÑÀɮפ¤Åª¨ú¿ï¶µ"
-#: src/gpa.c:314
+#: src/gpa.c:317
msgid "[FILE...]"
msgstr ""
-#: src/gpa.c:316
+#: src/gpa.c:319
#, fuzzy
msgid "Graphical frontend to GnuPG"
msgstr ""
"»yªk: gpa [¿ï¶µ]\n"
"GnuPGªº¹Ï¹³¤¶±\n"
-#: src/gpa.c:317
+#: src/gpa.c:320
msgid "Please report bugs to <"
msgstr "¦^³ø¯äÂÎ¦Ü <"
@@ -584,7 +588,8 @@ msgid "_Close"
msgstr "Ãö³¬ (&C)"
#: src/gpafileencryptop.c:540
-msgid "The following key has been revoked by it's owner:"
+#, fuzzy
+msgid "The following key has been revoked by its owner:"
msgstr "³o¤½Æ_¤w³Q¹ï¤è¨ú®ø¤F:"
#: src/gpafileencryptop.c:545 src/gpafileencryptop.c:588
@@ -1380,7 +1385,7 @@ msgid ""
"\n"
"Your email address will be part of the new key to make it easier for others "
"to identify keys. If you have several email addresses, you can add further "
-"email adresses later."
+"email addresses later."
msgstr ""
"½Ð¿é¤J±zªº¹q¶l.\n"
"\n"
@@ -1783,6 +1788,16 @@ msgstr "
msgid "Sign only _locally"
msgstr "¥u¬O¥»¦a¤WªºÃ±¸p (&l)"
+#: src/keytable.c:217
+msgid ""
+"It seems that GPGSM is not installed.\n"
+"\n"
+"Temporary disabling support for X.509.\n"
+"\n"
+"Please install GPGSM or invoke this program\n"
+"with the option --disable-x509 ."
+msgstr ""
+
#: src/options.c:329
msgid ""
"The private key you selected as default is no longer available.\n"
commit 7ad794d2f37897156da6f69f37e3f8c6c90316f2
Author: Werner Koch <wk at gnupg.org>
Date: Mon Dec 12 11:43:17 2011 +0100
Fix indentation.
* src/keytable.c: Fix function name indentation.
diff --git a/src/keytable.c b/src/keytable.c
index 438f0f3..a8198df 100644
--- a/src/keytable.c
+++ b/src/keytable.c
@@ -313,10 +313,11 @@ GpaKeyTable *gpa_keytable_get_secret_instance ()
* This function MAY not do anything until the application goes back into
* the GLib main loop.
*/
-void gpa_keytable_list_keys (GpaKeyTable *keytable,
- GpaKeyTableNextFunc next,
- GpaKeyTableEndFunc end,
- gpointer data)
+void
+gpa_keytable_list_keys (GpaKeyTable *keytable,
+ GpaKeyTableNextFunc next,
+ GpaKeyTableEndFunc end,
+ gpointer data)
{
g_return_if_fail (keytable != NULL);
g_return_if_fail (GPA_IS_KEYTABLE (keytable));
@@ -339,10 +340,11 @@ void gpa_keytable_list_keys (GpaKeyTable *keytable,
/* Same as list_keys, but forces the internal cache to be rebuilt.
*/
-void gpa_keytable_force_reload (GpaKeyTable *keytable,
- GpaKeyTableNextFunc next,
- GpaKeyTableEndFunc end,
- gpointer data)
+void
+gpa_keytable_force_reload (GpaKeyTable *keytable,
+ GpaKeyTableNextFunc next,
+ GpaKeyTableEndFunc end,
+ gpointer data)
{
g_return_if_fail (keytable != NULL);
g_return_if_fail (GPA_IS_KEYTABLE (keytable));
@@ -358,11 +360,12 @@ void gpa_keytable_force_reload (GpaKeyTable *keytable,
/* Load the key with the given fingerprint from GnuPG, replacing it in the
* keytable if needed.
*/
-void gpa_keytable_load_new (GpaKeyTable *keytable,
- const char *fpr,
- GpaKeyTableNextFunc next,
- GpaKeyTableEndFunc end,
- gpointer data)
+void
+gpa_keytable_load_new (GpaKeyTable *keytable,
+ const char *fpr,
+ GpaKeyTableNextFunc next,
+ GpaKeyTableEndFunc end,
+ gpointer data)
{
g_return_if_fail (keytable != NULL);
g_return_if_fail (GPA_IS_KEYTABLE (keytable));
-----------------------------------------------------------------------
Summary of changes:
NEWS | 12 ++-
po/ar.po | 14 +++-
po/cs.po | 14 +++-
po/de.po | 14 +++-
po/es.po | 17 +++-
po/fr.po | 14 +++-
po/ja.po | 17 +++-
po/nl.po | 17 +++-
po/pl.po | 17 +++-
po/pt_BR.po | 17 +++-
po/ru.po | 16 +++-
po/sv.po | 14 +++-
po/tr.po | 17 +++-
po/zh_TW.Big5.po | 43 ++++++---
src/Makefile.am | 17 ++--
src/cardman.c | 108 ++++++++++++++---------
src/cm-unknown.c | 253 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/cm-unknown.h | 57 ++++++++++++
src/keytable.c | 29 ++++---
19 files changed, 605 insertions(+), 102 deletions(-)
create mode 100644 src/cm-unknown.c
create mode 100644 src/cm-unknown.h
hooks/post-receive
--
The GNU Privacy Assistant
http://git.gnupg.org
More information about the Gnupg-commits
mailing list