krb5 commit: Use krb5_flags_to_strings() in kproplog
Greg Hudson <[email protected]>
| Newsgroups | gmane.comp.encryption.kerberos.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://github.com/krb5/krb5/commit/5c52e281dd30ec7a6cdda2567c2db6dd56e97e93 commit 5c52e281dd30ec7a6cdda2567c2db6dd56e97e93 Author: Greg Hudson <[email protected]> Date: Tue Jun 11 11:26:04 2019 -0400 Use krb5_flags_to_strings() in kproplog Remove the local flags table in kproplog.c and instead use krb5_flags_to_strings(), as was done for kadmin.c in commit 971fae8285427b27dfd8c9a535a18eb588ee0689. ticket: 8816 src/kprop/deps | 2 +- src/kprop/kproplog.c | 40 ++++++++++------------------------------ 2 files changed, 11 insertions(+), 31 deletions(-) diff --git a/src/kprop/deps b/src/kprop/deps index c0f558e..cb19b0a 100644 --- a/src/kprop/deps +++ b/src/kprop/deps @@ -56,7 +56,7 @@ $(OUTPRE)kproplog.$(OBJEXT): $(BUILDTOP)/include/autoconf.h \ $(BUILDTOP)/include/kadm5/admin.h $(BUILDTOP)/include/kadm5/chpass_util_strings.h \ $(BUILDTOP)/include/kadm5/kadm_err.h $(BUILDTOP)/include/krb5/krb5.h \ $(BUILDTOP)/include/osconf.h $(BUILDTOP)/include/profile.h \ - $(COM_ERR_DEPS) $(top_srcdir)/include/gssrpc/auth.h \ + $(COM_ERR_DEPS) $(top_srcdir)/include/adm_proto.h $(top_srcdir)/include/gssrpc/auth.h \ $(top_srcdir)/include/gssrpc/auth_gss.h $(top_srcdir)/include/gssrpc/auth_unix.h \ $(top_srcdir)/include/gssrpc/clnt.h $(top_srcdir)/include/gssrpc/rename.h \ $(top_srcdir)/include/gssrpc/rpc.h $(top_srcdir)/include/gssrpc/rpc_msg.h \ diff --git a/src/kprop/kproplog.c b/src/kprop/kproplog.c index 5ec97ae..865b0d6 100644 --- a/src/kprop/kproplog.c +++ b/src/kprop/kproplog.c @@ -19,6 +19,7 @@ #include <syslog.h> #include <kdb_log.h> #include <kadm5/admin.h> +#include <adm_proto.h> static char *progname; @@ -36,38 +37,17 @@ usage() static void print_flags(unsigned int flags) { - unsigned int i; - static char *prflags[] = { - "DISALLOW_POSTDATED", /* 0x00000001 */ - "DISALLOW_FORWARDABLE", /* 0x00000002 */ - "DISALLOW_TGT_BASED", /* 0x00000004 */ - "DISALLOW_RENEWABLE", /* 0x00000008 */ - "DISALLOW_PROXIABLE", /* 0x00000010 */ - "DISALLOW_DUP_SKEY", /* 0x00000020 */ - "DISALLOW_ALL_TIX", /* 0x00000040 */ - "REQUIRES_PRE_AUTH", /* 0x00000080 */ - "REQUIRES_HW_AUTH", /* 0x00000100 */ - "REQUIRES_PWCHANGE", /* 0x00000200 */ - "UNKNOWN_0x00000400", /* 0x00000400 */ - "UNKNOWN_0x00000800", /* 0x00000800 */ - "DISALLOW_SVR", /* 0x00001000 */ - "PWCHANGE_SERVICE", /* 0x00002000 */ - "SUPPORT_DESMD5", /* 0x00004000 */ - "NEW_PRINC", /* 0x00008000 */ - "UNKNOWN_0x00010000", /* 0x00010000 */ - "UNKNOWN_0x00020000", /* 0x00020000 */ - "UNKNOWN_0x00040000", /* 0x00040000 */ - "UNKNOWN_0x00080000", /* 0x00080000 */ - "OK_AS_DELEGATE", /* 0x00100000 */ - "OK_TO_AUTH_AS_DELEGATE", /* 0x00200000 */ - "NO_AUTH_DATA_REQUIRED", /* 0x00400000 */ - - }; - - for (i = 0; i < sizeof(prflags) / sizeof(*prflags); i++) { - if (flags & (krb5_flags)(1 << i)) - printf("\t\t\t%s\n", prflags[i]); + char **attrstrs, **sp; + + if (krb5_flags_to_strings(flags, &attrstrs) != 0) { + printf("\t\t\t(error)\n"); + return; + } + for (sp = attrstrs; sp != NULL && *sp != NULL; sp++) { + printf("\t\t\t%s\n", *sp); + free(*sp); } + free(attrstrs); } /* ctime() for uint32_t* */