1/* acconfig.h - autoheader configuration input 2 * Rob Earhart 3 */ 4/* 5 * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 11 * 1. Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * 14 * 2. Redistributions in binary form must reproduce the above copyright 15 * notice, this list of conditions and the following disclaimer in 16 * the documentation and/or other materials provided with the 17 * distribution. 18 * 19 * 3. The name "Carnegie Mellon University" must not be used to 20 * endorse or promote products derived from this software without 21 * prior written permission. For permission or any other legal 22 * details, please contact 23 * Office of Technology Transfer 24 * Carnegie Mellon University 25 * 5000 Forbes Avenue 26 * Pittsburgh, PA 15213-3890 27 * (412) 268-4387, fax: (412) 268-7395 28 * tech-transfer@andrew.cmu.edu 29 * 30 * 4. Redistributions of any form whatsoever must retain the following 31 * acknowledgment: 32 * "This product includes software developed by Computing Services 33 * at Carnegie Mellon University (http://www.cmu.edu/computing/)." 34 * 35 * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO 36 * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 37 * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE 38 * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 39 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN 40 * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING 41 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 42 */ 43 44#ifndef CONFIG_H 45#define CONFIG_H 46 47@TOP@ 48 49/* Our package */ 50#undef PACKAGE 51 52/* Our version */ 53#undef VERSION 54 55/* Set to the database name you want SASL to use for 56 * username->secret lookups */ 57#undef SASL_DB_PATH 58 59/* what db package are we using? */ 60#undef SASL_GDBM 61#undef SASL_NDBM 62#undef SASL_BERKELEYDB 63 64/* which mechs can we link staticly? */ 65#undef STATIC_ANONYMOUS 66#undef STATIC_CRAMMD5 67#undef STATIC_DIGESTMD5 68#undef STATIC_GSSAPIV2 69#undef STATIC_KERBEROS4 70#undef STATIC_LOGIN 71#undef STATIC_MYSQL 72#undef STATIC_NTLM 73#undef STATIC_OTP 74#undef STATIC_PLAIN 75#undef STATIC_SASLDB 76#undef STATIC_SRP 77 78/* This is where plugins will live at runtime */ 79#undef PLUGINDIR 80 81/* Make autoheader happy */ 82#undef WITH_SYMBOL_UNDERSCORE 83 84/* should we use the internal rc4 library? */ 85#undef WITH_RC4 86 87/* do we have des available? */ 88#undef WITH_DES 89#undef WITH_SSL_DES 90 91/* what about OpenSSL? */ 92#undef HAVE_OPENSSL 93 94/* should we support srp_setpass */ 95#undef DO_SRP_SETPASS 96 97/* do we have OPIE for server-side OTP support? */ 98#undef HAVE_OPIE 99 100/* Do we have kerberos for plaintext password checking? */ 101#undef HAVE_KRB 102 103/* do we have SIA for plaintext password checking? */ 104#undef HAVE_SIA 105 106/* do we have PAM for plaintext password checking? */ 107#undef HAVE_PAM 108 109/* what flavor of GSSAPI are we using? */ 110#undef HAVE_GSS_C_NT_HOSTBASED_SERVICE 111 112/* does GSSAPI provide GSS_C_NT_USER_NAME? */ 113#undef HAVE_GSS_C_NT_USER_NAME 114 115/* do we have gssapi.h or gssapi/gssapi.h? */ 116#undef HAVE_GSSAPI_H 117 118/* do we have getsubopt()? */ 119#undef HAVE_GETSUBOPT 120 121/* Does your system have the snprintf() call? */ 122#undef HAVE_SNPRINTF 123 124/* Does your system have the vsnprintf() call? */ 125#undef HAVE_VSNPRINTF 126 127/* does your system have gettimeofday()? */ 128#undef HAVE_GETTIMEOFDAY 129 130/* should we include support for the pwcheck daemon? */ 131#undef HAVE_PWCHECK 132 133/* where do we look for the pwcheck daemon? */ 134#undef PWCHECKDIR 135 136/* should we include support for the saslauth daemon? */ 137#undef HAVE_SASLAUTHD 138 139/* where does saslauthd look for the communication socket? */ 140#undef PATH_SASLAUTHD_RUNDIR 141 142/* do we want alwaystrue (discouraged)? */ 143#undef HAVE_ALWAYSTRUE 144 145/* are we linking against DMALLOC? */ 146#undef WITH_DMALLOC 147 148/* should we support sasl_checkapop */ 149#undef DO_SASL_CHECKAPOP 150 151/* do we pay attention to IP addresses in the kerberos 4 tickets? */ 152#undef KRB4_IGNORE_IP_ADDRESS 153 154/* do we have a preferred mechanism, or should we just pick the highest ssf? */ 155#undef PREFER_MECH 156 157/* define if your compile has __attribute__ */ 158#undef HAVE___ATTRIBUTE__ 159 160/* define if you have unistd.h */ 161#undef HAVE_UNISTD_H 162 163/* define if your system has getpid() */ 164#undef HAVE_GETPID 165 166/* do we have an inttypes.h? */ 167#undef HAVE_INTTYPES_H 168 169/* do we have sys/uio.h? */ 170#undef HAVE_SYS_UIO_H 171 172/* do we have sys/param.h? */ 173#undef HAVE_SYS_PARAM_H 174 175/* do we have sysexits.h? */ 176#undef HAVE_SYSEXITS_H 177 178/* stdarg.h? varargs.h? */ 179#undef HAVE_STDARG_H 180#undef HAVE_VARARGS_H 181 182/* Do we need a leading _ for dlsym? */ 183#undef DLSYM_NEEDS_UNDERSCORE 184 185/* Does libtool support shared libs on this system? */ 186#undef HAVE_DLFCN_H 187#undef DO_DLOPEN 188 189/* Should we try to dlopen stuff when we are staticly compiled? */ 190#undef TRY_DLOPEN_WHEN_STATIC 191 192/* define if your system has getaddrinfo() */ 193#undef HAVE_GETADDRINFO 194 195/* define if your system has getnameinfo() */ 196#undef HAVE_GETNAMEINFO 197 198/* define if your system has struct sockaddr_storage */ 199#undef HAVE_STRUCT_SOCKADDR_STORAGE 200 201/* Define if you have ss_family in struct sockaddr_storage. */ 202#undef HAVE_SS_FAMILY 203 204/* do we have socklen_t? */ 205#undef HAVE_SOCKLEN_T 206#undef HAVE_SOCKADDR_SA_LEN 207 208/* do we use doors for IPC? */ 209#undef USE_DOORS 210 211/* SASL's concept of DEV_RANDOM */ 212#undef SASL_DEV_RANDOM 213 214@BOTTOM@ 215 216/* Create a struct iovec if we need one */ 217#if !defined(_WIN32) && !defined(HAVE_SYS_UIO_H) 218/* (win32 is handled in sasl.h) */ 219struct iovec { 220 char *iov_base; 221 long iov_len; 222}; 223#else 224#include <sys/types.h> 225#include <sys/uio.h> 226#endif 227 228/* location of the random number generator */ 229#ifdef DEV_RANDOM 230#undef DEV_RANDOM 231#endif 232#define DEV_RANDOM SASL_DEV_RANDOM 233 234/* if we've got krb_get_err_txt, we might as well use it; 235 especially since krb_err_txt isn't in some newer distributions 236 (MIT Kerb for Mac 4 being a notable example). If we don't have 237 it, we fall back to the krb_err_txt array */ 238#ifdef HAVE_KRB_GET_ERR_TEXT 239#define get_krb_err_txt krb_get_err_text 240#else 241#define get_krb_err_txt(X) (krb_err_txt[(X)]) 242#endif 243 244/* Make Solaris happy... */ 245#ifndef __EXTENSIONS__ 246#define __EXTENSIONS__ 247#endif 248 249/* Make Linux happy... */ 250#ifndef _GNU_SOURCE 251#define _GNU_SOURCE 252#endif 253 254#ifndef HAVE___ATTRIBUTE__ 255/* Can't use attributes... */ 256#define __attribute__(foo) 257#endif 258 259#define SASL_PATH_ENV_VAR "SASL_PATH" 260 261#include <stdlib.h> 262#include <sys/types.h> 263#include <sys/socket.h> 264#ifndef WIN32 265# include <netdb.h> 266# ifdef HAVE_SYS_PARAM_H 267# include <sys/param.h> 268# endif 269#else /* WIN32 */ 270# include <winsock.h> 271#endif /* WIN32 */ 272#include <string.h> 273 274#include <netinet/in.h> 275 276#ifndef HAVE_SOCKLEN_T 277typedef unsigned int socklen_t; 278#endif /* HAVE_SOCKLEN_T */ 279 280#ifndef HAVE_STRUCT_SOCKADDR_STORAGE 281#define _SS_MAXSIZE 128 /* Implementation specific max size */ 282#define _SS_PADSIZE (_SS_MAXSIZE - sizeof (struct sockaddr)) 283 284struct sockaddr_storage { 285 struct sockaddr ss_sa; 286 char __ss_pad2[_SS_PADSIZE]; 287}; 288# define ss_family ss_sa.sa_family 289#endif /* !HAVE_STRUCT_SOCKADDR_STORAGE */ 290 291#ifndef AF_INET6 292/* Define it to something that should never appear */ 293#define AF_INET6 AF_MAX 294#endif 295 296#ifndef HAVE_GETADDRINFO 297#define getaddrinfo sasl_getaddrinfo 298#define freeaddrinfo sasl_freeaddrinfo 299#define getnameinfo sasl_getnameinfo 300#define gai_strerror sasl_gai_strerror 301#include "gai.h" 302#endif 303 304/* Defined in RFC 1035. max strlen is only 253 due to length bytes. */ 305#ifndef MAXHOSTNAMELEN 306#define MAXHOSTNAMELEN 255 307#endif 308 309#ifndef HAVE_SYSEXITS_H 310#include "exits.h" 311#else 312#include "sysexits.h" 313#endif 314 315#ifndef NI_WITHSCOPEID 316#define NI_WITHSCOPEID 0 317#endif 318 319/* Get the correct time.h */ 320#if TIME_WITH_SYS_TIME 321# include <sys/time.h> 322# include <time.h> 323#else 324# if HAVE_SYS_TIME_H 325# include <sys/time.h> 326# else 327# include <time.h> 328# endif 329#endif 330 331#endif /* CONFIG_H */ 332