]> granicus.if.org Git - p11-kit/log
p11-kit
11 years agoasn1: In p11_asn1_read() allocate an extra null terminator
Stef Walter [Mon, 8 Jul 2013 14:30:52 +0000 (16:30 +0200)]
asn1: In p11_asn1_read() allocate an extra null terminator

As a courtesy for callers.

11 years agocommon: Fix typo, and don't escape '6' in URL encoding
Stef Walter [Mon, 8 Jul 2013 14:28:48 +0000 (16:28 +0200)]
common: Fix typo, and don't escape '6' in URL encoding

11 years agop11-kit: Add P11_KIT_MODULE_TRUSTED flag
Stef Walter [Thu, 4 Jul 2013 19:49:57 +0000 (21:49 +0200)]
p11-kit: Add P11_KIT_MODULE_TRUSTED flag

A new flag to pass to p11_kit_modules_load() and related functions
which limits loaded modules to ones with "trust-policy: yes".

11 years agotrust: Port to use CKA_PUBLIC_KEY_INFO and updated trust store spec
Stef Walter [Thu, 4 Jul 2013 13:48:38 +0000 (15:48 +0200)]
trust: Port to use CKA_PUBLIC_KEY_INFO and updated trust store spec

 * Use the concepts and PKCS#11 objects described in the
   recently updated (still work in progress) storing trust spec.
 * Define our own CKA_X_PUBLIC_KEY_INFO define for now, since the
   the CKA_PUBLIC_KEY_INFO isn't defined yet.
 * Most notably, the association between certificates and stapled
   extensions is by public key.
 * Rework some of the tests to take into account the above.

11 years agotrust: Add p11_oid_hash() and various oid strings
Stef Walter [Thu, 4 Jul 2013 13:43:26 +0000 (15:43 +0200)]
trust: Add p11_oid_hash() and various oid strings

11 years agotrust: Add p11_asn1_read() and p11_asn1_free() functions
Stef Walter [Thu, 4 Jul 2013 13:37:34 +0000 (15:37 +0200)]
trust: Add p11_asn1_read() and p11_asn1_free() functions

Some helpers for commonly used ASN.1 related stuff.

11 years agotrust: Initial support for writing out token objects
Stef Walter [Wed, 3 Jul 2013 10:47:14 +0000 (12:47 +0200)]
trust: Initial support for writing out token objects

 * The objects are written out in the p11-kit persist format
 * Parser marks files in p11-kit persist format as modifiable

11 years agotrust: If token path is a file, don't try loading subdirectories
Stef Walter [Wed, 3 Jul 2013 10:46:41 +0000 (12:46 +0200)]
trust: If token path is a file, don't try loading subdirectories

11 years agotrust: Correctly handle persisting OIDs with zero length
Stef Walter [Wed, 3 Jul 2013 10:45:11 +0000 (12:45 +0200)]
trust: Correctly handle persisting OIDs with zero length

11 years agotrust: Don't write out internal attributes when persisting
Stef Walter [Wed, 3 Jul 2013 10:44:23 +0000 (12:44 +0200)]
trust: Don't write out internal attributes when persisting

11 years agotrust: Add support for saving files with unique file names
Stef Walter [Wed, 3 Jul 2013 08:45:50 +0000 (10:45 +0200)]
trust: Add support for saving files with unique file names

11 years agopath: Add p11_path_canon() function
Stef Walter [Wed, 3 Jul 2013 08:38:19 +0000 (10:38 +0200)]
path: Add p11_path_canon() function

Cleans up a filename with readable characters.

11 years agotrust: Rename p11_index_batch() to p11_index_load()
Stef Walter [Fri, 28 Jun 2013 15:19:22 +0000 (17:19 +0200)]
trust: Rename p11_index_batch() to p11_index_load()

The name makes it clearer what's going on. This is only used
during loading, so we can track whether a change has resulted
from the trust module or from the file storage.

11 years agotrust: Implement reloading of token data
Stef Walter [Fri, 28 Jun 2013 11:27:42 +0000 (13:27 +0200)]
trust: Implement reloading of token data

 * Reload token data whenever a new session is opened.
 * Only reload files/directories that have changed.
 * Move duplicate anchor/blacklist detection logic into
   the extract code. This is in line with the approach
   being discussed on the mailing lists and spec document.
 * New internal attribute CKA_X_ORIGIN set on all objects
   so we can track where an object came from, and replace
   it when reloaded.

In general this is a prerequisite for modification of objects
reload before modify is necessary to prevent multiple callers
clobbering each other's changes.

11 years agoiter: Add iteration mode where session is not busy
Stef Walter [Fri, 28 Jun 2013 11:00:02 +0000 (13:00 +0200)]
iter: Add iteration mode where session is not busy

In order to use the session we are iterating on for other tasks
such as other C_FindObject() calls, we need to make sure that
it's not in the middle of a find operation. Finish up the
complete find operation in advance of returning objects from
a session.

Make this the default mode. The previous behavior remains
as an option. Add tests.

11 years agopath: Add p11_path_prefix() function
Stef Walter [Fri, 28 Jun 2013 10:51:30 +0000 (12:51 +0200)]
path: Add p11_path_prefix() function

Checks if a wellformed path is identical to or a prefix
of another path.

11 years agotrust: Implement validation for creating/modifying objects
Stef Walter [Wed, 26 Jun 2013 11:16:42 +0000 (13:16 +0200)]
trust: Implement validation for creating/modifying objects

11 years agoFix dependency between p11-kit command and library
Stef Walter [Tue, 25 Jun 2013 12:43:02 +0000 (14:43 +0200)]
Fix dependency between p11-kit command and library

11 years agoFix running trust module tests under distcheck
Stef Walter [Tue, 25 Jun 2013 11:30:17 +0000 (13:30 +0200)]
Fix running trust module tests under distcheck

11 years agoReorganize various components
Stef Walter [Mon, 24 Jun 2013 11:34:30 +0000 (13:34 +0200)]
Reorganize various components

 * p11-kit library and tool in the p11-kit/ subdirectory
 * trust module and new trust tool in trust/ subdirectory
 * No more tools/ subdirectory
 * Lots less in the common/ subdirectory

11 years agoMerge branch 'stable'
Stef Walter [Mon, 17 Jun 2013 19:57:25 +0000 (21:57 +0200)]
Merge branch 'stable'

11 years agotrust: Writable module PKCS#11 token functions
Stef Walter [Fri, 14 Jun 2013 20:00:42 +0000 (22:00 +0200)]
trust: Writable module PKCS#11 token functions

Although we don't actually write anything out yet, make the
various PKCS#11 functions behave properly when faced with
requests to write to token objects

11 years agotrust: Move the extract-trust external placeholder command into trust/
Stef Walter [Mon, 17 Jun 2013 12:51:49 +0000 (14:51 +0200)]
trust: Move the extract-trust external placeholder command into trust/

11 years agotrust: Print out usage when extract-trust run incorrectly
Stef Walter [Mon, 17 Jun 2013 12:46:03 +0000 (14:46 +0200)]
trust: Print out usage when extract-trust run incorrectly

Also sorta covers --help and -h usage

11 years agotools: Fix passing args to external commands
Stef Walter [Mon, 17 Jun 2013 12:45:36 +0000 (14:45 +0200)]
tools: Fix passing args to external commands

There were various bugs passing arguments, with duplicates being
passed, as well as certain arguments being skipped.t

11 years agotools: Only use our private path when looking for external commands
Stef Walter [Mon, 17 Jun 2013 12:36:37 +0000 (14:36 +0200)]
tools: Only use our private path when looking for external commands

Instead of looking for external commands in the path, just look
for them in our private directory.

We want to be conservative early on, and limit what sorta things
we have to maintain later. We can later remove this restriction
if a real use case presents itself.

11 years agotrust: Correctly reflect the CK_TOKEN_INFO writability flags
Stef Walter [Fri, 14 Jun 2013 11:02:22 +0000 (13:02 +0200)]
trust: Correctly reflect the CK_TOKEN_INFO writability flags

Correctly set the CKF_TOKEN_WRITE_PROTECTED flag for paths
which we will be able to write to.

11 years agopath: Add p11_path_parent() function
Stef Walter [Fri, 14 Jun 2013 10:53:15 +0000 (12:53 +0200)]
path: Add p11_path_parent() function

Gets the parent element of the path, removing the last component.
Handles trailing and duplicate path separators correctly.

11 years agopath: Fix expanding of paths and tests
Stef Walter [Fri, 14 Jun 2013 10:49:34 +0000 (12:49 +0200)]
path: Fix expanding of paths and tests

11 years agocommon: Abort test cases when one fails
Stef Walter [Thu, 13 Jun 2013 15:39:44 +0000 (17:39 +0200)]
common: Abort test cases when one fails

11 years agoMerge branch 'stable'
Stef Walter [Wed, 5 Jun 2013 20:01:31 +0000 (22:01 +0200)]
Merge branch 'stable'

11 years agoRelease version 0.18.3 0.18.3
Stef Walter [Wed, 5 Jun 2013 11:24:43 +0000 (13:24 +0200)]
Release version 0.18.3

11 years agotrust: Fix crash when C_Initialize args are NULL
Stef Walter [Wed, 5 Jun 2013 08:03:41 +0000 (10:03 +0200)]
trust: Fix crash when C_Initialize args are NULL

https://bugs.freedesktop.org/show_bug.cgi?id=65401

11 years agotrust: Fix reinitialization of trust module
Stef Walter [Wed, 5 Jun 2013 08:41:19 +0000 (10:41 +0200)]
trust: Fix reinitialization of trust module

Track number of C_Initialize calls, and require similar number
of C_Finalize calls to finalize.

This fixes leaks/disappearing sessions in the trust module.

https://bugs.freedesktop.org/show_bug.cgi?id=65401

11 years agoFix uninitialized p11_library_once
manphiz@gmail.com [Wed, 24 Apr 2013 01:01:00 +0000 (01:01 +0000)]
Fix uninitialized p11_library_once

https://bugs.freedesktop.org/show_bug.cgi?id=57714

11 years agoForce Mac OS shared library extension to .so
Stef Walter [Fri, 5 Apr 2013 17:17:25 +0000 (19:17 +0200)]
Force Mac OS shared library extension to .so

Darwin and libtool seem confused about what shared library
extension they actually use.

https://bugs.freedesktop.org/show_bug.cgi?id=57714

11 years agoFix uninitialized p11_library_once
manphiz@gmail.com [Wed, 24 Apr 2013 01:01:00 +0000 (01:01 +0000)]
Fix uninitialized p11_library_once

https://bugs.freedesktop.org/show_bug.cgi?id=57714

11 years agoForce Mac OS shared library extension to .so
Stef Walter [Fri, 5 Apr 2013 17:17:25 +0000 (19:17 +0200)]
Force Mac OS shared library extension to .so

Darwin and libtool seem confused about what shared library
extension they actually use.

https://bugs.freedesktop.org/show_bug.cgi?id=57714

11 years agopersist: Support for writing out p11-kit persist files
Stef Walter [Tue, 21 May 2013 19:46:27 +0000 (21:46 +0200)]
persist: Support for writing out p11-kit persist files

11 years agoconstants: Tweaks and add mechanisms
Stef Walter [Tue, 21 May 2013 19:44:22 +0000 (21:44 +0200)]
constants: Tweaks and add mechanisms

11 years agopem: Write PEM data directly to a buffer
Stef Walter [Tue, 21 May 2013 15:33:22 +0000 (17:33 +0200)]
pem: Write PEM data directly to a buffer

11 years agourl: Encode directly to a buffer
Stef Walter [Tue, 21 May 2013 14:41:09 +0000 (16:41 +0200)]
url: Encode directly to a buffer

11 years agoRelease version 0.19.1 0.19.1
Stef Walter [Mon, 27 May 2013 08:36:23 +0000 (10:36 +0200)]
Release version 0.19.1

11 years agoMark p11_kit_message() as a stable function
Stef Walter [Tue, 21 May 2013 10:38:14 +0000 (12:38 +0200)]
Mark p11_kit_message() as a stable function

11 years agoFix building of applications using CRYPTOKI_GNU style
Stef Walter [Tue, 21 May 2013 10:37:14 +0000 (12:37 +0200)]
Fix building of applications using CRYPTOKI_GNU style

11 years agoBump the version for deprecated function documentation
Stef Walter [Tue, 21 May 2013 09:35:07 +0000 (11:35 +0200)]
Bump the version for deprecated function documentation

11 years agoFix up Makefile.am files for automake 1.13 warnings
Stef Walter [Tue, 9 Apr 2013 06:34:44 +0000 (08:34 +0200)]
Fix up Makefile.am files for automake 1.13 warnings

11 years agoOur own unit testing framework
Stef Walter [Fri, 5 Apr 2013 21:52:39 +0000 (23:52 +0200)]
Our own unit testing framework

 * Support the TAP protocol
 * Much cleaner without having to carry around state
 * First class support for setup/teardown
 * Port the common tests
 * Wait on porting other tests until we've merged outstanding code

11 years agoFurther reorganization of the core module tracking
Stef Walter [Sat, 6 Apr 2013 14:42:01 +0000 (16:42 +0200)]
Further reorganization of the core module tracking

 * Keep the module ownership apart from the tracking of module
   function pointers, since these are only relevant for unmanaged
   modules.
 * Less assumptions that each module has a raw unmanaged module
   function pointer.
 * More clarity in the naming of dictionaries tracking the modules.

11 years agoPull the argv parsing code into its own file
Stef Walter [Sun, 7 Apr 2013 17:39:22 +0000 (19:39 +0200)]
Pull the argv parsing code into its own file

So it can be used from multiple code paths

11 years agoSupport /xxx/yyy as an absolute path with Win32
Stef Walter [Sat, 6 Apr 2013 14:41:08 +0000 (16:41 +0200)]
Support /xxx/yyy as an absolute path with Win32

Because win32 code doesn't just run on windows, wine runs
with unix style paths.

11 years agoBump the version number to unstable
Stef Walter [Tue, 21 May 2013 08:50:53 +0000 (10:50 +0200)]
Bump the version number to unstable

11 years agoAdd the log-calls module config option
Stef Walter [Tue, 19 Feb 2013 13:05:34 +0000 (14:05 +0100)]
Add the log-calls module config option

If 'log-calls = yes' is set then all the PKCS#11 modules are logged
to stderr.

11 years agoManage C_CloseAllSessions function for multiple callers
Stef Walter [Tue, 19 Feb 2013 12:51:32 +0000 (13:51 +0100)]
Manage C_CloseAllSessions function for multiple callers

Make C_CloseAllSessions work for different callers. Track the sessions
that each caller opens and close just those when C_CloseAllSessiosn is
called.

11 years agoUpdate the proxy module to use managed PKCS#11 modules
Stef Walter [Fri, 15 Feb 2013 20:34:20 +0000 (21:34 +0100)]
Update the proxy module to use managed PKCS#11 modules

Each time C_GetFunctionList is called on the proxy module, a new
managed PKCS#11 set of functions is returned. These are all cleaned
up when the module is unloaded.

We want the proxy module to continue to work even without the highly
recommended libffi. For that reason we still keep the old behavior of
sharing state in the proxy module.

11 years agop11-kit: Managed PKCS#11 module loading
Stef Walter [Wed, 6 Feb 2013 20:57:45 +0000 (21:57 +0100)]
p11-kit: Managed PKCS#11 module loading

Support a new managed style module loading for PKCS#11 modules. This
allows us to better coordinate between multiple callers of the same
PKCS#11 modules and provide hooks into their behavior.

This meant redoing the public facing API. The old methods are now
deprecated, marked and documented as such.

11 years agoUse libffi to implement mixins for managed code
Stef Walter [Thu, 10 Jan 2013 15:51:31 +0000 (16:51 +0100)]
Use libffi to implement mixins for managed code

 * This allows us to call into subclassed PKCS#11 modules as if
   they were plain old PKCS#11 modules
 * libffi is an optional dependency

11 years agoAdd subclassable CK_X_FUNCTION_LIST
Stef Walter [Thu, 14 Feb 2013 14:41:45 +0000 (15:41 +0100)]
Add subclassable CK_X_FUNCTION_LIST

One of the flaws in PKCS#11 for our usage is that each PKCS#11 module
is not passed the pointer to the function list, ie: the vtable

Here we define a new function list vtable, where each PKCS#11 function
takes the vtable itself as the first argument. We use this new
list internally to represent subclassable PKCS#11 modules for
various features.

11 years agoFail early when running automaint.sh
Stef Walter [Wed, 15 May 2013 09:52:52 +0000 (11:52 +0200)]
Fail early when running automaint.sh

11 years agoImplement valgrind's hellgrind checks for threading problems
Stef Walter [Wed, 15 May 2013 09:51:22 +0000 (11:51 +0200)]
Implement valgrind's hellgrind checks for threading problems

And cleanup our locks/locking model. There's no need to use
recursive locks, especially since we can't use them on all
platforms. In addition adjust taking of locks during initialization
so that there's no chance of deadlocking here.

11 years agoRelease version 0.18.2 0.18.2
Stef Walter [Tue, 14 May 2013 09:29:25 +0000 (11:29 +0200)]
Release version 0.18.2

11 years agoPatch to make test-lexer depend on ASN.1
manphiz@gmail.com [Thu, 9 May 2013 05:40:00 +0000 (05:40 +0000)]
Patch to make test-lexer depend on ASN.1

https://bugs.freedesktop.org/show_bug.cgi?id=64378

11 years agoReduce libtasn1 dependency to 2.3
Stef Walter [Fri, 3 May 2013 10:03:58 +0000 (12:03 +0200)]
Reduce libtasn1 dependency to 2.3

 * This passes all checks and is compatible

11 years agoRelease version 0.18.1 0.18.1
Stef Walter [Mon, 15 Apr 2013 14:09:47 +0000 (16:09 +0200)]
Release version 0.18.1

11 years agodoc: Use gtk-doc in the no-tmpl flavor
Stef Walter [Thu, 4 Apr 2013 09:11:49 +0000 (11:11 +0200)]
doc: Use gtk-doc in the no-tmpl flavor

11 years agomanual: Use a consistent docbook version
Stef Walter [Thu, 4 Apr 2013 09:10:28 +0000 (11:10 +0200)]
manual: Use a consistent docbook version

11 years agoPut the external tools in $libdir/p11-kit
Stef Walter [Thu, 4 Apr 2013 07:34:21 +0000 (09:34 +0200)]
Put the external tools in $libdir/p11-kit

These are possibly architecture specific binaries, so they should be
in $libdir/p11-kit and not in $datadir/p11-kit

11 years agoRelease version 0.18.0 0.18.0
Stef Walter [Thu, 4 Apr 2013 06:41:27 +0000 (08:41 +0200)]
Release version 0.18.0

11 years agoFix off by one in date parsing code
Stef Walter [Thu, 4 Apr 2013 06:04:51 +0000 (08:04 +0200)]
Fix off by one in date parsing code

We didn't treat the two digit year 00 as a valid year, whereas it
actually represents the year 2000. This is in a non-critical code path.

11 years agoDon't print erroneous debug messages when skipping files
Stef Walter [Thu, 4 Apr 2013 06:04:10 +0000 (08:04 +0200)]
Don't print erroneous debug messages when skipping files

The parser automatically skips over files that it cannot parse. Don't
print confusing debug messages about DER parse failures when it does so.

11 years agoUpdate to MurmurHash3
Stef Walter [Tue, 2 Apr 2013 14:33:24 +0000 (16:33 +0200)]
Update to MurmurHash3

This should also fix problems with accessing memory in a non-aligned
fashion on platforms where this causes problems.

https://bugs.freedesktop.org/show_bug.cgi?id=62819

11 years agoDon't respect timezones for CKA_START_DATE or CKA_END_DATE
Stef Walter [Fri, 29 Mar 2013 12:17:29 +0000 (13:17 +0100)]
Don't respect timezones for CKA_START_DATE or CKA_END_DATE

The PKCS#11 specification does not note what timezone these dates
are in. In addition the time values are not represented in PKCS#11.

So don't reinterpret certificate dates, other than filling in the
century for dates that have a two digit year.

Lastly, these are low resolution optional fields so not being all
strict about timezones here is appropriate.

https://bugs.freedesktop.org/show_bug.cgi?id=62825

11 years agotrust: Fix logic for matching invalid NSS serial numbers
Stef Walter [Fri, 29 Mar 2013 12:40:44 +0000 (13:40 +0100)]
trust: Fix logic for matching invalid NSS serial numbers

Sometimes NSS queries for trust objects using invalid serial numbers
that do not have their DER decoding. We fixed this earlier, but want
to make sure there are no corner cases, accidentally not matching
serial numbers that happen to start with the same bytes as a DER
TLV would.

11 years agoMore compatible path munging and handling code
Stef Walter [Wed, 3 Apr 2013 08:50:59 +0000 (10:50 +0200)]
More compatible path munging and handling code

Centralize the path handling code, so we can remove unixy assumptions
and have a chance of running on Windows. The current goal is to run
all the tests on Windows.

Includes some code from LRN <lrn1986@gmail.com>

https://bugs.freedesktop.org/show_bug.cgi?id=63062

11 years agoDon't use free() on memory allocated by LocalFree()
Stef Walter [Wed, 3 Apr 2013 08:43:03 +0000 (10:43 +0200)]
Don't use free() on memory allocated by LocalFree()

ihttps://bugs.freedesktop.org/show_bug.cgi?id=63046

11 years agoSeparate library init from message code
Stef Walter [Tue, 2 Apr 2013 18:40:53 +0000 (20:40 +0200)]
Separate library init from message code

Put library init/uninit code its into their own statically
linked library so that they don't get linked into the p11-kit
executable.

Refactor the message code so that the library initialization can
plug in its per thread message buffer.

https://bugs.freedesktop.org/show_bug.cgi?id=63046

11 years agoDon't use library locks from p11-kit tool
Stef Walter [Tue, 2 Apr 2013 16:33:12 +0000 (18:33 +0200)]
Don't use library locks from p11-kit tool

The global library p11_library_mutex is for libraries to use, so don't
use it from any code in common/, which is also used by the p11-kit tool

https://bugs.freedesktop.org/show_bug.cgi?id=63046

11 years agoAdd new script for setting up p11-kit for a maintainer
Stef Walter [Wed, 3 Apr 2013 08:30:25 +0000 (10:30 +0200)]
Add new script for setting up p11-kit for a maintainer

Add win32 cross build, and build out of tree

11 years agoFix build on Win32
Stef Walter [Wed, 3 Apr 2013 08:29:26 +0000 (10:29 +0200)]
Fix build on Win32

Don't reference an undefined macro

https://bugs.freedesktop.org/show_bug.cgi?id=63046

11 years agoFix documentation so it builds out of tree
Stef Walter [Wed, 3 Apr 2013 08:19:11 +0000 (10:19 +0200)]
Fix documentation so it builds out of tree

11 years agoFix build with automake 1.13
Stef Walter [Tue, 2 Apr 2013 14:33:04 +0000 (16:33 +0200)]
Fix build with automake 1.13

Also remove some generated files from the po/ directory.

11 years agoUse CKA_X_CERTIFICATE_VALUE for trust assertions
Stef Walter [Fri, 29 Mar 2013 08:42:37 +0000 (09:42 +0100)]
Use CKA_X_CERTIFICATE_VALUE for trust assertions

These don't contain the CKA_VALUE attribute for certificate data
but rather the CKA_X_CERTIFICATE_VALUE attribute.

https://bugs.freedesktop.org/show_bug.cgi?id=62896

11 years agoDon't complain when applications call C_Logout or C_Login
Stef Walter [Thu, 28 Mar 2013 16:54:39 +0000 (17:54 +0100)]
Don't complain when applications call C_Logout or C_Login

Some callers erroneously call our C_Logout function, like NSS.
So return appropriate error codes in these cases.

https://bugs.freedesktop.org/show_bug.cgi?id=62874

11 years agoRelease version 0.17.5 0.17.5
Stef Walter [Thu, 28 Mar 2013 12:34:01 +0000 (13:34 +0100)]
Release version 0.17.5

11 years agoDon't try to guess at overflowing time values on 32-bit systems
Stef Walter [Wed, 27 Mar 2013 16:54:38 +0000 (17:54 +0100)]
Don't try to guess at overflowing time values on 32-bit systems

Since CKA_START_DATE and CKA_END_DATE are the only places
where we want to parse out times, and these are optional, just
leave blank if the time overflows what libc can handle on
a 32-bit system.

https://bugs.freedesktop.org/show_bug.cgi?id=62825

11 years agoFix testing of murmur hash on bigendian systems
Stef Walter [Mon, 25 Mar 2013 20:16:28 +0000 (21:16 +0100)]
Fix testing of murmur hash on bigendian systems

The murmur hash produces different output depending on the architecture

https://bugzilla.redhat.com/show_bug.cgi?id=927394

11 years agoRelease 0.17.4 0.17.4
Stef Walter [Wed, 20 Mar 2013 15:27:20 +0000 (16:27 +0100)]
Release 0.17.4

11 years agoFix memory leaks reported by 'make leakcheck'
Stef Walter [Wed, 20 Mar 2013 21:20:25 +0000 (22:20 +0100)]
Fix memory leaks reported by 'make leakcheck'

11 years agoFix invalid memory accesses reported by 'make memcheck'
Stef Walter [Wed, 20 Mar 2013 19:59:26 +0000 (20:59 +0100)]
Fix invalid memory accesses reported by 'make memcheck'

These are things that showed up in valgrind while running the tests.

11 years agoAdd a bit of infrastructure for running valgrind
Stef Walter [Wed, 20 Mar 2013 19:58:49 +0000 (20:58 +0100)]
Add a bit of infrastructure for running valgrind

 * make memcheck: Runs basic memory checking
 * make leakcheck: Also runs leak checking

11 years agotrust: Predictable behavior with duplicate certificates in token
Stef Walter [Wed, 20 Mar 2013 14:53:43 +0000 (15:53 +0100)]
trust: Predictable behavior with duplicate certificates in token

If duplicate certificates are present in a token, we warn about this,
and don't really recommend it. However we have predictable behavior
where blacklist is prefered to anchor is preferred to unknown trust.

https://bugs.freedesktop.org/show_bug.cgi?id=62548

11 years agotrust: Rework index to be faster and more usable
Stef Walter [Wed, 20 Mar 2013 13:35:27 +0000 (14:35 +0100)]
trust: Rework index to be faster and more usable

The index now uses a sort of cross between a hash table and a bloom
filter internally to select matching items. This is needed for the
massive amount of lookups we want to do during loading.

In addition make p11_index_find() and p11_index_replace() easier
to use.

11 years agoattrs: Print out the CKA_VALUE for certificates when debugging
Stef Walter [Wed, 20 Mar 2013 09:55:06 +0000 (10:55 +0100)]
attrs: Print out the CKA_VALUE for certificates when debugging

While it's true that we shouldn't be pritning out CKA_VALUE in
certain cases, like for keys, we obviously can do so for certificates.

We don't have keys anyway, but in the interest of being general
purpose use the class to determine whether CKA_VALUE can be printed

11 years agohash: Add the murmur2 hash and start using it
Stef Walter [Wed, 20 Mar 2013 08:33:04 +0000 (09:33 +0100)]
hash: Add the murmur2 hash and start using it

Add implementation of the murmur2 hash function, and start using
it for our dictionaries. Our implementation is incremental
like our other hash functions.

Also remove p11_oid_hash() which wasn't being used.

In addition fix several tests whose success was based on the
way that the dictionary hashed. This was a hidden testing bug.

11 years agohash: Rename file and functions for hashes
Stef Walter [Wed, 20 Mar 2013 07:59:49 +0000 (08:59 +0100)]
hash: Rename file and functions for hashes

We're going to be adding other hashes. Also build as part of a
different common library.

11 years agoRelease version 0.17.3 0.17.3
Stef Walter [Tue, 19 Mar 2013 18:19:46 +0000 (19:19 +0100)]
Release version 0.17.3

11 years agotrust: Use descriptive labels for tokens
Stef Walter [Tue, 19 Mar 2013 18:03:12 +0000 (19:03 +0100)]
trust: Use descriptive labels for tokens

Try to determine which one is the system trust input token,
and which one is the default token by using datadir and sysconfdir
respectively.

https://bugs.freedesktop.org/show_bug.cgi?id=62534

11 years agotrust: Remove the temporary built in distrust objects
Stef Walter [Tue, 19 Mar 2013 18:05:56 +0000 (19:05 +0100)]
trust: Remove the temporary built in distrust objects

These should now be loaded from the .p11-kit persist format.

11 years agoextract: Make extracted output directories read-only
Stef Walter [Tue, 19 Mar 2013 16:24:47 +0000 (17:24 +0100)]
extract: Make extracted output directories read-only

This is not a security feature or anything like that, but a hint
that the files are managed by the extract tool and should not be
modified manually.

11 years agotrust: Don't use POSIX or GNU basename()
Stef Walter [Tue, 19 Mar 2013 13:50:32 +0000 (14:50 +0100)]
trust: Don't use POSIX or GNU basename()

Both are nasty. Do our own, and test it a bit

https://bugs.freedesktop.org/show_bug.cgi?id=62479