mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-23 08:02:02 +00:00
723 lines
18 KiB
C++
723 lines
18 KiB
C++
/* config.h. Generated from config.h.in by configure. */
|
|
/* config.h.in. Generated from configure.ac by autoheader. */
|
|
|
|
|
|
/* acconfig.h - autoheader configuration input */
|
|
/*
|
|
* Copyright (c) 1998-2003 Carnegie Mellon University. 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.
|
|
*
|
|
* 3. The name "Carnegie Mellon University" must not be used to
|
|
* endorse or promote products derived from this software without
|
|
* prior written permission. For permission or any other legal
|
|
* details, please contact
|
|
* Office of Technology Transfer
|
|
* Carnegie Mellon University
|
|
* 5000 Forbes Avenue
|
|
* Pittsburgh, PA 15213-3890
|
|
* (412) 268-4387, fax: (412) 268-7395
|
|
* tech-transfer@andrew.cmu.edu
|
|
*
|
|
* 4. Redistributions of any form whatsoever must retain the following
|
|
* acknowledgment:
|
|
* "This product includes software developed by Computing Services
|
|
* at Carnegie Mellon University (http://www.cmu.edu/computing/)."
|
|
*
|
|
* CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
|
|
* THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
* AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
|
|
* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
|
|
* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
|
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
*/
|
|
|
|
#ifndef CONFIG_H
|
|
#define CONFIG_H
|
|
|
|
|
|
/* Include SASLdb Support */
|
|
/* #undef AUTH_SASLDB */
|
|
|
|
/* Do we need a leading _ for dlsym? */
|
|
/* #undef DLSYM_NEEDS_UNDERSCORE */
|
|
|
|
/* Should we build a shared plugin (via dlopen) library? */
|
|
#define DO_DLOPEN /**/
|
|
|
|
/* should we support sasl_checkapop? */
|
|
#define DO_SASL_CHECKAPOP /**/
|
|
|
|
/* should we support setpass() for SRP? */
|
|
/* #undef DO_SRP_SETPASS */
|
|
|
|
/* Define if your getpwnam_r()/getspnam_r() functions take 5 arguments */
|
|
#define GETXXNAM_R_5ARG 1
|
|
|
|
/* should we mutex-wrap calls into the GSS library? */
|
|
#define GSS_USE_MUTEXES /**/
|
|
|
|
/* Enable 'alwaystrue' password verifier? */
|
|
/* #undef HAVE_ALWAYSTRUE */
|
|
|
|
/* Define to 1 if you have the `asprintf' function. */
|
|
#define HAVE_ASPRINTF 1
|
|
|
|
/* Include support for Courier's authdaemond? */
|
|
#define HAVE_AUTHDAEMON /**/
|
|
|
|
/* Define to 1 if you have the <crypt.h> header file. */
|
|
#define HAVE_CRYPT_H 1
|
|
|
|
/* Define to 1 if you have the <des.h> header file. */
|
|
/* #undef HAVE_DES_H */
|
|
|
|
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
|
|
*/
|
|
#define HAVE_DIRENT_H 1
|
|
|
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
|
#define HAVE_DLFCN_H 1
|
|
|
|
/* Define to 1 if you have the `dns_lookup' function. */
|
|
/* #undef HAVE_DNS_LOOKUP */
|
|
|
|
/* Define to 1 if you have the `dn_expand' function. */
|
|
/* #undef HAVE_DN_EXPAND */
|
|
|
|
/* Define to 1 if you have the <fcntl.h> header file. */
|
|
#define HAVE_FCNTL_H 1
|
|
|
|
/* Do we have a getaddrinfo? */
|
|
#define HAVE_GETADDRINFO /**/
|
|
|
|
/* Define to 1 if you have the `getdomainname' function. */
|
|
#define HAVE_GETDOMAINNAME 1
|
|
|
|
/* Define to 1 if you have the `gethostname' function. */
|
|
#define HAVE_GETHOSTNAME 1
|
|
|
|
/* Do we have a getnameinfo() function? */
|
|
#define HAVE_GETNAMEINFO /**/
|
|
|
|
/* Define to 1 if you have the `getpassphrase' function. */
|
|
/* #undef HAVE_GETPASSPHRASE */
|
|
|
|
/* Define to 1 if you have the `getpwnam' function. */
|
|
#define HAVE_GETPWNAM 1
|
|
|
|
/* Define to 1 if you have the `getspnam' function. */
|
|
#define HAVE_GETSPNAM 1
|
|
|
|
/* do we have getsubopt()? */
|
|
#define HAVE_GETSUBOPT /**/
|
|
|
|
/* Define to 1 if you have the `gettimeofday' function. */
|
|
#define HAVE_GETTIMEOFDAY 1
|
|
|
|
/* Include GSSAPI/Kerberos 5 Support */
|
|
#define HAVE_GSSAPI /**/
|
|
|
|
/* Define to 1 if you have the <gssapi/gssapi_ext.h> header file. */
|
|
#define HAVE_GSSAPI_GSSAPI_EXT_H 1
|
|
|
|
/* Define if you have the gssapi/gssapi.h header file */
|
|
/* #undef HAVE_GSSAPI_GSSAPI_H */
|
|
|
|
/* Define to 1 if you have the <gssapi/gssapi_krb5.h> header file. */
|
|
#define HAVE_GSSAPI_GSSAPI_KRB5_H 1
|
|
|
|
/* Define if you have the gssapi.h header file */
|
|
#define HAVE_GSSAPI_H /**/
|
|
|
|
/* Define if your GSSAPI implementation defines
|
|
gsskrb5_register_acceptor_identity */
|
|
#define HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY 1
|
|
|
|
/* Define if your GSSAPI implementation defines GSS_C_NT_HOSTBASED_SERVICE */
|
|
#define HAVE_GSS_C_NT_HOSTBASED_SERVICE /**/
|
|
|
|
/* Define if your GSSAPI implementation defines GSS_C_NT_USER_NAME */
|
|
#define HAVE_GSS_C_NT_USER_NAME /**/
|
|
|
|
/* Define if your GSSAPI implementation defines GSS_C_SEC_CONTEXT_SASL_SSF */
|
|
#define HAVE_GSS_C_SEC_CONTEXT_SASL_SSF /**/
|
|
|
|
/* Define to 1 if you have the `gss_decapsulate_token' function. */
|
|
#define HAVE_GSS_DECAPSULATE_TOKEN 1
|
|
|
|
/* Define to 1 if you have the `gss_encapsulate_token' function. */
|
|
#define HAVE_GSS_ENCAPSULATE_TOKEN 1
|
|
|
|
/* Define to 1 if you have the `gss_get_name_attribute' function. */
|
|
#define HAVE_GSS_GET_NAME_ATTRIBUTE 1
|
|
|
|
/* Define if your GSSAPI implementation defines gss_inquire_sec_context_by_oid
|
|
*/
|
|
#define HAVE_GSS_INQUIRE_SEC_CONTEXT_BY_OID 1
|
|
|
|
/* Define to 1 if you have the `gss_oid_equal' function. */
|
|
#define HAVE_GSS_OID_EQUAL 1
|
|
|
|
/* Define if your GSSAPI implementation supports SPNEGO */
|
|
#define HAVE_GSS_SPNEGO /**/
|
|
|
|
/* Include HTTP form Support */
|
|
/* #undef HAVE_HTTPFORM */
|
|
|
|
/* Define to 1 if you have the `inet_aton' function. */
|
|
#define HAVE_INET_ATON 1
|
|
|
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
|
#define HAVE_INTTYPES_H 1
|
|
|
|
/* Define to 1 if you have the `jrand48' function. */
|
|
#define HAVE_JRAND48 1
|
|
|
|
/* Do we have Kerberos 4 Support? */
|
|
/* #undef HAVE_KRB */
|
|
|
|
/* Define to 1 if you have the <krb5.h> header file. */
|
|
#define HAVE_KRB5_H 1
|
|
|
|
/* Define to 1 if you have the `krb_get_err_text' function. */
|
|
/* #undef HAVE_KRB_GET_ERR_TEXT */
|
|
|
|
/* Define to 1 if you have the <lber.h> header file. */
|
|
/* #undef HAVE_LBER_H */
|
|
|
|
/* Support for LDAP? */
|
|
/* #undef HAVE_LDAP */
|
|
|
|
/* Define to 1 if you have the <ldap.h> header file. */
|
|
/* #undef HAVE_LDAP_H */
|
|
|
|
/* Define to 1 if you have the `resolv' library (-lresolv). */
|
|
#define HAVE_LIBRESOLV 1
|
|
|
|
/* Define to 1 if you have the <limits.h> header file. */
|
|
#define HAVE_LIMITS_H 1
|
|
|
|
/* Define to 1 if you have the <malloc.h> header file. */
|
|
#define HAVE_MALLOC_H 1
|
|
|
|
/* Define to 1 if you have the `memcpy' function. */
|
|
#define HAVE_MEMCPY 1
|
|
|
|
/* Define to 1 if you have the `memmem' function. */
|
|
#define HAVE_MEMMEM 1
|
|
|
|
/* Define to 1 if you have the <memory.h> header file. */
|
|
#define HAVE_MEMORY_H 1
|
|
|
|
/* Define to 1 if you have the `mkdir' function. */
|
|
#define HAVE_MKDIR 1
|
|
|
|
/* Do we have mysql support? */
|
|
/* #undef HAVE_MYSQL */
|
|
|
|
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
|
|
/* #undef HAVE_NDIR_H */
|
|
|
|
/* Do we have OpenSSL? */
|
|
#define HAVE_OPENSSL /**/
|
|
|
|
/* Use OPIE for server-side OTP? */
|
|
/* #undef HAVE_OPIE */
|
|
|
|
/* Support for PAM? */
|
|
/* #undef HAVE_PAM */
|
|
|
|
/* Define to 1 if you have the <paths.h> header file. */
|
|
#define HAVE_PATHS_H 1
|
|
|
|
/* Do we have Postgres support? */
|
|
/* #undef HAVE_PGSQL */
|
|
|
|
/* Include Support for pwcheck daemon? */
|
|
/* #undef HAVE_PWCHECK */
|
|
|
|
/* Include support for saslauthd? */
|
|
#define HAVE_SASLAUTHD /**/
|
|
|
|
/* Define to 1 if you have the `select' function. */
|
|
#define HAVE_SELECT 1
|
|
|
|
/* Do we have SHA512? */
|
|
#define HAVE_SHA512 /**/
|
|
|
|
/* Include SIA Support */
|
|
/* #undef HAVE_SIA */
|
|
|
|
/* Does the system have snprintf()? */
|
|
#define HAVE_SNPRINTF /**/
|
|
|
|
/* Does sockaddr have an sa_len? */
|
|
/* #undef HAVE_SOCKADDR_SA_LEN */
|
|
|
|
/* Define to 1 if you have the `socket' function. */
|
|
#define HAVE_SOCKET 1
|
|
|
|
/* Do we have a socklen_t? */
|
|
#define HAVE_SOCKLEN_T /**/
|
|
|
|
/* Do we have SQLite support? */
|
|
/* #undef HAVE_SQLITE */
|
|
|
|
/* Do we have SQLite3 support? */
|
|
/* #undef HAVE_SQLITE3 */
|
|
|
|
/* Is there an ss_family in sockaddr_storage? */
|
|
#define HAVE_SS_FAMILY /**/
|
|
|
|
/* Define to 1 if you have the <stdarg.h> header file. */
|
|
#define HAVE_STDARG_H 1
|
|
|
|
/* Define to 1 if you have the <stdint.h> header file. */
|
|
#define HAVE_STDINT_H 1
|
|
|
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
|
#define HAVE_STDLIB_H 1
|
|
|
|
/* Define to 1 if you have the `strchr' function. */
|
|
#define HAVE_STRCHR 1
|
|
|
|
/* Define to 1 if you have the `strdup' function. */
|
|
#define HAVE_STRDUP 1
|
|
|
|
/* Define to 1 if you have the `strerror' function. */
|
|
#define HAVE_STRERROR 1
|
|
|
|
/* Define to 1 if you have the <strings.h> header file. */
|
|
#define HAVE_STRINGS_H 1
|
|
|
|
/* Define to 1 if you have the <string.h> header file. */
|
|
#define HAVE_STRING_H 1
|
|
|
|
/* Define to 1 if you have the `strlcat' function. */
|
|
/* #undef HAVE_STRLCAT */
|
|
|
|
/* Define to 1 if you have the `strlcpy' function. */
|
|
/* #undef HAVE_STRLCPY */
|
|
|
|
/* Define to 1 if you have the `strspn' function. */
|
|
#define HAVE_STRSPN 1
|
|
|
|
/* Define to 1 if you have the `strstr' function. */
|
|
#define HAVE_STRSTR 1
|
|
|
|
/* Define to 1 if you have the `strtol' function. */
|
|
#define HAVE_STRTOL 1
|
|
|
|
/* Do we have struct sockaddr_stroage? */
|
|
#define HAVE_STRUCT_SOCKADDR_STORAGE /**/
|
|
|
|
/* Define to 1 if you have the <sysexits.h> header file. */
|
|
#define HAVE_SYSEXITS_H 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/dir.h> header file, and it defines `DIR'.
|
|
*/
|
|
/* #undef HAVE_SYS_DIR_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/ndir.h> header file, and it defines `DIR'.
|
|
*/
|
|
/* #undef HAVE_SYS_NDIR_H */
|
|
|
|
/* Define to 1 if you have the <sys/param.h> header file. */
|
|
#define HAVE_SYS_PARAM_H 1
|
|
|
|
/* Define to 1 if you have the <sys/socket.h> header file. */
|
|
#define HAVE_SYS_SOCKET_H 1
|
|
|
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
|
#define HAVE_SYS_STAT_H 1
|
|
|
|
/* Define to 1 if you have the <sys/time.h> header file. */
|
|
#define HAVE_SYS_TIME_H 1
|
|
|
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
|
#define HAVE_SYS_TYPES_H 1
|
|
|
|
/* Define to 1 if you have the <sys/uio.h> header file. */
|
|
#define HAVE_SYS_UIO_H 1
|
|
|
|
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
|
|
#define HAVE_SYS_WAIT_H 1
|
|
|
|
/* Define to 1 if you have the <unistd.h> header file. */
|
|
#define HAVE_UNISTD_H 1
|
|
|
|
/* Define to 1 if you have the <varargs.h> header file. */
|
|
/* #undef HAVE_VARARGS_H */
|
|
|
|
/* Does the system have vsnprintf()? */
|
|
#define HAVE_VSNPRINTF /**/
|
|
|
|
/* Define to 1 if you have the <ws2tcpip.h> header file. */
|
|
/* #undef HAVE_WS2TCPIP_H */
|
|
|
|
/* Should we keep handle to DB open in SASLDB plugin? */
|
|
/* #undef KEEP_DB_OPEN */
|
|
|
|
/* Ignore IP Address in Kerberos 4 tickets? */
|
|
/* #undef KRB4_IGNORE_IP_ADDRESS */
|
|
|
|
/* Using Heimdal */
|
|
/* #undef KRB5_HEIMDAL */
|
|
|
|
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
|
#define LT_OBJDIR ".libs/"
|
|
|
|
/* Name of package */
|
|
#define PACKAGE "cyrus-sasl"
|
|
|
|
/* Define to the address where bug reports for this package should be sent. */
|
|
#define PACKAGE_BUGREPORT "https://github.com/cyrusimap/cyrus-sasl/issues"
|
|
|
|
/* Define to the full name of this package. */
|
|
#define PACKAGE_NAME "cyrus-sasl"
|
|
|
|
/* Define to the full name and version of this package. */
|
|
#define PACKAGE_STRING "cyrus-sasl 2.1.27"
|
|
|
|
/* Define to the one symbol short name of this package. */
|
|
#define PACKAGE_TARNAME "cyrus-sasl"
|
|
|
|
/* Define to the home page for this package. */
|
|
#define PACKAGE_URL "http://www.cyrusimap.org"
|
|
|
|
/* Define to the version of this package. */
|
|
#define PACKAGE_VERSION "2.1.27"
|
|
|
|
/* Where do we look for Courier authdaemond's socket? */
|
|
#define PATH_AUTHDAEMON_SOCKET "/dev/null"
|
|
|
|
/* Where do we look for saslauthd's socket? */
|
|
#define PATH_SASLAUTHD_RUNDIR "/var/state/saslauthd"
|
|
|
|
/* Force a preferred mechanism */
|
|
/* #undef PREFER_MECH */
|
|
|
|
/* Location of pwcheck socket */
|
|
/* #undef PWCHECKDIR */
|
|
|
|
/* Define as the return type of signal handlers (`int' or `void'). */
|
|
#define RETSIGTYPE void
|
|
|
|
/* Use BerkeleyDB for SASLdb */
|
|
/* #undef SASL_BERKELEYDB */
|
|
|
|
/* Path to default SASLdb database */
|
|
#define SASL_DB_PATH "/etc/sasldb2"
|
|
|
|
/* File to use for source of randomness */
|
|
#define SASL_DEV_RANDOM "/dev/urandom"
|
|
|
|
/* Use GDBM for SASLdb */
|
|
/* #undef SASL_GDBM */
|
|
|
|
/* Use LMDB for SASLdb */
|
|
/* #undef SASL_LMDB */
|
|
|
|
/* Use NDBM for SASLdb */
|
|
/* #undef SASL_NDBM */
|
|
|
|
/* The size of `long', as computed by sizeof. */
|
|
#define SIZEOF_LONG 8
|
|
|
|
/* Link ANONYMOUS Statically */
|
|
// #define STATIC_ANONYMOUS /**/
|
|
|
|
/* Link CRAM-MD5 Statically */
|
|
// #define STATIC_CRAMMD5 /**/
|
|
|
|
/* Link DIGEST-MD5 Statically */
|
|
// #define STATIC_DIGESTMD5 /**/
|
|
|
|
/* Link GSSAPI Statically */
|
|
#define STATIC_GSSAPIV2 /**/
|
|
|
|
/* User KERBEROS_V4 Staticly */
|
|
/* #undef STATIC_KERBEROS4 */
|
|
|
|
/* Link ldapdb plugin Statically */
|
|
/* #undef STATIC_LDAPDB */
|
|
|
|
/* Link LOGIN Statically */
|
|
/* #undef STATIC_LOGIN */
|
|
|
|
/* Link NTLM Statically */
|
|
/* #undef STATIC_NTLM */
|
|
|
|
/* Link OTP Statically */
|
|
// #define STATIC_OTP /**/
|
|
|
|
/* Link PASSDSS Statically */
|
|
/* #undef STATIC_PASSDSS */
|
|
|
|
/* Link PLAIN Staticly */
|
|
// #define STATIC_PLAIN /**/
|
|
|
|
/* Link SASLdb Staticly */
|
|
// #define STATIC_SASLDB /**/
|
|
|
|
/* Link SCRAM Statically */
|
|
// #define STATIC_SCRAM /**/
|
|
|
|
/* Link SQL plugin statically */
|
|
/* #undef STATIC_SQL */
|
|
|
|
/* Link SRP Statically */
|
|
/* #undef STATIC_SRP */
|
|
|
|
/* Define to 1 if you have the ANSI C header files. */
|
|
#define STDC_HEADERS 1
|
|
|
|
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
|
#define TIME_WITH_SYS_TIME 1
|
|
|
|
/* Should we try to dlopen() plugins while statically compiled? */
|
|
/* #undef TRY_DLOPEN_WHEN_STATIC */
|
|
|
|
/* use the doors IPC API for saslauthd? */
|
|
/* #undef USE_DOORS */
|
|
|
|
/* Enable extensions on AIX 3, Interix. */
|
|
#ifndef _ALL_SOURCE
|
|
# define _ALL_SOURCE 1
|
|
#endif
|
|
/* Enable GNU extensions on systems that have them. */
|
|
#ifndef _GNU_SOURCE
|
|
# define _GNU_SOURCE 1
|
|
#endif
|
|
/* Enable threading extensions on Solaris. */
|
|
#ifndef _POSIX_PTHREAD_SEMANTICS
|
|
# define _POSIX_PTHREAD_SEMANTICS 1
|
|
#endif
|
|
/* Enable extensions on HP NonStop. */
|
|
#ifndef _TANDEM_SOURCE
|
|
# define _TANDEM_SOURCE 1
|
|
#endif
|
|
/* Enable general extensions on Solaris. */
|
|
#ifndef __EXTENSIONS__
|
|
# define __EXTENSIONS__ 1
|
|
#endif
|
|
|
|
|
|
/* Version number of package */
|
|
#define VERSION "2.1.27"
|
|
|
|
/* Use DES */
|
|
#define WITH_DES /**/
|
|
|
|
/* Linking against dmalloc? */
|
|
/* #undef WITH_DMALLOC */
|
|
|
|
/* Use RC4 */
|
|
#define WITH_RC4 /**/
|
|
|
|
/* Use OpenSSL DES Implementation */
|
|
#define WITH_SSL_DES /**/
|
|
|
|
/* Define to 1 if on MINIX. */
|
|
/* #undef _MINIX */
|
|
|
|
/* Define to 2 if the system does not provide POSIX.1 features except with
|
|
this defined. */
|
|
/* #undef _POSIX_1_SOURCE */
|
|
|
|
/* Define to 1 if you need to in order for `stat' and other things to work. */
|
|
/* #undef _POSIX_SOURCE */
|
|
|
|
/* Define to empty if `const' does not conform to ANSI C. */
|
|
/* #undef const */
|
|
|
|
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
|
calls it, or to nothing if 'inline' is not supported under any name. */
|
|
#ifndef __cplusplus
|
|
/* #undef inline */
|
|
#endif
|
|
|
|
/* Define to `int' if <sys/types.h> does not define. */
|
|
/* #undef mode_t */
|
|
|
|
/* Define to `int' if <sys/types.h> does not define. */
|
|
/* #undef pid_t */
|
|
|
|
|
|
|
|
|
|
/* Create a struct iovec if we need one */
|
|
#if !defined(_WIN32)
|
|
#if !defined(HAVE_SYS_UIO_H)
|
|
/* (win32 is handled in sasl.h) */
|
|
struct iovec {
|
|
char *iov_base;
|
|
long iov_len;
|
|
};
|
|
#else
|
|
#include <sys/types.h>
|
|
#include <sys/uio.h>
|
|
#endif
|
|
#endif
|
|
|
|
/* location of the random number generator */
|
|
#ifdef DEV_RANDOM
|
|
/* #undef DEV_RANDOM */
|
|
#endif
|
|
#define DEV_RANDOM SASL_DEV_RANDOM
|
|
|
|
/* if we've got krb_get_err_txt, we might as well use it;
|
|
especially since krb_err_txt isn't in some newer distributions
|
|
(MIT Kerb for Mac 4 being a notable example). If we don't have
|
|
it, we fall back to the krb_err_txt array */
|
|
#ifdef HAVE_KRB_GET_ERR_TEXT
|
|
#define get_krb_err_txt krb_get_err_text
|
|
#else
|
|
#define get_krb_err_txt(X) (krb_err_txt[(X)])
|
|
#endif
|
|
|
|
/* Make Solaris happy... */
|
|
#ifndef __EXTENSIONS__
|
|
#define __EXTENSIONS__ 1
|
|
#endif
|
|
|
|
/* Make Linux happy... */
|
|
#ifndef _GNU_SOURCE
|
|
#define _GNU_SOURCE 1
|
|
#endif
|
|
|
|
#define SASL_PATH_ENV_VAR "SASL_PATH"
|
|
#define SASL_CONF_PATH_ENV_VAR "SASL_CONF_PATH"
|
|
|
|
#include <stdlib.h>
|
|
#include <sys/types.h>
|
|
#ifndef WIN32
|
|
# include <sys/socket.h>
|
|
# include <netdb.h>
|
|
# include <netinet/in.h>
|
|
# ifdef HAVE_SYS_PARAM_H
|
|
# include <sys/param.h>
|
|
# endif
|
|
#else /* WIN32 */
|
|
# include <winsock2.h>
|
|
#endif /* WIN32 */
|
|
#include <string.h>
|
|
|
|
#ifndef HAVE_SOCKLEN_T
|
|
typedef unsigned int socklen_t;
|
|
#endif /* HAVE_SOCKLEN_T */
|
|
|
|
#if !defined(HAVE_STRUCT_SOCKADDR_STORAGE) && !defined(WIN32)
|
|
#define _SS_MAXSIZE 128 /* Implementation specific max size */
|
|
#define _SS_PADSIZE (_SS_MAXSIZE - sizeof (struct sockaddr))
|
|
|
|
struct sockaddr_storage {
|
|
struct sockaddr ss_sa;
|
|
char __ss_pad2[_SS_PADSIZE];
|
|
};
|
|
# define ss_family ss_sa.sa_family
|
|
#endif /* !HAVE_STRUCT_SOCKADDR_STORAGE */
|
|
|
|
#ifndef AF_INET6
|
|
/* Define it to something that should never appear */
|
|
#define AF_INET6 AF_MAX
|
|
#endif
|
|
|
|
#ifndef HAVE_GETADDRINFO
|
|
#define getaddrinfo sasl_getaddrinfo
|
|
#define freeaddrinfo sasl_freeaddrinfo
|
|
#define gai_strerror sasl_gai_strerror
|
|
#endif
|
|
|
|
#ifndef HAVE_GETNAMEINFO
|
|
#define getnameinfo sasl_getnameinfo
|
|
#endif
|
|
|
|
#if !defined(HAVE_GETNAMEINFO) || !defined(HAVE_GETADDRINFO)
|
|
#include "gai.h"
|
|
#endif
|
|
|
|
#ifndef AI_NUMERICHOST /* support glibc 2.0.x */
|
|
#define AI_NUMERICHOST 4
|
|
#define NI_NUMERICHOST 2
|
|
#define NI_NAMEREQD 4
|
|
#define NI_NUMERICSERV 8
|
|
#endif
|
|
|
|
#ifndef HAVE_SYSEXITS_H
|
|
#include "exits.h"
|
|
#else
|
|
#include "sysexits.h"
|
|
#endif
|
|
|
|
/* Get the correct time.h */
|
|
#if TIME_WITH_SYS_TIME
|
|
# include <sys/time.h>
|
|
# include <time.h>
|
|
#else
|
|
# if HAVE_SYS_TIME_H
|
|
# include <sys/time.h>
|
|
# else
|
|
# include <time.h>
|
|
# endif
|
|
#endif
|
|
|
|
#ifndef HIER_DELIMITER
|
|
#define HIER_DELIMITER '/'
|
|
#endif
|
|
|
|
#ifdef WIN32
|
|
#define SASL_ROOT_KEY "SOFTWARE\\Carnegie Mellon\\Project Cyrus\\SASL Library"
|
|
#define SASL_PLUGIN_PATH_ATTR "SearchPath"
|
|
#define SASL_CONF_PATH_ATTR "ConfFile"
|
|
|
|
#include <windows.h>
|
|
inline static unsigned int sleep(unsigned int seconds) {
|
|
Sleep(seconds * 1000);
|
|
return 0;
|
|
}
|
|
#endif
|
|
|
|
/* handy string manipulation functions */
|
|
#ifndef HAVE_STRLCPY
|
|
extern size_t saslauthd_strlcpy(char *dst, const char *src, size_t len);
|
|
#define strlcpy(x,y,z) saslauthd_strlcpy((x),(y),(z))
|
|
#endif
|
|
#ifndef HAVE_STRLCAT
|
|
extern size_t saslauthd_strlcat(char *dst, const char *src, size_t len);
|
|
#define strlcat(x,y,z) saslauthd_strlcat((x),(y),(z))
|
|
#endif
|
|
#ifndef HAVE_ASPRINTF
|
|
extern int asprintf(char **str, const char *fmt, ...);
|
|
#endif
|
|
|
|
#endif /* CONFIG_H */
|
|
|
|
|
|
#if defined __GNUC__ && __GNUC__ > 6
|
|
#define GCC_FALLTHROUGH __attribute__((fallthrough));
|
|
#else
|
|
#define GCC_FALLTHROUGH /* fall through */
|
|
#endif
|