summaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2014-04-26 02:12:46 +0800
committerkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2014-04-26 02:12:46 +0800
commitdfc30719d9758d9e6b3e06963e4bf5175ae16825 (patch)
tree3c84ec64b1dd1a9a2618a75efa664a18033890bd /security
parentd0d9889c61e774a633eda7b5bce0688ca50d1ac8 (diff)
downloadmarcuscom-ports-dfc30719d9758d9e6b3e06963e4bf5175ae16825.tar
marcuscom-ports-dfc30719d9758d9e6b3e06963e4bf5175ae16825.tar.gz
marcuscom-ports-dfc30719d9758d9e6b3e06963e4bf5175ae16825.tar.bz2
marcuscom-ports-dfc30719d9758d9e6b3e06963e4bf5175ae16825.tar.lz
marcuscom-ports-dfc30719d9758d9e6b3e06963e4bf5175ae16825.tar.xz
marcuscom-ports-dfc30719d9758d9e6b3e06963e4bf5175ae16825.tar.zst
marcuscom-ports-dfc30719d9758d9e6b3e06963e4bf5175ae16825.zip
Update MC-ports to GNOME 3.12.
Dragons beware! Although most of them should be sleeping. git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@19571 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'security')
-rw-r--r--security/gcr/Makefile12
-rw-r--r--security/gcr/distinfo4
-rw-r--r--security/gcr/files/patch-egg_egg-secure-memory.c959
-rw-r--r--security/gcr/files/patch-egg_egg-secure-memory.h75
-rw-r--r--security/gcr/files/patch-introspection145
-rw-r--r--security/gcr/pkg-plist71
-rw-r--r--security/gnome-keyring/Makefile8
-rw-r--r--security/gnome-keyring/distinfo4
-rw-r--r--security/gnome-keyring/files/patch-egg_egg-secure-memory.c959
-rw-r--r--security/gnome-keyring/files/patch-egg_egg-secure-memory.h75
-rw-r--r--security/gnome-keyring/files/patch-egg_tests_test-secmem.c66
-rw-r--r--security/gnome-keyring/pkg-plist8
-rw-r--r--security/libcryptui/Makefile43
-rw-r--r--security/libcryptui/distinfo2
-rw-r--r--security/libcryptui/pkg-descr8
-rw-r--r--security/libcryptui/pkg-plist176
-rw-r--r--security/libgnome-keyring/Makefile7
-rw-r--r--security/libgnome-keyring/distinfo4
-rw-r--r--security/libgnome-keyring/files/patch-egg_egg-dh.c11
-rw-r--r--security/libgnome-keyring/files/patch-egg_egg-libgcrypt.c11
-rw-r--r--security/libgnome-keyring/files/patch-egg_egg-secure-memory.c966
-rw-r--r--security/libgnome-keyring/files/patch-egg_egg-secure-memory.h107
-rw-r--r--security/libgnome-keyring/files/patch-egg_tests_Makefile.in10
-rw-r--r--security/libgnome-keyring/files/patch-egg_tests_test-dh.c11
-rw-r--r--security/libgnome-keyring/files/patch-egg_tests_test-hkdf.c11
-rw-r--r--security/libgnome-keyring/files/patch-egg_tests_test-secmem.c167
-rw-r--r--security/libgnome-keyring/files/patch-library_Makefile.in11
-rw-r--r--security/libgnome-keyring/files/patch-library_gkr-session.c11
-rw-r--r--security/libgnome-keyring/files/patch-library_gnome-keyring-memory.c81
-rw-r--r--security/libgnome-keyring/files/patch-library_gnome-keyring-utils.c11
-rw-r--r--security/libgnome-keyring/files/patch-library_gnome-keyring.c11
-rw-r--r--security/libgnome-keyring/pkg-plist10
-rw-r--r--security/libsecret/Makefile12
-rw-r--r--security/libsecret/distinfo4
-rw-r--r--security/libsecret/pkg-plist37
-rw-r--r--security/seahorse-sharing/Makefile29
-rw-r--r--security/seahorse-sharing/distinfo2
-rw-r--r--security/seahorse-sharing/pkg-descr10
-rw-r--r--security/seahorse-sharing/pkg-plist15
-rw-r--r--security/seahorse/Makefile11
-rw-r--r--security/seahorse/distinfo4
-rw-r--r--security/seahorse/files/patch-pkgcs11_pkcs11-request.c11
-rw-r--r--security/seahorse/pkg-descr2
-rw-r--r--security/seahorse/pkg-plist205
44 files changed, 234 insertions, 4163 deletions
diff --git a/security/gcr/Makefile b/security/gcr/Makefile
index c2fd85ed5..2bdb7b3dc 100644
--- a/security/gcr/Makefile
+++ b/security/gcr/Makefile
@@ -3,14 +3,15 @@
# $MCom$
PORTNAME= gcr
-PORTVERSION= 3.6.2
+PORTVERSION= 3.12.0
CATEGORIES= security gnome
MASTER_SITES= GNOME
MAINTAINER= kwm@FreeBSD.org
COMMENT= Library for bits of crypto UI and parsing
-BUILD_DEPENDS= gtk-doc>0:${PORTSDIR}/textproc/gtk-doc
+BUILD_DEPENDS= gtk-doc>0:${PORTSDIR}/textproc/gtk-doc \
+ vapigen:${PORTSDIR}/lang/vala-vapigen
LIB_DEPENDS= libdbus-1.so:${PORTSDIR}/devel/dbus \
libtasn1.so:${PORTSDIR}/security/libtasn1 \
libp11-kit.so:${PORTSDIR}/security/p11-kit \
@@ -18,10 +19,9 @@ LIB_DEPENDS= libdbus-1.so:${PORTSDIR}/devel/dbus \
CONFLICTS= gnome-keyring-2.[0-9]*
-USE_XZ= yes
-USE_GNOME= gtk30 intlhack introspection:build
-USES= desktop-file-utils gettext gmake pathfix pkgconfig \
- shared-mime-info
+USE_GNOME= gtk30 gnomehier intlhack introspection:build
+USES= desktop-file-utils gettext gmake libtool pathfix pkgconfig \
+ shared-mime-info tar:xz
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
INSTALLS_ICONS= yes
diff --git a/security/gcr/distinfo b/security/gcr/distinfo
index 2f6a07578..c066a175c 100644
--- a/security/gcr/distinfo
+++ b/security/gcr/distinfo
@@ -1,2 +1,2 @@
-SHA256 (gcr-3.6.2.tar.xz) = f709db2435e3635b68d8aa212863e0a8e81b1cc33442852a5183762876c7be9b
-SIZE (gcr-3.6.2.tar.xz) = 1365124
+SHA256 (gcr-3.12.0.tar.xz) = 9d561d0b0a43aaad55fc1d464b3ee3e1687a5021e444f1bbdce3ae624518de77
+SIZE (gcr-3.12.0.tar.xz) = 1335728
diff --git a/security/gcr/files/patch-egg_egg-secure-memory.c b/security/gcr/files/patch-egg_egg-secure-memory.c
deleted file mode 100644
index 1f64ec729..000000000
--- a/security/gcr/files/patch-egg_egg-secure-memory.c
+++ /dev/null
@@ -1,959 +0,0 @@
---- egg/egg-secure-memory.c.orig Wed Sep 19 11:01:27 2012
-+++ egg/egg-secure-memory.c Sat Oct 27 14:41:49 2012
-@@ -22,8 +22,8 @@
- */
-
- /*
-- * IMPORTANT: This is pure vanila standard C, no glib. We need this
-- * because certain consumers of this protocol need to be built
-+ * IMPORTANT: This is pure vanila standard C, no glib. We need this
-+ * because certain consumers of this protocol need to be built
- * without linking in any special libraries. ie: the PKCS#11 module.
- */
-
-@@ -48,8 +48,8 @@
-
- #define DEBUG_SECURE_MEMORY 0
-
--#if DEBUG_SECURE_MEMORY
--#define DEBUG_ALLOC(msg, n) fprintf(stderr, "%s %lu bytes\n", msg, n);
-+#if DEBUG_SECURE_MEMORY
-+#define DEBUG_ALLOC(msg, n) fprintf(stderr, "%s %lu bytes\n", msg, n);
- #else
- #define DEBUG_ALLOC(msg, n)
- #endif
-@@ -59,8 +59,8 @@
- /* Use our own assert to guarantee no glib allocations */
- #ifndef ASSERT
- #ifdef G_DISABLE_ASSERT
--#define ASSERT(x)
--#else
-+#define ASSERT(x)
-+#else
- #define ASSERT(x) assert(x)
- #endif
- #endif
-@@ -74,18 +74,18 @@
- static int show_warning = 1;
- int egg_secure_warnings = 1;
-
--/*
-- * We allocate all memory in units of sizeof(void*). This
-+/*
-+ * We allocate all memory in units of sizeof(void*). This
- * is our definition of 'word'.
- */
- typedef void* word_t;
-
--/* The amount of extra words we can allocate */
-+/* The amount of extra words we can allocate */
- #define WASTE 4
-
--/*
-- * Track allocated memory or a free block. This structure is not stored
-- * in the secure memory area. It is allocated from a pool of other
-+/*
-+ * Track allocated memory or a free block. This structure is not stored
-+ * in the secure memory area. It is allocated from a pool of other
- * memory. See meta_pool_xxx ().
- */
- typedef struct _Cell {
-@@ -97,7 +97,7 @@ typedef struct _Cell {
- struct _Cell *prev; /* Previous in memory ring */
- } Cell;
-
--/*
-+/*
- * A block of secure memory. This structure is the header in that block.
- */
- typedef struct _Block {
-@@ -130,20 +130,20 @@ unused_pop (void **stack)
- ptr = *stack;
- *stack = *(void**)ptr;
- return ptr;
--
-+
- }
-
- static inline void*
- unused_peek (void **stack)
- {
- ASSERT (stack);
-- return *stack;
-+ return *stack;
- }
-
- /* -----------------------------------------------------------------------------
- * POOL META DATA ALLOCATION
-- *
-- * A pool for memory meta data. We allocate fixed size blocks. There are actually
-+ *
-+ * A pool for memory meta data. We allocate fixed size blocks. There are actually
- * two different structures stored in this pool: Cell and Block. Cell is allocated
- * way more often, and is bigger so we just allocate that size for both.
- */
-@@ -185,7 +185,7 @@ pool_alloc (void)
- if (unused_peek (&pool->unused))
- break;
- }
--
-+
- /* Create a new pool */
- if (pool == NULL) {
- len = getpagesize () * 2;
-@@ -205,7 +205,7 @@ pool_alloc (void)
- pool->n_items = (len - sizeof (Pool)) / sizeof (Item);
- for (i = 0; i < pool->n_items; ++i)
- unused_push (&pool->unused, pool->items + i);
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_CREATE_MEMPOOL(pool, 0, 0);
- #endif
-@@ -227,9 +227,9 @@ pool_free (void* item)
- {
- Pool *pool, **at;
- char *ptr, *beg, *end;
--
-+
- ptr = item;
--
-+
- /* Find which block this one belongs to */
- for (at = (Pool **)&EGG_SECURE_GLOBALS.pool_data, pool = *at;
- pool != NULL; at = &pool->next, pool = *at) {
-@@ -275,17 +275,17 @@ pool_valid (void* item)
- {
- Pool *pool;
- char *ptr, *beg, *end;
--
-+
- ptr = item;
--
-+
- /* Find which block this one belongs to */
- for (pool = EGG_SECURE_GLOBALS.pool_data; pool; pool = pool->next) {
- beg = (char*)pool->items;
- end = (char*)pool + pool->length - sizeof (Item);
-- if (ptr >= beg && ptr <= end)
-+ if (ptr >= beg && ptr <= end)
- return (pool->used && (ptr - beg) % sizeof (Item) == 0);
- }
--
-+
- return 0;
- }
-
-@@ -293,9 +293,9 @@ pool_valid (void* item)
-
- /* -----------------------------------------------------------------------------
- * SEC ALLOCATION
-- *
-+ *
- * Each memory cell begins and ends with a pointer to its metadata. These are also
-- * used as guards or red zones. Since they're treated as redzones by valgrind we
-+ * used as guards or red zones. Since they're treated as redzones by valgrind we
- * have to jump through a few hoops before reading and/or writing them.
- */
-
-@@ -315,11 +315,11 @@ sec_write_guards (Cell *cell)
-
- ((void**)cell->words)[0] = (void*)cell;
- ((void**)cell->words)[cell->n_words - 1] = (void*)cell;
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_NOACCESS (cell->words, sizeof (word_t));
- VALGRIND_MAKE_MEM_NOACCESS (cell->words + cell->n_words - 1, sizeof (word_t));
--#endif
-+#endif
- }
-
- static inline void
-@@ -327,16 +327,16 @@ sec_check_guards (Cell *cell)
- {
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_DEFINED (cell->words, sizeof (word_t));
-- VALGRIND_MAKE_MEM_DEFINED (cell->words + cell->n_words - 1, sizeof (word_t));
--#endif
--
-+ VALGRIND_MAKE_MEM_DEFINED (cell->words + cell->n_words - 1, sizeof (word_t));
-+#endif
-+
- ASSERT(((void**)cell->words)[0] == (void*)cell);
- ASSERT(((void**)cell->words)[cell->n_words - 1] == (void*)cell);
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_NOACCESS (cell->words, sizeof (word_t));
- VALGRIND_MAKE_MEM_NOACCESS (cell->words + cell->n_words - 1, sizeof (word_t));
--#endif
-+#endif
- }
-
- static void
-@@ -347,9 +347,9 @@ sec_insert_cell_ring (Cell **ring, Cell *cell)
- ASSERT (cell != *ring);
- ASSERT (cell->next == NULL);
- ASSERT (cell->prev == NULL);
--
-- /* Insert back into the mix of available memory */
-- if (*ring) {
-+
-+ /* Insert back into the mix of available memory */
-+ if (*ring) {
- cell->next = (*ring)->next;
- cell->prev = *ring;
- cell->next->prev = cell;
-@@ -358,7 +358,7 @@ sec_insert_cell_ring (Cell **ring, Cell *cell)
- cell->next = cell;
- cell->prev = cell;
- }
--
-+
- *ring = cell;
- ASSERT (cell->next->prev == cell);
- ASSERT (cell->prev->next == cell);
-@@ -391,7 +391,7 @@ sec_remove_cell_ring (Cell **ring, Cell *cell)
- cell->next->prev = cell->prev;
- cell->prev->next = cell->next;
- cell->next = cell->prev = NULL;
--
-+
- ASSERT (*ring != cell);
- }
-
-@@ -440,10 +440,10 @@ static Cell*
- sec_neighbor_before (Block *block, Cell *cell)
- {
- word_t *word;
--
-+
- ASSERT (cell);
- ASSERT (block);
--
-+
- word = cell->words - 1;
- if (!sec_is_valid_word (block, word))
- return NULL;
-@@ -451,7 +451,7 @@ sec_neighbor_before (Block *block, Cell *cell)
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_DEFINED (word, sizeof (word_t));
- #endif
--
-+
- cell = *word;
- sec_check_guards (cell);
-
-@@ -462,14 +462,14 @@ sec_neighbor_before (Block *block, Cell *cell)
- return cell;
- }
-
--static Cell*
-+static Cell*
- sec_neighbor_after (Block *block, Cell *cell)
- {
- word_t *word;
--
-+
- ASSERT (cell);
- ASSERT (block);
--
-+
- word = cell->words + cell->n_words;
- if (!sec_is_valid_word (block, word))
- return NULL;
-@@ -480,7 +480,7 @@ sec_neighbor_after (Block *block, Cell *cell)
-
- cell = *word;
- sec_check_guards (cell);
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_NOACCESS (word, sizeof (word_t));
- #endif
-@@ -496,7 +496,7 @@ sec_alloc (Block *block,
- Cell *cell, *other;
- size_t n_words;
- void *memory;
--
-+
- ASSERT (block);
- ASSERT (length);
- ASSERT (tag);
-@@ -504,16 +504,16 @@ sec_alloc (Block *block,
- if (!block->unused_cells)
- return NULL;
-
-- /*
-- * Each memory allocation is aligned to a pointer size, and
-+ /*
-+ * Each memory allocation is aligned to a pointer size, and
- * then, sandwidched between two pointers to its meta data.
- * These pointers also act as guards.
- *
-- * We allocate memory in units of sizeof (void*)
-+ * We allocate memory in units of sizeof (void*)
- */
--
-+
- n_words = sec_size_to_words (length) + 2;
--
-+
- /* Look for a cell of at least our required size */
- cell = block->unused_cells;
- while (cell->n_words < n_words) {
-@@ -523,7 +523,7 @@ sec_alloc (Block *block,
- break;
- }
- }
--
-+
- if (!cell)
- return NULL;
-
-@@ -532,7 +532,7 @@ sec_alloc (Block *block,
- ASSERT (cell->prev);
- ASSERT (cell->words);
- sec_check_guards (cell);
--
-+
- /* Steal from the cell if it's too long */
- if (cell->n_words > n_words + WASTE) {
- other = pool_alloc ();
-@@ -542,13 +542,13 @@ sec_alloc (Block *block,
- other->words = cell->words;
- cell->n_words -= n_words;
- cell->words += n_words;
--
-+
- sec_write_guards (other);
- sec_write_guards (cell);
--
-+
- cell = other;
- }
--
-+
- if (cell->next)
- sec_remove_cell_ring (&block->unused_cells, cell);
-
-@@ -557,11 +557,11 @@ sec_alloc (Block *block,
- cell->requested = length;
- sec_insert_cell_ring (&block->used_cells, cell);
- memory = sec_cell_to_memory (cell);
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_UNDEFINED (memory, length);
- #endif
--
-+
- return memset (memory, 0, length);
- }
-
-@@ -570,13 +570,13 @@ sec_free (Block *block, void *memory)
- {
- Cell *cell, *other;
- word_t *word;
--
-+
- ASSERT (block);
- ASSERT (memory);
--
-+
- word = memory;
- --word;
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_DEFINED (word, sizeof (word_t));
- #endif
-@@ -600,39 +600,39 @@ sec_free (Block *block, void *memory)
- /* Remove from the used cell ring */
- sec_remove_cell_ring (&block->used_cells, cell);
-
-- /* Find previous unallocated neighbor, and merge if possible */
-- other = sec_neighbor_before (block, cell);
-- if (other && other->requested == 0) {
-- ASSERT (other->tag == NULL);
-- ASSERT (other->next && other->prev);
-- other->n_words += cell->n_words;
-- sec_write_guards (other);
-- pool_free (cell);
-- cell = other;
-- }
--
-- /* Find next unallocated neighbor, and merge if possible */
-- other = sec_neighbor_after (block, cell);
-- if (other && other->requested == 0) {
-- ASSERT (other->tag == NULL);
-- ASSERT (other->next && other->prev);
-- other->n_words += cell->n_words;
-- other->words = cell->words;
-- if (cell->next)
-- sec_remove_cell_ring (&block->unused_cells, cell);
-- sec_write_guards (other);
-- pool_free (cell);
-- cell = other;
-- }
-+ /* Find previous unallocated neighbor, and merge if possible */
-+ other = sec_neighbor_before (block, cell);
-+ if (other && other->requested == 0) {
-+ ASSERT (other->tag == NULL);
-+ ASSERT (other->next && other->prev);
-+ other->n_words += cell->n_words;
-+ sec_write_guards (other);
-+ pool_free (cell);
-+ cell = other;
-+ }
-
-- /* Add to the unused list if not already there */
-- if (!cell->next)
-- sec_insert_cell_ring (&block->unused_cells, cell);
-+ /* Find next unallocated neighbor, and merge if possible */
-+ other = sec_neighbor_after (block, cell);
-+ if (other && other->requested == 0) {
-+ ASSERT (other->tag == NULL);
-+ ASSERT (other->next && other->prev);
-+ other->n_words += cell->n_words;
-+ other->words = cell->words;
-+ if (cell->next)
-+ sec_remove_cell_ring (&block->unused_cells, cell);
-+ sec_write_guards (other);
-+ pool_free (cell);
-+ cell = other;
-+ }
-
-- cell->tag = NULL;
-- cell->requested = 0;
-- --block->n_used;
-- return NULL;
-+ /* Add to the unused list if not already there */
-+ if (!cell->next)
-+ sec_insert_cell_ring (&block->unused_cells, cell);
-+
-+ cell->tag = NULL;
-+ cell->requested = 0;
-+ --block->n_used;
-+ return NULL;
- }
-
- static void
-@@ -683,7 +683,7 @@ sec_realloc (Block *block,
- /* Dig out where the meta should be */
- word = memory;
- --word;
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_DEFINED (word, sizeof (word_t));
- #endif
-@@ -691,7 +691,7 @@ sec_realloc (Block *block,
- ASSERT (sec_is_valid_word (block, word));
- ASSERT (pool_valid (*word));
- cell = *word;
--
-+
- /* Validate that it's actually for real */
- sec_check_guards (cell);
- ASSERT (cell->requested > 0);
-@@ -710,17 +710,17 @@ sec_realloc (Block *block,
- cell->requested = length;
- alloc = sec_cell_to_memory (cell);
-
-- /*
-+ /*
- * Even though we may be reusing the same cell, that doesn't
- * mean that the allocation is shrinking. It could have shrunk
-- * and is now expanding back some.
-- */
-+ * and is now expanding back some.
-+ */
- if (length < valid)
- sec_clear_undefined (alloc, length, valid);
-
- return alloc;
- }
--
-+
- /* Need braaaaaiiiiiinsss... */
- while (cell->n_words < n_words) {
-
-@@ -728,7 +728,7 @@ sec_realloc (Block *block,
- other = sec_neighbor_after (block, cell);
- if (!other || other->requested != 0)
- break;
--
-+
- /* Eat the whole neighbor if not too big */
- if (n_words - cell->n_words + WASTE >= other->n_words) {
- cell->n_words += other->n_words;
-@@ -745,7 +745,7 @@ sec_realloc (Block *block,
- sec_write_guards (cell);
- }
- }
--
-+
- if (cell->n_words >= n_words) {
- cell->requested = length;
- cell->tag = tag;
-@@ -760,7 +760,7 @@ sec_realloc (Block *block,
- memcpy_with_vbits (alloc, memory, valid);
- sec_free (block, memory);
- }
--
-+
- return alloc;
- }
-
-@@ -770,7 +770,7 @@ sec_allocated (Block *block, void *memory)
- {
- Cell *cell;
- word_t *word;
--
-+
- ASSERT (block);
- ASSERT (memory);
-
-@@ -780,12 +780,12 @@ sec_allocated (Block *block, void *memory)
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_DEFINED (word, sizeof (word_t));
- #endif
--
-+
- /* Lookup the meta for this memory block (using guard pointer) */
- ASSERT (sec_is_valid_word (block, word));
- ASSERT (pool_valid (*word));
- cell = *word;
--
-+
- sec_check_guards (cell);
- ASSERT (cell->requested > 0);
- ASSERT (cell->tag != NULL);
-@@ -817,10 +817,10 @@ sec_validate (Block *block)
- ASSERT (sec_is_valid_word (block, word));
- ASSERT (pool_valid (*word));
- cell = *word;
--
-+
- /* Validate that it's actually for real */
- sec_check_guards (cell);
--
-+
- /* Is it an allocated block? */
- if (cell->requested > 0) {
- ASSERT (cell->tag != NULL);
-@@ -829,7 +829,7 @@ sec_validate (Block *block)
- ASSERT (cell->next->prev == cell);
- ASSERT (cell->prev->next == cell);
- ASSERT (cell->requested <= (cell->n_words - 2) * sizeof (word_t));
--
-+
- /* An unused block */
- } else {
- ASSERT (cell->tag == NULL);
-@@ -838,7 +838,7 @@ sec_validate (Block *block)
- ASSERT (cell->next->prev == cell);
- ASSERT (cell->prev->next == cell);
- }
--
-+
- word += cell->n_words;
- if (word == last)
- break;
-@@ -855,7 +855,7 @@ sec_acquire_pages (size_t *sz,
- {
- void *pages;
- unsigned long pgsize;
--
-+
- ASSERT (sz);
- ASSERT (*sz);
- ASSERT (during_tag);
-@@ -863,7 +863,7 @@ sec_acquire_pages (size_t *sz,
- /* Make sure sz is a multiple of the page size */
- pgsize = getpagesize ();
- *sz = (*sz + pgsize -1) & ~(pgsize - 1);
--
-+
- #if defined(HAVE_MLOCK)
- pages = mmap (0, *sz, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
- if (pages == MAP_FAILED) {
-@@ -873,7 +873,7 @@ sec_acquire_pages (size_t *sz,
- show_warning = 0;
- return NULL;
- }
--
-+
- if (mlock (pages, *sz) < 0) {
- if (show_warning && egg_secure_warnings && errno != EPERM) {
- fprintf (stderr, "couldn't lock %lu bytes of memory (%s): %s\n",
-@@ -883,12 +883,12 @@ sec_acquire_pages (size_t *sz,
- munmap (pages, *sz);
- return NULL;
- }
--
-+
- DEBUG_ALLOC ("gkr-secure-memory: new block ", *sz);
--
-+
- show_warning = 1;
- return pages;
--
-+
- #else
- if (show_warning && egg_secure_warnings)
- fprintf (stderr, "your system does not support private memory");
-@@ -898,21 +898,21 @@ sec_acquire_pages (size_t *sz,
-
- }
-
--static void
-+static void
- sec_release_pages (void *pages, size_t sz)
- {
- ASSERT (pages);
- ASSERT (sz % getpagesize () == 0);
--
-+
- #if defined(HAVE_MLOCK)
- if (munlock (pages, sz) < 0 && egg_secure_warnings)
- fprintf (stderr, "couldn't unlock private memory: %s\n", strerror (errno));
--
-+
- if (munmap (pages, sz) < 0 && egg_secure_warnings)
- fprintf (stderr, "couldn't unmap private anonymous memory: %s\n", strerror (errno));
--
-+
- DEBUG_ALLOC ("gkr-secure-memory: freed block ", sz);
--
-+
- #else
- ASSERT (FALSE);
- #endif
-@@ -924,7 +924,7 @@ sec_release_pages (void *pages, size_t sz)
-
- static Block *all_blocks = NULL;
-
--static Block*
-+static Block*
- sec_block_create (size_t size,
- const char *during_tag)
- {
-@@ -950,7 +950,7 @@ sec_block_create (size_t size,
- /* The size above is a minimum, we're free to go bigger */
- if (size < DEFAULT_BLOCK_SIZE)
- size = DEFAULT_BLOCK_SIZE;
--
-+
- block->words = sec_acquire_pages (&size, during_tag);
- block->n_words = size / sizeof (word_t);
- if (!block->words) {
-@@ -958,11 +958,11 @@ sec_block_create (size_t size,
- pool_free (cell);
- return NULL;
- }
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_DEFINED (block->words, size);
- #endif
--
-+
- /* The first cell to allocate from */
- cell->words = block->words;
- cell->n_words = block->n_words;
-@@ -972,7 +972,7 @@ sec_block_create (size_t size,
-
- block->next = all_blocks;
- all_blocks = block;
--
-+
- return block;
- }
-
-@@ -985,7 +985,7 @@ sec_block_destroy (Block *block)
- ASSERT (block);
- ASSERT (block->words);
- ASSERT (block->n_used == 0);
--
-+
- /* Remove from the list */
- for (at = &all_blocks, bl = *at; bl; at = &bl->next, bl = *at) {
- if (bl == block) {
-@@ -993,7 +993,7 @@ sec_block_destroy (Block *block)
- break;
- }
- }
--
-+
- /* Must have been found */
- ASSERT (bl == block);
- ASSERT (block->used_cells == NULL);
-@@ -1004,7 +1004,7 @@ sec_block_destroy (Block *block)
- sec_remove_cell_ring (&block->unused_cells, cell);
- pool_free (cell);
- }
--
-+
- /* Release all pages of secure memory */
- sec_release_pages (block->words, block->n_words * sizeof (word_t));
-
-@@ -1028,35 +1028,35 @@ egg_secure_alloc_full (const char *tag,
-
- if (length > 0xFFFFFFFF / 2) {
- if (egg_secure_warnings)
-- fprintf (stderr, "tried to allocate an insane amount of memory: %lu\n",
-- (unsigned long)length);
-+ fprintf (stderr, "tried to allocate an insane amount of memory: %lu\n",
-+ (unsigned long)length);
- return NULL;
- }
-
- /* Can't allocate zero bytes */
- if (length == 0)
- return NULL;
--
-+
- DO_LOCK ();
--
-+
- for (block = all_blocks; block; block = block->next) {
- memory = sec_alloc (block, tag, length);
- if (memory)
-- break;
-+ break;
- }
--
-+
- /* None of the current blocks have space, allocate new */
- if (!memory) {
- block = sec_block_create (length, tag);
- if (block)
- memory = sec_alloc (block, tag, length);
- }
--
-+
- #ifdef WITH_VALGRIND
- if (memory != NULL)
- VALGRIND_MALLOCLIKE_BLOCK (memory, length, sizeof (void*), 1);
- #endif
--
-+
- DO_UNLOCK ();
-
- if (!memory && (flags & EGG_SECURE_USE_FALLBACK) && EGG_SECURE_GLOBALS.fallback != NULL) {
-@@ -1064,10 +1064,10 @@ egg_secure_alloc_full (const char *tag,
- if (memory) /* Our returned memory is always zeroed */
- memset (memory, 0, length);
- }
--
-+
- if (!memory)
- errno = ENOMEM;
--
-+
- return memory;
- }
-
-@@ -1087,20 +1087,20 @@ egg_secure_realloc_full (const char *tag,
-
- if (length > 0xFFFFFFFF / 2) {
- if (egg_secure_warnings)
-- fprintf (stderr, "tried to allocate an insane amount of memory: %lu\n",
-+ fprintf (stderr, "tried to allocate an insane amount of memory: %lu\n",
- (unsigned long)length);
- return NULL;
- }
--
-+
- if (memory == NULL)
- return egg_secure_alloc_full (tag, length, flags);
- if (!length) {
- egg_secure_free_full (memory, flags);
- return NULL;
- }
--
-+
- DO_LOCK ();
--
-+
- /* Find out where it belongs to */
- for (block = all_blocks; block; block = block->next) {
- if (sec_is_valid_word (block, memory)) {
-@@ -1115,10 +1115,10 @@ egg_secure_realloc_full (const char *tag,
-
- #ifdef WITH_VALGRIND
- /* Now tell valgrind about either the new block or old one */
-- VALGRIND_MALLOCLIKE_BLOCK (alloc ? alloc : memory,
-- alloc ? length : previous,
-+ VALGRIND_MALLOCLIKE_BLOCK (alloc ? alloc : memory,
-+ alloc ? length : previous,
- sizeof (word_t), 1);
--#endif
-+#endif
- break;
- }
- }
-@@ -1129,13 +1129,13 @@ egg_secure_realloc_full (const char *tag,
-
- if (block && block->n_used == 0)
- sec_block_destroy (block);
--
-- DO_UNLOCK ();
--
-+
-+ DO_UNLOCK ();
-+
- if (!block) {
- if ((flags & EGG_SECURE_USE_FALLBACK) && EGG_SECURE_GLOBALS.fallback) {
-- /*
-- * In this case we can't zero the returned memory,
-+ /*
-+ * In this case we can't zero the returned memory,
- * because we don't know what the block size was.
- */
- return EGG_SECURE_GLOBALS.fallback (memory, length);
-@@ -1155,7 +1155,7 @@ egg_secure_realloc_full (const char *tag,
- egg_secure_free_full (memory, flags);
- }
- }
--
-+
- if (!alloc)
- errno = ENOMEM;
-
-@@ -1172,12 +1172,12 @@ void
- egg_secure_free_full (void *memory, int flags)
- {
- Block *block = NULL;
--
-+
- if (memory == NULL)
- return;
--
-+
- DO_LOCK ();
--
-+
- /* Find out where it belongs to */
- for (block = all_blocks; block; block = block->next) {
- if (sec_is_valid_word (block, memory))
-@@ -1195,9 +1195,9 @@ egg_secure_free_full (void *memory, int flags)
- if (block->n_used == 0)
- sec_block_destroy (block);
- }
--
-+
- DO_UNLOCK ();
--
-+
- if (!block) {
- if ((flags & EGG_SECURE_USE_FALLBACK) && EGG_SECURE_GLOBALS.fallback) {
- EGG_SECURE_GLOBALS.fallback (memory, 0);
-@@ -1208,36 +1208,36 @@ egg_secure_free_full (void *memory, int flags)
- ASSERT (0 && "memory does does not belong to secure memory pool");
- }
- }
--}
-+}
-
--int
-+int
- egg_secure_check (const void *memory)
- {
- Block *block = NULL;
-
- DO_LOCK ();
--
-+
- /* Find out where it belongs to */
- for (block = all_blocks; block; block = block->next) {
- if (sec_is_valid_word (block, (word_t*)memory))
- break;
- }
--
-+
- DO_UNLOCK ();
--
-+
- return block == NULL ? 0 : 1;
--}
-+}
-
- void
- egg_secure_validate (void)
- {
- Block *block = NULL;
--
-+
- DO_LOCK ();
--
-+
- for (block = all_blocks; block; block = block->next)
- sec_validate (block);
--
-+
- DO_UNLOCK ();
- }
-
-@@ -1320,20 +1320,42 @@ egg_secure_strdup_full (const char *tag,
- if (!str)
- return NULL;
-
-- len = strlen (str) + 1;
-+ len = strlen (str) + 1;
- res = (char *)egg_secure_alloc_full (tag, len, options);
- strcpy (res, str);
- return res;
- }
-
-+char *
-+egg_secure_strndup_full (const char *tag,
-+ const char *str,
-+ size_t length,
-+ int options)
-+{
-+ size_t len;
-+ char *res;
-+ const char *end;
-+
-+ if (!str)
-+ return NULL;
-+
-+ end = memchr (str, '\0', length);
-+ if (end != NULL)
-+ length = (end - str);
-+ len = length + 1;
-+ res = (char *)egg_secure_alloc_full (tag, len, options);
-+ memcpy (res, str, len);
-+ return res;
-+}
-+
- void
- egg_secure_clear (void *p, size_t length)
- {
- volatile char *vp;
--
-+
- if (p == NULL)
- return;
--
-+
- vp = (volatile char*)p;
- while (length) {
- *vp = 0xAA;
-@@ -1355,10 +1377,10 @@ egg_secure_strfree (char *str)
- {
- /*
- * If we're using unpageable 'secure' memory, then the free call
-- * should zero out the memory, but because on certain platforms
-+ * should zero out the memory, but because on certain platforms
- * we may be using normal memory, zero it out here just in case.
- */
--
-+
- egg_secure_strclear (str);
- egg_secure_free_full (str, EGG_SECURE_USE_FALLBACK);
- }
diff --git a/security/gcr/files/patch-egg_egg-secure-memory.h b/security/gcr/files/patch-egg_egg-secure-memory.h
deleted file mode 100644
index 56a1607b9..000000000
--- a/security/gcr/files/patch-egg_egg-secure-memory.h
+++ /dev/null
@@ -1,75 +0,0 @@
---- egg/egg-secure-memory.h.orig Wed Sep 19 11:01:27 2012
-+++ egg/egg-secure-memory.h Sat Oct 27 14:41:49 2012
-@@ -27,16 +27,16 @@
- #include <stdlib.h>
-
- /* -------------------------------------------------------------------
-- * Low Level Secure Memory
-- *
-- * IMPORTANT: This is pure vanila standard C, no glib. We need this
-- * because certain consumers of this protocol need to be built
-+ * Low Level Secure Memory
-+ *
-+ * IMPORTANT: This is pure vanila standard C, no glib. We need this
-+ * because certain consumers of this protocol need to be built
- * without linking in any special libraries. ie: the PKCS#11 module.
-- *
-+ *
- * Thread locking
-- *
-+ *
- * In order to use these functions in a module the following functions
-- * must be defined somewhere, and provide appropriate locking for
-+ * must be defined somewhere, and provide appropriate locking for
- * secure memory between threads:
- */
-
-@@ -66,12 +66,12 @@ typedef struct {
-
- extern egg_secure_glob EGG_SECURE_GLOBALS;
-
--/*
-+/*
- * Main functionality
-- *
-+ *
- * Allocations return NULL on failure.
-- */
--
-+ */
-+
- #define EGG_SECURE_USE_FALLBACK 0x0001
-
- #define EGG_SECURE_DECLARE(tag) \
-@@ -83,23 +83,28 @@ extern egg_secure_glob EGG_SECURE_GLOBALS;
- } \
- static inline void* egg_secure_strdup (const char *str) { \
- return egg_secure_strdup_full (G_STRINGIFY (tag), str, EGG_SECURE_USE_FALLBACK); \
-+ } \
-+ static inline void* egg_secure_strndup (const char *str, size_t length) { \
-+ return egg_secure_strndup_full (G_STRINGIFY (tag), str, length, EGG_SECURE_USE_FALLBACK); \
- }
-
- void* egg_secure_alloc_full (const char *tag, size_t length, int options);
-
- void* egg_secure_realloc_full (const char *tag, void *p, size_t length, int options);
-
--void egg_secure_free (void* p);
-+void egg_secure_free (void* p);
-
--void egg_secure_free_full (void* p, int fallback);
-+void egg_secure_free_full (void* p, int fallback);
-
- void egg_secure_clear (void *p, size_t length);
-
--int egg_secure_check (const void* p);
-+int egg_secure_check (const void* p);
-
- void egg_secure_validate (void);
-
- char* egg_secure_strdup_full (const char *tag, const char *str, int options);
-+
-+char* egg_secure_strndup_full (const char *tag, const char *str, size_t length, int options);
-
- void egg_secure_strclear (char *str);
-
diff --git a/security/gcr/files/patch-introspection b/security/gcr/files/patch-introspection
deleted file mode 100644
index a35185476..000000000
--- a/security/gcr/files/patch-introspection
+++ /dev/null
@@ -1,145 +0,0 @@
-From 458b52862334a5b440ebda33f6ab8f5914f1ea59 Mon Sep 17 00:00:00 2001
-From: Stef Walter <stefw@gnome.org>
-Date: Mon, 11 Feb 2013 17:43:54 +0100
-Subject: [PATCH] Use GObject.Object instead of GLib.Object in introspection
- annotations
-
-A gobject-introspection change broke the former.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=693440
----
- gck/gck-misc.c | 6 +++---
- gcr/gcr-collection.c | 6 +++---
- ui/gcr-collection-model.c | 4 ++--
- ui/gcr-list-selector.c | 4 ++--
- ui/gcr-tree-selector.c | 4 ++--
- 5 files changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/gck/gck-misc.c b/gck/gck-misc.c
-index 42780ff..9471404 100644
---- gck/gck-misc.c
-+++ gck/gck-misc.c
-@@ -261,7 +261,7 @@ gck_list_get_boxed_type (void)
-
- /**
- * gck_list_unref_free: (skip)
-- * @reflist: (element-type GLib.Object): list of Gobject reference counted pointers
-+ * @reflist: (element-type GObject.Object): list of Gobject reference counted pointers
- *
- * Free a list of GObject based pointers. All objects in the list
- * will be unreffed and then the list itself will be freed.
-@@ -279,13 +279,13 @@ gck_list_unref_free (GList *reflist)
-
- /**
- * gck_list_ref_copy: (skip)
-- * @reflist: (element-type GLib.Object): list of GObject reference counted
-+ * @reflist: (element-type GObject.Object): list of GObject reference counted
- * objects
- *
- * Copy a list of GObject based pointers. All objects
- * in the list will be reffed and the list will be copied.
- *
-- * Return value: (transfer full) (element-type GLib.Object): the copied and
-+ * Return value: (transfer full) (element-type GObject.Object): the copied and
- * reffed list, when done, free it with gck_list_unref_free ()
- **/
- GList *
-diff --git a/gcr/gcr-collection.c b/gcr/gcr-collection.c
-index cb0c29b..4975c3c 100644
---- gcr/gcr-collection.c
-+++ gcr/gcr-collection.c
-@@ -65,7 +65,7 @@ gcr_collection_default_init (GcrCollectionIface *iface)
- /**
- * GcrCollection::added:
- * @self: the collection
-- * @object: (type GLib.Object): object that was added
-+ * @object: (type GObject.Object): object that was added
- *
- * This signal is emitted when an object is added to the collection.
- */
-@@ -77,7 +77,7 @@ gcr_collection_default_init (GcrCollectionIface *iface)
- /**
- * GcrCollection::removed:
- * @self: the collection
-- * @object: (type GLib.Object): object that was removed
-+ * @object: (type GObject.Object): object that was removed
- *
- * This signal is emitted when an object is removed from the collection.
- */
-@@ -117,7 +117,7 @@ gcr_collection_get_length (GcrCollection *self)
- *
- * Get a list of the objects in this collection.
- *
-- * Returns: (transfer container) (element-type GLib.Object): a list of the objects
-+ * Returns: (transfer container) (element-type GObject.Object): a list of the objects
- * in this collection, which should be freed with g_list_free()
- */
- GList*
-diff --git a/ui/gcr-collection-model.c b/ui/gcr-collection-model.c
-index 58cf64f..d9bd688 100644
---- gcr/gcr-collection-model.c
-+++ gcr/gcr-collection-model.c
-@@ -1587,7 +1587,7 @@ gcr_collection_model_is_selected (GcrCollectionModel *self, GtkTreeIter *iter)
- *
- * Get a list of checked/selected objects.
- *
-- * Returns: (transfer container) (element-type GLib.Object): a list of selected
-+ * Returns: (transfer container) (element-type GObject.Object): a list of selected
- * objects, which should be freed with g_list_free()
- */
- GList *
-@@ -1611,7 +1611,7 @@ gcr_collection_model_get_selected_objects (GcrCollectionModel *self)
- /**
- * gcr_collection_model_set_selected_objects:
- * @self: the collection model
-- * @selected: (element-type GLib.Object): a list of objects to select
-+ * @selected: (element-type GObject.Object): a list of objects to select
- *
- * Set the checked/selected objects.
- */
-diff --git a/ui/gcr-list-selector.c b/ui/gcr-list-selector.c
-index 64a3e62..326e91b 100644
---- ui/gcr-list-selector.c
-+++ gcr/gcr-list-selector.c
-@@ -397,7 +397,7 @@ gcr_list_selector_get_collection (GcrListSelector *self)
- *
- * Get a list of selected objects.
- *
-- * Returns: (transfer container) (element-type GLib.Object): the list of
-+ * Returns: (transfer container) (element-type GObject.Object): the list of
- * selected objects, to be released with g_list_free()
- */
- GList*
-@@ -410,7 +410,7 @@ gcr_list_selector_get_selected (GcrListSelector *self)
- /**
- * gcr_list_selector_set_selected:
- * @self: The selector
-- * @selected: (element-type GLib.Object): the list of objects to select
-+ * @selected: (element-type GObject.Object): the list of objects to select
- *
- * Select certain objects in the selector.
- */
-diff --git a/ui/gcr-tree-selector.c b/ui/gcr-tree-selector.c
-index 6766b5e..b5324bb 100644
---- ui/gcr-tree-selector.c
-+++ gcr/gcr-tree-selector.c
-@@ -338,7 +338,7 @@ gcr_tree_selector_get_columns (GcrTreeSelector *self)
- *
- * Get a list of selected objects.
- *
-- * Returns: (transfer container) (element-type GLib.Object): the list of selected
-+ * Returns: (transfer container) (element-type GObject.Object): the list of selected
- * objects, to be released with g_list_free()
- */
- GList*
-@@ -351,7 +351,7 @@ gcr_tree_selector_get_selected (GcrTreeSelector *self)
- /**
- * gcr_tree_selector_set_selected:
- * @self: The selector
-- * @selected: (element-type GLib.Object): The list of objects to select.
-+ * @selected: (element-type GObject.Object): the list of objects to select
- *
- * Select certain objects in the selector.
- */
---
-1.8.1
diff --git a/security/gcr/pkg-plist b/security/gcr/pkg-plist
index 643b9e07a..445f1ffd5 100644
--- a/security/gcr/pkg-plist
+++ b/security/gcr/pkg-plist
@@ -1,76 +1,85 @@
bin/gcr-viewer
include/gck-1/gck/gck-deprecated.h
include/gck-1/gck/gck-enum-types.h
+include/gck-1/gck/gck-version.h
include/gck-1/gck/gck.h
include/gck-1/gck/pkcs11.h
include/gck-1/gck/pkcs11n.h
include/gck-1/gck/pkcs11x.h
include/gcr-3/gcr/gcr-base.h
-include/gcr-3/gcr/gcr-certificate-basics-widget.h
include/gcr-3/gcr/gcr-certificate-chain.h
-include/gcr-3/gcr/gcr-certificate-details-widget.h
-include/gcr-3/gcr/gcr-certificate-renderer.h
include/gcr-3/gcr/gcr-certificate-request.h
-include/gcr-3/gcr/gcr-certificate-widget.h
include/gcr-3/gcr/gcr-certificate.h
-include/gcr-3/gcr/gcr-collection-model.h
include/gcr-3/gcr/gcr-collection.h
include/gcr-3/gcr/gcr-column.h
-include/gcr-3/gcr/gcr-combo-selector.h
include/gcr-3/gcr/gcr-comparable.h
include/gcr-3/gcr/gcr-deprecated-base.h
-include/gcr-3/gcr/gcr-deprecated.h
include/gcr-3/gcr/gcr-enum-types-base.h
-include/gcr-3/gcr/gcr-enum-types.h
-include/gcr-3/gcr/gcr-failure-renderer.h
include/gcr-3/gcr/gcr-filter-collection.h
include/gcr-3/gcr/gcr-fingerprint.h
include/gcr-3/gcr/gcr-icons.h
-include/gcr-3/gcr/gcr-import-button.h
include/gcr-3/gcr/gcr-import-interaction.h
include/gcr-3/gcr/gcr-importer.h
-include/gcr-3/gcr/gcr-key-renderer.h
-include/gcr-3/gcr/gcr-key-widget.h
include/gcr-3/gcr/gcr-library.h
-include/gcr-3/gcr/gcr-list-selector.h
include/gcr-3/gcr/gcr-mock-prompter.h
include/gcr-3/gcr/gcr-parser.h
include/gcr-3/gcr/gcr-pkcs11-certificate.h
-include/gcr-3/gcr/gcr-prompt-dialog.h
include/gcr-3/gcr/gcr-prompt.h
-include/gcr-3/gcr/gcr-renderer.h
include/gcr-3/gcr/gcr-secret-exchange.h
-include/gcr-3/gcr/gcr-secure-entry-buffer.h
include/gcr-3/gcr/gcr-secure-memory.h
include/gcr-3/gcr/gcr-simple-certificate.h
include/gcr-3/gcr/gcr-simple-collection.h
include/gcr-3/gcr/gcr-system-prompt.h
include/gcr-3/gcr/gcr-system-prompter.h
-include/gcr-3/gcr/gcr-tree-selector.h
include/gcr-3/gcr/gcr-trust.h
include/gcr-3/gcr/gcr-types.h
include/gcr-3/gcr/gcr-union-collection.h
-include/gcr-3/gcr/gcr-unlock-options-widget.h
include/gcr-3/gcr/gcr-unlock-options.h
-include/gcr-3/gcr/gcr-viewer-widget.h
-include/gcr-3/gcr/gcr-viewer.h
+include/gcr-3/gcr/gcr-version.h
include/gcr-3/gcr/gcr.h
+include/gcr-3/ui/gcr-certificate-basics-widget.h
+include/gcr-3/ui/gcr-certificate-details-widget.h
+include/gcr-3/ui/gcr-certificate-renderer.h
+include/gcr-3/ui/gcr-certificate-widget.h
+include/gcr-3/ui/gcr-collection-model.h
+include/gcr-3/ui/gcr-combo-selector.h
+include/gcr-3/ui/gcr-deprecated.h
+include/gcr-3/ui/gcr-enum-types.h
+include/gcr-3/ui/gcr-failure-renderer.h
+include/gcr-3/ui/gcr-import-button.h
+include/gcr-3/ui/gcr-key-renderer.h
+include/gcr-3/ui/gcr-key-widget.h
+include/gcr-3/ui/gcr-list-selector.h
+include/gcr-3/ui/gcr-prompt-dialog.h
+include/gcr-3/ui/gcr-renderer.h
+include/gcr-3/ui/gcr-secure-entry-buffer.h
+include/gcr-3/ui/gcr-tree-selector.h
+include/gcr-3/ui/gcr-ui.h
+include/gcr-3/ui/gcr-unlock-options-widget.h
+include/gcr-3/ui/gcr-viewer-widget.h
+include/gcr-3/ui/gcr-viewer.h
lib/girepository-1.0/Gck-1.typelib
lib/girepository-1.0/Gcr-3.typelib
+lib/girepository-1.0/GcrUi-3.typelib
lib/libgck-1.la
lib/libgck-1.so
lib/libgck-1.so.0
-lib/libgcr-3.la
+lib/libgck-1.so.0.0.0
lib/libgcr-3.so
lib/libgcr-3.so.1
+lib/libgcr-3.so.1.0.0
lib/libgcr-base-3.la
lib/libgcr-base-3.so
lib/libgcr-base-3.so.1
-lib/libmock-test-module.la
-lib/libmock-test-module.so
+lib/libgcr-base-3.so.1.0.0
+lib/libgcr-ui-3.la
+lib/libgcr-ui-3.so
+lib/libgcr-ui-3.so.1
+lib/libgcr-ui-3.so.1.0.0
libdata/pkgconfig/gck-1.pc
libdata/pkgconfig/gcr-3.pc
libdata/pkgconfig/gcr-base-3.pc
+libdata/pkgconfig/gcr-ui-3.pc
libexec/gcr-prompter
share/GConf/gsettings/org.gnome.crypto.pgp.convert
share/GConf/gsettings/org.gnome.crypto.pgp_keyservers.convert
@@ -82,6 +91,7 @@ share/gcr-3/ui/gcr-pkcs11-import-dialog.ui
share/gcr-3/ui/gcr-unlock-options-widget.ui
share/gir-1.0/Gck-1.gir
share/gir-1.0/Gcr-3.gir
+share/gir-1.0/GcrUi-3.gir
share/gtk-doc/html/gck/GckAttributes.html
share/gtk-doc/html/gck/GckEnumerator.html
share/gtk-doc/html/gck/GckModule.html
@@ -93,6 +103,7 @@ share/gtk-doc/html/gck/annotation-glossary.html
share/gtk-doc/html/gck/gck-Errors.html
share/gtk-doc/html/gck/gck-GckAttribute.html
share/gtk-doc/html/gck/gck-GckModule-lists.html
+share/gtk-doc/html/gck/gck-Library-Utilities.html
share/gtk-doc/html/gck/gck-Miscellaneous-Functions.html
share/gtk-doc/html/gck/gck-PKCS11-URIs.html
share/gtk-doc/html/gck/gck.devhelp2
@@ -111,6 +122,7 @@ share/gtk-doc/html/gcr-3/GcrCertificateWidget.html
share/gtk-doc/html/gcr-3/GcrCollection.html
share/gtk-doc/html/gcr-3/GcrCollectionModel.html
share/gtk-doc/html/gcr-3/GcrComboSelector.html
+share/gtk-doc/html/gcr-3/GcrComparable.html
share/gtk-doc/html/gcr-3/GcrImportButton.html
share/gtk-doc/html/gcr-3/GcrImporter.html
share/gtk-doc/html/gcr-3/GcrKeyWidget.html
@@ -138,10 +150,10 @@ share/gtk-doc/html/gcr-3/combo-selector.png
share/gtk-doc/html/gcr-3/gcr-3.devhelp2
share/gtk-doc/html/gcr-3/gcr-GcrCertificateRequest.html
share/gtk-doc/html/gcr-3/gcr-GcrColumn.html
-share/gtk-doc/html/gcr-3/gcr-GcrComparable.html
share/gtk-doc/html/gcr-3/gcr-GcrImportInteraction.html
share/gtk-doc/html/gcr-3/gcr-Key-Fingerprints.html
-share/gtk-doc/html/gcr-3/gcr-Library-Settings.html
+share/gtk-doc/html/gcr-3/gcr-Library-PKCS#11.html
+share/gtk-doc/html/gcr-3/gcr-Library-Utilities.html
share/gtk-doc/html/gcr-3/gcr-Non-pageable-Memory.html
share/gtk-doc/html/gcr-3/gcr-Trust-Storage-and-Lookups.html
share/gtk-doc/html/gcr-3/home.png
@@ -263,6 +275,7 @@ share/locale/sv/LC_MESSAGES/gcr.mo
share/locale/ta/LC_MESSAGES/gcr.mo
share/locale/te/LC_MESSAGES/gcr.mo
share/locale/th/LC_MESSAGES/gcr.mo
+share/locale/tg/LC_MESSAGES/gcr.mo
share/locale/tr/LC_MESSAGES/gcr.mo
share/locale/ug/LC_MESSAGES/gcr.mo
share/locale/uk/LC_MESSAGES/gcr.mo
@@ -272,12 +285,20 @@ share/locale/zh_CN/LC_MESSAGES/gcr.mo
share/locale/zh_HK/LC_MESSAGES/gcr.mo
share/locale/zh_TW/LC_MESSAGES/gcr.mo
share/mime/packages/gcr-crypto-types.xml
+share/vala/vapi/gck-1.deps
+share/vala/vapi/gck-1.vapi
+share/vala/vapi/gcr-3.deps
+share/vala/vapi/gcr-3.vapi
+share/vala/vapi/gcr-ui-3.deps
+share/vala/vapi/gcr-ui-3.vapi
+share/vala/vapi/pkcs11.vapi
@dirrm share/gtk-doc/html/gcr-3
@dirrm share/gtk-doc/html/gck
@dirrmtry share/gtk-doc/html
@dirrmtry share/gtk-doc
@dirrm share/gcr-3/ui
@dirrm share/gcr-3
+@dirrm include/gcr-3/ui
@dirrm include/gcr-3/gcr
@dirrm include/gcr-3
@dirrm include/gck-1/gck
diff --git a/security/gnome-keyring/Makefile b/security/gnome-keyring/Makefile
index 93424878e..9cda8fab2 100644
--- a/security/gnome-keyring/Makefile
+++ b/security/gnome-keyring/Makefile
@@ -3,7 +3,7 @@
# $MCom$
PORTNAME= gnome-keyring
-PORTVERSION= 3.6.2
+PORTVERSION= 3.12.0
CATEGORIES= security gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome3
@@ -21,9 +21,8 @@ LIB_DEPENDS= libgnome-keyring.so:${PORTSDIR}/security/libgnome-keyring \
libgcrypt.so:${PORTSDIR}/security/libgcrypt
RUN_DEPENDS= ${LOCALBASE}/share/certs/ca-root-nss.crt:${PORTSDIR}/security/ca_root_nss
-USE_XZ= yes
-USE_GNOME= gnomeprefix gtk30 ltverhack intlhack
-USES= gettext gmake pathfix pkgconfig
+USE_GNOME= gnomeprefix gtk30 intlhack libxslt:build
+USES= gettext gmake libtool pathfix pkgconfig tar:xz
INSTALLS_ICONS= yes
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
@@ -37,7 +36,6 @@ post-patch:
@${REINPLACE_CMD} -e 's|make --version|${GMAKE} --version|g' \
${WRKSRC}/configure
@${REINPLACE_CMD} -e 's|gnome-keyring-module|gnome-keyring.module|g' \
- ${WRKSRC}/pkcs11/rpc-layer/Makefile.in \
${WRKSRC}/configure
post-install:
diff --git a/security/gnome-keyring/distinfo b/security/gnome-keyring/distinfo
index c3a25a259..05b9cc80d 100644
--- a/security/gnome-keyring/distinfo
+++ b/security/gnome-keyring/distinfo
@@ -1,2 +1,2 @@
-SHA256 (gnome3/gnome-keyring-3.6.2.tar.xz) = ae60558d60171325ddd90603328393d35d7b560a70b7ab45c4d2718d01130cd6
-SIZE (gnome3/gnome-keyring-3.6.2.tar.xz) = 1139836
+SHA256 (gnome3/gnome-keyring-3.12.0.tar.xz) = 92695ed4d78a576ae77a9ac6faa8fe59db14358ec46b073199e70d537e29ec5f
+SIZE (gnome3/gnome-keyring-3.12.0.tar.xz) = 1162892
diff --git a/security/gnome-keyring/files/patch-egg_egg-secure-memory.c b/security/gnome-keyring/files/patch-egg_egg-secure-memory.c
deleted file mode 100644
index a3874cbfe..000000000
--- a/security/gnome-keyring/files/patch-egg_egg-secure-memory.c
+++ /dev/null
@@ -1,959 +0,0 @@
---- egg/egg-secure-memory.c.orig Wed Sep 26 10:28:35 2012
-+++ egg/egg-secure-memory.c Sat Oct 27 14:46:28 2012
-@@ -22,8 +22,8 @@
- */
-
- /*
-- * IMPORTANT: This is pure vanila standard C, no glib. We need this
-- * because certain consumers of this protocol need to be built
-+ * IMPORTANT: This is pure vanila standard C, no glib. We need this
-+ * because certain consumers of this protocol need to be built
- * without linking in any special libraries. ie: the PKCS#11 module.
- */
-
-@@ -48,8 +48,8 @@
-
- #define DEBUG_SECURE_MEMORY 0
-
--#if DEBUG_SECURE_MEMORY
--#define DEBUG_ALLOC(msg, n) fprintf(stderr, "%s %lu bytes\n", msg, n);
-+#if DEBUG_SECURE_MEMORY
-+#define DEBUG_ALLOC(msg, n) fprintf(stderr, "%s %lu bytes\n", msg, n);
- #else
- #define DEBUG_ALLOC(msg, n)
- #endif
-@@ -59,8 +59,8 @@
- /* Use our own assert to guarantee no glib allocations */
- #ifndef ASSERT
- #ifdef G_DISABLE_ASSERT
--#define ASSERT(x)
--#else
-+#define ASSERT(x)
-+#else
- #define ASSERT(x) assert(x)
- #endif
- #endif
-@@ -74,18 +74,18 @@
- static int show_warning = 1;
- int egg_secure_warnings = 1;
-
--/*
-- * We allocate all memory in units of sizeof(void*). This
-+/*
-+ * We allocate all memory in units of sizeof(void*). This
- * is our definition of 'word'.
- */
- typedef void* word_t;
-
--/* The amount of extra words we can allocate */
-+/* The amount of extra words we can allocate */
- #define WASTE 4
-
--/*
-- * Track allocated memory or a free block. This structure is not stored
-- * in the secure memory area. It is allocated from a pool of other
-+/*
-+ * Track allocated memory or a free block. This structure is not stored
-+ * in the secure memory area. It is allocated from a pool of other
- * memory. See meta_pool_xxx ().
- */
- typedef struct _Cell {
-@@ -97,7 +97,7 @@ typedef struct _Cell {
- struct _Cell *prev; /* Previous in memory ring */
- } Cell;
-
--/*
-+/*
- * A block of secure memory. This structure is the header in that block.
- */
- typedef struct _Block {
-@@ -130,20 +130,20 @@ unused_pop (void **stack)
- ptr = *stack;
- *stack = *(void**)ptr;
- return ptr;
--
-+
- }
-
- static inline void*
- unused_peek (void **stack)
- {
- ASSERT (stack);
-- return *stack;
-+ return *stack;
- }
-
- /* -----------------------------------------------------------------------------
- * POOL META DATA ALLOCATION
-- *
-- * A pool for memory meta data. We allocate fixed size blocks. There are actually
-+ *
-+ * A pool for memory meta data. We allocate fixed size blocks. There are actually
- * two different structures stored in this pool: Cell and Block. Cell is allocated
- * way more often, and is bigger so we just allocate that size for both.
- */
-@@ -185,7 +185,7 @@ pool_alloc (void)
- if (unused_peek (&pool->unused))
- break;
- }
--
-+
- /* Create a new pool */
- if (pool == NULL) {
- len = getpagesize () * 2;
-@@ -205,7 +205,7 @@ pool_alloc (void)
- pool->n_items = (len - sizeof (Pool)) / sizeof (Item);
- for (i = 0; i < pool->n_items; ++i)
- unused_push (&pool->unused, pool->items + i);
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_CREATE_MEMPOOL(pool, 0, 0);
- #endif
-@@ -227,9 +227,9 @@ pool_free (void* item)
- {
- Pool *pool, **at;
- char *ptr, *beg, *end;
--
-+
- ptr = item;
--
-+
- /* Find which block this one belongs to */
- for (at = (Pool **)&EGG_SECURE_GLOBALS.pool_data, pool = *at;
- pool != NULL; at = &pool->next, pool = *at) {
-@@ -275,17 +275,17 @@ pool_valid (void* item)
- {
- Pool *pool;
- char *ptr, *beg, *end;
--
-+
- ptr = item;
--
-+
- /* Find which block this one belongs to */
- for (pool = EGG_SECURE_GLOBALS.pool_data; pool; pool = pool->next) {
- beg = (char*)pool->items;
- end = (char*)pool + pool->length - sizeof (Item);
-- if (ptr >= beg && ptr <= end)
-+ if (ptr >= beg && ptr <= end)
- return (pool->used && (ptr - beg) % sizeof (Item) == 0);
- }
--
-+
- return 0;
- }
-
-@@ -293,9 +293,9 @@ pool_valid (void* item)
-
- /* -----------------------------------------------------------------------------
- * SEC ALLOCATION
-- *
-+ *
- * Each memory cell begins and ends with a pointer to its metadata. These are also
-- * used as guards or red zones. Since they're treated as redzones by valgrind we
-+ * used as guards or red zones. Since they're treated as redzones by valgrind we
- * have to jump through a few hoops before reading and/or writing them.
- */
-
-@@ -315,11 +315,11 @@ sec_write_guards (Cell *cell)
-
- ((void**)cell->words)[0] = (void*)cell;
- ((void**)cell->words)[cell->n_words - 1] = (void*)cell;
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_NOACCESS (cell->words, sizeof (word_t));
- VALGRIND_MAKE_MEM_NOACCESS (cell->words + cell->n_words - 1, sizeof (word_t));
--#endif
-+#endif
- }
-
- static inline void
-@@ -327,16 +327,16 @@ sec_check_guards (Cell *cell)
- {
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_DEFINED (cell->words, sizeof (word_t));
-- VALGRIND_MAKE_MEM_DEFINED (cell->words + cell->n_words - 1, sizeof (word_t));
--#endif
--
-+ VALGRIND_MAKE_MEM_DEFINED (cell->words + cell->n_words - 1, sizeof (word_t));
-+#endif
-+
- ASSERT(((void**)cell->words)[0] == (void*)cell);
- ASSERT(((void**)cell->words)[cell->n_words - 1] == (void*)cell);
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_NOACCESS (cell->words, sizeof (word_t));
- VALGRIND_MAKE_MEM_NOACCESS (cell->words + cell->n_words - 1, sizeof (word_t));
--#endif
-+#endif
- }
-
- static void
-@@ -347,9 +347,9 @@ sec_insert_cell_ring (Cell **ring, Cell *cell)
- ASSERT (cell != *ring);
- ASSERT (cell->next == NULL);
- ASSERT (cell->prev == NULL);
--
-- /* Insert back into the mix of available memory */
-- if (*ring) {
-+
-+ /* Insert back into the mix of available memory */
-+ if (*ring) {
- cell->next = (*ring)->next;
- cell->prev = *ring;
- cell->next->prev = cell;
-@@ -358,7 +358,7 @@ sec_insert_cell_ring (Cell **ring, Cell *cell)
- cell->next = cell;
- cell->prev = cell;
- }
--
-+
- *ring = cell;
- ASSERT (cell->next->prev == cell);
- ASSERT (cell->prev->next == cell);
-@@ -391,7 +391,7 @@ sec_remove_cell_ring (Cell **ring, Cell *cell)
- cell->next->prev = cell->prev;
- cell->prev->next = cell->next;
- cell->next = cell->prev = NULL;
--
-+
- ASSERT (*ring != cell);
- }
-
-@@ -440,10 +440,10 @@ static Cell*
- sec_neighbor_before (Block *block, Cell *cell)
- {
- word_t *word;
--
-+
- ASSERT (cell);
- ASSERT (block);
--
-+
- word = cell->words - 1;
- if (!sec_is_valid_word (block, word))
- return NULL;
-@@ -451,7 +451,7 @@ sec_neighbor_before (Block *block, Cell *cell)
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_DEFINED (word, sizeof (word_t));
- #endif
--
-+
- cell = *word;
- sec_check_guards (cell);
-
-@@ -462,14 +462,14 @@ sec_neighbor_before (Block *block, Cell *cell)
- return cell;
- }
-
--static Cell*
-+static Cell*
- sec_neighbor_after (Block *block, Cell *cell)
- {
- word_t *word;
--
-+
- ASSERT (cell);
- ASSERT (block);
--
-+
- word = cell->words + cell->n_words;
- if (!sec_is_valid_word (block, word))
- return NULL;
-@@ -480,7 +480,7 @@ sec_neighbor_after (Block *block, Cell *cell)
-
- cell = *word;
- sec_check_guards (cell);
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_NOACCESS (word, sizeof (word_t));
- #endif
-@@ -496,7 +496,7 @@ sec_alloc (Block *block,
- Cell *cell, *other;
- size_t n_words;
- void *memory;
--
-+
- ASSERT (block);
- ASSERT (length);
- ASSERT (tag);
-@@ -504,16 +504,16 @@ sec_alloc (Block *block,
- if (!block->unused_cells)
- return NULL;
-
-- /*
-- * Each memory allocation is aligned to a pointer size, and
-+ /*
-+ * Each memory allocation is aligned to a pointer size, and
- * then, sandwidched between two pointers to its meta data.
- * These pointers also act as guards.
- *
-- * We allocate memory in units of sizeof (void*)
-+ * We allocate memory in units of sizeof (void*)
- */
--
-+
- n_words = sec_size_to_words (length) + 2;
--
-+
- /* Look for a cell of at least our required size */
- cell = block->unused_cells;
- while (cell->n_words < n_words) {
-@@ -523,7 +523,7 @@ sec_alloc (Block *block,
- break;
- }
- }
--
-+
- if (!cell)
- return NULL;
-
-@@ -532,7 +532,7 @@ sec_alloc (Block *block,
- ASSERT (cell->prev);
- ASSERT (cell->words);
- sec_check_guards (cell);
--
-+
- /* Steal from the cell if it's too long */
- if (cell->n_words > n_words + WASTE) {
- other = pool_alloc ();
-@@ -542,13 +542,13 @@ sec_alloc (Block *block,
- other->words = cell->words;
- cell->n_words -= n_words;
- cell->words += n_words;
--
-+
- sec_write_guards (other);
- sec_write_guards (cell);
--
-+
- cell = other;
- }
--
-+
- if (cell->next)
- sec_remove_cell_ring (&block->unused_cells, cell);
-
-@@ -557,11 +557,11 @@ sec_alloc (Block *block,
- cell->requested = length;
- sec_insert_cell_ring (&block->used_cells, cell);
- memory = sec_cell_to_memory (cell);
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_UNDEFINED (memory, length);
- #endif
--
-+
- return memset (memory, 0, length);
- }
-
-@@ -570,13 +570,13 @@ sec_free (Block *block, void *memory)
- {
- Cell *cell, *other;
- word_t *word;
--
-+
- ASSERT (block);
- ASSERT (memory);
--
-+
- word = memory;
- --word;
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_DEFINED (word, sizeof (word_t));
- #endif
-@@ -600,39 +600,39 @@ sec_free (Block *block, void *memory)
- /* Remove from the used cell ring */
- sec_remove_cell_ring (&block->used_cells, cell);
-
-- /* Find previous unallocated neighbor, and merge if possible */
-- other = sec_neighbor_before (block, cell);
-- if (other && other->requested == 0) {
-- ASSERT (other->tag == NULL);
-- ASSERT (other->next && other->prev);
-- other->n_words += cell->n_words;
-- sec_write_guards (other);
-- pool_free (cell);
-- cell = other;
-- }
--
-- /* Find next unallocated neighbor, and merge if possible */
-- other = sec_neighbor_after (block, cell);
-- if (other && other->requested == 0) {
-- ASSERT (other->tag == NULL);
-- ASSERT (other->next && other->prev);
-- other->n_words += cell->n_words;
-- other->words = cell->words;
-- if (cell->next)
-- sec_remove_cell_ring (&block->unused_cells, cell);
-- sec_write_guards (other);
-- pool_free (cell);
-- cell = other;
-- }
-+ /* Find previous unallocated neighbor, and merge if possible */
-+ other = sec_neighbor_before (block, cell);
-+ if (other && other->requested == 0) {
-+ ASSERT (other->tag == NULL);
-+ ASSERT (other->next && other->prev);
-+ other->n_words += cell->n_words;
-+ sec_write_guards (other);
-+ pool_free (cell);
-+ cell = other;
-+ }
-
-- /* Add to the unused list if not already there */
-- if (!cell->next)
-- sec_insert_cell_ring (&block->unused_cells, cell);
-+ /* Find next unallocated neighbor, and merge if possible */
-+ other = sec_neighbor_after (block, cell);
-+ if (other && other->requested == 0) {
-+ ASSERT (other->tag == NULL);
-+ ASSERT (other->next && other->prev);
-+ other->n_words += cell->n_words;
-+ other->words = cell->words;
-+ if (cell->next)
-+ sec_remove_cell_ring (&block->unused_cells, cell);
-+ sec_write_guards (other);
-+ pool_free (cell);
-+ cell = other;
-+ }
-
-- cell->tag = NULL;
-- cell->requested = 0;
-- --block->n_used;
-- return NULL;
-+ /* Add to the unused list if not already there */
-+ if (!cell->next)
-+ sec_insert_cell_ring (&block->unused_cells, cell);
-+
-+ cell->tag = NULL;
-+ cell->requested = 0;
-+ --block->n_used;
-+ return NULL;
- }
-
- static void
-@@ -683,7 +683,7 @@ sec_realloc (Block *block,
- /* Dig out where the meta should be */
- word = memory;
- --word;
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_DEFINED (word, sizeof (word_t));
- #endif
-@@ -691,7 +691,7 @@ sec_realloc (Block *block,
- ASSERT (sec_is_valid_word (block, word));
- ASSERT (pool_valid (*word));
- cell = *word;
--
-+
- /* Validate that it's actually for real */
- sec_check_guards (cell);
- ASSERT (cell->requested > 0);
-@@ -710,17 +710,17 @@ sec_realloc (Block *block,
- cell->requested = length;
- alloc = sec_cell_to_memory (cell);
-
-- /*
-+ /*
- * Even though we may be reusing the same cell, that doesn't
- * mean that the allocation is shrinking. It could have shrunk
-- * and is now expanding back some.
-- */
-+ * and is now expanding back some.
-+ */
- if (length < valid)
- sec_clear_undefined (alloc, length, valid);
-
- return alloc;
- }
--
-+
- /* Need braaaaaiiiiiinsss... */
- while (cell->n_words < n_words) {
-
-@@ -728,7 +728,7 @@ sec_realloc (Block *block,
- other = sec_neighbor_after (block, cell);
- if (!other || other->requested != 0)
- break;
--
-+
- /* Eat the whole neighbor if not too big */
- if (n_words - cell->n_words + WASTE >= other->n_words) {
- cell->n_words += other->n_words;
-@@ -745,7 +745,7 @@ sec_realloc (Block *block,
- sec_write_guards (cell);
- }
- }
--
-+
- if (cell->n_words >= n_words) {
- cell->requested = length;
- cell->tag = tag;
-@@ -760,7 +760,7 @@ sec_realloc (Block *block,
- memcpy_with_vbits (alloc, memory, valid);
- sec_free (block, memory);
- }
--
-+
- return alloc;
- }
-
-@@ -770,7 +770,7 @@ sec_allocated (Block *block, void *memory)
- {
- Cell *cell;
- word_t *word;
--
-+
- ASSERT (block);
- ASSERT (memory);
-
-@@ -780,12 +780,12 @@ sec_allocated (Block *block, void *memory)
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_DEFINED (word, sizeof (word_t));
- #endif
--
-+
- /* Lookup the meta for this memory block (using guard pointer) */
- ASSERT (sec_is_valid_word (block, word));
- ASSERT (pool_valid (*word));
- cell = *word;
--
-+
- sec_check_guards (cell);
- ASSERT (cell->requested > 0);
- ASSERT (cell->tag != NULL);
-@@ -817,10 +817,10 @@ sec_validate (Block *block)
- ASSERT (sec_is_valid_word (block, word));
- ASSERT (pool_valid (*word));
- cell = *word;
--
-+
- /* Validate that it's actually for real */
- sec_check_guards (cell);
--
-+
- /* Is it an allocated block? */
- if (cell->requested > 0) {
- ASSERT (cell->tag != NULL);
-@@ -829,7 +829,7 @@ sec_validate (Block *block)
- ASSERT (cell->next->prev == cell);
- ASSERT (cell->prev->next == cell);
- ASSERT (cell->requested <= (cell->n_words - 2) * sizeof (word_t));
--
-+
- /* An unused block */
- } else {
- ASSERT (cell->tag == NULL);
-@@ -838,7 +838,7 @@ sec_validate (Block *block)
- ASSERT (cell->next->prev == cell);
- ASSERT (cell->prev->next == cell);
- }
--
-+
- word += cell->n_words;
- if (word == last)
- break;
-@@ -855,7 +855,7 @@ sec_acquire_pages (size_t *sz,
- {
- void *pages;
- unsigned long pgsize;
--
-+
- ASSERT (sz);
- ASSERT (*sz);
- ASSERT (during_tag);
-@@ -863,7 +863,7 @@ sec_acquire_pages (size_t *sz,
- /* Make sure sz is a multiple of the page size */
- pgsize = getpagesize ();
- *sz = (*sz + pgsize -1) & ~(pgsize - 1);
--
-+
- #if defined(HAVE_MLOCK)
- pages = mmap (0, *sz, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
- if (pages == MAP_FAILED) {
-@@ -873,7 +873,7 @@ sec_acquire_pages (size_t *sz,
- show_warning = 0;
- return NULL;
- }
--
-+
- if (mlock (pages, *sz) < 0) {
- if (show_warning && egg_secure_warnings && errno != EPERM) {
- fprintf (stderr, "couldn't lock %lu bytes of memory (%s): %s\n",
-@@ -883,12 +883,12 @@ sec_acquire_pages (size_t *sz,
- munmap (pages, *sz);
- return NULL;
- }
--
-+
- DEBUG_ALLOC ("gkr-secure-memory: new block ", *sz);
--
-+
- show_warning = 1;
- return pages;
--
-+
- #else
- if (show_warning && egg_secure_warnings)
- fprintf (stderr, "your system does not support private memory");
-@@ -898,21 +898,21 @@ sec_acquire_pages (size_t *sz,
-
- }
-
--static void
-+static void
- sec_release_pages (void *pages, size_t sz)
- {
- ASSERT (pages);
- ASSERT (sz % getpagesize () == 0);
--
-+
- #if defined(HAVE_MLOCK)
- if (munlock (pages, sz) < 0 && egg_secure_warnings)
- fprintf (stderr, "couldn't unlock private memory: %s\n", strerror (errno));
--
-+
- if (munmap (pages, sz) < 0 && egg_secure_warnings)
- fprintf (stderr, "couldn't unmap private anonymous memory: %s\n", strerror (errno));
--
-+
- DEBUG_ALLOC ("gkr-secure-memory: freed block ", sz);
--
-+
- #else
- ASSERT (FALSE);
- #endif
-@@ -924,7 +924,7 @@ sec_release_pages (void *pages, size_t sz)
-
- static Block *all_blocks = NULL;
-
--static Block*
-+static Block*
- sec_block_create (size_t size,
- const char *during_tag)
- {
-@@ -950,7 +950,7 @@ sec_block_create (size_t size,
- /* The size above is a minimum, we're free to go bigger */
- if (size < DEFAULT_BLOCK_SIZE)
- size = DEFAULT_BLOCK_SIZE;
--
-+
- block->words = sec_acquire_pages (&size, during_tag);
- block->n_words = size / sizeof (word_t);
- if (!block->words) {
-@@ -958,11 +958,11 @@ sec_block_create (size_t size,
- pool_free (cell);
- return NULL;
- }
--
-+
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_DEFINED (block->words, size);
- #endif
--
-+
- /* The first cell to allocate from */
- cell->words = block->words;
- cell->n_words = block->n_words;
-@@ -972,7 +972,7 @@ sec_block_create (size_t size,
-
- block->next = all_blocks;
- all_blocks = block;
--
-+
- return block;
- }
-
-@@ -985,7 +985,7 @@ sec_block_destroy (Block *block)
- ASSERT (block);
- ASSERT (block->words);
- ASSERT (block->n_used == 0);
--
-+
- /* Remove from the list */
- for (at = &all_blocks, bl = *at; bl; at = &bl->next, bl = *at) {
- if (bl == block) {
-@@ -993,7 +993,7 @@ sec_block_destroy (Block *block)
- break;
- }
- }
--
-+
- /* Must have been found */
- ASSERT (bl == block);
- ASSERT (block->used_cells == NULL);
-@@ -1004,7 +1004,7 @@ sec_block_destroy (Block *block)
- sec_remove_cell_ring (&block->unused_cells, cell);
- pool_free (cell);
- }
--
-+
- /* Release all pages of secure memory */
- sec_release_pages (block->words, block->n_words * sizeof (word_t));
-
-@@ -1028,35 +1028,35 @@ egg_secure_alloc_full (const char *tag,
-
- if (length > 0xFFFFFFFF / 2) {
- if (egg_secure_warnings)
-- fprintf (stderr, "tried to allocate an insane amount of memory: %lu\n",
-- (unsigned long)length);
-+ fprintf (stderr, "tried to allocate an insane amount of memory: %lu\n",
-+ (unsigned long)length);
- return NULL;
- }
-
- /* Can't allocate zero bytes */
- if (length == 0)
- return NULL;
--
-+
- DO_LOCK ();
--
-+
- for (block = all_blocks; block; block = block->next) {
- memory = sec_alloc (block, tag, length);
- if (memory)
-- break;
-+ break;
- }
--
-+
- /* None of the current blocks have space, allocate new */
- if (!memory) {
- block = sec_block_create (length, tag);
- if (block)
- memory = sec_alloc (block, tag, length);
- }
--
-+
- #ifdef WITH_VALGRIND
- if (memory != NULL)
- VALGRIND_MALLOCLIKE_BLOCK (memory, length, sizeof (void*), 1);
- #endif
--
-+
- DO_UNLOCK ();
-
- if (!memory && (flags & EGG_SECURE_USE_FALLBACK) && EGG_SECURE_GLOBALS.fallback != NULL) {
-@@ -1064,10 +1064,10 @@ egg_secure_alloc_full (const char *tag,
- if (memory) /* Our returned memory is always zeroed */
- memset (memory, 0, length);
- }
--
-+
- if (!memory)
- errno = ENOMEM;
--
-+
- return memory;
- }
-
-@@ -1087,20 +1087,20 @@ egg_secure_realloc_full (const char *tag,
-
- if (length > 0xFFFFFFFF / 2) {
- if (egg_secure_warnings)
-- fprintf (stderr, "tried to allocate an insane amount of memory: %lu\n",
-+ fprintf (stderr, "tried to allocate an insane amount of memory: %lu\n",
- (unsigned long)length);
- return NULL;
- }
--
-+
- if (memory == NULL)
- return egg_secure_alloc_full (tag, length, flags);
- if (!length) {
- egg_secure_free_full (memory, flags);
- return NULL;
- }
--
-+
- DO_LOCK ();
--
-+
- /* Find out where it belongs to */
- for (block = all_blocks; block; block = block->next) {
- if (sec_is_valid_word (block, memory)) {
-@@ -1115,10 +1115,10 @@ egg_secure_realloc_full (const char *tag,
-
- #ifdef WITH_VALGRIND
- /* Now tell valgrind about either the new block or old one */
-- VALGRIND_MALLOCLIKE_BLOCK (alloc ? alloc : memory,
-- alloc ? length : previous,
-+ VALGRIND_MALLOCLIKE_BLOCK (alloc ? alloc : memory,
-+ alloc ? length : previous,
- sizeof (word_t), 1);
--#endif
-+#endif
- break;
- }
- }
-@@ -1129,13 +1129,13 @@ egg_secure_realloc_full (const char *tag,
-
- if (block && block->n_used == 0)
- sec_block_destroy (block);
--
-- DO_UNLOCK ();
--
-+
-+ DO_UNLOCK ();
-+
- if (!block) {
- if ((flags & EGG_SECURE_USE_FALLBACK) && EGG_SECURE_GLOBALS.fallback) {
-- /*
-- * In this case we can't zero the returned memory,
-+ /*
-+ * In this case we can't zero the returned memory,
- * because we don't know what the block size was.
- */
- return EGG_SECURE_GLOBALS.fallback (memory, length);
-@@ -1155,7 +1155,7 @@ egg_secure_realloc_full (const char *tag,
- egg_secure_free_full (memory, flags);
- }
- }
--
-+
- if (!alloc)
- errno = ENOMEM;
-
-@@ -1172,12 +1172,12 @@ void
- egg_secure_free_full (void *memory, int flags)
- {
- Block *block = NULL;
--
-+
- if (memory == NULL)
- return;
--
-+
- DO_LOCK ();
--
-+
- /* Find out where it belongs to */
- for (block = all_blocks; block; block = block->next) {
- if (sec_is_valid_word (block, memory))
-@@ -1195,9 +1195,9 @@ egg_secure_free_full (void *memory, int flags)
- if (block->n_used == 0)
- sec_block_destroy (block);
- }
--
-+
- DO_UNLOCK ();
--
-+
- if (!block) {
- if ((flags & EGG_SECURE_USE_FALLBACK) && EGG_SECURE_GLOBALS.fallback) {
- EGG_SECURE_GLOBALS.fallback (memory, 0);
-@@ -1208,36 +1208,36 @@ egg_secure_free_full (void *memory, int flags)
- ASSERT (0 && "memory does does not belong to secure memory pool");
- }
- }
--}
-+}
-
--int
-+int
- egg_secure_check (const void *memory)
- {
- Block *block = NULL;
-
- DO_LOCK ();
--
-+
- /* Find out where it belongs to */
- for (block = all_blocks; block; block = block->next) {
- if (sec_is_valid_word (block, (word_t*)memory))
- break;
- }
--
-+
- DO_UNLOCK ();
--
-+
- return block == NULL ? 0 : 1;
--}
-+}
-
- void
- egg_secure_validate (void)
- {
- Block *block = NULL;
--
-+
- DO_LOCK ();
--
-+
- for (block = all_blocks; block; block = block->next)
- sec_validate (block);
--
-+
- DO_UNLOCK ();
- }
-
-@@ -1320,20 +1320,42 @@ egg_secure_strdup_full (const char *tag,
- if (!str)
- return NULL;
-
-- len = strlen (str) + 1;
-+ len = strlen (str) + 1;
- res = (char *)egg_secure_alloc_full (tag, len, options);
- strcpy (res, str);
- return res;
- }
-
-+char *
-+egg_secure_strndup_full (const char *tag,
-+ const char *str,
-+ size_t length,
-+ int options)
-+{
-+ size_t len;
-+ char *res;
-+ const char *end;
-+
-+ if (!str)
-+ return NULL;
-+
-+ end = memchr (str, '\0', length);
-+ if (end != NULL)
-+ length = (end - str);
-+ len = length + 1;
-+ res = (char *)egg_secure_alloc_full (tag, len, options);
-+ memcpy (res, str, len);
-+ return res;
-+}
-+
- void
- egg_secure_clear (void *p, size_t length)
- {
- volatile char *vp;
--
-+
- if (p == NULL)
- return;
--
-+
- vp = (volatile char*)p;
- while (length) {
- *vp = 0xAA;
-@@ -1355,10 +1377,10 @@ egg_secure_strfree (char *str)
- {
- /*
- * If we're using unpageable 'secure' memory, then the free call
-- * should zero out the memory, but because on certain platforms
-+ * should zero out the memory, but because on certain platforms
- * we may be using normal memory, zero it out here just in case.
- */
--
-+
- egg_secure_strclear (str);
- egg_secure_free_full (str, EGG_SECURE_USE_FALLBACK);
- }
diff --git a/security/gnome-keyring/files/patch-egg_egg-secure-memory.h b/security/gnome-keyring/files/patch-egg_egg-secure-memory.h
deleted file mode 100644
index 6e9b5ca3e..000000000
--- a/security/gnome-keyring/files/patch-egg_egg-secure-memory.h
+++ /dev/null
@@ -1,75 +0,0 @@
---- egg/egg-secure-memory.h.orig Wed Sep 26 10:28:35 2012
-+++ egg/egg-secure-memory.h Sat Oct 27 14:46:28 2012
-@@ -27,16 +27,16 @@
- #include <stdlib.h>
-
- /* -------------------------------------------------------------------
-- * Low Level Secure Memory
-- *
-- * IMPORTANT: This is pure vanila standard C, no glib. We need this
-- * because certain consumers of this protocol need to be built
-+ * Low Level Secure Memory
-+ *
-+ * IMPORTANT: This is pure vanila standard C, no glib. We need this
-+ * because certain consumers of this protocol need to be built
- * without linking in any special libraries. ie: the PKCS#11 module.
-- *
-+ *
- * Thread locking
-- *
-+ *
- * In order to use these functions in a module the following functions
-- * must be defined somewhere, and provide appropriate locking for
-+ * must be defined somewhere, and provide appropriate locking for
- * secure memory between threads:
- */
-
-@@ -66,12 +66,12 @@ typedef struct {
-
- extern egg_secure_glob EGG_SECURE_GLOBALS;
-
--/*
-+/*
- * Main functionality
-- *
-+ *
- * Allocations return NULL on failure.
-- */
--
-+ */
-+
- #define EGG_SECURE_USE_FALLBACK 0x0001
-
- #define EGG_SECURE_DECLARE(tag) \
-@@ -83,23 +83,28 @@ extern egg_secure_glob EGG_SECURE_GLOBALS;
- } \
- static inline void* egg_secure_strdup (const char *str) { \
- return egg_secure_strdup_full (G_STRINGIFY (tag), str, EGG_SECURE_USE_FALLBACK); \
-+ } \
-+ static inline void* egg_secure_strndup (const char *str, size_t length) { \
-+ return egg_secure_strndup_full (G_STRINGIFY (tag), str, length, EGG_SECURE_USE_FALLBACK); \
- }
-
- void* egg_secure_alloc_full (const char *tag, size_t length, int options);
-
- void* egg_secure_realloc_full (const char *tag, void *p, size_t length, int options);
-
--void egg_secure_free (void* p);
-+void egg_secure_free (void* p);
-
--void egg_secure_free_full (void* p, int fallback);
-+void egg_secure_free_full (void* p, int fallback);
-
- void egg_secure_clear (void *p, size_t length);
-
--int egg_secure_check (const void* p);
-+int egg_secure_check (const void* p);
-
- void egg_secure_validate (void);
-
- char* egg_secure_strdup_full (const char *tag, const char *str, int options);
-+
-+char* egg_secure_strndup_full (const char *tag, const char *str, size_t length, int options);
-
- void egg_secure_strclear (char *str);
-
diff --git a/security/gnome-keyring/files/patch-egg_tests_test-secmem.c b/security/gnome-keyring/files/patch-egg_tests_test-secmem.c
deleted file mode 100644
index 6aa1d599c..000000000
--- a/security/gnome-keyring/files/patch-egg_tests_test-secmem.c
+++ /dev/null
@@ -1,66 +0,0 @@
---- egg/tests/test-secmem.c.orig Wed Sep 26 10:28:35 2012
-+++ egg/tests/test-secmem.c Sat Oct 27 14:46:28 2012
-@@ -39,7 +39,7 @@ extern int egg_secure_warnings;
-
- EGG_SECURE_DECLARE (tests);
-
--/*
-+/*
- * Each test looks like (on one line):
- * void unit_test_xxxxx (CuTest* cu)
- *
-@@ -93,10 +93,12 @@ test_realloc_across (void)
- g_assert (p != NULL);
- g_assert_cmpint (G_MAXSIZE, ==, find_non_zero (p, 1088));
-
-- /* Reallocate to a large one, will have to have changed blocks */
-+ /* Reallocate to a large one, will have to have changed blocks */
- p2 = egg_secure_realloc_full ("tests", p, 16200, 0);
- g_assert (p2 != NULL);
- g_assert_cmpint (G_MAXSIZE, ==, find_non_zero (p2, 16200));
-+
-+ egg_secure_free (p2);
- }
-
- static void
-@@ -180,26 +182,25 @@ test_multialloc (void)
- case 0: /* Allocate some memory */
- size = g_random_int_range (1, 16384);
- data = egg_secure_alloc (size);
-- g_assert (data);
-+ g_assert (data != NULL);
- memset (data, 0xCAFEBABE, size);
- g_ptr_array_add (memory, data);
- break;
- case 1: /* Reallocate some memory */
- index = g_random_int_range (0, memory->len);
- data = g_ptr_array_index (memory, index);
-- g_assert (data);
-+ g_assert (data != NULL);
- size = g_random_int_range (1, 16384);
- data = egg_secure_realloc (data, size);
-- g_assert (data);
-+ g_assert (data != NULL);
- memset (data, 0xCAFEBABE, size);
- g_ptr_array_index (memory, index) = data;
- break;
- case 2: /* Free some memory */
- index = g_random_int_range (0, memory->len);
-- data = g_ptr_array_index (memory, index);
-- g_assert (data);
-+ data = g_ptr_array_remove_index_fast (memory, index);
-+ g_assert (data != NULL);
- egg_secure_free (data);
-- g_ptr_array_remove_index_fast (memory, index);
- break;
- default:
- g_assert_not_reached ();
-@@ -212,6 +213,8 @@ test_multialloc (void)
- }
-
- g_assert (memory->len == 0);
-+ for (i = 0; i < memory->len; i++)
-+ egg_secure_free (memory->pdata[i]);
- g_ptr_array_free (memory, TRUE);
-
- egg_secure_warnings = 1;
diff --git a/security/gnome-keyring/pkg-plist b/security/gnome-keyring/pkg-plist
index 6b480bd21..f2a550582 100644
--- a/security/gnome-keyring/pkg-plist
+++ b/security/gnome-keyring/pkg-plist
@@ -7,8 +7,6 @@ etc/xdg/autostart/gnome-keyring-secrets.desktop
etc/xdg/autostart/gnome-keyring-ssh.desktop
lib/gnome-keyring/devel/gkm-gnome2-store-standalone.la
lib/gnome-keyring/devel/gkm-gnome2-store-standalone.so
-lib/gnome-keyring/devel/gkm-roots-store-standalone.la
-lib/gnome-keyring/devel/gkm-roots-store-standalone.so
lib/gnome-keyring/devel/gkm-secret-store-standalone.la
lib/gnome-keyring/devel/gkm-secret-store-standalone.so
lib/gnome-keyring/devel/gkm-ssh-store-standalone.la
@@ -52,6 +50,7 @@ share/locale/fa/LC_MESSAGES/gnome-keyring.mo
share/locale/fi/LC_MESSAGES/gnome-keyring.mo
share/locale/fr/LC_MESSAGES/gnome-keyring.mo
share/locale/ga/LC_MESSAGES/gnome-keyring.mo
+share/locale/gd/LC_MESSAGES/gnome-keyring.mo
share/locale/gl/LC_MESSAGES/gnome-keyring.mo
share/locale/gu/LC_MESSAGES/gnome-keyring.mo
share/locale/he/LC_MESSAGES/gnome-keyring.mo
@@ -97,6 +96,7 @@ share/locale/sr@latin/LC_MESSAGES/gnome-keyring.mo
share/locale/sv/LC_MESSAGES/gnome-keyring.mo
share/locale/ta/LC_MESSAGES/gnome-keyring.mo
share/locale/te/LC_MESSAGES/gnome-keyring.mo
+share/locale/tg/LC_MESSAGES/gnome-keyring.mo
share/locale/th/LC_MESSAGES/gnome-keyring.mo
share/locale/tr/LC_MESSAGES/gnome-keyring.mo
share/locale/ug/LC_MESSAGES/gnome-keyring.mo
@@ -115,6 +115,8 @@ share/p11-kit/modules/gnome-keyring.module
@dirrmtry share/locale/ug
@dirrmtry share/locale/te/LC_MESSAGES
@dirrmtry share/locale/te
+@dirrmtry share/locale/tg/LC_MESSAGES
+@dirrmtry share/locale/tg
@dirrmtry share/locale/sr@latin/LC_MESSAGES
@dirrmtry share/locale/sr@latin
@dirrmtry share/locale/si/LC_MESSAGES
@@ -131,6 +133,8 @@ share/p11-kit/modules/gnome-keyring.module
@dirrmtry share/locale/mai
@dirrmtry share/locale/km/LC_MESSAGES
@dirrmtry share/locale/km
+@dirrmtry share/locale/gd/LC_MESSAGES
+@dirrmtry share/locale/gd
@dirrmtry share/locale/en@shaw/LC_MESSAGES
@dirrmtry share/locale/en@shaw
@dirrmtry share/locale/dz/LC_MESSAGES
diff --git a/security/libcryptui/Makefile b/security/libcryptui/Makefile
deleted file mode 100644
index e96db8042..000000000
--- a/security/libcryptui/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# Created by: Dave McKay <dave@mu.org>
-# $FreeBSD$
-# $MCom: ports/trunk/security/libcryptui/Makefile 18610 2013-06-30 16:33:05Z marcus $
-
-PORTNAME= libcryptui
-PORTVERSION= 3.6.0
-CATEGORIES= security gnome
-MASTER_SITES= GNOME
-DIST_SUBDIR= gnome3
-
-MAINTAINER= gnome@FreeBSD.org
-COMMENT= GNOME application for managing encryption keys (PGP, SSH)
-
-BUILD_DEPENDS= gpg:${PORTSDIR}/security/gnupg
-LIB_DEPENDS= libgpgme.so:${PORTSDIR}/security/gpgme \
- libdbus-glib-1.so:${PORTSDIR}/devel/dbus-glib \
- libgnome-keyring.so:${PORTSDIR}/security/libgnome-keyring
-RUN_DEPENDS= gpg:${PORTSDIR}/security/gnupg
-
-CONFLICTS= seahorse-2.[0-9]* seahorse-3.0.[0-9]*
-
-USE_LDCONFIG= yes
-USE_XZ= yes
-USES= gettext gmake pathfix pkgconfig
-USE_GNOME= intlhack gnomeprefix gnomedocutils gtk30
-GNU_CONFIGURE= yes
-CPPFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
-CONFIGURE_ARGS= --enable-introspection=no
-
-GLIB_SCHEMAS= org.gnome.seahorse.recipients.gschema.xml
-
-OPTIONS_DEFINE= NOTIFY
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MNOTIFY}
-LIB_DEPENDS+= libnotify.so:${PORTSDIR}/devel/libnotify
-.else
-CONFIGURE_ARGS+=--disable-libnotify
-.endif
-
-.include <bsd.port.mk>
diff --git a/security/libcryptui/distinfo b/security/libcryptui/distinfo
deleted file mode 100644
index 54c9d2508..000000000
--- a/security/libcryptui/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (gnome3/libcryptui-3.6.0.tar.xz) = 0a4a747fff33acd03d1381d27454f8aa5eaca026b7475e24c4b8f8272bbe1c87
-SIZE (gnome3/libcryptui-3.6.0.tar.xz) = 1201296
diff --git a/security/libcryptui/pkg-descr b/security/libcryptui/pkg-descr
deleted file mode 100644
index ea4098271..000000000
--- a/security/libcryptui/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-Seahorse is a Gnome front end for GnuPG - the Gnu Privacy Guard program.
-
-It is a tool for secure communications and data storage.
-Data encryption and digital signature creation can easily
-be performed through a GUI and Key Management operations
-can easily be carried out through an intuitive interface.
-
-WWW: http://seahorse.sourceforge.net/
diff --git a/security/libcryptui/pkg-plist b/security/libcryptui/pkg-plist
deleted file mode 100644
index 1f9c30bfe..000000000
--- a/security/libcryptui/pkg-plist
+++ /dev/null
@@ -1,176 +0,0 @@
-bin/seahorse-daemon
-include/libcryptui/cryptui-key-chooser.h
-include/libcryptui/cryptui-key-combo.h
-include/libcryptui/cryptui-key-list.h
-include/libcryptui/cryptui-key-store.h
-include/libcryptui/cryptui-keyset.h
-include/libcryptui/cryptui.h
-lib/libcryptui.a
-lib/libcryptui.la
-lib/libcryptui.so
-lib/libcryptui.so.0
-libdata/pkgconfig/cryptui-0.0.pc
-man/man1/seahorse-daemon.1.gz
-share/GConf/gsettings/org.gnome.seahorse.recipients.convert
-share/cryptui/ui/seahorse-notify.xml
-share/cryptui/ui/seahorse-pgp-generate.xml
-share/cryptui/ui/seahorse-progress.xml
-share/dbus-1/services/org.gnome.seahorse.service
-%%DOCSDIR%%/ch01.html
-%%DOCSDIR%%/home.png
-%%DOCSDIR%%/index.html
-%%DOCSDIR%%/index.sgml
-%%DOCSDIR%%/left.png
-%%DOCSDIR%%/libcryptui-cryptui-defines.html
-%%DOCSDIR%%/libcryptui-cryptui-key-chooser.html
-%%DOCSDIR%%/libcryptui-cryptui-key-combo.html
-%%DOCSDIR%%/libcryptui-cryptui-key-list.html
-%%DOCSDIR%%/libcryptui-cryptui-key-store.html
-%%DOCSDIR%%/libcryptui-cryptui-keyset.html
-%%DOCSDIR%%/libcryptui-cryptui-marshal.html
-%%DOCSDIR%%/libcryptui-cryptui.html
-%%DOCSDIR%%/libcryptui.devhelp2
-%%DOCSDIR%%/right.png
-%%DOCSDIR%%/style.css
-%%DOCSDIR%%/up.png
-share/locale/ar/LC_MESSAGES/cryptui.mo
-share/locale/as/LC_MESSAGES/cryptui.mo
-share/locale/ast/LC_MESSAGES/cryptui.mo
-share/locale/az/LC_MESSAGES/cryptui.mo
-share/locale/be@latin/LC_MESSAGES/cryptui.mo
-share/locale/bg/LC_MESSAGES/cryptui.mo
-share/locale/bn/LC_MESSAGES/cryptui.mo
-share/locale/bn_IN/LC_MESSAGES/cryptui.mo
-share/locale/br/LC_MESSAGES/cryptui.mo
-share/locale/ca/LC_MESSAGES/cryptui.mo
-share/locale/ca@valencia/LC_MESSAGES/cryptui.mo
-share/locale/cs/LC_MESSAGES/cryptui.mo
-share/locale/cy/LC_MESSAGES/cryptui.mo
-share/locale/da/LC_MESSAGES/cryptui.mo
-share/locale/de/LC_MESSAGES/cryptui.mo
-share/locale/dz/LC_MESSAGES/cryptui.mo
-share/locale/el/LC_MESSAGES/cryptui.mo
-share/locale/en@shaw/LC_MESSAGES/cryptui.mo
-share/locale/en_CA/LC_MESSAGES/cryptui.mo
-share/locale/en_GB/LC_MESSAGES/cryptui.mo
-share/locale/eo/LC_MESSAGES/cryptui.mo
-share/locale/es/LC_MESSAGES/cryptui.mo
-share/locale/et/LC_MESSAGES/cryptui.mo
-share/locale/eu/LC_MESSAGES/cryptui.mo
-share/locale/fi/LC_MESSAGES/cryptui.mo
-share/locale/fr/LC_MESSAGES/cryptui.mo
-share/locale/ga/LC_MESSAGES/cryptui.mo
-share/locale/gl/LC_MESSAGES/cryptui.mo
-share/locale/gu/LC_MESSAGES/cryptui.mo
-share/locale/he/LC_MESSAGES/cryptui.mo
-share/locale/hi/LC_MESSAGES/cryptui.mo
-share/locale/hr/LC_MESSAGES/cryptui.mo
-share/locale/hu/LC_MESSAGES/cryptui.mo
-share/locale/id/LC_MESSAGES/cryptui.mo
-share/locale/it/LC_MESSAGES/cryptui.mo
-share/locale/ja/LC_MESSAGES/cryptui.mo
-share/locale/kn/LC_MESSAGES/cryptui.mo
-share/locale/ko/LC_MESSAGES/cryptui.mo
-share/locale/ku/LC_MESSAGES/cryptui.mo
-share/locale/lt/LC_MESSAGES/cryptui.mo
-share/locale/lv/LC_MESSAGES/cryptui.mo
-share/locale/mai/LC_MESSAGES/cryptui.mo
-share/locale/mk/LC_MESSAGES/cryptui.mo
-share/locale/ml/LC_MESSAGES/cryptui.mo
-share/locale/mr/LC_MESSAGES/cryptui.mo
-share/locale/ms/LC_MESSAGES/cryptui.mo
-share/locale/nb/LC_MESSAGES/cryptui.mo
-share/locale/ne/LC_MESSAGES/cryptui.mo
-share/locale/nl/LC_MESSAGES/cryptui.mo
-share/locale/nn/LC_MESSAGES/cryptui.mo
-share/locale/oc/LC_MESSAGES/cryptui.mo
-share/locale/or/LC_MESSAGES/cryptui.mo
-share/locale/pa/LC_MESSAGES/cryptui.mo
-share/locale/pl/LC_MESSAGES/cryptui.mo
-share/locale/pt/LC_MESSAGES/cryptui.mo
-share/locale/pt_BR/LC_MESSAGES/cryptui.mo
-share/locale/ro/LC_MESSAGES/cryptui.mo
-share/locale/ru/LC_MESSAGES/cryptui.mo
-share/locale/rw/LC_MESSAGES/cryptui.mo
-share/locale/si/LC_MESSAGES/cryptui.mo
-share/locale/sk/LC_MESSAGES/cryptui.mo
-share/locale/sl/LC_MESSAGES/cryptui.mo
-share/locale/sq/LC_MESSAGES/cryptui.mo
-share/locale/sr/LC_MESSAGES/cryptui.mo
-share/locale/sr@latin/LC_MESSAGES/cryptui.mo
-share/locale/sv/LC_MESSAGES/cryptui.mo
-share/locale/ta/LC_MESSAGES/cryptui.mo
-share/locale/te/LC_MESSAGES/cryptui.mo
-share/locale/th/LC_MESSAGES/cryptui.mo
-share/locale/tr/LC_MESSAGES/cryptui.mo
-share/locale/ug/LC_MESSAGES/cryptui.mo
-share/locale/uk/LC_MESSAGES/cryptui.mo
-share/locale/vi/LC_MESSAGES/cryptui.mo
-share/locale/zh_CN/LC_MESSAGES/cryptui.mo
-share/locale/zh_HK/LC_MESSAGES/cryptui.mo
-share/locale/zh_TW/LC_MESSAGES/cryptui.mo
-share/pixmaps/cryptui/22x22/seahorse-key-personal.png
-share/pixmaps/cryptui/22x22/seahorse-key-ssh.png
-share/pixmaps/cryptui/22x22/seahorse-key.png
-share/pixmaps/cryptui/22x22/seahorse-person.png
-share/pixmaps/cryptui/22x22/seahorse-sign-bad.png
-share/pixmaps/cryptui/22x22/seahorse-sign-ok.png
-share/pixmaps/cryptui/22x22/seahorse-sign.png
-share/pixmaps/cryptui/48x48/seahorse-key-personal.png
-share/pixmaps/cryptui/48x48/seahorse-key-ssh.png
-share/pixmaps/cryptui/48x48/seahorse-key.png
-share/pixmaps/cryptui/48x48/seahorse-person.png
-share/pixmaps/cryptui/48x48/seahorse-sign-bad.png
-share/pixmaps/cryptui/48x48/seahorse-sign-ok.png
-share/pixmaps/cryptui/48x48/seahorse-sign-unknown.png
-share/pixmaps/cryptui/48x48/seahorse-sign.png
-share/pixmaps/cryptui/scalable/seahorse-key-personal.svg
-share/pixmaps/cryptui/scalable/seahorse-key-ssh.svg
-share/pixmaps/cryptui/scalable/seahorse-key.svg
-share/pixmaps/cryptui/scalable/seahorse-person.svg
-share/pixmaps/cryptui/scalable/seahorse-sign-bad.svg
-share/pixmaps/cryptui/scalable/seahorse-sign-ok.svg
-share/pixmaps/cryptui/scalable/seahorse-sign-unknown.svg
-share/pixmaps/cryptui/scalable/seahorse-sign.svg
-@dirrm share/pixmaps/cryptui/scalable
-@dirrm share/pixmaps/cryptui/48x48
-@dirrm share/pixmaps/cryptui/22x22
-@dirrm share/pixmaps/cryptui
-@dirrmtry share/locale/zh_HK/LC_MESSAGES
-@dirrmtry share/locale/zh_HK
-@dirrmtry share/locale/ug/LC_MESSAGES
-@dirrmtry share/locale/ug
-@dirrmtry share/locale/te/LC_MESSAGES
-@dirrmtry share/locale/te
-@dirrmtry share/locale/sr@latin/LC_MESSAGES
-@dirrmtry share/locale/sr@latin
-@dirrmtry share/locale/si/LC_MESSAGES
-@dirrmtry share/locale/si
-@dirrmtry share/locale/rw/LC_MESSAGES
-@dirrmtry share/locale/rw
-@dirrmtry share/locale/oc/LC_MESSAGES
-@dirrmtry share/locale/oc
-@dirrmtry share/locale/mr/LC_MESSAGES
-@dirrmtry share/locale/mr
-@dirrmtry share/locale/mai/LC_MESSAGES
-@dirrmtry share/locale/mai
-@dirrmtry share/locale/ku/LC_MESSAGES
-@dirrmtry share/locale/ku
-@dirrmtry share/locale/en@shaw/LC_MESSAGES
-@dirrmtry share/locale/en@shaw
-@dirrmtry share/locale/dz/LC_MESSAGES
-@dirrmtry share/locale/dz
-@dirrmtry share/locale/ca@valencia/LC_MESSAGES
-@dirrmtry share/locale/ca@valencia
-@dirrmtry share/locale/bn_IN/LC_MESSAGES
-@dirrmtry share/locale/bn_IN
-@dirrmtry share/locale/be@latin/LC_MESSAGES
-@dirrmtry share/locale/be@latin
-@dirrmtry share/locale/ast/LC_MESSAGES
-@dirrmtry share/locale/ast
-@dirrmtry share/locale/as/LC_MESSAGES
-@dirrmtry share/locale/as
-@dirrm %%DOCSDIR%%
-@dirrm share/cryptui/ui
-@dirrm share/cryptui
-@dirrm include/libcryptui
diff --git a/security/libgnome-keyring/Makefile b/security/libgnome-keyring/Makefile
index 3102558a9..31d1d61a6 100644
--- a/security/libgnome-keyring/Makefile
+++ b/security/libgnome-keyring/Makefile
@@ -3,7 +3,7 @@
# $MCom$
PORTNAME= libgnome-keyring
-PORTVERSION= 3.6.0
+PORTVERSION= 3.12.0
CATEGORIES= security gnome
MASTER_SITES= GNOME
@@ -13,10 +13,9 @@ COMMENT= Program that keeps passwords and other secrets
LIB_DEPENDS= libdbus-1.so:${PORTSDIR}/devel/dbus \
libgcrypt.so:${PORTSDIR}/security/libgcrypt
-USE_XZ= yes
USE_GNOME= glib20 gnomehier gnomeprefix intlhack \
- introspection:build ltverhack
-USES= gettext gmake pathfix pkgconfig
+ introspection:build
+USES= gettext gmake libtool pathfix pkgconfig tar:xz
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
CPPFLAGS+= -I${LOCALBASE}/include
diff --git a/security/libgnome-keyring/distinfo b/security/libgnome-keyring/distinfo
index e4f45d753..ad1525149 100644
--- a/security/libgnome-keyring/distinfo
+++ b/security/libgnome-keyring/distinfo
@@ -1,2 +1,2 @@
-SHA256 (libgnome-keyring-3.6.0.tar.xz) = 6dca37fb7b37f800f498031ffe303a567410bec09a9bdd877a18865dafcc9830
-SIZE (libgnome-keyring-3.6.0.tar.xz) = 423376
+SHA256 (libgnome-keyring-3.12.0.tar.xz) = c4c178fbb05f72acc484d22ddb0568f7532c409b0a13e06513ff54b91e947783
+SIZE (libgnome-keyring-3.12.0.tar.xz) = 435092
diff --git a/security/libgnome-keyring/files/patch-egg_egg-dh.c b/security/libgnome-keyring/files/patch-egg_egg-dh.c
deleted file mode 100644
index bf91221a1..000000000
--- a/security/libgnome-keyring/files/patch-egg_egg-dh.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- egg/egg-dh.c.orig Wed Aug 8 21:00:54 2012
-+++ egg/egg-dh.c Sat Oct 27 14:36:16 2012
-@@ -27,6 +27,8 @@
- /* Enabling this is a complete security compromise */
- #define DEBUG_DH_SECRET 0
-
-+EGG_SECURE_DECLARE (dh);
-+
- typedef struct _DHGroup {
- const gchar *name;
- guint bits;
diff --git a/security/libgnome-keyring/files/patch-egg_egg-libgcrypt.c b/security/libgnome-keyring/files/patch-egg_egg-libgcrypt.c
deleted file mode 100644
index a96d73005..000000000
--- a/security/libgnome-keyring/files/patch-egg_egg-libgcrypt.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- egg/egg-libgcrypt.c.orig Wed Aug 8 21:00:54 2012
-+++ egg/egg-libgcrypt.c Sat Oct 27 14:36:16 2012
-@@ -28,6 +28,8 @@
-
- #include <gcrypt.h>
-
-+EGG_SECURE_DECLARE (libgcrypt);
-+
- static void
- log_handler (gpointer unused, int unknown, const gchar *msg, va_list va)
- {
diff --git a/security/libgnome-keyring/files/patch-egg_egg-secure-memory.c b/security/libgnome-keyring/files/patch-egg_egg-secure-memory.c
deleted file mode 100644
index ba78bfc76..000000000
--- a/security/libgnome-keyring/files/patch-egg_egg-secure-memory.c
+++ /dev/null
@@ -1,966 +0,0 @@
---- egg/egg-secure-memory.c.orig Wed Jun 8 10:00:06 2011
-+++ egg/egg-secure-memory.c Sat Oct 27 14:36:16 2012
-@@ -46,12 +46,6 @@
- #include <valgrind/memcheck.h>
- #endif
-
--/*
-- * Use this to force all memory through malloc
-- * for use with valgrind and the like
-- */
--#define FORCE_FALLBACK_MEMORY 0
--
- #define DEBUG_SECURE_MEMORY 0
-
- #if DEBUG_SECURE_MEMORY
-@@ -72,12 +66,12 @@
- #endif
-
- #define DO_LOCK() \
-- egg_memory_lock ();
-+ EGG_SECURE_GLOBALS.lock ();
-
- #define DO_UNLOCK() \
-- egg_memory_unlock ();
-+ EGG_SECURE_GLOBALS.unlock ();
-
--static int lock_warning = 1;
-+static int show_warning = 1;
- int egg_secure_warnings = 1;
-
- /*
-@@ -97,20 +91,22 @@ typedef void* word_t;
- typedef struct _Cell {
- word_t *words; /* Pointer to secure memory */
- size_t n_words; /* Amount of secure memory in words */
-- size_t allocated; /* Amount actually requested by app, in bytes, 0 if unused */
-- struct _Cell *next; /* Next in unused memory ring, or NULL if used */
-- struct _Cell *prev; /* Previous in unused memory ring, or NULL if used */
-+ size_t requested; /* Amount actually requested by app, in bytes, 0 if unused */
-+ const char *tag; /* Tag which describes the allocation */
-+ struct _Cell *next; /* Next in memory ring */
-+ struct _Cell *prev; /* Previous in memory ring */
- } Cell;
-
- /*
- * A block of secure memory. This structure is the header in that block.
- */
- typedef struct _Block {
-- word_t *words; /* Actual memory hangs off here */
-- size_t n_words; /* Number of words in block */
-- size_t used; /* Number of used allocations */
-- struct _Cell* unused; /* Ring of unused allocations */
-- struct _Block *next; /* Next block in list */
-+ word_t *words; /* Actual memory hangs off here */
-+ size_t n_words; /* Number of words in block */
-+ size_t n_used; /* Number of used allocations */
-+ struct _Cell* used_cells; /* Ring of used allocations */
-+ struct _Cell* unused_cells; /* Ring of unused allocations */
-+ struct _Block *next; /* Next block in list */
- } Block;
-
- /* -----------------------------------------------------------------------------
-@@ -167,17 +163,25 @@ typedef struct _Pool {
- Item items[1]; /* Actual items hang off here */
- } Pool;
-
--static Pool *all_pools = NULL;
--
--static void*
-+static void *
- pool_alloc (void)
- {
- Pool *pool;
- void *pages, *item;
- size_t len, i;
-
-+ if (!EGG_SECURE_GLOBALS.pool_version ||
-+ strcmp (EGG_SECURE_GLOBALS.pool_version, EGG_SECURE_POOL_VER_STR) != 0) {
-+ if (show_warning && egg_secure_warnings)
-+ fprintf (stderr, "the secure memory pool version does not match the code '%s' != '%s'\n",
-+ EGG_SECURE_GLOBALS.pool_version ? EGG_SECURE_GLOBALS.pool_version : "(null)",
-+ EGG_SECURE_POOL_VER_STR);
-+ show_warning = 0;
-+ return NULL;
-+ }
-+
- /* A pool with an available item */
-- for (pool = all_pools; pool; pool = pool->next) {
-+ for (pool = EGG_SECURE_GLOBALS.pool_data; pool; pool = pool->next) {
- if (unused_peek (&pool->unused))
- break;
- }
-@@ -191,8 +195,8 @@ pool_alloc (void)
-
- /* Fill in the block header, and inlude in block list */
- pool = pages;
-- pool->next = all_pools;
-- all_pools = pool;
-+ pool->next = EGG_SECURE_GLOBALS.pool_data;
-+ EGG_SECURE_GLOBALS.pool_data = pool;
- pool->length = len;
- pool->used = 0;
- pool->unused = NULL;
-@@ -227,7 +231,8 @@ pool_free (void* item)
- ptr = item;
-
- /* Find which block this one belongs to */
-- for (at = &all_pools, pool = *at; pool; at = &pool->next, pool = *at) {
-+ for (at = (Pool **)&EGG_SECURE_GLOBALS.pool_data, pool = *at;
-+ pool != NULL; at = &pool->next, pool = *at) {
- beg = (char*)pool->items;
- end = (char*)pool + pool->length - sizeof (Item);
- if (ptr >= beg && ptr <= end) {
-@@ -263,6 +268,8 @@ pool_free (void* item)
- unused_push (&pool->unused, item);
- }
-
-+#ifndef G_DISABLE_ASSERT
-+
- static int
- pool_valid (void* item)
- {
-@@ -272,7 +279,7 @@ pool_valid (void* item)
- ptr = item;
-
- /* Find which block this one belongs to */
-- for (pool = all_pools; pool; pool = pool->next) {
-+ for (pool = EGG_SECURE_GLOBALS.pool_data; pool; pool = pool->next) {
- beg = (char*)pool->items;
- end = (char*)pool + pool->length - sizeof (Item);
- if (ptr >= beg && ptr <= end)
-@@ -282,6 +289,8 @@ pool_valid (void* item)
- return 0;
- }
-
-+#endif /* G_DISABLE_ASSERT */
-+
- /* -----------------------------------------------------------------------------
- * SEC ALLOCATION
- *
-@@ -398,13 +407,34 @@ sec_is_valid_word (Block *block, word_t *word)
- return (word >= block->words && word < block->words + block->n_words);
- }
-
--static inline void*
--sec_clear_memory (void *memory, size_t from, size_t to)
-+static inline void
-+sec_clear_undefined (void *memory,
-+ size_t from,
-+ size_t to)
- {
-+ char *ptr = memory;
- ASSERT (from <= to);
-- memset ((char*)memory + from, 0, to - from);
-- return memory;
-+#ifdef WITH_VALGRIND
-+ VALGRIND_MAKE_MEM_UNDEFINED (ptr + from, to - from);
-+#endif
-+ memset (ptr + from, 0, to - from);
-+#ifdef WITH_VALGRIND
-+ VALGRIND_MAKE_MEM_UNDEFINED (ptr + from, to - from);
-+#endif
- }
-+static inline void
-+sec_clear_noaccess (void *memory, size_t from, size_t to)
-+{
-+ char *ptr = memory;
-+ ASSERT (from <= to);
-+#ifdef WITH_VALGRIND
-+ VALGRIND_MAKE_MEM_UNDEFINED (ptr + from, to - from);
-+#endif
-+ memset (ptr + from, 0, to - from);
-+#ifdef WITH_VALGRIND
-+ VALGRIND_MAKE_MEM_NOACCESS (ptr + from, to - from);
-+#endif
-+}
-
- static Cell*
- sec_neighbor_before (Block *block, Cell *cell)
-@@ -459,7 +489,9 @@ sec_neighbor_after (Block *block, Cell *cell)
- }
-
- static void*
--sec_alloc (Block *block, size_t length)
-+sec_alloc (Block *block,
-+ const char *tag,
-+ size_t length)
- {
- Cell *cell, *other;
- size_t n_words;
-@@ -467,8 +499,9 @@ sec_alloc (Block *block, size_t length)
-
- ASSERT (block);
- ASSERT (length);
-+ ASSERT (tag);
-
-- if (!block->unused)
-+ if (!block->unused_cells)
- return NULL;
-
- /*
-@@ -482,10 +515,10 @@ sec_alloc (Block *block, size_t length)
- n_words = sec_size_to_words (length) + 2;
-
- /* Look for a cell of at least our required size */
-- cell = block->unused;
-+ cell = block->unused_cells;
- while (cell->n_words < n_words) {
- cell = cell->next;
-- if (cell == block->unused) {
-+ if (cell == block->unused_cells) {
- cell = NULL;
- break;
- }
-@@ -494,7 +527,8 @@ sec_alloc (Block *block, size_t length)
- if (!cell)
- return NULL;
-
-- ASSERT (cell->allocated == 0);
-+ ASSERT (cell->tag == NULL);
-+ ASSERT (cell->requested == 0);
- ASSERT (cell->prev);
- ASSERT (cell->words);
- sec_check_guards (cell);
-@@ -516,10 +550,12 @@ sec_alloc (Block *block, size_t length)
- }
-
- if (cell->next)
-- sec_remove_cell_ring (&block->unused, cell);
-+ sec_remove_cell_ring (&block->unused_cells, cell);
-
-- ++block->used;
-- cell->allocated = length;
-+ ++block->n_used;
-+ cell->tag = tag;
-+ cell->requested = length;
-+ sec_insert_cell_ring (&block->used_cells, cell);
- memory = sec_cell_to_memory (cell);
-
- #ifdef WITH_VALGRIND
-@@ -555,47 +591,83 @@ sec_free (Block *block, void *memory)
- #endif
-
- sec_check_guards (cell);
-- sec_clear_memory (memory, 0, cell->allocated);
-+ sec_clear_noaccess (memory, 0, cell->requested);
-
- sec_check_guards (cell);
-- ASSERT (cell->next == NULL);
-- ASSERT (cell->prev == NULL);
-- ASSERT (cell->allocated > 0);
-+ ASSERT (cell->requested > 0);
-+ ASSERT (cell->tag != NULL);
-
-- /* Find previous unallocated neighbor, and merge if possible */
-- other = sec_neighbor_before (block, cell);
-- if (other && other->allocated == 0) {
-- ASSERT (other->next && other->prev);
-- other->n_words += cell->n_words;
-- sec_write_guards (other);
-- pool_free (cell);
-- cell = other;
-- }
-+ /* Remove from the used cell ring */
-+ sec_remove_cell_ring (&block->used_cells, cell);
-
-- /* Find next unallocated neighbor, and merge if possible */
-- other = sec_neighbor_after (block, cell);
-- if (other && other->allocated == 0) {
-- ASSERT (other->next && other->prev);
-- other->n_words += cell->n_words;
-- other->words = cell->words;
-- if (cell->next)
-- sec_remove_cell_ring (&block->unused, cell);
-- sec_write_guards (other);
-- pool_free (cell);
-- cell = other;
-- }
-+ /* Find previous unallocated neighbor, and merge if possible */
-+ other = sec_neighbor_before (block, cell);
-+ if (other && other->requested == 0) {
-+ ASSERT (other->tag == NULL);
-+ ASSERT (other->next && other->prev);
-+ other->n_words += cell->n_words;
-+ sec_write_guards (other);
-+ pool_free (cell);
-+ cell = other;
-+ }
-
-- /* Add to the unused list if not already there */
-- if (!cell->next)
-- sec_insert_cell_ring (&block->unused, cell);
-+ /* Find next unallocated neighbor, and merge if possible */
-+ other = sec_neighbor_after (block, cell);
-+ if (other && other->requested == 0) {
-+ ASSERT (other->tag == NULL);
-+ ASSERT (other->next && other->prev);
-+ other->n_words += cell->n_words;
-+ other->words = cell->words;
-+ if (cell->next)
-+ sec_remove_cell_ring (&block->unused_cells, cell);
-+ sec_write_guards (other);
-+ pool_free (cell);
-+ cell = other;
-+ }
-
-- cell->allocated = 0;
-- --block->used;
-- return NULL;
-+ /* Add to the unused list if not already there */
-+ if (!cell->next)
-+ sec_insert_cell_ring (&block->unused_cells, cell);
-+
-+ cell->tag = NULL;
-+ cell->requested = 0;
-+ --block->n_used;
-+ return NULL;
- }
-
-+static void
-+memcpy_with_vbits (void *dest,
-+ void *src,
-+ size_t length)
-+{
-+#ifdef WITH_VALGRIND
-+ int vbits_setup = 0;
-+ void *vbits = NULL;
-+
-+ if (RUNNING_ON_VALGRIND) {
-+ vbits = malloc (length);
-+ if (vbits != NULL)
-+ vbits_setup = VALGRIND_GET_VBITS (src, vbits, length);
-+ VALGRIND_MAKE_MEM_DEFINED (src, length);
-+ }
-+#endif
-+
-+ memcpy (dest, src, length);
-+
-+#ifdef WITH_VALGRIND
-+ if (vbits_setup == 1) {
-+ VALGRIND_SET_VBITS (dest, vbits, length);
-+ VALGRIND_SET_VBITS (src, vbits, length);
-+ }
-+ free (vbits);
-+#endif
-+}
-+
- static void*
--sec_realloc (Block *block, void *memory, size_t length)
-+sec_realloc (Block *block,
-+ const char *tag,
-+ void *memory,
-+ size_t length)
- {
- Cell *cell, *other;
- word_t *word;
-@@ -606,6 +678,7 @@ sec_realloc (Block *block, void *memory, size_t length
- /* Standard realloc behavior, should have been handled elsewhere */
- ASSERT (memory != NULL);
- ASSERT (length > 0);
-+ ASSERT (tag != NULL);
-
- /* Dig out where the meta should be */
- word = memory;
-@@ -621,12 +694,11 @@ sec_realloc (Block *block, void *memory, size_t length
-
- /* Validate that it's actually for real */
- sec_check_guards (cell);
-- ASSERT (cell->allocated > 0);
-- ASSERT (cell->next == NULL);
-- ASSERT (cell->prev == NULL);
-+ ASSERT (cell->requested > 0);
-+ ASSERT (cell->tag != NULL);
-
- /* The amount of valid data */
-- valid = cell->allocated;
-+ valid = cell->requested;
-
- /* How many words we actually want */
- n_words = sec_size_to_words (length) + 2;
-@@ -635,22 +707,18 @@ sec_realloc (Block *block, void *memory, size_t length
- if (n_words <= cell->n_words) {
-
- /* TODO: No shrinking behavior yet */
-- cell->allocated = length;
-+ cell->requested = length;
- alloc = sec_cell_to_memory (cell);
-
--#ifdef WITH_VALGRIND
-- VALGRIND_MAKE_MEM_DEFINED (alloc, length);
--#endif
--
- /*
- * Even though we may be reusing the same cell, that doesn't
- * mean that the allocation is shrinking. It could have shrunk
- * and is now expanding back some.
- */
- if (length < valid)
-- return sec_clear_memory (alloc, length, valid);
-- else
-- return alloc;
-+ sec_clear_undefined (alloc, length, valid);
-+
-+ return alloc;
- }
-
- /* Need braaaaaiiiiiinsss... */
-@@ -658,14 +726,14 @@ sec_realloc (Block *block, void *memory, size_t length
-
- /* See if we have a neighbor who can give us some memory */
- other = sec_neighbor_after (block, cell);
-- if (!other || other->allocated != 0)
-+ if (!other || other->requested != 0)
- break;
-
- /* Eat the whole neighbor if not too big */
- if (n_words - cell->n_words + WASTE >= other->n_words) {
- cell->n_words += other->n_words;
- sec_write_guards (cell);
-- sec_remove_cell_ring (&block->unused, other);
-+ sec_remove_cell_ring (&block->unused_cells, other);
- pool_free (other);
-
- /* Steal from the neighbor */
-@@ -679,20 +747,17 @@ sec_realloc (Block *block, void *memory, size_t length
- }
-
- if (cell->n_words >= n_words) {
-- cell->allocated = length;
-+ cell->requested = length;
-+ cell->tag = tag;
- alloc = sec_cell_to_memory (cell);
--
--#ifdef WITH_VALGRIND
-- VALGRIND_MAKE_MEM_DEFINED (alloc, length);
--#endif
--
-- return sec_clear_memory (alloc, valid, length);
-+ sec_clear_undefined (alloc, valid, length);
-+ return alloc;
- }
-
- /* That didn't work, try alloc/free */
-- alloc = sec_alloc (block, length);
-+ alloc = sec_alloc (block, tag, length);
- if (alloc) {
-- memcpy (alloc, memory, valid);
-+ memcpy_with_vbits (alloc, memory, valid);
- sec_free (block, memory);
- }
-
-@@ -722,15 +787,14 @@ sec_allocated (Block *block, void *memory)
- cell = *word;
-
- sec_check_guards (cell);
-- ASSERT (cell->next == NULL);
-- ASSERT (cell->prev == NULL);
-- ASSERT (cell->allocated > 0);
-+ ASSERT (cell->requested > 0);
-+ ASSERT (cell->tag != NULL);
-
- #ifdef WITH_VALGRIND
- VALGRIND_MAKE_MEM_NOACCESS (word, sizeof (word_t));
- #endif
-
-- return cell->allocated;
-+ return cell->requested;
- }
-
- static void
-@@ -739,6 +803,11 @@ sec_validate (Block *block)
- Cell *cell;
- word_t *word, *last;
-
-+#ifdef WITH_VALGRIND
-+ if (RUNNING_ON_VALGRIND)
-+ return;
-+#endif
-+
- word = block->words;
- last = word + block->n_words;
-
-@@ -753,15 +822,19 @@ sec_validate (Block *block)
- sec_check_guards (cell);
-
- /* Is it an allocated block? */
-- if (cell->allocated > 0) {
-- ASSERT (cell->next == NULL);
-- ASSERT (cell->prev == NULL);
-- ASSERT (cell->allocated <= (cell->n_words - 2) * sizeof (word_t));
-+ if (cell->requested > 0) {
-+ ASSERT (cell->tag != NULL);
-+ ASSERT (cell->next != NULL);
-+ ASSERT (cell->prev != NULL);
-+ ASSERT (cell->next->prev == cell);
-+ ASSERT (cell->prev->next == cell);
-+ ASSERT (cell->requested <= (cell->n_words - 2) * sizeof (word_t));
-
-- /* An unused block */
-+ /* An unused block */
- } else {
-- ASSERT (cell->next);
-- ASSERT (cell->prev);
-+ ASSERT (cell->tag == NULL);
-+ ASSERT (cell->next != NULL);
-+ ASSERT (cell->prev != NULL);
- ASSERT (cell->next->prev == cell);
- ASSERT (cell->prev->next == cell);
- }
-@@ -777,13 +850,15 @@ sec_validate (Block *block)
- */
-
- static void*
--sec_acquire_pages (size_t *sz)
-+sec_acquire_pages (size_t *sz,
-+ const char *during_tag)
- {
- void *pages;
- unsigned long pgsize;
-
- ASSERT (sz);
- ASSERT (*sz);
-+ ASSERT (during_tag);
-
- /* Make sure sz is a multiple of the page size */
- pgsize = getpagesize ();
-@@ -792,18 +867,18 @@ sec_acquire_pages (size_t *sz)
- #if defined(HAVE_MLOCK)
- pages = mmap (0, *sz, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
- if (pages == MAP_FAILED) {
-- if (lock_warning && egg_secure_warnings)
-- fprintf (stderr, "couldn't map %lu bytes of private memory: %s\n",
-- (unsigned long)*sz, strerror (errno));
-- lock_warning = 0;
-+ if (show_warning && egg_secure_warnings)
-+ fprintf (stderr, "couldn't map %lu bytes of memory (%s): %s\n",
-+ (unsigned long)*sz, during_tag, strerror (errno));
-+ show_warning = 0;
- return NULL;
- }
-
- if (mlock (pages, *sz) < 0) {
-- if (lock_warning && egg_secure_warnings && errno != EPERM) {
-- fprintf (stderr, "couldn't lock %lu bytes of private memory: %s\n",
-- (unsigned long)*sz, strerror (errno));
-- lock_warning = 0;
-+ if (show_warning && egg_secure_warnings && errno != EPERM) {
-+ fprintf (stderr, "couldn't lock %lu bytes of memory (%s): %s\n",
-+ (unsigned long)*sz, during_tag, strerror (errno));
-+ show_warning = 0;
- }
- munmap (pages, *sz);
- return NULL;
-@@ -811,13 +886,13 @@ sec_acquire_pages (size_t *sz)
-
- DEBUG_ALLOC ("gkr-secure-memory: new block ", *sz);
-
-- lock_warning = 1;
-+ show_warning = 1;
- return pages;
-
- #else
-- if (lock_warning && egg_secure_warnings)
-+ if (show_warning && egg_secure_warnings)
- fprintf (stderr, "your system does not support private memory");
-- lock_warning = 0;
-+ show_warning = 0;
- return NULL;
- #endif
-
-@@ -850,15 +925,17 @@ sec_release_pages (void *pages, size_t sz)
- static Block *all_blocks = NULL;
-
- static Block*
--sec_block_create (size_t size)
-+sec_block_create (size_t size,
-+ const char *during_tag)
- {
- Block *block;
- Cell *cell;
-
--#if FORCE_FALLBACK_MEMORY
-+ ASSERT (during_tag);
-+
- /* We can force all all memory to be malloced */
-- return NULL;
--#endif
-+ if (getenv ("SECMEM_FORCE_FALLBACK"))
-+ return NULL;
-
- block = pool_alloc ();
- if (!block)
-@@ -874,7 +951,7 @@ sec_block_create (size_t size)
- if (size < DEFAULT_BLOCK_SIZE)
- size = DEFAULT_BLOCK_SIZE;
-
-- block->words = sec_acquire_pages (&size);
-+ block->words = sec_acquire_pages (&size, during_tag);
- block->n_words = size / sizeof (word_t);
- if (!block->words) {
- pool_free (block);
-@@ -889,9 +966,9 @@ sec_block_create (size_t size)
- /* The first cell to allocate from */
- cell->words = block->words;
- cell->n_words = block->n_words;
-- cell->allocated = 0;
-+ cell->requested = 0;
- sec_write_guards (cell);
-- sec_insert_cell_ring (&block->unused, cell);
-+ sec_insert_cell_ring (&block->unused_cells, cell);
-
- block->next = all_blocks;
- all_blocks = block;
-@@ -907,7 +984,7 @@ sec_block_destroy (Block *block)
-
- ASSERT (block);
- ASSERT (block->words);
-- ASSERT (block->used == 0);
-+ ASSERT (block->n_used == 0);
-
- /* Remove from the list */
- for (at = &all_blocks, bl = *at; bl; at = &bl->next, bl = *at) {
-@@ -919,11 +996,12 @@ sec_block_destroy (Block *block)
-
- /* Must have been found */
- ASSERT (bl == block);
-+ ASSERT (block->used_cells == NULL);
-
- /* Release all the meta data cells */
-- while (block->unused) {
-- cell = block->unused;
-- sec_remove_cell_ring (&block->unused, cell);
-+ while (block->unused_cells) {
-+ cell = block->unused_cells;
-+ sec_remove_cell_ring (&block->unused_cells, cell);
- pool_free (cell);
- }
-
-@@ -938,17 +1016,16 @@ sec_block_destroy (Block *block)
- */
-
- void*
--egg_secure_alloc (size_t length)
-+egg_secure_alloc_full (const char *tag,
-+ size_t length,
-+ int flags)
- {
-- return egg_secure_alloc_full (length, GKR_SECURE_USE_FALLBACK);
--}
--
--void*
--egg_secure_alloc_full (size_t length, int flags)
--{
- Block *block;
- void *memory = NULL;
-
-+ if (tag == NULL)
-+ tag = "?";
-+
- if (length > 0xFFFFFFFF / 2) {
- if (egg_secure_warnings)
- fprintf (stderr, "tried to allocate an insane amount of memory: %lu\n",
-@@ -963,16 +1040,16 @@ egg_secure_alloc_full (size_t length, int flags)
- DO_LOCK ();
-
- for (block = all_blocks; block; block = block->next) {
-- memory = sec_alloc (block, length);
-+ memory = sec_alloc (block, tag, length);
- if (memory)
- break;
- }
-
- /* None of the current blocks have space, allocate new */
- if (!memory) {
-- block = sec_block_create (length);
-+ block = sec_block_create (length, tag);
- if (block)
-- memory = sec_alloc (block, length);
-+ memory = sec_alloc (block, tag, length);
- }
-
- #ifdef WITH_VALGRIND
-@@ -982,8 +1059,8 @@ egg_secure_alloc_full (size_t length, int flags)
-
- DO_UNLOCK ();
-
-- if (!memory && (flags & GKR_SECURE_USE_FALLBACK)) {
-- memory = egg_memory_fallback (NULL, length);
-+ if (!memory && (flags & EGG_SECURE_USE_FALLBACK) && EGG_SECURE_GLOBALS.fallback != NULL) {
-+ memory = EGG_SECURE_GLOBALS.fallback (NULL, length);
- if (memory) /* Our returned memory is always zeroed */
- memset (memory, 0, length);
- }
-@@ -995,19 +1072,19 @@ egg_secure_alloc_full (size_t length, int flags)
- }
-
- void*
--egg_secure_realloc (void *memory, size_t length)
-+egg_secure_realloc_full (const char *tag,
-+ void *memory,
-+ size_t length,
-+ int flags)
- {
-- return egg_secure_realloc_full (memory, length, GKR_SECURE_USE_FALLBACK);
--}
--
--void*
--egg_secure_realloc_full (void *memory, size_t length, int flags)
--{
- Block *block = NULL;
- size_t previous = 0;
- int donew = 0;
- void *alloc = NULL;
-
-+ if (tag == NULL)
-+ tag = "?";
-+
- if (length > 0xFFFFFFFF / 2) {
- if (egg_secure_warnings)
- fprintf (stderr, "tried to allocate an insane amount of memory: %lu\n",
-@@ -1016,7 +1093,7 @@ egg_secure_realloc_full (void *memory, size_t length,
- }
-
- if (memory == NULL)
-- return egg_secure_alloc_full (length, flags);
-+ return egg_secure_alloc_full (tag, length, flags);
- if (!length) {
- egg_secure_free_full (memory, flags);
- return NULL;
-@@ -1034,7 +1111,7 @@ egg_secure_realloc_full (void *memory, size_t length,
- VALGRIND_FREELIKE_BLOCK (memory, sizeof (word_t));
- #endif
-
-- alloc = sec_realloc (block, memory, length);
-+ alloc = sec_realloc (block, tag, memory, length);
-
- #ifdef WITH_VALGRIND
- /* Now tell valgrind about either the new block or old one */
-@@ -1050,31 +1127,31 @@ egg_secure_realloc_full (void *memory, size_t length,
- if (block && !alloc)
- donew = 1;
-
-- if (block && block->used == 0)
-+ if (block && block->n_used == 0)
- sec_block_destroy (block);
-
- DO_UNLOCK ();
-
- if (!block) {
-- if ((flags & GKR_SECURE_USE_FALLBACK)) {
-+ if ((flags & EGG_SECURE_USE_FALLBACK) && EGG_SECURE_GLOBALS.fallback) {
- /*
- * In this case we can't zero the returned memory,
- * because we don't know what the block size was.
- */
-- return egg_memory_fallback (memory, length);
-+ return EGG_SECURE_GLOBALS.fallback (memory, length);
- } else {
- if (egg_secure_warnings)
-- fprintf (stderr, "memory does not belong to gnome-keyring: 0x%08lx\n",
-+ fprintf (stderr, "memory does not belong to secure memory pool: 0x%08lx\n",
- (unsigned long)memory);
-- ASSERT (0 && "memory does does not belong to gnome-keyring");
-+ ASSERT (0 && "memory does does not belong to secure memory pool");
- return NULL;
- }
- }
-
- if (donew) {
-- alloc = egg_secure_alloc_full (length, flags);
-+ alloc = egg_secure_alloc_full (tag, length, flags);
- if (alloc) {
-- memcpy (alloc, memory, previous);
-+ memcpy_with_vbits (alloc, memory, previous);
- egg_secure_free_full (memory, flags);
- }
- }
-@@ -1088,7 +1165,7 @@ egg_secure_realloc_full (void *memory, size_t length,
- void
- egg_secure_free (void *memory)
- {
-- egg_secure_free_full (memory, GKR_SECURE_USE_FALLBACK);
-+ egg_secure_free_full (memory, EGG_SECURE_USE_FALLBACK);
- }
-
- void
-@@ -1109,26 +1186,26 @@ egg_secure_free_full (void *memory, int flags)
-
- #ifdef WITH_VALGRIND
- /* We like valgrind's warnings, so give it a first whack at checking for errors */
-- if (block != NULL || !(flags & GKR_SECURE_USE_FALLBACK))
-+ if (block != NULL || !(flags & EGG_SECURE_USE_FALLBACK))
- VALGRIND_FREELIKE_BLOCK (memory, sizeof (word_t));
- #endif
-
- if (block != NULL) {
- sec_free (block, memory);
-- if (block->used == 0)
-+ if (block->n_used == 0)
- sec_block_destroy (block);
- }
-
- DO_UNLOCK ();
-
- if (!block) {
-- if ((flags & GKR_SECURE_USE_FALLBACK)) {
-- egg_memory_fallback (memory, 0);
-+ if ((flags & EGG_SECURE_USE_FALLBACK) && EGG_SECURE_GLOBALS.fallback) {
-+ EGG_SECURE_GLOBALS.fallback (memory, 0);
- } else {
- if (egg_secure_warnings)
-- fprintf (stderr, "memory does not belong to gnome-keyring: 0x%08lx\n",
-+ fprintf (stderr, "memory does not belong to secure memory pool: 0x%08lx\n",
- (unsigned long)memory);
-- ASSERT (0 && "memory does does not belong to gnome-keyring");
-+ ASSERT (0 && "memory does does not belong to secure memory pool");
- }
- }
- }
-@@ -1164,26 +1241,78 @@ egg_secure_validate (void)
- DO_UNLOCK ();
- }
-
--void
--egg_secure_dump_blocks (void)
-+
-+static egg_secure_rec *
-+records_for_ring (Cell *cell_ring,
-+ egg_secure_rec *records,
-+ unsigned int *count,
-+ unsigned int *total)
- {
-+ egg_secure_rec *new_rec;
-+ unsigned int allocated = *count;
-+ Cell *cell;
-+
-+ cell = cell_ring;
-+ do {
-+ if (*count >= allocated) {
-+ new_rec = realloc (records, sizeof (egg_secure_rec) * (allocated + 32));
-+ if (new_rec == NULL) {
-+ *count = 0;
-+ free (records);
-+ return NULL;
-+ } else {
-+ records = new_rec;
-+ allocated += 32;
-+ }
-+ }
-+
-+ if (cell != NULL) {
-+ records[*count].request_length = cell->requested;
-+ records[*count].block_length = cell->n_words * sizeof (word_t);
-+ records[*count].tag = cell->tag;
-+ (*count)++;
-+ (*total) += cell->n_words;
-+ cell = cell->next;
-+ }
-+ } while (cell != NULL && cell != cell_ring);
-+
-+ return records;
-+}
-+
-+egg_secure_rec *
-+egg_secure_records (unsigned int *count)
-+{
-+ egg_secure_rec *records = NULL;
- Block *block = NULL;
-+ unsigned int total;
-
-+ *count = 0;
-+
- DO_LOCK ();
-
-- /* Find out where it belongs to */
-- for (block = all_blocks; block; block = block->next) {
-- fprintf (stderr, "----------------------------------------------------\n");
-- fprintf (stderr, " BLOCK at: 0x%08lx len: %lu\n", (unsigned long)block,
-- (unsigned long)block->n_words * sizeof (word_t));
-- fprintf (stderr, "\n");
-+ for (block = all_blocks; block != NULL; block = block->next) {
-+ total = 0;
-+
-+ records = records_for_ring (block->unused_cells, records, count, &total);
-+ if (records == NULL)
-+ break;
-+ records = records_for_ring (block->used_cells, records, count, &total);
-+ if (records == NULL)
-+ break;
-+
-+ /* Make sure this actualy accounts for all memory */
-+ ASSERT (total == block->n_words);
- }
-
- DO_UNLOCK ();
-+
-+ return records;
- }
-
- char*
--egg_secure_strdup (const char *str)
-+egg_secure_strdup_full (const char *tag,
-+ const char *str,
-+ int options)
- {
- size_t len;
- char *res;
-@@ -1192,11 +1321,33 @@ egg_secure_strdup (const char *str)
- return NULL;
-
- len = strlen (str) + 1;
-- res = (char*)egg_secure_alloc (len);
-+ res = (char *)egg_secure_alloc_full (tag, len, options);
- strcpy (res, str);
- return res;
- }
-
-+char *
-+egg_secure_strndup_full (const char *tag,
-+ const char *str,
-+ size_t length,
-+ int options)
-+{
-+ size_t len;
-+ char *res;
-+ const char *end;
-+
-+ if (!str)
-+ return NULL;
-+
-+ end = memchr (str, '\0', length);
-+ if (end != NULL)
-+ length = (end - str);
-+ len = length + 1;
-+ res = (char *)egg_secure_alloc_full (tag, len, options);
-+ memcpy (res, str, len);
-+ return res;
-+}
-+
- void
- egg_secure_clear (void *p, size_t length)
- {
-@@ -1205,11 +1356,11 @@ egg_secure_clear (void *p, size_t length)
- if (p == NULL)
- return;
-
-- vp = (volatile char*)p;
-- while (length) {
-- *vp = 0xAA;
-- vp++;
-- length--;
-+ vp = (volatile char*)p;
-+ while (length) {
-+ *vp = 0xAA;
-+ vp++;
-+ length--;
- }
- }
-
-@@ -1231,5 +1382,5 @@ egg_secure_strfree (char *str)
- */
-
- egg_secure_strclear (str);
-- egg_secure_free_full (str, GKR_SECURE_USE_FALLBACK);
-+ egg_secure_free_full (str, EGG_SECURE_USE_FALLBACK);
- }
diff --git a/security/libgnome-keyring/files/patch-egg_egg-secure-memory.h b/security/libgnome-keyring/files/patch-egg_egg-secure-memory.h
deleted file mode 100644
index 89df7cdc7..000000000
--- a/security/libgnome-keyring/files/patch-egg_egg-secure-memory.h
+++ /dev/null
@@ -1,107 +0,0 @@
---- egg/egg-secure-memory.h.orig Wed Jun 8 10:00:06 2011
-+++ egg/egg-secure-memory.h Sat Oct 27 14:36:16 2012
-@@ -40,46 +40,58 @@
- * secure memory between threads:
- */
-
--extern void egg_memory_lock (void);
-+typedef struct {
-+ void (* lock) (void);
-+ void (* unlock) (void);
-+ void * (* fallback) (void *pointer,
-+ size_t length);
-+ void * pool_data;
-+ const char * pool_version;
-+} egg_secure_glob;
-
--extern void egg_memory_unlock (void);
-+#define EGG_SECURE_POOL_VER_STR "1.0"
-+#define EGG_SECURE_GLOBALS SECMEM_pool_data_v1_0
-
--/*
-- * Allocation Fallbacks
-- *
-- * If we cannot allocate secure memory, then this function
-- * (defined elsewhere) will be called which has a chance to
-- * allocate other memory abort or do whatever.
-- *
-- * Same call semantics as realloc with regard to NULL and zeros
-- */
--extern void* egg_memory_fallback (void *p, size_t length);
-+#define EGG_SECURE_DEFINE_GLOBALS(lock, unlock, fallback) \
-+ egg_secure_glob EGG_SECURE_GLOBALS = { \
-+ lock, unlock, fallback, NULL, EGG_SECURE_POOL_VER_STR };
-
--#define EGG_SECURE_GLIB_DEFINITIONS() \
-+#define EGG_SECURE_DEFINE_GLIB_GLOBALS() \
- static GStaticMutex memory_mutex = G_STATIC_MUTEX_INIT; \
-- void egg_memory_lock (void) \
-+ static void egg_memory_lock (void) \
- { g_static_mutex_lock (&memory_mutex); } \
-- void egg_memory_unlock (void) \
-+ static void egg_memory_unlock (void) \
- { g_static_mutex_unlock (&memory_mutex); } \
-- void* egg_memory_fallback (void *p, size_t sz) \
-- { return g_realloc (p, sz); } \
-+ EGG_SECURE_DEFINE_GLOBALS (egg_memory_lock, egg_memory_unlock, g_realloc);
-
-+extern egg_secure_glob EGG_SECURE_GLOBALS;
-+
- /*
- * Main functionality
- *
- * Allocations return NULL on failure.
- */
-
--#define GKR_SECURE_USE_FALLBACK 0x0001
-+#define EGG_SECURE_USE_FALLBACK 0x0001
-
--void* egg_secure_alloc (size_t length);
-+#define EGG_SECURE_DECLARE(tag) \
-+ static inline void* egg_secure_alloc (size_t length) { \
-+ return egg_secure_alloc_full (G_STRINGIFY (tag), length, EGG_SECURE_USE_FALLBACK); \
-+ } \
-+ static inline void* egg_secure_realloc (void *p, size_t length) { \
-+ return egg_secure_realloc_full (G_STRINGIFY (tag), p, length, EGG_SECURE_USE_FALLBACK); \
-+ } \
-+ static inline void* egg_secure_strdup (const char *str) { \
-+ return egg_secure_strdup_full (G_STRINGIFY (tag), str, EGG_SECURE_USE_FALLBACK); \
-+ } \
-+ static inline void* egg_secure_strndup (const char *str, size_t length) { \
-+ return egg_secure_strndup_full (G_STRINGIFY (tag), str, length, EGG_SECURE_USE_FALLBACK); \
-+ }
-
--void* egg_secure_alloc_full (size_t length, int flags);
-+void* egg_secure_alloc_full (const char *tag, size_t length, int options);
-
--void* egg_secure_realloc (void *p, size_t length);
-+void* egg_secure_realloc_full (const char *tag, void *p, size_t length, int options);
-
--void* egg_secure_realloc_full (void *p, size_t length, int fallback);
--
- void egg_secure_free (void* p);
-
- void egg_secure_free_full (void* p, int fallback);
-@@ -90,12 +102,20 @@ int egg_secure_check (const void* p);
-
- void egg_secure_validate (void);
-
--void egg_secure_dump_blocks (void);
-+char* egg_secure_strdup_full (const char *tag, const char *str, int options);
-
--char* egg_secure_strdup (const char *str);
-+char* egg_secure_strndup_full (const char *tag, const char *str, size_t length, int options);
-
- void egg_secure_strclear (char *str);
-
- void egg_secure_strfree (char *str);
-+
-+typedef struct {
-+ const char *tag;
-+ size_t request_length;
-+ size_t block_length;
-+} egg_secure_rec;
-+
-+egg_secure_rec * egg_secure_records (unsigned int *count);
-
- #endif /* EGG_SECURE_MEMORY_H */
diff --git a/security/libgnome-keyring/files/patch-egg_tests_Makefile.in b/security/libgnome-keyring/files/patch-egg_tests_Makefile.in
deleted file mode 100644
index 6d770f34c..000000000
--- a/security/libgnome-keyring/files/patch-egg_tests_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- egg/tests/Makefile.in.orig Sat Oct 27 14:39:25 2012
-+++ egg/tests/Makefile.in Sat Oct 27 14:39:52 2012
-@@ -313,6 +313,7 @@ top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
- INCLUDES = \
-+ -I$(top_srcdir) \
- -I$(top_srcdir)/egg \
- $(LIBRARY_CFLAGS)
-
diff --git a/security/libgnome-keyring/files/patch-egg_tests_test-dh.c b/security/libgnome-keyring/files/patch-egg_tests_test-dh.c
deleted file mode 100644
index c3347d7bc..000000000
--- a/security/libgnome-keyring/files/patch-egg_tests_test-dh.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- egg/tests/test-dh.c.orig Mon Sep 5 07:16:09 2011
-+++ egg/tests/test-dh.c Sat Oct 27 14:36:16 2012
-@@ -35,7 +35,7 @@
- #include <stdio.h>
- #include <string.h>
-
--EGG_SECURE_GLIB_DEFINITIONS ();
-+EGG_SECURE_DEFINE_GLIB_GLOBALS ();
-
- static void
- test_dh_perform (void)
diff --git a/security/libgnome-keyring/files/patch-egg_tests_test-hkdf.c b/security/libgnome-keyring/files/patch-egg_tests_test-hkdf.c
deleted file mode 100644
index 5656083be..000000000
--- a/security/libgnome-keyring/files/patch-egg_tests_test-hkdf.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- egg/tests/test-hkdf.c.orig Mon Sep 5 07:16:09 2011
-+++ egg/tests/test-hkdf.c Sat Oct 27 14:36:16 2012
-@@ -33,7 +33,7 @@
-
- #include <gcrypt.h>
-
--EGG_SECURE_GLIB_DEFINITIONS ();
-+EGG_SECURE_DEFINE_GLIB_GLOBALS ();
-
- static void
- test_hkdf_test_case_1 (void)
diff --git a/security/libgnome-keyring/files/patch-egg_tests_test-secmem.c b/security/libgnome-keyring/files/patch-egg_tests_test-secmem.c
deleted file mode 100644
index 1781524d2..000000000
--- a/security/libgnome-keyring/files/patch-egg_tests_test-secmem.c
+++ /dev/null
@@ -1,167 +0,0 @@
---- egg/tests/test-secmem.c.orig Mon Sep 5 07:16:09 2011
-+++ egg/tests/test-secmem.c Sat Oct 27 14:36:16 2012
-@@ -23,7 +23,7 @@
-
- #include "config.h"
-
--#include "egg-secure-memory.h"
-+#include "egg/egg-secure-memory.h"
-
- #include <glib.h>
-
-@@ -31,11 +31,14 @@
- #include <stdio.h>
- #include <string.h>
-
--EGG_SECURE_GLIB_DEFINITIONS ();
-
-+EGG_SECURE_DEFINE_GLIB_GLOBALS ();
-+
- /* Declared in egg-secure-memory.c */
- extern int egg_secure_warnings;
-
-+EGG_SECURE_DECLARE (tests);
-+
- /*
- * Each test looks like (on one line):
- * void unit_test_xxxxx (CuTest* cu)
-@@ -68,7 +71,7 @@ test_alloc_free (void)
- gpointer p;
- gboolean ret;
-
-- p = egg_secure_alloc_full (512, 0);
-+ p = egg_secure_alloc_full ("tests", 512, 0);
- g_assert (p != NULL);
- g_assert_cmpint (G_MAXSIZE, ==, find_non_zero (p, 512));
-
-@@ -86,14 +89,16 @@ test_realloc_across (void)
- gpointer p, p2;
-
- /* Tiny allocation */
-- p = egg_secure_realloc_full (NULL, 1088, 0);
-+ p = egg_secure_realloc_full ("tests", NULL, 1088, 0);
- g_assert (p != NULL);
- g_assert_cmpint (G_MAXSIZE, ==, find_non_zero (p, 1088));
-
- /* Reallocate to a large one, will have to have changed blocks */
-- p2 = egg_secure_realloc_full (p, 16200, 0);
-+ p2 = egg_secure_realloc_full ("tests", p, 16200, 0);
- g_assert (p2 != NULL);
- g_assert_cmpint (G_MAXSIZE, ==, find_non_zero (p2, 16200));
-+
-+ egg_secure_free (p2);
- }
-
- static void
-@@ -102,13 +107,13 @@ test_alloc_two (void)
- gpointer p, p2;
- gboolean ret;
-
-- p2 = egg_secure_alloc_full (4, 0);
-+ p2 = egg_secure_alloc_full ("tests", 4, 0);
- g_assert (p2 != NULL);
- g_assert_cmpint (G_MAXSIZE, ==, find_non_zero (p2, 4));
-
- memset (p2, 0x67, 4);
-
-- p = egg_secure_alloc_full (16200, 0);
-+ p = egg_secure_alloc_full ("tests", 16200, 0);
- g_assert (p != NULL);
- g_assert_cmpint (G_MAXSIZE, ==, find_non_zero (p, 16200));
-
-@@ -130,19 +135,19 @@ test_realloc (void)
-
- len = strlen (str) + 1;
-
-- p = egg_secure_realloc_full (NULL, len, 0);
-+ p = egg_secure_realloc_full ("tests", NULL, len, 0);
- g_assert (p != NULL);
- g_assert_cmpint (G_MAXSIZE, ==, find_non_zero (p, len));
-
- strcpy ((gchar*)p, str);
-
-- p2 = egg_secure_realloc_full (p, 512, 0);
-+ p2 = egg_secure_realloc_full ("tests", p, 512, 0);
- g_assert (p2 != NULL);
- g_assert_cmpint (G_MAXSIZE, ==, find_non_zero (((gchar*)p2) + len, 512 - len));
-
- g_assert (strcmp (p2, str) == 0);
-
-- p = egg_secure_realloc_full (p2, 0, 0);
-+ p = egg_secure_realloc_full ("tests", p2, 0, 0);
- g_assert (p == NULL);
- }
-
-@@ -154,9 +159,6 @@ test_multialloc (void)
- gsize size;
- int i, action, index;
-
-- if (g_test_quick ())
-- return;
--
- /* A predetermined seed to get a predetermined pattern */
- g_random_set_seed (15);
- memory = g_ptr_array_new ();
-@@ -180,26 +182,25 @@ test_multialloc (void)
- case 0: /* Allocate some memory */
- size = g_random_int_range (1, 16384);
- data = egg_secure_alloc (size);
-- g_assert (data);
-+ g_assert (data != NULL);
- memset (data, 0xCAFEBABE, size);
- g_ptr_array_add (memory, data);
- break;
- case 1: /* Reallocate some memory */
- index = g_random_int_range (0, memory->len);
- data = g_ptr_array_index (memory, index);
-- g_assert (data);
-+ g_assert (data != NULL);
- size = g_random_int_range (1, 16384);
- data = egg_secure_realloc (data, size);
-- g_assert (data);
-+ g_assert (data != NULL);
- memset (data, 0xCAFEBABE, size);
- g_ptr_array_index (memory, index) = data;
- break;
- case 2: /* Free some memory */
- index = g_random_int_range (0, memory->len);
-- data = g_ptr_array_index (memory, index);
-- g_assert (data);
-+ data = g_ptr_array_remove_index_fast (memory, index);
-+ g_assert (data != NULL);
- egg_secure_free (data);
-- g_ptr_array_remove_index_fast (memory, index);
- break;
- default:
- g_assert_not_reached ();
-@@ -212,6 +213,8 @@ test_multialloc (void)
- }
-
- g_assert (memory->len == 0);
-+ for (i = 0; i < memory->len; i++)
-+ egg_secure_free (memory->pdata[i]);
- g_ptr_array_free (memory, TRUE);
-
- egg_secure_warnings = 1;
-@@ -222,7 +225,7 @@ test_clear (void)
- {
- gpointer p;
-
-- p = egg_secure_alloc_full (188, 0);
-+ p = egg_secure_alloc_full ("tests", 188, 0);
- g_assert (p != NULL);
- memset (p, 0x89, 188);
- g_assert (memchr (p, 0x89, 188) == p);
-@@ -255,9 +258,9 @@ main (int argc, char **argv)
- {
- g_test_init (&argc, &argv, NULL);
-
-- g_test_add_func ("/secmem/alloc-free", test_alloc_free);
-- g_test_add_func ("/secmem/realloc-across", test_realloc_across);
-- g_test_add_func ("/secmem/alloc-two", test_alloc_two);
-+ g_test_add_func ("/secmem/alloc_free", test_alloc_free);
-+ g_test_add_func ("/secmem/realloc_across", test_realloc_across);
-+ g_test_add_func ("/secmem/alloc_two", test_alloc_two);
- g_test_add_func ("/secmem/realloc", test_realloc);
- g_test_add_func ("/secmem/multialloc", test_multialloc);
- g_test_add_func ("/secmem/clear", test_clear);
diff --git a/security/libgnome-keyring/files/patch-library_Makefile.in b/security/libgnome-keyring/files/patch-library_Makefile.in
deleted file mode 100644
index e3bc76614..000000000
--- a/security/libgnome-keyring/files/patch-library_Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- library/Makefile.in.orig Sat Oct 27 14:40:01 2012
-+++ library/Makefile.in Sat Oct 27 14:40:29 2012
-@@ -435,7 +435,7 @@ libgnome_keyring_la_LIBADD = \
-
- libgnome_keyring_la_LDFLAGS = \
- -version-info $(LIB_GNOME_KEYRING_LT_VERSION) \
-- -no-undefined -export-symbols-regex 'gnome_keyring_|GNOME_KEYRING_'
-+ -no-undefined -export-symbols-regex '^gnome_keyring_|^GNOME_KEYRING_|^SECMEM_.*'
-
- noinst_LTLIBRARIES = libgnome-keyring-testable.la
- libgnome_keyring_testable_la_SOURCES =
diff --git a/security/libgnome-keyring/files/patch-library_gkr-session.c b/security/libgnome-keyring/files/patch-library_gkr-session.c
deleted file mode 100644
index 9ab5f8ee1..000000000
--- a/security/libgnome-keyring/files/patch-library_gkr-session.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- library/gkr-session.c.orig Sat Mar 31 14:59:37 2012
-+++ library/gkr-session.c Sat Oct 27 14:36:16 2012
-@@ -44,6 +44,8 @@ struct _GkrSession {
- G_LOCK_DEFINE_STATIC (session_globals);
- static GkrSession *the_session;
-
-+EGG_SECURE_DECLARE (session);
-+
- static guchar*
- pkcs7_pad_string_in_secure_memory (const gchar *string, gsize *n_padded)
- {
diff --git a/security/libgnome-keyring/files/patch-library_gnome-keyring-memory.c b/security/libgnome-keyring/files/patch-library_gnome-keyring-memory.c
deleted file mode 100644
index f7dd924a2..000000000
--- a/security/libgnome-keyring/files/patch-library_gnome-keyring-memory.c
+++ /dev/null
@@ -1,81 +0,0 @@
---- library/gnome-keyring-memory.c.orig Sat Mar 31 14:59:37 2012
-+++ library/gnome-keyring-memory.c Sat Oct 27 14:36:16 2012
-@@ -62,19 +62,19 @@ static GStaticMutex memory_mutex = G_STATIC_MUTEX_INIT
- * locking for memory between threads
- */
-
--void
-+static void
- egg_memory_lock (void)
- {
- g_static_mutex_lock (&memory_mutex);
- }
-
--void
-+static void
- egg_memory_unlock (void)
- {
- g_static_mutex_unlock (&memory_mutex);
- }
-
--void*
-+static void *
- egg_memory_fallback (void *p, size_t sz)
- {
- const gchar *env;
-@@ -107,6 +107,10 @@ egg_memory_fallback (void *p, size_t sz)
- return g_realloc (p, sz);
- }
-
-+EGG_SECURE_DEFINE_GLOBALS (egg_memory_lock, egg_memory_unlock, egg_memory_fallback);
-+
-+EGG_SECURE_DECLARE (libgnome_keyring_memory);
-+
- /* -----------------------------------------------------------------------------
- * PUBLIC FUNCTIONS
- */
-@@ -129,7 +133,7 @@ gnome_keyring_memory_alloc (gulong sz)
- gpointer p;
-
- /* Try to allocate secure memory */
-- p = egg_secure_alloc_full (sz, GKR_SECURE_USE_FALLBACK);
-+ p = egg_secure_alloc (sz);
-
- /* Our fallback will always allocate */
- g_assert (p);
-@@ -151,7 +155,7 @@ gnome_keyring_memory_alloc (gulong sz)
- gpointer
- gnome_keyring_memory_try_alloc (gulong sz)
- {
-- return egg_secure_alloc_full (sz, 0);
-+ return egg_secure_alloc_full ("libgnome_keyring_memory", sz, 0);
- }
-
- /**
-@@ -187,7 +191,7 @@ gnome_keyring_memory_realloc (gpointer p, gulong sz)
- }
-
- /* First try and ask secure memory to reallocate */
-- n = egg_secure_realloc_full (p, sz, GKR_SECURE_USE_FALLBACK);
-+ n = egg_secure_realloc (p, sz);
-
- g_assert (n);
-
-@@ -226,7 +230,7 @@ gnome_keyring_memory_try_realloc (gpointer p, gulong s
- }
-
- /* First try and ask secure memory to reallocate */
-- n = egg_secure_realloc_full (p, sz, 0);
-+ n = egg_secure_realloc_full ("libgnome_keyring_memory", p, sz, 0);
-
- g_assert (n);
-
-@@ -247,7 +251,7 @@ gnome_keyring_memory_free (gpointer p)
- {
- if (!p)
- return;
-- egg_secure_free_full (p, GKR_SECURE_USE_FALLBACK);
-+ egg_secure_free (p);
- }
-
- /**
diff --git a/security/libgnome-keyring/files/patch-library_gnome-keyring-utils.c b/security/libgnome-keyring/files/patch-library_gnome-keyring-utils.c
deleted file mode 100644
index 320b6ae33..000000000
--- a/security/libgnome-keyring/files/patch-library_gnome-keyring-utils.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- library/gnome-keyring-utils.c.orig Fri Aug 17 12:15:17 2012
-+++ library/gnome-keyring-utils.c Sat Oct 27 14:36:16 2012
-@@ -32,6 +32,8 @@
-
- #include "egg/egg-secure-memory.h"
-
-+EGG_SECURE_DECLARE (libgnome_keyring_utils);
-+
- /**
- * SECTION:gnome-keyring-result
- * @title: Result Codes
diff --git a/security/libgnome-keyring/files/patch-library_gnome-keyring.c b/security/libgnome-keyring/files/patch-library_gnome-keyring.c
deleted file mode 100644
index da2d9c046..000000000
--- a/security/libgnome-keyring/files/patch-library_gnome-keyring.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- library/gnome-keyring.c.orig Fri Aug 17 12:15:17 2012
-+++ library/gnome-keyring.c Sat Oct 27 14:36:16 2012
-@@ -51,6 +51,8 @@
- #include <sys/uio.h>
- #include <stdarg.h>
-
-+EGG_SECURE_DECLARE (libgnome_keyring);
-+
- typedef gboolean (*DecodeCallback) (DBusMessageIter *, gpointer);
-
- typedef gboolean (*DecodeDictCallback) (const gchar *, DBusMessageIter *, gpointer);
diff --git a/security/libgnome-keyring/pkg-plist b/security/libgnome-keyring/pkg-plist
index da56865c6..36d6fb404 100644
--- a/security/libgnome-keyring/pkg-plist
+++ b/security/libgnome-keyring/pkg-plist
@@ -5,6 +5,7 @@ lib/girepository-1.0/GnomeKeyring-1.0.typelib
lib/libgnome-keyring.la
lib/libgnome-keyring.so
lib/libgnome-keyring.so.0
+lib/libgnome-keyring.so.0.2.0
libdata/pkgconfig/gnome-keyring-1.pc
share/doc/gnome-keyring/annotation-glossary.html
share/doc/gnome-keyring/ch01.html
@@ -54,7 +55,9 @@ share/locale/eu/LC_MESSAGES/libgnome-keyring.mo
share/locale/fa/LC_MESSAGES/libgnome-keyring.mo
share/locale/fi/LC_MESSAGES/libgnome-keyring.mo
share/locale/fr/LC_MESSAGES/libgnome-keyring.mo
+share/locale/fur/LC_MESSAGES/libgnome-keyring.mo
share/locale/fy/LC_MESSAGES/libgnome-keyring.mo
+share/locale/gd/LC_MESSAGES/libgnome-keyring.mo
share/locale/gl/LC_MESSAGES/libgnome-keyring.mo
share/locale/gu/LC_MESSAGES/libgnome-keyring.mo
share/locale/he/LC_MESSAGES/libgnome-keyring.mo
@@ -90,6 +93,7 @@ share/locale/sr@latin/LC_MESSAGES/libgnome-keyring.mo
share/locale/sv/LC_MESSAGES/libgnome-keyring.mo
share/locale/ta/LC_MESSAGES/libgnome-keyring.mo
share/locale/te/LC_MESSAGES/libgnome-keyring.mo
+share/locale/tg/LC_MESSAGES/libgnome-keyring.mo
share/locale/th/LC_MESSAGES/libgnome-keyring.mo
share/locale/tr/LC_MESSAGES/libgnome-keyring.mo
share/locale/ug/LC_MESSAGES/libgnome-keyring.mo
@@ -105,6 +109,8 @@ share/locale/zh_TW/LC_MESSAGES/libgnome-keyring.mo
@dirrmtry share/locale/uz@cyrillic
@dirrmtry share/locale/ug/LC_MESSAGES
@dirrmtry share/locale/ug
+@dirrmtry share/locale/tg/LC_MESSAGES
+@dirrmtry share/locale/tg
@dirrmtry share/locale/te/LC_MESSAGES
@dirrmtry share/locale/te
@dirrmtry share/locale/sr@latin/LC_MESSAGES
@@ -115,8 +121,12 @@ share/locale/zh_TW/LC_MESSAGES/libgnome-keyring.mo
@dirrmtry share/locale/mr
@dirrmtry share/locale/km/LC_MESSAGES
@dirrmtry share/locale/km
+@dirrmtry share/locale/gd/LC_MESSAGES
+@dirrmtry share/locale/gd
@dirrmtry share/locale/fy/LC_MESSAGES
@dirrmtry share/locale/fy
+@dirrmtry share/locale/fur/LC_MESSAGES
+@dirrmtry share/locale/fur
@dirrmtry share/locale/ca@valencia/LC_MESSAGES
@dirrmtry share/locale/ca@valencia
@dirrmtry share/locale/bn_IN/LC_MESSAGES
diff --git a/security/libsecret/Makefile b/security/libsecret/Makefile
index 9f2767648..e40d93cdb 100644
--- a/security/libsecret/Makefile
+++ b/security/libsecret/Makefile
@@ -1,9 +1,9 @@
# Created by: Koop Mast <kwm@FreeBSD.org>
# $FreeBSD$
-# $MCom: ports/trunk/security/libsecret/Makefile 18610 2013-06-30 16:33:05Z marcus $
+# $MCom: ports-experimental/trunk/security/libsecret/Makefile 19553 2014-04-20 07:23:27Z gusi $
PORTNAME= libsecret
-PORTVERSION= 0.15
+PORTVERSION= 0.18
CATEGORIES= security gnome
MASTER_SITES= GNOME
@@ -13,12 +13,12 @@ COMMENT= Library to access the secret service API
BUILD_DEPENDS= docbook-xsl>=0:${PORTSDIR}/textproc/docbook-xsl
LIB_DEPENDS= libgcrypt.so:${PORTSDIR}/security/libgcrypt
-USE_XZ= yes
-USE_GNOME= gnomehier glib20 libxslt:build intltool introspection:build
-USES= gettext gmake libtool pathfix pkgconfig
+USES= gettext gmake pathfix pkgconfig tar:xz
+USE_GNOME= gnomehier glib20 libxslt:build intltool \
+ introspection:build
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
-CONFIGURE_ARGS+=--enable-introspection --disable-vala
+CONFIGURE_ARGS+=--enable-introspection
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libsecret-1.so.0
diff --git a/security/libsecret/distinfo b/security/libsecret/distinfo
index f9a208b2f..ddd3b077b 100644
--- a/security/libsecret/distinfo
+++ b/security/libsecret/distinfo
@@ -1,2 +1,2 @@
-SHA256 (libsecret-0.15.tar.xz) = 33e728b843efbe099483376ff5a3469260ee4b6ce035c7730909ac3793cb0fb8
-SIZE (libsecret-0.15.tar.xz) = 484532
+SHA256 (libsecret-0.18.tar.xz) = 0c73aa762dbd1e38ba7b03de350e23ce818cb810b0784375e95ef61e004b02e3
+SIZE (libsecret-0.18.tar.xz) = 480520
diff --git a/security/libsecret/pkg-plist b/security/libsecret/pkg-plist
index dfc283836..43c7f03bd 100644
--- a/security/libsecret/pkg-plist
+++ b/security/libsecret/pkg-plist
@@ -13,19 +13,15 @@ include/libsecret-1/libsecret/secret-types.h
include/libsecret-1/libsecret/secret-value.h
include/libsecret-1/libsecret/secret.h
lib/girepository-1.0/Secret-1.typelib
-lib/girepository-1.0/SecretUnstable-0.typelib
lib/libsecret-1.a
lib/libsecret-1.la
lib/libsecret-1.so
lib/libsecret-1.so.0
-lib/libsecret-1.so.0.0.0
libdata/pkgconfig/libsecret-1.pc
libdata/pkgconfig/libsecret-unstable.pc
man/man1/secret-tool.1.gz
share/gir-1.0/Secret-1.gir
-share/gir-1.0/SecretUnstable-0.gir
share/gtk-doc/html/libsecret-1/SecretCollection.html
-share/gtk-doc/html/libsecret-1/SecretError.html
share/gtk-doc/html/libsecret-1/SecretItem.html
share/gtk-doc/html/libsecret-1/SecretPrompt.html
share/gtk-doc/html/libsecret-1/SecretService.html
@@ -44,11 +40,13 @@ share/gtk-doc/html/libsecret-1/js-examples.html
share/gtk-doc/html/libsecret-1/js-lookup-example.html
share/gtk-doc/html/libsecret-1/js-remove-example.html
share/gtk-doc/html/libsecret-1/js-store-example.html
+share/gtk-doc/html/libsecret-1/left-insensitive.png
share/gtk-doc/html/libsecret-1/left.png
share/gtk-doc/html/libsecret-1/libsecret-1.devhelp2
share/gtk-doc/html/libsecret-1/libsecret-DBus-Path-Related-Functions.html
share/gtk-doc/html/libsecret-1/libsecret-Password-storage.html
share/gtk-doc/html/libsecret-1/libsecret-Secret-Attributes.html
+share/gtk-doc/html/libsecret-1/libsecret-SecretError.html
share/gtk-doc/html/libsecret-1/libsecret-SecretSchema.html
share/gtk-doc/html/libsecret-1/migrating-api.html
share/gtk-doc/html/libsecret-1/migrating-introduction.html
@@ -66,9 +64,11 @@ share/gtk-doc/html/libsecret-1/py-examples.html
share/gtk-doc/html/libsecret-1/py-lookup-example.html
share/gtk-doc/html/libsecret-1/py-remove-example.html
share/gtk-doc/html/libsecret-1/py-store-example.html
+share/gtk-doc/html/libsecret-1/right-insensitive.png
share/gtk-doc/html/libsecret-1/right.png
share/gtk-doc/html/libsecret-1/simple.html
share/gtk-doc/html/libsecret-1/style.css
+share/gtk-doc/html/libsecret-1/up-insensitive.png
share/gtk-doc/html/libsecret-1/up.png
share/gtk-doc/html/libsecret-1/using-c.html
share/gtk-doc/html/libsecret-1/using-js.html
@@ -79,20 +79,49 @@ share/gtk-doc/html/libsecret-1/vala-examples.html
share/gtk-doc/html/libsecret-1/vala-lookup-example.html
share/gtk-doc/html/libsecret-1/vala-remove-example.html
share/gtk-doc/html/libsecret-1/vala-store-example.html
+share/locale/an/LC_MESSAGES/libsecret.mo
+share/locale/as/LC_MESSAGES/libsecret.mo
+share/locale/be/LC_MESSAGES/libsecret.mo
+share/locale/ca/LC_MESSAGES/libsecret.mo
+share/locale/ca@valencia/LC_MESSAGES/libsecret.mo
share/locale/cs/LC_MESSAGES/libsecret.mo
+share/locale/da/LC_MESSAGES/libsecret.mo
+share/locale/de/LC_MESSAGES/libsecret.mo
+share/locale/el/LC_MESSAGES/libsecret.mo
share/locale/es/LC_MESSAGES/libsecret.mo
+share/locale/eo/LC_MESSAGES/libsecret.mo
+share/locale/fr/LC_MESSAGES/libsecret.mo
+share/locale/fur/LC_MESSAGES/libsecret.mo
share/locale/gl/LC_MESSAGES/libsecret.mo
+share/locale/he/LC_MESSAGES/libsecret.mo
share/locale/hu/LC_MESSAGES/libsecret.mo
+share/locale/id/LC_MESSAGES/libsecret.mo
share/locale/it/LC_MESSAGES/libsecret.mo
share/locale/ja/LC_MESSAGES/libsecret.mo
+share/locale/ko/LC_MESSAGES/libsecret.mo
+share/locale/lt/LC_MESSAGES/libsecret.mo
+share/locale/lv/LC_MESSAGES/libsecret.mo
+share/locale/ml/LC_MESSAGES/libsecret.mo
+share/locale/nb/LC_MESSAGES/libsecret.mo
+share/locale/nl/LC_MESSAGES/libsecret.mo
+share/locale/pa/LC_MESSAGES/libsecret.mo
share/locale/pl/LC_MESSAGES/libsecret.mo
+share/locale/pt/LC_MESSAGES/libsecret.mo
share/locale/pt_BR/LC_MESSAGES/libsecret.mo
share/locale/ru/LC_MESSAGES/libsecret.mo
share/locale/sl/LC_MESSAGES/libsecret.mo
+share/locale/sk/LC_MESSAGES/libsecret.mo
share/locale/sr/LC_MESSAGES/libsecret.mo
share/locale/sr@latin/LC_MESSAGES/libsecret.mo
+share/locale/tg/LC_MESSAGES/libsecret.mo
+share/locale/uk/LC_MESSAGES/libsecret.mo
+share/locale/zh_CN/LC_MESSAGES/libsecret.mo
+share/locale/zh_HK/LC_MESSAGES/libsecret.mo
+share/locale/zh_TW/LC_MESSAGES/libsecret.mo
@dirrmtry share/locale/sr@latin/LC_MESSAGES
@dirrmtry share/locale/sr@latin
+@dirrmtry share/locale/fur/LC_MESSAGES
+@dirrmtry share/locale/fur
@dirrm share/gtk-doc/html/libsecret-1
@dirrmtry share/gtk-doc/html
@dirrmtry share/gtk-doc
diff --git a/security/seahorse-sharing/Makefile b/security/seahorse-sharing/Makefile
deleted file mode 100644
index 189ee98c3..000000000
--- a/security/seahorse-sharing/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# Created by: Dave McKay <dave@mu.org>
-# $FreeBSD$
-# $MCom: ports/trunk/security/seahorse-sharing/Makefile 18610 2013-06-30 16:33:05Z marcus $
-
-PORTNAME= seahorse-sharing
-PORTVERSION= 3.6.1
-CATEGORIES= security gnome
-MASTER_SITES= GNOME
-DIST_SUBDIR= gnome3
-
-MAINTAINER= gnome@FreeBSD.org
-COMMENT= Seahorse PGP public key sharing using DNS-SD and HKP.
-
-BUILD_DEPENDS= gpg:${PORTSDIR}/security/gnupg
-LIB_DEPENDS= libgpgme.so:${PORTSDIR}/security/gpgme \
- libavahi-glib.so:${PORTSDIR}/net/avahi-app \
- libsoup-2.4.so:${PORTSDIR}/devel/libsoup
-RUN_DEPENDS= gpg:${PORTSDIR}/security/gnupg \
- seahorse>=3.2.1:${PORTSDIR}/security/seahorse
-
-USE_XZ= yes
-USES= gettext gmake pathfix pkgconfig
-USE_GNOME= intlhack gnomeprefix
-GNU_CONFIGURE= yes
-INSTALLS_ICONS= yes
-CPPFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
-
-.include <bsd.port.mk>
diff --git a/security/seahorse-sharing/distinfo b/security/seahorse-sharing/distinfo
deleted file mode 100644
index 84976491f..000000000
--- a/security/seahorse-sharing/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (gnome3/seahorse-sharing-3.6.1.tar.xz) = 678af1602b1ee08bc2e83d9e6da594f67843a316e0d16c25b5f31dfa6c692ff1
-SIZE (gnome3/seahorse-sharing-3.6.1.tar.xz) = 285720
diff --git a/security/seahorse-sharing/pkg-descr b/security/seahorse-sharing/pkg-descr
deleted file mode 100644
index 5f512d881..000000000
--- a/security/seahorse-sharing/pkg-descr
+++ /dev/null
@@ -1,10 +0,0 @@
-Keysharing support for Seahorse by DNS-SD and HKP.
-
-Seahorse is a Gnome front end for GnuPG - the Gnu Privacy Guard program.
-
-It is a tool for secure communications and data storage.
-Data encryption and digital signature creation can easily
-be performed through a GUI and Key Management operations
-can easily be carried out through an intuitive interface.
-
-WWW: http://seahorse.sourceforge.net/
diff --git a/security/seahorse-sharing/pkg-plist b/security/seahorse-sharing/pkg-plist
deleted file mode 100644
index 02d4d00e0..000000000
--- a/security/seahorse-sharing/pkg-plist
+++ /dev/null
@@ -1,15 +0,0 @@
-bin/seahorse-sharing
-etc/xdg/autostart/seahorse-sharing.desktop
-man/man1/seahorse-sharing.1.gz
-share/locale/cs/LC_MESSAGES/seahorse-sharing.mo
-share/locale/de/LC_MESSAGES/seahorse-sharing.mo
-share/locale/es/LC_MESSAGES/seahorse-sharing.mo
-share/locale/gl/LC_MESSAGES/seahorse-sharing.mo
-share/locale/lv/LC_MESSAGES/seahorse-sharing.mo
-share/locale/pl/LC_MESSAGES/seahorse-sharing.mo
-share/locale/sl/LC_MESSAGES/seahorse-sharing.mo
-share/locale/sr/LC_MESSAGES/seahorse-sharing.mo
-share/locale/sr@latin/LC_MESSAGES/seahorse-sharing.mo
-share/pixmaps/seahorse/22x22/seahorse-share-keys.png
-share/pixmaps/seahorse/48x48/seahorse-share-keys.png
-share/pixmaps/seahorse/scalable/seahorse-share-keys.svg
diff --git a/security/seahorse/Makefile b/security/seahorse/Makefile
index 02fe9705d..0d3f63bad 100644
--- a/security/seahorse/Makefile
+++ b/security/seahorse/Makefile
@@ -1,9 +1,10 @@
# Created by: Dave McKay <dave@mu.org>
# $FreeBSD$
-# $MCom: ports/trunk/security/seahorse3/Makefile 18480 2013-05-17 20:20:19Z kwm $
+# $MCom: ports-experimental/trunk/security/seahorse/Makefile 19530 2014-04-15 14:24:24Z kwm $
PORTNAME= seahorse
-PORTVERSION= 3.6.3
+PORTVERSION= 3.12.0
+PORTREVISION= 1
CATEGORIES= security gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome3
@@ -15,18 +16,14 @@ BUILD_DEPENDS= gpg:${PORTSDIR}/security/gnupg \
itstool:${PORTSDIR}/textproc/itstool
LIB_DEPENDS= libgpgme.so:${PORTSDIR}/security/gpgme \
libdbus-glib-1.so:${PORTSDIR}/devel/dbus-glib \
- libgnome-keyring.so:${PORTSDIR}/security/libgnome-keyring \
- libcryptui.so:${PORTSDIR}/security/libcryptui \
libgcr-3.so:${PORTSDIR}/security/gcr \
- libgcrypt.so:${PORTSDIR}/security/libgcrypt \
libsecret-1.so:${PORTSDIR}/security/libsecret \
libsoup-2.4.so:${PORTSDIR}/devel/libsoup
RUN_DEPENDS= gpg:${PORTSDIR}/security/gnupg
USE_XORG= sm
USE_LDCONFIG= yes
-USE_XZ= yes
-USES= gettext gmake pathfix pkgconfig
+USES= gettext gmake libtool pathfix pkgconfig tar:xz
USE_GNOME= intlhack gnomeprefix gtk30
GNU_CONFIGURE= yes
INSTALLS_ICONS= yes
diff --git a/security/seahorse/distinfo b/security/seahorse/distinfo
index 550f21983..3e347a52d 100644
--- a/security/seahorse/distinfo
+++ b/security/seahorse/distinfo
@@ -1,2 +1,2 @@
-SHA256 (gnome3/seahorse-3.6.3.tar.xz) = 9b712da1989725547a8093e638725ee6de74d7870661545a15374c7ebf335cc1
-SIZE (gnome3/seahorse-3.6.3.tar.xz) = 1995252
+SHA256 (gnome3/seahorse-3.12.0.tar.xz) = f78800b1d25b285ddc8928e925f9ee24f27640abba3fc9ab1cd9554c83380d0b
+SIZE (gnome3/seahorse-3.12.0.tar.xz) = 1396460
diff --git a/security/seahorse/files/patch-pkgcs11_pkcs11-request.c b/security/seahorse/files/patch-pkgcs11_pkcs11-request.c
new file mode 100644
index 000000000..3b0840235
--- /dev/null
+++ b/security/seahorse/files/patch-pkgcs11_pkcs11-request.c
@@ -0,0 +1,11 @@
+--- pkcs11/pkcs11-request.c.orig 2014-03-22 11:48:55.000000000 +0100
++++ pkcs11/pkcs11-request.c 2014-03-22 11:49:53.000000000 +0100
+@@ -1051,7 +1051,7 @@
+ #line 61 "/data/src/seahorse/pkcs11/pkcs11-request.vala"
+ _tmp18_ = self->priv->_private_key;
+ #line 61 "/data/src/seahorse/pkcs11/pkcs11-request.vala"
+- g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (_tmp18_, gck_object_get_type ()));
++ g_return_val_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (_tmp18_, gck_object_get_type ()), NULL);
+ #line 35 "/data/src/seahorse/pkcs11/pkcs11-request.vala"
+ _g_object_unref0 (widget);
+ #line 35 "/data/src/seahorse/pkcs11/pkcs11-request.vala"
diff --git a/security/seahorse/pkg-descr b/security/seahorse/pkg-descr
index ea4098271..59d552042 100644
--- a/security/seahorse/pkg-descr
+++ b/security/seahorse/pkg-descr
@@ -5,4 +5,4 @@ Data encryption and digital signature creation can easily
be performed through a GUI and Key Management operations
can easily be carried out through an intuitive interface.
-WWW: http://seahorse.sourceforge.net/
+WWW: https://wiki.gnome.org/Apps/Seahorse
diff --git a/security/seahorse/pkg-plist b/security/seahorse/pkg-plist
index ae4f825fd..03911a3c0 100644
--- a/security/seahorse/pkg-plist
+++ b/security/seahorse/pkg-plist
@@ -4,64 +4,10 @@ lib/seahorse/xloadimage
man/man1/seahorse.1.gz
share/GConf/gsettings/org.gnome.seahorse.convert
share/GConf/gsettings/org.gnome.seahorse.manager.convert
+share/appdata/seahorse.appdata.xml
share/applications/seahorse.desktop
-share/help/C/seahorse/figures/seahorse-window.png
-share/help/C/seahorse/index.docbook
-share/help/C/seahorse/legal.xml
-share/help/ca/seahorse/figures/seahorse-window.png
-share/help/ca/seahorse/index.docbook
-share/help/ca/seahorse/legal.xml
-share/help/cs/seahorse/figures/seahorse-window.png
-share/help/cs/seahorse/index.docbook
-share/help/cs/seahorse/legal.xml
-share/help/de/seahorse/figures/seahorse-window.png
-share/help/de/seahorse/index.docbook
-share/help/de/seahorse/legal.xml
-share/help/el/seahorse/figures/seahorse-window.png
-share/help/el/seahorse/index.docbook
-share/help/el/seahorse/legal.xml
-share/help/en_GB/seahorse/figures/seahorse-window.png
-share/help/en_GB/seahorse/index.docbook
-share/help/en_GB/seahorse/legal.xml
-share/help/es/seahorse/figures/seahorse-window.png
-share/help/es/seahorse/index.docbook
-share/help/es/seahorse/legal.xml
-share/help/eu/seahorse/figures/seahorse-window.png
-share/help/eu/seahorse/index.docbook
-share/help/eu/seahorse/legal.xml
-share/help/fr/seahorse/figures/seahorse-window.png
-share/help/fr/seahorse/index.docbook
-share/help/fr/seahorse/legal.xml
-share/help/gl/seahorse/figures/seahorse-window.png
-share/help/gl/seahorse/index.docbook
-share/help/gl/seahorse/legal.xml
-share/help/it/seahorse/figures/seahorse-window.png
-share/help/it/seahorse/index.docbook
-share/help/it/seahorse/legal.xml
-share/help/ja/seahorse/figures/seahorse-window.png
-share/help/ja/seahorse/index.docbook
-share/help/ja/seahorse/legal.xml
-share/help/ko/seahorse/figures/seahorse-window.png
-share/help/ko/seahorse/index.docbook
-share/help/ko/seahorse/legal.xml
-share/help/oc/seahorse/figures/seahorse-window.png
-share/help/oc/seahorse/index.docbook
-share/help/oc/seahorse/legal.xml
-share/help/ru/seahorse/figures/seahorse-window.png
-share/help/ru/seahorse/index.docbook
-share/help/ru/seahorse/legal.xml
-share/help/sl/seahorse/figures/seahorse-window.png
-share/help/sl/seahorse/index.docbook
-share/help/sl/seahorse/legal.xml
-share/help/sv/seahorse/figures/seahorse-window.png
-share/help/sv/seahorse/index.docbook
-share/help/sv/seahorse/legal.xml
-share/help/vi/seahorse/figures/seahorse-window.png
-share/help/vi/seahorse/index.docbook
-share/help/vi/seahorse/legal.xml
-share/help/zh_CN/seahorse/figures/seahorse-window.png
-share/help/zh_CN/seahorse/index.docbook
-share/help/zh_CN/seahorse/legal.xml
+share/dbus-1/services/org.gnome.seahorse.Application.service
+share/gnome-shell/search-providers/seahorse-search-provider.ini
share/icons/hicolor/16x16/apps/seahorse-preferences.png
share/icons/hicolor/16x16/apps/seahorse.png
share/icons/hicolor/22x22/apps/seahorse-preferences.png
@@ -73,6 +19,92 @@ share/icons/hicolor/32x32/apps/seahorse-preferences.png
share/icons/hicolor/32x32/apps/seahorse.png
share/icons/hicolor/48x48/apps/seahorse-preferences.png
share/icons/hicolor/48x48/apps/seahorse.png
+share/help/C/seahorse/glossary.page
+share/help/C/seahorse/index.page
+share/help/C/seahorse/introduction.page
+share/help/C/seahorse/key-servers-add.page
+share/help/C/seahorse/keyring-change-default.page
+share/help/C/seahorse/keyring-create.page
+share/help/C/seahorse/keyring-lock.page
+share/help/C/seahorse/keyring-unlock.page
+share/help/C/seahorse/keyring-update-password.page
+share/help/C/seahorse/keyring.page
+share/help/C/seahorse/legal.xml
+share/help/C/seahorse/misc-key-backup.page
+share/help/C/seahorse/misc-key-fingerprint.page
+share/help/C/seahorse/passwords-stored-create.page
+share/help/C/seahorse/passwords-view.page
+share/help/C/seahorse/passwords.page
+share/help/C/seahorse/pgp-create.page
+share/help/C/seahorse/pgp-delete.page
+share/help/C/seahorse/pgp-expiration-change.page
+share/help/C/seahorse/pgp-expired.page
+share/help/C/seahorse/pgp-export.page
+share/help/C/seahorse/pgp-import.page
+share/help/C/seahorse/pgp-photoid.page
+share/help/C/seahorse/pgp-publish.page
+share/help/C/seahorse/pgp-retrieve-remote.page
+share/help/C/seahorse/pgp-sign.page
+share/help/C/seahorse/pgp-subkeys.page
+share/help/C/seahorse/pgp-sync.page
+share/help/C/seahorse/pgp-userid-add.page
+share/help/C/seahorse/pgp-userid-primary.page
+share/help/C/seahorse/pgp-userid-remove.page
+share/help/C/seahorse/pgp-userid.page
+share/help/C/seahorse/pgp.page
+share/help/C/seahorse/ssh-connect-remote.page
+share/help/C/seahorse/ssh-create-vs-setup.page
+share/help/C/seahorse/ssh-create.page
+share/help/C/seahorse/ssh-export.page
+share/help/C/seahorse/ssh-import.page
+share/help/C/seahorse/ssh.page
+share/help/C/seahorse/subkeys-add.page
+share/help/C/seahorse/subkeys-examine.page
+share/help/C/seahorse/subkeys-revoke.page
+share/help/C/seahorse/media/seahorse.png
+share/help/es/seahorse/glossary.page
+share/help/es/seahorse/index.page
+share/help/es/seahorse/introduction.page
+share/help/es/seahorse/key-servers-add.page
+share/help/es/seahorse/keyring-change-default.page
+share/help/es/seahorse/keyring-create.page
+share/help/es/seahorse/keyring-lock.page
+share/help/es/seahorse/keyring-unlock.page
+share/help/es/seahorse/keyring-update-password.page
+share/help/es/seahorse/keyring.page
+share/help/es/seahorse/legal.xml
+share/help/es/seahorse/misc-key-backup.page
+share/help/es/seahorse/misc-key-fingerprint.page
+share/help/es/seahorse/passwords-stored-create.page
+share/help/es/seahorse/passwords-view.page
+share/help/es/seahorse/passwords.page
+share/help/es/seahorse/pgp-create.page
+share/help/es/seahorse/pgp-delete.page
+share/help/es/seahorse/pgp-expiration-change.page
+share/help/es/seahorse/pgp-expired.page
+share/help/es/seahorse/pgp-export.page
+share/help/es/seahorse/pgp-import.page
+share/help/es/seahorse/pgp-photoid.page
+share/help/es/seahorse/pgp-publish.page
+share/help/es/seahorse/pgp-retrieve-remote.page
+share/help/es/seahorse/pgp-sign.page
+share/help/es/seahorse/pgp-subkeys.page
+share/help/es/seahorse/pgp-sync.page
+share/help/es/seahorse/pgp-userid-add.page
+share/help/es/seahorse/pgp-userid-primary.page
+share/help/es/seahorse/pgp-userid-remove.page
+share/help/es/seahorse/pgp-userid.page
+share/help/es/seahorse/pgp.page
+share/help/es/seahorse/ssh-connect-remote.page
+share/help/es/seahorse/ssh-create-vs-setup.page
+share/help/es/seahorse/ssh-create.page
+share/help/es/seahorse/ssh-export.page
+share/help/es/seahorse/ssh-import.page
+share/help/es/seahorse/ssh.page
+share/help/es/seahorse/subkeys-add.page
+share/help/es/seahorse/subkeys-examine.page
+share/help/es/seahorse/subkeys-revoke.page
+share/help/es/seahorse/media/seahorse.png
share/locale/ar/LC_MESSAGES/seahorse.mo
share/locale/as/LC_MESSAGES/seahorse.mo
share/locale/ast/LC_MESSAGES/seahorse.mo
@@ -142,6 +174,7 @@ share/locale/sr@latin/LC_MESSAGES/seahorse.mo
share/locale/sv/LC_MESSAGES/seahorse.mo
share/locale/ta/LC_MESSAGES/seahorse.mo
share/locale/te/LC_MESSAGES/seahorse.mo
+share/locale/tg/LC_MESSAGES/seahorse.mo
share/locale/th/LC_MESSAGES/seahorse.mo
share/locale/tr/LC_MESSAGES/seahorse.mo
share/locale/ug/LC_MESSAGES/seahorse.mo
@@ -239,62 +272,14 @@ share/locale/zh_TW/LC_MESSAGES/seahorse.mo
@dirrmtry share/locale/ast
@dirrmtry share/locale/as/LC_MESSAGES
@dirrmtry share/locale/as
-@dirrm share/help/zh_CN/seahorse/figures
-@dirrm share/help/zh_CN/seahorse
-@dirrmtry share/help/zh_CN
-@dirrm share/help/vi/seahorse/figures
-@dirrm share/help/vi/seahorse
-@dirrmtry share/help/vi
-@dirrm share/help/sv/seahorse/figures
-@dirrm share/help/sv/seahorse
-@dirrmtry share/help/sv
-@dirrm share/help/sl/seahorse/figures
-@dirrm share/help/sl/seahorse
-@dirrmtry share/help/sl
-@dirrm share/help/ru/seahorse/figures
-@dirrm share/help/ru/seahorse
-@dirrmtry share/help/ru
-@dirrm share/help/oc/seahorse/figures
-@dirrm share/help/oc/seahorse
-@dirrmtry share/help/oc
-@dirrm share/help/ko/seahorse/figures
-@dirrm share/help/ko/seahorse
-@dirrmtry share/help/ko
-@dirrm share/help/ja/seahorse/figures
-@dirrm share/help/ja/seahorse
-@dirrmtry share/help/ja
-@dirrm share/help/it/seahorse/figures
-@dirrm share/help/it/seahorse
-@dirrmtry share/help/it
-@dirrm share/help/gl/seahorse/figures
-@dirrm share/help/gl/seahorse
-@dirrmtry share/help/gl
-@dirrm share/help/fr/seahorse/figures
-@dirrm share/help/fr/seahorse
-@dirrmtry share/help/fr
-@dirrm share/help/eu/seahorse/figures
-@dirrm share/help/eu/seahorse
-@dirrmtry share/help/eu
-@dirrm share/help/es/seahorse/figures
+@dirrm share/help/es/seahorse/media
@dirrm share/help/es/seahorse
@dirrmtry share/help/es
-@dirrm share/help/en_GB/seahorse/figures
-@dirrm share/help/en_GB/seahorse
-@dirrmtry share/help/en_GB
-@dirrm share/help/el/seahorse/figures
-@dirrm share/help/el/seahorse
-@dirrmtry share/help/el
-@dirrm share/help/de/seahorse/figures
-@dirrm share/help/de/seahorse
-@dirrmtry share/help/de
-@dirrm share/help/cs/seahorse/figures
-@dirrm share/help/cs/seahorse
-@dirrmtry share/help/cs
-@dirrm share/help/ca/seahorse/figures
-@dirrm share/help/ca/seahorse
-@dirrmtry share/help/ca
-@dirrm share/help/C/seahorse/figures
+@dirrm share/help/C/seahorse/media
@dirrm share/help/C/seahorse
@dirrmtry share/help/C
@dirrmtry share/help
+@dirrmtry share/gnome-shell/search-providers
+@dirrmtry share/gnome-shell
+@dirrmtry share/appdata
@dirrm lib/seahorse