Merge pull request #30568 from poettering/creds-varlink
creds: add varlink interface to encrypt/decrypt credentials
This commit is contained in:
@@ -172,6 +172,7 @@ shared_sources = files(
|
||||
'varlink.c',
|
||||
'varlink-idl.c',
|
||||
'varlink-io.systemd.c',
|
||||
'varlink-io.systemd.Credentials.c',
|
||||
'varlink-io.systemd.Journal.c',
|
||||
'varlink-io.systemd.ManagedOOM.c',
|
||||
'varlink-io.systemd.PCRExtend.c',
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
#include "varlink-io.systemd.Credentials.h"
|
||||
|
||||
static VARLINK_DEFINE_METHOD(
|
||||
Encrypt,
|
||||
VARLINK_DEFINE_INPUT(name, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_INPUT(text, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_INPUT(data, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_INPUT(timestamp, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_INPUT(notAfter, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_INPUT(allowInteractiveAuthentication, VARLINK_BOOL, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_OUTPUT(blob, VARLINK_STRING, 0));
|
||||
|
||||
static VARLINK_DEFINE_METHOD(
|
||||
Decrypt,
|
||||
VARLINK_DEFINE_INPUT(name, VARLINK_STRING, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_INPUT(blob, VARLINK_STRING, 0),
|
||||
VARLINK_DEFINE_INPUT(timestamp, VARLINK_INT, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_INPUT(allowInteractiveAuthentication, VARLINK_BOOL, VARLINK_NULLABLE),
|
||||
VARLINK_DEFINE_OUTPUT(data, VARLINK_STRING, 0));
|
||||
|
||||
static VARLINK_DEFINE_ERROR(BadFormat);
|
||||
static VARLINK_DEFINE_ERROR(NameMismatch);
|
||||
static VARLINK_DEFINE_ERROR(TimeMismatch);
|
||||
|
||||
VARLINK_DEFINE_INTERFACE(
|
||||
io_systemd_Credentials,
|
||||
"io.systemd.Credentials",
|
||||
&vl_method_Encrypt,
|
||||
&vl_method_Decrypt,
|
||||
&vl_error_BadFormat,
|
||||
&vl_error_NameMismatch,
|
||||
&vl_error_TimeMismatch);
|
||||
@@ -0,0 +1,6 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
#pragma once
|
||||
|
||||
#include "varlink-idl.h"
|
||||
|
||||
extern const VarlinkInterface vl_interface_io_systemd_Credentials;
|
||||
Reference in New Issue
Block a user