diff options
author | Greg Hudson <ghudson@mit.edu> | 2012-02-03 03:19:28 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2012-02-03 03:19:28 +0000 |
commit | 1c77a4feacb636bacc834b0cc56954f91247176b (patch) | |
tree | 9fe14d19461dda84b7f3afc5a696b20567863d3a /src/tests/gssapi | |
parent | b88f63414b4149ae3019f1289033acbcf6fc7fbe (diff) | |
download | krb5-1c77a4feacb636bacc834b0cc56954f91247176b.tar.gz krb5-1c77a4feacb636bacc834b0cc56954f91247176b.tar.xz krb5-1c77a4feacb636bacc834b0cc56954f91247176b.zip |
Dump attributes differently in t_saslname
Dump the known attributes only once, before iterating over the
mechanisms, and display the short and long desc as well as the names
when doing so.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25667 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/tests/gssapi')
-rw-r--r-- | src/tests/gssapi/t_saslname.c | 42 |
1 files changed, 32 insertions, 10 deletions
diff --git a/src/tests/gssapi/t_saslname.c b/src/tests/gssapi/t_saslname.c index 8d1b28c205..27cc22d51e 100644 --- a/src/tests/gssapi/t_saslname.c +++ b/src/tests/gssapi/t_saslname.c @@ -57,8 +57,8 @@ displayStatus(char *msg, OM_uint32 maj_stat, OM_uint32 min_stat) displayStatus_1(msg, min_stat, GSS_C_MECH_CODE); } -static -OM_uint32 dumpMechAttrs(OM_uint32 *minor, gss_OID mech) +static OM_uint32 +dumpKnownMechAttrs(OM_uint32 *minor, gss_OID mech) { OM_uint32 major, tmpMinor; gss_OID_set mech_attrs = GSS_C_NO_OID_SET; @@ -71,34 +71,54 @@ OM_uint32 dumpMechAttrs(OM_uint32 *minor, gss_OID mech) return major; } - printf("Mech attrs: "); - - for (i = 0; i < mech_attrs->count; i++) { + printf("Known attributes\n"); + printf("----------------\n"); + for (i = 0; i < known_attrs->count; i++) { gss_buffer_desc name = GSS_C_EMPTY_BUFFER; gss_buffer_desc short_desc = GSS_C_EMPTY_BUFFER; gss_buffer_desc long_desc = GSS_C_EMPTY_BUFFER; - major = gss_display_mech_attr(minor, &mech_attrs->elements[i], + major = gss_display_mech_attr(minor, &known_attrs->elements[i], &name, &short_desc, &long_desc); if (GSS_ERROR(major)) { displayStatus("gss_display_mech_attr", major, *minor); continue; } - printf("%.*s ", (int)name.length, (char *)name.value); + printf("%.*s (%.*s): %.*s\n", (int)short_desc.length, + (char *)short_desc.value, (int)name.length, (char *)name.value, + (int)long_desc.length, (char *)long_desc.value); gss_release_buffer(minor, &name); gss_release_buffer(minor, &short_desc); gss_release_buffer(minor, &long_desc); } printf("\n"); + gss_release_oid_set(&tmpMinor, &mech_attrs); + gss_release_oid_set(&tmpMinor, &known_attrs); + return GSS_S_COMPLETE; +} + +static +OM_uint32 dumpMechAttrs(OM_uint32 *minor, gss_OID mech) +{ + OM_uint32 major, tmpMinor; + gss_OID_set mech_attrs = GSS_C_NO_OID_SET; + gss_OID_set known_attrs = GSS_C_NO_OID_SET; + size_t i; + + major = gss_inquire_attrs_for_mech(minor, mech, &mech_attrs, &known_attrs); + if (GSS_ERROR(major)) { + displayStatus("gss_inquire_attrs_for_mech", major, *minor); + return major; + } - printf("Known attrs: "); + printf("Mech attrs: "); - for (i = 0; i < known_attrs->count; i++) { + for (i = 0; i < mech_attrs->count; i++) { gss_buffer_desc name = GSS_C_EMPTY_BUFFER; gss_buffer_desc short_desc = GSS_C_EMPTY_BUFFER; gss_buffer_desc long_desc = GSS_C_EMPTY_BUFFER; - major = gss_display_mech_attr(minor, &known_attrs->elements[i], + major = gss_display_mech_attr(minor, &mech_attrs->elements[i], &name, &short_desc, &long_desc); if (GSS_ERROR(major)) { displayStatus("gss_display_mech_attr", major, *minor); @@ -129,6 +149,8 @@ int main(int argc, char *argv[]) return major; } + if (mechs->count > 0) + dumpKnownMechAttrs(&minor, mechs->elements); for (i = 0; i < mechs->count; i++) { gss_buffer_desc oidstr = GSS_C_EMPTY_BUFFER; gss_buffer_desc sasl_mech_name = GSS_C_EMPTY_BUFFER; |