summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2013-08-04 21:48:41 +1000
committerDarren Tucker <dtucker@zip.com.au>2013-08-04 21:48:41 +1000
commitf3ab2c5f9cf4aed44971eded3ac9eeb1344b2be5 (patch)
treea17f6aa145e9a75b48766160427aef34e93c6d6b
parentab3575c055adfbce70fa7405345cf0f80b07c827 (diff)
- (dtucker) [auth-krb5.c configure.ac openbsd-compat/bsd-misc.h] Add support
for building with older Heimdal versions. ok djm.
-rw-r--r--ChangeLog4
-rw-r--r--auth-krb5.c9
-rw-r--r--configure.ac9
-rw-r--r--openbsd-compat/bsd-misc.h10
4 files changed, 29 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index fdce70566..997c5b54d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
120130804
2 - (dtucker) [auth-krb5.c configure.ac openbsd-compat/bsd-misc.h] Add support
3 for building with older Heimdal versions. ok djm.
4
120130801 520130801
2 - (djm) [channels.c channels.h] bz#2135: On Solaris, isatty() on a non- 6 - (djm) [channels.c channels.h] bz#2135: On Solaris, isatty() on a non-
3 blocking connecting socket will clear any stored errno that might 7 blocking connecting socket will clear any stored errno that might
diff --git a/auth-krb5.c b/auth-krb5.c
index 43ee9272f..7c83f597f 100644
--- a/auth-krb5.c
+++ b/auth-krb5.c
@@ -97,8 +97,12 @@ auth_krb5_password(Authctxt *authctxt, const char *password)
97 goto out; 97 goto out;
98 98
99#ifdef HEIMDAL 99#ifdef HEIMDAL
100# ifdef HAVE_KRB5_CC_NEW_UNIQUE
100 problem = krb5_cc_new_unique(authctxt->krb5_ctx, 101 problem = krb5_cc_new_unique(authctxt->krb5_ctx,
101 krb5_mcc_ops.prefix, NULL, &ccache); 102 krb5_mcc_ops.prefix, NULL, &ccache);
103# else
104 problem = krb5_cc_gen_new(authctxt->krb5_ctx, &krb5_mcc_ops, &ccache);
105# endif
102 if (problem) 106 if (problem)
103 goto out; 107 goto out;
104 108
@@ -117,8 +121,13 @@ auth_krb5_password(Authctxt *authctxt, const char *password)
117 if (problem) 121 if (problem)
118 goto out; 122 goto out;
119 123
124# ifdef HAVE_KRB5_CC_NEW_UNIQUE
120 problem = krb5_cc_new_unique(authctxt->krb5_ctx, 125 problem = krb5_cc_new_unique(authctxt->krb5_ctx,
121 krb5_fcc_ops.prefix, NULL, &authctxt->krb5_fwd_ccache); 126 krb5_fcc_ops.prefix, NULL, &authctxt->krb5_fwd_ccache);
127# else
128 problem = krb5_cc_gen_new(authctxt->krb5_ctx, &krb5_fcc_ops,
129 &authctxt->krb5_fwd_ccache);
130# endif
122 if (problem) 131 if (problem)
123 goto out; 132 goto out;
124 133
diff --git a/configure.ac b/configure.ac
index e6ec2768f..4a1b50331 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
1# $Id: configure.ac,v 1.535 2013/06/11 01:26:10 dtucker Exp $ 1# $Id: configure.ac,v 1.536 2013/08/04 11:48:41 dtucker Exp $
2# 2#
3# Copyright (c) 1999-2004 Damien Miller 3# Copyright (c) 1999-2004 Damien Miller
4# 4#
@@ -15,7 +15,7 @@
15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 16
17AC_INIT([OpenSSH], [Portable], [openssh-unix-dev@mindrot.org]) 17AC_INIT([OpenSSH], [Portable], [openssh-unix-dev@mindrot.org])
18AC_REVISION($Revision: 1.535 $) 18AC_REVISION($Revision: 1.536 $)
19AC_CONFIG_SRCDIR([ssh.c]) 19AC_CONFIG_SRCDIR([ssh.c])
20AC_LANG([C]) 20AC_LANG([C])
21 21
@@ -3806,6 +3806,11 @@ AC_ARG_WITH([kerberos5],
3806# include <gssapi/gssapi_generic.h> 3806# include <gssapi/gssapi_generic.h>
3807#endif 3807#endif
3808 ]]) 3808 ]])
3809 saved_LIBS="$LIBS"
3810 LIBS="$LIBS $K5LIBS"
3811 AC_CHECK_FUNCS([krb5_cc_new_unique krb5_get_error_message krb5_free_error_message])
3812 LIBS="$saved_LIBS"
3813
3809 fi 3814 fi
3810 ] 3815 ]
3811) 3816)
diff --git a/openbsd-compat/bsd-misc.h b/openbsd-compat/bsd-misc.h
index 9ebd83c3a..65c18ec2f 100644
--- a/openbsd-compat/bsd-misc.h
+++ b/openbsd-compat/bsd-misc.h
@@ -1,4 +1,4 @@
1/* $Id: bsd-misc.h,v 1.24 2013/05/29 22:29:09 dtucker Exp $ */ 1/* $Id: bsd-misc.h,v 1.25 2013/08/04 11:48:41 dtucker Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 1999-2004 Damien Miller <djm@mindrot.org> 4 * Copyright (c) 1999-2004 Damien Miller <djm@mindrot.org>
@@ -114,4 +114,12 @@ pid_t getpgid(pid_t);
114# define endgrent() {} 114# define endgrent() {}
115#endif 115#endif
116 116
117#ifndef HAVE_KRB5_GET_ERROR_MESSAGE
118# define krb5_get_error_message krb5_get_err_text
119#endif
120
121#ifndef HAVE_KRB5_FREE_ERROR_MESSAGE
122# define krb5_free_error_message(a,b) while(0)
123#endif
124
117#endif /* _BSD_MISC_H */ 125#endif /* _BSD_MISC_H */