On Wed, Jun 14, 2023 at 3:23 PM Masatake YAMATO <yamato@xxxxxxxxxx> wrote: > > Instead, a new action, 'v' for printing the policy (and/or > module) version in batch mode is added. > > Signed-off-by: Masatake YAMATO <yamato@xxxxxxxxxx> For both patches: Acked-by: James Carter <jwcart2@xxxxxxxxx> > --- > checkpolicy/test/dismod.c | 30 ++++++++++++++++++++---------- > 1 file changed, 20 insertions(+), 10 deletions(-) > > diff --git a/checkpolicy/test/dismod.c b/checkpolicy/test/dismod.c > index 515fc9a5..fa729ef2 100644 > --- a/checkpolicy/test/dismod.c > +++ b/checkpolicy/test/dismod.c > @@ -91,6 +91,7 @@ static struct command { > {CMD|NOOPT, 'l', "Link in a module"}, > {CMD, 'u', "Display the unknown handling setting"}, > {CMD, 'F', "Display filename_trans rules"}, > + {CMD, 'v', "display the version of policy and/or module"}, > {HEADER, 0, ""}, > {CMD|NOOPT, 'f', "set output file"}, > {CMD|NOOPT, 'm', "display menu"}, > @@ -899,6 +900,19 @@ static int menu(void) > return 0; > } > > +static void print_version_info(policydb_t * p, FILE * fp) > +{ > + if (p->policy_type == POLICY_BASE) { > + fprintf(fp, "Binary base policy file loaded.\n"); > + } else { > + fprintf(fp, "Binary policy module file loaded.\n"); > + fprintf(fp, "Module name: %s\n", p->name); > + fprintf(fp, "Module version: %s\n", p->version); > + } > + > + fprintf(fp, "Policy version: %d\n\n", p->policyvers); > +} > + > int main(int argc, char **argv) > { > char *ops = NULL; > @@ -952,17 +966,10 @@ int main(int argc, char **argv) > exit(1); > } > > - if (policydb.policy_type == POLICY_BASE) { > - printf("Binary base policy file loaded.\n"); > - } else { > - printf("Binary policy module file loaded.\n"); > - printf("Module name: %s\n", policydb.name); > - printf("Module version: %s\n", policydb.version); > - } > - > - printf("Policy version: %d\n\n", policydb.policyvers); > - if (!ops) > + if (!ops) { > + print_version_info(&policydb, stdout); > menu(); > + } > for (;;) { > if (ops) { > puts(""); > @@ -1069,6 +1076,9 @@ int main(int argc, char **argv) > case 'l': > link_module(&policydb, out_fp); > break; > + case 'v': > + print_version_info(&policydb, out_fp); > + break; > case 'q': > policydb_destroy(&policydb); > exit(0); > -- > 2.40.1 >