head 1.4; access; symbols pkgsrc-2013Q2:1.4.0.10 pkgsrc-2013Q2-base:1.4 pkgsrc-2012Q4:1.4.0.8 pkgsrc-2012Q4-base:1.4 pkgsrc-2011Q4:1.4.0.6 pkgsrc-2011Q4-base:1.4 pkgsrc-2011Q2:1.4.0.4 pkgsrc-2011Q2-base:1.4 pkgsrc-2009Q4:1.4.0.2 pkgsrc-2009Q4-base:1.4 pkgsrc-2008Q4:1.3.0.14 pkgsrc-2008Q4-base:1.3 pkgsrc-2008Q3:1.3.0.12 pkgsrc-2008Q3-base:1.3 cube-native-xorg:1.3.0.10 cube-native-xorg-base:1.3 pkgsrc-2008Q2:1.3.0.8 pkgsrc-2008Q2-base:1.3 cwrapper:1.3.0.6 pkgsrc-2008Q1:1.3.0.4 pkgsrc-2008Q1-base:1.3 pkgsrc-2007Q4:1.3.0.2 pkgsrc-2007Q4-base:1.3 pkgsrc-2007Q3:1.2.0.10 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.8 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.6 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.4 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.2.0.2 pkgsrc-2006Q3-base:1.2; locks; strict; comment @# @; 1.4 date 2009.03.15.18.14.24; author jmcneill; state dead; branches; next 1.3; 1.3 date 2007.11.13.12.04.24; author rillig; state Exp; branches; next 1.2; 1.2 date 2006.08.28.08.30.12; author jmmv; state dead; branches; next 1.1; 1.1 date 2006.08.27.16.10.21; author jmmv; state Exp; branches; next ; desc @@ 1.4 log @Update gnome-keyring to 2.26.0. Changes between 2.24.0 and 2.26.0: ================================== * Refactor PKI code to make it modular, loosely coupled and easier to hack and test. * Add standard widgets for display of certificates. * If login keyring doesn't exist when changing a PAM password, don't create it automatically. * Overhaul the secure memory allocator to have memory guards, be valgrind compatible, and also be sparing with secure memory. * When importing keys, prompt to initialize new PKCS#11 tokens. * Fix export of RSA keys to be more interoperable. * Make the gp11 library multi-thread safe. * Rework initialization of daemon, and the way that it integrates with the new session manager. * Close open file descriptors before starting daemon from PAM. * Don't leave keyring daemon running if PAM just started it for a password change. * Register environment variables with session properly. * Remove usage of deprecated glib/gtk stuff. * Hundreds of other smaller changes and fixes. @ text @$NetBSD: patch-ab,v 1.3 2007/11/13 12:04:24 rillig Exp $ The native Solaris PAM library doesn't define PAM_EXTERN. --- pam/gkr-pam-module.c.orig 2007-10-09 17:35:32.000000000 +0200 +++ pam/gkr-pam-module.c 2007-11-13 12:43:16.119765000 +0100 @@@@ -77,6 +77,10 @@@@ enum { #define PAM_AUTHTOK_RECOVER_ERR PAM_AUTHTOK_RECOVERY_ERR #endif +#ifndef PAM_EXTERN +#define PAM_EXTERN /* extern */ +#endif + /* ----------------------------------------------------------------------------- * HELPERS */ @ 1.3 log @Added a patch that fixes the build on Solaris 10. @ text @d1 1 a1 1 $NetBSD$ @ 1.2 log @Redo LOCAL_CREDS support in a way that does not change the communication protocol (it's more likely to be accepted and is much easier on the code). Bump PKGREVISION to 3. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.1 2006/08/27 16:10:21 jmmv Exp $ d3 1 a3 1 http://bugzilla.gnome.org/show_bug.cgi?id=353105 d5 5 a9 3 --- gnome-keyring.c.orig 2006-03-03 14:58:58.000000000 +0100 +++ gnome-keyring.c @@@@ -52,6 +52,7 @@@@ typedef enum { d11 3 a13 26 typedef enum { STATE_FAILED, + STATE_INITIALIZING, STATE_WRITING_CREDS, STATE_WRITING_PACKET, STATE_READING_REPLY @@@@ -248,6 +249,24 @@@@ write_all (int fd, const char *buf, size return 0; } +static void +init_connection (GnomeKeyringOperation *op) +{ + char buf; + ssize_t len; + + len = read (op->socket, &buf, sizeof (buf)); + if (len == sizeof (buf)) { + if (buf != '\0') + g_warning ("Invalid initialization byte: %d\n", buf); + else + op->state = STATE_WRITING_CREDS; + } else + g_warning ("Failed to read initialization byte: %s", + len == 0 ? "No data available" : strerror (errno)); +} d15 3 a17 30 + static GnomeKeyringResult write_credentials_byte_sync (int socket) { @@@@ -314,6 +333,9 @@@@ operation_io (GIOChannel *io_channel, schedule_op_failed (op, GNOME_KEYRING_RESULT_IO_ERROR); } + if (op->state == STATE_INITIALIZING && (cond & G_IO_IN)) { + init_connection (op); + } if (op->state == STATE_WRITING_CREDS && (cond & G_IO_OUT)) { write_credentials_byte (op); } @@@@ -420,13 +442,13 @@@@ start_operation (gpointer callback, Keyr if (op->socket < 0) { schedule_op_failed (op, GNOME_KEYRING_RESULT_NO_KEYRING_DAEMON); } else { - op->state = STATE_WRITING_CREDS; + op->state = STATE_INITIALIZING; op->send_buffer = g_string_new (NULL); op->send_pos = 0; channel = g_io_channel_unix_new (op->socket); op->io_watch = g_io_add_watch (channel, - G_IO_OUT | G_IO_HUP, + G_IO_IN | G_IO_OUT | G_IO_HUP, operation_io, op); g_io_channel_unref (channel); } @ 1.1 log @Implement support for LOCAL_CREDS socket credentials. Bump PKGREVISION to 2. This fixes gnome-keyring under NetBSD which, AFAICT, didn't work at all. There are still some problems remaining in gnome-keyring-manager, but I think these are not related to this issue. @ text @d1 1 a1 1 $NetBSD$ @