diff mbox series

libselinux: support objname in compute_create

Message ID 20220830175455.40660-1-cgzones@googlemail.com (mailing list archive)
State Accepted
Commit fa5b0504d861
Headers show
Series libselinux: support objname in compute_create | expand

Commit Message

Christian Göttsche Aug. 30, 2022, 5:54 p.m. UTC
Support passing an optional object name to compute_create for name
based type transitions.

Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
---
 libselinux/utils/compute_create.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

Christian Göttsche Oct. 11, 2022, 4:16 p.m. UTC | #1
On Tue, 30 Aug 2022 at 19:55, Christian Göttsche <cgzones@googlemail.com> wrote:
>
> Support passing an optional object name to compute_create for name
> based type transitions.
>

Any comments?

Patchwork:
https://patchwork.kernel.org/project/selinux/patch/20220830175455.40660-1-cgzones@googlemail.com/

> Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
> ---
>  libselinux/utils/compute_create.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/libselinux/utils/compute_create.c b/libselinux/utils/compute_create.c
> index c6481f4b..5401fe96 100644
> --- a/libselinux/utils/compute_create.c
> +++ b/libselinux/utils/compute_create.c
> @@ -10,10 +10,11 @@ int main(int argc, char **argv)
>  {
>         char *buf;
>         security_class_t tclass;
> +       const char *objname;
>         int ret;
>
> -       if (argc != 4) {
> -               fprintf(stderr, "usage:  %s scontext tcontext tclass\n",
> +       if (argc != 4 && argc != 5) {
> +               fprintf(stderr, "usage:  %s scontext tcontext tclass [objname]\n",
>                         argv[0]);
>                 exit(1);
>         }
> @@ -34,7 +35,9 @@ int main(int argc, char **argv)
>                 exit(2);
>         }
>
> -       ret = security_compute_create(argv[1], argv[2], tclass, &buf);
> +       objname = (argc == 5) ? argv[4] : NULL;
> +
> +       ret = security_compute_create_name(argv[1], argv[2], tclass, objname, &buf);
>         if (ret < 0) {
>                 fprintf(stderr, "%s:  security_compute_create failed:  %s\n",
>                         argv[0], strerror(errno));
> --
> 2.37.2
>
James Carter Oct. 12, 2022, 3:39 p.m. UTC | #2
On Tue, Aug 30, 2022 at 2:04 PM Christian Göttsche
<cgzones@googlemail.com> wrote:
>
> Support passing an optional object name to compute_create for name
> based type transitions.
>
> Signed-off-by: Christian Göttsche <cgzones@googlemail.com>

Acked-by: James Carter <jwcart2@gmail.com>

> ---
>  libselinux/utils/compute_create.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/libselinux/utils/compute_create.c b/libselinux/utils/compute_create.c
> index c6481f4b..5401fe96 100644
> --- a/libselinux/utils/compute_create.c
> +++ b/libselinux/utils/compute_create.c
> @@ -10,10 +10,11 @@ int main(int argc, char **argv)
>  {
>         char *buf;
>         security_class_t tclass;
> +       const char *objname;
>         int ret;
>
> -       if (argc != 4) {
> -               fprintf(stderr, "usage:  %s scontext tcontext tclass\n",
> +       if (argc != 4 && argc != 5) {
> +               fprintf(stderr, "usage:  %s scontext tcontext tclass [objname]\n",
>                         argv[0]);
>                 exit(1);
>         }
> @@ -34,7 +35,9 @@ int main(int argc, char **argv)
>                 exit(2);
>         }
>
> -       ret = security_compute_create(argv[1], argv[2], tclass, &buf);
> +       objname = (argc == 5) ? argv[4] : NULL;
> +
> +       ret = security_compute_create_name(argv[1], argv[2], tclass, objname, &buf);
>         if (ret < 0) {
>                 fprintf(stderr, "%s:  security_compute_create failed:  %s\n",
>                         argv[0], strerror(errno));
> --
> 2.37.2
>
James Carter Oct. 13, 2022, 3:26 p.m. UTC | #3
On Wed, Oct 12, 2022 at 11:39 AM James Carter <jwcart2@gmail.com> wrote:
>
> On Tue, Aug 30, 2022 at 2:04 PM Christian Göttsche
> <cgzones@googlemail.com> wrote:
> >
> > Support passing an optional object name to compute_create for name
> > based type transitions.
> >
> > Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
>
> Acked-by: James Carter <jwcart2@gmail.com>
>

Merged.
Jim

> > ---
> >  libselinux/utils/compute_create.c | 9 ++++++---
> >  1 file changed, 6 insertions(+), 3 deletions(-)
> >
> > diff --git a/libselinux/utils/compute_create.c b/libselinux/utils/compute_create.c
> > index c6481f4b..5401fe96 100644
> > --- a/libselinux/utils/compute_create.c
> > +++ b/libselinux/utils/compute_create.c
> > @@ -10,10 +10,11 @@ int main(int argc, char **argv)
> >  {
> >         char *buf;
> >         security_class_t tclass;
> > +       const char *objname;
> >         int ret;
> >
> > -       if (argc != 4) {
> > -               fprintf(stderr, "usage:  %s scontext tcontext tclass\n",
> > +       if (argc != 4 && argc != 5) {
> > +               fprintf(stderr, "usage:  %s scontext tcontext tclass [objname]\n",
> >                         argv[0]);
> >                 exit(1);
> >         }
> > @@ -34,7 +35,9 @@ int main(int argc, char **argv)
> >                 exit(2);
> >         }
> >
> > -       ret = security_compute_create(argv[1], argv[2], tclass, &buf);
> > +       objname = (argc == 5) ? argv[4] : NULL;
> > +
> > +       ret = security_compute_create_name(argv[1], argv[2], tclass, objname, &buf);
> >         if (ret < 0) {
> >                 fprintf(stderr, "%s:  security_compute_create failed:  %s\n",
> >                         argv[0], strerror(errno));
> > --
> > 2.37.2
> >
diff mbox series

Patch

diff --git a/libselinux/utils/compute_create.c b/libselinux/utils/compute_create.c
index c6481f4b..5401fe96 100644
--- a/libselinux/utils/compute_create.c
+++ b/libselinux/utils/compute_create.c
@@ -10,10 +10,11 @@  int main(int argc, char **argv)
 {
 	char *buf;
 	security_class_t tclass;
+	const char *objname;
 	int ret;
 
-	if (argc != 4) {
-		fprintf(stderr, "usage:  %s scontext tcontext tclass\n",
+	if (argc != 4 && argc != 5) {
+		fprintf(stderr, "usage:  %s scontext tcontext tclass [objname]\n",
 			argv[0]);
 		exit(1);
 	}
@@ -34,7 +35,9 @@  int main(int argc, char **argv)
 		exit(2);
 	}
 
-	ret = security_compute_create(argv[1], argv[2], tclass, &buf);
+	objname = (argc == 5) ? argv[4] : NULL;
+
+	ret = security_compute_create_name(argv[1], argv[2], tclass, objname, &buf);
 	if (ret < 0) {
 		fprintf(stderr, "%s:  security_compute_create failed:  %s\n",
 			argv[0], strerror(errno));