From bd808564e36079174fa81d26b8999f5b6f83998b Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Wed, 4 Aug 1999 06:13:32 +0000 Subject: [PATCH] (gss_verr, gss_err): add git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6692 ec53bebd-3082-4978-b11e-865c3cabbd6b --- appl/test/gss_common.c | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/appl/test/gss_common.c b/appl/test/gss_common.c index 3eeb16524..e1aaf1854 100644 --- a/appl/test/gss_common.c +++ b/appl/test/gss_common.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997 Kungliga Tekniska Högskolan + * Copyright (c) 1997, 1998, 1999 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). * All rights reserved. * @@ -73,3 +73,41 @@ read_token (int sock, gss_buffer_t buf) err (1, "read"); } +void +gss_print_errors (int min_stat) +{ + int new_stat; + int msg_ctx = 0; + gss_buffer_desc status_string; + int ret; + + do { + ret = gss_display_status (&new_stat, + min_stat, + GSS_C_MECH_CODE, + GSS_C_NO_OID, + &msg_ctx, + &status_string); + fprintf (stderr, "%s\n", (char *)status_string.value); + gss_release_buffer (&new_stat, &status_string); + } while (!GSS_ERROR(ret) && msg_ctx != 0); +} + +void +gss_verr(int exitval, int status, const char *fmt, va_list ap) +{ + vwarnx (fmt, ap); + gss_print_errors (status); + exit (exitval); +} + +void +gss_err(int exitval, int status, const char *fmt, ...) +{ + va_list args; + + va_start(args, fmt); + gss_verr (exitval, status, fmt, args); + va_end(args); +} +