diff mbox series

libsepol: Quote paths when generating policy.conf from binary policy

Message ID 20210616144843.79344-1-jwcart2@gmail.com (mailing list archive)
State Accepted
Headers show
Series libsepol: Quote paths when generating policy.conf from binary policy | expand

Commit Message

James Carter June 16, 2021, 2:48 p.m. UTC
Christian Göttsche <cgzones@googlemail.com> submitted a similar patch
to quote paths when generating CIL policy from a binary policy.

Since genfscon and devicetreecon rules have paths which are allowed
to contain spaces, always quote the path when writing out these rules.

Signed-off-by: James Carter <jwcart2@gmail.com>
---
 libsepol/src/kernel_to_conf.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Petr Lautrbach June 18, 2021, 2:53 p.m. UTC | #1
James Carter <jwcart2@gmail.com> writes:

> Christian Göttsche <cgzones@googlemail.com> submitted a similar patch
> to quote paths when generating CIL policy from a binary policy.
>
> Since genfscon and devicetreecon rules have paths which are allowed
> to contain spaces, always quote the path when writing out these rules.
>
> Signed-off-by: James Carter <jwcart2@gmail.com>

Acked-by: Petr Lautrbach <plautrba@redhat.com>



> ---
>  libsepol/src/kernel_to_conf.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libsepol/src/kernel_to_conf.c b/libsepol/src/kernel_to_conf.c
> index 5db47fe4..ffdf179a 100644
> --- a/libsepol/src/kernel_to_conf.c
> +++ b/libsepol/src/kernel_to_conf.c
> @@ -2527,7 +2527,7 @@ static int write_genfscon_rules_to_conf(FILE *out, struct policydb *pdb)
>  				goto exit;
>  			}
>  
> -			rc = strs_create_and_add(strs, "genfscon %s %s %s", 3,
> +			rc = strs_create_and_add(strs, "genfscon %s \"%s\" %s", 3,
>  						 fstype, name, ctx);
>  			free(ctx);
>  			if (rc != 0) {
> @@ -2992,7 +2992,7 @@ static int write_xen_devicetree_rules_to_conf(FILE *out, struct policydb *pdb)
>  			goto exit;
>  		}
>  
> -		sepol_printf(out, "devicetreecon %s %s\n", name, ctx);
> +		sepol_printf(out, "devicetreecon \"%s\" %s\n", name, ctx);
>  
>  		free(ctx);
>  	}
> -- 
> 2.26.3
James Carter June 22, 2021, 1:38 p.m. UTC | #2
On Fri, Jun 18, 2021 at 10:53 AM Petr Lautrbach <plautrba@redhat.com> wrote:
>
> James Carter <jwcart2@gmail.com> writes:
>
> > Christian Göttsche <cgzones@googlemail.com> submitted a similar patch
> > to quote paths when generating CIL policy from a binary policy.
> >
> > Since genfscon and devicetreecon rules have paths which are allowed
> > to contain spaces, always quote the path when writing out these rules.
> >
> > Signed-off-by: James Carter <jwcart2@gmail.com>
>
> Acked-by: Petr Lautrbach <plautrba@redhat.com>
>

This has been merged.
Jim

>
>
> > ---
> >  libsepol/src/kernel_to_conf.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/libsepol/src/kernel_to_conf.c b/libsepol/src/kernel_to_conf.c
> > index 5db47fe4..ffdf179a 100644
> > --- a/libsepol/src/kernel_to_conf.c
> > +++ b/libsepol/src/kernel_to_conf.c
> > @@ -2527,7 +2527,7 @@ static int write_genfscon_rules_to_conf(FILE *out, struct policydb *pdb)
> >                               goto exit;
> >                       }
> >
> > -                     rc = strs_create_and_add(strs, "genfscon %s %s %s", 3,
> > +                     rc = strs_create_and_add(strs, "genfscon %s \"%s\" %s", 3,
> >                                                fstype, name, ctx);
> >                       free(ctx);
> >                       if (rc != 0) {
> > @@ -2992,7 +2992,7 @@ static int write_xen_devicetree_rules_to_conf(FILE *out, struct policydb *pdb)
> >                       goto exit;
> >               }
> >
> > -             sepol_printf(out, "devicetreecon %s %s\n", name, ctx);
> > +             sepol_printf(out, "devicetreecon \"%s\" %s\n", name, ctx);
> >
> >               free(ctx);
> >       }
> > --
> > 2.26.3
>
diff mbox series

Patch

diff --git a/libsepol/src/kernel_to_conf.c b/libsepol/src/kernel_to_conf.c
index 5db47fe4..ffdf179a 100644
--- a/libsepol/src/kernel_to_conf.c
+++ b/libsepol/src/kernel_to_conf.c
@@ -2527,7 +2527,7 @@  static int write_genfscon_rules_to_conf(FILE *out, struct policydb *pdb)
 				goto exit;
 			}
 
-			rc = strs_create_and_add(strs, "genfscon %s %s %s", 3,
+			rc = strs_create_and_add(strs, "genfscon %s \"%s\" %s", 3,
 						 fstype, name, ctx);
 			free(ctx);
 			if (rc != 0) {
@@ -2992,7 +2992,7 @@  static int write_xen_devicetree_rules_to_conf(FILE *out, struct policydb *pdb)
 			goto exit;
 		}
 
-		sepol_printf(out, "devicetreecon %s %s\n", name, ctx);
+		sepol_printf(out, "devicetreecon \"%s\" %s\n", name, ctx);
 
 		free(ctx);
 	}