Skip to content

Commit

Permalink
Merge remote-tracking branch 'remotes/berrange-gitlab/tags/misc-fixes…
Browse files Browse the repository at this point in the history
…-pull-request' into staging

Misc error reporting and checking fixes to authorization objects

# gpg: Signature made Wed 18 Nov 2020 12:48:53 GMT
# gpg:                using RSA key DAF3A6FDB26B62912D0E8E3FBE86EBB415104FDF
# gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>" [full]
# gpg:                 aka "Daniel P. Berrange <berrange@redhat.com>" [full]
# Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E  8E3F BE86 EBB4 1510 4FDF

* remotes/berrange-gitlab/tags/misc-fixes-pull-request:
  authz-simple: Check that 'identity' property is set
  authz-pam: Check that 'service' property is set
  authz-list-file: Improve an error message
  authz-list-file: Fix file read error handling

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
  • Loading branch information
pm215 committed Nov 18, 2020
2 parents 269ff67 + c2aa8a3 commit b696f2c
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 1 deletion.
6 changes: 5 additions & 1 deletion authz/listfile.c
Expand Up @@ -73,7 +73,8 @@ qauthz_list_file_load(QAuthZListFile *fauthz, Error **errp)

pdict = qobject_to(QDict, obj);
if (!pdict) {
error_setg(errp, QERR_INVALID_PARAMETER_TYPE, "obj", "dict");
error_setg(errp, "File '%s' must contain a JSON object",
fauthz->filename);
goto cleanup;
}

Expand Down Expand Up @@ -128,6 +129,9 @@ qauthz_list_file_complete(UserCreatable *uc, Error **errp)
}

fauthz->list = qauthz_list_file_load(fauthz, errp);
if (!fauthz->list) {
return;
}

if (!fauthz->refresh) {
return;
Expand Down
6 changes: 6 additions & 0 deletions authz/pamacct.c
Expand Up @@ -84,6 +84,12 @@ qauthz_pam_prop_get_service(Object *obj,
static void
qauthz_pam_complete(UserCreatable *uc, Error **errp)
{
QAuthZPAM *pauthz = QAUTHZ_PAM(uc);

if (!pauthz->service) {
error_setg(errp, "The 'service' property must be set");
return;
}
}


Expand Down
14 changes: 14 additions & 0 deletions authz/simple.c
Expand Up @@ -65,11 +65,25 @@ qauthz_simple_finalize(Object *obj)
}


static void
qauthz_simple_complete(UserCreatable *uc, Error **errp)
{
QAuthZSimple *sauthz = QAUTHZ_SIMPLE(uc);

if (!sauthz->identity) {
error_setg(errp, "The 'identity' property must be set");
return;
}
}


static void
qauthz_simple_class_init(ObjectClass *oc, void *data)
{
QAuthZClass *authz = QAUTHZ_CLASS(oc);
UserCreatableClass *ucc = USER_CREATABLE_CLASS(oc);

ucc->complete = qauthz_simple_complete;
authz->is_allowed = qauthz_simple_is_allowed;

object_class_property_add_str(oc, "identity",
Expand Down

0 comments on commit b696f2c

Please sign in to comment.