krb5: Add build plumbing

Add tne necessary Makefiles and header files to facilitate building
MIT KRB5 as part of buildworld. Nothing will build until the
WITH_MITKRB5/MK_MITKRB5 option has been plumbed in Makefile.inc1.

Before any changes to Makefile.inc1 are made to enable MIT KRB5,
additional commits to other affected software will need to be committed.

krb5/Makefile was inspired by kerberos5/Makefile. The Makefiles in
krb5/util and krb5/lib were inspired by those in lib/libc and in
lib/ncurses.

Differential revision:	https://reviews.freebsd.org/D50695
Sponsored by:		The FreeBSD Foundation
This commit is contained in:
Cy Schubert 2025-06-04 21:18:38 -07:00
parent 18117f3f12
commit ee3960cba1
120 changed files with 6717 additions and 3 deletions

7
krb5/Makefile Normal file
View file

@ -0,0 +1,7 @@
SUBDIR= util .WAIT \
include .WAIT \
lib .WAIT\
plugins libexec usr.bin usr.sbin
# SUBDIR_PARALLEL=
.include <bsd.subdir.mk>

22
krb5/Makefile.et Normal file
View file

@ -0,0 +1,22 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.et.h:
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
cp ${.ALLSRC} et-h-${.PREFIX}.et
${COMPILE_ET} et-h-${.PREFIX}.et
mv et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
.et.c:
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
cp ${.ALLSRC} et-c-${.PREFIX}.et
${COMPILE_ET} et-c-${.PREFIX}.et
mv et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c

45
krb5/Makefile.inc Normal file
View file

@ -0,0 +1,45 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.include <src.opts.mk>
# MIT KRB5 uses KRB5_DIR. Heimdal uses KRB5DIR.
KRB5_SRCTOP= ${SRCTOP}/krb5
KRB5_DIR= ${SRCTOP}/crypto/krb5/src
KRB5_ETDIR?= ${DESTDIR}/usr/share/et
KRB5_SRCLIBDIR= ${KRB5_DIR}/lib
KRB5_OBJTOP= ${OBJTOP}/krb5
KRB5_OBJHDR= ${OBJTOP}/include
COMPILE_ET= compile_et -d ${KRB5_DIR}/util/et --textdomain mit-krb5
MAKE_COMMANDS= ${KRB5_OBJTOP}/util/ss/mk_cmds
# There are no WARNS levels for this.
CFLAGS+= -Wno-deprecated-non-prototype \
-Wno-macro-redefined \
-Wno-unused-parameter
WARNS?= 1
KRB5RCTMPDIR= /var/tmp
KRB5PREFIX= /usr
KRB5_EXEC_PREFIX= /usr
KRB5_BINDIR= /usr/bin
KRB5_LIBDIR= /usr/lib
KRB5_SBINDIR= /usr/sbin
KRB5_MODULEDIR= /usr/lib/krb5/plugins
KRB5_GSSMODULEDIR= /usr/lib/gss
KRB5_LOCALEDIR= /usr/share/locale
KRB5_DOCSDIR= ${SHAREDIR}/doc/krb5
KRB5_HTMLDOCSDIR= ${KRB5_DOCSDIR}/html
KRB5_LOCALSTATEDIR= /var
KRB5_RUNSTATEDIR= /var/run
KRB5_SYSCONFDIR= /etc
KRB5_DYNOBJEXT= .so
KRB5_SYSCONFCONF= /etc/krb5.conf

13
krb5/README Normal file
View file

@ -0,0 +1,13 @@
This subtree is world-exportable, as it does not contain any
cryptographic code.
At the time of writing, it did not even contain source code, only
Makefiles and headers.
Please maintain this "exportable" status quo.
Thanks!
Cy Schubert
cy@freebsd.org
2023-08-09

73
krb5/include/Makefile Normal file
View file

@ -0,0 +1,73 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
SUBDIR= krb5_private krb5 gssrpc gssapi
SUBDIR_PARALLEL=
.include <bsd.subdir.mk>
INCSGROUPS= INCS COM_ERR VERTO GSSAPI_KRB5
INCSDIR= ${INCLUDEDIR}
.PATH: ${KRB5_DIR}/include
INCS= kdb.h \
krad.h \
krb5.h
GSSAPI_KRB5DIR= ${INCLUDEDIR}/gssapi_krb5/gssapi
GSSAPI_KRB5= gssapi.h
CLEANFILES= osconf.new
# XXX The output of this needs to be verified against the osconf.h I created
# It is only used to verify osconf.h has not changed
osconf.h:
cat ./osconf.hin | sed -e "s\"@KRB5RCTMPDIR\"${KRB5RCTMPDIR}\"" -e "s\"@PREFIX\"${KRB5PREFIX}\"" -e "s\"@EXEC_PREFIX\"${KRB5_EXEC_PREFIX}\"" -e "s\"@BINDIR\"${KRB5_BINDIR}\"" -e "s\"@LIBDIR\"${KRB5_LIBDIR}\"" -e "s\"@SBINDIR\"${KRB5_SBINDIR}\"" -e "s\"@MODULEDIR\"${KRB5_MODULEDIR}\"" -e "s\"@GSSMODULEDIR\"${KRB5_GSSMODULEDIR}\"" -e "s\"@LOCALSTATEDIR\"${KRB5_LOCALSTATEDIR}\"" -e "s\"@RUNSTATEDIR\"${KRB5_RUNSTATEDIR}\"" -e "s\"@SYSCONFDIR\"${KRB5_SYSCONFDIR}\"" -e "s\"@DYNOBJEXT\"${KRB5_DYNOBJEXT}\"" -e "s\"@SYSCONFCONF\":${KRB5_SYSCONFCONF}\"" > osconf.new
sh ${MOVEIFCHANGED} osconf.new osconf.h
rebuild-error-tables: ${K5_ET_HEADERS}
force:
stage_includes: copies
installincludes: copies
SDESTDIR?= ${SYSROOT:U${DESTDIR}}
.PHONY: force rebuild-error-tables osconf.h
.PATH: ${KRB5_DIR}/util/et
COM_ERRDIR= ${INCLUDEDIR}
COM_ERR= com_err.h
.PATH: ${KRB5_DIR}/util/verto
VERTODIR= ${INCLUDEDIR}
VERTO= verto-module.h \
verto.h
.PATH: ${KRB5_DIR}/include/krb5
copies:
cd ${KRB5_DIR}/include; \
${INSTALL} -C ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m444 ${INCS} ${SDESTDIR}${INCLUDEDIR}
cd ${KRB5_DIR}/util/et; \
${INSTALL} -C ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m444 ${COM_ERR} ${SDESTDIR}${INCLUDEDIR}
cd ${KRB5_DIR}/util/verto; \
${INSTALL} -C ${TAG_ARGS:D${TAG_ARGS},dev} -o ${BINOWN} -g ${BINGRP} -m444 ${VERTO} ${SDESTDIR}${INCLUDEDIR}
.include <bsd.prog.mk>

10
krb5/include/Makefile.inc Normal file
View file

@ -0,0 +1,10 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.include "../Makefile.inc"

768
krb5/include/autoconf.h Normal file
View file

@ -0,0 +1,768 @@
/* include/autoconf.h. Generated from autoconf.h.in by configure. */
/* include/autoconf.h.in. Generated from configure.ac by autoheader. */
#ifndef KRB5_AUTOCONF_H
#define KRB5_AUTOCONF_H
#include <sys/types.h>
#include <machine/param.h>
/* Define if AES-NI support is enabled */
/* #undef AESNI */
/* Define if socket can't be bound to 0.0.0.0 */
/* #undef BROKEN_STREAMS_SOCKETS */
/* Define if va_list objects can be simply copied by assignment. */
/* #undef CAN_COPY_VA_LIST */
/* Define to reduce code size even if it means more cpu usage */
/* #undef CONFIG_SMALL */
/* Define if __attribute__((constructor)) works */
#define CONSTRUCTOR_ATTR_WORKS 1
/* Define to use OpenSSL crypto library */
#define CRYPTO_OPENSSL 1
/* Define to default ccache name */
#define DEFCCNAME "FILE:/tmp/krb5cc_%{uid}"
/* Define to default client keytab name */
#define DEFCKTNAME "FILE:/var/krb5/user/%{euid}/client.keytab"
/* Define to default keytab name */
#define DEFKTNAME "FILE:/etc/krb5.keytab"
/* Define if library initialization should be delayed until first use */
#define DELAY_INITIALIZER 1
/* Define if __attribute__((destructor)) works */
#define DESTRUCTOR_ATTR_WORKS 1
/* Define to disable PKINIT plugin support */
/* #undef DISABLE_PKINIT */
/* Define if LDAP KDB support within the Kerberos library (mainly ASN.1 code)
should be enabled. */
/* #undef ENABLE_LDAP */
/* Define if translation functions should be used. */
/* #undef ENABLE_NLS */
/* Define if thread support enabled */
#define ENABLE_THREADS 1
/* Define as return type of endrpcent */
#define ENDRPCENT_TYPE void
/* Define to the type of elements in the array set by `getgroups'. Usually
this is either `int' or `gid_t'. */
#define GETGROUPS_T gid_t
/* Define if gethostbyname_r returns int rather than struct hostent * */
#define GETHOSTBYNAME_R_RETURNS_INT 1
/* Type of getpeername second argument. */
#define GETPEERNAME_ARG3_TYPE GETSOCKNAME_ARG3_TYPE
/* Define if getpwnam_r exists but takes only 4 arguments (e.g., POSIX draft 6
implementations like some Solaris releases). */
/* #undef GETPWNAM_R_4_ARGS */
/* Define if getpwnam_r returns an int */
#define GETPWNAM_R_RETURNS_INT 1
/* Define if getpwuid_r exists but takes only 4 arguments (e.g., POSIX draft 6
implementations like some Solaris releases). */
/* #undef GETPWUID_R_4_ARGS */
/* Define if getservbyname_r returns int rather than struct servent * */
#define GETSERVBYNAME_R_RETURNS_INT 1
/* Type of pointer target for argument 3 to getsockname */
#define GETSOCKNAME_ARG3_TYPE socklen_t
/* Define if gmtime_r returns int instead of struct tm pointer, as on old
HP-UX systems. */
/* #undef GMTIME_R_RETURNS_INT */
/* Define if va_copy macro or function is available. */
#define HAS_VA_COPY 1
/* Define to 1 if you have the `access' function. */
#define HAVE_ACCESS 1
/* Define to 1 if you have the <alloca.h> header file. */
/* #undef HAVE_ALLOCA_H */
/* Define to 1 if you have the <arpa/inet.h> header file. */
#define HAVE_ARPA_INET_H 1
/* Define to 1 if you have the `bswap16' function. */
/* #undef HAVE_BSWAP16 */
/* Define to 1 if you have the `bswap64' function. */
/* #undef HAVE_BSWAP64 */
/* Define to 1 if bswap_16 is available via byteswap.h */
/* #undef HAVE_BSWAP_16 */
/* Define to 1 if bswap_64 is available via byteswap.h */
/* #undef HAVE_BSWAP_64 */
/* Define if bt_rseq is available, for recursive btree traversal. */
#define HAVE_BT_RSEQ 1
/* Define to 1 if you have the <byteswap.h> header file. */
/* #undef HAVE_BYTESWAP_H */
/* Define to 1 if you have the `chmod' function. */
#define HAVE_CHMOD 1
/* Define if cmocka library is available. */
/* #undef HAVE_CMOCKA */
/* Define to 1 if you have the `compile' function. */
/* #undef HAVE_COMPILE */
/* Define if com_err has compatible gettext support */
#define HAVE_COM_ERR_INTL 1
/* Define to 1 if you have the <cpuid.h> header file. */
/* #undef HAVE_CPUID_H */
/* Define to 1 if you have the `daemon' function. */
#define HAVE_DAEMON 1
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you have the `dn_skipname' function. */
#define HAVE_DN_SKIPNAME 1
/* Define to 1 if you have the <endian.h> header file. */
#define HAVE_ENDIAN_H 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the `EVP_PKEY_get_bn_param' function. */
#define HAVE_EVP_PKEY_GET_BN_PARAM 1
/* Define to 1 if you have the `explicit_bzero' function. */
#define HAVE_EXPLICIT_BZERO 1
/* Define to 1 if you have the `explicit_memset' function. */
/* #undef HAVE_EXPLICIT_MEMSET */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `flock' function. */
#define HAVE_FLOCK 1
/* Define to 1 if you have the `fnmatch' function. */
#define HAVE_FNMATCH 1
/* Define to 1 if you have the <fnmatch.h> header file. */
#define HAVE_FNMATCH_H 1
/* Define if you have the getaddrinfo function */
#define HAVE_GETADDRINFO 1
/* Define to 1 if you have the `getcwd' function. */
#define HAVE_GETCWD 1
/* Define to 1 if you have the `getenv' function. */
#define HAVE_GETENV 1
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define if gethostbyname_r exists and its return type is known */
#define HAVE_GETHOSTBYNAME_R 1
/* Define to 1 if you have the `getnameinfo' function. */
#define HAVE_GETNAMEINFO 1
/* Define if system getopt should be used. */
#define HAVE_GETOPT 1
/* Define if system getopt_long should be used. */
#define HAVE_GETOPT_LONG 1
/* Define if getpwnam_r is available and useful. */
#define HAVE_GETPWNAM_R 1
/* Define if getpwuid_r is available and useful. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getresgid' function. */
#define HAVE_GETRESGID 1
/* Define to 1 if you have the `getresuid' function. */
#define HAVE_GETRESUID 1
/* Define if getservbyname_r exists and its return type is known */
#define HAVE_GETSERVBYNAME_R 1
/* Have the gettimeofday function */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the `getusershell' function. */
#define HAVE_GETUSERSHELL 1
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <ifaddrs.h> header file. */
#define HAVE_IFADDRS_H 1
/* Define to 1 if you have the `inet_ntop' function. */
#define HAVE_INET_NTOP 1
/* Define to 1 if you have the `inet_pton' function. */
#define HAVE_INET_PTON 1
/* Define to 1 if the system has the type `int16_t'. */
#define HAVE_INT16_T 1
/* Define to 1 if the system has the type `int32_t'. */
#define HAVE_INT32_T 1
/* Define to 1 if the system has the type `int8_t'. */
#define HAVE_INT8_T 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <keyutils.h> header file. */
/* #undef HAVE_KEYUTILS_H */
/* Define to 1 if you have the <lber.h> header file. */
/* #undef HAVE_LBER_H */
/* Define to 1 if you have the <ldap.h> header file. */
/* #undef HAVE_LDAP_H */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define if building with libedit. */
#define HAVE_LIBEDIT 1
/* Define to 1 if you have the `nsl' library (-lnsl). */
/* #undef HAVE_LIBNSL */
/* Define to 1 if you have the `resolv' library (-lresolv). */
/* #undef HAVE_LIBRESOLV */
/* Define to 1 if you have the `socket' library (-lsocket). */
/* #undef HAVE_LIBSOCKET */
/* Define if the util library is available */
#define HAVE_LIBUTIL 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if you have the <machine/byte_order.h> header file. */
/* #undef HAVE_MACHINE_BYTE_ORDER_H */
/* Define to 1 if you have the <machine/endian.h> header file. */
#define HAVE_MACHINE_ENDIAN_H 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1
/* Define if netdb.h declares h_errno */
#define HAVE_NETDB_H_H_ERRNO 1
/* Define to 1 if you have the <netinet/in.h> header file. */
#define HAVE_NETINET_IN_H 1
/* Define to 1 if you have the `ns_initparse' function. */
#define HAVE_NS_INITPARSE 1
/* Define to 1 if you have the `ns_name_uncompress' function. */
#define HAVE_NS_NAME_UNCOMPRESS 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define if persistent keyrings are supported */
/* #undef HAVE_PERSISTENT_KEYRING */
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define if #pragma weak references work */
#define HAVE_PRAGMA_WEAK_REF 1
/* Define if you have POSIX threads libraries and header files. */
#define HAVE_PTHREAD 1
/* Define to 1 if you have the `pthread_once' function. */
#define HAVE_PTHREAD_ONCE 1
/* Have PTHREAD_PRIO_INHERIT. */
#define HAVE_PTHREAD_PRIO_INHERIT 1
/* Define to 1 if you have the `pthread_rwlock_init' function. */
#define HAVE_PTHREAD_RWLOCK_INIT 1
/* Define if pthread_rwlock_init is provided in the thread library. */
#define HAVE_PTHREAD_RWLOCK_INIT_IN_THREAD_LIB 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define if building with GNU Readline. */
/* #undef HAVE_READLINE */
/* Define if regcomp exists and functions */
#define HAVE_REGCOMP 1
/* Define to 1 if you have the `regexec' function. */
#define HAVE_REGEXEC 1
/* Define to 1 if you have the <regexpr.h> header file. */
/* #undef HAVE_REGEXPR_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `res_nclose' function. */
#define HAVE_RES_NCLOSE 1
/* Define to 1 if you have the `res_ndestroy' function. */
#define HAVE_RES_NDESTROY 1
/* Define to 1 if you have the `res_ninit' function. */
#define HAVE_RES_NINIT 1
/* Define to 1 if you have the `res_nsearch' function. */
#define HAVE_RES_NSEARCH 1
/* Define to 1 if you have the `res_search' function */
#define HAVE_RES_SEARCH 1
/* Define to 1 if you have the `re_comp' function. */
/* #undef HAVE_RE_COMP */
/* Define to 1 if you have the `re_exec' function. */
/* #undef HAVE_RE_EXEC */
/* Define to 1 if you have the <sasl/sasl.h> header file. */
/* #undef HAVE_SASL_SASL_H */
/* Define if struct sockaddr contains sa_len */
#define HAVE_SA_LEN 1
/* Define to 1 if you have the `secure_getenv' function. */
#define HAVE_SECURE_GETENV 1
/* Define to 1 if you have the `setegid' function. */
#define HAVE_SETEGID 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `seteuid' function. */
#define HAVE_SETEUID 1
/* Define if setluid provided in OSF/1 security library */
/* #undef HAVE_SETLUID */
/* Define to 1 if you have the `setregid' function. */
#define HAVE_SETREGID 1
/* Define to 1 if you have the `setresgid' function. */
#define HAVE_SETRESGID 1
/* Define to 1 if you have the `setresuid' function. */
#define HAVE_SETRESUID 1
/* Define to 1 if you have the `setreuid' function. */
#define HAVE_SETREUID 1
/* Define to 1 if you have the `setsid' function. */
#define HAVE_SETSID 1
/* Define to 1 if you have the `setvbuf' function. */
#define HAVE_SETVBUF 1
/* Define if there is a socklen_t type. If not, probably use size_t */
#define HAVE_SOCKLEN_T 1
/* Define to 1 if you have the `srand' function. */
#define HAVE_SRAND 1
/* Define to 1 if you have the `srand48' function. */
#define HAVE_SRAND48 1
/* Define to 1 if you have the `srandom' function. */
#define HAVE_SRANDOM 1
/* Define to 1 if the system has the type `ssize_t'. */
#define HAVE_SSIZE_T 1
/* Define to 1 if you have the `stat' function. */
#define HAVE_STAT 1
/* Define to 1 if you have the <stddef.h> header file. */
#define HAVE_STDDEF_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `step' function. */
/* #undef HAVE_STEP */
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strlcpy' function. */
#define HAVE_STRLCPY 1
/* Define to 1 if you have the `strptime' function. */
#define HAVE_STRPTIME 1
/* Define to 1 if the system has the type `struct cmsghdr'. */
#define HAVE_STRUCT_CMSGHDR 1
/* Define if there is a struct if_laddrconf. */
/* #undef HAVE_STRUCT_IF_LADDRCONF */
/* Define to 1 if the system has the type `struct in6_pktinfo'. */
#define HAVE_STRUCT_IN6_PKTINFO 1
/* Define to 1 if the system has the type `struct in_pktinfo'. */
/* #undef HAVE_STRUCT_IN_PKTINFO */
/* Define if there is a struct lifconf. */
/* #undef HAVE_STRUCT_LIFCONF */
/* Define to 1 if the system has the type `struct rt_msghdr'. */
#define HAVE_STRUCT_RT_MSGHDR 1
/* Define to 1 if the system has the type `struct sockaddr_storage'. */
#define HAVE_STRUCT_SOCKADDR_STORAGE 1
/* Define to 1 if `st_mtimensec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIMENSEC 1
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC 1
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if you have the <sys/bswap.h> header file. */
/* #undef HAVE_SYS_BSWAP_H */
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define if sys_errlist in libc */
#define HAVE_SYS_ERRLIST 1
/* Define to 1 if you have the <sys/file.h> header file. */
#define HAVE_SYS_FILE_H 1
/* Define to 1 if you have the <sys/filio.h> header file. */
#define HAVE_SYS_FILIO_H 1
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/sockio.h> header file. */
#define HAVE_SYS_SOCKIO_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/uio.h> header file. */
#define HAVE_SYS_UIO_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `u_char'. */
#define HAVE_U_CHAR 1
/* Define to 1 if the system has the type `u_int'. */
#define HAVE_U_INT 1
/* Define to 1 if the system has the type `u_int16_t'. */
#define HAVE_U_INT16_T 1
/* Define to 1 if the system has the type `u_int32_t'. */
#define HAVE_U_INT32_T 1
/* Define to 1 if the system has the type `u_int8_t'. */
#define HAVE_U_INT8_T 1
/* Define to 1 if the system has the type `u_long'. */
#define HAVE_U_LONG 1
/* Define to 1 if you have the `vasprintf' function. */
#define HAVE_VASPRINTF 1
/* Define to 1 if you have the `vsnprintf' function. */
#define HAVE_VSNPRINTF 1
/* Define to 1 if you have the `vsprintf' function. */
#define HAVE_VSPRINTF 1
/* Define to 1 if the system has the type `__int128_t'. */
#define HAVE___INT128_T 1
/* Define to 1 if the system has the type `__uint128_t'. */
#define HAVE___UINT128_T 1
/* Define if errno.h declares perror */
/* #undef HDR_HAS_PERROR */
/* May need to be defined to enable IPv6 support, for example on IRIX */
/* #undef INET6 */
/* Define if MIT Project Athena default configuration should be used */
/* #undef KRB5_ATHENA_COMPAT */
/* Define for DNS support of locating realms and KDCs */
#define KRB5_DNS_LOOKUP 1
/* Define to enable DNS lookups of Kerberos realm names */
/* #undef KRB5_DNS_LOOKUP_REALM */
/* Define if the KDC should return only vague error codes to clients */
/* #undef KRBCONF_VAGUE_ERRORS */
/* define if the system header files are missing prototype for daemon() */
#define NEED_DAEMON_PROTO 1
/* Define if in6addr_any is not defined in libc */
/* #undef NEED_INSIXADDR_ANY */
/* define if the system header files are missing prototype for
ss_execute_command() */
/* #undef NEED_SS_EXECUTE_COMMAND_PROTO */
/* define if the system header files are missing prototype for strptime() */
/* #undef NEED_STRPTIME_PROTO */
/* define if the system header files are missing prototype for swab() */
/* #undef NEED_SWAB_PROTO */
/* Define if need to declare sys_errlist */
/* #undef NEED_SYS_ERRLIST */
/* define if the system header files are missing prototype for vasprintf() */
/* #undef NEED_VASPRINTF_PROTO */
/* Define if the KDC should use no lookaside cache */
/* #undef NOCACHE */
/* Define if references to pthread routines should be non-weak. */
/* #undef NO_WEAK_PTHREADS */
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "krb5-bugs@mit.edu"
/* Define to the full name of this package. */
#define PACKAGE_NAME "Kerberos 5"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "Kerberos 5 1.21.1"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "krb5"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.21.1"
/* Default PKCS11 module name */
#define PKCS11_MODNAME "opensc-pkcs11.so"
/* Define if setjmp indicates POSIX interface */
#define POSIX_SETJMP 1
/* Define if POSIX signal handling is used */
#define POSIX_SIGNALS 1
/* Define if termios.h exists and tcsetattr exists */
#define POSIX_TERMIOS 1
/* Define to necessary symbol if this constant uses a non-standard name on
your system. */
/* #undef PTHREAD_CREATE_JOINABLE */
/* Define as return type of setrpcent */
#define SETRPCENT_TYPE void
/* The size of `size_t', as computed by sizeof. */
#define SIZEOF_SIZE_T __SIZEOF_SIZE_T__
/* The size of `time_t', as computed by sizeof. */
#ifdef __i386__
#define SIZEOF_TIME_T 4
#else
#define SIZEOF_TIME_T 8
#endif
/* Define to use OpenSSL for SPAKE preauth */
#define SPAKE_OPENSSL 1
/* Define for static plugin linkage */
/* #undef STATIC_PLUGINS */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define if sys_errlist is defined in errno.h */
#define SYS_ERRLIST_DECLARED 1
/* Define if no TLS implementation is selected */
/* #undef TLS_IMPL_NONE */
/* Define if TLS implementation is OpenSSL */
#define TLS_IMPL_OPENSSL 1
/* Define to build macOS CCAPI client */
/* #undef USE_CCAPI_MACOS */
/* Define if you have dirent.h functionality */
#define USE_DIRENT_H 1
/* Define if dlopen should be used */
#define USE_DLOPEN 1
/* Define if the keyring ccache should be enabled */
/* #undef USE_KEYRING_CCACHE */
/* Define if link-time options for library finalization will be used */
/* #undef USE_LINKER_FINI_OPTION */
/* Define if link-time options for library initialization will be used */
/* #undef USE_LINKER_INIT_OPTION */
/* Define if sigprocmask should be used */
#define USE_SIGPROCMASK 1
/* Define if wait takes int as a argument */
#define WAIT_USES_INT 1
/* Define to enable extensions in glibc */
#define _GNU_SOURCE 1
/* Define to enable C11 extensions */
#define __STDC_WANT_LIB_EXT1__ 1
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long int' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `long' if <sys/types.h> does not define. */
/* #undef time_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#if defined(__GNUC__) && !defined(inline)
/* Silence gcc pedantic warnings about ANSI C. */
# define inline __inline__
#endif
#endif /* KRB5_AUTOCONF_H */

View file

@ -0,0 +1,30 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.include "../Makefile.inc"
.PATH: ${KRB5_DIR}/lib/gssapi/krb5 \
${KRB5_DIR}/lib/gssapi/generic \
${KRB5_DIR}/include
INCSGROUPS= INCS GSSAPI_KRB5
INCSDIR= ${INCLUDEDIR}/gssapi
GSSAPI_KRB5DIR= ${INCLUDEDIR}/gssapi_krb5
INCS= gssapi_alloc.h \
gssapi_ext.h \
gssapi_generic.h \
gssapi_krb5.h
# This gssapi header file is only needed should an app need
# to build using the MIT KRB5 GSSAPI library.
GSSAPI_KRB5= gssapi.h
.include <bsd.prog.mk>

View file

@ -0,0 +1,33 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
INCSGROUPS= INCS
.include "../Makefile.inc"
.PATH: ${KRB5_DIR}/include/gssrpc
INCSDIR= ${INCLUDEDIR}/gssrpc
INCS= \
auth.h \
auth_gss.h \
auth_gssapi.h \
auth_unix.h \
clnt.h \
netdb.h \
pmap_clnt.h \
pmap_prot.h \
pmap_rmt.h \
rpc_msg.h \
rpc.h \
svc_auth.h \
svc.h \
types.h \
xdr.h
.include <bsd.prog.mk>

130
krb5/include/gssrpc/types.h Normal file
View file

@ -0,0 +1,130 @@
/* @(#)types.h 2.3 88/08/15 4.0 RPCSRC */
/*
* Copyright (c) 2010, Oracle America, Inc.
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* * Neither the name of the Oracle America, Inc. nor the names of
* its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* @(#)types.h 1.18 87/07/24 SMI */
/*
* Rpc additions to <sys/types.h>
*/
#ifndef GSSRPC_TYPES_H
#define GSSRPC_TYPES_H
#include <sys/types.h>
#include <sys/select.h>
#include <sys/time.h>
#include <unistd.h>
/*
* Try to get MAXHOSTNAMELEN from somewhere.
*/
#include <sys/param.h>
/* #include <netdb.h> */
/* Get htonl(), ntohl(), etc. */
#include <netinet/in.h>
#include <stdlib.h>
#include <stdint.h>
#include <limits.h>
#ifndef GSSRPC__BEGIN_DECLS
#ifdef __cplusplus
#define GSSRPC__BEGIN_DECLS extern "C" {
#define GSSRPC__END_DECLS }
#else
#define GSSRPC__BEGIN_DECLS
#define GSSRPC__END_DECLS
#endif
#endif
GSSRPC__BEGIN_DECLS
#if defined(CHAR_BIT) && CHAR_BIT != 8
#error "Bytes must be exactly 8 bits."
#endif
/* Define if we need to fake up some BSD type aliases. */
#ifndef GSSRPC__BSD_TYPEALIASES /* Allow application to override. */
/* #undef GSSRPC__BSD_TYPEALIASES */
#endif
#if GSSRPC__BSD_TYPEALIASES
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
#endif
typedef uint32_t rpcprog_t;
typedef uint32_t rpcvers_t;
typedef uint32_t rpcprot_t;
typedef uint32_t rpcproc_t;
typedef uint32_t rpcport_t;
typedef int32_t rpc_inline_t;
/* This is for rpc/netdb.h */
#define STRUCT_RPCENT_IN_RPC_NETDB_H
typedef int bool_t;
typedef int enum_t;
#ifndef FALSE
# define FALSE (0)
#endif
#ifndef TRUE
# define TRUE (1)
#endif
/* XXX namespace */
#define __dontcare__ -1
#ifndef NULL
# define NULL 0
#endif
/*
* The below should probably be internal-only, but seem to be
* traditionally exported in RPC implementations.
*/
#define mem_alloc(bsize) malloc(bsize)
#define mem_free(ptr, bsize) free(ptr)
#ifndef INADDR_LOOPBACK
#define INADDR_LOOPBACK (uint32_t)0x7F000001
#endif
#ifndef MAXHOSTNAMELEN
#define MAXHOSTNAMELEN 64
#endif
GSSRPC__END_DECLS
#include <gssrpc/rename.h>
#endif /* !defined(GSSRPC_TYPES_H) */

View file

@ -0,0 +1,29 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.include "../Makefile.inc"
.PATH: ${KRB5_DIR}/include/krb5
INCSDIR= ${INCLUDEDIR}/krb5
INCS= ccselect_plugin.h \
certauth_plugin.h \
clpreauth_plugin.h \
hostrealm_plugin.h \
kadm5_auth_plugin.h \
kadm5_hook_plugin.h \
kdcpolicy_plugin.h \
kdcpreauth_plugin.h \
localauth_plugin.h \
locate_plugin.h \
plugin.h \
preauth_plugin.h \
pwqual_plugin.h
.include <bsd.prog.mk>

View file

@ -0,0 +1,43 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.include "../Makefile.inc"
# This is a bit of a hack but the reason we have to do this is
# ${KRB5_DIR}/include/krb5/krb5.h is installed in /usr/include
# while ${KRB5_DIR}/include/krb5/krb5.hin (generates to krb5.h)
# installs to /usr/include/krb5/krb5.h. The conflicting files
# makes it impossible to generate krb5.h when it already exists.
# The MIT Makefile creates a krb5.h.new file, comparing it and
# replacing it if different. Then regenerating the original source
# to install it. Look at the MIT Makefile yourself to fully understand.
.PATH: ${KRB5_DIR}/include/krb5 \
${KRB5_DIR}/lib/gssapi/krb5 \
${KRB5_DIR}/lib/gssapi/generic \
${KRB5_DIR}/include
INCSDIR= ${INCLUDEDIR}/krb5
INCS= krb5.h ${GGENI} ${K5GENI}
.include "${KRB5_SRCTOP}/lib/krb5/error_tables/Makefile.inc"
PFX= include
.include "${KRB5_SRCTOP}/lib/gssapi/krb5/Makefile.et"
.include "${KRB5_SRCTOP}/lib/gssapi/generic/Makefile.et"
CLEANFILES+= krb5.h
krb5.h: krb5.hin ${GENI_ET}
@echo "/* This file is generated, please don't edit it directly. */" > ${.TARGET}
@echo "#ifndef KRB5_KRB5_H_INCLUDED" >> ${.TARGET}
@echo "#define KRB5_KRB5_H_INCLUDED" >> ${.TARGET}
@cat ${.ALLSRC} >> ${.TARGET}
@echo "#endif /* KRB5_KRB5_H_INCLUDED */" >> ${.TARGET}
.include <bsd.prog.mk>

141
krb5/include/osconf.h Normal file
View file

@ -0,0 +1,141 @@
/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
/*
* Copyright 1990,1991,2008 by the Massachusetts Institute of Technology.
* All Rights Reserved.
*
* Export of this software from the United States of America may
* require a specific license from the United States Government.
* It is the responsibility of any person or organization contemplating
* export to obtain such a license before exporting.
*
* WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
* distribute this software and its documentation for any purpose and
* without fee is hereby granted, provided that the above copyright
* notice appear in all copies and that both that copyright notice and
* this permission notice appear in supporting documentation, and that
* the name of M.I.T. not be used in advertising or publicity pertaining
* to distribution of the software without specific, written prior
* permission. Furthermore if you modify this software you must label
* your software as modified software and not distribute it in such a
* fashion that it might be confused with the original M.I.T. software.
* M.I.T. makes no representations about the suitability of
* this software for any purpose. It is provided "as is" without express
* or implied warranty.
*/
/* Site- and OS- dependent configuration */
#ifndef KRB5_OSCONF__
#define KRB5_OSCONF__
#if !defined(_WIN32)
/* Don't try to pull in autoconf.h for Windows, since it's not used */
#ifndef KRB5_AUTOCONF__
#define KRB5_AUTOCONF__
#include "autoconf.h"
#endif
#endif
#if defined(__MACH__) && defined(__APPLE__)
# include <TargetConditionals.h>
#endif
#if defined(_WIN32)
#define DEFAULT_PROFILE_FILENAME "krb5.ini"
#else /* !_WINDOWS */
#if TARGET_OS_MAC
#define DEFAULT_SECURE_PROFILE_PATH "/Library/Preferences/edu.mit.Kerberos:/etc/krb5.conf:/usr/local/etc/krb5.conf"
#define DEFAULT_PROFILE_PATH ("~/Library/Preferences/edu.mit.Kerberos" ":" DEFAULT_SECURE_PROFILE_PATH)
#define KRB5_PLUGIN_BUNDLE_DIR "/System/Library/KerberosPlugins/KerberosFrameworkPlugins"
#define KDB5_PLUGIN_BUNDLE_DIR "/System/Library/KerberosPlugins/KerberosDatabasePlugins"
#define KRB5_AUTHDATA_PLUGIN_BUNDLE_DIR "/System/Library/KerberosPlugins/KerberosAuthDataPlugins"
#else
#define DEFAULT_SECURE_PROFILE_PATH "/etc/krb5.conf"
#define DEFAULT_PROFILE_PATH DEFAULT_SECURE_PROFILE_PATH
#endif
#endif /* _WINDOWS */
#ifdef _WIN32
#define DEFAULT_PLUGIN_BASE_DIR "%{LIBDIR}\\plugins"
#else
#define DEFAULT_PLUGIN_BASE_DIR "/usr/local/lib/krb5/plugins"
#endif
#if defined(_WIN64)
#define PLUGIN_EXT "64.dll"
#elif defined(_WIN32)
#define PLUGIN_EXT "32.dll"
#else
#define PLUGIN_EXT ".so"
#endif
#define KDC_DIR "/var/db/krb5kdc"
#define KDC_RUN_DIR "/var/run/krb5kdc"
#define DEFAULT_KDB_FILE KDC_DIR "/principal"
#define DEFAULT_KEYFILE_STUB KDC_DIR "/.k5."
#define KRB5_DEFAULT_ADMIN_ACL KDC_DIR "/krb5_adm.acl"
/* Used by old admin server */
#define DEFAULT_ADMIN_ACL KDC_DIR "/kadm_old.acl"
/* Location of KDC profile */
#define DEFAULT_KDC_PROFILE KDC_DIR "/kdc.conf"
#define KDC_PROFILE_ENV "KRB5_KDC_PROFILE"
#if TARGET_OS_MAC
#define DEFAULT_KDB_LIB_PATH { KDB5_PLUGIN_BUNDLE_DIR, "/usr/lib/krb5/plugins/kdb", NULL }
#else
#define DEFAULT_KDB_LIB_PATH { "/usr/lib/krb5/plugins/kdb", NULL }
#endif
#define DEFAULT_KDC_ENCTYPE ENCTYPE_AES256_CTS_HMAC_SHA1_96
#define KDCRCACHE "dfl:krb5kdc_rcache"
#define KDC_PORTNAME "kerberos" /* for /etc/services or equiv. */
#define KRB5_DEFAULT_PORT 88
#define DEFAULT_KPASSWD_PORT 464
#define DEFAULT_KDC_UDP_PORTLIST "88"
#define DEFAULT_KDC_TCP_PORTLIST "88"
#define DEFAULT_TCP_LISTEN_BACKLOG 5
/*
* Defaults for the KADM5 admin system.
*/
#define DEFAULT_KADM5_KEYTAB KDC_DIR "/kadm5.keytab"
#define DEFAULT_KADM5_ACL_FILE KDC_DIR "/kadm5.acl"
#define DEFAULT_KADM5_PORT 749 /* assigned by IANA */
#define KRB5_DEFAULT_SUPPORTED_ENCTYPES \
"aes256-cts-hmac-sha1-96:normal " \
"aes128-cts-hmac-sha1-96:normal"
#define MAX_DGRAM_SIZE 65536
#define RCTMPDIR "/var/tmp" /* directory to store replay caches */
#define KRB5_PATH_TTY "/dev/tty"
#define KRB5_PATH_LOGIN "/usr/sbin/login.krb5"
#define KRB5_PATH_RLOGIN "/usr/bin/rlogin"
#define KRB5_ENV_CCNAME "KRB5CCNAME"
/*
* krb5 replica support follows
*/
#define KPROP_DEFAULT_FILE KDC_DIR "/replica_datatrans"
#define KPROPD_DEFAULT_FILE KDC_DIR "/from_master"
#define KPROPD_DEFAULT_KDB5_UTIL "/usr/sbin/kdb5_util"
#define KPROPD_DEFAULT_KPROP "/usr/sbin/kprop"
#define KPROPD_DEFAULT_KRB_DB DEFAULT_KDB_FILE
#define KPROPD_ACL_FILE KDC_DIR "/kpropd.acl"
/*
* GSS mechglue
*/
#define MECH_CONF "/usr/etc/gss/mech"
#define MECH_LIB_PREFIX "/usr/lib/gss/"
#endif /* KRB5_OSCONF__ */

14
krb5/lib/Makefile Normal file
View file

@ -0,0 +1,14 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
SUBDIR= crypto krb5 gssapi rpc kdb kadm5clnt kadm5srv apputils krad kadmin_common kprop_util
# SUBDIR_PARALLEL=
.include <bsd.subdir.mk>

16
krb5/lib/Makefile.inc Normal file
View file

@ -0,0 +1,16 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.include "../Makefile.inc"
KRB5_KRB5LIBDIR= ${KRB5_SRCLIBDIR}/krb5
KRB5_K5CRYPTODIR= ${KRB5_SRCLIBDIR}/crypto
SHLIBDIR?= /usr/lib
SHLIB_MAJOR?= 121

View file

@ -0,0 +1,31 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5-lib
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= apputils
INTERNALLIB=
LDFLAGS=-Wl,--no-undefined
SRCS= net-server.c \
udppktinfo.c \
udppktinfo.h
CFLAGS+=-I${KRB5_DIR}/lib/apputils \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include \
-I${.OBJDIR}
.include <bsd.lib.mk>
.PATH: ${KRB5_DIR}/lib/apputils

51
krb5/lib/crypto/Makefile Normal file
View file

@ -0,0 +1,51 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= k5crypto
# SHLIB_MAJOR= 3
LDFLAGS=-Wl,--no-undefined
LIBADD= com_err krb5support crypto
# XXX The following doesn't work. Even though the pathnames are the same
# XXX we need to use the alternative .include statements.
# .include "${KRB5_CRYPTOLIBDIR}/krb/Makefile.inc"
# .include "${KRB5_CRYPTOLIBDIR}/builtin/Makefile.inc"
# .include "${KRB5_CRYPTOLIBDIR}/openssl/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/krb5/error_tables/Makefile.inc"
SRCS+= ${GEN_ET}
.include "${KRB5_SRCTOP}/lib/crypto/krb/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/crypto/builtin/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/crypto/openssl/Makefile.inc"
# Not normally configured to use the openssl provider
# .include "${KRB5_SRCTOP}/lib/crypto/openssl/Makefile.inc"
CFLAGS+=-I${.CURDIR:H:H}/include \
-I${KRB5_DIR}/include \
-I${KRB5_DIR}/lib/crypto \
-I${KRB5_DIR}/lib/crypto/krb \
-I${KRB5_DIR}/lib/crypto/builtin/aes \
-I${KRB5_DIR}/lib/crypto/builtin/camellia \
-I${KRB5_DIR}/lib/crypto/builtin/des \
-I${KRB5_DIR}/lib/crypto/builtin/md4 \
-I${KRB5_DIR}/lib/crypto/builtin/md5 \
-I${KRB5_DIR}/lib/crypto/builtin/sha1 \
-I${KRB5_DIR}/lib/crypto/builtin/sha2 \
-I${SRCTOP}/crypto/openssl/include
.include <bsd.lib.mk>

View file

@ -0,0 +1,25 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
# .PATH: ${KRB5_DIR}/lib/crypto/builtin
# SRCS+=cmac.c \
# hmac.c \
# kdf.c \
# pbkdf2.c
# .include "${KRB5_SRCTOP}/lib/crypto/builtin/camellia/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/crypto/builtin/aes/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/crypto/builtin/des/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/crypto/builtin/md4/Makefile.inc"
# .include "${KRB5_SRCTOP}/lib/crypto/builtin/md5/Makefile.inc"
# .include "${KRB5_SRCTOP}/lib/crypto/builtin/sha1/Makefile.inc"
# .include "${KRB5_SRCTOP}/lib/crypto/builtin/sha2/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/crypto/builtin/enc_provider/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/crypto/builtin/hash_provider/Makefile.inc"

View file

@ -0,0 +1,14 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/crypto/builtin/aes
SRCS+= aescrypt.c \
aeskey.c \
aestab.c

View file

@ -0,0 +1,12 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/crypto/builtin/camellia
SRCS+= camellia.c

View file

@ -0,0 +1,22 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/crypto/builtin/des
SRCS+= d3_aead.c \
d3_kysched.c \
f_aead.c \
f_cksum.c \
f_parity.c \
f_sched.c \
f_tables.c \
key_sched.c \
weak_key.c
# des_keys.c

View file

@ -0,0 +1,17 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/crypto/builtin/enc_provider
SRCS+= builtin_rc4.c
CLEANFILES+= builtin_rc4.c
builtin_rc4.c: ${KRB5_DIR}/lib/crypto/builtin/enc_provider/rc4.c
@cp ${.ALLSRC} ${.TARGET}

View file

@ -0,0 +1,15 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/crypto/builtin/hash_provider
SRCS+= hash_md4.c \
hash_md5.c \
hash_sha1.c \
hash_sha2.c

View file

@ -0,0 +1,12 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/crypto/builtin/md4
SRCS+= md4.c

View file

@ -0,0 +1,12 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/crypto/builtin/md5
SRCS+= md5.c

View file

@ -0,0 +1,12 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/crypto/builtin/sha1
SRCS+= shs.c

View file

@ -0,0 +1,13 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/crypto/builtin/sha2
SRCS+= sha256.c \
sha512.c

View file

@ -0,0 +1,65 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/crypto/krb
SRCS+= aead.c \
block_size.c \
cf2.c \
checksum_dk_cmac.c \
checksum_dk_hmac.c \
checksum_etm.c \
checksum_hmac_md5.c \
checksum_length.c \
checksum_unkeyed.c \
cksumtype_to_string.c \
cksumtypes.c \
coll_proof_cksum.c \
crypto_length.c \
decrypt.c \
decrypt_iov.c \
default_state.c \
derive.c \
enc_dk_cmac.c \
enc_dk_hmac.c \
enc_etm.c \
enc_raw.c \
enc_rc4.c \
encrypt.c \
encrypt_iov.c \
encrypt_length.c \
enctype_util.c \
etypes.c \
key.c \
keyblocks.c \
keyed_checksum_types.c \
keyed_cksum.c \
keylengths.c \
make_checksum.c \
make_checksum_iov.c \
make_random_key.c \
mandatory_sumtype.c \
nfold.c \
old_api_glue.c \
prf.c \
prf_aes2.c \
prf_cmac.c \
prf_des.c \
prf_dk.c \
prf_rc4.c \
prng.c \
random_to_key.c \
s2k_pbkdf2.c \
s2k_rc4.c \
state.c \
string_to_cksumtype.c \
string_to_key.c \
valid_cksumtype.c \
verify_checksum.c \
verify_checksum_iov.c

View file

@ -0,0 +1,21 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/crypto/openssl
SRCS+= cmac.c \
hmac.c \
kdf.c \
pbkdf2.c \
sha256.c
.include "${KRB5_SRCTOP}/lib/crypto/openssl/des/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/crypto/openssl/enc_provider/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/crypto/openssl/hash_provider/Makefile.inc"

View file

@ -0,0 +1,12 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/crypto/openssl/des
SRCS+= des_keys.c

View file

@ -0,0 +1,25 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/crypto/openssl/enc_provider
SRCS+= openssl_aes.c \
openssl_camellia.c \
openssl_des3.c
CLEANFILES= openssl_aes.c openssl_camellia.c openssl_des3.c
openssl_aes.c: ${KRB5_DIR}/lib/crypto/openssl/enc_provider/aes.c
@cp ${.ALLSRC} ${.TARGET}
openssl_camellia.c: ${KRB5_DIR}/lib/crypto/openssl/enc_provider/camellia.c
@cp ${.ALLSRC} ${.TARGET}
openssl_des3.c: ${KRB5_DIR}/lib/crypto/openssl/enc_provider/des3.c
@cp ${.ALLSRC} ${.TARGET}

View file

@ -0,0 +1,12 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/crypto/openssl/hash_provider
SRCS+= hash_evp.c

48
krb5/lib/gssapi/Makefile Normal file
View file

@ -0,0 +1,48 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= gssapi_krb5
# SHLIB_MAJOR= 2
LDFLAGS=-Wl,--no-undefined
LIBADD= krb5 k5crypto com_err krb5profile krb5support
# This is a contcatonation of:
# crypto/krb5/src/lib/gssapi/libgssapi_krb5.exports
# crypto/krb5/src/lib/gssapi/spnego/mech_spnego.exports
.include "${KRB5_SRCTOP}/lib/gssapi/generic/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/gssapi/krb5/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/gssapi/spnego/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/gssapi/mechglue/Makefile.inc"
DEFINES=-D_GSS_STATIC_LINK=1
CFLAGS+=${DEFINES} \
-I${KRB5_DIR}/lib/gssapi/generic \
-I${KRB5_DIR}/lib/gssapi/krb5 \
-I${KRB5_DIR}/lib/gssapi/spnego \
-I${KRB5_DIR}/lib/gssapi/mechglue \
-I${KRB5_DIR}/lib/gssapi \
-I${KRB5_DIR}/lib \
-I${KRB5_SRCTOP}/lib \
-I${KRB5_SRCTOP}/lib/gssapi \
-I${KRB5_OBJTOP}/lib/gssapi \
-I${KRB5_OBJTOP}/lib \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
.include <bsd.lib.mk>
.SUFFIXES: .h .c .et

274
krb5/lib/gssapi/errmap.h Normal file
View file

@ -0,0 +1,274 @@
/*
* This file is generated, please don't edit it.
* script: ../../../util/gen.pl
* args: bimap errmap.h NAME=mecherrmap LEFT=OM_uint32 RIGHT=struct mecherror LEFTPRINT=print_OM_uint32 RIGHTPRINT=mecherror_print LEFTCMP=cmp_OM_uint32 RIGHTCMP=mecherror_cmp
* The rest of this file is copied from a template, with
* substitutions. See the template for copyright info.
*/
/* start of t_bimap header template */
/*
* bidirectional mapping table, add-only
*
* Parameters:
* NAME
* LEFT, RIGHT - types
* LEFTCMP, RIGHTCMP - comparison functions
*
* Methods:
* int init() - nonzero is error code, if any possible
* long size()
* void foreach(int (*)(LEFT, RIGHT, void*), void*)
* int add(LEFT, RIGHT) - 0 = success, -1 = allocation failure
* const struct mecherror *findleft(OM_uint32) - null iff not found
* const OM_uint32 *findright(struct mecherror)
* void destroy() - destroys container, doesn't delete elements
*
* initial implementation: flat array of (left,right) pairs
*/
struct mecherrmap__pair {
OM_uint32 l;
struct mecherror r;
};
/* end of t_bimap header template */
/* start of t_array template */
/*
* array type, derived from template
*
* parameters:
* NAME: mecherrmap__pairarray
* TYPE: struct mecherrmap__pair
*
* methods:
* int init() -> nonzero if fail initial allocation
* unsigned long size() -> nonnegative number of values stored
* int grow(newsize) -> negative if fail allocation, memset(,0,) new space
* struct mecherrmap__pair *getaddr(idx) -> aborts if out of range
* void set(idx, value) -> aborts if out of range
* struct mecherrmap__pair get(idx) -> value, or aborts if out of range
*/
#include <stdlib.h>
#include <errno.h>
#include <limits.h>
#include <string.h>
#include <stdint.h>
struct mecherrmap__pairarray__header {
size_t allocated;
struct mecherrmap__pair *elts;
};
typedef struct mecherrmap__pairarray__header mecherrmap__pairarray;
static inline int
mecherrmap__pairarray_init(mecherrmap__pairarray *arr)
{
arr->elts = calloc(10, sizeof(struct mecherrmap__pair));
if (arr->elts == NULL)
return ENOMEM;
arr->allocated = 10;
return 0;
}
static inline long
mecherrmap__pairarray_size(mecherrmap__pairarray *arr)
{
return arr->allocated;
}
static inline unsigned long
mecherrmap__pairarray_max_size(mecherrmap__pairarray *arr)
{
size_t upper_bound;
upper_bound = SIZE_MAX / sizeof(*arr->elts);
if (upper_bound > ULONG_MAX)
upper_bound = ULONG_MAX;
return (unsigned long) upper_bound;
}
static inline int
mecherrmap__pairarray_grow(mecherrmap__pairarray *arr, unsigned long newcount)
{
size_t oldsize = sizeof(*arr->elts) * arr->allocated;
size_t newsize;
void *ptr;
if (newcount > LONG_MAX)
return -1;
if (newcount < arr->allocated)
return 0;
if (newcount > mecherrmap__pairarray_max_size(arr))
return -1;
newsize = sizeof(*arr->elts) * newcount;
ptr = realloc(arr->elts, newsize);
if (ptr == NULL)
return -1;
memset((char *)ptr + oldsize, 0, newsize - oldsize);
arr->elts = ptr;
arr->allocated = newcount;
return 0;
}
static inline struct mecherrmap__pair *
mecherrmap__pairarray_getaddr (mecherrmap__pairarray *arr, long idx)
{
if (idx < 0 || (unsigned long) idx >= arr->allocated)
abort();
return arr->elts + idx;
}
static inline void
mecherrmap__pairarray_set (mecherrmap__pairarray *arr, long idx, struct mecherrmap__pair value)
{
struct mecherrmap__pair *newvalp;
newvalp = mecherrmap__pairarray_getaddr(arr, idx);
*newvalp = value;
}
static inline struct mecherrmap__pair
mecherrmap__pairarray_get (mecherrmap__pairarray *arr, long idx)
{
return *mecherrmap__pairarray_getaddr(arr, idx);
}
static inline void
mecherrmap__pairarray_destroy (mecherrmap__pairarray *arr)
{
free(arr->elts);
arr->elts = 0;
}
/* end of t_array template */
/* start of t_bimap body template */
/* for use in cases where text substitutions may not work, like putting
"const" before a type that turns out to be "char *" */
typedef OM_uint32 mecherrmap__left_t;
typedef struct mecherror mecherrmap__right_t;
typedef struct {
mecherrmap__pairarray a;
long nextidx;
} mecherrmap;
static inline int
mecherrmap_init (mecherrmap *m)
{
m->nextidx = 0;
return mecherrmap__pairarray_init (&m->a);
}
static inline long
mecherrmap_size (mecherrmap *m)
{
return mecherrmap__pairarray_size (&m->a);
}
static inline void
mecherrmap_foreach (mecherrmap *m, int (*fn)(OM_uint32, struct mecherror, void *), void *p)
{
long i, sz;
sz = m->nextidx;
for (i = 0; i < sz; i++) {
struct mecherrmap__pair *pair;
pair = mecherrmap__pairarray_getaddr (&m->a, i);
if ((*fn)(pair->l, pair->r, p) != 0)
break;
}
}
static inline int
mecherrmap_add (mecherrmap *m, OM_uint32 l, struct mecherror r)
{
long i, sz;
struct mecherrmap__pair newpair;
int err;
sz = m->nextidx;
/* Make sure we're not duplicating. */
for (i = 0; i < sz; i++) {
struct mecherrmap__pair *pair;
pair = mecherrmap__pairarray_getaddr (&m->a, i);
assert ((*cmp_OM_uint32)(l, pair->l) != 0);
if ((*cmp_OM_uint32)(l, pair->l) == 0)
abort();
assert ((*mecherror_cmp)(r, pair->r) != 0);
if ((*mecherror_cmp)(r, pair->r) == 0)
abort();
}
newpair.l = l;
newpair.r = r;
if (sz >= LONG_MAX - 1)
return ENOMEM;
err = mecherrmap__pairarray_grow (&m->a, sz+1);
if (err)
return err;
mecherrmap__pairarray_set (&m->a, sz, newpair);
m->nextidx++;
return 0;
}
static inline const mecherrmap__right_t *
mecherrmap_findleft (mecherrmap *m, OM_uint32 l)
{
long i, sz;
sz = mecherrmap_size (m);
for (i = 0; i < sz; i++) {
struct mecherrmap__pair *pair;
pair = mecherrmap__pairarray_getaddr (&m->a, i);
if ((*cmp_OM_uint32)(l, pair->l) == 0)
return &pair->r;
}
return 0;
}
static inline const mecherrmap__left_t *
mecherrmap_findright (mecherrmap *m, struct mecherror r)
{
long i, sz;
sz = mecherrmap_size (m);
for (i = 0; i < sz; i++) {
struct mecherrmap__pair *pair;
pair = mecherrmap__pairarray_getaddr (&m->a, i);
if ((*mecherror_cmp)(r, pair->r) == 0)
return &pair->l;
}
return 0;
}
struct mecherrmap__printstat {
FILE *f;
int comma;
};
static inline int
mecherrmap__printone (OM_uint32 l, struct mecherror r, void *p)
{
struct mecherrmap__printstat *ps = p;
fprintf(ps->f, ps->comma ? ", (" : "(");
ps->comma = 1;
(*print_OM_uint32)(l, ps->f);
fprintf(ps->f, ",");
(*mecherror_print)(r, ps->f);
fprintf(ps->f, ")");
return 0;
}
static inline void
mecherrmap_printmap (mecherrmap *m, FILE *f)
{
struct mecherrmap__printstat ps;
ps.comma = 0;
ps.f = f;
fprintf(f, "(");
mecherrmap_foreach (m, mecherrmap__printone, &ps);
fprintf(f, ")");
}
static inline void
mecherrmap_destroy (mecherrmap *m)
{
mecherrmap__pairarray_destroy (&m->a);
}
/* end of t_bimap body template */

112
krb5/lib/gssapi/error_map.h Normal file
View file

@ -0,0 +1,112 @@
/*
* This file is generated, please don't edit it.
* script: ../../../util/gen-map.pl
* args:
* -oerror_map.new
* NAME=gsserrmap
* KEY=OM_uint32
* VALUE=char *
* COMPARE=compare_OM_uint32
* FREEVALUE=free_string
* The rest of this file is copied from a template, with
* substitutions. See the template for copyright info.
*/
/*
* map, generated from template
* map name: gsserrmap
* key: OM_uint32
* value: char *
* compare: compare_OM_uint32
* copy_key: 0
* free_key: 0
* free_value: free_string
*/
struct gsserrmap__element {
OM_uint32 key;
char * value;
struct gsserrmap__element *next;
};
struct gsserrmap__head {
struct gsserrmap__element *first;
};
typedef struct gsserrmap__head gsserrmap;
static inline int gsserrmap_init (struct gsserrmap__head *head)
{
head->first = NULL;
return 0;
}
static inline void gsserrmap_destroy (struct gsserrmap__head *head)
{
struct gsserrmap__element *e, *e_next;
void (*free_key)(OM_uint32) = 0;
void (*free_value)(char *) = free_string;
for (e = head->first; e; e = e_next) {
e_next = e->next;
if (free_key)
(*free_key)(e->key);
if (free_value)
(*free_value)(e->value);
free(e);
}
head->first = NULL;
}
/* Returns pointer to linked-list entry, or null if key not found. */
static inline struct gsserrmap__element *
gsserrmap__find_node (struct gsserrmap__head *head, OM_uint32 key)
{
struct gsserrmap__element *e;
for (e = head->first; e; e = e->next)
if (compare_OM_uint32 (key, e->key) == 0)
return e;
return 0;
}
/* Returns pointer to value, or null if key not found. */
static inline char * *
gsserrmap_find (struct gsserrmap__head *head, OM_uint32 key)
{
struct gsserrmap__element *e = gsserrmap__find_node(head, key);
if (e)
return &e->value;
return 0;
}
/* Returns 0 or error code. */
static inline int
gsserrmap__copy_key (OM_uint32 *out, OM_uint32 in)
{
int (*copykey)(OM_uint32 *, OM_uint32) = 0;
if (copykey == 0) {
*out = in;
return 0;
} else
return (*copykey)(out, in);
}
/* Returns 0 or error code. */
static inline int
gsserrmap_replace_or_insert (struct gsserrmap__head *head,
OM_uint32 key, char * new_value)
{
struct gsserrmap__element *e = gsserrmap__find_node(head, key);
int ret;
if (e) {
/* replace */
void (*free_value)(char *) = free_string;
if (free_value)
(*free_value)(e->value);
e->value = new_value;
} else {
/* insert */
e = malloc(sizeof(*e));
if (e == NULL)
return ENOMEM;
ret = gsserrmap__copy_key (&e->key, key);
if (ret) {
free(e);
return ret;
}
e->value = new_value;
e->next = head->first;
head->first = e;
}
return 0;
}

View file

@ -0,0 +1,30 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
GEN_GSSAPI_ERR_GENERIC= gssapi_err_generic.et
GEN_GSSAPI_ERR_GENERIC_C= ${GEN_GSSAPI_ERR_GENERIC:S/.et$/.c/}
GEN_GSSAPI_ERR_GENERIC_H= ${GEN_GSSAPI_ERR_GENERIC:S/.et$/.h/}
CLEANFILES+= ${GEN_GSSAPI_ERR_GENERIC_C} ${GEN_GSSAPI_ERR_GENERIC_H}
GGEN+= ${GEN_GSSAPI_ERR_GENERIC_C}
GGENI+= ${GEN_GSSAPI_ERR_GENERIC_H}
${GEN_GSSAPI_ERR_GENERIC:[2..-1]}: .NOMETA
${GEN_GSSAPI_ERR_GENERIC_H}: ${GEN_GSSAPI_ERR_GENERIC}
rm -f ${PFX}-et-h-${.PREFIX}.et ${PFX}-et-h-${.PREFIX}.c ${PFX}-et-h-${.PREFIX}.h
cp ${.ALLSRC} ${PFX}-et-h-${.PREFIX}.et
${COMPILE_ET} ${PFX}-et-h-${.PREFIX}.et
mv ${PFX}-et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f ${PFX}-et-h-${.PREFIX}.et ${PFX}-et-h-${.PREFIX}.h
${GEN_GSSAPI_ERR_GENERIC_C}: ${GEN_GSSAPI_ERR_GENERIC}
rm -f ${PFX}-et-c-${.PREFIX}.et ${PFX}-et-c-${.PREFIX}.c ${PFX}-et-c-${.PREFIX}.h
cp ${.ALLSRC} ${PFX}-et-c-${.PREFIX}.et
${COMPILE_ET} ${PFX}-et-c-${.PREFIX}.et
mv ${PFX}-et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f ${PFX}-et-c-${.PREFIX}.et ${PFX}-et-c-${.PREFIX}.c

View file

@ -0,0 +1,55 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/gssapi/generic \
${KRB5_SRCTOP}/lib/gssapi/generic \
${KRB5_SRCTOP}/include
SRCS+= disp_com_err_status.c \
disp_major_status.c \
errmap.h \
gssapi.h \
gssapi_generic.c \
oid_ops.c \
rel_buffer.c \
rel_oid_set.c \
util_buffer.c \
util_buffer_set.c \
util_errmap.c \
util_seqstate.c \
util_set.c \
util_token.c \
${GGEN} \
${GGENI}
# The gssapi subdir is only needed should we want an app to be able to
# build using the MIT KRB5 GSSAPI library.
# XXX We may wish to either comment this out or use a knob to enable/disable
# XXX it.
INCSGROUPS= GSSAPI_INCS
GSSAPI_INCS= gssapi.h
INCS+= ${GENI}
GSSAPI_INCSDIR= ${INCLUDEDIR}/gssapi_krb5/gssapi
CLEANFILES+= gssapi.h ${GGEN} ${GGENI}
INCLUDE_XOM= echo "/* no xom.h */"
gssapi.h: gssapi.hin
echo "Creating gssapi.h" ; \
h=gss$$$$; rm -f $$h; \
(echo "/* This is the gssapi.h prologue. */"; \
${INCLUDE_XOM} && \
echo "/* End of gssapi.h prologue. */"&& \
cat ${KRB5_DIR}/lib/gssapi/generic/gssapi.hin )> $$h && \
(set -x; mv $$h ${.TARGET}) ; e=$$?; rm -f $$h; exit $$e
PFX= generic
.include "Makefile.et"

View file

@ -0,0 +1,30 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
GEN_GSSAPI_ERR_KRB5= gssapi_err_krb5.et
GEN_GSSAPI_ERR_KRB5_C= ${GEN_GSSAPI_ERR_KRB5:S/.et$/.c/}
GEN_GSSAPI_ERR_KRB5_H= ${GEN_GSSAPI_ERR_KRB5:S/.et$/.h/}
CLEANFILES= ${GEN_GSSAPI_ERR_KRB5_C} ${GEN_GSSAPI_ERR_KRB5_H}
K5GEN+= ${GEN_GSSAPI_ERR_KRB5_C}
K5GENI+= ${GEN_GSSAPI_ERR_KRB5_H}
${GEN_GSSAPI_ERR_KRB5:[2..-1]}: .NOMETA
${GEN_GSSAPI_ERR_KRB5_H}: ${GEN_GSSAPI_ERR_KRB5}
rm -f ${PFX}-et-h-${.PREFIX}.et ${PFX}-et-h-${.PREFIX}.c ${PFX}-et-h-${.PREFIX}.h
cp ${.ALLSRC} ${PFX}-et-h-${.PREFIX}.et
${COMPILE_ET} ${PFX}-et-h-${.PREFIX}.et
mv ${PFX}-et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f ${PFX}-et-h-${.PREFIX}.et ${PFX}-et-h-${.PREFIX}.h
${GEN_GSSAPI_ERR_KRB5_C}: ${GEN_GSSAPI_ERR_KRB5}
rm -f ${PFX}-et-c-${.PREFIX}.et ${PFX}-et-c-${.PREFIX}.c ${PFX}-et-c-${.PREFIX}.h
cp ${.ALLSRC} ${PFX}-et-c-${.PREFIX}.et
${COMPILE_ET} ${PFX}-et-c-${.PREFIX}.et
mv ${PFX}-et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f ${PFX}-et-c-${.PREFIX}.et ${PFX}-et-c-${.PREFIX}.c

View file

@ -0,0 +1,72 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/gssapi/krb5 \
${KRB5_SRCTOP}/lib/gssapi/krb5 \
SRCS+= accept_sec_context.c \
acquire_cred.c \
canon_name.c \
compare_name.c \
context_time.c \
copy_ccache.c \
cred_store.c \
delete_sec_context.c \
disp_name.c \
disp_status.c \
duplicate_name.c \
export_cred.c \
export_name.c \
export_sec_context.c \
get_tkt_flags.c \
gssapi_krb5.c \
iakerb.c \
import_cred.c \
import_name.c \
import_sec_context.c \
indicate_mechs.c \
init_sec_context.c \
inq_context.c \
inq_cred.c \
inq_names.c \
k5seal.c \
k5sealiov.c \
k5sealv3.c \
k5sealv3iov.c \
k5unseal.c \
k5unsealiov.c \
krb5_gss_glue.c \
lucid_context.c \
naming_exts.c \
prf.c \
process_context_token.c \
rel_cred.c \
rel_name.c \
rel_oid.c \
s4u_gss_glue.c \
ser_sctx.c \
set_allowable_enctypes.c \
set_ccache.c \
store_cred.c \
util_cksum.c \
util_crypt.c \
util_seed.c \
util_seqnum.c \
val_cred.c \
wrap_size_limit.c \
${K5GEN} \
${K5GENI}
CFLAGS+=-I${KRB5_DIR}/lib/krb5 \
-I${KRB5_OBJTOP}/lib/krb5 \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
PFX= krb5
.include "Makefile.et"

View file

@ -0,0 +1,74 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/gssapi/mechglue
SRCS+= g_accept_sec_context.c \
g_acquire_cred.c \
g_acquire_cred_imp_name.c \
g_acquire_cred_with_pw.c \
g_authorize_localname.c \
g_buffer_set.c \
g_canon_name.c \
g_compare_name.c \
g_complete_auth_token.c \
g_context_time.c \
g_decapsulate_token.c \
g_del_name_attr.c \
g_delete_sec_context.c \
g_dsp_name.c \
g_dsp_name_ext.c \
g_dsp_status.c \
g_dup_name.c \
g_encapsulate_token.c \
g_exp_sec_context.c \
g_export_cred.c \
g_export_name.c \
g_export_name_comp.c \
g_get_name_attr.c \
g_glue.c \
g_imp_cred.c \
g_imp_name.c \
g_imp_sec_context.c \
g_init_sec_context.c \
g_initialize.c \
g_inq_context.c \
g_inq_context_oid.c \
g_inq_cred.c \
g_inq_cred_oid.c \
g_inq_name.c \
g_inq_names.c \
g_map_name_to_any.c \
g_mech_invoke.c \
g_mechattr.c \
g_mechname.c \
g_negoex.c \
g_oid_ops.c \
g_prf.c \
g_process_context.c \
g_rel_buffer.c \
g_rel_cred.c \
g_rel_name.c \
g_rel_name_mapping.c \
g_rel_oid_set.c \
g_saslname.c \
g_seal.c \
g_set_context_option.c \
g_set_cred_option.c \
g_set_name_attr.c \
g_set_neg_mechs.c \
g_sign.c \
g_store_cred.c \
g_unseal.c \
g_unwrap_aead.c \
g_unwrap_iov.c \
g_verify.c \
g_wrap_aead.c \
g_wrap_iov.c \
gssd_pname_to_uid.c

View file

@ -0,0 +1,14 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/gssapi/spnego
SRCS+= negoex_ctx.c \
negoex_util.c \
spnego_mech.c

View file

@ -0,0 +1,97 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= kadm5clnt_mit
# SHLIB_MAJOR= 12
LDFLAGS=-Wl,--no-undefined
LIBADD= krb5profile gssrpc gssapi_krb5 krb5 k5crypto krb5support com_err
SRCS= alt_prof.c \
chpass_util.c \
logger.c \
kadm_rpc_xdr.c \
misc_free.c \
str_conv.c \
${GEN} \
${GENI}
.include "${KRB5_SRCTOP}/lib/kadm5clnt/clnt/Makefile.inc"
CFLAGS+=-I${KRB5_DIR}/lib/kadm5 \
-I${KRB5_DIR}/include \
-I${KRB5_OBJTOP}/include/krb5_private \
-I${KRB5_SRCTOP}/include \
-I${KRB5_OBJTOP}/lib
INCSDIR=${INCLUDEDIR}/kadm5
INCS= admin.h \
admin_internal.h \
admin_xdr.h \
kadm_rpc.h \
server_internal.h \
${GENI}
KADM_ERR= kadm_err.et
KADM_ERR_C= ${KADM_ERR:S/.et$/.c/}
KADM_ERR_H= ${KADM_ERR:S/.et$/.h/}
CLEANFILES+= ${KADM_ERR_C} ${KADM_ERR_H}
GEN+= ${KADM_ERR_C}
GENI+= ${KADM_ERR_H}
${KADM_ERR:[2..-1]}: .NOMETA
${KADM_ERR_H}: ${KADM_ERR}
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
cp ${.ALLSRC} et-h-${.PREFIX}.et
${COMPILE_ET} et-h-${.PREFIX}.et
mv et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
${KADM_ERR_C}: ${KADM_ERR}
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
cp ${.ALLSRC} et-c-${.PREFIX}.et
${COMPILE_ET} et-c-${.PREFIX}.et
mv et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
CHPASS_UTIL_STRINGS_ERR= chpass_util_strings.et
CHPASS_UTIL_STRINGS_ERR_C= ${CHPASS_UTIL_STRINGS_ERR:S/.et$/.c/}
CHPASS_UTIL_STRINGS_ERR_H= ${CHPASS_UTIL_STRINGS_ERR:S/.et$/.h/}
CLEANFILES+= ${CHPASS_UTIL_STRINGS_ERR_C} ${CHPASS_UTIL_STRINGS_ERR_H}
GEN+= ${CHPASS_UTIL_STRINGS_ERR_C}
GENI+= ${CHPASS_UTIL_STRINGS_ERR_H}
${CHPASS_UTIL_STRINGS_ERR:[2..-1]}: .NOMETA
${CHPASS_UTIL_STRINGS_ERR_H}: ${CHPASS_UTIL_STRINGS_ERR}
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
cp ${.ALLSRC} et-h-${.PREFIX}.et
${COMPILE_ET} et-h-${.PREFIX}.et
mv et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
${CHPASS_UTIL_STRINGS_ERR_C}: ${CHPASS_UTIL_STRINGS_ERR}
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
cp ${.ALLSRC} et-c-${.PREFIX}.et
${COMPILE_ET} et-c-${.PREFIX}.et
mv et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
afterinstall:
${INSTALL_LIBSYMLINK} ${SHLIB} ${DESTDIR}${LIBDIR}/libkadm5clnt
.include <bsd.lib.mk>
.SUFFIXES: .h .c
.PATH: ${KRB5_DIR}/lib/kadm5

View file

@ -0,0 +1,17 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/kadm5/clnt
SRCS+= client_init.c \
client_principal.c \
client_rpc.c \
clnt_chpass_util.c \
clnt_policy.c \
clnt_privs.c

107
krb5/lib/kadm5srv/Makefile Normal file
View file

@ -0,0 +1,107 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= kadm5srv_mit
# SHLIB_MAJOR= 12
LDFLAGS=-Wl,--no-undefined
LIBADD= krb5profile gssrpc gssapi_krb5 kdb5 krb5 k5crypto krb5support com_err
INCSDIR= ${INCLUDEDIR}/kadm5
SRCS= alt_prof.c \
chpass_util.c \
logger.c \
kadm_rpc_xdr.c \
misc_free.c \
str_conv.c \
${SRCS_SRV} \
${GEN}
.include "${KRB5_SRCTOP}/lib/kadm5srv/srv/Makefile.inc"
INCS= admin.h \
chpass_util_strings.h \
kadm_err.h
GEN= kadm_err.c kadm_err.h chpass_util_strings.c chpass_util_strings.h
CLEANFILES= ${GEN} ${GENI}
CFLAGS+=-I${KRB5_DIR}/lib/kadm5 \
-I${KRB5_DIR}/include \
-I${KRB5_OBJTOP}/include/krb5_private \
-I${KRB5_SRCTOP}/include \
-I${KRB5_OBJTOP}/lib \
-I${KRB5_OBJTOP}/lib/gssapi \
-I${KRB5_DIR}/lib/gssapi/krb5 \
-I${KRB5_DIR}/lib/gssapi/generic
HDRDIR= ${KRB5_OBJHDR}/kadm5
HDRS= ${HDRDIR}/admin.h \
${HDRDIR}/admin_internal.h \
${HDRDIR}/admin_xdr.h \
${HDRDIR}/kadm_rpc.h \
${HDRDIR}/server_internal.h \
${HDRDIR}/chpass_util_strings.h \
${HDRDIR}/kadm_err.h
GEN_KADM_ERR= kadm_err.et
GEN_KADM_ERR_C= ${GEN_KADM_ERR:S/.et$/.c/}
GEN_KADM_ERR_H= ${GEN_KADM_ERR:S/.et$/.h/}
CLEANFILES= ${GEN_KADM_ERR_C} ${GEN_KADM_ERR_H}
GEN_ET= ${GEN_KADM_ERR_C}
GENI_ET= ${GEN_KADM_ERR_H}
${GEN_KADM_ERR:[2..-1]}: .NOMETA
${GEN_KADM_ERR_H}: ${GEN_KADM_ERR}
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
cp ${.ALLSRC} et-h-${.PREFIX}.et
${COMPILE_ET} et-h-${.PREFIX}.et
mv et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
${GEN_KADM_ERR_C}: ${GEN_KADM_ERR}
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
cp ${.ALLSRC} et-c-${.PREFIX}.et
${COMPILE_ET} et-c-${.PREFIX}.et
mv et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
GEN_CHPASS_UTIL_STRINGS= chpass_util_strings.et
GEN_CHPASS_UTIL_STRINGS_C= ${GEN_CHPASS_UTIL_STRINGS:S/.et$/.c/}
GEN_CHPASS_UTIL_STRINGS_H= ${GEN_CHPASS_UTIL_STRINGS:S/.et$/.h/}
CLEANFILES+= ${GEN_CHPASS_UTIL_STRINGS_C} ${GEN_CHPASS_UTIL_STRINGS_H}
GEN_ET+= ${GEN_CHPASS_UTIL_STRINGS_C}
GENI_ET+= ${GEN_CHPASS_UTIL_STRINGS_H}
${GEN_CHPASS_UTIL_STRINGS:[2..-1]}: .NOMETA
${GEN_CHPASS_UTIL_STRINGS_H}: ${GEN_CHPASS_UTIL_STRINGS}
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
cp ${.ALLSRC} et-h-${.PREFIX}.et
${COMPILE_ET} et-h-${.PREFIX}.et
mv et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
${GEN_CHPASS_UTIL_STRINGS_C}: ${GEN_CHPASS_UTIL_STRINGS}
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
cp ${.ALLSRC} et-c-${.PREFIX}.et
${COMPILE_ET} et-c-${.PREFIX}.et
mv et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
.include <bsd.lib.mk>
.SUFFIXES: .h .c .et
.PATH: ${KRB5_DIR}/lib/kadm5

View file

@ -0,0 +1,25 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/kadm5/srv
SRCS+= adb_xdr.c \
kadm5_hook.c \
pwqual.c \
pwqual_dict.c \
pwqual_empty.c \
pwqual_hesiod.c \
pwqual_princ.c \
server_init.c \
server_kdb.c \
server_misc.c \
svr_chpass_util.c \
svr_iters.c \
svr_policy.c \
svr_principal.c

View file

@ -0,0 +1,47 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= kadmin_common
INTERNALLIB=
LDFLAGS=-Wl,--no-undefined
INCS=
SRCS= kadmin.c \
kadmin_ct.c \
ktutil_ct.c \
ss_wrapper.c \
getdate.y
CFLAGS+=-I${KRB5_DIR}/lib/krad \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include \
-I${KRB5_DIR}/util \
-I${KRB5_OBJTOP}/util \
-I${.OBJDIR}
CLEANFILES= kadmin_ct.c ktutil_ct.c
kadmin_ct.c: kadmin_ct.ct ss_err.h
${MAKE_COMMANDS} ${KRB5_DIR}/kadmin/cli/kadmin_ct.ct
ktutil_ct.c: ktutil_ct.ct ss_err.h
${MAKE_COMMANDS} ${KRB5_DIR}/kadmin/ktutil/ktutil_ct.ct
.include <bsd.lib.mk>
.SUFFIXES: .h .c .ct
.PATH: ${KRB5_DIR}/kadmin/cli \
${KRB5_DIR}/kadmin/ktutil \
${KRB5_DIR}/util/ss \
${KRB5_OBJTOP}/util/ss

66
krb5/lib/kdb/Makefile Normal file
View file

@ -0,0 +1,66 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= kdb5
# SHLIB_MAJOR= 10
LDFLAGS=-Wl,--no-undefined
LIBADD= krb5profile gssrpc krb5 k5crypto com_err krb5support gssapi_krb5
SRCS= decrypt_key.c \
encrypt_key.c \
iprop_xdr.c \
kdb5.c \
kdb_convert.c \
kdb_cpw.c \
kdb_default.c \
kdb_log.c \
keytab.c \
${GEN} \
${GENI}
DEFINES=-DKDB5_USE_LIB_KDB_DB2
CFLAGS+=${DEFINES} \
-I${KRB5_DIR}/lib/kdb \
-I${KRB5_OBJTOP}/lib/kdb \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
ADB_ERR= adb_err.et
ADB_ERR_C= ${ADB_ERR:S/.et$/.c/}
ADB_ERR_H= ${ADB_ERR:S/.et$/.h/}
CLEANFILES= ${ADB_ERR_C} ${ADB_ERR_H}
GEN+= ${ADB_ERR_C}
GENI+= ${ADB_ERR_H}
${ADB_ERR_H}: ${ADB_ERR}
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
cp ${.ALLSRC} et-h-${.PREFIX}.et
${COMPILE_ET} et-h-${.PREFIX}.et
mv et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
${ADB_ERR_C}: ${ADB_ERR}
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
cp ${.ALLSRC} et-c-${.PREFIX}.et
${COMPILE_ET} et-c-${.PREFIX}.et
mv et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
.include <bsd.lib.mk>
.SUFFIXES: .h .c
.PATH: ${KRB5_DIR}/lib/kdb

View file

@ -0,0 +1,28 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= kprop_util
INTERNALLIB=
LDFLAGS=-Wl,--no-undefined
INCS=
SRCS= kprop_util.c
CFLAGS+=-I${KRB5_DIR}/lib/krad \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include \
-I${.OBJDIR}
.include <bsd.lib.mk>
.PATH: ${KRB5_DIR}/kprop

39
krb5/lib/krad/Makefile Normal file
View file

@ -0,0 +1,39 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5-lib
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= krad
# SHLIB_MAJOR= 0
LDFLAGS=-Wl,--no-undefined
LIBADD= krb5 k5crypto com_err krb5profile krb5support verto
SRCS= attr.c \
attrset.c \
client.c \
code.c \
packet.c \
remote.c
INCS= internal.h \
t_daemon.h \
t_test.h
CFLAGS+=-I${KRB5_DIR}/lib/krad \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include \
-I${.OBJDIR}
.include <bsd.lib.mk>
.PATH: ${KRB5_DIR}/lib/krad

75
krb5/lib/krb5/Makefile Normal file
View file

@ -0,0 +1,75 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= krb5
LDFLAGS=-Wl,--no-undefined
LIBADD= krb5profile k5crypto com_err krb5support
# SHLIB_MAJOR= 3
SRCS= krb5_libinit.c
.include "${KRB5_SRCTOP}/lib/krb5/error_tables/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/krb5/asn.1/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/krb5/ccache/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/krb5/keytab/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/krb5/krb/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/krb5/os/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/krb5/rcache/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/krb5/unicode/Makefile.inc"
.include "${KRB5_SRCTOP}/lib/krb5/docs/Makefile.inc"
DEFINES=-DHAS_STDARG \
-DLIBDIR=\"${KRB5_LIBDIR}\" \
-DBINDIR=\"${KRB5_BINDIR}\" \
-DSBINDIR=\"${KRB5_SBINDIR}\" \
-DLOCALEDIR=\"${KRB5_LOCALEDIR}\"
CFLAGS+=${DEFINES} \
-I${KRB5_DIR}/lib/krb5/error_tables \
-I${KRB5_DIR}/lib/krb5/ccache \
-I${KRB5_DIR}/lib/krb5/keytab \
-I${KRB5_DIR}/lib/krb5/krb \
-I${KRB5_DIR}/lib/krb5/os \
-I${KRB5_DIR}/lib/krb5/rcache \
-I${KRB5_DIR}/lib/krb5/unicode \
-I${KRB5_DIR}/lib/krb5/unicode/ucdata \
-I${KRB5_DIR}/lib/krb5 \
-I${KRB5_DIR}/util/profile \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include \
-I${KRB5_DIR}
MAN= k5identity.5 \
k5login.5 \
kadm5.acl.5 \
kdc.conf.5 \
krb5.conf.5 \
kerberos.7
MLINKS= k5identity.5 .k5identity.5
MLINKS+=k5login.5 .k5login.5
.include <bsd.lib.mk>
.SUFFIXES: .h .c .et .man .5 .7
.man.5:
@cp ${.ALLSRC} ${.TARGET}
.man.7:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/lib/krb5 \
${KRB5_DIR}/man

View file

@ -0,0 +1,14 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/krb5/asn.1
SRCS+= asn1_encode.c \
asn1_k_encode.c \
ldap_key_seq.c

View file

@ -0,0 +1,30 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/krb5/ccache
SRCS+= cc_api_macos.c \
cc_dir.c \
cc_file.c \
cc_kcm.c \
cc_keyring.c \
cc_memory.c \
cc_retr.c \
ccapi_util.c \
ccbase.c \
cccopy.c \
cccursor.c \
ccdefault.c \
ccdefops.c \
ccfns.c \
ccmarshal.c \
ccselect.c \
ccselect_hostname.c \
ccselect_k5identity.c \
ccselect_realm.c

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,146 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/krb5/error_tables
# CLEANFILES+= ${GEN_ET} ${GENI_ET}
# The order of these matters. See upstream src/include/Makefile.in
GEN_KRB5_ERR= krb5_err.et
GEN_KRB5_ERR_C= ${GEN_KRB5_ERR:S/.et$/.c/}
GEN_KRB5_ERR_H= ${GEN_KRB5_ERR:S/.et$/.h/}
CLEANFILES+= ${GEN_KRB5_ERR_C} ${GEN_KRB5_ERR_H}
GEN_ET= ${GEN_KRB5_ERR_C}
GENI_ET= ${GEN_KRB5_ERR_H}
${GEN_KRB5_ERR:[2..-1]}: .NOMETA
${GEN_KRB5_ERR_H}: ${GEN_KRB5_ERR}
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
cp ${.ALLSRC} et-h-${.PREFIX}.et
${COMPILE_ET} et-h-${.PREFIX}.et
mv et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
${GEN_KRB5_ERR_C}: ${GEN_KRB5_ERR}
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
cp ${.ALLSRC} et-c-${.PREFIX}.et
${COMPILE_ET} et-c-${.PREFIX}.et
mv et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
GEN_K5E1_ERR= k5e1_err.et
GEN_K5E1_ERR_C= ${GEN_K5E1_ERR:S/.et$/.c/}
GEN_K5E1_ERR_H= ${GEN_K5E1_ERR:S/.et$/.h/}
CLEANFILES+= ${GEN_K5E1_ERR_C} ${GEN_K5E1_ERR_H}
GEN_ET+= ${GEN_K5E1_ERR_C}
GENI_ET+= ${GEN_K5E1_ERR_H}
${GEN_K5E1_ERR:[2..-1]}: .NOMETA
${GEN_K5E1_ERR_H}: ${GEN_K5E1_ERR}
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
cp ${.ALLSRC} et-h-${.PREFIX}.et
${COMPILE_ET} et-h-${.PREFIX}.et
mv et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
${GEN_K5E1_ERR_C}: ${GEN_K5E1_ERR}
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
cp ${.ALLSRC} et-c-${.PREFIX}.et
${COMPILE_ET} et-c-${.PREFIX}.et
mv et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
GEN_KDB5_ERR= kdb5_err.et
GEN_KDB5_ERR_C= ${GEN_KDB5_ERR:S/.et$/.c/}
GEN_KDB5_ERR_H= ${GEN_KDB5_ERR:S/.et$/.h/}
CLEANFILES+= ${GEN_KDB5_ERR_C} ${GEN_KDB5_ERR_H}
GEN_ET+= ${GEN_KDB5_ERR_C}
GENI_ET+= ${GEN_KDB5_ERR_H}
${GEN_KDB5_ERR:[2..-1]}: .NOMETA
${GEN_KDB5_ERR_H}: ${GEN_KDB5_ERR}
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
cp ${.ALLSRC} et-h-${.PREFIX}.et
${COMPILE_ET} et-h-${.PREFIX}.et
mv et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
${GEN_KDB5_ERR_C}: ${GEN_KDB5_ERR}
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
cp ${.ALLSRC} et-c-${.PREFIX}.et
${COMPILE_ET} et-c-${.PREFIX}.et
mv et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
GEN_KRB5M_ERR= kv5m_err.et
GEN_KRB5M_ERR_C= ${GEN_KRB5M_ERR:S/.et$/.c/}
GEN_KRB5M_ERR_H= ${GEN_KRB5M_ERR:S/.et$/.h/}
CLEANFILES+= ${GEN_KRB5M_ERR_C} ${GEN_KRB5M_ERR_H}
GEN_ET+= ${GEN_KRB5M_ERR_C}
GENI_ET+= ${GEN_KRB5M_ERR_H}
${GEN_KRB5M_ERR:[2..-1]}: .NOMETA
${GEN_KRB5M_ERR_H}: ${GEN_KRB5M_ERR}
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
cp ${.ALLSRC} et-h-${.PREFIX}.et
${COMPILE_ET} et-h-${.PREFIX}.et
mv et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
${GEN_KRB5M_ERR_C}: ${GEN_KRB5M_ERR}
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
cp ${.ALLSRC} et-c-${.PREFIX}.et
${COMPILE_ET} et-c-${.PREFIX}.et
mv et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
GEN_KRB524_ERR= krb524_err.et
GEN_KRB524_ERR_C= ${GEN_KRB524_ERR:S/.et$/.c/}
GEN_KRB524_ERR_H= ${GEN_KRB524_ERR:S/.et$/.h/}
CLEANFILES+= ${GEN_KRB524_ERR_C} ${GEN_KRB524_ERR_H}
GEN_ET+= ${GEN_KRB524_ERR_C}
GENI_ET+= ${GEN_KRB524_ERR_H}
${GEN_KRB524_ERR:[2..-1]}: .NOMETA
${GEN_KRB524_ERR_H}: ${GEN_KRB524_ERR}
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
cp ${.ALLSRC} et-h-${.PREFIX}.et
${COMPILE_ET} et-h-${.PREFIX}.et
mv et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
${GEN_KRB524_ERR_C}: ${GEN_KRB524_ERR}
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
cp ${.ALLSRC} et-c-${.PREFIX}.et
${COMPILE_ET} et-c-${.PREFIX}.et
mv et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
GEN_ASN1_ERR= asn1_err.et
GEN_ASN1_ERR_C= ${GEN_ASN1_ERR:S/.et$/.c/}
GEN_ASN1_ERR_H= ${GEN_ASN1_ERR:S/.et$/.h/}
CLEANFILES+= ${GEN_ASN1_ERR_C} ${GEN_ASN1_ERR_H}
GEN_ET+= ${GEN_ASN1_ERR_C}
GENI_ET+= ${GEN_ASN1_ERR_H}
${GEN_ASN1_ERR:[2..-1]}: .NOMETA
${GEN_ASN1_ERR_H}: ${GEN_ASN1_ERR}
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
cp ${.ALLSRC} et-h-${.PREFIX}.et
${COMPILE_ET} et-h-${.PREFIX}.et
mv et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
${GEN_ASN1_ERR_C}: ${GEN_ASN1_ERR}
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
cp ${.ALLSRC} et-c-${.PREFIX}.et
${COMPILE_ET} et-c-${.PREFIX}.et
mv et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c

View file

@ -0,0 +1,20 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/krb5/keytab
SRCS+= kt_file.c \
kt_memory.c \
ktadd.c \
ktbase.c \
ktdefault.c \
ktfns.c \
ktfr_entry.c \
ktremove.c \
read_servi.c

View file

@ -0,0 +1,123 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/krb5/krb
SRCS+= addr_comp.c \
addr_order.c \
addr_srch.c \
ai_authdata.c \
allow_weak.c \
appdefault.c \
auth_con.c \
authdata.c \
authdata_dec.c \
authdata_enc.c \
authdata_exp.c \
bld_pr_ext.c \
bld_princ.c \
cammac_util.c \
chk_trans.c \
chpw.c \
conv_creds.c \
conv_princ.c \
copy_addrs.c \
copy_athctr.c \
copy_auth.c \
copy_cksum.c \
copy_creds.c \
copy_ctx.c \
copy_data.c \
copy_key.c \
copy_princ.c \
copy_tick.c \
cp_key_cnt.c \
decode_kdc.c \
decrypt_tk.c \
deltat.c \
enc_helper.c \
enc_keyhelper.c \
encode_kdc.c \
encrypt_tk.c \
etype_list.c \
fast.c \
fwd_tgt.c \
gc_via_tkt.c \
gen_save_subkey.c \
gen_seqnum.c \
gen_subkey.c \
get_creds.c \
get_etype_info.c \
get_in_tkt.c \
gic_keytab.c \
gic_opt.c \
gic_pwd.c \
in_tkt_sky.c \
init_ctx.c \
init_keyblock.c \
kdc_rep_dc.c \
kerrs.c \
kfree.c \
libdef_parse.c \
mk_cred.c \
mk_error.c \
mk_priv.c \
mk_rep.c \
mk_req.c \
mk_req_ext.c \
mk_safe.c \
pac.c \
pac_sign.c \
padata.c \
parse.c \
parse_host_string.c \
plugin.c \
pr_to_salt.c \
preauth2.c \
preauth_ec.c \
preauth_encts.c \
preauth_otp.c \
preauth_pkinit.c \
preauth_sam2.c \
princ_comp.c \
privsafe.c \
random_str.c \
rd_cred.c \
rd_error.c \
rd_priv.c \
rd_rep.c \
rd_req.c \
rd_req_dec.c \
rd_safe.c \
recvauth.c \
response_items.c \
s4u_creds.c \
send_tgs.c \
sendauth.c \
ser_actx.c \
ser_adata.c \
ser_addr.c \
ser_auth.c \
ser_cksum.c \
ser_ctx.c \
ser_key.c \
ser_princ.c \
serialize.c \
set_realm.c \
sname_match.c \
srv_dec_tkt.c \
srv_rcache.c \
str_conv.c \
tgtname.c \
unparse.c \
val_renew.c \
valid_times.c \
vfy_increds.c \
vic_opt.c \
walk_rtree.c

View file

@ -0,0 +1,56 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/krb5/os
SRCS+= accessor.c \
c_ustime.c \
ccdefname.c \
changepw.c \
dnsglue.c \
dnssrv.c \
expand_path.c \
full_ipadr.c \
gen_port.c \
gen_rname.c \
genaddrs.c \
hostaddr.c \
hostrealm.c \
hostrealm_dns.c \
hostrealm_domain.c \
hostrealm_profile.c \
hostrealm_registry.c \
init_os_ctx.c \
krbfileio.c \
ktdefname.c \
localaddr.c \
localauth.c \
localauth_an2ln.c \
localauth_k5login.c \
localauth_names.c \
localauth_rule.c \
locate_kdc.c \
lock_file.c \
mk_faddr.c \
net_read.c \
net_write.c \
port2ip.c \
prompter.c \
read_msg.c \
read_pwd.c \
realm_dom.c \
sendto_kdc.c \
sn2princ.c \
thread_safe.c \
timeofday.c \
toffset.c \
trace.c \
unlck_file.c \
ustime.c \
write_msg.c

View file

@ -0,0 +1,17 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/krb5/rcache
SRCS+= \
memrcache.c \
rc_base.c \
rc_dfl.c \
rc_file2.c \
rc_none.c

View file

@ -0,0 +1,14 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/lib/krb5/unicode \
${KRB5_DIR}/lib/krb5/unicode/ucdata
SRCS+= ucdata.c \
ucstr.c

85
krb5/lib/rpc/Makefile Normal file
View file

@ -0,0 +1,85 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= gssrpc
# SHLIB_MAJOR= 4
LDFLAGS=-Wl,--no-undefined
LIBADD= gssapi_krb5 krb5 k5crypto com_err krb5support
SRCS= auth_gss.c \
auth_gssapi.c \
auth_gssapi_misc.c \
auth_none.c \
auth_unix.c \
authgss_prot.c \
authunix_prot.c \
bindresvport.c \
clnt_generic.c \
clnt_perror.c \
clnt_raw.c \
clnt_simple.c \
clnt_tcp.c \
clnt_udp.c \
dyn.c \
get_myaddress.c \
getrpcport.c \
pmap_clnt.c \
pmap_getmaps.c \
pmap_getport.c \
pmap_prot.c \
pmap_prot2.c \
pmap_rmt.c \
rpc_callmsg.c \
rpc_commondata.c \
rpc_dtablesize.c \
rpc_prot.c \
svc.c \
svc_auth.c \
svc_auth_gss.c \
svc_auth_gssapi.c \
svc_auth_none.c \
svc_auth_unix.c \
svc_raw.c \
svc_run.c \
svc_simple.c \
svc_tcp.c \
svc_udp.c \
xdr.c \
xdr_alloc.c \
xdr_array.c \
xdr_float.c \
xdr_mem.c \
xdr_rec.c \
xdr_reference.c \
xdr_sizeof.c \
xdr_stdio.c
INCS= dyn.h \
dynP.h \
gssrpcint.h
CFLAGS+=-I${KRB5_DIR}/lib/rpc \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include \
-I${KRB5_OBJTOP}/lib \
-DGSSAPI_KRB5 \
-DDEBUG_GSSAPI=0 \
-DGSSRPC__IMPL
.include <bsd.lib.mk>
.SUFFIXES: .h .c
.PATH: ${KRB5_DIR}/lib/rpc

16
krb5/libexec/Makefile Normal file
View file

@ -0,0 +1,16 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
#DIR $FreeBSD$
SUBDIR= kdc kadmind kpropd kprop kproplog
SUBDIR_PARALLEL=
.include <bsd.subdir.mk>

12
krb5/libexec/Makefile.inc Normal file
View file

@ -0,0 +1,12 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.include "../Makefile.inc"
BINDIR?= /usr/libexec

View file

@ -0,0 +1,49 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include "../Makefile.inc"
PROG= kadmind
LIBADD= kadm5srv_mit kdb5 gssrpc gssapi_krb5 krb5 k5crypto com_err \
krb5support apputils verto sys m
SRCS= auth.c \
auth_acl.c \
auth_self.c \
ipropd_svc.c \
kadm_rpc_svc.c \
misc.c \
ovsec_kadmd.c \
schpw.c \
server_stubs.c
MAN= kadmind.8
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include \
-I${KRB5_OBJTOP}/lib/gssapi \
-I${KRB5_OBJTOP}/lib \
-I${KRB5_DIR}/lib/gssapi/krb5 \
-I${KRB5_DIR}/lib/gssapi/generic
kadmind.8: kadmind.man
CLEANFILES+= kadmind.8
.include <bsd.prog.mk>
.SUFFIXES: .h .c .man .8
.man.8:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/kadmin/server \
${KRB5_DIR}/man

84
krb5/libexec/kdc/Makefile Normal file
View file

@ -0,0 +1,84 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include "../Makefile.inc"
PROG= krb5kdc
LIBADD= kadm5srv_mit gssrpc gssapi_krb5 krb5 kdb5 k5crypto com_err krb5support \
apputils verto krb5profile m sys
SRCS= authind.c \
cammac.c \
dispatch.c \
do_as_req.c \
do_tgs_req.c \
extern.c \
fast_util.c \
kdc_audit.c \
kdc_authdata.c \
kdc_log.c \
kdc_preauth.c \
kdc_preauth_ec.c \
kdc_preauth_encts.c \
kdc_transit.c \
kdc_util.c \
main.c \
ndr.c \
policy.c \
replay.c \
tgs_policy.c \
${GEN} \
${GENI}
MAN= krb5kdc.8
DEFINES=-DLIBDIR=\"${KRB5_LIBDIR}\"
CFLAGS+=${DEFINES} \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include \
-I${.OBJDIR}
GEN_KDC5_ERR= kdc5_err.et
GEN_KDC5_ERR_C= ${GEN_KDC5_ERR:S/.et$/.c/}
GEN_KDC5_ERR_H= ${GEN_KDC5_ERR:S/.et$/.h/}
CLEANFILES+= ${GEN_KDC5_ERR_C} ${GEN_KDC5_ERR_H}
GEN+= ${GEN_KDC5_ERR_C}
GENI+= ${GEN_KDC5_ERR_H}
${GEN_KDC5_ERR:[2..-1]}: .NOMETA
${GEN_KDC5_ERR_H}: ${GEN_KDC5_ERR}
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
cp ${.ALLSRC} et-h-${.PREFIX}.et
${COMPILE_ET} et-h-${.PREFIX}.et
mv et-h-${.PREFIX}.h ${.PREFIX}.h
rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
${GEN_KDC5_ERR_C}: ${GEN_KDC5_ERR}
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
cp ${.ALLSRC} et-c-${.PREFIX}.et
${COMPILE_ET} et-c-${.PREFIX}.et
mv et-c-${.PREFIX}.c ${.PREFIX}.c
rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
CLEANFILES+= krb5kdc.8
krb5kdc.8: krb5kdc.man
.include <bsd.prog.mk>
.SUFFIXES: .h .c .man .1
.man.8:
cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/kdc \
${KRB5_DIR}/man

View file

@ -0,0 +1,33 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include "../Makefile.inc"
PROG= kprop
LIBADD= kprop_util krb5 k5crypto com_err krb5profile krb5support util sys
SRCS= kprop.c
MAN= kprop.8
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
.include <bsd.prog.mk>
.SUFFIXES: .h .c .man .8
.man.8:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/kprop \
${KRB5_DIR}/man

View file

@ -0,0 +1,33 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
PROG= kpropd
LIBADD= kprop_util kdb5 kadm5clnt_mit gssrpc gssapi_krb5 krb5 k5crypto \
com_err krb5profile krb5support util sys
SRCS= kpropd.c \
kpropd_rpc.c
MAN= kpropd.8
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
.include <bsd.prog.mk>
.SUFFIXES: .h .c .man .8
.man.8:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/kprop \
${KRB5_DIR}/man

View file

@ -0,0 +1,31 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
PROG= kproplog
LIBADD= kadm5srv_mit kdb5 gssrpc gssapi_krb5 krb5 k5crypto com_err \
krb5support sys
SRCS= kproplog.c
MAN= kproplog.8
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
.include <bsd.prog.mk>
.SUFFIXES: .h .c .man .8
.man.8:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/kprop \
${KRB5_DIR}/man

19
krb5/plugins/Makefile Normal file
View file

@ -0,0 +1,19 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.include <src.opts.mk>
PLUGINS= kdb preauth k5tls
# PLUGINS+= audit - We don't build this because the port doesn't
# use it.
SUBDIR= ${PLUGINS}
SUBDIR_PARALLEL=
.include <bsd.subdir.mk>

16
krb5/plugins/Makefile.inc Normal file
View file

@ -0,0 +1,16 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
MK_INSTALLLIB= no
SHLIB_NAME?= ${LIB}.so.${SHLIB_MAJOR}
PLUGINSDIR= ${LIBDIR_BASE}/krb5/plugins
SHLIBDIR= ${LIBDIR}
SHLIB_MAJOR= 121
.include "../Makefile.inc"

View file

@ -0,0 +1,28 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= kdc_j_encode
LIBDIR= ${PLUGINSDIR}/audit
LDFLAGS=-Wl,--no-undefined
.PATH: ${KRB5_DIR}/plugins/audit
SRCS= kdc_j_encode.c
CFLAGS+=-I${KRB5_DIR}/plugins/audit
.include <bsd.lib.mk>
.SUFFIXES: .h .c

View file

@ -0,0 +1,33 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
LIBDIR= ${PLUGINSDIR}/tls
SHLIBDIR= ${LIBDIR}
LIB= k5tls
LDFLAGS=-Wl,--no-undefined
LIBADD= krb5 krb5profile krb5support ssl crypto k5crypto com_err sys
SRCS= notls.c \
openssl.c
CFLAGS+=-I${KRB5_DIR}/plugins/tls/k5tls \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
.include <bsd.lib.mk>
.SUFFIXES: .h .c
.PATH: ${KRB5_DIR}/plugins/tls/k5tls

15
krb5/plugins/kdb/Makefile Normal file
View file

@ -0,0 +1,15 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
SUBDIR= db2
# XXX If in the future we want to support ldap or lmdb.
# SUBDIR_PARALLEL=
.include <bsd.subdir.mk>

View file

@ -0,0 +1,10 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.include "../Makefile.inc"

View file

@ -0,0 +1,65 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
LIBDIR= ${PLUGINSDIR}/kdb
SHLIBDIR= ${LIBDIR}
LIB= db2
LDFLAGS=-Wl,--no-undefined
LIBADD= krb5profile krb5 com_err k5crypto kadm5srv_mit kdb5 gssrpc gssapi_krb5 krb5support
SRCS= \
adb_openclose.c \
adb_policy.c \
db2_exp.c \
kdb_db2.c \
kdb_xdr.c \
lockout.c \
pol_xdr.c
.include "${KRB5_SRCTOP}/plugins/kdb/db2/libdb2/Makefile.inc"
MAN= db_btree.3 \
db_hash.3 \
db_lock.3 \
db_log.3 \
db_mpool.3 \
db_open.3 \
db_recno.3 \
db_txn.3
CFLAGS+=-I${KRB5_DIR}/plugins/kdb/db2 \
-I${KRB5_DIR}/plugins/kdb/db2/libdb2 \
-I${KRB5_DIR}/plugins/kdb/db2/libdb2/include \
-I${KRB5_DIR}/plugins/kdb/db2/libdb2/btree \
-I${KRB5_DIR}/plugins/kdb/db2/libdb2/db \
-I${KRB5_DIR}/plugins/kdb/db2/libdb2/hash \
-I${KRB5_DIR}/plugins/kdb/db2/libdb2/mpool \
-I${KRB5_DIR}/plugins/kdb/db2/libdb2/recno \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include \
-I${KRB5_DIR}/lib/kdb \
-I${KRB5_OBJTOP}/plugins/kdb/db2 \
-I${KRB5_OBJTOP}/lib/kdb
.include <bsd.lib.mk>
.SUFFIXES: .h .c .man .3
.man.3:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/plugins/kdb/db2 \
${KRB5_DIR}/plugins/kdb/db2/libdb2 \
${KRB5_DIR}/plugins/kdb/db2/libdb2/man

View file

@ -0,0 +1,15 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.include "${KRB5_SRCTOP}/plugins/kdb/db2/libdb2/include/Makefile.inc"
.include "${KRB5_SRCTOP}/plugins/kdb/db2/libdb2/btree/Makefile.inc"
.include "${KRB5_SRCTOP}/plugins/kdb/db2/libdb2/db/Makefile.inc"
.include "${KRB5_SRCTOP}/plugins/kdb/db2/libdb2/hash/Makefile.inc"
.include "${KRB5_SRCTOP}/plugins/kdb/db2/libdb2/mpool/Makefile.inc"
.include "${KRB5_SRCTOP}/plugins/kdb/db2/libdb2/recno/Makefile.inc"

View file

@ -0,0 +1,24 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/plugins/kdb/db2/libdb2/btree
SRCS+= bt_close.c \
bt_conv.c \
bt_debug.c \
bt_delete.c \
bt_get.c \
bt_open.c \
bt_overflow.c \
bt_page.c \
bt_put.c \
bt_search.c \
bt_seq.c \
bt_split.c \
bt_utils.c

View file

@ -0,0 +1,12 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/plugins/kdb/db2/libdb2/db
SRCS+= db.c

View file

@ -0,0 +1,19 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/plugins/kdb/db2/libdb2/hash
SRCS+= dbm.c \
hash.c \
hash_bigkey.c \
hash_debug.c \
hash_func.c \
hash_log2.c \
hash_page.c \
hsearch.c

View file

@ -0,0 +1,21 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/plugins/kdb/db2/libdb2/include
SRCS+= db-config.h \
db.h
CLEANFILES+= db-config.h db.h
db-config.h: db-config.hin
@cp ${.ALLSRC} ${.TARGET}
db.h: db.hin
@cp ${.ALLSRC} ${.TARGET}

View file

@ -0,0 +1,12 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/plugins/kdb/db2/libdb2/mpool
SRCS+= mpool.c

View file

@ -0,0 +1,19 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.PATH: ${KRB5_DIR}/plugins/kdb/db2/libdb2/recno
SRCS+= rec_close.c \
rec_delete.c \
rec_get.c \
rec_open.c \
rec_put.c \
rec_search.c \
rec_seq.c \
rec_utils.c

View file

@ -0,0 +1,14 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
SUBDIR= otp pkinit spake test
SUBDIR_PARALLEL=
.include <bsd.subdir.mk>

View file

@ -0,0 +1,13 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
LIBDIR= ${PLUGINSDIR}/preauth
SHLIBDIR= ${LIBDIR}
.include "../Makefile.inc"

View file

@ -0,0 +1,30 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= otp
LIBDIR= ${PLUGINSDIR}/preauth
LDFLAGS=-Wl,--no-undefined
LIBADD= krb5profile krad verto krb5 k5crypto com_err krb5support m
.PATH: ${KRB5_DIR}/plugins/preauth/otp
SRCS= main.c \
otp_state.c
CFLAGS+=-I${KRB5_DIR}/plugins/preauth/otp \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
.include <bsd.lib.mk>

View file

@ -0,0 +1,38 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= pkinit
LIBDIR= ${PLUGINSDIR}/preauth
LDFLAGS=-Wl,--no-undefined
LIBADD= krb5profile krb5 com_err k5crypto crypto krb5support
.PATH: ${KRB5_DIR}/plugins/preauth/pkinit
SRCS= pkinit_accessor.c \
pkinit_clnt.c \
pkinit_constants.c \
pkinit_crypto_openssl.c \
pkinit_identity.c \
pkinit_kdf_test.c \
pkinit_lib.c \
pkinit_matching.c \
pkinit_profile.c \
pkinit_srv.c
CFLAGS+=-I${KRB5_DIR}/plugins/preauth/pkinit \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
.include <bsd.lib.mk>

View file

@ -0,0 +1,42 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= spake
LIBDIR= ${PLUGINSDIR}/preauth
LDFLAGS=-Wl,--no-undefined
LIBADD= krb5profile krb5 k5crypto com_err krb5support crypto sys
.PATH: ${KRB5_DIR}/plugins/preauth/spake
SRCS= edwards25519.c \
groups.c \
iana.c \
openssl.c \
spake_client.c \
spake_kdc.c \
util.c
INCS= edwards25519_fiat.h \
edwards25519_tables.h \
groups.h \
iana.h \
trace.h \
util.h
CFLAGS+=-I${KRB5_DIR}/plugins/preauth/spake \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
.include <bsd.lib.mk>

View file

@ -0,0 +1,33 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
.include <src.opts.mk>
.include "../Makefile.inc"
LIB= test
LIBDIR= ${PLUGINSDIR}/preauth
LDFLAGS=-Wl,--no-undefined
LIBADD= krb5 k5crypto com_err krb5support
.PATH: ${KRB5_DIR}/plugins/preauth/test
SRCS= cltest.c \
common.c \
kdctest.c
INCS= common.h
CFLAGS+=-I${KRB5_DIR}/plugins/preauth/test \
-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
.include <bsd.lib.mk>

14
krb5/usr.bin/Makefile Normal file
View file

@ -0,0 +1,14 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
SUBDIR= kadmin kdestroy kinit klist kpasswd ksu kswitch ktutil kvno sclient gss-client
SUBDIR_PARALLEL=
.include <bsd.subdir.mk>

12
krb5/usr.bin/Makefile.inc Normal file
View file

@ -0,0 +1,12 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
.include "../Makefile.inc"
BINDIR?= /usr/bin

View file

@ -0,0 +1,30 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
PROG= gss-client
LIBADD= gssapi_krb5 krb5 k5crypto com_err krb5profile krb5support sys
SRCS= gss-client.c \
gss-misc.c
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include \
-I${KRB5_OBJTOP}/lib \
-I${KRB5_DIR}/lib/gssapi/generic \
-I${KRB5_DIR}/lib/gssapi/krb5 \
-I${KRB5_DIR}/lib/gssapi/mechglue
MAN=
.include <bsd.prog.mk>
.PATH: ${KRB5_DIR}/appl/gss-sample

View file

@ -0,0 +1,43 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
PROG= kadmin
LIBADD= kadmin_common edit kadm5clnt_mit gssrpc gssapi_krb5 krb5 k5crypto \
com_err krb5ss krb5profile krb5support tinfow sys
SRCS= keytab.c
SCRIPTS= k5srvutil.sh
MAN= kadmin.1 \
k5srvutil.1
MLINKS= kadmin.1 kamdin.local.8
CLEANFILES= kadmin.1 k5srvutil.1
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
kadmin.1: kadmin.man
k5srvutil.1: k5srvutil.man
.include <bsd.prog.mk>
.SUFFIXES: .h .c. .man .1
.man.1:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/kadmin/cli \
${KRB5_DIR}/man

View file

@ -0,0 +1,35 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
PROG= kdestroy
LIBADD= krb5 k5crypto com_err krb5profile krb5support sys
SRCS= kdestroy.c
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
MAN= kdestroy.1
kdestroy.1: kdestroy.man
CLEANFILES+= kdestroy.1
.include <bsd.prog.mk>
.SUFFIXES: .h .c. .man .1
.man.1:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/clients/kdestroy \
${KRB5_DIR}/man

View file

@ -0,0 +1,37 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
PROG= kinit
LIBADD= kadm5srv_mit kdb5 gssrpc gssapi_krb5 krb5 k5crypto com_err \
krb5profile krb5support sys
SRCS= kinit.c \
kinit_kdb.c
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
MAN= kinit.1
kinit.1: kinit.man
CLEANFILES+= kinit.1
.include <bsd.prog.mk>
.SUFFIXES: .h .c. .man .1
.man.1:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/clients/kinit \
${KRB5_DIR}/man

View file

@ -0,0 +1,35 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
PROG= klist
LIBADD= krb5 k5crypto com_err krb5profile krb5support sys
SRCS= klist.c
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
MAN= klist.1
klist.1: klist.man
CLEANFILES+= klist.1
.include <bsd.prog.mk>
.SUFFIXES: .h .c. .man .1
.man.1:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/clients/klist \
${KRB5_DIR}/man

View file

@ -0,0 +1,37 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
PROG= kpasswd
LIBADD= krb5 k5crypto com_err krb5profile krb5support sys
SRCS= kpasswd.c
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
MAN= kpasswd.1
CLEANFILES+= kpasswd.1
MAN= kpasswd.1
kpasswd.1: kpasswd.man
.include <bsd.prog.mk>
.SUFFIXES: .h .c. .man .1
.man.1:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/clients/kpasswd \
${KRB5_DIR}/man

44
krb5/usr.bin/ksu/Makefile Normal file
View file

@ -0,0 +1,44 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
PROG= ksu
.if defined(ENABLE_SUID_K5SU)
BINMODE=4555
PRECIOUSPROG=
.endif
LIBADD= krb5 k5crypto com_err krb5profile krb5support sys
SRCS= authorization.c \
ccache.c \
heuristic.c \
krb_auth_su.c \
main.c \
xmalloc.c
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
MAN= ksu.1
ksu.1: ksu.man
CLEANFILES+= ksu.1
.include <bsd.prog.mk>
.SUFFIXES: .h .c. .man .1
.man.1:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/clients/ksu \
${KRB5_DIR}/man

View file

@ -0,0 +1,35 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
PROG= kswitch
LIBADD= krb5 k5crypto com_err krb5profile krb5support sys
SRCS= kswitch.c
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
MAN= kswitch.1
kswitch.1: kswitch.man
CLEANFILES+= kswitch.1
.include <bsd.prog.mk>
.SUFFIXES: .h .c. .man .1
.man.1:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/clients/kswitch \
${KRB5_DIR}/man

View file

@ -0,0 +1,43 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
PROG= ktutil
LIBADD= edit krb5 k5crypto com_err krb5profile krb5support krb5ss tinfow sys
SRCS= ktutil.c \
ktutil_ct.c \
ktutil_funcs.c
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include \
-I${KRB5_DIR}/util \
-I${KRB5_OBJTOP}/util
MAN= ktutil.1
ktutil.1: ktutil.man
CLEANFILES+= ktutil.1
ktutil_ct.c: ktutil_ct.ct ss_err.h
${MAKE_COMMANDS} ${KRB5_DIR}/kadmin/ktutil/ktutil_ct.ct
.include <bsd.prog.mk>
.SUFFIXES: .h .c. .man .1 .ct
.man.1:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/kadmin/ktutil \
${KRB5_DIR}/man \
${KRB5_OBJTOP}/util/ss

View file

@ -0,0 +1,35 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
PROG= kvno
LIBADD= krb5 k5crypto com_err krb5profile krb5support sys
SRCS= kvno.c
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
MAN= kvno.1
kvno.1: kvno.man
CLEANFILES+= kvno.1
.include <bsd.prog.mk>
.SUFFIXES: .h .c. .man .1
.man.1:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/clients/kvno \
${KRB5_DIR}/man

View file

@ -0,0 +1,35 @@
#
# SPDX-License-Idendifier: BSD-2-Clause
#
# Copyright (c) 2025 FreeBSD Foundation
#
# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
# under sponsorship from the FreeBSD Foundation.
#
PACKAGE= krb5
PROG= sclient
LIBADD= krb5 k5crypto com_err krb5profile krb5support sys
SRCS= sclient.c
CFLAGS+=-I${KRB5_DIR}/include \
-I${KRB5_SRCTOP}/include
MAN= sclient.1
sclient.1: sclient.man
CLEANFILES+= sclient.1
.include <bsd.prog.mk>
.SUFFIXES: .h .c. .man .1
.man.1:
@cp ${.ALLSRC} ${.TARGET}
.PATH: ${KRB5_DIR}/appl/sample/sclient \
${KRB5_DIR}/man

Some files were not shown because too many files have changed in this diff Show more