Fix for use with either GSSAPI_BASE or GSSAPI_HEIMDAL

Without, the first invocation of authGSSClientStep raises kerberos.GSSError
after failing to acquire a ticket for the krbtgt service on the intended host
rather than the specified service.

PR:		204899
Submitted by:	John W. O'Brien <john@saltant.com>
This commit is contained in:
Dan Langille 2018-01-30 02:20:10 +00:00
parent 4848aab20c
commit 0f6dd9c8eb
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=460369
3 changed files with 11 additions and 2 deletions

View File

@ -3,6 +3,7 @@
PORTNAME= kerberos
PORTVERSION= 1.2.5
PORTREVISION= 1
CATEGORIES= security python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}

View File

@ -38,3 +38,12 @@
if (kt) {
krb5_kt_close(kcontext, kt);
}
@@ -150,7 +148,7 @@ int authenticate_gss_client_init(
name_token.value = (char *)service;
maj_stat = gss_import_name(
- &min_stat, &name_token, gss_krb5_nt_service_name, &state->server_name
+ &min_stat, &name_token, GSS_C_NT_HOSTBASED_SERVICE, &state->server_name
);
if (GSS_ERROR(maj_stat)) {

View File

@ -1,11 +1,10 @@
--- src/kerberosgss.h.orig 2015-03-29 03:41:32 UTC
+++ src/kerberosgss.h
@@ -14,8 +14,9 @@
@@ -14,8 +14,8 @@
* limitations under the License.
**/
+#include <krb5.h>
+#define gss_krb5_nt_service_name GSS_KRB5_NT_PRINCIPAL_NAME
#include <gssapi/gssapi.h>
-#include <gssapi/gssapi_generic.h>
#include <gssapi/gssapi_krb5.h>