The branch main has been updated by ivy:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=dc5ba6b8b4f028eb944434be82838d272330f26f

commit dc5ba6b8b4f028eb944434be82838d272330f26f
Author:     Lexi Winter <i...@freebsd.org>
AuthorDate: 2025-08-20 18:42:20 +0000
Commit:     Lexi Winter <i...@freebsd.org>
CommitDate: 2025-08-20 18:42:20 +0000

    Remove MK_GSSAPI
    
    For MIT Kerberos, MK_GSSAPI has no meaning: GSSAPI is a required part of
    Kerberos and is always built if MK_KERBEROS is enabled.  Backport this
    behaviour to Heimdal so it works the same way.
    
    While here, change Heimdal's libcom_err and compile_et to be selected by
    MK_KERBEROS, not MK_KERBEROS_SUPPORT, since these are part of Kerberos
    and third-party users might need it even if Kerberos support is disabled
    in the base system.  This means MK_KERBEROS_SUPPORT installs the same
    files with both MIT and Heimdal.
    
    Reviewed by:    cy
    Differential Revision:  https://reviews.freebsd.org/D51859
---
 Makefile.inc1                            |  6 ++----
 UPDATING                                 |  9 +++++++++
 include/Makefile                         |  2 +-
 kerberos5/Makefile.inc                   |  2 --
 kerberos5/lib/Makefile                   |  2 --
 kerberos5/libexec/Makefile               |  2 --
 lib/Makefile                             |  6 +++---
 libexec/rc/rc.d/Makefile                 |  2 +-
 secure/libexec/sshd-session/Makefile     |  2 +-
 secure/ssh.mk                            |  3 +--
 secure/usr.bin/ssh/Makefile              |  2 +-
 secure/usr.sbin/sshd/Makefile            |  2 +-
 share/man/man5/src.conf.5                | 22 ++++++----------------
 share/mk/local.dirdeps.mk                |  2 +-
 share/mk/src.opts.mk                     |  2 +-
 tools/build/mk/OptionalObsoleteFiles.inc |  4 ++--
 tools/build/options/WITHOUT_GSSAPI       |  1 -
 tools/build/options/WITHOUT_KERBEROS     |  2 +-
 usr.bin/Makefile                         |  2 +-
 usr.sbin/Makefile                        |  4 +---
 20 files changed, 33 insertions(+), 46 deletions(-)

diff --git a/Makefile.inc1 b/Makefile.inc1
index 861d368af838..d65d1c86deac 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -3387,7 +3387,7 @@ secure/lib/libssh__L: lib/libz__L secure/lib/libcrypto__L 
lib/libcrypt__L
 secure/lib/libssh__L: lib/libldns__L
 .endif
 
-.if ${MK_GSSAPI} != "no" && ${MK_KERBEROS_SUPPORT} != "no"
+.if ${MK_KERBEROS_SUPPORT} != "no"
 .if ${MK_MITKRB5} != "no"
 secure/lib/libssh__L: krb5/lib/gssapi__L krb5/lib/krb5__L \
      krb5/lib/crypto__L krb5/util/et__L lib/libmd__L krb5/util/support__L
@@ -3446,11 +3446,9 @@ kerberos5/lib/libheimipcc__L: kerberos5/lib/libroken__L 
kerberos5/lib/libheimbas
 
 lib/libsqlite3__L: lib/libthr__L
 
-.if ${MK_GSSAPI} != "no"
-.if ${MK_MITKRB5} == "no"
+.if ${MK_KERBEROS} != "no" && ${MK_MITKRB5} == "no"
 _lib_libgssapi=        lib/libgssapi
 .endif
-.endif
 
 .if ${MK_KERBEROS} != "no"
 .if ${MK_MITKRB5} != "no"
diff --git a/UPDATING b/UPDATING
index 8620df648703..575669b8bc64 100644
--- a/UPDATING
+++ b/UPDATING
@@ -27,6 +27,15 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW:
        world, or to merely disable the most expensive debugging functionality
        at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20250820:
+       The WITHOUT_GSSAPI src.conf knob has been removed.  This was already
+       a no-op for MIT Kerberos, so this only affects builds which set
+       WITHOUT_MITKRB5=1, in which case you now always get libgssapi.
+
+       Also, Heimdal's compile_et and libcom_err are now controlled by
+       WITHOUT_KERBEROS, not WITHOUT_KERBEROS_SUPPORT.  This matches
+       the behaviour of the MIT Kerberos versions.
+
 20250820:
        Commits 08c7dd2fbe4f and a4197ea47777 have changed the ABI between
        libvmmapi and the vmm device. If using a custom kernel configuration,
diff --git a/include/Makefile b/include/Makefile
index 2792d594a888..07890362d7a6 100644
--- a/include/Makefile
+++ b/include/Makefile
@@ -293,7 +293,7 @@ LSUBSUBDIRS+=       netgraph/bluetooth/include
 LSUBDIRS+=     fs/cuse
 .endif
 
-.if ${MK_GSSAPI} != "no" && ${MK_MITKRB5} == "no"
+.if ${MK_KERBEROS} != "no" && ${MK_MITKRB5} == "no"
 SUBDIR+=       gssapi
 INCS+=         gssapi.h
 .endif
diff --git a/kerberos5/Makefile.inc b/kerberos5/Makefile.inc
index 2525f3888806..e02e110b5786 100644
--- a/kerberos5/Makefile.inc
+++ b/kerberos5/Makefile.inc
@@ -29,9 +29,7 @@ ETSRCS=       \
        ${KRB5DIR}/lib/wind/wind_err.et \
        ${KRB5DIR}/lib/ntlm/ntlm_err.et
 
-.if ${MK_GSSAPI} != "no"
 ETSRCS+=       ${KRB5DIR}/lib/gssapi/krb5/gkrb5_err.et
-.endif
 
 .for ET in ${ETSRCS}
 .for _ET in ${ET:T:R}
diff --git a/kerberos5/lib/Makefile b/kerberos5/lib/Makefile
index 7b63da16e360..1f631b48ce83 100644
--- a/kerberos5/lib/Makefile
+++ b/kerberos5/lib/Makefile
@@ -7,10 +7,8 @@ SUBDIR=        libasn1 libhdb \
 SUBDIR+= libkafs5  # requires krb_err.h from libkrb5
 SUBDIR_DEPEND_libkafs5=        libkrb5
 
-.if ${MK_GSSAPI} != "no"
 SUBDIR+=       libgssapi_krb5
 SUBDIR+=       libgssapi_ntlm
 SUBDIR+=       libgssapi_spnego
-.endif
 
 .include <bsd.subdir.mk>
diff --git a/kerberos5/libexec/Makefile b/kerberos5/libexec/Makefile
index 543331d5029b..2ac9c2d45f28 100644
--- a/kerberos5/libexec/Makefile
+++ b/kerberos5/libexec/Makefile
@@ -4,8 +4,6 @@ SUBDIR= digest-service ipropd-master ipropd-slave hprop hpropd 
kdc \
        kdigest kfd kimpersonate kpasswdd kcm
 SUBDIR_PARALLEL=
 
-.if ${MK_GSSAPI} != "no"
 SUBDIR+=       kadmind
-.endif
 
 .include <bsd.subdir.mk>
diff --git a/lib/Makefile b/lib/Makefile
index 9447cc4551c0..2b7cf2fdcb7d 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -179,12 +179,12 @@ SUBDIR.${MK_FDT}+=        libfdt
 SUBDIR.${MK_FILE}+=    libmagic
 SUBDIR.${MK_GPIO}+=    libgpio
 .if ${MK_MITKRB5} == "no"
-SUBDIR.${MK_GSSAPI}+=  libgssapi
+SUBDIR.${MK_KERBEROS}+=        libgssapi
 .endif
-SUBDIR.${MK_GSSAPI}+=  librpcsec_gss
+SUBDIR.${MK_KERBEROS}+=        librpcsec_gss
 SUBDIR.${MK_ICONV}+=   libiconv_modules
 .if ${MK_MITKRB5} == "no"
-SUBDIR.${MK_KERBEROS_SUPPORT}+=        libcom_err
+SUBDIR.${MK_KERBEROS}+=        libcom_err
 .endif
 SUBDIR.${MK_LDNS}+=    libldns
 SUBDIR.${MK_STATS}+=   libstats
diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile
index d0c6fc1dee46..7c1f50b027a9 100644
--- a/libexec/rc/rc.d/Makefile
+++ b/libexec/rc/rc.d/Makefile
@@ -215,7 +215,7 @@ FTPD=               ftpd
 FTPDPACKAGE=   ftpd
 .endif
 
-.if ${MK_GSSAPI} != "no" && ${MK_KERBEROS_SUPPORT} != "no"
+.if ${MK_KERBEROS_SUPPORT} != "no"
 CONFGROUPS+=   GSSD
 GSSD=          gssd
 GSSDPACKAGE=   gssd
diff --git a/secure/libexec/sshd-session/Makefile 
b/secure/libexec/sshd-session/Makefile
index 37e099794bd5..5ed459fe492a 100644
--- a/secure/libexec/sshd-session/Makefile
+++ b/secure/libexec/sshd-session/Makefile
@@ -38,7 +38,7 @@ LIBADD+= blacklist
 LDFLAGS+=-L${LIBBLACKLISTDIR}
 .endif
 
-.if ${MK_GSSAPI} != "no" && ${MK_KERBEROS_SUPPORT} != "no"
+.if ${MK_KERBEROS_SUPPORT} != "no"
 .if ${MK_MITKRB5} != "no"
 LIBADD+=       gssapi_krb5 krb5
 .include "../../krb5/Makefile.inc"
diff --git a/secure/ssh.mk b/secure/ssh.mk
index bb6dd9b748e4..97dd089d98e8 100644
--- a/secure/ssh.mk
+++ b/secure/ssh.mk
@@ -9,12 +9,11 @@ SKSRCS=       ssh-sk-client.c
 
 CFLAGS+= -I${SSHDIR} -include ssh_namespace.h
 
-.if ${MK_GSSAPI} != "no" && ${MK_KERBEROS_SUPPORT} != "no"
+.if ${MK_KERBEROS_SUPPORT} != "no"
 CFLAGS+= -include krb5_config.h
 .if ${MK_MITKRB5} == "no"
 CFLAGS+= -DHEIMDAL=1
 .endif
-
 .endif
 
 CFLAGS+= -DXAUTH_PATH=\"${LOCALBASE:U/usr/local}/bin/xauth\"
diff --git a/secure/usr.bin/ssh/Makefile b/secure/usr.bin/ssh/Makefile
index a4f36d0fe2df..2b11b783c007 100644
--- a/secure/usr.bin/ssh/Makefile
+++ b/secure/usr.bin/ssh/Makefile
@@ -17,7 +17,7 @@ SRCS+=        gss-genr.c
 
 LIBADD=        ssh
 
-.if ${MK_GSSAPI} != "no" && ${MK_KERBEROS_SUPPORT} != "no"
+.if ${MK_KERBEROS_SUPPORT} != "no"
 .if ${MK_MITKRB5} == "no"
 LIBADD+=       gssapi
 .else
diff --git a/secure/usr.sbin/sshd/Makefile b/secure/usr.sbin/sshd/Makefile
index f37dfe1c1b3a..433a87984e42 100644
--- a/secure/usr.sbin/sshd/Makefile
+++ b/secure/usr.sbin/sshd/Makefile
@@ -18,7 +18,7 @@ moduli: .MADE
 
 LIBADD=        ssh util
 
-.if ${MK_GSSAPI} != "no" && ${MK_KERBEROS_SUPPORT} != "no"
+.if ${MK_KERBEROS_SUPPORT} != "no"
 .if ${MK_MITKRB5} == "no"
 LIBADD+=       gssapi_krb5 gssapi krb5
 .else
diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
index f79d160255bf..2895c0cf4746 100644
--- a/share/man/man5/src.conf.5
+++ b/share/man/man5/src.conf.5
@@ -1,5 +1,5 @@
 .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
-.Dd August 19, 2025
+.Dd August 20, 2025
 .Dt SRC.CONF 5
 .Os
 .Sh NAME
@@ -452,8 +452,6 @@ When set, it enforces these options:
 .It
 .Va WITHOUT_KERBEROS
 .It
-.Va WITHOUT_KERBEROS_SUPPORT
-.It
 .Va WITHOUT_LDNS
 .It
 .Va WITHOUT_LDNS_UTILS
@@ -480,9 +478,9 @@ When set, it enforces these options:
 When set, these options are also in effect:
 .Pp
 .Bl -inset -compact
-.It Va WITHOUT_GSSAPI
+.It Va WITHOUT_KERBEROS_SUPPORT
 (unless
-.Va WITH_GSSAPI
+.Va WITH_KERBEROS_SUPPORT
 is set explicitly)
 .El
 .It Va WITH_CTF
@@ -739,8 +737,6 @@ and dependent tests.
 Do not build
 .Xr gpioctl 8
 as part of the base system.
-.It Va WITHOUT_GSSAPI
-Do not build libgssapi.
 .It Va WITHOUT_HAST
 Do not build
 .Xr hastd 8
@@ -840,14 +836,10 @@ Do not build
 and
 .Xr truss 1 .
 .It Va WITHOUT_KERBEROS
-Set this to not build Kerberos 5 (KTH Heimdal).
+Set this to not build Kerberos.
 When set, these options are also in effect:
 .Pp
 .Bl -inset -compact
-.It Va WITHOUT_GSSAPI
-(unless
-.Va WITH_GSSAPI
-is set explicitly)
 .It Va WITHOUT_KERBEROS_SUPPORT
 (unless
 .Va WITH_KERBEROS_SUPPORT
@@ -1433,8 +1425,6 @@ When set, it enforces these options:
 .It
 .Va WITHOUT_KERBEROS
 .It
-.Va WITHOUT_KERBEROS_SUPPORT
-.It
 .Va WITHOUT_LDNS
 .It
 .Va WITHOUT_LDNS_UTILS
@@ -1459,9 +1449,9 @@ When set, it enforces these options:
 When set, these options are also in effect:
 .Pp
 .Bl -inset -compact
-.It Va WITHOUT_GSSAPI
+.It Va WITHOUT_KERBEROS_SUPPORT
 (unless
-.Va WITH_GSSAPI
+.Va WITH_KERBEROS_SUPPORT
 is set explicitly)
 .El
 .It Va WITHOUT_OPENSSL_KTLS
diff --git a/share/mk/local.dirdeps.mk b/share/mk/local.dirdeps.mk
index a92539689a31..bdc7242d4bfd 100644
--- a/share/mk/local.dirdeps.mk
+++ b/share/mk/local.dirdeps.mk
@@ -185,7 +185,7 @@ C_DIRDEPS= \
 
 # libgcc is needed as well but is added later.
 
-.if ${MK_GSSAPI} != "no"
+.if ${MK_KERBEROS} != "no" && ${MK_MITKRB5} == "no"
 C_DIRDEPS+=  include/gssapi
 .endif
 
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index 8a52fe03221e..85a003eb4eaf 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -508,7 +508,7 @@ MK_LOADER_VERIEXEC_PASS_MANIFEST := no
 # MK_* options whose default value depends on another option.
 #
 .for vv in \
-    GSSAPI/KERBEROS \
+    KERBEROS_SUPPORT/KERBEROS \
     MAN_UTILS/MAN
 .if defined(WITH_${vv:H})
 MK_${vv:H}:=   yes
diff --git a/tools/build/mk/OptionalObsoleteFiles.inc 
b/tools/build/mk/OptionalObsoleteFiles.inc
index dcd606feea1d..27d03f13c4e3 100644
--- a/tools/build/mk/OptionalObsoleteFiles.inc
+++ b/tools/build/mk/OptionalObsoleteFiles.inc
@@ -2262,13 +2262,13 @@ OLD_FILES+=usr/share/man/man3/gpio_pin_tristate.3.gz
 OLD_FILES+=usr/share/man/man8/gpioctl.8.gz
 .endif
 
-.if ${MK_GSSAPI} == "no" || ${MK_KERBEROS_SUPPORT} == "no"
+.if ${MK_KERBEROS_SUPPORT} == "no"
 OLD_FILES+=etc/rc.d/gssd
 OLD_FILES+=usr/sbin/gssd
 OLD_FILES+=usr/share/man/man8/gssd.8.gz
 .endif
 
-.if ${MK_GSSAPI} == no
+.if ${MK_KERBEROS} == no
 OLD_FILES+=usr/include/gssapi/gssapi.h
 OLD_DIRS+=usr/include/gssapi
 OLD_FILES+=usr/include/gssapi.h
diff --git a/tools/build/options/WITHOUT_GSSAPI 
b/tools/build/options/WITHOUT_GSSAPI
deleted file mode 100644
index 3b208b6edecd..000000000000
--- a/tools/build/options/WITHOUT_GSSAPI
+++ /dev/null
@@ -1 +0,0 @@
-Do not build libgssapi.
diff --git a/tools/build/options/WITHOUT_KERBEROS 
b/tools/build/options/WITHOUT_KERBEROS
index 98e1ffe3721d..e0301ee1d786 100644
--- a/tools/build/options/WITHOUT_KERBEROS
+++ b/tools/build/options/WITHOUT_KERBEROS
@@ -1 +1 @@
-Set this to not build Kerberos 5 (KTH Heimdal).
+Set this to not build Kerberos.
diff --git a/usr.bin/Makefile b/usr.bin/Makefile
index 512f75b5d093..da1a9b3a681f 100644
--- a/usr.bin/Makefile
+++ b/usr.bin/Makefile
@@ -219,7 +219,7 @@ SUBDIR.${MK_ISCSI}+=        iscsictl
 SUBDIR.${MK_KDUMP}+=   kdump
 SUBDIR.${MK_KDUMP}+=   truss
 .if ${MK_MITKRB5} == "no"
-SUBDIR.${MK_KERBEROS_SUPPORT}+=        compile_et
+SUBDIR.${MK_KERBEROS}+=        compile_et
 .endif
 SUBDIR.${MK_LDNS_UTILS}+=      drill
 SUBDIR.${MK_LDNS_UTILS}+=      host
diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile
index dcfe2037f8ce..b97c22ffeb08 100644
--- a/usr.sbin/Makefile
+++ b/usr.sbin/Makefile
@@ -139,9 +139,7 @@ SUBDIR.${MK_FLOPPY}+=       fdformat
 SUBDIR.${MK_FLOPPY}+=  fdread
 SUBDIR.${MK_FLOPPY}+=  fdwrite
 SUBDIR.${MK_FREEBSD_UPDATE}+=  freebsd-update
-.if ${MK_KERBEROS_SUPPORT} != "no"
-SUBDIR.${MK_GSSAPI}+=  gssd
-.endif
+SUBDIR.${MK_KERBEROS_SUPPORT}+=        gssd
 SUBDIR.${MK_GPIO}+=    gpioctl
 SUBDIR.${MK_HYPERV}+=  hyperv
 SUBDIR.${MK_INET6}+=   ip6addrctl

Reply via email to