Mercurial > emacs
changeset 80680:710e4315c043
(socket_connection): Add conditionals for HAVE_KRB5_ERROR_TEXT and
HAVE_KRB5_ERROR_E_TEXT to support compilation with MIT Kerberos and
Heimdal, respectively.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Tue, 05 Aug 2008 18:06:53 +0000 |
parents | 02fa114827be |
children | ca0b032f4a2c |
files | lib-src/pop.c |
diffstat | 1 files changed, 13 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lib-src/pop.c Tue Aug 05 18:06:40 2008 +0000 +++ b/lib-src/pop.c Tue Aug 05 18:06:53 2008 +0000 @@ -1200,11 +1200,12 @@ krb5_free_principal (kcontext, server); if (rem) { + strcpy (pop_error, KRB_ERROR); + strncat (pop_error, error_message (rem), + ERROR_MAX - sizeof (KRB_ERROR)); +#if defined HAVE_KRB5_ERROR_TEXT if (err_ret && err_ret->text.length) { - strcpy (pop_error, KRB_ERROR); - strncat (pop_error, error_message (rem), - ERROR_MAX - sizeof (KRB_ERROR)); strncat (pop_error, " [server says '", ERROR_MAX - strlen (pop_error) - 1); strncat (pop_error, err_ret->text.data, @@ -1213,12 +1214,17 @@ strncat (pop_error, "']", ERROR_MAX - strlen (pop_error) - 1); } - else +#elif defined HAVE_KRB5_ERROR_E_TEXT + if (err_ret && err_ret->e_text && strlen(*err_ret->e_text)) { - strcpy (pop_error, KRB_ERROR); - strncat (pop_error, error_message (rem), - ERROR_MAX - sizeof (KRB_ERROR)); + strncat (pop_error, " [server says '", + ERROR_MAX - strlen (pop_error) - 1); + strncat (pop_error, *err_ret->e_text, + ERROR_MAX - strlen (pop_error) - 1); + strncat (pop_error, "']", + ERROR_MAX - strlen (pop_error) - 1); } +#endif if (err_ret) krb5_free_error (kcontext, err_ret); krb5_auth_con_free (kcontext, auth_context);