FreeBSD Bugzilla – Attachment 249611 Details for
Bug 247940
Introduce gssapi=.. in DEFAULT_VERSIONS like for ssl=...
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
[PATCH] USES=gssapi: allow provider choice using DEFAULT_VERSIONS
0001-USES-gssapi-allow-provider-choice-using-DEFAULT_VERS.patch (text/plain), 9.32 KB, created by
Siva Mahadevan
on 2024-04-01 00:41:06 UTC
(
hide
)
Description:
[PATCH] USES=gssapi: allow provider choice using DEFAULT_VERSIONS
Filename:
MIME Type:
Creator:
Siva Mahadevan
Created:
2024-04-01 00:41:06 UTC
Size:
9.32 KB
patch
obsolete
>From 9488d863a100a415825a08507cd68912aab2c2a6 Mon Sep 17 00:00:00 2001 >From: Siva Mahadevan <me@svmhdvn.name> >Date: Sun, 31 Mar 2024 20:35:10 -0400 >Subject: [PATCH 1/2] USES=gssapi: allow provider choice using DEFAULT_VERSIONS > >--- > Mk/Uses/gssapi.mk | 117 +++++++++++++++++++++++-------------- > Mk/bsd.default-versions.mk | 2 + > mail/dovecot/Makefile | 23 +++----- > 3 files changed, 81 insertions(+), 61 deletions(-) > >diff --git a/Mk/Uses/gssapi.mk b/Mk/Uses/gssapi.mk >index c1b3d5954c3b..dcd16171d82c 100644 >--- a/Mk/Uses/gssapi.mk >+++ b/Mk/Uses/gssapi.mk >@@ -2,7 +2,7 @@ > # > # Feature: gssapi > # Usage: USES=gssapi or USES=gssapi:ARGS >-# Valid ARGS: base (default, implicit), heimdal, mit. >+# Valid ARGS: base (default, implicit), heimdal, heimdal-devel, mit, mit-devel > # "bootstrap" is a special prefix only for krb5 or heimdal ports. > # ("bootstrap,mit") > # flags is a special suffix to define CFLAGS, LDFLAGS, and LDADD. >@@ -22,6 +22,8 @@ > # GSSAPILIBDIR > # GSSAPILIBS > # GSSAPI_CONFIGURE_ARGS >+# GSSAPI_PROJECT >+# GSSAPI_PROVIDER > # KRB5CONFIG > # > # Affected variables: >@@ -36,24 +38,32 @@ > # > # Usage: > # >-# A typical example: >+# A typical example, where the port supports all GSSAPI providers and >+# end-users can use DEFAULT_VERSIONS to decide which one they want. > # >-# OPTIONS_SINGLE= GSSAPI >-# OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE >+# OPTIONS_DEFINE= GSSAPI > # >-# GSSAPI_BASE_USES= gssapi >-# GSSAPI_BASE_CONFIGURE_ON= \ >-# --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS} >+# GSSAPI_USES= gssapi >+# GSSAPI_CONFIGURE_ON= --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS} >+# GSSAPI_CONFIGURE_OFF= --without-gssapi > # >-# GSSAPI_HEIMDAL_USES=gssapi:heimdal >-# GSSAPI_HEIMDAL_CONFIGURE_ON= \ >-# --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS} >+# An example of restricting the list of supported gssapi providers. >+# The end user cannot use DEFAULT_VERSIONS, but can choose between the various >+# port OPTIONS to choose between the supported providers. >+# This example port chooses to only support Heimdal based providers from >+# the ports collection. > # >-# GSSAPI_MIT_USES= gssapi:mit >-# GSSAPI_MIT_CONFIGURE_ON= \ >-# --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS} >+# OPTIONS_SINGLE= GSSAPI >+# OPTIONS_SINGLE_GSSAPI= GSSAPI_NONE GSSAPI_HEIMDAL GSSAPI_HEIMDAL_DEVEL >+# OPTIONS_DEFAULT= GSSAPI_NONE > # >-# GSSAPI_NONE_CONFIGURE_ON= --without-gssapi >+# GSSAPI_NONE_CONFIGURE_ON= --without-gssapi >+# >+# GSSAPI_HEIMDAL_USES= gssapi:heimdal >+# GSSAPI_HEIMDAL_CONFIGURE_ON= --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS} >+# >+# GSSAPI_HEIMDAL_DEVEL_USES= gssapi:heimdal-devel >+# GSSAPI_HEIMDAL_DEVEL_CONFIGURE_ON= --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS} > # > # If pathname is required for Kerberos implementation, use ${GSSAPIBASEDIR}. > # >@@ -73,19 +83,38 @@ > .if !defined(_INCLUDE_USES_GSSAPI_MK) > _INCLUDE_USES_GSSAPI_MK= yes > >-_HEIMDAL_DEPENDS=${GSSAPILIBDIR}/libgssapi.so:security/heimdal >-_MITKRB5_DEPENDS=${GSSAPILIBDIR}/libkrb5support.so:security/krb5 > _HEADERS= sys/types.h sys/stat.h stdint.h > >-. if empty(gssapi_ARGS) >-gssapi_ARGS= base >-. endif >+GSSAPI_PROVIDER= ${GSSAPI_DEFAULT} >+ > . for _A in ${gssapi_ARGS} >-_local:= ${_A} >-. if ${_local} == "base" >-. if ${SSL_DEFAULT} != base >-IGNORE= You are using OpenSSL from ports and have selected GSSAPI from base, please select another GSSAPI value >-. endif >+. if ${_A} == "base" || \ >+ ${_A} == "heimdal" || \ >+ ${_A} == "heimdal-devel" || \ >+ ${_A} == "mit" || \ >+ ${_A} == "mit-devel" >+GSSAPI_PROVIDER= ${_A} >+. elif ${_A} == "bootstrap" >+_KRB_BOOTSTRAP= 1 >+. elif ${_A} == "flags" >+_KRB_USEFLAGS= 1 >+. GSSAPI_PROVIDER >+BROKEN= USES=gssapi - invalid args: [${_A}] specified >+. endif >+. endfor >+ >+. if ${GSSAPI_PROVIDER} == "base" || ${GSSAPI_PROVIDER} == "heimdal" || ${GSSAPI_PROVIDER} == "heimdal-devel" >+GSSAPI_PROJECT=heimdal >+. elif ${GSSAPI_PROVIDER} == "mit" || ${GSSAPI_PROVIDER} == "mit-devel" >+GSSAPI_PROJECT=mit >+. GSSAPI_PROVIDER >+BROKEN= USES=gssapi - invalid GSSAPI provider found: '${GSSAPI_PROVIDER}' >+. endif >+ >+. if ${GSSAPI_PROVIDER} == "base" >+. if ${SSL_DEFAULT} != base >+BROKEN= You are using OpenSSL from ports and have selected GSSAPI from base, please select another GSSAPI value >+. endif > HEIMDAL_HOME= /usr > GSSAPIBASEDIR= ${HEIMDAL_HOME} > GSSAPILIBDIR= ${GSSAPIBASEDIR}/lib >@@ -94,46 +123,42 @@ _HEADERS+= gssapi/gssapi.h gssapi/gssapi_krb5.h krb5.h > GSSAPICPPFLAGS= -I"${GSSAPIINCDIR}" > GSSAPILIBS= -lkrb5 -lgssapi -lgssapi_krb5 > GSSAPILDFLAGS= >-. elif ${_local} == "heimdal" >+. elif ${GSSAPI_PROVIDER:Mheimdal*} > HEIMDAL_HOME?= ${LOCALBASE} > GSSAPIBASEDIR= ${HEIMDAL_HOME} > GSSAPILIBDIR= ${GSSAPIBASEDIR}/lib/heimdal > GSSAPIINCDIR= ${GSSAPIBASEDIR}/include/heimdal > _HEADERS+= gssapi/gssapi.h gssapi/gssapi_krb5.h krb5.h >-. if !defined(_KRB_BOOTSTRAP) >-BUILD_DEPENDS+= ${_HEIMDAL_DEPENDS} >-RUN_DEPENDS+= ${_HEIMDAL_DEPENDS} >-. else >+. if !defined(_KRB_BOOTSTRAP) >+_GSSAPI_DEPENDS= ${GSSAPILIBDIR}/libgssapi.so:security/${GSSAPI_PROVIDER} >+BUILD_DEPENDS+= ${_GSSAPI_DEPENDS} >+RUN_DEPENDS+= ${_GSSAPI_DEPENDS} >+. GSSAPI_PROVIDER > PREFIX= ${HEIMDAL_HOME} >-. endif >+. endif > GSSAPICPPFLAGS= -I"${GSSAPIINCDIR}" > GSSAPILIBS= -lkrb5 -lgssapi > GSSAPILDFLAGS= -L"${GSSAPILIBDIR}" > _RPATH= ${GSSAPILIBDIR} >-. elif ${_local} == "mit" >+. elif ${GSSAPI_PROVIDER:Mmit*} > KRB5_HOME?= ${LOCALBASE} > GSSAPIBASEDIR= ${KRB5_HOME} > GSSAPILIBDIR= ${GSSAPIBASEDIR}/lib > GSSAPIINCDIR= ${GSSAPIBASEDIR}/include > _HEADERS+= gssapi/gssapi.h gssapi/gssapi_krb5.h krb5.h >-. if !defined(_KRB_BOOTSTRAP) >-BUILD_DEPENDS+= ${_MITKRB5_DEPENDS} >-RUN_DEPENDS+= ${_MITKRB5_DEPENDS} >-. else >+. if !defined(_KRB_BOOTSTRAP) >+_GSSAPI_DEPENDS= ${GSSAPILIBDIR}/libkrb5support.so:security/krb5${GSSAPI_PROVIDER:S/mit//} >+BUILD_DEPENDS+= ${_GSSAPI_DEPENDS} >+RUN_DEPENDS+= ${_GSSAPI_DEPENDS} >+. GSSAPI_PROVIDER > PREFIX= ${KRB5_HOME} >-. endif >+. endif > GSSAPILIBS= -lkrb5 -lgssapi_krb5 > GSSAPICPPFLAGS= -I"${GSSAPIINCDIR}" > GSSAPILDFLAGS= -L"${GSSAPILIBDIR}" > _RPATH= ${GSSAPILIBDIR} >-. elif ${_local} == "bootstrap" >-_KRB_BOOTSTRAP= 1 >-. elif ${_local} == "flags" >-_KRB_USEFLAGS= 1 >-. else >-IGNORE= USES=gssapi - invalid args: [${_local}] specified >-. endif >-. endfor >+. GSSAPI_PROVIDER >+. endif > > KRB5CONFIG=${GSSAPIBASEDIR}/bin/krb5-config > >@@ -144,7 +169,7 @@ KRB5CONFIG=${GSSAPIBASEDIR}/bin/krb5-config > LDFLAGS:= -Wl,-rpath,${_RPATH}:${F:S/-Wl,-rpath,//} \ > ${LDFLAGS:N-Wl,-rpath,*} > . endfor >-. else >+. GSSAPI_PROVIDER > LDFLAGS+= -Wl,-rpath,${_RPATH}:/usr/lib > . endif > _DEBUG_KRB_RPATH= -Wl,-rpath,${_RPATH} >@@ -178,6 +203,8 @@ debug-krb: > @echo "GSSAPILIBS: ${GSSAPILIBS}" > @echo "GSSAPICPPFLAGS: ${GSSAPICPPFLAGS}" > @echo "GSSAPILDFLAGS: ${GSSAPILDFLAGS}" >+ @echo "GSSAPI_PROJECT: ${GSSAPI_PROJECT}" >+ @echo "GSSAPI_PROVIDER: ${GSSAPI_PROVIDER}" > @echo "GSSAPI_CONFIGURE_ARGS: ${GSSAPI_CONFIGURE_ARGS}" > @echo "KRB5CONFIG: ${KRB5CONFIG}" > @echo "CFLAGS: ${CFLAGS}" >diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk >index e11573947579..bae48ba908cd 100644 >--- a/Mk/bsd.default-versions.mk >+++ b/Mk/bsd.default-versions.mk >@@ -65,6 +65,8 @@ GHOSTSCRIPT_DEFAULT?= 10 > GL_DEFAULT?= mesa-libs > # Possible values: 1.19, 1.20, 1.21, 1.22, 1.23-devel > GO_DEFAULT?= 1.21 >+# Possible values: base, heimdal, heimdal-devel, mit, mit-devel >+GSSAPI_DEFAULT?= base > # Possible values: 1.8, 2.2, 3.0 > GUILE_DEFAULT?= 2.2 > # Possible versions: 6, 7 >diff --git a/mail/dovecot/Makefile b/mail/dovecot/Makefile >index 7019558281e5..5651f918e21c 100644 >--- a/mail/dovecot/Makefile >+++ b/mail/dovecot/Makefile >@@ -41,31 +41,25 @@ INSTALL_TARGET= install-strip > USERS= dovecot dovenull > GROUPS= ${USERS} > >-OPTIONS_DEFINE= LIBSODIUM LIBUNWIND LIBWRAP LUA LZ4 DOCS EXAMPLES >-OPTIONS_DEFAULT=GSSAPI_NONE LDAP LIBWRAP >+OPTIONS_DEFINE= GSSAPI LIBSODIUM LIBUNWIND LIBWRAP LUA LZ4 DOCS EXAMPLES >+OPTIONS_DEFAULT= LDAP LIBWRAP >+ > OPTIONS_SUB= yes > > OPTIONS_GROUP= DB FTS > OPTIONS_GROUP_DB= CDB LDAP MYSQL PGSQL SQLITE > OPTIONS_GROUP_FTS= ICU LUCENE SOLR TEXTCAT > >-OPTIONS_SINGLE= GSSAPI >-OPTIONS_SINGLE_GSSAPI= GSSAPI_NONE GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT >- > DB_DESC= Database support > CDB_DESC= CDB database support > > FTS_DESC= Full text search plugins >+GSSAPI_DESC= GSSAPI support > ICU_DESC= Use libicu for FTS unicode normalization > LUCENE_DESC= CLucene FTS support > SOLR_DESC= Solr FTS support > TEXTCAT_DESC= Libexttextcat FTS support > >-GSSAPI_NONE_DESC= Build without GSSAPI support >-GSSAPI_BASE_DESC= Use GSSAPI from base >-GSSAPI_HEIMDAL_DESC= Use Heimdal GSSAPI from security/heimdal >-GSSAPI_MIT_DESC= Use MIT GSSAPI from security/krb5 >- > # General options > LIBSODIUM_DESC= Support libsodium based crypts (ARGON2I/ARGON2ID) > LIBSODIUM_LIB_DEPENDS= libsodium.so:security/libsodium >@@ -114,12 +108,9 @@ SOLR_LIB_DEPENDS= libcurl.so:ftp/curl \ > TEXTCAT_CONFIGURE_WITH= textcat > TEXTCAT_LIB_DEPENDS= libexttextcat-2.0.so:textproc/libexttextcat > >-# GSSAPI >-GSSAPI_NONE_CONFIGURE_ON= --without-gssapi >-GSSAPI_NONE_CONFIGURE_OFF= --with-gssapi ${GSSAPI_CONFIGURE_ARGS} >-GSSAPI_BASE_USES= gssapi >-GSSAPI_HEIMDAL_USES= gssapi:heimdal >-GSSAPI_MIT_USES= gssapi:mit >+GSSAPI_USES= gssapi >+GSSAPI_CONFIGURE_ON= --with-gssapi ${GSSAPI_CONFIGURE_ARGS} >+GSSAPI_CONFIGURE_OFF= --without-gssapi > > DOCS= AUTHORS COPYING INSTALL NEWS TODO README > PORTDOCS= * >-- >2.44.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 247940
:
247505
|
247558
|
249611
|
249668
|
249682
|
250138