diff options
Diffstat (limited to 'kerberos5')
74 files changed, 5583 insertions, 0 deletions
diff --git a/kerberos5/Makefile b/kerberos5/Makefile new file mode 100644 index 0000000..d87fa16 --- /dev/null +++ b/kerberos5/Makefile @@ -0,0 +1,31 @@ +# $FreeBSD$ + +SUBDIR= doc lib libexec usr.bin usr.sbin + +# These are the programs which depend on Kerberos. +KPROGS= lib/libpam \ + secure/lib/libssh secure/usr.bin/ssh secure/usr.sbin/sshd + +# This target is used to rebuild these programs WITH Kerberos. +kerberize: +.for entry in ${KPROGS} + cd ${.CURDIR}/../${entry}; \ + ${MAKE} cleandir; \ + ${MAKE} obj; \ + ${MAKE} depend; \ + ${MAKE} all; \ + ${MAKE} install +.endfor + +# This target is used to rebuild these programs WITHOUT Kerberos. +dekerberize: +.for entry in ${KPROGS} + cd ${.CURDIR}/../${entry}; \ + ${MAKE} -DWITHOUT_KERBEROS cleandir; \ + ${MAKE} -DWITHOUT_KERBEROS obj; \ + ${MAKE} -DWITHOUT_KERBEROS depend; \ + ${MAKE} -DWITHOUT_KERBEROS all; \ + ${MAKE} -DWITHOUT_KERBEROS install +.endfor + +.include <bsd.subdir.mk> diff --git a/kerberos5/Makefile.inc b/kerberos5/Makefile.inc new file mode 100644 index 0000000..5dc86c2 --- /dev/null +++ b/kerberos5/Makefile.inc @@ -0,0 +1,48 @@ +# $FreeBSD$ + +NO_LINT= + +KRB5DIR= ${.CURDIR}/../../../crypto/heimdal + +CFLAGS+= -DHAVE_CONFIG_H -I${.CURDIR}/../../include + +.if defined(WITH_OPENLDAP) && !defined(COMPAT_32BIT) +OPENLDAPBASE?= /usr/local +LDAPLDADD= -lldap -llber +LDAPDPADD= ${LDAPLDADD:C;^-l(.*)$;${OPENLDAPBASE}/lib/lib\1.a;} +LDAPCFLAGS= -I${OPENLDAPBASE}/include -DOPENLDAP=1 -DLDAP_DEPRECATED=1 +LDAPLDFLAGS= -L${OPENLDAPBASE}/lib -Wl,-rpath,${OPENLDAPBASE}/lib +.endif + +LIBHEIMIPCC= ${.OBJDIR}/../../lib/libheimipcc/libheimipcc.a +LIBHEIMIPCS= ${.OBJDIR}/../../lib/libheimipcs/libheimipcs.a +LIBVERS= ${.OBJDIR}/../../lib/libvers/libvers.a +LIBSL= ${.OBJDIR}/../../lib/libsl/libsl.a + +.if defined(SRCS) + +ETSRCS= \ + ${KRB5DIR}/lib/asn1/asn1_err.et \ + ${KRB5DIR}/lib/hdb/hdb_err.et \ + ${KRB5DIR}/lib/kadm5/kadm5_err.et \ + ${KRB5DIR}/lib/krb5/heim_err.et \ + ${KRB5DIR}/lib/krb5/k524_err.et \ + ${KRB5DIR}/lib/krb5/krb5_err.et \ + ${KRB5DIR}/lib/krb5/krb_err.et \ + ${KRB5DIR}/lib/gssapi/krb5/gkrb5_err.et \ + ${KRB5DIR}/lib/hx509/hx509_err.et \ + ${KRB5DIR}/lib/wind/wind_err.et \ + ${KRB5DIR}/lib/ntlm/ntlm_err.et + +.for ET in ${ETSRCS} +.for _ET in ${ET:T:R} +.if ${SRCS:M${_ET}.[ch]} != "" +.ORDER: ${_ET}.c ${_ET}.h +${_ET}.c ${_ET}.h: ${ET} + compile_et ${.ALLSRC} +CLEANFILES+= ${_ET}.h ${_ET}.c +.endif +.endfor +.endfor + +.endif # defined(SRCS) diff --git a/kerberos5/README b/kerberos5/README new file mode 100644 index 0000000..9f97cf6 --- /dev/null +++ b/kerberos5/README @@ -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! + +MarkM +markm@freebsd.org +20th Sept 1997 diff --git a/kerberos5/doc/Makefile b/kerberos5/doc/Makefile new file mode 100644 index 0000000..1f71ed8 --- /dev/null +++ b/kerberos5/doc/Makefile @@ -0,0 +1,6 @@ +# $FreeBSD$ + +INFO= heimdal +SRCDIR= ${.CURDIR}/../../crypto/heimdal/doc + +.include <bsd.info.mk> diff --git a/kerberos5/include/config.h b/kerberos5/include/config.h new file mode 100644 index 0000000..1f9ad88 --- /dev/null +++ b/kerberos5/include/config.h @@ -0,0 +1,1633 @@ +/* include/config.h. Generated from config.h.in by configure. */ +/* include/config.h.in. Generated from configure.ac by autoheader. */ + +/* $FreeBSD$ */ + +#ifndef RCSID +#define RCSID(msg) \ +static /**/const char *const rcsid[] = { (const char *)rcsid, "@(#)" msg } +#endif + +/* Maximum values on all known systems */ +#define MaxHostNameLen (64+4) +#define MaxPathLen (1024+4) + + + +#ifdef BUILD_KRB5_LIB +#ifndef KRB5_LIB +#ifdef _WIN32_ +#define KRB5_LIB_FUNCTION __declspec(dllexport) +#define KRB5_LIB_CALL __stdcall +#define KRB5_LIB_VARIABLE __declspec(dllexport) +#else +#define KRB5_LIB_FUNCTION +#define KRB5_LIB_CALL +#define KRB5_LIB_VARIABLE +#endif +#endif +#endif + + +#ifdef BUILD_ROKEN_LIB +#ifndef ROKEN_LIB +#ifdef _WIN32_ +#define ROKEN_LIB_FUNCTION __declspec(dllexport) +#define ROKEN_LIB_CALL __stdcall +#define ROKEN_LIB_VARIABLE __declspec(dllexport) +#else +#define ROKEN_LIB_FUNCTION +#define ROKEN_LIB_CALL +#define ROKEN_LIB_VARIABLE +#endif +#endif +#endif + + +#ifdef BUILD_GSSAPI_LIB +#ifndef GSSAPI_LIB +#ifdef _WIN32_ +#define GSSAPI_LIB_FUNCTION __declspec(dllexport) +#define GSSAPI_LIB_CALL __stdcall +#define GSSAPI_LIB_VARIABLE __declspec(dllexport) +#else +#define GSSAPI_LIB_FUNCTION +#define GSSAPI_LIB_CALL +#define GSSAPI_LIB_VARIABLE +#endif +#endif +#endif + + +/* Define if you want authentication support in telnet. */ +#define AUTHENTICATION 1 + +/* path to bin */ +#define BINDIR "/usr/bin" + +/* Define if realloc(NULL) doesn't work. */ +/* #undef BROKEN_REALLOC */ + +/* Define if you want support for DCE/DFS PAG's. */ +/* #undef DCE */ + +/* Define if you want to use DES encryption in telnet. */ +#define DES_ENCRYPTION 1 + +/* Define this to enable diagnostics in telnet. */ +#define DIAGNOSTICS 1 + +/* Define to enable DIGEST. */ +#define DIGEST 1 + +/* Define if want to use the weak AFS string to key functions. */ +#define ENABLE_AFS_STRING_TO_KEY 1 + +/* Define if you want have a thread safe libraries */ +#define ENABLE_PTHREAD_SUPPORT 1 + +/* Define if you want encryption support in telnet. */ +#define ENCRYPTION 1 + +/* define if sys/param.h defines the endiness */ +#define ENDIANESS_IN_SYS_PARAM_H 1 + +/* Define this if you want support for broken ENV_{VAR,VAL} telnets. */ +/* #undef ENV_HACK */ + +/* define if prototype of gethostbyaddr is compatible with struct hostent + *gethostbyaddr(const void *, size_t, int) */ +/* #undef GETHOSTBYADDR_PROTO_COMPATIBLE */ + +/* define if prototype of gethostbyname is compatible with struct hostent + *gethostbyname(const char *) */ +#define GETHOSTBYNAME_PROTO_COMPATIBLE 1 + +/* define if prototype of getservbyname is compatible with struct servent + *getservbyname(const char *, const char *) */ +#define GETSERVBYNAME_PROTO_COMPATIBLE 1 + +/* define if prototype of getsockname is compatible with int getsockname(int, + struct sockaddr*, socklen_t*) */ +#define GETSOCKNAME_PROTO_COMPATIBLE 1 + +/* Define if you have the `altzone' variable. */ +/* #undef HAVE_ALTZONE */ + +/* Define to 1 if you have the `arc4random' function. */ +#define HAVE_ARC4RANDOM 1 + +/* Define to 1 if you have the <arpa/ftp.h> header file. */ +#define HAVE_ARPA_FTP_H 1 + +/* 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 <arpa/nameser.h> header file. */ +#define HAVE_ARPA_NAMESER_H 1 + +/* Define to 1 if you have the <arpa/telnet.h> header file. */ +#define HAVE_ARPA_TELNET_H 1 + +/* Define to 1 if you have the <asl.h> header file. */ +/* #undef HAVE_ASL_H */ + +/* Define to 1 if you have the `asnprintf' function. */ +/* #undef HAVE_ASNPRINTF */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `backtrace' function. */ +/* #undef HAVE_BACKTRACE */ + +/* Define to 1 if you have the <bind/bitypes.h> header file. */ +/* #undef HAVE_BIND_BITYPES_H */ + +/* Define to 1 if you have the <bsdsetjmp.h> header file. */ +/* #undef HAVE_BSDSETJMP_H */ + +/* Define to 1 if you have the `bswap16' function. */ +/* #undef HAVE_BSWAP16 */ + +/* Define to 1 if you have the `bswap32' function. */ +/* #undef HAVE_BSWAP32 */ + +/* Define to 1 if you have the <capability.h> header file. */ +/* #undef HAVE_CAPABILITY_H */ + +/* whether capng is available for privilege reduction */ +/* #undef HAVE_CAPNG */ + +/* Define to 1 if you have the `cap_set_proc' function. */ +/* #undef HAVE_CAP_SET_PROC */ + +/* Define to 1 if you have the `cgetent' function. */ +#define HAVE_CGETENT 1 + +/* Define if you have the function `chown'. */ +#define HAVE_CHOWN 1 + +/* Define if you have the function `closefrom'. */ +#define HAVE_CLOSEFROM 1 + +/* Define to 1 if you have the <CommonCrypto/CommonCryptor.h> header file. */ +/* #undef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H */ + +/* Define to 1 if you have the <CommonCrypto/CommonDigest.h> header file. */ +/* #undef HAVE_COMMONCRYPTO_COMMONDIGEST_H */ + +/* Define to 1 if you have the <config.h> header file. */ +/* #undef HAVE_CONFIG_H */ + +/* Define if you have the function `copyhostent'. */ +/* #undef HAVE_COPYHOSTENT */ + +/* Define to 1 if you have the `crypt' function. */ +#define HAVE_CRYPT 1 + +/* Define to 1 if you have the <crypt.h> header file. */ +/* #undef HAVE_CRYPT_H */ + +/* Define to 1 if you have the <curses.h> header file. */ +#define HAVE_CURSES_H 1 + +/* Define if you have the function `daemon'. */ +#define HAVE_DAEMON 1 + +/* define if you have a berkeley db1/2 library */ +#define HAVE_DB1 1 + +/* define if you have a berkeley db3/4/5 library */ +/* #undef HAVE_DB3 */ + +/* Define to 1 if you have the <db3/db.h> header file. */ +/* #undef HAVE_DB3_DB_H */ + +/* Define to 1 if you have the <db4/db.h> header file. */ +/* #undef HAVE_DB4_DB_H */ + +/* Define to 1 if you have the <db5/db.h> header file. */ +/* #undef HAVE_DB5_DB_H */ + +/* Define if you have user supplied header location */ +/* #undef HAVE_DBHEADER */ + +/* Define to 1 if you have the `dbm_firstkey' function. */ +#define HAVE_DBM_FIRSTKEY 1 + +/* Define to 1 if you have the <dbm.h> header file. */ +/* #undef HAVE_DBM_H */ + +/* Define to 1 if you have the `dbopen' function. */ +#define HAVE_DBOPEN 1 + +/* Define to 1 if you have the `db_create' function. */ +/* #undef HAVE_DB_CREATE */ + +/* Define to 1 if you have the <db.h> header file. */ +#define HAVE_DB_H 1 + +/* define if you have ndbm compat in db */ +/* #undef HAVE_DB_NDBM */ + +/* Define to 1 if you have the declaration of `altzone', and to 0 if you + don't. */ +/* #undef HAVE_DECL_ALTZONE */ + +/* Define to 1 if you have the declaration of `environ', and to 0 if you + don't. */ +#define HAVE_DECL_ENVIRON 0 + +/* Define to 1 if you have the declaration of `h_errlist', and to 0 if you + don't. */ +#define HAVE_DECL_H_ERRLIST 0 + +/* Define to 1 if you have the declaration of `h_errno', and to 0 if you + don't. */ +#define HAVE_DECL_H_ERRNO 1 + +/* Define to 1 if you have the declaration of `h_nerr', and to 0 if you don't. + */ +/* #undef HAVE_DECL_H_NERR */ + +/* Define to 1 if you have the declaration of `optarg', and to 0 if you don't. + */ +#define HAVE_DECL_OPTARG 1 + +/* Define to 1 if you have the declaration of `opterr', and to 0 if you don't. + */ +#define HAVE_DECL_OPTERR 1 + +/* Define to 1 if you have the declaration of `optind', and to 0 if you don't. + */ +#define HAVE_DECL_OPTIND 1 + +/* Define to 1 if you have the declaration of `optopt', and to 0 if you don't. + */ +#define HAVE_DECL_OPTOPT 1 + +/* Define to 1 if you have the declaration of `timezone', and to 0 if you + don't. */ +#define HAVE_DECL_TIMEZONE 1 + +/* Define to 1 if you have the declaration of `_res', and to 0 if you don't. + */ +#define HAVE_DECL__RES 1 + +/* Define to 1 if you have the declaration of `__progname', and to 0 if you + don't. */ +#define HAVE_DECL___PROGNAME 0 + +/* Define to 1 if you have the <dirent.h> header file. */ +#define HAVE_DIRENT_H 1 + +/* have a dirfd function/macro */ +#define HAVE_DIRFD 1 + +/* Define if DIR has field dd_fd. */ +#define HAVE_DIR_DD_FD 1 + +/* Define to 1 if you have the `dispatch_async_f' function. */ +/* #undef HAVE_DISPATCH_ASYNC_F */ + +/* Define to 1 if you have the <dispatch/dispatch.h> header file. */ +/* #undef HAVE_DISPATCH_DISPATCH_H */ + +/* Define to 1 if you have the <dlfcn.h> header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `dlopen' function. */ +#define HAVE_DLOPEN 1 + +/* Define to 1 if you have the <dns.h> header file. */ +/* #undef HAVE_DNS_H */ + +/* Define to 1 if you have the `dns_search' function. */ +/* #undef HAVE_DNS_SEARCH */ + +/* Define to 1 if you have the `dn_expand' function. */ +#define HAVE_DN_EXPAND 1 + +/* Define to 1 if you have the `door_create' function. */ +/* #undef HAVE_DOOR_CREATE */ + +/* Define if you have the function `ecalloc'. */ +/* #undef HAVE_ECALLOC */ + +/* Define if you have the function `emalloc'. */ +/* #undef HAVE_EMALLOC */ + +/* Define if you have the function `erealloc'. */ +/* #undef HAVE_EREALLOC */ + +/* Define if you have the function `err'. */ +#define HAVE_ERR 1 + +/* Define to 1 if you have the <errno.h> header file. */ +#define HAVE_ERRNO_H 1 + +/* Define if you have the function `errx'. */ +#define HAVE_ERRX 1 + +/* Define to 1 if you have the <err.h> header file. */ +#define HAVE_ERR_H 1 + +/* Define if you have the function `estrdup'. */ +/* #undef HAVE_ESTRDUP */ + +/* Define to 1 if you have the <execinfo.h> header file. */ +/* #undef HAVE_EXECINFO_H */ + +/* Define if you have the function `fchown'. */ +#define HAVE_FCHOWN 1 + +/* Define to 1 if you have the `fcntl' function. */ +#define HAVE_FCNTL 1 + +/* Define to 1 if you have the <fcntl.h> header file. */ +#define HAVE_FCNTL_H 1 + +/* Define if you have the function `flock'. */ +#define HAVE_FLOCK 1 + +/* Define if you have the function `fnmatch'. */ +#define HAVE_FNMATCH 1 + +/* Define to 1 if you have the <fnmatch.h> header file. */ +#define HAVE_FNMATCH_H 1 + +/* Have -framework Security */ +/* #undef HAVE_FRAMEWORK_SECURITY */ + +/* Define to 1 if you have the `freeaddrinfo' function. */ +#define HAVE_FREEADDRINFO 1 + +/* Define if you have the function `freehostent'. */ +#define HAVE_FREEHOSTENT 1 + +/* Define to 1 if you have the `gai_strerror' function. */ +#define HAVE_GAI_STRERROR 1 + +/* Define if os support gcd. */ +/* #undef HAVE_GCD */ + +/* Define to 1 if you have the <gdbm/ndbm.h> header file. */ +/* #undef HAVE_GDBM_NDBM_H */ + +/* Define to 1 if you have the `getaddrinfo' function. */ +#define HAVE_GETADDRINFO 1 + +/* Define to 1 if you have the `getconfattr' function. */ +/* #undef HAVE_GETCONFATTR */ + +/* Define if you have the function `getcwd'. */ +#define HAVE_GETCWD 1 + +/* Define if you have the function `getdtablesize'. */ +#define HAVE_GETDTABLESIZE 1 + +/* Define if you have the function `getegid'. */ +#define HAVE_GETEGID 1 + +/* Define if you have the function `geteuid'. */ +#define HAVE_GETEUID 1 + +/* Define if you have the function `getgid'. */ +#define HAVE_GETGID 1 + +/* Define to 1 if you have the `gethostbyname' function. */ +#define HAVE_GETHOSTBYNAME 1 + +/* Define to 1 if you have the `gethostbyname2' function. */ +#define HAVE_GETHOSTBYNAME2 1 + +/* Define if you have the function `gethostname'. */ +#define HAVE_GETHOSTNAME 1 + +/* Define if you have the function `getifaddrs'. */ +#define HAVE_GETIFADDRS 1 + +/* Define if you have the function `getipnodebyaddr'. */ +#define HAVE_GETIPNODEBYADDR 1 + +/* Define if you have the function `getipnodebyname'. */ +#define HAVE_GETIPNODEBYNAME 1 + +/* Define to 1 if you have the `getlogin' function. */ +#define HAVE_GETLOGIN 1 + +/* Define if you have a working getmsg. */ +/* #undef HAVE_GETMSG */ + +/* Define to 1 if you have the `getnameinfo' function. */ +#define HAVE_GETNAMEINFO 1 + +/* Define if you have the function `getopt'. */ +#define HAVE_GETOPT 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getpeereid' function. */ +#define HAVE_GETPEEREID 1 + +/* Define to 1 if you have the `getpeerucred' function. */ +/* #undef HAVE_GETPEERUCRED */ + +/* Define to 1 if you have the `getprogname' function. */ +#define HAVE_GETPROGNAME 1 + +/* Define to 1 if you have the `getpwnam_r' function. */ +#define HAVE_GETPWNAM_R 1 + +/* Define to 1 if you have the `getrlimit' function. */ +#define HAVE_GETRLIMIT 1 + +/* Define to 1 if you have the `getsockopt' function. */ +#define HAVE_GETSOCKOPT 1 + +/* Define to 1 if you have the `getspnam' function. */ +/* #undef HAVE_GETSPNAM */ + +/* Define if you have the function `gettimeofday'. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `getudbnam' function. */ +/* #undef HAVE_GETUDBNAM */ + +/* Define if you have the function `getuid'. */ +#define HAVE_GETUID 1 + +/* Define if you have the function `getusershell'. */ +#define HAVE_GETUSERSHELL 1 + +/* define if you have a glob() that groks GLOB_BRACE, GLOB_NOCHECK, + GLOB_QUOTE, GLOB_TILDE, and GLOB_LIMIT */ +#define HAVE_GLOB 1 + +/* Define to 1 if you have the `grantpt' function. */ +#define HAVE_GRANTPT 1 + +/* Define to 1 if you have the <grp.h> header file. */ +#define HAVE_GRP_H 1 + +/* Define to 1 if you have the `hstrerror' function. */ +#define HAVE_HSTRERROR 1 + +/* Define if you have the `h_errlist' variable. */ +#define HAVE_H_ERRLIST 1 + +/* Define if you have the `h_errno' variable. */ +#define HAVE_H_ERRNO 1 + +/* Define if you have the `h_nerr' variable. */ +/* #undef HAVE_H_NERR */ + +/* Define to 1 if you have the <ifaddrs.h> header file. */ +#define HAVE_IFADDRS_H 1 + +/* Define if you have the in6addr_loopback variable */ +#define HAVE_IN6ADDR_LOOPBACK 1 + +/* define */ +#define HAVE_INET_ATON 1 + +/* define */ +#define HAVE_INET_NTOP 1 + +/* define */ +#define HAVE_INET_PTON 1 + +/* Define if you have the function `initgroups'. */ +#define HAVE_INITGROUPS 1 + +/* Define if you have the function `innetgr'. */ +#define HAVE_INNETGR 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 `int64_t'. */ +#define HAVE_INT64_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 <io.h> header file. */ +/* #undef HAVE_IO_H */ + +/* Define if you have IPv6. */ +#define HAVE_IPV6 1 + +/* Define if you have the function `iruserok'. */ +#define HAVE_IRUSEROK 1 + +/* Define to 1 if you have the `issetugid' function. */ +#define HAVE_ISSETUGID 1 + +/* Define if you want to use the Kerberos Credentials Manager. */ +#define HAVE_KCM 1 + +/* Define to 1 if you have the <libutil.h> header file. */ +#define HAVE_LIBUTIL_H 1 + +/* Define to 1 if you have the <limits.h> header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the `loadquery' function. */ +/* #undef HAVE_LOADQUERY */ + +/* Define to 1 if you have the <locale.h> header file. */ +#define HAVE_LOCALE_H 1 + +/* Define if you have the function `localtime_r'. */ +#define HAVE_LOCALTIME_R 1 + +/* Define to 1 if you have the `logout' function. */ +/* #undef HAVE_LOGOUT */ + +/* Define to 1 if you have the `logwtmp' function. */ +/* #undef HAVE_LOGWTMP */ + +/* Define to 1 if the system has the type `long long'. */ +#define HAVE_LONG_LONG 1 + +/* Define if you have the function `lstat'. */ +#define HAVE_LSTAT 1 + +/* Define to 1 if you have the <maillock.h> header file. */ +/* #undef HAVE_MAILLOCK_H */ + +/* Define if you have the function `memmove'. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the <memory.h> header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if you have the function `mkstemp'. */ +#define HAVE_MKSTEMP 1 + +/* Define to 1 if you have the `mktime' function. */ +#define HAVE_MKTIME 1 + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* define if you have a ndbm library */ +#define HAVE_NDBM 1 + +/* Define to 1 if you have the <ndbm.h> header file. */ +#define HAVE_NDBM_H 1 + +/* Define to 1 if you have the <netdb.h> header file. */ +#define HAVE_NETDB_H 1 + +/* Define to 1 if you have the <netgroup.h> header file. */ +/* #undef HAVE_NETGROUP_H */ + +/* Define to 1 if you have the <netinet6/in6.h> header file. */ +/* #undef HAVE_NETINET6_IN6_H */ + +/* Define to 1 if you have the <netinet6/in6_var.h> header file. */ +/* #undef HAVE_NETINET6_IN6_VAR_H */ + +/* Define to 1 if you have the <netinet/in6.h> header file. */ +/* #undef HAVE_NETINET_IN6_H */ + +/* Define to 1 if you have the <netinet/in6_machtypes.h> header file. */ +/* #undef HAVE_NETINET_IN6_MACHTYPES_H */ + +/* 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 <netinet/in_systm.h> header file. */ +#define HAVE_NETINET_IN_SYSTM_H 1 + +/* Define to 1 if you have the <netinet/ip.h> header file. */ +#define HAVE_NETINET_IP_H 1 + +/* Define to 1 if you have the <netinet/tcp.h> header file. */ +#define HAVE_NETINET_TCP_H 1 + +/* Define to 1 if you have the <net/if.h> header file. */ +#define HAVE_NET_IF_H 1 + +/* Define if NDBM really is DB (creates files *.db) */ +#define HAVE_NEW_DB 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `openpty' function. */ +#define HAVE_OPENPTY 1 + +/* define to use openssl's libcrypto */ +#define HAVE_OPENSSL 1 + +/* Define to enable basic OSF C2 support. */ +/* #undef HAVE_OSFC2 */ + +/* Define to 1 if you have the <paths.h> header file. */ +#define HAVE_PATHS_H 1 + +/* Define to 1 if you have the `pidfile' function. */ +/* #undef HAVE_PIDFILE */ + +/* Define to 1 if you have the `poll' function. */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the <poll.h> header file. */ +#define HAVE_POLL_H 1 + +/* Define to 1 if you have the <pthread.h> header file. */ +#define HAVE_PTHREAD_H 1 + +/* Define to 1 if you have the `ptsname' function. */ +#define HAVE_PTSNAME 1 + +/* Define to 1 if you have the <pty.h> header file. */ +/* #undef HAVE_PTY_H */ + +/* Define if you have the function `putenv'. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the <pwd.h> header file. */ +#define HAVE_PWD_H 1 + +/* Define to 1 if you have the `rand' function. */ +#define HAVE_RAND 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define if you have the function `rcmd'. */ +#define HAVE_RCMD 1 + +/* Define if you have a readline compatible library. */ +#define HAVE_READLINE 1 + +/* Define to 1 if you have the + <[readline.h])[][]_AH_CHECK_HEADER([readline/readline.h]> header file. */ +/* #undef HAVE_READLINE_H */ + +/* Define to 1 if you have the <readline/readline.h > header file. */ +/* #undef HAVE_READLINE_READLINE_H_ */ + +/* Define if you have the function `readv'. */ +#define HAVE_READV 1 + +/* Define if you have the function `recvmsg'. */ +#define HAVE_RECVMSG 1 + +/* Define to 1 if you have the <resolv.h> header file. */ +#define HAVE_RESOLV_H 1 + +/* Define to 1 if you have the `res_ndestroy' function. */ +#define HAVE_RES_NDESTROY 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 `revoke' function. */ +#define HAVE_REVOKE 1 + +/* Define to 1 if you have the <rpcsvc/ypclnt.h> header file. */ +#define HAVE_RPCSVC_YPCLNT_H 1 + +/* Define to 1 if you have the <sac.h> header file. */ +/* #undef HAVE_SAC_H */ + +/* Define to 1 if the system has the type `sa_family_t'. */ +#define HAVE_SA_FAMILY_T 1 + +/* Define if you want support for cache in sqlite. */ +#undef HAVE_SCC + +/* Define to 1 if you have the <search.h> header file. */ +#define HAVE_SEARCH_H 1 + +/* Define to 1 if you have the <security/pam_modules.h> header file. */ +#define HAVE_SECURITY_PAM_MODULES_H 1 + +/* Define to 1 if you have the `select' function. */ +#define HAVE_SELECT 1 + +/* Define if you have the function `sendmsg'. */ +#define HAVE_SENDMSG 1 + +/* Define if you have the function `setegid'. */ +#define HAVE_SETEGID 1 + +/* Define if you have the function `setenv'. */ +#define HAVE_SETENV 1 + +/* Define if you have the function `seteuid'. */ +#define HAVE_SETEUID 1 + +/* Define to 1 if you have the `setitimer' function. */ +#define HAVE_SETITIMER 1 + +/* Define to 1 if you have the `setlim' function. */ +/* #undef HAVE_SETLIM */ + +/* Define to 1 if you have the `setlogin' function. */ +#define HAVE_SETLOGIN 1 + +/* Define to 1 if you have the `setpcred' function. */ +/* #undef HAVE_SETPCRED */ + +/* Define to 1 if you have the `setpgid' function. */ +#define HAVE_SETPGID 1 + +/* Define to 1 if you have the `setproctitle' function. */ +#define HAVE_SETPROCTITLE 1 + +/* Define to 1 if you have the `setprogname' function. */ +#define HAVE_SETPROGNAME 1 + +/* 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 `setsockopt' function. */ +#define HAVE_SETSOCKOPT 1 + +/* Define to 1 if you have the `setutent' function. */ +/* #undef HAVE_SETUTENT */ + +/* Define to 1 if you have the `sgi_getcapabilitybyname' function. */ +/* #undef HAVE_SGI_GETCAPABILITYBYNAME */ + +/* Define to 1 if you have the <sgtty.h> header file. */ +/* #undef HAVE_SGTTY_H */ + +/* Define to 1 if you have the <shadow.h> header file. */ +/* #undef HAVE_SHADOW_H */ + +/* Define to 1 if you have the <siad.h> header file. */ +/* #undef HAVE_SIAD_H */ + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION 1 + +/* Define to 1 if you have the <signal.h> header file. */ +#define HAVE_SIGNAL_H 1 + +/* define if you have a working snprintf */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the `socket' function. */ +#define HAVE_SOCKET 1 + +/* Define to 1 if the system has the type `socklen_t'. */ +#define HAVE_SOCKLEN_T 1 + +/* Define if you want support for sqlite in Heimdal. */ +#define HAVE_SQLITE3 1 + +/* Define to 1 if the system has the type `ssize_t'. */ +#define HAVE_SSIZE_T 1 + +/* Define to 1 if you have the <standards.h> header file. */ +/* #undef HAVE_STANDARDS_H */ + +/* 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 if you have the function `strcasecmp'. */ +#define HAVE_STRCASECMP 1 + +/* Define if you have the function `strdup'. */ +#define HAVE_STRDUP 1 + +/* Define if you have the function `strerror'. */ +#define HAVE_STRERROR 1 + +/* Define if you have the function strerror_r. */ +#define HAVE_STRERROR_R 1 + +/* Define if you have the function `strftime'. */ +#define HAVE_STRFTIME 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 if you have the function `strlcat'. */ +#define HAVE_STRLCAT 1 + +/* Define if you have the function `strlcpy'. */ +#define HAVE_STRLCPY 1 + +/* Define if you have the function `strlwr'. */ +/* #undef HAVE_STRLWR */ + +/* Define if you have the function `strncasecmp'. */ +#define HAVE_STRNCASECMP 1 + +/* Define if you have the function `strndup'. */ +#define HAVE_STRNDUP 1 + +/* Define if you have the function `strnlen'. */ +#define HAVE_STRNLEN 1 + +/* Define to 1 if you have the <stropts.h> header file. */ +/* #undef HAVE_STROPTS_H */ + +/* Define if you have the function `strptime'. */ +#define HAVE_STRPTIME 1 + +/* Define if you have the function `strsep'. */ +#define HAVE_STRSEP 1 + +/* Define if you have the function `strsep_copy'. */ +/* #undef HAVE_STRSEP_COPY */ + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strsvis' function. */ +/* #undef HAVE_STRSVIS */ + +/* Define to 1 if you have the `strsvisx' function. */ +/* #undef HAVE_STRSVISX */ + +/* Define if you have the function `strtok_r'. */ +#define HAVE_STRTOK_R 1 + +/* Define to 1 if the system has the type `struct addrinfo'. */ +#define HAVE_STRUCT_ADDRINFO 1 + +/* Define to 1 if the system has the type `struct ifaddrs'. */ +#define HAVE_STRUCT_IFADDRS 1 + +/* Define to 1 if the system has the type `struct iovec'. */ +#define HAVE_STRUCT_IOVEC 1 + +/* Define to 1 if the system has the type `struct msghdr'. */ +#define HAVE_STRUCT_MSGHDR 1 + +/* Define to 1 if the system has the type `struct sockaddr'. */ +#define HAVE_STRUCT_SOCKADDR 1 + +/* Define if struct sockaddr has field sa_len. */ +#define HAVE_STRUCT_SOCKADDR_SA_LEN 1 + +/* Define to 1 if the system has the type `struct sockaddr_storage'. */ +#define HAVE_STRUCT_SOCKADDR_STORAGE 1 + +/* define if you have struct spwd */ +/* #undef HAVE_STRUCT_SPWD */ + +/* Define if struct tm has field tm_gmtoff. */ +#define HAVE_STRUCT_TM_TM_GMTOFF 1 + +/* Define if struct tm has field tm_zone. */ +#define HAVE_STRUCT_TM_TM_ZONE 1 + +/* Define if struct utmpx has field ut_exit. */ +/* #undef HAVE_STRUCT_UTMPX_UT_EXIT */ + +/* Define if struct utmpx has field ut_host. */ +#define HAVE_STRUCT_UTMPX_UT_HOST 1 + +/* Define if struct utmpx has field ut_id. */ +#define HAVE_STRUCT_UTMPX_UT_ID 1 + +/* Define if struct utmpx has field ut_line. */ +#define HAVE_STRUCT_UTMPX_UT_LINE 1 + +/* Define if struct utmpx has field ut_pid. */ +#define HAVE_STRUCT_UTMPX_UT_PID 1 + +/* Define if struct utmpx has field ut_syslen. */ +/* #undef HAVE_STRUCT_UTMPX_UT_SYSLEN */ + +/* Define if struct utmpx has field ut_tv. */ +#define HAVE_STRUCT_UTMPX_UT_TV 1 + +/* Define if struct utmpx has field ut_type. */ +#define HAVE_STRUCT_UTMPX_UT_TYPE 1 + +/* Define if struct utmpx has field ut_user. */ +#define HAVE_STRUCT_UTMPX_UT_USER 1 + +/* Define if struct utmp has field ut_addr. */ +/* #undef HAVE_STRUCT_UTMP_UT_ADDR */ + +/* Define if struct utmp has field ut_host. */ +/* #undef HAVE_STRUCT_UTMP_UT_HOST */ + +/* Define if struct utmp has field ut_id. */ +/* #undef HAVE_STRUCT_UTMP_UT_ID */ + +/* Define if struct utmp has field ut_pid. */ +/* #undef HAVE_STRUCT_UTMP_UT_PID */ + +/* Define if struct utmp has field ut_type. */ +/* #undef HAVE_STRUCT_UTMP_UT_TYPE */ + +/* Define if struct utmp has field ut_user. */ +/* #undef HAVE_STRUCT_UTMP_UT_USER */ + +/* define if struct winsize is declared in sys/termios.h */ +#define HAVE_STRUCT_WINSIZE 1 + +/* Define to 1 if you have the `strunvis' function. */ +#define HAVE_STRUNVIS 1 + +/* Define if you have the function `strupr'. */ +/* #undef HAVE_STRUPR */ + +/* Define to 1 if you have the `strvis' function. */ +#define HAVE_STRVIS 1 + +/* Define to 1 if you have the `strvisx' function. */ +#define HAVE_STRVISX 1 + +/* Define to 1 if you have the `svis' function. */ +/* #undef HAVE_SVIS */ + +/* Define if you have the function `swab'. */ +#define HAVE_SWAB 1 + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `syslog' function. */ +#define HAVE_SYSLOG 1 + +/* Define to 1 if you have the <syslog.h> header file. */ +#define HAVE_SYSLOG_H 1 + +/* Define to 1 if you have the <sys/bitypes.h> header file. */ +/* #undef HAVE_SYS_BITYPES_H */ + +/* 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/capability.h> header file. */ +#define HAVE_SYS_CAPABILITY_H 1 + +/* Define to 1 if you have the <sys/category.h> header file. */ +/* #undef HAVE_SYS_CATEGORY_H */ + +/* 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/ioccom.h> header file. */ +#define HAVE_SYS_IOCCOM_H 1 + +/* Define to 1 if you have the <sys/ioctl.h> header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the <sys/mman.h> header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* 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/proc.h> header file. */ +#define HAVE_SYS_PROC_H 1 + +/* Define to 1 if you have the <sys/ptyio.h> header file. */ +/* #undef HAVE_SYS_PTYIO_H */ + +/* Define to 1 if you have the <sys/ptyvar.h> header file. */ +/* #undef HAVE_SYS_PTYVAR_H */ + +/* Define to 1 if you have the <sys/pty.h> header file. */ +/* #undef HAVE_SYS_PTY_H */ + +/* Define to 1 if you have the <sys/resource.h> header file. */ +#define HAVE_SYS_RESOURCE_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/stream.h> header file. */ +/* #undef HAVE_SYS_STREAM_H */ + +/* Define to 1 if you have the <sys/stropts.h> header file. */ +/* #undef HAVE_SYS_STROPTS_H */ + +/* Define to 1 if you have the <sys/strtty.h> header file. */ +/* #undef HAVE_SYS_STRTTY_H */ + +/* Define to 1 if you have the <sys/str_tty.h> header file. */ +/* #undef HAVE_SYS_STR_TTY_H */ + +/* Define to 1 if you have the <sys/syscall.h> header file. */ +#define HAVE_SYS_SYSCALL_H 1 + +/* Define to 1 if you have the <sys/sysctl.h> header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the <sys/termio.h> header file. */ +/* #undef HAVE_SYS_TERMIO_H */ + +/* Define to 1 if you have the <sys/timeb.h> header file. */ +#define HAVE_SYS_TIMEB_H 1 + +/* Define to 1 if you have the <sys/times.h> header file. */ +#define HAVE_SYS_TIMES_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/tty.h> header file. */ +#define HAVE_SYS_TTY_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/ucred.h> header file. */ +#define HAVE_SYS_UCRED_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 <sys/un.h> header file. */ +#define HAVE_SYS_UN_H 1 + +/* Define to 1 if you have the <sys/utsname.h> header file. */ +#define HAVE_SYS_UTSNAME_H 1 + +/* Define to 1 if you have the <sys/wait.h> header file. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `tdelete' function. */ +#define HAVE_TDELETE 1 + +/* Define to 1 if you have the <termcap.h> header file. */ +#define HAVE_TERMCAP_H 1 + +/* Define to 1 if you have the <termios.h> header file. */ +#define HAVE_TERMIOS_H 1 + +/* Define to 1 if you have the <termio.h> header file. */ +/* #undef HAVE_TERMIO_H */ + +/* Define to 1 if you have the <term.h> header file. */ +#define HAVE_TERM_H 1 + +/* Define to 1 if you have the `tfind' function. */ +#define HAVE_TFIND 1 + +/* Define to 1 if you have the `tgetent' function. */ +#define HAVE_TGETENT 1 + +/* Define if you have the function `timegm'. */ +#define HAVE_TIMEGM 1 + +/* Define if you have the `timezone' variable. */ +#define HAVE_TIMEZONE 1 + +/* Define to 1 if you have the <time.h> header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the <tmpdir.h> header file. */ +/* #undef HAVE_TMPDIR_H */ + +/* Define if you have the function `tsearch'. */ +#define HAVE_TSEARCH 1 + +/* Define to 1 if you have the `ttyname' function. */ +#define HAVE_TTYNAME 1 + +/* Define to 1 if you have the `ttyslot' function. */ +/* #undef HAVE_TTYSLOT */ + +/* Define to 1 if you have the `twalk' function. */ +#define HAVE_TWALK 1 + +/* Define to 1 if you have the <udb.h> header file. */ +/* #undef HAVE_UDB_H */ + +/* Define to 1 if the system has the type `uint16_t'. */ +#define HAVE_UINT16_T 1 + +/* Define to 1 if the system has the type `uint32_t'. */ +#define HAVE_UINT32_T 1 + +/* Define to 1 if the system has the type `uint64_t'. */ +#define HAVE_UINT64_T 1 + +/* Define to 1 if the system has the type `uint8_t'. */ +#define HAVE_UINT8_T 1 + +/* Define to 1 if the system has the type `uintptr_t'. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the `umask' function. */ +#define HAVE_UMASK 1 + +/* Define to 1 if you have the `uname' function. */ +#define HAVE_UNAME 1 + +/* Define to 1 if you have the <unistd.h> header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `unlockpt' function. */ +#define HAVE_UNLOCKPT 1 + +/* Define if you have the function `unsetenv'. */ +#define HAVE_UNSETENV 1 + +/* Define to 1 if you have the `unvis' function. */ +#define HAVE_UNVIS 1 + +/* Define to 1 if you have the <userconf.h> header file. */ +/* #undef HAVE_USERCONF_H */ + +/* Define to 1 if you have the <usersec.h> header file. */ +/* #undef HAVE_USERSEC_H */ + +/* Define to 1 if you have the <util.h> header file. */ +/* #undef HAVE_UTIL_H */ + +/* Define to 1 if you have the <utmpx.h> header file. */ +#define HAVE_UTMPX_H 1 + +/* Define to 1 if you have the <utmp.h> header file. */ +/* #undef HAVE_UTMP_H */ + +/* 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_int64_t'. */ +#define HAVE_U_INT64_T 1 + +/* Define to 1 if the system has the type `u_int8_t'. */ +#define HAVE_U_INT8_T 1 + +/* Define to 1 if you have the `vasnprintf' function. */ +/* #undef HAVE_VASNPRINTF */ + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define if you have the function `verr'. */ +#define HAVE_VERR 1 + +/* Define if you have the function `verrx'. */ +#define HAVE_VERRX 1 + +/* Define to 1 if you have the `vhangup' function. */ +/* #undef HAVE_VHANGUP */ + +/* Define to 1 if you have the `vis' function. */ +#define HAVE_VIS 1 + +/* Define to 1 if you have the <vis.h> header file. */ +#define HAVE_VIS_H 1 + +/* define if you have a working vsnprintf */ +#define HAVE_VSNPRINTF 1 + +/* Define if you have the function `vsyslog'. */ +#define HAVE_VSYSLOG 1 + +/* Define if you have the function `vwarn'. */ +#define HAVE_VWARN 1 + +/* Define if you have the function `vwarnx'. */ +#define HAVE_VWARNX 1 + +/* Define if you have the function `warn'. */ +#define HAVE_WARN 1 + +/* Define if you have the function `warnx'. */ +#define HAVE_WARNX 1 + +/* Define to 1 if you have the <winsock2.h> header file. */ +/* #undef HAVE_WINSOCK2_H */ + +/* Define if you have the function `writev'. */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the <ws2tcpip.h> header file. */ +/* #undef HAVE_WS2TCPIP_H */ + +/* define if struct winsize has ws_xpixel */ +#define HAVE_WS_XPIXEL 1 + +/* define if struct winsize has ws_ypixel */ +#define HAVE_WS_YPIXEL 1 + +/* Define to 1 if you have the `XauFileName' function. */ +/* #undef HAVE_XAUFILENAME */ + +/* Define to 1 if you have the `XauReadAuth' function. */ +/* #undef HAVE_XAUREADAUTH */ + +/* Define to 1 if you have the `XauWriteAuth' function. */ +/* #undef HAVE_XAUWRITEAUTH */ + +/* Define to 1 if you have the `yp_get_default_domain' function. */ +#define HAVE_YP_GET_DEFAULT_DOMAIN 1 + +/* Define to 1 if you have the `_getpty' function. */ +/* #undef HAVE__GETPTY */ + +/* Define if you have the `_res' variable. */ +#define HAVE__RES 1 + +/* Define to 1 if you have the `_scrsize' function. */ +/* #undef HAVE__SCRSIZE */ + +/* define if your compiler has __attribute__ */ +#define HAVE___ATTRIBUTE__ 1 + +/* Define if you have the `__progname' variable. */ +#define HAVE___PROGNAME 1 + +/* have __sync_add_and_fetch */ +#if defined(__FreeBSD__) && (defined(__arm__) || defined(__mips__)) +#undef HAVE___SYNC_ADD_AND_FETCH /* Not supported on FreeBSD/arm */ +#else +#define HAVE___SYNC_ADD_AND_FETCH 1 +#endif + +/* Define if you want support for weak crypto */ +#define HEIM_WEAK_CRYPTO 1 + +/* Define if you have the hesiod package. */ +/* #undef HESIOD */ + +/* Enable Kerberos 5 support in applications. */ +#define KRB5 1 + +/* Define to enable kx509. */ +#define KX509 1 + +/* path to lib */ +#define LIBDIR "/usr/lib" + +/* Define if you have the libedit package. */ +/* #undef LIBEDIT */ + +/* path to libexec */ +#define LIBEXECDIR "/usr/libexec" + +/* Define if you have the libintl package. */ +/* #undef LIBINTL */ + +/* path to localstate */ +#define LOCALSTATEDIR "/var/heimdal" + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* define if the system is missing a prototype for asnprintf() */ +#define NEED_ASNPRINTF_PROTO 1 + +/* define if the system is missing a prototype for asprintf() */ +/* #undef NEED_ASPRINTF_PROTO */ + +/* define if the system is missing a prototype for crypt() */ +/* #undef NEED_CRYPT_PROTO */ + +/* define if the system is missing a prototype for daemon() */ +#define NEED_DAEMON_PROTO 1 + +/* define if the system is missing a prototype for gethostname() */ +/* #undef NEED_GETHOSTNAME_PROTO */ + +/* define if the system is missing a prototype for getusershell() */ +/* #undef NEED_GETUSERSHELL_PROTO */ + +/* define if the system is missing a prototype for glob() */ +/* #undef NEED_GLOB_PROTO */ + +/* define if the system is missing a prototype for hstrerror() */ +/* #undef NEED_HSTRERROR_PROTO */ + +/* define if the system is missing a prototype for inet_aton() */ +/* #undef NEED_INET_ATON_PROTO */ + +/* define if the system is missing a prototype for iruserok() */ +/* #undef NEED_IRUSEROK_PROTO */ + +/* define if the system is missing a prototype for mkstemp() */ +/* #undef NEED_MKSTEMP_PROTO */ + +/* if your qsort is not a stable sort */ +/* #undef NEED_QSORT */ + +/* define if the system is missing a prototype for SecKeyGetCSPHandle() */ +/* #undef NEED_SECKEYGETCSPHANDLE_PROTO */ + +/* define if the system is missing a prototype for setenv() */ +/* #undef NEED_SETENV_PROTO */ + +/* define if the system is missing a prototype for snprintf() */ +/* #undef NEED_SNPRINTF_PROTO */ + +/* define if the system is missing a prototype for strndup() */ +/* #undef NEED_STRNDUP_PROTO */ + +/* define if the system is missing a prototype for strsep() */ +/* #undef NEED_STRSEP_PROTO */ + +/* define if the system is missing a prototype for strsvisx() */ +#define NEED_STRSVISX_PROTO 1 + +/* define if the system is missing a prototype for strsvis() */ +#define NEED_STRSVIS_PROTO 1 + +/* define if the system is missing a prototype for strtok_r() */ +/* #undef NEED_STRTOK_R_PROTO */ + +/* define if the system is missing a prototype for strunvis() */ +/* #undef NEED_STRUNVIS_PROTO */ + +/* define if the system is missing a prototype for strvisx() */ +/* #undef NEED_STRVISX_PROTO */ + +/* define if the system is missing a prototype for strvis() */ +/* #undef NEED_STRVIS_PROTO */ + +/* define if the system is missing a prototype for svis() */ +#define NEED_SVIS_PROTO 1 + +/* define if the system is missing a prototype for unsetenv() */ +/* #undef NEED_UNSETENV_PROTO */ + +/* define if the system is missing a prototype for unvis() */ +/* #undef NEED_UNVIS_PROTO */ + +/* define if the system is missing a prototype for vasnprintf() */ +#define NEED_VASNPRINTF_PROTO 1 + +/* define if the system is missing a prototype for vasprintf() */ +/* #undef NEED_VASPRINTF_PROTO */ + +/* define if the system is missing a prototype for vis() */ +/* #undef NEED_VIS_PROTO */ + +/* define if the system is missing a prototype for vsnprintf() */ +/* #undef NEED_VSNPRINTF_PROTO */ + +/* Define if you don't wan't support for AFS. */ +/* #undef NO_AFS */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define if you don't want to use mmap. */ +/* #undef NO_MMAP */ + +/* Define this to enable old environment option in telnet. */ +#define OLD_ENVIRON 1 + +/* Define if you have the openldap package. */ +/* #undef OPENLDAP */ + +/* Define if you want support for hdb ldap module */ +/* #undef OPENLDAP_MODULE */ + +/* define if prototype of openlog is compatible with void openlog(const char + *, int, int) */ +#define OPENLOG_PROTO_COMPATIBLE 1 + +/* Define if you want OTP support in applications. */ +#define OTP 1 + +/* Name of package */ +#define PACKAGE "heimdal" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "heimdal-bugs@h5l.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "Heimdal" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "Heimdal 1.5.1" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "heimdal" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.5.1" + +/* Define to enable PKINIT. */ +#define PKINIT 1 + +/* Define if getlogin has POSIX flavour (and not BSD). */ +/* #undef POSIX_GETLOGIN */ + +/* Define if getpwnam_r has POSIX flavour. */ +#define POSIX_GETPWNAM_R 1 + +/* Define if you have the readline package. */ +/* #undef READLINE */ + +/* Define as the return type of signal handlers (`int' or `void'). */ +#define RETSIGTYPE void + +/* path to sbin */ +#define SBINDIR "/usr/sbin" + +/* Define if you want to use samba socket wrappers. */ +/* #undef SOCKET_WRAPPER_REPLACE */ + +/* Define if you have the sqlite3 package. */ +/* #undef SQLITE3 */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you have streams ptys. */ +/* #undef STREAMSPTY */ + +/* define if prototype of strerror_r is compatible with int strerror_r(int, + char *, size_t) */ +#define STRERROR_R_PROTO_COMPATIBLE 1 + +/* Define if os support want to detach is daemonens. */ +#define SUPPORT_DETACH 1 + +/* Enable use of inetd style startup. */ +#define SUPPORT_INETD 1 + +/* path to sysconf */ +#define SYSCONFDIR "/etc" + +/* Define to what version of SunOS you are running. */ +/* #undef SunOS */ + +/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your <sys/time.h> declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Version number of package */ +#define VERSION "1.5.1" + +/* Define if signal handlers return void. */ +#define VOID_RETSIGTYPE 1 + +/* define if target is big endian */ +/* #undef WORDS_BIGENDIAN */ + +/* Define to 1 if the X Window System is missing or not being used. */ +#define X_DISPLAY_MISSING 1 + +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +#define YYTEXT_POINTER 1 + +/* Required for functional/sane headers on AIX */ +/* #undef _ALL_SOURCE */ + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define to enable extensions on glibc-based systems such as Linux. */ +#define _GNU_SOURCE 1 + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to get POSIX getpwnam_r in some systems. */ +/* #undef _POSIX_PTHREAD_SEMANTICS */ + +/* 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 this to what the type mode_t should be. */ +/* #undef mode_t */ + +/* Define to `long int' if <sys/types.h> does not define. */ +/* #undef off_t */ + +/* Define to `int' if <sys/types.h> does not define. */ +/* #undef pid_t */ + +/* Path name delimiter */ +#define rk_PATH_DELIM '/' + +/* Define this to what the type sig_atomic_t should be. */ +/* #undef sig_atomic_t */ + +/* Define to `unsigned int' if <sys/types.h> does not define. */ +/* #undef size_t */ + +/* Define to `int' if <sys/types.h> doesn't define. */ +/* #undef uid_t */ + +#if _AIX +/* XXX this is gross, but kills about a gazillion warnings */ +struct ether_addr; +struct sockaddr; +struct sockaddr_dl; +struct sockaddr_in; +#endif + +#ifdef __APPLE__ +#include <AvailabilityMacros.h> +#endif + +#ifdef ROKEN_RENAME +#include "roken_rename.h" +#endif + +#ifdef VOID_RETSIGTYPE +#define SIGRETURN(x) return +#else +#define SIGRETURN(x) return (RETSIGTYPE)(x) +#endif + +#ifdef BROKEN_REALLOC +#define realloc(X, Y) rk_realloc((X), (Y)) +#endif + + +#ifdef ENDIANESS_IN_SYS_PARAM_H +# include <sys/types.h> +# include <sys/param.h> +# if BYTE_ORDER == BIG_ENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + + + + +/* Set this to the default system lead string for telnetd + * can contain %-escapes: %s=sysname, %m=machine, %r=os-release + * %v=os-version, %t=tty, %h=hostname, %d=date and time + */ +/* #undef USE_IM */ + +/* Used with login -p */ +/* #undef LOGIN_ARGS */ + +/* set this to a sensible login */ +#ifndef LOGIN_PATH +#define LOGIN_PATH BINDIR "/login" +#endif + diff --git a/kerberos5/include/crypto-headers.h b/kerberos5/include/crypto-headers.h new file mode 100644 index 0000000..dceebce --- /dev/null +++ b/kerberos5/include/crypto-headers.h @@ -0,0 +1,26 @@ +/* $FreeBSD$ */ +#ifndef __crypto_headers_h__ +#define __crypto_headers_h__ + +#include <openssl/evp.h> +#include <openssl/des.h> +#include <openssl/rc4.h> +#include <openssl/rc2.h> +#include <openssl/md4.h> +#include <openssl/md5.h> +#include <openssl/sha.h> +#include <openssl/ui.h> +#include <openssl/rand.h> +#include <openssl/engine.h> +#include <openssl/pkcs12.h> +#include <openssl/pem.h> +#include <openssl/hmac.h> +#include <openssl/ec.h> +#include <openssl/ecdsa.h> +#include <openssl/ecdh.h> +#ifndef BN_is_negative +#define BN_set_negative(bn, flag) ((bn)->neg=(flag)?1:0) +#define BN_is_negative(bn) ((bn)->neg != 0) +#endif + +#endif /* __crypto_headers_h__ */ diff --git a/kerberos5/include/krb5-types.h b/kerberos5/include/krb5-types.h new file mode 100644 index 0000000..32b20fa --- /dev/null +++ b/kerberos5/include/krb5-types.h @@ -0,0 +1,63 @@ +/* + * generic krb5-types.h for cross compiling, assume system is posix/sus + */ + +/* $FreeBSD$ */ + +#ifndef __krb5_types_h__ +#define __krb5_types_h__ + +#include <inttypes.h> +#include <sys/types.h> +#include <sys/socket.h> + +typedef socklen_t krb5_socklen_t; +#include <unistd.h> +typedef ssize_t krb5_ssize_t; + +#if !defined(__has_extension) +#define __has_extension(x) 0 +#endif + +#define KRB5TYPES_REQUIRE_GNUC(m,n,p) \ + (((__GNUC__ * 10000) + (__GNUC_MINOR__ * 100) + __GNUC_PATCHLEVEL__) >= \ + (((m) * 10000) + ((n) * 100) + (p))) + + +#ifndef HEIMDAL_DEPRECATED +#if __has_extension(deprecated) || KRB5TYPES_REQUIRE_GNUC(3,1,0) +#define HEIMDAL_DEPRECATED __attribute__((deprecated)) +#elif defined(_MSC_VER) && (_MSC_VER>1200) +#define HEIMDAL_DEPRECATED __declspec(deprecated) +#else +#define HEIMDAL_DEPRECATED +#endif +#endif + +#ifndef HEIMDAL_PRINTF_ATTRIBUTE +#if __has_extension(format) || KRB5TYPES_REQUIRE_GNUC(3,1,0) +#define HEIMDAL_PRINTF_ATTRIBUTE(x) __attribute__((format x)) +#else +#define HEIMDAL_PRINTF_ATTRIBUTE(x) +#endif +#endif + +#ifndef HEIMDAL_NORETURN_ATTRIBUTE +#if __has_extension(noreturn) || KRB5TYPES_REQUIRE_GNUC(3,1,0) +#define HEIMDAL_NORETURN_ATTRIBUTE __attribute__((noreturn)) +#else +#define HEIMDAL_NORETURN_ATTRIBUTE +#endif +#endif + +#ifndef HEIMDAL_UNUSED_ATTRIBUTE +#if __has_extension(unused) || KRB5TYPES_REQUIRE_GNUC(3,1,0) +#define HEIMDAL_UNUSED_ATTRIBUTE __attribute__((unused)) +#else +#define HEIMDAL_UNUSED_ATTRIBUTE +#endif +#endif + +typedef int krb5_socket_t; + +#endif /* __krb5_types_h__ */ diff --git a/kerberos5/include/version.h b/kerberos5/include/version.h new file mode 100644 index 0000000..01d45f5 --- /dev/null +++ b/kerberos5/include/version.h @@ -0,0 +1,6 @@ +/* $FreeBSD$ */ +#ifndef VERSION_HIDDEN +#define VERSION_HIDDEN +#endif +VERSION_HIDDEN const char *heimdal_long_version = "@(#)$Version: Heimdal 1.5.1 (FreeBSD) $"; +VERSION_HIDDEN const char *heimdal_version = "Heimdal 1.5.1"; diff --git a/kerberos5/lib/Makefile b/kerberos5/lib/Makefile new file mode 100644 index 0000000..d1d44e0 --- /dev/null +++ b/kerberos5/lib/Makefile @@ -0,0 +1,8 @@ + +# $FreeBSD$ + +SUBDIR= libasn1 libgssapi_krb5 libgssapi_ntlm libgssapi_spnego libhdb \ + libheimntlm libhx509 libkadm5clnt libkadm5srv libkafs5 libkrb5 \ + libroken libsl libvers libkdc libwind libheimsqlite libheimbase libheimipcc libheimipcs + +.include <bsd.subdir.mk> diff --git a/kerberos5/lib/Makefile.inc b/kerberos5/lib/Makefile.inc new file mode 100644 index 0000000..264328e --- /dev/null +++ b/kerberos5/lib/Makefile.inc @@ -0,0 +1,5 @@ +# $FreeBSD$ + +SHLIB_MAJOR?= 11 + +.include "../Makefile.inc" diff --git a/kerberos5/lib/libasn1/Makefile b/kerberos5/lib/libasn1/Makefile new file mode 100644 index 0000000..46bff18 --- /dev/null +++ b/kerberos5/lib/libasn1/Makefile @@ -0,0 +1,117 @@ +# $FreeBSD$ + +LIB= asn1 +LDFLAGS= -Wl,--no-undefined +INCS= asn1_err.h asn1-common.h heim_asn1.h der.h der-protos.h der-private.h +LDADD= -lcom_err -lroken +DPADD= ${LIBCOM_ERR} ${LIBROKEN} +VERSION_MAP= ${KRB5DIR}/lib/asn1/version-script.map + +SRCS= asn1_err.c \ + asn1_err.h \ + der.c \ + der_copy.c \ + der_cmp.c \ + der_free.c \ + der_format.c \ + der_get.c \ + der_length.c \ + der_put.c \ + extra.c \ + template.c \ + timegm.c \ + ${GEN:S/.x$/.c/:S/.hx$/.h/} + +CFLAGS+=-I${KRB5DIR}/lib/asn1 -I${KRB5DIR}/lib/roken -I. + +GEN_RFC2459= asn1_rfc2459_asn1.x rfc2459_asn1.hx rfc2459_asn1-priv.hx +GEN_CMS= asn1_cms_asn1.x cms_asn1.hx cms_asn1-priv.hx +GEN_K5= asn1_krb5_asn1.x krb5_asn1.hx krb5_asn1-priv.hx +GEN_PKINIT= asn1_pkinit_asn1.x pkinit_asn1.hx pkinit_asn1-priv.hx +GEN_PKCS8= asn1_pkcs8_asn1.x pkcs8_asn1.hx pkcs8_asn1-priv.hx +GEN_PKCS9= asn1_pkcs9_asn1.x pkcs9_asn1.hx pkcs9_asn1-priv.hx +GEN_PKCS12= asn1_pkcs12_asn1.x pkcs12_asn1.hx pkcs12_asn1-priv.hx +GEN_DIGEST= asn1_digest_asn1.x digest_asn1.hx digest_asn1-priv.hx +GEN_KX509= asn1_kx509_asn1.x kx509_asn1.hx kx509_asn1-priv.hx + +GEN+= ${GEN_RFC2459} +GEN+= ${GEN_CMS} +GEN+= ${GEN_K5} +GEN+= ${GEN_PKINIT} +GEN+= ${GEN_PKCS8} +GEN+= ${GEN_PKCS9} +GEN+= ${GEN_PKCS12} +GEN+= ${GEN_DIGEST} +GEN+= ${GEN_KX509} + +CLEANFILES= ${GEN} ${GEN:S/.x$/.c/:S/.hx$/.h/} *_asn1_files + +INCS+= krb5_asn1.h \ + pkinit_asn1.h \ + cms_asn1.h \ + rfc2459_asn1.h \ + pkcs8_asn1.h \ + pkcs9_asn1.h \ + pkcs12_asn1.h \ + digest_asn1.h \ + kx509_asn1.h + +ASN1_COMPILE= asn1_compile + +${GEN_CMS}: cms.asn1 cms.opt + ${ASN1_COMPILE} --one-code-file \ + --option-file=${.ALLSRC:M*.opt} ${.ALLSRC:M*.asn1} cms_asn1 + +${GEN_RFC2459}: rfc2459.asn1 + ${ASN1_COMPILE} \ + --one-code-file \ + --preserve-binary=TBSCertificate \ + --preserve-binary=TBSCRLCertList \ + --preserve-binary=Name \ + --sequence=GeneralNames \ + --sequence=Extensions \ + --sequence=CRLDistributionPoints ${.ALLSRC:M*.asn1} rfc2459_asn1 + +${GEN_K5}: krb5.asn1 krb5.opt + ${ASN1_COMPILE} \ + --one-code-file \ + --option-file=${.ALLSRC:M*.opt} \ + ${.ALLSRC:M*.asn1} krb5_asn1 + +${GEN_PKINIT}: pkinit.asn1 + ${ASN1_COMPILE} --one-code-file \ + ${.ALLSRC:M*.asn1} pkinit_asn1 + +${GEN_PKCS8}: pkcs8.asn1 + ${ASN1_COMPILE} --one-code-file \ + ${.ALLSRC:M*.asn1} pkcs8_asn1 + +${GEN_PKCS9}: pkcs9.asn1 + ${ASN1_COMPILE} --one-code-file \ + ${.ALLSRC:M*.asn1} pkcs9_asn1 + +${GEN_PKCS12}: pkcs12.asn1 + ${ASN1_COMPILE} --one-code-file \ + ${.ALLSRC:M*.asn1} pkcs12_asn1 + +${GEN_DIGEST}: digest.asn1 + ${ASN1_COMPILE} --one-code-file \ + ${.ALLSRC:M*.asn1} digest_asn1 + +${GEN_KX509}: kx509.asn1 + ${ASN1_COMPILE} --one-code-file \ + ${.ALLSRC:M*.asn1} kx509_asn1 + +.SUFFIXES: .h .c .x .hx + +.x.c: + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + +.hx.h: + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + +.include <bsd.lib.mk> + +.SUFFIXES: .h .c .x .hx + +.PATH: ${KRB5DIR}/lib/asn1 diff --git a/kerberos5/lib/libgssapi_krb5/Makefile b/kerberos5/lib/libgssapi_krb5/Makefile new file mode 100644 index 0000000..95a8f20 --- /dev/null +++ b/kerberos5/lib/libgssapi_krb5/Makefile @@ -0,0 +1,89 @@ +# $FreeBSD$ + +LIB= gssapi_krb5 +LDFLAGS= -Wl,-Bsymbolic -Wl,--no-undefined +LDADD= -lgssapi -lkrb5 -lhx509 -lcrypto -lroken -lasn1 -lcom_err -lcrypt +DPADD= ${LIBGSSAPI} ${LIBKRB5} ${LIBHX509} ${LIBCRYPTO} ${LIBROKEN} ${LIBASN1} \ + ${LIBCOM_ERR} ${LIBCRYPT} +SHLIB_MAJOR= 10 + +INCS= ${KRB5DIR}/lib/gssapi/gssapi/gssapi_krb5.h +INCSDIR= ${INCLUDEDIR}/gssapi + +SRCS= 8003.c \ + accept_sec_context.c \ + acquire_cred.c \ + add_cred.c \ + address_to_krb5addr.c \ + aeap.c \ + arcfour.c \ + authorize_localname.c \ + canonicalize_name.c \ + ccache_name.c \ + cfx.c \ + compare_name.c \ + compat.c \ + context_time.c \ + copy_ccache.c \ + creds.c \ + decapsulate.c \ + delete_sec_context.c \ + display_name.c \ + display_status.c \ + duplicate_name.c \ + encapsulate.c \ + export_name.c \ + export_sec_context.c \ + external.c \ + get_mic.c \ + gkrb5_err.c \ + gkrb5_err.h \ + gsskrb5-private.h \ + gsskrb5_locl.h \ + import_name.c \ + import_sec_context.c \ + indicate_mechs.c \ + init.c \ + init_sec_context.c \ + inquire_context.c \ + inquire_cred.c \ + inquire_cred_by_mech.c \ + inquire_cred_by_oid.c \ + inquire_mechs_for_name.c \ + inquire_names_for_mech.c \ + inquire_sec_context_by_oid.c \ + pname_to_uid.c \ + prefix.c \ + prf.c \ + process_context_token.c \ + release_buffer.c \ + release_cred.c \ + release_name.c \ + sequence.c \ + set_cred_option.c \ + set_sec_context_option.c \ + store_cred.c \ + ticket_flags.c \ + unwrap.c \ + verify_mic.c \ + wrap.c \ + gss_krb5.c \ + gss_oid.c + +#SRCS+= gss_add_oid_set_member.c \ +# gss_create_empty_oid_set.c \ +# gss_release_buffer.c \ +# gss_release_oid_set.c \ +# gss_test_oid_set_member.c \ +# gss_utils.c + +CFLAGS+=-I${KRB5DIR}/lib/gssapi +CFLAGS+=-I${KRB5DIR}/lib/gssapi/krb5 +CFLAGS+=-I${KRB5DIR}/lib/gssapi/gssapi +CFLAGS+=-I${KRB5DIR}/lib/krb5 +CFLAGS+=-I${KRB5DIR}/lib/asn1 +CFLAGS+=-I${KRB5DIR}/lib/roken -I. + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/lib/gssapi/krb5 ${.CURDIR}/../../../lib/libgssapi diff --git a/kerberos5/lib/libgssapi_krb5/gss_krb5.c b/kerberos5/lib/libgssapi_krb5/gss_krb5.c new file mode 100644 index 0000000..36c69cb --- /dev/null +++ b/kerberos5/lib/libgssapi_krb5/gss_krb5.c @@ -0,0 +1,832 @@ +/*- + * Copyright (c) 2005 Doug Rabson + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + * + * $FreeBSD$ + */ + +#include <gssapi/gssapi.h> +#include <gssapi/gssapi_krb5.h> + +/* RCSID("$Id: gss_krb5.c 21889 2007-08-09 07:43:24Z lha $"); */ + +#include <krb5.h> +#include <roken.h> +#include <der.h> + +OM_uint32 +gss_krb5_copy_ccache(OM_uint32 *minor_status, + gss_cred_id_t cred, + krb5_ccache out) +{ + gss_buffer_set_t data_set = GSS_C_NO_BUFFER_SET; + krb5_context context; + krb5_error_code kret; + krb5_ccache id; + OM_uint32 ret; + char *str; + + ret = gss_inquire_cred_by_oid(minor_status, + cred, + GSS_KRB5_COPY_CCACHE_X, + &data_set); + if (ret) + return ret; + + if (data_set == GSS_C_NO_BUFFER_SET || data_set->count != 1) { + gss_release_buffer_set(minor_status, &data_set); + *minor_status = EINVAL; + return GSS_S_FAILURE; + } + + kret = krb5_init_context(&context); + if (kret) { + *minor_status = kret; + gss_release_buffer_set(minor_status, &data_set); + return GSS_S_FAILURE; + } + + kret = asprintf(&str, "%.*s", (int)data_set->elements[0].length, + (char *)data_set->elements[0].value); + gss_release_buffer_set(minor_status, &data_set); + if (kret == -1) { + *minor_status = ENOMEM; + return GSS_S_FAILURE; + } + + kret = krb5_cc_resolve(context, str, &id); + free(str); + if (kret) { + *minor_status = kret; + return GSS_S_FAILURE; + } + + kret = krb5_cc_copy_cache(context, id, out); + krb5_cc_close(context, id); + krb5_free_context(context); + if (kret) { + *minor_status = kret; + return GSS_S_FAILURE; + } + + return ret; +} + +OM_uint32 +gss_krb5_import_cred(OM_uint32 *minor_status, + krb5_ccache id, + krb5_principal keytab_principal, + krb5_keytab keytab, + gss_cred_id_t *cred) +{ + gss_buffer_desc buffer; + OM_uint32 major_status; + krb5_context context; + krb5_error_code ret; + krb5_storage *sp; + krb5_data data; + char *str; + + *cred = GSS_C_NO_CREDENTIAL; + + ret = krb5_init_context(&context); + if (ret) { + *minor_status = ret; + return GSS_S_FAILURE; + } + + sp = krb5_storage_emem(); + if (sp == NULL) { + *minor_status = ENOMEM; + major_status = GSS_S_FAILURE; + goto out; + } + + if (id) { + ret = krb5_cc_get_full_name(context, id, &str); + if (ret == 0) { + ret = krb5_store_string(sp, str); + free(str); + } + } else + ret = krb5_store_string(sp, ""); + if (ret) { + *minor_status = ret; + major_status = GSS_S_FAILURE; + goto out; + } + + if (keytab_principal) { + ret = krb5_unparse_name(context, keytab_principal, &str); + if (ret == 0) { + ret = krb5_store_string(sp, str); + free(str); + } + } else + krb5_store_string(sp, ""); + if (ret) { + *minor_status = ret; + major_status = GSS_S_FAILURE; + goto out; + } + + + if (keytab) { + ret = krb5_kt_get_full_name(context, keytab, &str); + if (ret == 0) { + ret = krb5_store_string(sp, str); + free(str); + } + } else + krb5_store_string(sp, ""); + if (ret) { + *minor_status = ret; + major_status = GSS_S_FAILURE; + goto out; + } + + ret = krb5_storage_to_data(sp, &data); + if (ret) { + *minor_status = ret; + major_status = GSS_S_FAILURE; + goto out; + } + + buffer.value = data.data; + buffer.length = data.length; + + major_status = gss_set_cred_option(minor_status, + cred, + GSS_KRB5_IMPORT_CRED_X, + &buffer); + krb5_data_free(&data); +out: + if (sp) + krb5_storage_free(sp); + krb5_free_context(context); + return major_status; +} + +OM_uint32 +gsskrb5_register_acceptor_identity(const char *identity) +{ + gss_buffer_desc buffer; + OM_uint32 junk; + + buffer.value = rk_UNCONST(identity); + buffer.length = strlen(identity); + + gss_set_sec_context_option(&junk, NULL, + GSS_KRB5_REGISTER_ACCEPTOR_IDENTITY_X, &buffer); + + return (GSS_S_COMPLETE); +} + +OM_uint32 +gsskrb5_set_dns_canonicalize(int flag) +{ + gss_buffer_desc buffer; + OM_uint32 junk; + char b = (flag != 0); + + buffer.value = &b; + buffer.length = sizeof(b); + + gss_set_sec_context_option(&junk, NULL, + GSS_KRB5_SET_DNS_CANONICALIZE_X, &buffer); + + return (GSS_S_COMPLETE); +} + + + +static krb5_error_code +set_key(krb5_keyblock *keyblock, gss_krb5_lucid_key_t *key) +{ + key->type = keyblock->keytype; + key->length = keyblock->keyvalue.length; + key->data = malloc(key->length); + if (key->data == NULL && key->length != 0) + return ENOMEM; + memcpy(key->data, keyblock->keyvalue.data, key->length); + return 0; +} + +static void +free_key(gss_krb5_lucid_key_t *key) +{ + memset(key->data, 0, key->length); + free(key->data); + memset(key, 0, sizeof(*key)); +} + +OM_uint32 +gss_krb5_export_lucid_sec_context(OM_uint32 *minor_status, + gss_ctx_id_t *context_handle, + OM_uint32 version, + void **rctx) +{ + krb5_context context = NULL; + krb5_error_code ret; + gss_buffer_set_t data_set = GSS_C_NO_BUFFER_SET; + OM_uint32 major_status; + gss_krb5_lucid_context_v1_t *ctx = NULL; + krb5_storage *sp = NULL; + uint32_t num; + + if (context_handle == NULL + || *context_handle == GSS_C_NO_CONTEXT + || version != 1) + { + ret = EINVAL; + return GSS_S_FAILURE; + } + + major_status = + gss_inquire_sec_context_by_oid (minor_status, + *context_handle, + GSS_KRB5_EXPORT_LUCID_CONTEXT_V1_X, + &data_set); + if (major_status) + return major_status; + + if (data_set == GSS_C_NO_BUFFER_SET || data_set->count != 1) { + gss_release_buffer_set(minor_status, &data_set); + *minor_status = EINVAL; + return GSS_S_FAILURE; + } + + ret = krb5_init_context(&context); + if (ret) + goto out; + + ctx = calloc(1, sizeof(*ctx)); + if (ctx == NULL) { + ret = ENOMEM; + goto out; + } + + sp = krb5_storage_from_mem(data_set->elements[0].value, + data_set->elements[0].length); + if (sp == NULL) { + ret = ENOMEM; + goto out; + } + + ret = krb5_ret_uint32(sp, &num); + if (ret) goto out; + if (num != 1) { + ret = EINVAL; + goto out; + } + ctx->version = 1; + /* initiator */ + ret = krb5_ret_uint32(sp, &ctx->initiate); + if (ret) goto out; + /* endtime */ + ret = krb5_ret_uint32(sp, &ctx->endtime); + if (ret) goto out; + /* send_seq */ + ret = krb5_ret_uint32(sp, &num); + if (ret) goto out; + ctx->send_seq = ((uint64_t)num) << 32; + ret = krb5_ret_uint32(sp, &num); + if (ret) goto out; + ctx->send_seq |= num; + /* recv_seq */ + ret = krb5_ret_uint32(sp, &num); + if (ret) goto out; + ctx->recv_seq = ((uint64_t)num) << 32; + ret = krb5_ret_uint32(sp, &num); + if (ret) goto out; + ctx->recv_seq |= num; + /* protocol */ + ret = krb5_ret_uint32(sp, &ctx->protocol); + if (ret) goto out; + if (ctx->protocol == 0) { + krb5_keyblock key; + + /* sign_alg */ + ret = krb5_ret_uint32(sp, &ctx->rfc1964_kd.sign_alg); + if (ret) goto out; + /* seal_alg */ + ret = krb5_ret_uint32(sp, &ctx->rfc1964_kd.seal_alg); + if (ret) goto out; + /* ctx_key */ + ret = krb5_ret_keyblock(sp, &key); + if (ret) goto out; + ret = set_key(&key, &ctx->rfc1964_kd.ctx_key); + krb5_free_keyblock_contents(context, &key); + if (ret) goto out; + } else if (ctx->protocol == 1) { + krb5_keyblock key; + + /* acceptor_subkey */ + ret = krb5_ret_uint32(sp, &ctx->cfx_kd.have_acceptor_subkey); + if (ret) goto out; + /* ctx_key */ + ret = krb5_ret_keyblock(sp, &key); + if (ret) goto out; + ret = set_key(&key, &ctx->cfx_kd.ctx_key); + krb5_free_keyblock_contents(context, &key); + if (ret) goto out; + /* acceptor_subkey */ + if (ctx->cfx_kd.have_acceptor_subkey) { + ret = krb5_ret_keyblock(sp, &key); + if (ret) goto out; + ret = set_key(&key, &ctx->cfx_kd.acceptor_subkey); + krb5_free_keyblock_contents(context, &key); + if (ret) goto out; + } + } else { + ret = EINVAL; + goto out; + } + + *rctx = ctx; + +out: + gss_release_buffer_set(minor_status, &data_set); + if (sp) + krb5_storage_free(sp); + if (context) + krb5_free_context(context); + + if (ret) { + if (ctx) + gss_krb5_free_lucid_sec_context(NULL, ctx); + + *minor_status = ret; + return GSS_S_FAILURE; + } + *minor_status = 0; + return GSS_S_COMPLETE; +} + +OM_uint32 +gss_krb5_free_lucid_sec_context(OM_uint32 *minor_status, void *c) +{ + gss_krb5_lucid_context_v1_t *ctx = c; + + if (ctx->version != 1) { + if (minor_status) + *minor_status = 0; + return GSS_S_FAILURE; + } + + if (ctx->protocol == 0) { + free_key(&ctx->rfc1964_kd.ctx_key); + } else if (ctx->protocol == 1) { + free_key(&ctx->cfx_kd.ctx_key); + if (ctx->cfx_kd.have_acceptor_subkey) + free_key(&ctx->cfx_kd.acceptor_subkey); + } + free(ctx); + if (minor_status) + *minor_status = 0; + return GSS_S_COMPLETE; +} + +/* + * + */ + +OM_uint32 +gss_krb5_set_allowable_enctypes(OM_uint32 *minor_status, + gss_cred_id_t cred, + OM_uint32 num_enctypes, + int32_t *enctypes) +{ + krb5_error_code ret; + OM_uint32 maj_status; + gss_buffer_desc buffer; + krb5_storage *sp; + krb5_data data; + int i; + + sp = krb5_storage_emem(); + if (sp == NULL) { + *minor_status = ENOMEM; + maj_status = GSS_S_FAILURE; + goto out; + } + + for (i = 0; i < num_enctypes; i++) { + ret = krb5_store_int32(sp, enctypes[i]); + if (ret) { + *minor_status = ret; + maj_status = GSS_S_FAILURE; + goto out; + } + } + + ret = krb5_storage_to_data(sp, &data); + if (ret) { + *minor_status = ret; + maj_status = GSS_S_FAILURE; + goto out; + } + + buffer.value = data.data; + buffer.length = data.length; + + maj_status = gss_set_cred_option(minor_status, + &cred, + GSS_KRB5_SET_ALLOWABLE_ENCTYPES_X, + &buffer); + krb5_data_free(&data); +out: + if (sp) + krb5_storage_free(sp); + return maj_status; +} + +/* + * + */ + +OM_uint32 +gsskrb5_set_send_to_kdc(struct gsskrb5_send_to_kdc *c) +{ + gss_buffer_desc buffer; + OM_uint32 junk; + + if (c) { + buffer.value = c; + buffer.length = sizeof(*c); + } else { + buffer.value = NULL; + buffer.length = 0; + } + + gss_set_sec_context_option(&junk, NULL, + GSS_KRB5_SEND_TO_KDC_X, &buffer); + + return (GSS_S_COMPLETE); +} + +/* + * + */ + +OM_uint32 +gss_krb5_ccache_name(OM_uint32 *minor_status, + const char *name, + const char **out_name) +{ + gss_buffer_desc buffer; + OM_uint32 junk; + + if (out_name) + *out_name = NULL; + + buffer.value = rk_UNCONST(name); + buffer.length = strlen(name); + + gss_set_sec_context_option(&junk, NULL, + GSS_KRB5_CCACHE_NAME_X, &buffer); + + return (GSS_S_COMPLETE); +} + + +/* + * + */ + +OM_uint32 +gsskrb5_extract_authtime_from_sec_context(OM_uint32 *minor_status, + gss_ctx_id_t context_handle, + time_t *authtime) +{ + gss_buffer_set_t data_set = GSS_C_NO_BUFFER_SET; + OM_uint32 maj_stat; + + if (context_handle == GSS_C_NO_CONTEXT) { + *minor_status = EINVAL; + return GSS_S_FAILURE; + } + + maj_stat = + gss_inquire_sec_context_by_oid (minor_status, + context_handle, + GSS_KRB5_GET_AUTHTIME_X, + &data_set); + if (maj_stat) + return maj_stat; + + if (data_set == GSS_C_NO_BUFFER_SET) { + gss_release_buffer_set(minor_status, &data_set); + *minor_status = EINVAL; + return GSS_S_FAILURE; + } + + if (data_set->count != 1) { + gss_release_buffer_set(minor_status, &data_set); + *minor_status = EINVAL; + return GSS_S_FAILURE; + } + + if (data_set->elements[0].length != 4) { + gss_release_buffer_set(minor_status, &data_set); + *minor_status = EINVAL; + return GSS_S_FAILURE; + } + + { + unsigned char *buf = data_set->elements[0].value; + *authtime = (buf[3] <<24) | (buf[2] << 16) | + (buf[1] << 8) | (buf[0] << 0); + } + + gss_release_buffer_set(minor_status, &data_set); + + *minor_status = 0; + return GSS_S_COMPLETE; +} + +/* + * + */ + +OM_uint32 +gsskrb5_extract_authz_data_from_sec_context(OM_uint32 *minor_status, + gss_ctx_id_t context_handle, + int ad_type, + gss_buffer_t ad_data) +{ + gss_buffer_set_t data_set = GSS_C_NO_BUFFER_SET; + OM_uint32 maj_stat; + gss_OID_desc oid_flat; + heim_oid baseoid, oid; + size_t size; + + if (context_handle == GSS_C_NO_CONTEXT) { + *minor_status = EINVAL; + return GSS_S_FAILURE; + } + + /* All this to append an integer to an oid... */ + + if (der_get_oid(GSS_KRB5_EXTRACT_AUTHZ_DATA_FROM_SEC_CONTEXT_X->elements, + GSS_KRB5_EXTRACT_AUTHZ_DATA_FROM_SEC_CONTEXT_X->length, + &baseoid, NULL) != 0) { + *minor_status = EINVAL; + return GSS_S_FAILURE; + } + + oid.length = baseoid.length + 1; + oid.components = calloc(oid.length, sizeof(*oid.components)); + if (oid.components == NULL) { + der_free_oid(&baseoid); + + *minor_status = ENOMEM; + return GSS_S_FAILURE; + } + + memcpy(oid.components, baseoid.components, + baseoid.length * sizeof(*baseoid.components)); + + der_free_oid(&baseoid); + + oid.components[oid.length - 1] = ad_type; + + oid_flat.length = der_length_oid(&oid); + oid_flat.elements = malloc(oid_flat.length); + if (oid_flat.elements == NULL) { + free(oid.components); + *minor_status = ENOMEM; + return GSS_S_FAILURE; + } + + if (der_put_oid((unsigned char *)oid_flat.elements + oid_flat.length - 1, + oid_flat.length, &oid, &size) != 0) { + free(oid.components); + free(oid_flat.elements); + *minor_status = EINVAL; + return GSS_S_FAILURE; + } + if (oid_flat.length != size) + abort(); + + free(oid.components); + + /* FINALLY, we have the OID */ + + maj_stat = gss_inquire_sec_context_by_oid (minor_status, + context_handle, + &oid_flat, + &data_set); + + free(oid_flat.elements); + + if (maj_stat) + return maj_stat; + + if (data_set == GSS_C_NO_BUFFER_SET || data_set->count != 1) { + gss_release_buffer_set(minor_status, &data_set); + *minor_status = EINVAL; + return GSS_S_FAILURE; + } + + ad_data->value = malloc(data_set->elements[0].length); + if (ad_data->value == NULL) { + gss_release_buffer_set(minor_status, &data_set); + *minor_status = ENOMEM; + return GSS_S_FAILURE; + } + + ad_data->length = data_set->elements[0].length; + memcpy(ad_data->value, data_set->elements[0].value, ad_data->length); + gss_release_buffer_set(minor_status, &data_set); + + *minor_status = 0; + return GSS_S_COMPLETE; +} + +/* + * + */ + +static OM_uint32 +gsskrb5_extract_key(OM_uint32 *minor_status, + gss_ctx_id_t context_handle, + const gss_OID oid, + krb5_keyblock **keyblock) +{ + krb5_error_code ret; + gss_buffer_set_t data_set = GSS_C_NO_BUFFER_SET; + OM_uint32 major_status; + krb5_context context = NULL; + krb5_storage *sp = NULL; + + if (context_handle == GSS_C_NO_CONTEXT) { + ret = EINVAL; + return GSS_S_FAILURE; + } + + ret = krb5_init_context(&context); + if(ret) { + *minor_status = ret; + return GSS_S_FAILURE; + } + + major_status = + gss_inquire_sec_context_by_oid (minor_status, + context_handle, + oid, + &data_set); + if (major_status) + return major_status; + + if (data_set == GSS_C_NO_BUFFER_SET || data_set->count != 1) { + gss_release_buffer_set(minor_status, &data_set); + *minor_status = EINVAL; + return GSS_S_FAILURE; + } + + sp = krb5_storage_from_mem(data_set->elements[0].value, + data_set->elements[0].length); + if (sp == NULL) { + ret = ENOMEM; + goto out; + } + + *keyblock = calloc(1, sizeof(**keyblock)); + if (keyblock == NULL) { + ret = ENOMEM; + goto out; + } + + ret = krb5_ret_keyblock(sp, *keyblock); + +out: + gss_release_buffer_set(minor_status, &data_set); + if (sp) + krb5_storage_free(sp); + if (ret && keyblock) { + krb5_free_keyblock(context, *keyblock); + *keyblock = NULL; + } + if (context) + krb5_free_context(context); + + *minor_status = ret; + if (ret) + return GSS_S_FAILURE; + + return GSS_S_COMPLETE; +} + +/* + * + */ + +OM_uint32 +gsskrb5_extract_service_keyblock(OM_uint32 *minor_status, + gss_ctx_id_t context_handle, + krb5_keyblock **keyblock) +{ + return gsskrb5_extract_key(minor_status, + context_handle, + GSS_KRB5_GET_SERVICE_KEYBLOCK_X, + keyblock); +} + +OM_uint32 +gsskrb5_get_initiator_subkey(OM_uint32 *minor_status, + gss_ctx_id_t context_handle, + krb5_keyblock **keyblock) +{ + return gsskrb5_extract_key(minor_status, + context_handle, + GSS_KRB5_GET_INITIATOR_SUBKEY_X, + keyblock); +} + +OM_uint32 +gsskrb5_get_subkey(OM_uint32 *minor_status, + gss_ctx_id_t context_handle, + krb5_keyblock **keyblock) +{ + return gsskrb5_extract_key(minor_status, + context_handle, + GSS_KRB5_GET_SUBKEY_X, + keyblock); +} + +OM_uint32 +gsskrb5_set_default_realm(const char *realm) +{ + gss_buffer_desc buffer; + OM_uint32 junk; + + buffer.value = rk_UNCONST(realm); + buffer.length = strlen(realm); + + gss_set_sec_context_option(&junk, NULL, + GSS_KRB5_SET_DEFAULT_REALM_X, &buffer); + + return (GSS_S_COMPLETE); +} + +OM_uint32 +gss_krb5_get_tkt_flags(OM_uint32 *minor_status, + gss_ctx_id_t context_handle, + OM_uint32 *tkt_flags) +{ + + OM_uint32 major_status; + gss_buffer_set_t data_set = GSS_C_NO_BUFFER_SET; + + if (context_handle == GSS_C_NO_CONTEXT) { + *minor_status = EINVAL; + return GSS_S_FAILURE; + } + + major_status = + gss_inquire_sec_context_by_oid (minor_status, + context_handle, + GSS_KRB5_GET_TKT_FLAGS_X, + &data_set); + if (major_status) + return major_status; + + if (data_set == GSS_C_NO_BUFFER_SET || + data_set->count != 1 || + data_set->elements[0].length < 4) { + gss_release_buffer_set(minor_status, &data_set); + *minor_status = EINVAL; + return GSS_S_FAILURE; + } + + { + const u_char *p = data_set->elements[0].value; + *tkt_flags = (p[0] << 0) | (p[1] << 8) | (p[2] << 16) | (p[3] << 24); + } + + gss_release_buffer_set(minor_status, &data_set); + return GSS_S_COMPLETE; +} + diff --git a/kerberos5/lib/libgssapi_krb5/gss_oid.c b/kerberos5/lib/libgssapi_krb5/gss_oid.c new file mode 100644 index 0000000..d359afa --- /dev/null +++ b/kerberos5/lib/libgssapi_krb5/gss_oid.c @@ -0,0 +1,227 @@ +/* Generated file */ +/* $FreeBSD$ */ +#include <gssapi/gssapi.h> +#include <roken.h> +#include "config.h" + +/* GSS_KRB5_COPY_CCACHE_X - 1.2.752.43.13.1 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_copy_ccache_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x01") }; + +/* GSS_KRB5_GET_TKT_FLAGS_X - 1.2.752.43.13.2 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_get_tkt_flags_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x02") }; + +/* GSS_KRB5_EXTRACT_AUTHZ_DATA_FROM_SEC_CONTEXT_X - 1.2.752.43.13.3 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_extract_authz_data_from_sec_context_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x03") }; + +/* GSS_KRB5_COMPAT_DES3_MIC_X - 1.2.752.43.13.4 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_compat_des3_mic_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x04") }; + +/* GSS_KRB5_REGISTER_ACCEPTOR_IDENTITY_X - 1.2.752.43.13.5 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_register_acceptor_identity_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x05") }; + +/* GSS_KRB5_EXPORT_LUCID_CONTEXT_X - 1.2.752.43.13.6 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_export_lucid_context_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x06") }; + +/* GSS_KRB5_EXPORT_LUCID_CONTEXT_V1_X - 1.2.752.43.13.6.1 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_export_lucid_context_v1_x_oid_desc = { 7, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x06\x01") }; + +/* GSS_KRB5_SET_DNS_CANONICALIZE_X - 1.2.752.43.13.7 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_set_dns_canonicalize_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x07") }; + +/* GSS_KRB5_GET_SUBKEY_X - 1.2.752.43.13.8 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_get_subkey_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x08") }; + +/* GSS_KRB5_GET_INITIATOR_SUBKEY_X - 1.2.752.43.13.9 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_get_initiator_subkey_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x09") }; + +/* GSS_KRB5_GET_ACCEPTOR_SUBKEY_X - 1.2.752.43.13.10 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_get_acceptor_subkey_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x0a") }; + +/* GSS_KRB5_SEND_TO_KDC_X - 1.2.752.43.13.11 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_send_to_kdc_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x0b") }; + +/* GSS_KRB5_GET_AUTHTIME_X - 1.2.752.43.13.12 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_get_authtime_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x0c") }; + +/* GSS_KRB5_GET_SERVICE_KEYBLOCK_X - 1.2.752.43.13.13 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_get_service_keyblock_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x0d") }; + +/* GSS_KRB5_SET_ALLOWABLE_ENCTYPES_X - 1.2.752.43.13.14 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_set_allowable_enctypes_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x0e") }; + +/* GSS_KRB5_SET_DEFAULT_REALM_X - 1.2.752.43.13.15 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_set_default_realm_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x0f") }; + +/* GSS_KRB5_CCACHE_NAME_X - 1.2.752.43.13.16 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_ccache_name_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x10") }; + +/* GSS_KRB5_SET_TIME_OFFSET_X - 1.2.752.43.13.17 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_set_time_offset_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x11") }; + +/* GSS_KRB5_GET_TIME_OFFSET_X - 1.2.752.43.13.18 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_get_time_offset_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x12") }; + +/* GSS_KRB5_PLUGIN_REGISTER_X - 1.2.752.43.13.19 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_plugin_register_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x13") }; + +/* GSS_NTLM_GET_SESSION_KEY_X - 1.2.752.43.13.20 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_ntlm_get_session_key_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x14") }; + +/* GSS_C_NT_NTLM - 1.2.752.43.13.21 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_nt_ntlm_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x15") }; + +/* GSS_C_NT_DN - 1.2.752.43.13.22 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_nt_dn_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x16") }; + +/* GSS_KRB5_NT_PRINCIPAL_NAME_REFERRAL - 1.2.752.43.13.23 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_nt_principal_name_referral_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x17") }; + +/* GSS_C_NTLM_AVGUEST - 1.2.752.43.13.24 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ntlm_avguest_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x18") }; + +/* GSS_C_NTLM_V1 - 1.2.752.43.13.25 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ntlm_v1_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x19") }; + +/* GSS_C_NTLM_V2 - 1.2.752.43.13.26 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ntlm_v2_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x1a") }; + +/* GSS_C_NTLM_SESSION_KEY - 1.2.752.43.13.27 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ntlm_session_key_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x1b") }; + +/* GSS_C_NTLM_FORCE_V1 - 1.2.752.43.13.28 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ntlm_force_v1_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x1c") }; + +/* GSS_KRB5_CRED_NO_CI_FLAGS_X - 1.2.752.43.13.29 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_cred_no_ci_flags_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x1d") }; + +/* GSS_KRB5_IMPORT_CRED_X - 1.2.752.43.13.30 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_import_cred_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x1e") }; + +/* GSS_C_MA_SASL_MECH_NAME - 1.2.752.43.13.100 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_sasl_mech_name_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x64") }; + +/* GSS_C_MA_MECH_NAME - 1.2.752.43.13.101 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_mech_name_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x65") }; + +/* GSS_C_MA_MECH_DESCRIPTION - 1.2.752.43.13.102 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_mech_description_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x66") }; + +/* GSS_C_CRED_PASSWORD - 1.2.752.43.13.200 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_cred_password_oid_desc = { 7, "\x2a\x85\x70\x2b\x0d\x81\x48" }; + +/* GSS_C_CRED_CERTIFICATE - 1.2.752.43.13.201 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_cred_certificate_oid_desc = { 7, "\x2a\x85\x70\x2b\x0d\x81\x49" }; + +/* GSS_SASL_DIGEST_MD5_MECHANISM - 1.2.752.43.14.1 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_sasl_digest_md5_mechanism_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0e\x01") }; + +/* GSS_NETLOGON_MECHANISM - 1.2.752.43.14.2 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_netlogon_mechanism_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0e\x02") }; + +/* GSS_NETLOGON_SET_SESSION_KEY_X - 1.2.752.43.14.3 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_netlogon_set_session_key_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0e\x03") }; + +/* GSS_NETLOGON_SET_SIGN_ALGORITHM_X - 1.2.752.43.14.4 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_netlogon_set_sign_algorithm_x_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0e\x04") }; + +/* GSS_NETLOGON_NT_NETBIOS_DNS_NAME - 1.2.752.43.14.5 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_netlogon_nt_netbios_dns_name_oid_desc = { 6, rk_UNCONST("\x2a\x85\x70\x2b\x0e\x05") }; + +/* GSS_C_INQ_WIN2K_PAC_X - 1.2.752.43.13.3.128 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_inq_win2k_pac_x_oid_desc = { 8, rk_UNCONST("\x2a\x85\x70\x2b\x0d\x03\x81\x00") }; + +/* GSS_C_INQ_SSPI_SESSION_KEY - 1.2.840.113554.1.2.2.5.5 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_inq_sspi_session_key_oid_desc = { 11, rk_UNCONST("\x2a\x86\x48\x86\xf7\x12\x01\x02\x02\x05\x05") }; + +/* GSS_KRB5_MECHANISM - 1.2.840.113554.1.2.2 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_krb5_mechanism_oid_desc = { 9, rk_UNCONST("\x2a\x86\x48\x86\xf7\x12\x01\x02\x02") }; + +/* GSS_NTLM_MECHANISM - 1.3.6.1.4.1.311.2.2.10 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_ntlm_mechanism_oid_desc = { 10, rk_UNCONST("\x2b\x06\x01\x04\x01\x82\x37\x02\x02\x0a") }; + +/* GSS_SPNEGO_MECHANISM - 1.3.6.1.5.5.2 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_spnego_mechanism_oid_desc = { 6, rk_UNCONST("\x2b\x06\x01\x05\x05\x02") }; + +/* GSS_C_PEER_HAS_UPDATED_SPNEGO - 1.3.6.1.4.1.9513.19.5 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_peer_has_updated_spnego_oid_desc = { 9, rk_UNCONST("\x2b\x06\x01\x04\x01\xca\x29\x13\x05") }; + +/* GSS_C_MA_MECH_CONCRETE - 1.3.6.1.5.5.13.1 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_mech_concrete_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x01") }; + +/* GSS_C_MA_MECH_PSEUDO - 1.3.6.1.5.5.13.2 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_mech_pseudo_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x02") }; + +/* GSS_C_MA_MECH_COMPOSITE - 1.3.6.1.5.5.13.3 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_mech_composite_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x03") }; + +/* GSS_C_MA_MECH_NEGO - 1.3.6.1.5.5.13.4 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_mech_nego_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x04") }; + +/* GSS_C_MA_MECH_GLUE - 1.3.6.1.5.5.13.5 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_mech_glue_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x05") }; + +/* GSS_C_MA_NOT_MECH - 1.3.6.1.5.5.13.6 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_not_mech_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x06") }; + +/* GSS_C_MA_DEPRECATED - 1.3.6.1.5.5.13.7 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_deprecated_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x07") }; + +/* GSS_C_MA_NOT_DFLT_MECH - 1.3.6.1.5.5.13.8 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_not_dflt_mech_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x08") }; + +/* GSS_C_MA_ITOK_FRAMED - 1.3.6.1.5.5.13.9 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_itok_framed_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x09") }; + +/* GSS_C_MA_AUTH_INIT - 1.3.6.1.5.5.13.10 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_auth_init_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x0a") }; + +/* GSS_C_MA_AUTH_TARG - 1.3.6.1.5.5.13.11 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_auth_targ_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x0b") }; + +/* GSS_C_MA_AUTH_INIT_INIT - 1.3.6.1.5.5.13.12 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_auth_init_init_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x0c") }; + +/* GSS_C_MA_AUTH_TARG_INIT - 1.3.6.1.5.5.13.13 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_auth_targ_init_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x0d") }; + +/* GSS_C_MA_AUTH_INIT_ANON - 1.3.6.1.5.5.13.14 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_auth_init_anon_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x0e") }; + +/* GSS_C_MA_AUTH_TARG_ANON - 1.3.6.1.5.5.13.15 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_auth_targ_anon_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x0f") }; + +/* GSS_C_MA_DELEG_CRED - 1.3.6.1.5.5.13.16 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_deleg_cred_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x10") }; + +/* GSS_C_MA_INTEG_PROT - 1.3.6.1.5.5.13.17 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_integ_prot_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x11") }; + +/* GSS_C_MA_CONF_PROT - 1.3.6.1.5.5.13.18 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_conf_prot_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x12") }; + +/* GSS_C_MA_MIC - 1.3.6.1.5.5.13.19 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_mic_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x13") }; + +/* GSS_C_MA_WRAP - 1.3.6.1.5.5.13.20 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_wrap_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x14") }; + +/* GSS_C_MA_PROT_READY - 1.3.6.1.5.5.13.21 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_prot_ready_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x15") }; + +/* GSS_C_MA_REPLAY_DET - 1.3.6.1.5.5.13.22 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_replay_det_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x16") }; + +/* GSS_C_MA_OOS_DET - 1.3.6.1.5.5.13.23 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_oos_det_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x17") }; + +/* GSS_C_MA_CBINDINGS - 1.3.6.1.5.5.13.24 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_cbindings_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x18") }; + +/* GSS_C_MA_PFS - 1.3.6.1.5.5.13.25 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_pfs_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x19") }; + +/* GSS_C_MA_COMPRESS - 1.3.6.1.5.5.13.26 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_compress_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x1a") }; + +/* GSS_C_MA_CTX_TRANS - 1.3.6.1.5.5.13.27 */ +gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ma_ctx_trans_oid_desc = { 7, rk_UNCONST("\x2b\x06\x01\x05\x05\x0d\x1b") }; diff --git a/kerberos5/lib/libgssapi_krb5/pname_to_uid.c b/kerberos5/lib/libgssapi_krb5/pname_to_uid.c new file mode 100644 index 0000000..52220f6 --- /dev/null +++ b/kerberos5/lib/libgssapi_krb5/pname_to_uid.c @@ -0,0 +1,59 @@ +/*- + * Copyright (c) 2008 Isilon Inc http://www.isilon.com/ + * Authors: Doug Rabson <dfr@rabson.org> + * Developed with Red Inc: Alfred Perlstein <alfred@freebsd.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + */ +/* $FreeBSD$ */ + +#include <pwd.h> + +#include "krb5/gsskrb5_locl.h" + +OM_uint32 +_gsskrb5_pname_to_uid(OM_uint32 *minor_status, const gss_name_t pname, + const gss_OID mech, uid_t *uidp) +{ + krb5_context context; + krb5_const_principal name = (krb5_const_principal) pname; + krb5_error_code kret; + char lname[MAXLOGNAME + 1], buf[128]; + struct passwd pwd, *pw; + + GSSAPI_KRB5_INIT (&context); + + kret = krb5_aname_to_localname(context, name, sizeof(lname), lname); + if (kret) { + *minor_status = kret; + return (GSS_S_FAILURE); + } + + *minor_status = 0; + getpwnam_r(lname, &pwd, buf, sizeof(buf), &pw); + if (pw) { + *uidp = pw->pw_uid; + return (GSS_S_COMPLETE); + } else { + return (GSS_S_FAILURE); + } +} diff --git a/kerberos5/lib/libgssapi_krb5/prefix.c b/kerberos5/lib/libgssapi_krb5/prefix.c new file mode 100644 index 0000000..086b744 --- /dev/null +++ b/kerberos5/lib/libgssapi_krb5/prefix.c @@ -0,0 +1,33 @@ +/*- + * Copyright (c) 2008 Doug Rabson + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + * + * $FreeBSD$ + */ + +const char * +_gss_name_prefix(void) +{ + return "_gsskrb5"; +} diff --git a/kerberos5/lib/libgssapi_ntlm/Makefile b/kerberos5/lib/libgssapi_ntlm/Makefile new file mode 100644 index 0000000..7485cfa --- /dev/null +++ b/kerberos5/lib/libgssapi_ntlm/Makefile @@ -0,0 +1,51 @@ +# $FreeBSD$ + +LIB= gssapi_ntlm +LDFLAGS= -Wl,-Bsymbolic -Wl,--no-undefined +LDADD= -lcrypto -lgssapi -lkrb5 -lhx509 -lheimntlm -lroken +DPADD= ${LIBCRYPTO} ${LIBGSSAPI} ${LIBKRB5} ${LIBHX509} ${LIBHEIMNTLM} ${LIBROKEN} +SHLIB_MAJOR= 10 + +SRCS= accept_sec_context.c \ + acquire_cred.c \ + add_cred.c \ + canonicalize_name.c \ + compare_name.c \ + context_time.c \ + creds.c \ + crypto.c \ + delete_sec_context.c \ + display_name.c \ + display_status.c \ + duplicate_name.c \ + export_name.c \ + export_sec_context.c \ + external.c \ + ntlm.h \ + ntlm-private.h \ + import_name.c \ + import_sec_context.c \ + indicate_mechs.c \ + init_sec_context.c \ + inquire_context.c \ + inquire_cred_by_mech.c \ + inquire_mechs_for_name.c \ + inquire_names_for_mech.c \ + inquire_sec_context_by_oid.c \ + iter_cred.c \ + kdc.c \ + prefix.c \ + process_context_token.c \ + release_cred.c \ + release_name.c \ + gss_oid.c + +CFLAGS+=-I${KRB5DIR}/lib/gssapi +CFLAGS+=-I${KRB5DIR}/lib/gssapi/gssapi +CFLAGS+=-I${KRB5DIR}/lib/gssapi/ntlm +CFLAGS+=-I${KRB5DIR}/lib/krb5 +CFLAGS+=-I${KRB5DIR}/lib/ntlm + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/lib/gssapi/ntlm ${.CURDIR}/../../../lib/libgssapi ${.CURDIR}/../libgssapi_krb5 diff --git a/kerberos5/lib/libgssapi_ntlm/prefix.c b/kerberos5/lib/libgssapi_ntlm/prefix.c new file mode 100644 index 0000000..1c497ce --- /dev/null +++ b/kerberos5/lib/libgssapi_ntlm/prefix.c @@ -0,0 +1,40 @@ +/*- + * Copyright (c) 2008 Doug Rabson + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + * + * $FreeBSD$ + */ + +#include <gssapi/gssapi.h> + +gss_OID_desc __gss_c_nt_user_name_oid_desc = + {10, (void *)("\x2a\x86\x48\x86\xf7\x12" "\x01\x02\x01\x01")}; +gss_OID_desc __gss_c_nt_hostbased_service_oid_desc = + {10, (void *)("\x2a\x86\x48\x86\xf7\x12" "\x01\x02\x01\x04")}; + +const char * +_gss_name_prefix(void) +{ + return "_gss_ntlm"; +} diff --git a/kerberos5/lib/libgssapi_spnego/Makefile b/kerberos5/lib/libgssapi_spnego/Makefile new file mode 100644 index 0000000..ddaac08 --- /dev/null +++ b/kerberos5/lib/libgssapi_spnego/Makefile @@ -0,0 +1,62 @@ +# $FreeBSD$ + +LIB= gssapi_spnego +LDFLAGS= -Wl,-Bsymbolic -Wl,--no-undefined +LDADD= -lgssapi -lheimbase -lasn1 -lroken +DPADD= ${LIBGSSAPI} ${LIBHEIMBASE} ${LIBASN1} ${LIBROKEN} +SHLIB_MAJOR= 10 + +SRCS= accept_sec_context.c \ + compat.c \ + context_stubs.c \ + cred_stubs.c \ + external.c \ + init_sec_context.c \ + freebsd_compat.c \ + spnego-private.h \ + spnego_locl.h \ + spnego_asn1.h \ + ${GEN:S/.x$/.c/:S/.hx$/.h/} \ + gss_oid.c + +GEN= asn1_ContextFlags.x \ + asn1_MechType.x \ + asn1_MechTypeList.x \ + asn1_NegotiationToken.x \ + asn1_NegotiationTokenWin.x \ + asn1_NegHints.x \ + asn1_NegTokenInit.x \ + asn1_NegTokenInitWin.x \ + asn1_NegTokenResp.x \ + spnego_asn1.hx \ + spnego_asn1-priv.hx + +CFLAGS+=-I${KRB5DIR}/lib/gssapi +CFLAGS+=-I${KRB5DIR}/lib/gssapi/gssapi +CFLAGS+=-I${KRB5DIR}/lib/gssapi/spnego +CFLAGS+=-I${KRB5DIR}/lib/asn1 +CFLAGS+=-I${.CURDIR}/../../../lib/libgssapi +CFLAGS+=-I${KRB5DIR}/lib/roken -I. + +CLEANFILES= ${GEN} ${GEN:S/.x$/.c/:S/.hx$/.h/} \ + spnego_asn1_files spnego_asn1-template.c + +ASN1_COMPILE= asn1_compile + +${GEN}: spnego.asn1 spnego.opt + ${ASN1_COMPILE} --option-file=${.ALLSRC:M*.opt} \ + ${.ALLSRC:M*.asn1} spnego_asn1 + +.SUFFIXES: .h .c .x .hx + +.x.c: + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + +.hx.h: + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + +.include <bsd.lib.mk> + +.SUFFIXES: .h .c .x .hx + +.PATH: ${KRB5DIR}/lib/gssapi/spnego ${.CURDIR}/../../../lib/libgssapi ${.CURDIR}/../libgssapi_krb5 diff --git a/kerberos5/lib/libgssapi_spnego/freebsd_compat.c b/kerberos5/lib/libgssapi_spnego/freebsd_compat.c new file mode 100644 index 0000000..d6a9a6e --- /dev/null +++ b/kerberos5/lib/libgssapi_spnego/freebsd_compat.c @@ -0,0 +1,84 @@ +/*- + * Copyright (c) 2008 Doug Rabson + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + * + * $FreeBSD$ + */ + +#include <gssapi/gssapi.h> +#include <mech_switch.h> + +gss_OID_desc __gss_c_nt_hostbased_service_oid_desc = + {10, (void *)("\x2a\x86\x48\x86\xf7\x12" "\x01\x02\x01\x04")}; + +const char * +_gss_name_prefix(void) +{ + return "_gss_spnego"; +} + +void +gss_mg_collect_error(gss_OID mech, OM_uint32 maj, OM_uint32 min) +{ + _gss_mg_collect_error(mech, maj, min); +} + +OM_uint32 _gss_spnego_display_status + (OM_uint32 * minor_status, + OM_uint32 status_value, + int status_type, + const gss_OID mech_type, + OM_uint32 * message_context, + gss_buffer_t status_string + ) +{ + return GSS_S_FAILURE; +} + +OM_uint32 _gss_spnego_add_cred ( + OM_uint32 * minor_status, + const gss_cred_id_t input_cred_handle, + const gss_name_t desired_name, + const gss_OID desired_mech, + gss_cred_usage_t cred_usage, + OM_uint32 initiator_time_req, + OM_uint32 acceptor_time_req, + gss_cred_id_t * output_cred_handle, + gss_OID_set * actual_mechs, + OM_uint32 * initiator_time_rec, + OM_uint32 * acceptor_time_rec + ) +{ + return gss_add_cred(minor_status, + input_cred_handle, + desired_name, + desired_mech, + cred_usage, + initiator_time_req, + acceptor_time_req, + output_cred_handle, + actual_mechs, + initiator_time_rec, + acceptor_time_rec); +} diff --git a/kerberos5/lib/libhdb/Makefile b/kerberos5/lib/libhdb/Makefile new file mode 100644 index 0000000..1ee7f88 --- /dev/null +++ b/kerberos5/lib/libhdb/Makefile @@ -0,0 +1,106 @@ +# $FreeBSD$ + +LIB= hdb +LDFLAGS= -Wl,--no-undefined +VERSION_MAP= ${KRB5DIR}/lib/hdb/version-script.map +LDADD= -lasn1 -lcom_err -lkrb5 -lroken -lheimsqlite +DPADD= ${LIBASN1} ${LIBCOM_ERR} ${LIBKRB5} ${LIBROKEN} ${LIBHEIMSQLITE} ${LDAPDPADD} + +MAN= HDB.3 hdb_entry_ex.3 + +MLINKS= HDB.3 hdb__del.3 \ + HDB.3 hdb__get.3 \ + HDB.3 hdb__put.3 \ + HDB.3 hdb_auth_status.3 \ + HDB.3 hdb_check_constrained_delegation.3 \ + HDB.3 hdb_check_pkinit_ms_upn_match.3 \ + HDB.3 hdb_check_s4u2self.3 \ + HDB.3 hdb_close.3 \ + HDB.3 hdb_destroy.3 \ + HDB.3 hdb_fetch_kvno.3 \ + HDB.3 hdb_firstkey.3 \ + HDB.3 hdb_free.3 \ + HDB.3 hdb_get_realms.3 \ + HDB.3 hdb_lock.3 \ + HDB.3 hdb_name.3 \ + HDB.3 hdb_nextkey.3 \ + HDB.3 hdb_open.3 \ + HDB.3 hdb_password.3 \ + HDB.3 hdb_remove.3 \ + HDB.3 hdb_rename.3 \ + HDB.3 hdb_store.3 \ + HDB.3 hdb_unlock.3 + +INCS= hdb-protos.h \ + hdb.h \ + hdb_asn1.h \ + hdb_err.h + +SRCS= common.c \ + db.c \ + db3.c \ + dbinfo.c \ + ext.c \ + hdb-ldap.c \ + hdb.c \ + hdb_err.c \ + hdb_err.h \ + hdb-sqlite.c \ + hdb-keytab.c \ + hdb-mitdb.c \ + hdb_locl.h \ + hdb-private.h \ + keys.c \ + keytab.c \ + mkey.c \ + ndbm.c \ + print.c \ + ${GEN:S/.x$/.c/:S/.hx$/.h/} + +CFLAGS+=-I${KRB5DIR}/lib/hdb -I${KRB5DIR}/lib/asn1 \ + -I${KRB5DIR}/lib/roken -I${KRB5DIR}/lib/sqlite \ + -I${KRB5DIR}/lib/krb5 \ + -I. ${LDAPCFLAGS} +CFLAGS+=-DHDB_DB_DIR="\"/var/heimdal\"" + +GEN= asn1_Salt.x \ + asn1_Key.x \ + asn1_Event.x \ + asn1_HDBFlags.x \ + asn1_GENERATION.x \ + asn1_HDB_Ext_PKINIT_acl.x \ + asn1_HDB_Ext_PKINIT_cert.x \ + asn1_HDB_Ext_PKINIT_hash.x \ + asn1_HDB_Ext_Constrained_delegation_acl.x \ + asn1_HDB_Ext_Lan_Manager_OWF.x \ + asn1_HDB_Ext_Password.x \ + asn1_HDB_Ext_Aliases.x \ + asn1_HDB_extension.x \ + asn1_HDB_extensions.x \ + asn1_hdb_entry.x \ + asn1_hdb_entry_alias.x \ + asn1_hdb_keyset.x \ + hdb_asn1.hx \ + hdb_asn1-priv.hx + +CLEANFILES= ${GEN} ${GEN:S/.x$/.c/:S/.hx$/.h/} hdb_asn1_files \ + hdb_asn1-template.[ch]* + +ASN1_COMPILE= asn1_compile + +${GEN}: hdb.asn1 + ${ASN1_COMPILE} ${.ALLSRC:M*.asn1} hdb_asn1 + +.SUFFIXES: .h .c .x .hx + +.x.c: + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + +.hx.h: + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + +.include <bsd.lib.mk> + +.SUFFIXES: .h .c .x .hx + +.PATH: ${KRB5DIR}/lib/hdb ${KRB5DIR}/doc/doxyout/hdb/man/man3/ diff --git a/kerberos5/lib/libheimbase/Makefile b/kerberos5/lib/libheimbase/Makefile new file mode 100644 index 0000000..d3aa0ee --- /dev/null +++ b/kerberos5/lib/libheimbase/Makefile @@ -0,0 +1,26 @@ +#$FreeBSD$ + +LIB= heimbase +LDFLAGS= -Wl,--no-undefined +LDADD= -lpthread +VERSION_MAP= ${KRB5DIR}/base/version-script.map + +INCS= heimbase.h + +SRCS= \ + array.c \ + baselocl.h \ + bool.c \ + dict.c \ + heimbase.c \ + heimbasepriv.h \ + heimqueue.h \ + null.c \ + number.c \ + string.c + +CFLAGS+= -I${KRB5DIR}/include + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/base diff --git a/kerberos5/lib/libheimipcc/Makefile b/kerberos5/lib/libheimipcc/Makefile new file mode 100644 index 0000000..c1ad602 --- /dev/null +++ b/kerberos5/lib/libheimipcc/Makefile @@ -0,0 +1,20 @@ +#$FreeBSD$ + +LIB= heimipcc +INTERNALLIB= +LDADD= -lheimbase -lroken -lpthread +DPADD= ${LIBHEIMBASE} ${LIBROKEN} ${LIBPTHREAD} + +SRCS= hi_locl.h \ + heim_ipc_types.h \ + client.c \ + common.c + +CFLAGS+= -DPIC ${PICFLAG} +CFLAGS+= -I${KRB5DIR}/lib/roken \ + -I${KRB5DIR}/base \ + -I${KRB5DIR}/lib/ipc + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/lib/ipc diff --git a/kerberos5/lib/libheimipcs/Makefile b/kerberos5/lib/libheimipcs/Makefile new file mode 100644 index 0000000..333480d --- /dev/null +++ b/kerberos5/lib/libheimipcs/Makefile @@ -0,0 +1,21 @@ +#$FreeBSD$ + +LIB= heimipcs +INTERNALLIB= +LDADD= -lheimbase -lroken +LDFLAGS= -pthread +DPADD= ${LIBHEIMBASE} ${LIBROKEN} + +SRCS= hi_locl.h \ + heim_ipc_types.h \ + server.c \ + common.c + +CFLAGS+= -DPIC ${PICFLAG} +CFLAGS+= -I${KRB5DIR}/lib/roken \ + -I${KRB5DIR}/base \ + -I${KRB5DIR}/lib/ipc -I. + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/lib/ipc diff --git a/kerberos5/lib/libheimntlm/Makefile b/kerberos5/lib/libheimntlm/Makefile new file mode 100644 index 0000000..2f0415d --- /dev/null +++ b/kerberos5/lib/libheimntlm/Makefile @@ -0,0 +1,40 @@ +# $FreeBSD$ + +LIB= heimntlm +LDFLAGS= -Wl,--no-undefined +LDADD= -lcrypto -lcom_err -lkrb5 -lroken +DPADD= ${LIBCRYPTO} ${LIBCOM_ERR} ${LIBKRB5} ${LIBROKEN} +SRCS= ntlm.c ntlm_err.c +INCS= heimntlm.h heimntlm-protos.h ntlm_err.h +CFLAGS+=-I${KRB5DIR}/lib/ntlm -I${KRB5DIR}/lib/roken +VERSION_MAP= ${KRB5DIR}/lib/ntlm/version-script.map + +MAN= ntlm_buf.3 \ + ntlm_core.3 \ + ntlm_type1.3 \ + ntlm_type2.3 \ + ntlm_type3.3 + +MLINKS= ntlm_core.3 heim_ntlm_build_ntlm1_master.3 \ + ntlm_core.3 heim_ntlm_build_ntlm2_master.3 \ + ntlm_core.3 heim_ntlm_calculate_lm2.3 \ + ntlm_core.3 heim_ntlm_calculate_ntlm1.3 \ + ntlm_core.3 heim_ntlm_calculate_ntlm2.3 \ + ntlm_core.3 heim_ntlm_decode_targetinfo.3 \ + ntlm_core.3 heim_ntlm_encode_targetinfo.3 \ + ntlm_core.3 heim_ntlm_encode_type1.3 \ + ntlm_core.3 heim_ntlm_encode_type2.3 \ + ntlm_core.3 heim_ntlm_encode_type3.3 \ + ntlm_core.3 heim_ntlm_free_buf.3 \ + ntlm_core.3 heim_ntlm_free_targetinfo.3 \ + ntlm_core.3 heim_ntlm_free_type1.3 \ + ntlm_core.3 heim_ntlm_free_type2.3 \ + ntlm_core.3 heim_ntlm_free_type3.3 \ + ntlm_core.3 heim_ntlm_keyex_unwrap.3 \ + ntlm_core.3 heim_ntlm_nt_key.3 \ + ntlm_core.3 heim_ntlm_ntlmv2_key.3 \ + ntlm_core.3 heim_ntlm_verify_ntlm2.3 + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/lib/ntlm ${KRB5DIR}/doc/doxyout/ntlm/man/man3 diff --git a/kerberos5/lib/libheimsqlite/Makefile b/kerberos5/lib/libheimsqlite/Makefile new file mode 100644 index 0000000..b98537a --- /dev/null +++ b/kerberos5/lib/libheimsqlite/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +LIB= heimsqlite +SRCS= sqlite3.c +DPADD= ${LIBPTHREAD} +LDADD= -lpthread +CFLAGS+=-I${KRB5DIR}/lib/sqlite + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/lib/sqlite diff --git a/kerberos5/lib/libhx509/Makefile b/kerberos5/lib/libhx509/Makefile new file mode 100644 index 0000000..57c9c18 --- /dev/null +++ b/kerberos5/lib/libhx509/Makefile @@ -0,0 +1,304 @@ +# $FreeBSD$ + +LIB= hx509 +LDFLAGS= -Wl,--no-undefined +VERSION_MAP= ${KRB5DIR}/lib/hx509/version-script.map +LDADD= -lasn1 -lcom_err -lcrypto -lroken -lwind +DPADD= ${LIBASN1} ${LIBCOM_ERR} ${LIBCRYPTO} ${LIBROKEN} ${LIBWIND} + +MAN= hx509.3 \ + hx509_ca.3 \ + hx509_cert.3 \ + hx509_cms.3 \ + hx509_crypto.3 \ + hx509_env.3 \ + hx509_error.3 \ + hx509_keyset.3 \ + hx509_lock.3 \ + hx509_misc.3 \ + hx509_name.3 \ + hx509_peer.3 \ + hx509_print.3 \ + hx509_query.3 \ + hx509_revoke.3 \ + hx509_verify.3 + +MLINKS= hx509.3 hx509_context_free.3 \ + hx509.3 hx509_context_init.3 \ + hx509_ca.3 hx509_ca_sign.3 \ + hx509_ca.3 hx509_ca_sign_self.3 \ + hx509_ca.3 hx509_ca_tbs_add_crl_dp_uri.3 \ + hx509_ca.3 hx509_ca_tbs_add_eku.3 \ + hx509_ca.3 hx509_ca_tbs_add_san_hostname.3 \ + hx509_ca.3 hx509_ca_tbs_add_san_jid.3 \ + hx509_ca.3 hx509_ca_tbs_add_san_ms_upn.3 \ + hx509_ca.3 hx509_ca_tbs_add_san_otherName.3 \ + hx509_ca.3 hx509_ca_tbs_add_san_pkinit.3 \ + hx509_ca.3 hx509_ca_tbs_add_san_rfc822name.3 \ + hx509_ca.3 hx509_ca_tbs_free.3 \ + hx509_ca.3 hx509_ca_tbs_init.3 \ + hx509_ca.3 hx509_ca_tbs_set_ca.3 \ + hx509_ca.3 hx509_ca_tbs_set_domaincontroller.3 \ + hx509_ca.3 hx509_ca_tbs_set_notAfter.3 \ + hx509_ca.3 hx509_ca_tbs_set_notAfter_lifetime.3 \ + hx509_ca.3 hx509_ca_tbs_set_notBefore.3 \ + hx509_ca.3 hx509_ca_tbs_set_proxy.3 \ + hx509_ca.3 hx509_ca_tbs_set_serialnumber.3 \ + hx509_ca.3 hx509_ca_tbs_set_spki.3 \ + hx509_ca.3 hx509_ca_tbs_set_subject.3 \ + hx509_ca.3 hx509_ca_tbs_set_template.3 \ + hx509_ca.3 hx509_ca_tbs_set_unique.3 \ + hx509_ca.3 hx509_ca_tbs_subject_expand.3 \ + hx509_ca.3 hx509_ca_tbs_template_units.3 \ + hx509_cert.3 hx509_cert_binary.3 \ + hx509_cert.3 hx509_cert_check_eku.3 \ + hx509_cert.3 hx509_cert_cmp.3 \ + hx509_cert.3 hx509_cert_find_subjectAltName_otherName.3 \ + hx509_cert.3 hx509_cert_free.3 \ + hx509_cert.3 hx509_cert_get_SPKI.3 \ + hx509_cert.3 hx509_cert_get_SPKI_AlgorithmIdentifier.3 \ + hx509_cert.3 hx509_cert_get_attribute.3 \ + hx509_cert.3 hx509_cert_get_base_subject.3 \ + hx509_cert.3 hx509_cert_get_friendly_name.3 \ + hx509_cert.3 hx509_cert_get_issuer.3 \ + hx509_cert.3 hx509_cert_get_issuer_unique_id.3 \ + hx509_cert.3 hx509_cert_get_notAfter.3 \ + hx509_cert.3 hx509_cert_get_notBefore.3 \ + hx509_cert.3 hx509_cert_get_serialnumber.3 \ + hx509_cert.3 hx509_cert_get_subject.3 \ + hx509_cert.3 hx509_cert_get_subject_unique_id.3 \ + hx509_cert.3 hx509_cert_init.3 \ + hx509_cert.3 hx509_cert_init_data.3 \ + hx509_cert.3 hx509_cert_ref.3 \ + hx509_cert.3 hx509_cert_set_friendly_name.3 \ + hx509_cert.3 hx509_print_cert.3 \ + hx509_cert.3 hx509_query_alloc.3 \ + hx509_cert.3 hx509_query_free.3 \ + hx509_cert.3 hx509_query_match_cmp_func.3 \ + hx509_cert.3 hx509_query_match_eku.3 \ + hx509_cert.3 hx509_query_match_friendly_name.3 \ + hx509_cert.3 hx509_query_match_issuer_serial.3 \ + hx509_cert.3 hx509_query_match_option.3 \ + hx509_cert.3 hx509_query_statistic_file.3 \ + hx509_cert.3 hx509_query_unparse_stats.3 \ + hx509_cert.3 hx509_verify_ctx_f_allow_default_trustanchors.3 \ + hx509_cert.3 hx509_verify_hostname.3 \ + hx509_cms.3 hx509_cms_create_signed_1.3 \ + hx509_cms.3 hx509_cms_envelope_1.3 \ + hx509_cms.3 hx509_cms_unenvelope.3 \ + hx509_cms.3 hx509_cms_unwrap_ContentInfo.3 \ + hx509_cms.3 hx509_cms_verify_signed.3 \ + hx509_cms.3 hx509_cms_wrap_ContentInfo.3 \ + hx509_crypto.3 hx509_verify_signature.3 \ + hx509_env.3 hx509_env_add.3 \ + hx509_env.3 hx509_env_add_binding.3 \ + hx509_env.3 hx509_env_find.3 \ + hx509_env.3 hx509_env_find_binding.3 \ + hx509_env.3 hx509_env_free.3 \ + hx509_env.3 hx509_env_lfind.3 \ + hx509_error.3 hx509_clear_error_string.3 \ + hx509_error.3 hx509_err.3 \ + hx509_error.3 hx509_free_error_string.3 \ + hx509_error.3 hx509_get_error_string.3 \ + hx509_error.3 hx509_set_error_string.3 \ + hx509_error.3 hx509_set_error_stringv.3 \ + hx509_keyset.3 hx509_certs_add.3 \ + hx509_keyset.3 hx509_certs_append.3 \ + hx509_keyset.3 hx509_certs_end_seq.3 \ + hx509_keyset.3 hx509_certs_filter.3 \ + hx509_keyset.3 hx509_certs_find.3 \ + hx509_keyset.3 hx509_certs_free.3 \ + hx509_keyset.3 hx509_certs_info.3 \ + hx509_keyset.3 hx509_certs_init.3 \ + hx509_keyset.3 hx509_certs_iter_f.3 \ + hx509_keyset.3 hx509_certs_merge.3 \ + hx509_keyset.3 hx509_certs_next_cert.3 \ + hx509_keyset.3 hx509_certs_start_seq.3 \ + hx509_keyset.3 hx509_certs_store.3 \ + hx509_keyset.3 hx509_ci_print_names.3 \ + hx509_keyset.3 hx509_get_one_cert.3 \ + hx509_misc.3 hx509_free_octet_string_list.3 \ + hx509_misc.3 hx509_xfree.3 \ + hx509_name.3 hx509_general_name_unparse.3 \ + hx509_name.3 hx509_name_binary.3 \ + hx509_name.3 hx509_name_cmp.3 \ + hx509_name.3 hx509_name_copy.3 \ + hx509_name.3 hx509_name_expand.3 \ + hx509_name.3 hx509_name_free.3 \ + hx509_name.3 hx509_name_is_null_p.3 \ + hx509_name.3 hx509_name_to_Name.3 \ + hx509_name.3 hx509_name_to_string.3 \ + hx509_name.3 hx509_parse_name.3 \ + hx509_name.3 hx509_unparse_der_name.3 \ + hx509_peer.3 hx509_peer_info_add_cms_alg.3 \ + hx509_peer.3 hx509_peer_info_alloc.3 \ + hx509_peer.3 hx509_peer_info_free.3 \ + hx509_peer.3 hx509_peer_info_set_cert.3 \ + hx509_peer.3 hx509_peer_info_set_cms_algs.3 \ + hx509_print.3 hx509_bitstring_print.3 \ + hx509_print.3 hx509_cert_keyusage_print.3 \ + hx509_print.3 hx509_oid_print.3 \ + hx509_print.3 hx509_oid_sprint.3 \ + hx509_print.3 hx509_print_stdout.3 \ + hx509_print.3 hx509_validate_cert.3 \ + hx509_print.3 hx509_validate_ctx_add_flags.3 \ + hx509_print.3 hx509_validate_ctx_free.3 \ + hx509_print.3 hx509_validate_ctx_init.3 \ + hx509_print.3 hx509_validate_ctx_set_print.3 \ + hx509_revoke.3 hx509_ocsp_request.3 \ + hx509_revoke.3 hx509_revoke_add_crl.3 \ + hx509_revoke.3 hx509_revoke_add_ocsp.3 \ + hx509_revoke.3 hx509_revoke_free.3 \ + hx509_revoke.3 hx509_revoke_init.3 \ + hx509_revoke.3 hx509_revoke_ocsp_print.3 \ + hx509_revoke.3 hx509_revoke_verify.3 \ + hx509_verify.3 hx509_context_set_missing_revoke.3 \ + hx509_verify.3 hx509_crl_add_revoked_certs.3 \ + hx509_verify.3 hx509_crl_alloc.3 \ + hx509_verify.3 hx509_crl_free.3 \ + hx509_verify.3 hx509_crl_lifetime.3 \ + hx509_verify.3 hx509_crl_sign.3 \ + hx509_verify.3 hx509_ocsp_verify.3 \ + hx509_verify.3 hx509_verify_attach_anchors.3 \ + hx509_verify.3 hx509_verify_attach_revoke.3 \ + hx509_verify.3 hx509_verify_destroy_ctx.3 \ + hx509_verify.3 hx509_verify_init_ctx.3 \ + hx509_verify.3 hx509_verify_path.3 \ + hx509_verify.3 hx509_verify_set_max_depth.3 \ + hx509_verify.3 hx509_verify_set_proxy_certificate.3 \ + hx509_verify.3 hx509_verify_set_strict_rfc3280_verification.3 \ + hx509_verify.3 hx509_verify_set_time.3 + +INCS= hx509-private.h \ + hx509-protos.h \ + hx509.h \ + hx509_err.h + +SRCS= ca.c \ + cert.c \ + char_map.h \ + cms.c \ + collector.c \ + crypto.c \ + doxygen.c \ + error.c \ + env.c \ + file.c \ + hx509-private.h \ + hx509-protos.h \ + hx509.h \ + hx_locl.h \ + sel.c \ + sel.h \ + sel-gram.y \ + sel-lex.l \ + keyset.c \ + ks_dir.c \ + ks_file.c \ + ks_mem.c \ + ks_null.c \ + ks_p11.c \ + ks_p12.c \ + ks_keychain.c \ + lock.c \ + name.c \ + peer.c \ + print.c \ + softp11.c \ + ref/pkcs11.h \ + req.c \ + revoke.c + +SRCS+= hx509_err.c \ + hx509_err.h + +SRCS+= ${GEN_OCSP:S/.x$/.c/:S/.hx$/.h/} \ + ${GEN_PKCS10:S/.x$/.c/:S/.hx$/.h/} + +CFLAGS+=-I${KRB5DIR}/lib/hx509 +CFLAGS+=-I${KRB5DIR}/lib/hx509/ref +CFLAGS+=-I${KRB5DIR}/lib/asn1 +CFLAGS+=-I${KRB5DIR}/lib/wind +CFLAGS+=-I${KRB5DIR}/lib/roken -I. + +GEN_OCSP= \ + asn1_OCSPBasicOCSPResponse.x \ + asn1_OCSPCertID.x \ + asn1_OCSPCertStatus.x \ + asn1_OCSPInnerRequest.x \ + asn1_OCSPKeyHash.x \ + asn1_OCSPRequest.x \ + asn1_OCSPResponderID.x \ + asn1_OCSPResponse.x \ + asn1_OCSPResponseBytes.x \ + asn1_OCSPResponseData.x \ + asn1_OCSPResponseStatus.x \ + asn1_OCSPSignature.x \ + asn1_OCSPSingleResponse.x \ + asn1_OCSPTBSRequest.x \ + asn1_OCSPVersion.x \ + asn1_id_pkix_ocsp.x \ + asn1_id_pkix_ocsp_basic.x \ + asn1_id_pkix_ocsp_nonce.x \ + ocsp_asn1.hx \ + ocsp_asn1-priv.hx + +GEN_PKCS10= \ + asn1_CertificationRequestInfo.x \ + asn1_CertificationRequest.x \ + pkcs10_asn1.hx \ + pkcs10_asn1-priv.hx + +GEN_CRMF= \ + asn1_CRMFRDNSequence.x \ + asn1_CertReqMessages.x \ + asn1_CertReqMsg.x \ + asn1_CertRequest.x \ + asn1_CertTemplate.x \ + asn1_Controls.x \ + asn1_PBMParameter.x \ + asn1_PKMACValue.x \ + asn1_POPOPrivKey.x \ + asn1_POPOSigningKey.x \ + asn1_POPOSigningKeyInput.x \ + asn1_ProofOfPossession.x \ + asn1_SubsequentMessage.x \ + crmf_asn1.hx \ + crmf_asn1-priv.hx + +GEN+= ${GEN_OCSP} +GEN+= ${GEN_PKCS10} +GEN+= ${GEN_CRMF} + +CLEANFILES= ${GEN} ${GEN:S/.x$/.c/:S/.hx$/.h/} ocsp_asn1_files \ + pkcs10_asn1_files crmf_asn1_files ocsp_asn1-template.[ch]* \ + pkcs10_asn1-template.[ch]* crmf_asn1-template.[ch]* + +INCS+= ocsp_asn1.h pkcs10_asn1.h crmf_asn1.h + +ASN1_COMPILE= asn1_compile + +${GEN_OCSP}: ocsp.asn1 ocsp.opt + ${ASN1_COMPILE} --option-file=${.ALLSRC:M*.opt} \ + ${.ALLSRC:M*.asn1} ocsp_asn1 + +${GEN_PKCS10}: pkcs10.asn1 pkcs10.opt + ${ASN1_COMPILE} --option-file=${.ALLSRC:M*.opt} \ + ${.ALLSRC:M*.asn1} pkcs10_asn1 + +${GEN_CRMF}: crmf.asn1 + ${ASN1_COMPILE} ${.ALLSRC:M*.asn1} crmf_asn1 + +.SUFFIXES: .h .c .x .hx + +.x.c: + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + +.hx.h: + cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET} + +.include <bsd.lib.mk> + +.SUFFIXES: .h .c .x .hx + +.PATH: ${KRB5DIR}/lib/hx509 ${KRB5DIR}/lib/asn1 ${KRB5DIR}/doc/doxyout/hx509/man/man3 diff --git a/kerberos5/lib/libkadm5clnt/Makefile b/kerberos5/lib/libkadm5clnt/Makefile new file mode 100644 index 0000000..31030be --- /dev/null +++ b/kerberos5/lib/libkadm5clnt/Makefile @@ -0,0 +1,45 @@ +# $FreeBSD$ + +LIB= kadm5clnt +LDFLAGS= -Wl,--no-undefined +LDADD= -lcom_err -lkrb5 -lroken +DPADD= ${LIBCOM_ERR} ${LIBKRB5} ${LIBROKEN} + +INCS= admin.h \ + kadm5-private.h \ + kadm5-protos.h \ + kadm5-pwcheck.h \ + kadm5_err.h \ + private.h + +INCSDIR=${INCLUDEDIR}/kadm5 + +SRCS= ad.c \ + chpass_c.c \ + client_glue.c \ + common_glue.c \ + create_c.c \ + delete_c.c \ + destroy_c.c \ + flush_c.c \ + free.c \ + get_c.c \ + get_princs_c.c \ + init_c.c \ + kadm5_locl.h \ + kadm5_err.c \ + kadm5_err.h \ + marshall.c \ + modify_c.c \ + private.h \ + privs_c.c \ + randkey_c.c \ + rename_c.c \ + send_recv.c \ + admin.h + +CFLAGS+=-I${KRB5DIR}/lib/kadm5 -I${KRB5DIR}/lib/asn1 -I${KRB5DIR}/lib/roken -I. + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/lib/kadm5 diff --git a/kerberos5/lib/libkadm5srv/Makefile b/kerberos5/lib/libkadm5srv/Makefile new file mode 100644 index 0000000..1632280 --- /dev/null +++ b/kerberos5/lib/libkadm5srv/Makefile @@ -0,0 +1,47 @@ +# $FreeBSD$ + +LIB= kadm5srv +LDFLAGS= -Wl,--no-undefined +LDADD= -lcom_err -lhdb -lkrb5 -lroken +DPADD= ${LIBCOM_ERR} ${LIBHDB} ${LIBKRB5} ${LIBROKEN} +VERSION_MAP= ${KRB5DIR}/lib/kadm5/version-script.map +MAN= kadm5_pwcheck.3 + +SRCS= acl.c \ + admin.h \ + admin.h \ + bump_pw_expire.c \ + chpass_s.c \ + common_glue.c \ + context_s.c \ + create_s.c \ + delete_s.c \ + destroy_s.c \ + ent_setup.c \ + error.c \ + flush_s.c \ + free.c \ + get_princs_s.c \ + get_s.c \ + init_s.c \ + kadm5_err.c \ + kadm5_err.h \ + kadm5_locl.h \ + keys.c \ + log.c \ + marshall.c \ + modify_s.c \ + password_quality.c \ + private.h \ + privs_s.c \ + randkey_s.c \ + rename_s.c \ + server_glue.c \ + set_keys.c \ + set_modifier.c + +CFLAGS+=-I${KRB5DIR}/lib/kadm5 -I${KRB5DIR}/lib/asn1 -I${KRB5DIR}/lib/roken -I. + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/lib/kadm5 diff --git a/kerberos5/lib/libkafs5/Makefile b/kerberos5/lib/libkafs5/Makefile new file mode 100644 index 0000000..ded5095 --- /dev/null +++ b/kerberos5/lib/libkafs5/Makefile @@ -0,0 +1,52 @@ +# $FreeBSD$ + +LIB= kafs5 +LDADD= -lasn1 -lroken +DPADD= ${LIBASN1} ${LIBKRB5} ${LIBROKEN} +INCS= kafs.h +MAN= kafs5.3 + +# +# Linking with libkrb5 uncovers a bug in binutils. +# See http://repo.or.cz/w/binutils.git/commit/ee05170bf71819c99cb5a36a44735c231ae03c56 . +# +.if ${MACHINE_ARCH} != "mipsn32eb" && ${MACHINE_ARCH} != "mipsel" && ${MACHINE_ARCH} != "mipseb" +LDADD+= -lkrb5 +LDFLAGS= -Wl,--no-undefined +.endif + +MLINKS= kafs5.3 k_afs_cell_of_file.3 \ + kafs5.3 k_hasafs.3 \ + kafs5.3 k_pioctl.3 \ + kafs5.3 k_setpag.3 \ + kafs5.3 k_unlog.3 \ + kafs5.3 kafs.3 \ + kafs5.3 kafs_set_verbose.3 \ + kafs5.3 kafs_settoken.3 \ + kafs5.3 kafs_settoken5.3 \ + kafs5.3 kafs_settoken_rxkad.3 \ + kafs5.3 krb5_afslog.3 \ + kafs5.3 krb5_afslog_uid.3 \ + kafs5.3 krb_afslog.3 \ + kafs5.3 krb_afslog_uid.3 + +SRCS= afssys.c afskrb5.c common.c krb5_err.h +SRCS= afssys.c \ + afskrb5.c \ + common.c \ + kafs_locl.h \ + afssysdefs.h \ + roken_rename.h +CFLAGS+= -I${KRB5DIR}/lib/kafs \ + -I${KRB5DIR}/lib/krb5 \ + -I${.OBJDIR}/../libkrb5/ \ + -I${KRB5DIR}/lib/roken + +CLEANFILES= kafs5.3 + +kafs5.3: kafs.3 + sed -e 's/libkafs, -lkafs/libkafs5, -lkafs5/g' ${.ALLSRC} >${.TARGET} + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/lib/kafs diff --git a/kerberos5/lib/libkdc/Makefile b/kerberos5/lib/libkdc/Makefile new file mode 100644 index 0000000..385f160 --- /dev/null +++ b/kerberos5/lib/libkdc/Makefile @@ -0,0 +1,40 @@ +#$FreeBSD$ + +LIB= kdc +LDFLAGS= -Wl,--no-undefined +VERSION_MAP= ${KRB5DIR}/kdc/version-script.map +LDADD= -lroken -lhdb -lhx509 -lkrb5 -lheimntlm -lasn1 -lcrypt -lcrypto +DPADD= ${LIBROKEN} ${LIBHDB} ${LIBHX509} ${LIBKRB5} ${LIBHEIMNTLM} \ + ${LIBASN1} ${LIBCRYPT} ${LIBCRYPTO} + +INCS= kdc.h \ + kdc-protos.h + +KRB5INCS= windc_plugin.h +KRB5INCSDIR= ${INCLUDEDIR}/krb5 +INCSGROUPS= INCS KRB5INCS + +SRCS= kdc-private.h \ + kdc-protos.h \ + default_config.c \ + set_dbinfo.c \ + digest.c \ + kdc_locl.h\ + kerberos5.c \ + krb5tgs.c \ + pkinit.c \ + log.c \ + misc.c \ + kx509.c \ + process.c \ + windc.c \ + rx.h + +CFLAGS+= -I${KRB5DIR}/lib/roken \ + -I${KRB5DIR}/lib/krb5 \ + -I${KRB5DIR}/lib/hdb \ + -I${KRB5DIR}/kdc + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/kdc diff --git a/kerberos5/lib/libkrb5/Makefile b/kerberos5/lib/libkrb5/Makefile new file mode 100644 index 0000000..f53e4d0 --- /dev/null +++ b/kerberos5/lib/libkrb5/Makefile @@ -0,0 +1,640 @@ +# $FreeBSD$ + +LIB= krb5 +LDFLAGS= -Wl,--no-undefined +VERSION_MAP= ${KRB5DIR}/lib/krb5/version-script.map +LDADD= -lasn1 -lcom_err -lcrypt -lcrypto -lhx509 -lroken -lwind -lheimbase ${LIBHEIMIPCC} +DPADD= ${LIBASN1} ${LIBCOM_ERR} ${LIBCRYPT} ${LIBCRYPTO} ${LIBHX509} ${LIBROKEN} ${LIBWIND} ${LIBHEIMBASE} ${LIBHEIMIPCC} + +INCS= heim_err.h \ + heim_threads.h \ + k524_err.h \ + krb5-protos.h \ + krb5-private.h \ + krb5-types.h \ + krb5.h \ + krb5_err.h \ + krb5_ccapi.h + +KRB5INCS= locate_plugin.h \ + send_to_kdc_plugin.h \ + ccache_plugin.h +KRB5INCSDIR= ${INCLUDEDIR}/krb5 +INCSGROUPS= INCS KRB5INCS + +MAN= krb5.3 \ + krb524_convert_creds_kdc.3 \ + krb5_425_conv_principal.3 \ + krb5_acl_match_file.3 \ + krb5_address.3 \ + krb5_aname_to_localname.3 \ + krb5_appdefault.3 \ + krb5_auth.3 \ + krb5_auth_context.3 \ + krb5_c_make_checksum.3 \ + krb5_ccache.3 \ + krb5_ccache_intro.3 \ + krb5_check_transited.3 \ + krb5_create_checksum.3 \ + krb5_credential.3 \ + krb5_creds.3 \ + krb5_crypto.3 \ + krb5_crypto_iov.3 \ + krb5_deprecated.3 \ + krb5_digest.3 \ + krb5_eai_to_heim_errno.3 \ + krb5_encrypt.3 \ + krb5_error.3 \ + krb5_fileformats.3 \ + krb5_find_padata.3 \ + krb5_generate_random_block.3 \ + krb5_get_all_client_addrs.3 \ + krb5_get_credentials.3 \ + krb5_get_creds.3 \ + krb5_get_forwarded_creds.3 \ + krb5_get_in_cred.3 \ + krb5_get_init_creds.3 \ + krb5_get_krbhst.3 \ + krb5_getportbyname.3 \ + krb5_init_context.3 \ + krb5_init_creds_intro.3 \ + krb5_introduction.3 \ + krb5_is_thread_safe.3 \ + krb5_keytab.3 \ + krb5_keytab_intro.3 \ + krb5_krbhst_init.3 \ + krb5_mk_req.3 \ + krb5_mk_safe.3 \ + krb5_openlog.3 \ + krb5_pac.3 \ + krb5_parse_name.3 \ + krb5_principal.3 \ + krb5_principal_intro.3 \ + krb5_rcache.3 \ + krb5_rd_error.3 \ + krb5_rd_safe.3 \ + krb5_set_default_realm.3 \ + krb5_set_password.3 \ + krb5_storage.3 \ + krb5_string_to_key.3 \ + krb5_support.3 \ + krb5_ticket.3 \ + krb5_timeofday.3 \ + krb5_v4compat.3 \ + krb5_verify_init_creds.3 \ + krb5_verify_user.3 \ + verify_krb5_conf.8 + +MAN+= krb5.conf.5 +MAN+= kerberos.8 + +MLINKS= krb5.3 krb5_add_et_list.3 \ + krb5.3 krb5_add_extra_addresses.3 \ + krb5.3 krb5_add_ignore_addresses.3 \ + krb5.3 krb5_compare_creds.3 \ + krb5.3 krb5_copy_context.3 \ + krb5.3 krb5_copy_creds.3 \ + krb5.3 krb5_copy_creds_contents.3 \ + krb5.3 krb5_copy_data.3 \ + krb5.3 krb5_copy_host_realm.3 \ + krb5.3 krb5_copy_ticket.3 \ + krb5.3 krb5_creds_get_ticket_flags.3 \ + krb5.3 krb5_data_alloc.3 \ + krb5.3 krb5_data_cmp.3 \ + krb5.3 krb5_data_copy.3 \ + krb5.3 krb5_data_ct_cmp.3 \ + krb5.3 krb5_data_free.3 \ + krb5.3 krb5_data_realloc.3 \ + krb5.3 krb5_data_zero.3 \ + krb5.3 krb5_free_config_files.3 \ + krb5.3 krb5_free_context.3 \ + krb5.3 krb5_free_cred_contents.3 \ + krb5.3 krb5_free_creds.3 \ + krb5.3 krb5_free_data.3 \ + krb5.3 krb5_free_ticket.3 \ + krb5.3 krb5_get_default_config_files.3 \ + krb5.3 krb5_get_default_in_tkt_etypes.3 \ + krb5.3 krb5_get_dns_canonicalize_hostname.3 \ + krb5.3 krb5_get_extra_addresses.3 \ + krb5.3 krb5_get_fcache_version.3 \ + krb5.3 krb5_get_ignore_addresses.3 \ + krb5.3 krb5_get_kdc_sec_offset.3 \ + krb5.3 krb5_get_max_time_skew.3 \ + krb5.3 krb5_get_use_admin_kdc.3 \ + krb5.3 krb5_init_ets.3 \ + krb5.3 krb5_kerberos_enctypes.3 \ + krb5.3 krb5_krbhst_get_addrinfo.3 \ + krb5.3 krb5_prepend_config_files_default.3 \ + krb5.3 krb5_set_config_files.3 \ + krb5.3 krb5_set_default_in_tkt_etypes.3 \ + krb5.3 krb5_set_dns_canonicalize_hostname.3 \ + krb5.3 krb5_set_extra_addresses.3 \ + krb5.3 krb5_set_fcache_version.3 \ + krb5.3 krb5_set_home_dir_access.3 \ + krb5.3 krb5_set_ignore_addresses.3 \ + krb5.3 krb5_set_kdc_sec_offset.3 \ + krb5.3 krb5_set_max_time_skew.3 \ + krb5.3 krb5_set_real_time.3 \ + krb5.3 krb5_set_use_admin_kdc.3 \ + krb5.3 krb5_ticket_get_authorization_data_type.3 \ + krb5.3 krb5_ticket_get_client.3 \ + krb5.3 krb5_ticket_get_endtime.3 \ + krb5.3 krb5_ticket_get_server.3 \ + krb5_425_conv_principal.3 krb5_425_conv_principal_ext.3 \ + krb5_425_conv_principal.3 krb5_524_conv_principal.3 \ + krb5_address.3 krb5_addr2sockaddr.3 \ + krb5_address.3 krb5_address_compare.3 \ + krb5_address.3 krb5_address_order.3 \ + krb5_address.3 krb5_address_prefixlen_boundary.3 \ + krb5_address.3 krb5_address_search.3 \ + krb5_address.3 krb5_anyaddr.3 \ + krb5_address.3 krb5_append_addresses.3 \ + krb5_address.3 krb5_copy_address.3 \ + krb5_address.3 krb5_copy_addresses.3 \ + krb5_address.3 krb5_free_address.3 \ + krb5_address.3 krb5_free_addresses.3 \ + krb5_address.3 krb5_h_addr2addr.3 \ + krb5_address.3 krb5_h_addr2sockaddr.3 \ + krb5_address.3 krb5_make_addrport.3 \ + krb5_address.3 krb5_max_sockaddr_size.3 \ + krb5_address.3 krb5_parse_address.3 \ + krb5_address.3 krb5_print_address.3 \ + krb5_address.3 krb5_sockaddr2address.3 \ + krb5_address.3 krb5_sockaddr2port.3 \ + krb5_address.3 krb5_sockaddr_uninteresting.3 \ + krb5_appdefault.3 krb5_appdefault_boolean.3 \ + krb5_appdefault.3 krb5_appdefault_string.3 \ + krb5_appdefault.3 krb5_appdefault_time.3 \ + krb5_auth.3 krb5_rd_req_ctx.3 \ + krb5_auth.3 krb5_rd_req_in_ctx_alloc.3 \ + krb5_auth.3 krb5_rd_req_in_set_keytab.3 \ + krb5_auth.3 krb5_rd_req_in_set_pac_check.3 \ + krb5_auth.3 krb5_rd_req_out_ctx_free.3 \ + krb5_auth.3 krb5_rd_req_out_get_server.3 \ + krb5_auth_context.3 krb5_auth_con_free.3 \ + krb5_auth_context.3 krb5_auth_con_genaddrs.3 \ + krb5_auth_context.3 krb5_auth_con_getaddrs.3 \ + krb5_auth_context.3 krb5_auth_con_getflags.3 \ + krb5_auth_context.3 krb5_auth_con_getkey.3 \ + krb5_auth_context.3 krb5_auth_con_getlocalsubkey.3 \ + krb5_auth_context.3 krb5_auth_con_getrcache.3 \ + krb5_auth_context.3 krb5_auth_con_getremotesubkey.3 \ + krb5_auth_context.3 krb5_auth_con_getuserkey.3 \ + krb5_auth_context.3 krb5_auth_con_init.3 \ + krb5_auth_context.3 krb5_auth_con_initivector.3 \ + krb5_auth_context.3 krb5_auth_con_setaddrs.3 \ + krb5_auth_context.3 krb5_auth_con_setaddrs_from_fd.3 \ + krb5_auth_context.3 krb5_auth_con_setflags.3 \ + krb5_auth_context.3 krb5_auth_con_setivector.3 \ + krb5_auth_context.3 krb5_auth_con_setkey.3 \ + krb5_auth_context.3 krb5_auth_con_setlocalsubkey.3 \ + krb5_auth_context.3 krb5_auth_con_setrcache.3 \ + krb5_auth_context.3 krb5_auth_con_setremotesubkey.3 \ + krb5_auth_context.3 krb5_auth_con_setuserkey.3 \ + krb5_auth_context.3 krb5_auth_getauthenticator.3 \ + krb5_auth_context.3 krb5_auth_getcksumtype.3 \ + krb5_auth_context.3 krb5_auth_getkeytype.3 \ + krb5_auth_context.3 krb5_auth_getlocalseqnumber.3 \ + krb5_auth_context.3 krb5_auth_getremoteseqnumber.3 \ + krb5_auth_context.3 krb5_auth_setcksumtype.3 \ + krb5_auth_context.3 krb5_auth_setkeytype.3 \ + krb5_auth_context.3 krb5_auth_setlocalseqnumber.3 \ + krb5_auth_context.3 krb5_auth_setremoteseqnumber.3 \ + krb5_ccache.3 krb5_acc_ops.3 \ + krb5_ccache.3 krb5_cc_cache_end_seq_get.3 \ + krb5_ccache.3 krb5_cc_cache_get_first.3 \ + krb5_ccache.3 krb5_cc_cache_match.3 \ + krb5_ccache.3 krb5_cc_cache_next.3 \ + krb5_ccache.3 krb5_cc_clear_mcred.3 \ + krb5_ccache.3 krb5_cc_close.3 \ + krb5_ccache.3 krb5_cc_copy_cache.3 \ + krb5_ccache.3 krb5_cc_copy_creds.3 \ + krb5_ccache.3 krb5_cc_copy_match_f.3 \ + krb5_ccache.3 krb5_cc_default.3 \ + krb5_ccache.3 krb5_cc_default_name.3 \ + krb5_ccache.3 krb5_cc_destroy.3 \ + krb5_ccache.3 krb5_cc_end_seq_get.3 \ + krb5_ccache.3 krb5_cc_gen_new.3 \ + krb5_ccache.3 krb5_cc_get_config.3 \ + krb5_ccache.3 krb5_cc_get_flags.3 \ + krb5_ccache.3 krb5_cc_get_friendly_name.3 \ + krb5_ccache.3 krb5_cc_get_full_name.3 \ + krb5_ccache.3 krb5_cc_get_kdc_offset.3 \ + krb5_ccache.3 krb5_cc_get_lifetime.3 \ + krb5_ccache.3 krb5_cc_get_name.3 \ + krb5_ccache.3 krb5_cc_get_ops.3 \ + krb5_ccache.3 krb5_cc_get_prefix_ops.3 \ + krb5_ccache.3 krb5_cc_get_principal.3 \ + krb5_ccache.3 krb5_cc_get_type.3 \ + krb5_ccache.3 krb5_cc_get_version.3 \ + krb5_ccache.3 krb5_cc_initialize.3 \ + krb5_ccache.3 krb5_cc_last_change_time.3 \ + krb5_ccache.3 krb5_cc_move.3 \ + krb5_ccache.3 krb5_cc_new_unique.3 \ + krb5_ccache.3 krb5_cc_next_cred.3 \ + krb5_ccache.3 krb5_cc_register.3 \ + krb5_ccache.3 krb5_cc_remove_cred.3 \ + krb5_ccache.3 krb5_cc_resolve.3 \ + krb5_ccache.3 krb5_cc_retrieve_cred.3 \ + krb5_ccache.3 krb5_cc_set_config.3 \ + krb5_ccache.3 krb5_cc_set_default_name.3 \ + krb5_ccache.3 krb5_cc_set_flags.3 \ + krb5_ccache.3 krb5_cc_set_friendly_name.3 \ + krb5_ccache.3 krb5_cc_set_kdc_offset.3 \ + krb5_ccache.3 krb5_cc_start_seq_get.3 \ + krb5_ccache.3 krb5_cc_store_cred.3 \ + krb5_ccache.3 krb5_cc_support_switch.3 \ + krb5_ccache.3 krb5_cc_switch.3 \ + krb5_ccache.3 krb5_cccol_cursor_free.3 \ + krb5_ccache.3 krb5_cccol_cursor_new.3 \ + krb5_ccache.3 krb5_cccol_cursor_next.3 \ + krb5_ccache.3 krb5_cccol_last_change_time.3 \ + krb5_ccache.3 krb5_fcc_ops.3 \ + krb5_ccache.3 krb5_get_validated_creds.3 \ + krb5_ccache.3 krb5_is_config_principal.3 \ + krb5_ccache.3 krb5_mcc_ops.3 \ + krb5_create_checksum.3 krb5_checksum_is_collision_proof.3 \ + krb5_create_checksum.3 krb5_checksum_is_keyed.3 \ + krb5_create_checksum.3 krb5_checksumsize.3 \ + krb5_create_checksum.3 krb5_verify_checksum.3 \ + krb5_credential.3 krb5_fwd_tgt_creds.3 \ + krb5_credential.3 krb5_get_init_creds_keyblock.3 \ + krb5_credential.3 krb5_get_init_creds_keytab.3 \ + krb5_credential.3 krb5_get_init_creds_opt_alloc.3 \ + krb5_credential.3 krb5_get_init_creds_opt_free.3 \ + krb5_credential.3 krb5_get_init_creds_password.3 \ + krb5_credential.3 krb5_init_creds_free.3 \ + krb5_credential.3 krb5_init_creds_get.3 \ + krb5_credential.3 krb5_init_creds_get_error.3 \ + krb5_credential.3 krb5_init_creds_init.3 \ + krb5_credential.3 krb5_init_creds_set_keytab.3 \ + krb5_credential.3 krb5_init_creds_set_password.3 \ + krb5_credential.3 krb5_init_creds_set_service.3 \ + krb5_credential.3 krb5_init_creds_step.3 \ + krb5_crypto.3 krb5_allow_weak_crypto.3 \ + krb5_crypto.3 krb5_cksumtype_to_enctype.3 \ + krb5_crypto.3 krb5_copy_keyblock.3 \ + krb5_crypto.3 krb5_copy_keyblock_contents.3 \ + krb5_crypto.3 krb5_create_checksum_iov.3 \ + krb5_crypto.3 krb5_crypto_destroy.3 \ + krb5_crypto.3 krb5_crypto_fx_cf2.3 \ + krb5_crypto.3 krb5_crypto_getblocksize.3 \ + krb5_crypto.3 krb5_crypto_getconfoundersize.3 \ + krb5_crypto.3 krb5_crypto_getenctype.3 \ + krb5_crypto.3 krb5_crypto_getpadsize.3 \ + krb5_crypto.3 krb5_crypto_init.3 \ + krb5_crypto.3 krb5_decrypt_iov_ivec.3 \ + krb5_crypto.3 krb5_encrypt_iov_ivec.3 \ + krb5_crypto.3 krb5_enctype_disable.3 \ + krb5_crypto.3 krb5_enctype_enable.3 \ + krb5_crypto.3 krb5_enctype_valid.3 \ + krb5_crypto.3 krb5_free_keyblock.3 \ + krb5_crypto.3 krb5_free_keyblock_contents.3 \ + krb5_crypto.3 krb5_generate_subkey_extended.3 \ + krb5_crypto.3 krb5_keyblock_get_enctype.3 \ + krb5_crypto.3 krb5_keyblock_init.3 \ + krb5_crypto.3 krb5_keyblock_zero.3 \ + krb5_crypto.3 krb5_random_to_key.3 \ + krb5_crypto.3 krb5_verify_checksum_iov.3 \ + krb5_deprecated.3 krb5_auth_getremoteseqnumber.3 \ + krb5_deprecated.3 krb5_c_enctype_compare.3 \ + krb5_deprecated.3 krb5_change_password.3 \ + krb5_deprecated.3 krb5_clear_error_string.3 \ + krb5_deprecated.3 krb5_config_parse_string_multi.3 \ + krb5_deprecated.3 krb5_enctypes_compatible_keys.3 \ + krb5_deprecated.3 krb5_free_creds_contents.3 \ + krb5_deprecated.3 krb5_free_data_contents.3 \ + krb5_deprecated.3 krb5_free_error_string.3 \ + krb5_deprecated.3 krb5_free_unparsed_name.3 \ + krb5_deprecated.3 krb5_generate_subkey.3 \ + krb5_deprecated.3 krb5_get_cred_from_kdc.3 \ + krb5_deprecated.3 krb5_get_cred_from_kdc_opt.3 \ + krb5_deprecated.3 krb5_get_in_tkt_with_keytab.3 \ + krb5_deprecated.3 krb5_get_in_tkt_with_password.3 \ + krb5_deprecated.3 krb5_get_in_tkt_with_skey.3 \ + krb5_deprecated.3 krb5_get_init_creds_opt_get_error.3 \ + krb5_deprecated.3 krb5_get_init_creds_opt_init.3 \ + krb5_deprecated.3 krb5_keytab_key_proc.3 \ + krb5_deprecated.3 krb5_keytype_to_enctypes.3 \ + krb5_deprecated.3 krb5_keytype_to_enctypes_default.3 \ + krb5_deprecated.3 krb5_keytype_to_string.3 \ + krb5_deprecated.3 krb5_password_key_proc.3 \ + krb5_deprecated.3 krb5_princ_realm.3 \ + krb5_deprecated.3 krb5_princ_set_realm.3 \ + krb5_deprecated.3 krb5_set_error_string.3 \ + krb5_deprecated.3 krb5_string_to_keytype.3 \ + krb5_deprecated.3 krb5_vset_error_string.3 \ + krb5_digest.3 krb5_digest_probe.3 \ + krb5_encrypt.3 krb5_decrypt.3 \ + krb5_encrypt.3 krb5_decrypt_EncryptedData.3 \ + krb5_encrypt.3 krb5_encrypt_EncryptedData.3 \ + krb5_error.3 krb5_clear_error_message.3 \ + krb5_error.3 krb5_h_errno_to_heim_errno.3 \ + krb5_error.3 krb5_set_error_message.3 \ + krb5_error.3 krb5_vwarn.3 \ + krb5_get_all_client_addrs.3 krb5_get_all_server_addrs.3 \ + krb5_get_krbhst.3 krb5_free_krbhst.3 \ + krb5_get_krbhst.3 krb5_get_krb524hst.3 \ + krb5_get_krbhst.3 krb5_get_krb_admin_hst.3 \ + krb5_get_krbhst.3 krb5_get_krb_changepw_hst.3 \ + krb5_init_context.3 krb5_free_context.3 \ + krb5_keytab.3 krb5_kt_add_entry.3 \ + krb5_keytab.3 krb5_kt_close.3 \ + krb5_keytab.3 krb5_kt_compare.3 \ + krb5_keytab.3 krb5_kt_copy_entry_contents.3 \ + krb5_keytab.3 krb5_kt_default.3 \ + krb5_keytab.3 krb5_kt_default_modify_name.3 \ + krb5_keytab.3 krb5_kt_default_name.3 \ + krb5_keytab.3 krb5_kt_destroy.3 \ + krb5_keytab.3 krb5_kt_end_seq_get.3 \ + krb5_keytab.3 krb5_kt_free_entry.3 \ + krb5_keytab.3 krb5_kt_get_entry.3 \ + krb5_keytab.3 krb5_kt_get_full_name.3 \ + krb5_keytab.3 krb5_kt_get_name.3 \ + krb5_keytab.3 krb5_kt_get_type.3 \ + krb5_keytab.3 krb5_kt_have_content.3 \ + krb5_keytab.3 krb5_kt_next_entry.3 \ + krb5_keytab.3 krb5_kt_read_service_key.3 \ + krb5_keytab.3 krb5_kt_register.3 \ + krb5_keytab.3 krb5_kt_remove_entry.3 \ + krb5_keytab.3 krb5_kt_resolve.3 \ + krb5_keytab.3 krb5_kt_start_seq_get.3 \ + krb5_krbhst_init.3 krb5_krbhst_format_string.3 \ + krb5_krbhst_init.3 krb5_krbhst_free.3 \ + krb5_krbhst_init.3 krb5_krbhst_get_addrinfo.3 \ + krb5_krbhst_init.3 krb5_krbhst_next.3 \ + krb5_krbhst_init.3 krb5_krbhst_next_as_string.3 \ + krb5_krbhst_init.3 krb5_krbhst_reset.3 \ + krb5_openlog.3 krb5_addlog_dest.3 \ + krb5_openlog.3 krb5_addlog_func.3 \ + krb5_openlog.3 krb5_closelog.3 \ + krb5_openlog.3 krb5_initlog.3 \ + krb5_openlog.3 krb5_log.3 \ + krb5_openlog.3 krb5_log_msg.3 \ + krb5_openlog.3 krb5_vlog.3 \ + krb5_openlog.3 krb5_vlog_msg.3 \ + krb5_pac.3 krb5_pac_get_buffer.3 \ + krb5_pac.3 krb5_pac_verify.3 \ + krb5_principal.3 krb5_build_principal.3 \ + krb5_principal.3 krb5_build_principal_ext.3 \ + krb5_principal.3 krb5_build_principal_va.3 \ + krb5_principal.3 krb5_build_principal_va_ext.3 \ + krb5_principal.3 krb5_copy_principal.3 \ + krb5_principal.3 krb5_free_principal.3 \ + krb5_principal.3 krb5_get_default_principal.3 \ + krb5_principal.3 krb5_make_principal.3 \ + krb5_principal.3 krb5_parse_name.3 \ + krb5_principal.3 krb5_parse_name_flags.3 \ + krb5_principal.3 krb5_parse_nametype.3 \ + krb5_principal.3 krb5_princ_realm.3 \ + krb5_principal.3 krb5_princ_set_realm.3 \ + krb5_principal.3 krb5_principal_compare.3 \ + krb5_principal.3 krb5_principal_compare_any_realm.3 \ + krb5_principal.3 krb5_principal_get_comp_string.3 \ + krb5_principal.3 krb5_principal_get_num_comp.3 \ + krb5_principal.3 krb5_principal_get_realm.3 \ + krb5_principal.3 krb5_principal_get_type.3 \ + krb5_principal.3 krb5_principal_is_krbtgt.3 \ + krb5_principal.3 krb5_principal_match.3 \ + krb5_principal.3 krb5_principal_set_realm.3 \ + krb5_principal.3 krb5_principal_set_type.3 \ + krb5_principal.3 krb5_realm_compare.3 \ + krb5_principal.3 krb5_sname_to_principal.3 \ + krb5_principal.3 krb5_sock_to_principal.3 \ + krb5_principal.3 krb5_unparse_name.3 \ + krb5_principal.3 krb5_unparse_name_fixed.3 \ + krb5_principal.3 krb5_unparse_name_fixed_flags.3 \ + krb5_principal.3 krb5_unparse_name_fixed_short.3 \ + krb5_principal.3 krb5_unparse_name_flags.3 \ + krb5_principal.3 krb5_unparse_name_short.3 \ + krb5_set_default_realm.3 krb5_free_host_realm.3 \ + krb5_set_default_realm.3 krb5_get_default_realm.3 \ + krb5_set_default_realm.3 krb5_get_default_realms.3 \ + krb5_set_default_realm.3 krb5_get_host_realm.3 \ + krb5_storage.3 krb5_ret_address.3 \ + krb5_storage.3 krb5_ret_addrs.3 \ + krb5_storage.3 krb5_ret_authdata.3 \ + krb5_storage.3 krb5_ret_creds.3 \ + krb5_storage.3 krb5_ret_creds_tag.3 \ + krb5_storage.3 krb5_ret_data.3 \ + krb5_storage.3 krb5_ret_int16.3 \ + krb5_storage.3 krb5_ret_int32.3 \ + krb5_storage.3 krb5_ret_int8.3 \ + krb5_storage.3 krb5_ret_keyblock.3 \ + krb5_storage.3 krb5_ret_principal.3 \ + krb5_storage.3 krb5_ret_string.3 \ + krb5_storage.3 krb5_ret_stringz.3 \ + krb5_storage.3 krb5_ret_times.3 \ + krb5_storage.3 krb5_ret_uint16.3 \ + krb5_storage.3 krb5_ret_uint32.3 \ + krb5_storage.3 krb5_ret_uint8.3 \ + krb5_storage.3 krb5_storage_clear_flags.3 \ + krb5_storage.3 krb5_storage_emem.3 \ + krb5_storage.3 krb5_storage_free.3 \ + krb5_storage.3 krb5_storage_from_data.3 \ + krb5_storage.3 krb5_storage_from_fd.3 \ + krb5_storage.3 krb5_storage_from_mem.3 \ + krb5_storage.3 krb5_storage_from_readonly_mem.3 \ + krb5_storage.3 krb5_storage_get_byteorder.3 \ + krb5_storage.3 krb5_storage_get_eof_code.3 \ + krb5_storage.3 krb5_storage_is_flags.3 \ + krb5_storage.3 krb5_storage_read.3 \ + krb5_storage.3 krb5_storage_seek.3 \ + krb5_storage.3 krb5_storage_set_byteorder.3 \ + krb5_storage.3 krb5_storage_set_eof_code.3 \ + krb5_storage.3 krb5_storage_set_flags.3 \ + krb5_storage.3 krb5_storage_set_max_alloc.3 \ + krb5_storage.3 krb5_storage_to_data.3 \ + krb5_storage.3 krb5_storage_truncate.3 \ + krb5_storage.3 krb5_storage_write.3 \ + krb5_storage.3 krb5_store_address.3 \ + krb5_storage.3 krb5_store_addrs.3 \ + krb5_storage.3 krb5_store_authdata.3 \ + krb5_storage.3 krb5_store_creds.3 \ + krb5_storage.3 krb5_store_creds_tag.3 \ + krb5_storage.3 krb5_store_data.3 \ + krb5_storage.3 krb5_store_int16.3 \ + krb5_storage.3 krb5_store_int32.3 \ + krb5_storage.3 krb5_store_int8.3 \ + krb5_storage.3 krb5_store_keyblock.3 \ + krb5_storage.3 krb5_store_principal.3 \ + krb5_storage.3 krb5_store_string.3 \ + krb5_storage.3 krb5_store_stringz.3 \ + krb5_storage.3 krb5_store_times.3 \ + krb5_storage.3 krb5_store_uint16.3 \ + krb5_storage.3 krb5_store_uint32.3 \ + krb5_storage.3 krb5_store_uint8.3 \ + krb5_support.3 krb5_acl_match_string.3 \ + krb5_support.3 krb5_config_file_free.3 \ + krb5_support.3 krb5_config_free_strings.3 \ + krb5_support.3 krb5_config_get_bool.3 \ + krb5_support.3 krb5_config_get_bool_default.3 \ + krb5_support.3 krb5_config_get_list.3 \ + krb5_support.3 krb5_config_get_string.3 \ + krb5_support.3 krb5_config_get_string_default.3 \ + krb5_support.3 krb5_config_get_strings.3 \ + krb5_support.3 krb5_config_get_time.3 \ + krb5_support.3 krb5_config_get_time_default.3 \ + krb5_support.3 krb5_config_parse_file_multi.3 \ + krb5_support.3 krb5_config_vget_bool.3 \ + krb5_support.3 krb5_config_vget_bool_default.3 \ + krb5_support.3 krb5_config_vget_list.3 \ + krb5_support.3 krb5_config_vget_string.3 \ + krb5_support.3 krb5_config_vget_string_default.3 \ + krb5_support.3 krb5_config_vget_strings.3 \ + krb5_support.3 krb5_config_vget_time.3 \ + krb5_support.3 krb5_config_vget_time_default.3 \ + krb5_support.3 krb5_expand_hostname.3 \ + krb5_support.3 krb5_expand_hostname_realms.3 \ + krb5_support.3 krb5_free_host_realm.3 \ + krb5_support.3 krb5_kuserok.3 \ + krb5_support.3 krb5_plugin_register.3 \ + krb5_ticket.3 krb5_ticket_get_flags.3 \ + krb5_timeofday.3 krb5_us_timeofday.3 \ + krb5_v4compat.3 krb524_convert_creds_kdc_ccache.3 \ + krb5_verify_user.3 krb5_verify_opt_init.3 \ + krb5_verify_user.3 krb5_verify_opt_set_flags.3 \ + krb5_verify_user.3 krb5_verify_opt_set_keytab.3 \ + krb5_verify_user.3 krb5_verify_opt_set_secure.3 \ + krb5_verify_user.3 krb5_verify_opt_set_service.3 \ + krb5_verify_user.3 krb5_verify_user_lrealm.3 \ + krb5_verify_user.3 krb5_verify_user_opt.3 + +SRCS= acache.c \ + acl.c \ + add_et_list.c \ + addr_families.c \ + aname_to_localname.c \ + appdefault.c \ + asn1_glue.c \ + auth_context.c \ + build_ap_req.c \ + build_auth.c \ + cache.c \ + changepw.c \ + codec.c \ + config_file.c \ + constants.c \ + context.c \ + convert_creds.c \ + copy_host_realm.c \ + crc.c \ + creds.c \ + crypto-aes.c \ + crypto-algs.c \ + crypto-arcfour.c \ + crypto-des-common.c \ + crypto-des.c \ + crypto-des3.c \ + crypto-evp.c \ + crypto-null.c \ + crypto-pk.c \ + crypto-rand.c \ + crypto.c \ + crypto.h \ + data.c \ + deprecated.c \ + digest.c \ + doxygen.c \ + eai_to_heim_errno.c \ + error_string.c \ + expand_hostname.c \ + expand_path.c \ + fcache.c \ + free.c \ + free_host_realm.c \ + generate_seq_number.c \ + generate_subkey.c \ + get_addrs.c \ + get_cred.c \ + get_default_principal.c \ + get_default_realm.c \ + get_for_creds.c \ + get_host_realm.c \ + get_in_tkt.c \ + get_port.c \ + init_creds.c \ + init_creds_pw.c \ + kcm.c \ + keyblock.c \ + keytab.c \ + keytab_any.c \ + keytab_file.c \ + keytab_keyfile.c \ + keytab_memory.c \ + krb5-v4compat.h \ + krb5_locl.h \ + krbhst.c \ + kuserok.c \ + log.c \ + mcache.c \ + misc.c \ + mit_glue.c \ + mk_error.c \ + mk_priv.c \ + mk_rep.c \ + mk_req.c \ + mk_req_ext.c \ + mk_safe.c \ + n-fold.c \ + net_read.c \ + net_write.c \ + pac.c \ + padata.c \ + pcache.c \ + pkinit.c \ + plugin.c \ + principal.c \ + prog_setup.c \ + prompter_posix.c \ + rd_cred.c \ + rd_error.c \ + rd_priv.c \ + rd_rep.c \ + rd_req.c \ + rd_safe.c \ + read_message.c \ + recvauth.c \ + replay.c \ + salt-aes.c \ + salt-arcfour.c \ + salt-des.c \ + salt-des3.c \ + salt.c \ + scache.c \ + send_to_kdc.c \ + sendauth.c \ + set_default_realm.c \ + sock_principal.c \ + store-int.c \ + store.c \ + store_emem.c \ + store_fd.c \ + store_mem.c \ + ticket.c \ + time.c \ + transited.c \ + verify_init.c \ + verify_user.c \ + version.c \ + warn.c \ + write_message.c + +SRCS+= heim_err.c \ + heim_err.h \ + k524_err.c \ + k524_err.h \ + krb5_err.c \ + krb5_err.h \ + krb_err.c \ + krb_err.h + +CFLAGS+= -I${KRB5DIR}/lib/krb5 \ + -I${KRB5DIR}/lib/asn1 \ + -I${KRB5DIR}/lib/roken \ + -I${KRB5DIR}/lib/ipc \ + -I${KRB5DIR}/base -I. + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/lib/krb5 ${KRB5DIR}/lib/asn1 ${KRB5DIR}/include ${.CURDIR}/../../include ${KRB5DIR}/doc/doxyout/krb5/man/man3/ diff --git a/kerberos5/lib/libroken/Makefile b/kerberos5/lib/libroken/Makefile new file mode 100644 index 0000000..29e3082 --- /dev/null +++ b/kerberos5/lib/libroken/Makefile @@ -0,0 +1,92 @@ +# $FreeBSD$ + +LIB= roken +LDADD= -lcrypt +DPADD= ${LIBCRYPT} +VERSION_MAP= ${KRB5DIR}/lib/roken/version-script.map +INCS= roken.h \ + roken-common.h \ + base64.h \ + getarg.h \ + hex.h \ + parse_bytes.h \ + parse_time.h \ + parse_units.h \ + resolve.h \ + rtbl.h \ + xdbm.h + +SRCS= base64.c \ + copyhostent.c \ + ecalloc.c \ + emalloc.c \ + erealloc.c \ + estrdup.c \ + strlwr.c \ + strsep_copy.c \ + strupr.c \ + bswap.c \ + cloexec.c \ + concat.c \ + ct.c \ + doxygen.c \ + dumpdata.c \ + environment.c \ + eread.c \ + esetenv.c \ + ewrite.c \ + get_default_username.c \ + get_window_size.c \ + getaddrinfo_hostspec.c \ + getarg.c \ + getnameinfo_verified.c \ + getprogname.c \ + h_errno.c \ + hex.c \ + hostent_find_fqdn.c \ + issuid.c \ + k_getpwnam.c \ + k_getpwuid.c \ + mini_inetd.c \ + net_read.c \ + net_write.c \ + parse_bytes.c \ + parse_time.c \ + parse_units.c \ + qsort.c \ + rand.c \ + realloc.c \ + resolve.c \ + roken.h \ + roken_gethostby.c \ + rtbl.c \ + setprogname.c \ + signal.c \ + simple_exec.c \ + snprintf.c \ + socket.c \ + strcollect.c \ + strerror_r.c \ + strpool.c \ + timeval.c \ + tm2time.c \ + unvis.c \ + verify.c \ + vis.c \ + warnerr.c \ + write_pid.c \ + xfree.c + +CPPFLAGS+= -DBUILD_ROKEN_LIB +CFLAGS+=-I${KRB5DIR}/lib/roken -I. + +CLEANFILES= roken.h + +MAKE_ROKEN= make-roken + +roken.h: + ${MAKE_ROKEN} > ${.TARGET} + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/lib/roken diff --git a/kerberos5/lib/libsl/Makefile b/kerberos5/lib/libsl/Makefile new file mode 100644 index 0000000..71a38a5 --- /dev/null +++ b/kerberos5/lib/libsl/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +LIB= sl +INTERNALLIB= +SRCS= sl.c +CFLAGS+=-I${KRB5DIR}/lib/sl + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/lib/sl diff --git a/kerberos5/lib/libvers/Makefile b/kerberos5/lib/libvers/Makefile new file mode 100644 index 0000000..36dff0d --- /dev/null +++ b/kerberos5/lib/libvers/Makefile @@ -0,0 +1,17 @@ +# $FreeBSD$ + +LIB= vers +INTERNALLIB= +SRCS= print_version.c roken.h +CFLAGS+=-I. -I${KRB5DIR}/lib/roken + +CLEANFILES= roken.h print_version.h + +MAKE_ROKEN= make-roken + +roken.h: + ${MAKE_ROKEN} > ${.TARGET} + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/lib/vers diff --git a/kerberos5/lib/libwind/Makefile b/kerberos5/lib/libwind/Makefile new file mode 100644 index 0000000..6d0b9c0 --- /dev/null +++ b/kerberos5/lib/libwind/Makefile @@ -0,0 +1,35 @@ +#$FreeBSD$ + +LIB= wind +LDFLAGS= -Wl,--no-undefined +VERSION_MAP= ${KRB5DIR}/lib/wind/version-script.map +LDADD= -lcom_err -lroken +DPADD= ${LIBCOM_ERR} ${LIBROKEN} + +INCS= wind.h \ + wind_err.h + +SRCS= bidi.c \ + bidi_table.c \ + combining.c \ + combining_table.c \ + doxygen.c \ + errorlist.c \ + errorlist_table.c \ + ldap.c \ + map.c \ + map_table.c \ + normalize.c \ + normalize_table.c \ + punycode.c \ + stringprep.c \ + utf8.c + +SRCS+= wind_err.c \ + wind_err.h + +CFLAGS+=-I${KRB5DIR}/lib/roken -I. + +.include <bsd.lib.mk> + +.PATH: ${KRB5DIR}/lib/wind diff --git a/kerberos5/libexec/Makefile b/kerberos5/libexec/Makefile new file mode 100644 index 0000000..e6735ca --- /dev/null +++ b/kerberos5/libexec/Makefile @@ -0,0 +1,6 @@ +# $FreeBSD$ + +SUBDIR= digest-service ipropd-master ipropd-slave hprop hpropd kadmind kdc \ + kdigest kfd kimpersonate kpasswdd kcm + +.include <bsd.subdir.mk> diff --git a/kerberos5/libexec/Makefile.inc b/kerberos5/libexec/Makefile.inc new file mode 100644 index 0000000..535597e --- /dev/null +++ b/kerberos5/libexec/Makefile.inc @@ -0,0 +1,5 @@ +# $FreeBSD$ + +BINDIR= /usr/libexec + +.include "../Makefile.inc" diff --git a/kerberos5/libexec/digest-service/Makefile b/kerberos5/libexec/digest-service/Makefile new file mode 100644 index 0000000..5d851b9 --- /dev/null +++ b/kerberos5/libexec/digest-service/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ + +PROG= digest-service +NO_MAN= 1 +CFLAGS+= -I${KRB5DIR}/kdc \ + -I${KRB5DIR}/lib/asn1 \ + -I${KRB5DIR}/lib/krb5 \ + -I${KRB5DIR}/lib/ipc \ + -I${KRB5DIR}/lib/wind \ + -I${KRB5DIR}/lib/roken +DPADD= ${LIBHDB} ${LIBKDC} ${LIBHEIMIPCS} ${LIBKRB5} ${LIBROKEN} ${LIBASN1} ${LIBCRYPTO} \ + ${LIBCRYPT} ${LIBVERS} +LDADD= -lhdb -lkdc ${LIBHEIMIPCS} -lkrb5 -lroken -lasn1 -lcrypto -lcrypt \ + ${LIBVERS} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kdc diff --git a/kerberos5/libexec/hprop/Makefile b/kerberos5/libexec/hprop/Makefile new file mode 100644 index 0000000..421d5a2 --- /dev/null +++ b/kerberos5/libexec/hprop/Makefile @@ -0,0 +1,21 @@ +# $FreeBSD$ + +PROG= hprop +MAN= hprop.8 +SRCS= hprop.c mit_dump.c hprop.h +CFLAGS+=-I${KRB5DIR}/lib/roken +CFLAGS+=-I${KRB5DIR}/lib/krb5 +CFLAGS+=-I${KRB5DIR}/lib/asn1 +CFLAGS+=-I${KRB5DIR}/lib/hx509 +CFLAGS+=-I${KRB5DIR}/lib/ntlm +CFLAGS+=-I${KRB5DIR}/kdc +CFLAGS+=-I${.OBJDIR}/../../lib/libkrb5 +DPADD= ${LIBHDB} ${LIBKRB5} ${LIBHX509} ${LIBROKEN} ${LIBVERS} \ + ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR} ${LDAPDPADD} +LDADD= -lhdb -lkrb5 -lhx509 -lroken ${LIBVERS} \ + -lasn1 -lcrypto -lcrypt -lcom_err ${LDAPLDADD} +LDFLAGS=${LDAPLDFLAGS} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kdc diff --git a/kerberos5/libexec/hpropd/Makefile b/kerberos5/libexec/hpropd/Makefile new file mode 100644 index 0000000..e0722bd --- /dev/null +++ b/kerberos5/libexec/hpropd/Makefile @@ -0,0 +1,15 @@ +# $FreeBSD$ + +PROG= hpropd +MAN= hpropd.8 +CFLAGS+=-I${KRB5DIR}/lib/roken -I${KRB5DIR}/lib/krb5 -I${KRB5DIR}/lib/asn1 \ + -I${KRB5DIR}/kdc ${LDAPCFLAGS} +DPADD= ${LIBHDB} ${LIBKRB5} ${LIBHX509} ${LIBROKEN} ${LIBVERS} \ + ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR} ${LDAPDPADD} +LDADD= -lhdb -lkrb5 -lhx509 -lroken ${LIBVERS} \ + -lasn1 -lcrypto -lcrypt -lcom_err ${LDAPLDADD} +LDFLAGS=${LDAPLDFLAGS} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kdc diff --git a/kerberos5/libexec/ipropd-master/Makefile b/kerberos5/libexec/ipropd-master/Makefile new file mode 100644 index 0000000..99a4f9c --- /dev/null +++ b/kerberos5/libexec/ipropd-master/Makefile @@ -0,0 +1,19 @@ +# $FreeBSD$ + +PROG= ipropd-master +MAN= iprop.8 +SRCS= ipropd_common.c ipropd_master.c kadm5_err.h +CFLAGS+=-I${KRB5DIR}/lib/krb5 -I${KRB5DIR}/lib/asn1 -I${KRB5DIR}/lib/roken \ + -I. ${LDAPCFLAGS} +DPADD= ${LIBKADM5SRV} ${LIBHDB} ${LIBKRB5} ${LIBHX509} ${LIBROKEN} ${LIBVERS} \ + ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR} ${LDAPDPADD} +LDADD= -lkadm5srv -lhdb -lkrb5 -lhx509 -lroken ${LIBVERS} \ + -lasn1 -lcrypto -lcrypt -lcom_err ${LDAPLDADD} +LDFLAGS=${LDAPLDFLAGS} + +foo:: + echo ${LIBHX509} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/lib/kadm5 diff --git a/kerberos5/libexec/ipropd-slave/Makefile b/kerberos5/libexec/ipropd-slave/Makefile new file mode 100644 index 0000000..e2141e7 --- /dev/null +++ b/kerberos5/libexec/ipropd-slave/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +PROG= ipropd-slave +NO_MAN= +SRCS= ipropd_common.c ipropd_slave.c kadm5_err.h +CFLAGS+=-I${KRB5DIR}/lib/krb5 -I${KRB5DIR}/lib/asn1 -I${KRB5DIR}/lib/roken \ + -I. ${LDAPCFLAGS} +DPADD= ${LIBKADM5SRV} ${LIBHDB} ${LIBKRB5} ${LIBHX509} ${LIBROKEN} ${LIBVERS} \ + ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR} ${LDAPDPADD} +LDADD= -lkadm5srv -lhdb -lkrb5 -lhx509 -lroken ${LIBVERS} \ + -lasn1 -lcrypto -lcrypt -lcom_err ${LDAPLDADD} +LDFLAGS=${LDAPLDFLAGS} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/lib/kadm5 diff --git a/kerberos5/libexec/kadmind/Makefile b/kerberos5/libexec/kadmind/Makefile new file mode 100644 index 0000000..418fbdd --- /dev/null +++ b/kerberos5/libexec/kadmind/Makefile @@ -0,0 +1,21 @@ +# $FreeBSD$ + +PROG= kadmind +MAN= kadmind.8 +SRCS= rpc.c \ + server.c \ + kadmind.c \ + kadmin_locl.h \ + kadm_conn.c + +CFLAGS+=-I${KRB5DIR}/lib/krb5 -I${KRB5DIR}/lib/asn1 -I${KRB5DIR}/lib/roken \ + ${LDAPCFLAGS} +DPADD= ${LIBKADM5SRV} ${LIBGSSAPI} ${LIBHDB} ${LIBKRB5} ${LIBROKEN} \ + ${LIBASN1} ${LIBVERS} ${LIBCRYPTO} ${LIBCRYPT} ${LDAPDPADD} +LDADD= -lkadm5srv -lgssapi -lhdb -lkrb5 -lroken \ + -lasn1 ${LIBVERS} -lcrypto -lcrypt ${LDAPLDADD} +LDFLAGS=${LDAPLDFLAGS} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kadmin diff --git a/kerberos5/libexec/kcm/Makefile b/kerberos5/libexec/kcm/Makefile new file mode 100644 index 0000000..233cf8a --- /dev/null +++ b/kerberos5/libexec/kcm/Makefile @@ -0,0 +1,33 @@ +# $FreeBSD$ + +PROG= kcm +MAN= kcm.8 + +SRCS= acl.c \ + acquire.c \ + cache.c \ + client.c \ + config.c \ + connect.c \ + events.c \ + glue.c \ + headers.h \ + kcm_locl.h \ + kcm-protos.h \ + log.c \ + main.c \ + protocol.c \ + sessions.c \ + renew.c + +CFLAGS+=-I${KRB5DIR}/lib/krb5 -I${KRB5DIR}/lib/asn1 -I${KRB5DIR}/lib/roken \ + -I${KRB5DIR}/kcm -I${KRB5DIR}/lib/ipc ${LDAPCFLAGS} +DPADD= ${LIBHDB} ${LIBKRB5} ${LIBROKEN} ${LIBASN1} ${LIBHEIMNTLM} \ + ${LIBHEIMIPCS} ${LIBCRYPTO} ${LIBCRYPT} ${LIBVERS} ${LDAPDPADD} +LDADD= -lhdb -lkrb5 -lroken -lasn1 -lheimntlm ${LIBHEIMIPCS} \ + -lcrypto -lcrypt ${LIBVERS} ${LDAPLDADD} +LDFLAGS=${LDAPLDFLAGS} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kcm diff --git a/kerberos5/libexec/kdc/Makefile b/kerberos5/libexec/kdc/Makefile new file mode 100644 index 0000000..4ca5c3a --- /dev/null +++ b/kerberos5/libexec/kdc/Makefile @@ -0,0 +1,19 @@ +# $FreeBSD$ + +PROG= kdc +MAN= kdc.8 + +SRCS= config.c \ + connect.c \ + announce.c \ + main.c + +CFLAGS+=-I${KRB5DIR}/lib/krb5 -I${KRB5DIR}/lib/asn1 -I${KRB5DIR}/lib/roken \ + -I${KRB5DIR}/kdc ${LDAPCFLAGS} +DPADD= ${LIBKDC} ${LIBHDB} ${LIBKRB5} ${LIBROKEN} ${LIBASN1} \ + ${LIBCRYPTO} ${LIBCRYPT} ${LIBVERS} +LDADD= -lkdc -lhdb -lkrb5 -lroken -lasn1 -lcrypto -lcrypt ${LIBVERS} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kdc diff --git a/kerberos5/libexec/kdigest/Makefile b/kerberos5/libexec/kdigest/Makefile new file mode 100644 index 0000000..208b021 --- /dev/null +++ b/kerberos5/libexec/kdigest/Makefile @@ -0,0 +1,21 @@ +# $FreeBSD$ + +PROG= kdigest +MAN= kdigest.8 +CFLAGS+= -I${KRB5DIR}/lib/asn1 \ + -I${KRB5DIR}/lib/roken \ + -I${KRB5DIR}/lib/sl -I. +DPADD= ${LIBKRB5} ${LIBHEIMNTLM} ${LIBROKEN} ${LIBASN1} ${LIBCRYPTO} \ + ${LIBCRYPT} ${LIBSL} ${LIBVERS} ${LIBEDIT} +LDADD= -lkrb5 -lheimntlm -lroken -lasn1 -lcrypto -lcrypt ${LIBSL} \ + ${LIBVERS} -ledit +SRCS= kdigest.c \ + kdigest-commands.c \ + kdigest-commands.h + +kdigest-commands.c kdigest-commands.h: kdigest-commands.in + slc ${.ALLSRC:M*.in} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kuser diff --git a/kerberos5/libexec/kfd/Makefile b/kerberos5/libexec/kfd/Makefile new file mode 100644 index 0000000..da9c709 --- /dev/null +++ b/kerberos5/libexec/kfd/Makefile @@ -0,0 +1,15 @@ +# $FreeBSD$ + +PROG= kfd +MAN= kfd.8 +SRCS= kfd.c kf_locl.h +CFLAGS+= -I${KRB5DIR}/lib/asn1 \ + -I${KRB5DIR}/lib/roken +DPADD= ${LIBKRB5} ${LIBROKEN} ${LIBASN1} ${LIBCRYPTO} \ + ${LIBCRYPT} ${LIBVERS} +LDADD= -lkrb5 -lroken -lasn1 -lcrypto -lcrypt \ + ${LIBVERS} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/appl/kf diff --git a/kerberos5/libexec/kimpersonate/Makefile b/kerberos5/libexec/kimpersonate/Makefile new file mode 100644 index 0000000..32f9777 --- /dev/null +++ b/kerberos5/libexec/kimpersonate/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +PROG= kimpersonate +MAN= kimpersonate.8 +CFLAGS+= -I${KRB5DIR}/lib/hx509 \ + -I${KRB5DIR}/lib/asn1 \ + -I${KRB5DIR}/lib/roken \ + -I${KRB5DIR}/lib/sl -I. +DPADD= ${LIBKAFS5} ${LIBKRB5} ${LIBHEIMNTLM} ${LIBROKEN} ${LIBASN1} ${LIBCRYPTO} \ + ${LIBCRYPT} ${LIBVERS} +LDADD= -lkafs5 -lkrb5 -lheimntlm -lroken -lasn1 -lcrypto -lcrypt \ + ${LIBVERS} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kuser diff --git a/kerberos5/libexec/kpasswdd/Makefile b/kerberos5/libexec/kpasswdd/Makefile new file mode 100644 index 0000000..2287686 --- /dev/null +++ b/kerberos5/libexec/kpasswdd/Makefile @@ -0,0 +1,14 @@ +# $FreeBSD$ + +PROG= kpasswdd +MAN= kpasswdd.8 +CFLAGS+=-I${KRB5DIR}/lib/roken -I../../lib/libhdb ${LDAPCFLAGS} +DPADD= ${LIBKADM5SRV} ${LIBHDB} ${LIBKRB5} ${LIBHX509} ${LIBROKEN} ${LIBVERS} \ + ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR} ${LDAPDPADD} +LDADD= -lkadm5srv -lhdb -lkrb5 -lhx509 -lroken ${LIBVERS} \ + -lasn1 -lcrypto -lcrypt -lcom_err ${LDAPLDADD} +LDFLAGS=${LDAPLDFLAGS} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kpasswd diff --git a/kerberos5/tools/Makefile b/kerberos5/tools/Makefile new file mode 100644 index 0000000..0bbf2d4 --- /dev/null +++ b/kerberos5/tools/Makefile @@ -0,0 +1,5 @@ +# $FreeBSD$ + +SUBDIR= make-roken asn1_compile slc + +.include <bsd.subdir.mk> diff --git a/kerberos5/tools/Makefile.inc b/kerberos5/tools/Makefile.inc new file mode 100644 index 0000000..4cec6fe --- /dev/null +++ b/kerberos5/tools/Makefile.inc @@ -0,0 +1,5 @@ +# $FreeBSD$ + +BINDIR?= /usr/bin + +.include "../Makefile.inc" diff --git a/kerberos5/tools/asn1_compile/Makefile b/kerberos5/tools/asn1_compile/Makefile new file mode 100644 index 0000000..fa325c1 --- /dev/null +++ b/kerberos5/tools/asn1_compile/Makefile @@ -0,0 +1,41 @@ +# $FreeBSD$ + +PROG= asn1_compile +NO_MAN= +LIBROKEN_A= ${.OBJDIR}/../../lib/libroken/libroken.a +LDADD= ${LIBROKEN_A} ${LIBVERS} +DPADD= ${LIBROKEN_A} ${LIBVERS} + +SRCS= asn1_queue.h \ + asn1parse.y \ + der.h \ + gen.c \ + gen_copy.c \ + gen_decode.c \ + gen_encode.c \ + gen_free.c \ + gen_glue.c \ + gen_length.c \ + gen_locl.h \ + gen_seq.c \ + gen_template.c \ + hash.c \ + hash.h \ + lex.l \ + lex.h \ + main.c \ + asn1-template.h \ + roken.h \ + symbol.c \ + symbol.h + +CFLAGS+=-I${KRB5DIR}/lib/roken -I${KRB5DIR}/lib/asn1 -I. + +CLEANFILES= roken.h + +roken.h: + make-roken > ${.TARGET} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/lib/asn1 diff --git a/kerberos5/tools/make-roken/Makefile b/kerberos5/tools/make-roken/Makefile new file mode 100644 index 0000000..a039943 --- /dev/null +++ b/kerberos5/tools/make-roken/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +PROG= make-roken +NO_MAN= + +CLEANFILES= make-roken.c + +.include "../Makefile.inc" + +make-roken.c: ${KRB5DIR}/lib/roken/roken.awk ${KRB5DIR}/lib/roken/roken.h.in + awk -f ${.ALLSRC} > ${.TARGET} + +.include <bsd.prog.mk> diff --git a/kerberos5/tools/slc/Makefile b/kerberos5/tools/slc/Makefile new file mode 100644 index 0000000..c6f0d35 --- /dev/null +++ b/kerberos5/tools/slc/Makefile @@ -0,0 +1,24 @@ +# $FreeBSD$ + +PROG= slc +LIBROKEN_A= ${.OBJDIR}/../../lib/libroken/libroken.a +LDADD= ${LIBROKEN_A} ${LIBVERS} +DPADD= ${LIBROKEN_A} ${LIBVERS} +NO_MAN= + +SRCS= roken.h \ + slc-gram.y \ + slc-lex.l + +CFLAGS+=-I${KRB5DIR}/lib/roken -I${KRB5DIR}/lib/sl -I${KRB5DIR}/lib/vers -I. + +CLEANFILES= roken.h + +roken.h: + make-roken > ${.TARGET} + +# ${.OBJDIR}/../make-roken/make-roken > ${.TARGET} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/lib/roken ${KRB5DIR}/lib/sl diff --git a/kerberos5/usr.bin/Makefile b/kerberos5/usr.bin/Makefile new file mode 100644 index 0000000..da141e5 --- /dev/null +++ b/kerberos5/usr.bin/Makefile @@ -0,0 +1,6 @@ +# $FreeBSD$ + +SUBDIR= hxtool kadmin kcc kdestroy kgetcred kf kinit kpasswd krb5-config ksu \ + string2key verify_krb5_conf + +.include <bsd.subdir.mk> diff --git a/kerberos5/usr.bin/Makefile.inc b/kerberos5/usr.bin/Makefile.inc new file mode 100644 index 0000000..abd146b --- /dev/null +++ b/kerberos5/usr.bin/Makefile.inc @@ -0,0 +1,5 @@ +# $FreeBSD$ + +BINDIR= /usr/bin + +.include "../Makefile.inc" diff --git a/kerberos5/usr.bin/hxtool/Makefile b/kerberos5/usr.bin/hxtool/Makefile new file mode 100644 index 0000000..c40f009 --- /dev/null +++ b/kerberos5/usr.bin/hxtool/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ + +PROG= hxtool +NO_MAN= 1 +CFLAGS+= -I${KRB5DIR}/lib/hx509 \ + -I${KRB5DIR}/lib/asn1 \ + -I${KRB5DIR}/lib/roken \ + -I${KRB5DIR}/lib/sl -I. +DPADD= ${LIBHX509} ${LIBROKEN} ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBSL} ${LIBVERS} ${LIBEDIT} +LDADD= -lhx509 -lroken -lasn1 -lcrypto -lcrypt ${LIBSL} ${LIBVERS} -ledit +SRCS= hxtool.c hxtool-commands.c hxtool-commands.h + +hxtool-commands.c hxtool-commands.h: hxtool-commands.in + slc ${.ALLSRC:M*.in} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/lib/hx509 diff --git a/kerberos5/usr.bin/kadmin/Makefile b/kerberos5/usr.bin/kadmin/Makefile new file mode 100644 index 0000000..d0f8ed1 --- /dev/null +++ b/kerberos5/usr.bin/kadmin/Makefile @@ -0,0 +1,45 @@ +# $FreeBSD$ + +PROG= kadmin +MAN= kadmin.8 + +SRCS= add_enctype.c \ + ank.c \ + check.c \ + cpw.c \ + del.c \ + del_enctype.c \ + dump.c \ + ext.c \ + get.c \ + init.c \ + kadmin.c \ + kadmin-commands.c \ + kadmin-commands.h \ + load.c \ + mod.c \ + pw_quality.c \ + random_password.c \ + rename.c \ + stash.c \ + util.c + +CFLAGS+=-I${KRB5DIR}/lib/asn1 -I${KRB5DIR}/lib/krb5 -I${KRB5DIR}/lib/roken \ + -I${KRB5DIR}/lib/sl -I. ${LDAPCFLAGS} +DPADD= ${LIBKADM5CLNT} ${LIBKADM5SRV} ${LIBHDB} ${LIBKRB5} ${LIBHX509} \ + ${LIBSL} ${LIBROKEN} ${LIBVERS} ${LIBASN1} \ + ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR} \ + ${LIBEDIT} ${LIBNCURSES} ${LDAPDPADD} +LDADD= -lkadm5clnt -lkadm5srv -lhdb -lkrb5 -lhx509 \ + ${LIBSL} -lroken ${LIBVERS} -lasn1 \ + -lcrypto -lcrypt -lcom_err \ + -ledit -lncurses ${LDAPLDADD} +LDFLAGS=${LDAPLDFLAGS} + +.include <bsd.prog.mk> + +kadmin-commands.c kadmin-commands.h: ${KRB5DIR}/kadmin/kadmin-commands.in + slc ${.ALLSRC:M*.in} + +.PATH: ${KRB5DIR}/kadmin + diff --git a/kerberos5/usr.bin/kcc/Makefile b/kerberos5/usr.bin/kcc/Makefile new file mode 100644 index 0000000..d690b32 --- /dev/null +++ b/kerberos5/usr.bin/kcc/Makefile @@ -0,0 +1,27 @@ +# $FreeBSD$ + +PROG= kcc +MAN= klist.1 kswitch.1 +LINKS= ${BINDIR}/kcc ${BINDIR}/klist \ + ${BINDIR}/kcc ${BINDIR}/kswitch +CFLAGS+= -I${KRB5DIR}/lib/hx509 \ + -I${KRB5DIR}/lib/asn1 \ + -I${KRB5DIR}/lib/roken \ + -I${KRB5DIR}/lib/sl -I. +DPADD= ${LIBKRB5} ${LIBHEIMNTLM} ${LIBROKEN} ${LIBASN1} ${LIBCRYPTO} \ + ${LIBCRYPT} ${LIBKAFS5} ${LIBSL} ${LIBVERS} ${LIBEDIT} +LDADD= -lkrb5 -lheimntlm -lroken -lasn1 -lcrypto -lcrypt -lkafs5 ${LIBSL} \ + ${LIBVERS} -ledit +SRCS= kcc.c \ + kcc-commands.c \ + kcc-commands.h \ + klist.c \ + kswitch.c \ + copy_cred_cache.c + +kcc-commands.c kcc-commands.h: kcc-commands.in + slc ${.ALLSRC:M*.in} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kuser diff --git a/kerberos5/usr.bin/kdestroy/Makefile b/kerberos5/usr.bin/kdestroy/Makefile new file mode 100644 index 0000000..b3946e4 --- /dev/null +++ b/kerberos5/usr.bin/kdestroy/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +PROG= kdestroy +CFLAGS+=-I${KRB5DIR}/lib/roken +DPADD= ${LIBKAFS5} ${LIBKRB5} ${LIBHEIMNTLM} ${LIBROKEN} ${LIBVERS} \ + ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} +LDADD= -lkafs5 -lkrb5 -lheimntlm -lroken ${LIBVERS} \ + -lasn1 -lcrypto -lcrypt +MAN= kdestroy.1 + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kuser diff --git a/kerberos5/usr.bin/kf/Makefile b/kerberos5/usr.bin/kf/Makefile new file mode 100644 index 0000000..0a1ccec --- /dev/null +++ b/kerberos5/usr.bin/kf/Makefile @@ -0,0 +1,15 @@ +# $FreeBSD$ + +PROG= kf +MAN= kf.1 +SRCS= kf.c kf_locl.h +CFLAGS+= -I${KRB5DIR}/lib/asn1 \ + -I${KRB5DIR}/lib/roken +DPADD= ${LIBKRB5} ${LIBROKEN} ${LIBASN1} ${LIBCRYPTO} \ + ${LIBCRYPT} ${LIBVERS} +LDADD= -lkrb5 -lroken -lasn1 -lcrypto -lcrypt \ + ${LIBVERS} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/appl/kf diff --git a/kerberos5/usr.bin/kgetcred/Makefile b/kerberos5/usr.bin/kgetcred/Makefile new file mode 100644 index 0000000..dac38ad --- /dev/null +++ b/kerberos5/usr.bin/kgetcred/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +PROG= kgetcred +CFLAGS+= -I${KRB5DIR}/lib/asn1 \ + -I${KRB5DIR}/lib/roken +DPADD= ${LIBKRB5} ${LIBROKEN} ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBVERS} +LDADD= -lkrb5 -lroken -lasn1 -lcrypto -lcrypt ${LIBVERS} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kuser diff --git a/kerberos5/usr.bin/kinit/Makefile b/kerberos5/usr.bin/kinit/Makefile new file mode 100644 index 0000000..e0229f9 --- /dev/null +++ b/kerberos5/usr.bin/kinit/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +PROG= kinit +CFLAGS+=-I${KRB5DIR}/lib/roken +DPADD= ${LIBKAFS5} ${LIBKRB5} ${LIBHEIMNTLM} ${LIBROKEN} ${LIBVERS} \ + ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} +LDADD= -lkafs5 -lkrb5 -lheimntlm -lroken ${LIBVERS} \ + -lasn1 -lcrypto -lcrypt -lcom_err + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kuser diff --git a/kerberos5/usr.bin/kpasswd/Makefile b/kerberos5/usr.bin/kpasswd/Makefile new file mode 100644 index 0000000..a9ab1c9 --- /dev/null +++ b/kerberos5/usr.bin/kpasswd/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +PROG= kpasswd +CFLAGS+=-I${KRB5DIR}/lib/roken +DPADD= ${LIBKRB5} ${LIBHX509} ${LIBROKEN} ${LIBVERS} \ + ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR} +LDADD= -lkrb5 -lhx509 -lroken ${LIBVERS} \ + -lasn1 -lcrypto -lcrypt -lcom_err + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kpasswd diff --git a/kerberos5/usr.bin/krb5-config/Makefile b/kerberos5/usr.bin/krb5-config/Makefile new file mode 100644 index 0000000..202d1de --- /dev/null +++ b/kerberos5/usr.bin/krb5-config/Makefile @@ -0,0 +1,28 @@ +# $FreeBSD$ + +SCRIPTS=krb5-config +MAN= krb5-config.1 + +CLEANFILES= krb5-config + +krb5-config: krb5-config.in + sed -e "s,@PACKAGE\@,FreeBSD heimdal,g" \ + -e "s,@VERSION\@,1.1.0,g" \ + -e "s,@prefix\@,/usr,g" \ + -e "s,@exec_prefix\@,/usr,g" \ + -e "s,@libdir\@,${LIBDIR},g" \ + -e "s,@includedir\@,${INCLUDEDIR},g" \ + -e "s,@LIB_crypt\@,-lcrypt,g" \ + -e "s,@LIB_dbopen\@,,g" \ + -e "s,@LIB_hcrypto_appl\@,-lcrypto,g" \ + -e "s,@LIB_pkinit\@,-lhx509,g" \ + -e "s,@LIB_dlopen\@,,g" \ + -e "s,@LIB_door_create\@,,g" \ + -e "s,@PTHREAD_LIBADD\@,-pthread,g" \ + -e "s,@LIBS\@,,g" \ + -e "s,@INCLUDE_hcrypto@,,g" \ + ${.ALLSRC} > ${.TARGET} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/tools diff --git a/kerberos5/usr.bin/ksu/Makefile b/kerberos5/usr.bin/ksu/Makefile new file mode 100644 index 0000000..c6a0290 --- /dev/null +++ b/kerberos5/usr.bin/ksu/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ + +PROG= ksu +.if defined(ENABLE_SUID_K5SU) +BINMODE=4555 +PRECIOUSPROG= +.endif +NO_MAN= +SRCS= su.c +CFLAGS+=-I${KRB5DIR}/lib/roken +DPADD= ${LIBKAFS5} ${LIBKRB5} ${LIBHX509} ${LIBROKEN} ${LIBVERS} \ + ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR} +LDADD= -lkafs5 -lkrb5 -lhx509 -lroken ${LIBVERS} \ + -lasn1 -lcrypto -lcrypt -lcom_err + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/appl/su diff --git a/kerberos5/usr.bin/string2key/Makefile b/kerberos5/usr.bin/string2key/Makefile new file mode 100644 index 0000000..25204fd --- /dev/null +++ b/kerberos5/usr.bin/string2key/Makefile @@ -0,0 +1,17 @@ +# $FreeBSD$ + +PROG= string2key +MAN= string2key.8 +CFLAGS+= -I${KRB5DIR}/kdc \ + -I${KRB5DIR}/lib/asn1 \ + -I${KRB5DIR}/lib/krb5 \ + -I${KRB5DIR}/lib/roken \ + -I${KRB5DIR}/lib/windc +DPADD= ${LIBHDB} ${LIBKRB5} ${LIBROKEN} ${LIBASN1} ${LIBCRYPTO} \ + ${LIBCRYPT} ${LIBVERS} +LDADD= -lhdb -lkrb5 -lroken -lasn1 -lcrypto -lcrypt ${LIBVERS} +SRCS= string2key.c headers.h + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kdc diff --git a/kerberos5/usr.bin/verify_krb5_conf/Makefile b/kerberos5/usr.bin/verify_krb5_conf/Makefile new file mode 100644 index 0000000..830e66a --- /dev/null +++ b/kerberos5/usr.bin/verify_krb5_conf/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +PROG= verify_krb5_conf +MAN= verify_krb5_conf.8 +CFLAGS+=-I${KRB5DIR}/lib/asn1 -I${KRB5DIR}/lib/krb5 -I${KRB5DIR}/lib/roken +DPADD= ${LIBKAFS5} ${LIBKRB5} ${LIBHX509} ${LIBROKEN} ${LIBVERS} \ + ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBCOM_ERR} +LDADD= -lkafs5 -lkrb5 -lhx509 -lroken ${LIBVERS} \ + -lasn1 -lcrypto -lcrypt -lcom_err + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/lib/krb5 diff --git a/kerberos5/usr.sbin/Makefile b/kerberos5/usr.sbin/Makefile new file mode 100644 index 0000000..5e8d58e --- /dev/null +++ b/kerberos5/usr.sbin/Makefile @@ -0,0 +1,5 @@ +# $FreeBSD$ + +SUBDIR= iprop-log kstash ktutil + +.include <bsd.subdir.mk> diff --git a/kerberos5/usr.sbin/Makefile.inc b/kerberos5/usr.sbin/Makefile.inc new file mode 100644 index 0000000..dab729d --- /dev/null +++ b/kerberos5/usr.sbin/Makefile.inc @@ -0,0 +1,5 @@ +# $FreeBSD$ + +BINDIR= /usr/sbin + +.include "../Makefile.inc" diff --git a/kerberos5/usr.sbin/iprop-log/Makefile b/kerberos5/usr.sbin/iprop-log/Makefile new file mode 100644 index 0000000..dbe269a --- /dev/null +++ b/kerberos5/usr.sbin/iprop-log/Makefile @@ -0,0 +1,21 @@ +# $FreeBSD$ + +PROG= iprop-log +MAN= iprop-log.8 +SRCS= iprop-log.c iprop-commands.c iprop-commands.h kadm5_err.h +CFLAGS+= -I${KRB5DIR}/lib/kadm5 \ + -I${KRB5DIR}/lib/krb5 \ + -I${KRB5DIR}/lib/roken \ + -I${KRB5DIR}/lib/sl \ + -I. +DPADD= ${LIBKADM5SRV} ${LIBHDB} ${LIBKRB5} ${LIBASN1} ${LIBCRYPTO} \ + ${LIBCRYPT} ${LIBSL} ${LIBROKEN} ${LIBVERS} ${LIBEDIT} +LDADD= -lkadm5srv -lhdb -lkrb5 -lasn1 -lcrypto -lcrypt ${LIBSL} -lroken \ + ${LIBVERS} -ledit + +iprop-commands.c iprop-commands.h: iprop-commands.in + slc ${.ALLSRC:M*.in} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/lib/kadm5 diff --git a/kerberos5/usr.sbin/kstash/Makefile b/kerberos5/usr.sbin/kstash/Makefile new file mode 100644 index 0000000..024e45d --- /dev/null +++ b/kerberos5/usr.sbin/kstash/Makefile @@ -0,0 +1,15 @@ +# $FreeBSD$ + +PROG= kstash +MAN= kstash.8 +CFLAGS+=-I${KRB5DIR}/lib/asn1 -I${KRB5DIR}/lib/krb5 -I${KRB5DIR}/lib/roken \ + -I${KRB5DIR}/kdc ${LDAPCFLAGS} +DPADD= ${LIBHDB} ${LIBKRB5} ${LIBROKEN} ${LIBVERS} \ + ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LDAPDPADD} +LDADD= -lhdb -lkrb5 -lroken ${LIBVERS} \ + -lasn1 -lcrypto -lcrypt ${LDAPLDADD} +LDFLAGS=${LDAPLDFLAGS} + +.include <bsd.prog.mk> + +.PATH: ${KRB5DIR}/kdc diff --git a/kerberos5/usr.sbin/ktutil/Makefile b/kerberos5/usr.sbin/ktutil/Makefile new file mode 100644 index 0000000..900d921 --- /dev/null +++ b/kerberos5/usr.sbin/ktutil/Makefile @@ -0,0 +1,31 @@ +# $FreeBSD$ + +PROG= ktutil +MAN= ktutil.8 + +SRCS= add.c \ + change.c \ + copy.c \ + destroy.c \ + get.c \ + ktutil.c \ + ktutil_locl.h \ + ktutil-commands.c \ + ktutil-commands.h \ + list.c \ + purge.c \ + remove.c \ + rename.c + +CFLAGS+=-I${KRB5DIR}/lib/roken -I${KRB5DIR}/lib/sl -I. +DPADD= ${LIBKADM5CLNT} ${LIBKRB5} ${LIBSL} ${LIBROKEN} ${LIBVERS} \ + ${LIBASN1} ${LIBCRYPTO} ${LIBCRYPT} ${LIBEDIT} +LDADD= -lkadm5clnt -lkrb5 ${LIBSL} -lroken ${LIBVERS} \ + -lasn1 -lcrypto -lcrypt -ledit + +.include <bsd.prog.mk> + +ktutil-commands.c ktutil-commands.h: ${KRB5DIR}/admin/ktutil-commands.in + slc ${.ALLSRC:M*.in} + +.PATH: ${KRB5DIR}/admin |