aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-11-10 07:47:34 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-11-10 07:47:34 +0000
commit9273d06df99648652b98adf86d7562811eb323b8 (patch)
treec27fec60bd50ed5590f149dec8c2c6ae3bbeec48 /src
parent559f0d61388eab404f03a1c673b3c322e2cafa07 (diff)
check if OpenPGP protocol is available on startup.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@733 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r--src/main.c3
-rw-r--r--src/passphrase.c8
2 files changed, 9 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index 4834cb1d..d975339a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -626,7 +626,8 @@ static void idle_function_for_gpgme(void)
static void check_gpg(void)
{
#if USE_GPGME
- if (gpgme_check_version("0.4.5")) {
+ if (gpgme_check_version("0.4.5") &&
+ !gpgme_engine_check_version(GPGME_PROTOCOL_OpenPGP)) {
/* Also does some gpgme init */
gpgme_engine_info_t engineInfo;
diff --git a/src/passphrase.c b/src/passphrase.c
index d4f50489..84c1c5b2 100644
--- a/src/passphrase.c
+++ b/src/passphrase.c
@@ -44,7 +44,9 @@
#include <gtk/gtkstock.h>
#include <string.h>
#include <sys/types.h>
-#include <sys/mman.h>
+#if HAVE_SYS_MMAN_H
+# include <sys/mman.h>
+#endif
#include "passphrase.h"
#include "prefs_common.h"
@@ -263,7 +265,9 @@ create_description(const gchar *uid_hint, const gchar *pass_hint, gint prev_bad)
static int free_passphrase(gpointer _unused)
{
if (last_pass != NULL) {
+#if HAVE_MLOCK
munlock(last_pass, strlen(last_pass));
+#endif
g_free(last_pass);
last_pass = NULL;
debug_print("%% passphrase removed");
@@ -295,8 +299,10 @@ gpgmegtk_passphrase_cb(void *opaque, const char *uid_hint,
else {
if (prefs_common.store_passphrase) {
last_pass = g_strdup(pass);
+#if HAVE_MLOCK
if (mlock(last_pass, strlen(last_pass)) == -1)
debug_print("%% locking passphrase failed");
+#endif
if (prefs_common.store_passphrase_timeout > 0) {
gtk_timeout_add(prefs_common.store_passphrase_timeout*60*1000,