diff options
author | Colin Walters <walters@verbum.org> | 2020-04-14 22:18:13 +0000 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2020-04-14 22:18:13 +0000 |
commit | b6040143e521d16fb2ea4e390232bae8ea5c26a6 (patch) | |
tree | 8324f251cd870270e067fa338efcee1ac118b438 /src/libostree/ostree-sign-dummy.c | |
parent | 8baee5cd0471807edcfef16b54842e4c71abcb37 (diff) | |
download | ostree-b6040143e521d16fb2ea4e390232bae8ea5c26a6.tar.gz |
Only enable "dummy" signature type with opt-in env variable
I don't want to even have to think about people using
this in production.
Diffstat (limited to 'src/libostree/ostree-sign-dummy.c')
-rw-r--r-- | src/libostree/ostree-sign-dummy.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/libostree/ostree-sign-dummy.c b/src/libostree/ostree-sign-dummy.c index 722d461b..82575dc5 100644 --- a/src/libostree/ostree-sign-dummy.c +++ b/src/libostree/ostree-sign-dummy.c @@ -53,6 +53,14 @@ ostree_sign_dummy_iface_init (OstreeSignInterface *self); G_DEFINE_TYPE_WITH_CODE (OstreeSignDummy, _ostree_sign_dummy, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (OSTREE_TYPE_SIGN, ostree_sign_dummy_iface_init)); +static gboolean +check_dummy_sign_enabled (GError **error) +{ + if (g_strcmp0 (g_getenv ("OSTREE_DUMMY_SIGN_ENABLED"), "1") != 0) + return glnx_throw (error, "dummy signature type is only for ostree testing"); + return TRUE; +} + static void ostree_sign_dummy_iface_init (OstreeSignInterface *self) { @@ -83,6 +91,8 @@ _ostree_sign_dummy_init (OstreeSignDummy *self) gboolean ostree_sign_dummy_set_sk (OstreeSign *self, GVariant *key, GError **error) { + if (!check_dummy_sign_enabled (error)) + return FALSE; OstreeSignDummy *sign = _ostree_sign_dummy_get_instance_private(OSTREE_SIGN_DUMMY(self)); @@ -95,7 +105,6 @@ gboolean ostree_sign_dummy_set_sk (OstreeSign *self, GVariant *key, GError **err gboolean ostree_sign_dummy_set_pk (OstreeSign *self, GVariant *key, GError **error) { - OstreeSignDummy *sign = _ostree_sign_dummy_get_instance_private(OSTREE_SIGN_DUMMY(self)); g_free(sign->pk_ascii); @@ -111,6 +120,8 @@ gboolean ostree_sign_dummy_data (OstreeSign *self, GCancellable *cancellable, GError **error) { + if (!check_dummy_sign_enabled (error)) + return FALSE; g_return_val_if_fail (OSTREE_IS_SIGN (self), FALSE); @@ -145,6 +156,9 @@ gboolean ostree_sign_dummy_data_verify (OstreeSign *self, GVariant *signatures, GError **error) { + if (!check_dummy_sign_enabled (error)) + return FALSE; + g_return_val_if_fail (OSTREE_IS_SIGN (self), FALSE); g_return_val_if_fail (data != NULL, FALSE); |