Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | proxy: Fail early if there is no slot mappings | Daiki Ueno | 2018-07-16 | 2 | -0/+44 |
| | |||||
* | rpc-server: p11_kit_remote_serve_tokens: Allow exporting all modules | Daiki Ueno | 2018-07-16 | 4 | -89/+210 |
| | | | | | This patch removes the restriction of p11_kit_remote_serve_tokens() that were not capable of serving tokens across multiple modules. | ||||
* | build: Use separate p11-kit-{remote,server} executable for testing | Daiki Ueno | 2018-07-16 | 3 | -3/+29 |
| | | | | | Otherwise, the p11-kit-remote program called from p11-kit-server would load the system modules instead of the local fixtures. | ||||
* | proxy: Allow proxy to be created from the library | Daiki Ueno | 2018-07-16 | 2 | -1/+42 |
| | | | | | | | | | | Previously, to aggregate multiple modules into one, there was no other way than loading the proxy module. From the p11-kit applications, however, it is not possible to load that module because of the recursive loading check (p11_proxy_module_check). This patch adds another means to aggregate modules, through a library function p11_proxy_module_create. | ||||
* | proxy: Turn global variables module local | Daiki Ueno | 2018-07-16 | 1 | -21/+14 |
| | |||||
* | server: Enable socket activation through systemd | Daiki Ueno | 2018-06-20 | 4 | -9/+72 |
| | | | | | | | | | | | This enables socket activation of "p11-kit server" through systemd. The feature provided is essentially the same as commit a4fb2bb5 (reverted), but implemented with "p11-kit server" and libsystemd API instead of wrapping "p11-kit remote" in the unit file. Note that, while it exposes all tokens through the socket, it doesn't increase attack surface beyond the PKCS#11 binary interface provided by p11-kit-proxy.so, because the service is per-user. | ||||
* | pkcs11: Exercise GNU calling convention at compile time | Daiki Ueno | 2018-05-28 | 3 | -0/+46 |
| | |||||
* | build: Delay building mock-six.la until "make check" | Daiki Ueno | 2018-05-25 | 1 | -1/+1 |
| | |||||
* | build: Include p11-kit/test-messages.sh in distribution | Daiki Ueno | 2018-05-25 | 1 | -0/+1 |
| | |||||
* | uri: Make scheme comparison case-insensitive | Daiki Ueno | 2018-05-25 | 2 | -3/+30 |
| | | | | | RFC 3986 suggests that implementations should accept uppercase letters as equivalent to lowercase in scheme names. | ||||
* | Improve const correctness for P11KitUri | Nathaniel McCallum | 2018-05-24 | 3 | -41/+41 |
| | | | | | | | | | This does not improve const for the getters. The reason for this is that they are usually passed into the PKCS#11 APIs directly and these APIs are not const correct. Trying to force const correctnesss here would result in pain for library consumers. This is an API and ABI compatible change. | ||||
* | proxy: Don't null terminate PKCS #11 string fields | Daiki Ueno | 2018-05-07 | 1 | -2/+2 |
| | |||||
* | test: Avoid exceeding maximum pathname length of Unix socket | Daiki Ueno | 2018-05-04 | 1 | -2/+7 |
| | |||||
* | mock-module-ep: Properly override C_GetFunctionList | Daiki Ueno | 2018-04-06 | 1 | -1/+1 |
| | |||||
* | modules: Add option to control module visibility from proxy | Daiki Ueno | 2018-04-06 | 5 | -10/+116 |
| | | | | | | This enables to control whether a module will be loaded from the proxy module. The configuration reuses the "enable-in" and "disable-in" options, with a special literal "p11-kit-proxy" as the value. | ||||
* | modules: Fix memleak in re-initialization case | Daiki Ueno | 2018-03-29 | 1 | -0/+1 |
| | |||||
* | Treat CKR_CRYPTOKI_ALREADY_INITIALIZED correctly | Justin King-Lacroix | 2018-03-29 | 1 | -1/+6 |
| | | | | | | In p11_kit_modules_initialize(), treat a return code of CKR_CRYPTOKI_ALREADY_INITIALIZED as identical to CKR_OK. | ||||
* | test: Add missing seven.module in Windows fixtures | Daiki Ueno | 2018-03-29 | 1 | -0/+4 |
| | |||||
* | build: Enable make check with wine | Daiki Ueno | 2018-03-29 | 1 | -1/+1 |
| | |||||
* | test: Add failing test for CKR_CRYPTOKI_ALREADY_INITIALIZED | Daiki Ueno | 2018-03-29 | 4 | -1/+115 |
| | |||||
* | test: Add test for error messages | Daiki Ueno | 2018-03-29 | 2 | -0/+112 |
| | |||||
* | test: Use _exit() in child process to immediately close open FDs | Daiki Ueno | 2018-03-29 | 1 | -1/+1 |
| | |||||
* | test: Rewrite test-server.sh in TAP style | Daiki Ueno | 2018-03-29 | 1 | -11/+27 |
| | |||||
* | test-server.sh: Fix bashism | Andreas Metzler | 2018-02-28 | 1 | -4/+4 |
| | |||||
* | test-server: Add test for detecting address | Daiki Ueno | 2018-02-27 | 1 | -1/+29 |
| | |||||
* | test-server: Fix compilation error on FreeBSD | Daiki Ueno | 2018-02-27 | 1 | -0/+1 |
| | |||||
* | common, client: Move runtime directory detection to libp11-common | Daiki Ueno | 2018-02-27 | 1 | -65/+2 |
| | |||||
* | test: Improve temporary directory handling | Daiki Ueno | 2018-02-27 | 1 | -2/+4 |
| | |||||
* | p11_kit_remote_serve_tokens: Read "write-protected" setting from URI | Daiki Ueno | 2018-02-27 | 2 | -0/+42 |
| | |||||
* | filter: Respect CKF_WRITE_PROTECTED setting when allowing a token | Daiki Ueno | 2018-02-27 | 2 | -16/+134 |
| | |||||
* | test: Add test for client-server interaction | Daiki Ueno | 2018-02-27 | 2 | -0/+203 |
| | | | | | | | The test spawns a process running the server command and connects to it through p11-kit-client.so. It's is a bit tricky that the child process requires to preload libasan.so when ASan is in in effect, to properly load a mock module. | ||||
* | server: Print envvars even when running in foreground | Daiki Ueno | 2018-02-27 | 1 | -22/+39 |
| | |||||
* | test-transport: Make sure to initialize addrlen given to accept | Daiki Ueno | 2018-02-27 | 1 | -0/+1 |
| | |||||
* | client: Fix memleaks in the module | Daiki Ueno | 2018-02-27 | 1 | -3/+9 |
| | |||||
* | test: Fix unconditional jump in test-proxy.c | Daiki Ueno | 2018-02-27 | 1 | -0/+1 |
| | |||||
* | build: Split out generated code from p11-kit/virtual.c | Daiki Ueno | 2018-01-31 | 3 | -199/+35 |
| | |||||
* | build: Delay compilation of test-related stuff | Daiki Ueno | 2018-01-30 | 1 | -6/+9 |
| | |||||
* | proxy: Remove dead code | Daiki Ueno | 2018-01-30 | 1 | -708/+0 |
| | | | | | Since the libffi became optional (commit 9f632bed), the fallback code path in proxy.c has never taken. | ||||
* | proxy: Reuse the existing slot ID mapping after fork | Daiki Ueno | 2018-01-29 | 5 | -4/+122 |
| | | | | | | | While the proxy module reassigns slot IDs in C_Initialize(), some applications assume that valid slot IDs should never change across multiple calls to C_Initialize(). This patch mitigates this by preserving the slot IDs, if they are known to the proxy module. | ||||
* | server: Avoid null-dereference of timespec value on timeout | Daiki Ueno | 2018-01-17 | 1 | -1/+2 |
| | | | | Spotted by clang-analyzer. | ||||
* | test: Improve code coverage of filter.c | Daiki Ueno | 2017-11-15 | 1 | -0/+67 |
| | |||||
* | p11_kit_override_system_files: introduced new function | Nikos Mavrogiannopoulos | 2017-11-01 | 3 | -5/+59 |
| | | | | | | | That allows overriding the default module and configuration locations, for use in test suites, etc. Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org> | ||||
* | p11_kit_modules_load*: enhanced documentation on flags | Nikos Mavrogiannopoulos | 2017-10-31 | 1 | -0/+6 |
| | | | | Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org> | ||||
* | server: Better shell integration | Daiki Ueno | 2017-10-06 | 3 | -19/+147 |
| | | | | | | This adds -k, -c, and -s options to the "p11-kit server" command, which allows you to terminate the server process, select which C-shell or Bourne shell command line is printed on startup, respectively. | ||||
* | server: Make it possible to eval envvar settings | Daiki Ueno | 2017-10-05 | 1 | -9/+11 |
| | | | | | Previously, calling "eval $(p11-kit server)" from shell hung because the program didn't properly close stdout before forking. | ||||
* | rpc: Fix crash when retrieving attribute length | Daiki Ueno | 2017-09-27 | 2 | -4/+34 |
| | | | | | | It is possible that NULL is given to the serializers, when C_GetAttributeValue() just wants to know the size of an attribute. Previously, this resulted in giving NULL to memcpy(). | ||||
* | server: Make it work only when token URI is provided | Daiki Ueno | 2017-09-27 | 1 | -47/+41 |
| | | | | | | Previously, when "p11-kit server" started only with a token URI, it couldn't properly find and initialize the module which provides the token. This was because of the wrong order of cleanup of the modules. | ||||
* | client: Fix order of cleanup | Daiki Ueno | 2017-08-11 | 1 | -1/+1 |
| | | | | | | In C_GetFunctionList, state->virt is wrapped with a destroyer function free(). Thus p11_rpc_transport_free must be called before p11_virtual_unwrap. | ||||
* | test: Add checks for duplicate vendor attributes | Daiki Ueno | 2017-08-08 | 1 | -0/+10 |
| | |||||
* | uri: Make vendor query attribute handling reliable | Daiki Ueno | 2017-08-08 | 1 | -24/+80 |
| | | | | | | | | | | | | Previously we used p11_dict to keep track of vendor query attributes. This had a couple of limitations: duplicate attributes are not allowed while they are actually allowed in RFC 7512, and the order of attributes is unpredictable. This patch switches to using an array instead of p11_dict and ensures that the attributes are sorted in alphabetical order. Fixes #88. |