diff options
-rw-r--r-- | p11-kit/Makefile.am | 1 | ||||
-rw-r--r-- | p11-kit/p11-kit.c | 22 | ||||
-rw-r--r-- | trust/extract.c | 2 |
3 files changed, 22 insertions, 3 deletions
diff --git a/p11-kit/Makefile.am b/p11-kit/Makefile.am index 72dc2ff..9802b23 100644 --- a/p11-kit/Makefile.am +++ b/p11-kit/Makefile.am @@ -9,6 +9,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir) \ -I$(COMMON) \ -DSRCDIR=\"$(srcdir)\" \ + -DBINDIR=\"$(bindir)\" \ -DPRIVATEDIR=\"$(privatedir)\" \ -DP11_KIT_FUTURE_UNSTABLE_API \ $(NULL) diff --git a/p11-kit/p11-kit.c b/p11-kit/p11-kit.c index ecee1ff..28c6f4a 100644 --- a/p11-kit/p11-kit.c +++ b/p11-kit/p11-kit.c @@ -80,7 +80,7 @@ p11_kit_external (int argc, return_val_if_fail (path != NULL, 1); argv[argc] = NULL; - execvp (path, argv); + execv (path, argv); /* At this point we have no command */ p11_message ("'%s' is not a valid command. See 'p11-kit --help'", argv[0]); @@ -91,7 +91,25 @@ int p11_kit_extract (int argc, char *argv[]) { - return p11_kit_external (argc, argv); + char *path; + char **args; + + args = calloc (argc + 2, sizeof (char *)); + return_val_if_fail (args != NULL, 1); + + args[0] = "trust"; + memcpy (args + 1, argv, sizeof (char *) * argc); + args[argc + 1] = NULL; + + /* Add our libexec directory to the path */ + path = p11_path_build (BINDIR, args[0], NULL); + return_val_if_fail (path != NULL, 1); + + execv (path, args); + + /* At this point we have no command */ + p11_message ("'%s' is not a valid command. See 'p11-kit --help'", argv[0]); + return 2; } int diff --git a/trust/extract.c b/trust/extract.c index 39d30e0..b80fd80 100644 --- a/trust/extract.c +++ b/trust/extract.c @@ -297,7 +297,7 @@ p11_trust_extract (int argc, }; p11_tool_desc usages[] = { - { 0, "usage: p11-kit extract --format=<output> <destination>" }, + { 0, "usage: trust extract --format=<output> <destination>" }, { opt_filter, "filter of what to export\n" " ca-anchors certificate anchors (default)\n" |