From 31a1f7d4caeb9f5e7c2c3022fd844b3b066cbd42 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Wed, 21 Jan 1998 00:32:57 +0000 Subject: [PATCH] detect bad password. use krb5_err. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4321 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kpasswd/kpasswd.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/kpasswd/kpasswd.c b/kpasswd/kpasswd.c index 221b944db..4f2f9ca8a 100644 --- a/kpasswd/kpasswd.c +++ b/kpasswd/kpasswd.c @@ -101,7 +101,7 @@ main (int argc, char **argv) if(argv[0]) { ret = krb5_parse_name (context, argv[0], &principal); if (ret) - errx (1, "krb5_parse_name: %s", krb5_get_err_text(context, ret)); + krb5_err (context, 1, ret, "krb5_parse_name"); } else principal = NULL; @@ -114,9 +114,16 @@ main (int argc, char **argv) 0, "kadmin/changepw", &opt); - if (ret) - errx (1, "krb5_get_initial_creds: %s", - krb5_get_err_text(context, ret)); + switch (ret) { + case 0: + break; + case KRB5KRB_AP_ERR_BAD_INTEGRITY: + case KRB5KRB_AP_ERR_MODIFIED: + krb5_errx(context, 1, "Password incorrect"); + break; + default: + krb5_err(context, 1, ret, "krb5_get_init_creds"); + } krb5_data_zero (&result_code_string); krb5_data_zero (&result_string); @@ -129,8 +136,7 @@ main (int argc, char **argv) &result_code_string, &result_string); if (ret) - errx (1, "krb5_change_password: %s", - krb5_get_err_text(context, ret)); + krb5_err (context, 1, ret, "krb5_change_password"); printf ("%.*s\n", (int)result_string.length, (char *)result_string.data);