qemu-bridge-helper: relocate path to default ACL

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2020-08-18 11:58:34 +02:00
parent 580e6ad6a4
commit f761b41a62

View File

@ -40,6 +40,7 @@
#endif #endif
#include "qemu/queue.h" #include "qemu/queue.h"
#include "qemu/cutils.h"
#include "net/tap-linux.h" #include "net/tap-linux.h"
@ -245,6 +246,7 @@ int main(int argc, char **argv)
ACLList acl_list; ACLList acl_list;
int access_allowed, access_denied; int access_allowed, access_denied;
int ret = EXIT_SUCCESS; int ret = EXIT_SUCCESS;
g_autofree char *acl_file = NULL;
#ifdef CONFIG_LIBCAP_NG #ifdef CONFIG_LIBCAP_NG
/* if we're run from an suid binary, immediately drop privileges preserving /* if we're run from an suid binary, immediately drop privileges preserving
@ -257,6 +259,8 @@ int main(int argc, char **argv)
} }
#endif #endif
qemu_init_exec_dir(argv[0]);
/* parse arguments */ /* parse arguments */
for (index = 1; index < argc; index++) { for (index = 1; index < argc; index++) {
if (strcmp(argv[index], "--use-vnet") == 0) { if (strcmp(argv[index], "--use-vnet") == 0) {
@ -282,9 +286,10 @@ int main(int argc, char **argv)
/* parse default acl file */ /* parse default acl file */
QSIMPLEQ_INIT(&acl_list); QSIMPLEQ_INIT(&acl_list);
if (parse_acl_file(DEFAULT_ACL_FILE, &acl_list) == -1) { acl_file = get_relocated_path(DEFAULT_ACL_FILE);
if (parse_acl_file(acl_file, &acl_list) == -1) {
fprintf(stderr, "failed to parse default acl file `%s'\n", fprintf(stderr, "failed to parse default acl file `%s'\n",
DEFAULT_ACL_FILE); acl_file);
ret = EXIT_FAILURE; ret = EXIT_FAILURE;
goto cleanup; goto cleanup;
} }