1*7c478bd9Sstevel@tonic-gate /* 2*7c478bd9Sstevel@tonic-gate * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 3*7c478bd9Sstevel@tonic-gate * Use is subject to license terms. 4*7c478bd9Sstevel@tonic-gate */ 5*7c478bd9Sstevel@tonic-gate 6*7c478bd9Sstevel@tonic-gate #pragma ident "%Z%%M% %I% %E% SMI" 7*7c478bd9Sstevel@tonic-gate 8*7c478bd9Sstevel@tonic-gate /* 9*7c478bd9Sstevel@tonic-gate * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved. 10*7c478bd9Sstevel@tonic-gate * 11*7c478bd9Sstevel@tonic-gate * Redistribution and use in source and binary forms, with or without 12*7c478bd9Sstevel@tonic-gate * modification, are permitted provided that the following conditions 13*7c478bd9Sstevel@tonic-gate * are met: 14*7c478bd9Sstevel@tonic-gate * 15*7c478bd9Sstevel@tonic-gate * 1. Redistributions of source code must retain the above copyright 16*7c478bd9Sstevel@tonic-gate * notice, this list of conditions and the following disclaimer. 17*7c478bd9Sstevel@tonic-gate * 18*7c478bd9Sstevel@tonic-gate * 2. Redistributions in binary form must reproduce the above copyright 19*7c478bd9Sstevel@tonic-gate * notice, this list of conditions and the following disclaimer in 20*7c478bd9Sstevel@tonic-gate * the documentation and/or other materials provided with the 21*7c478bd9Sstevel@tonic-gate * distribution. 22*7c478bd9Sstevel@tonic-gate * 23*7c478bd9Sstevel@tonic-gate * 3. The name "Carnegie Mellon University" must not be used to 24*7c478bd9Sstevel@tonic-gate * endorse or promote products derived from this software without 25*7c478bd9Sstevel@tonic-gate * prior written permission. For permission or any other legal 26*7c478bd9Sstevel@tonic-gate * details, please contact 27*7c478bd9Sstevel@tonic-gate * Office of Technology Transfer 28*7c478bd9Sstevel@tonic-gate * Carnegie Mellon University 29*7c478bd9Sstevel@tonic-gate * 5000 Forbes Avenue 30*7c478bd9Sstevel@tonic-gate * Pittsburgh, PA 15213-3890 31*7c478bd9Sstevel@tonic-gate * (412) 268-4387, fax: (412) 268-7395 32*7c478bd9Sstevel@tonic-gate * tech-transfer@andrew.cmu.edu 33*7c478bd9Sstevel@tonic-gate * 34*7c478bd9Sstevel@tonic-gate * 4. Redistributions of any form whatsoever must retain the following 35*7c478bd9Sstevel@tonic-gate * acknowledgment: 36*7c478bd9Sstevel@tonic-gate * "This product includes software developed by Computing Services 37*7c478bd9Sstevel@tonic-gate * at Carnegie Mellon University (http://www.cmu.edu/computing/)." 38*7c478bd9Sstevel@tonic-gate * 39*7c478bd9Sstevel@tonic-gate * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO 40*7c478bd9Sstevel@tonic-gate * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 41*7c478bd9Sstevel@tonic-gate * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE 42*7c478bd9Sstevel@tonic-gate * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 43*7c478bd9Sstevel@tonic-gate * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN 44*7c478bd9Sstevel@tonic-gate * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING 45*7c478bd9Sstevel@tonic-gate * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 46*7c478bd9Sstevel@tonic-gate */ 47*7c478bd9Sstevel@tonic-gate 48*7c478bd9Sstevel@tonic-gate #ifndef CONFIG_H 49*7c478bd9Sstevel@tonic-gate #define CONFIG_H 50*7c478bd9Sstevel@tonic-gate 51*7c478bd9Sstevel@tonic-gate #include <sys/types.h> 52*7c478bd9Sstevel@tonic-gate 53*7c478bd9Sstevel@tonic-gate /* Define to empty if the keyword does not work. */ 54*7c478bd9Sstevel@tonic-gate /* #undef const */ 55*7c478bd9Sstevel@tonic-gate 56*7c478bd9Sstevel@tonic-gate /* Define if you have <sys/wait.h> that is POSIX.1 compatible. */ 57*7c478bd9Sstevel@tonic-gate #define HAVE_SYS_WAIT_H 1 58*7c478bd9Sstevel@tonic-gate 59*7c478bd9Sstevel@tonic-gate /* Define as __inline if that's what the C compiler calls it. */ 60*7c478bd9Sstevel@tonic-gate /* #undef inline */ 61*7c478bd9Sstevel@tonic-gate 62*7c478bd9Sstevel@tonic-gate /* Define to `int' if <sys/types.h> doesn't define. */ 63*7c478bd9Sstevel@tonic-gate /* #undef mode_t */ 64*7c478bd9Sstevel@tonic-gate 65*7c478bd9Sstevel@tonic-gate /* Define to `int' if <sys/types.h> doesn't define. */ 66*7c478bd9Sstevel@tonic-gate /* #undef pid_t */ 67*7c478bd9Sstevel@tonic-gate 68*7c478bd9Sstevel@tonic-gate /* Define as the return type of signal handlers (int or void). */ 69*7c478bd9Sstevel@tonic-gate #define RETSIGTYPE void 70*7c478bd9Sstevel@tonic-gate 71*7c478bd9Sstevel@tonic-gate /* Define if you have the ANSI C header files. */ 72*7c478bd9Sstevel@tonic-gate #define STDC_HEADERS 1 73*7c478bd9Sstevel@tonic-gate 74*7c478bd9Sstevel@tonic-gate /* Define if you can safely include both <sys/time.h> and <time.h>. */ 75*7c478bd9Sstevel@tonic-gate #define TIME_WITH_SYS_TIME 1 76*7c478bd9Sstevel@tonic-gate 77*7c478bd9Sstevel@tonic-gate /* Set to the database name you want SASL to use for 78*7c478bd9Sstevel@tonic-gate * username->secret lookups */ 79*7c478bd9Sstevel@tonic-gate /* #undef SASL_DB_PATH */ 80*7c478bd9Sstevel@tonic-gate 81*7c478bd9Sstevel@tonic-gate /* what db package are we using? */ 82*7c478bd9Sstevel@tonic-gate /* #undef SASL_GDBM */ 83*7c478bd9Sstevel@tonic-gate /* #undef SASL_NDBM */ 84*7c478bd9Sstevel@tonic-gate /* #undef SASL_BERKELEYDB */ 85*7c478bd9Sstevel@tonic-gate 86*7c478bd9Sstevel@tonic-gate /* which mechs can we link staticly? */ 87*7c478bd9Sstevel@tonic-gate /* #undef STATIC_ANONYMOUS */ 88*7c478bd9Sstevel@tonic-gate /* #undef STATIC_CRAMMD5 */ 89*7c478bd9Sstevel@tonic-gate /* #undef STATIC_DIGESTMD5 */ 90*7c478bd9Sstevel@tonic-gate /* #undef STATIC_GSSAPIV2 */ 91*7c478bd9Sstevel@tonic-gate /* #undef STATIC_KERBEROS4 */ 92*7c478bd9Sstevel@tonic-gate /* #undef STATIC_LOGIN */ 93*7c478bd9Sstevel@tonic-gate /* #undef STATIC_MYSQL */ 94*7c478bd9Sstevel@tonic-gate /* #undef STATIC_NTLM */ 95*7c478bd9Sstevel@tonic-gate /* #undef STATIC_OTP */ 96*7c478bd9Sstevel@tonic-gate /* #undef STATIC_PLAIN */ 97*7c478bd9Sstevel@tonic-gate /* #undef STATIC_SASLDB */ 98*7c478bd9Sstevel@tonic-gate /* #undef STATIC_SRP */ 99*7c478bd9Sstevel@tonic-gate 100*7c478bd9Sstevel@tonic-gate /* This is where plugins will live at runtime */ 101*7c478bd9Sstevel@tonic-gate #ifdef _LP64 102*7c478bd9Sstevel@tonic-gate #if defined(__sparcv9) 103*7c478bd9Sstevel@tonic-gate #define PLUGINDIR "/usr/lib/sasl/sparcv9" 104*7c478bd9Sstevel@tonic-gate #elif defined(__amd64) 105*7c478bd9Sstevel@tonic-gate #define PLUGINDIR "/usr/lib/sasl/amd64" 106*7c478bd9Sstevel@tonic-gate #else 107*7c478bd9Sstevel@tonic-gate #error Unsupported 64-bit architecture! 108*7c478bd9Sstevel@tonic-gate #endif 109*7c478bd9Sstevel@tonic-gate #else 110*7c478bd9Sstevel@tonic-gate #define PLUGINDIR "/usr/lib/sasl" 111*7c478bd9Sstevel@tonic-gate #endif 112*7c478bd9Sstevel@tonic-gate 113*7c478bd9Sstevel@tonic-gate #define SASL_CONFDIR "/etc/sasl" 114*7c478bd9Sstevel@tonic-gate 115*7c478bd9Sstevel@tonic-gate /* should we use the internal rc4 library? */ 116*7c478bd9Sstevel@tonic-gate /* This may be defined in digestmd5 makefile */ 117*7c478bd9Sstevel@tonic-gate /* #undef WITH_RC4 */ 118*7c478bd9Sstevel@tonic-gate 119*7c478bd9Sstevel@tonic-gate /* do we have des available? */ 120*7c478bd9Sstevel@tonic-gate /* This may be defined in digestmd5 makefile */ 121*7c478bd9Sstevel@tonic-gate /* #undef WITH_DES */ 122*7c478bd9Sstevel@tonic-gate /* #undef WITH_SSL_DES */ 123*7c478bd9Sstevel@tonic-gate 124*7c478bd9Sstevel@tonic-gate /* what about OpenSSL? */ 125*7c478bd9Sstevel@tonic-gate /* #undef HAVE_OPENSSL */ 126*7c478bd9Sstevel@tonic-gate 127*7c478bd9Sstevel@tonic-gate /* should we support srp_setpass */ 128*7c478bd9Sstevel@tonic-gate /* #undef DO_SRP_SETPASS */ 129*7c478bd9Sstevel@tonic-gate 130*7c478bd9Sstevel@tonic-gate /* do we have OPIE for server-side OTP support? */ 131*7c478bd9Sstevel@tonic-gate /* #undef HAVE_OPIE */ 132*7c478bd9Sstevel@tonic-gate 133*7c478bd9Sstevel@tonic-gate /* Do we have kerberos for plaintext password checking? */ 134*7c478bd9Sstevel@tonic-gate /* #undef HAVE_KRB */ 135*7c478bd9Sstevel@tonic-gate 136*7c478bd9Sstevel@tonic-gate /* do we have PAM for plaintext password checking? */ 137*7c478bd9Sstevel@tonic-gate #define HAVE_PAM 1 138*7c478bd9Sstevel@tonic-gate 139*7c478bd9Sstevel@tonic-gate /* do we have getsubopt()? */ 140*7c478bd9Sstevel@tonic-gate #define HAVE_GETSUBOPT 1 141*7c478bd9Sstevel@tonic-gate 142*7c478bd9Sstevel@tonic-gate /* Does your system have the snprintf() call? */ 143*7c478bd9Sstevel@tonic-gate #define HAVE_SNPRINTF 1 144*7c478bd9Sstevel@tonic-gate 145*7c478bd9Sstevel@tonic-gate /* Does your system have the vsnprintf() call? */ 146*7c478bd9Sstevel@tonic-gate #define HAVE_VSNPRINTF 1 147*7c478bd9Sstevel@tonic-gate 148*7c478bd9Sstevel@tonic-gate /* should we include support for the pwcheck daemon? */ 149*7c478bd9Sstevel@tonic-gate /* #undef HAVE_PWCHECK */ 150*7c478bd9Sstevel@tonic-gate 151*7c478bd9Sstevel@tonic-gate /* where do we look for the pwcheck daemon? */ 152*7c478bd9Sstevel@tonic-gate /* #undef PWCHECKDIR */ 153*7c478bd9Sstevel@tonic-gate 154*7c478bd9Sstevel@tonic-gate /* should we include support for the saslauth daemon? */ 155*7c478bd9Sstevel@tonic-gate /* #undef HAVE_SASLAUTHD */ 156*7c478bd9Sstevel@tonic-gate 157*7c478bd9Sstevel@tonic-gate /* where does saslauthd look for the communication socket? */ 158*7c478bd9Sstevel@tonic-gate /* #undef PATH_SASLAUTHD_RUNDIR */ 159*7c478bd9Sstevel@tonic-gate 160*7c478bd9Sstevel@tonic-gate /* do we want alwaystrue (discouraged)? */ 161*7c478bd9Sstevel@tonic-gate /* #undef HAVE_ALWAYSTRUE */ 162*7c478bd9Sstevel@tonic-gate 163*7c478bd9Sstevel@tonic-gate /* are we linking against DMALLOC? */ 164*7c478bd9Sstevel@tonic-gate /* #undef WITH_DMALLOC */ 165*7c478bd9Sstevel@tonic-gate 166*7c478bd9Sstevel@tonic-gate /* should we support sasl_checkapop */ 167*7c478bd9Sstevel@tonic-gate #define DO_SASL_CHECKAPOP 1 168*7c478bd9Sstevel@tonic-gate 169*7c478bd9Sstevel@tonic-gate /* do we pay attention to IP addresses in the kerberos 4 tickets? */ 170*7c478bd9Sstevel@tonic-gate /* #undef KRB4_IGNORE_IP_ADDRESS */ 171*7c478bd9Sstevel@tonic-gate 172*7c478bd9Sstevel@tonic-gate /* do we have a preferred mechanism, or should we just pick the highest ssf? */ 173*7c478bd9Sstevel@tonic-gate /* #undef PREFER_MECH */ 174*7c478bd9Sstevel@tonic-gate 175*7c478bd9Sstevel@tonic-gate /* Do we need a leading _ for dlsym? */ 176*7c478bd9Sstevel@tonic-gate /* #undef DLSYM_NEEDS_UNDERSCORE */ 177*7c478bd9Sstevel@tonic-gate 178*7c478bd9Sstevel@tonic-gate /* Does libtool support shared libs on this system? */ 179*7c478bd9Sstevel@tonic-gate #define HAVE_DLFCN_H 1 180*7c478bd9Sstevel@tonic-gate #define DO_DLOPEN 1 181*7c478bd9Sstevel@tonic-gate 182*7c478bd9Sstevel@tonic-gate /* Should we try to dlopen stuff when we are staticly compiled? */ 183*7c478bd9Sstevel@tonic-gate /* #undef TRY_DLOPEN_WHEN_STATIC */ 184*7c478bd9Sstevel@tonic-gate 185*7c478bd9Sstevel@tonic-gate /* define if your system has getaddrinfo() */ 186*7c478bd9Sstevel@tonic-gate #define HAVE_GETADDRINFO 1 187*7c478bd9Sstevel@tonic-gate #define HAVE_INET_ATON 1 188*7c478bd9Sstevel@tonic-gate 189*7c478bd9Sstevel@tonic-gate /* define if your system has getnameinfo() */ 190*7c478bd9Sstevel@tonic-gate #define HAVE_GETNAMEINFO 1 191*7c478bd9Sstevel@tonic-gate 192*7c478bd9Sstevel@tonic-gate /* define if your system has struct sockaddr_storage */ 193*7c478bd9Sstevel@tonic-gate #define HAVE_STRUCT_SOCKADDR_STORAGE 1 194*7c478bd9Sstevel@tonic-gate 195*7c478bd9Sstevel@tonic-gate /* Define if you have ss_family in struct sockaddr_storage. */ 196*7c478bd9Sstevel@tonic-gate #define HAVE_SS_FAMILY 1 197*7c478bd9Sstevel@tonic-gate 198*7c478bd9Sstevel@tonic-gate /* do we have socklen_t? */ 199*7c478bd9Sstevel@tonic-gate #define HAVE_SOCKLEN_T 1 200*7c478bd9Sstevel@tonic-gate 201*7c478bd9Sstevel@tonic-gate /* #undef HAVE_SOCKADDR_SA_LEN */ 202*7c478bd9Sstevel@tonic-gate 203*7c478bd9Sstevel@tonic-gate /* do we use doors for IPC? */ 204*7c478bd9Sstevel@tonic-gate /* #undef USE_DOORS */ 205*7c478bd9Sstevel@tonic-gate 206*7c478bd9Sstevel@tonic-gate /* Define if you have the dn_expand function. */ 207*7c478bd9Sstevel@tonic-gate #define HAVE_DN_EXPAND 1 208*7c478bd9Sstevel@tonic-gate 209*7c478bd9Sstevel@tonic-gate /* Define if you have the dns_lookup function. */ 210*7c478bd9Sstevel@tonic-gate /* #undef HAVE_DNS_LOOKUP */ 211*7c478bd9Sstevel@tonic-gate 212*7c478bd9Sstevel@tonic-gate /* Define if you have the getdomainname function. */ 213*7c478bd9Sstevel@tonic-gate /* #undef HAVE_GETDOMAINNAME */ 214*7c478bd9Sstevel@tonic-gate 215*7c478bd9Sstevel@tonic-gate /* Define if you have the gethostname function. */ 216*7c478bd9Sstevel@tonic-gate #define HAVE_GETHOSTNAME 1 217*7c478bd9Sstevel@tonic-gate 218*7c478bd9Sstevel@tonic-gate /* Define if you have the getpwnam function. */ 219*7c478bd9Sstevel@tonic-gate #define HAVE_GETPWNAM 1 220*7c478bd9Sstevel@tonic-gate 221*7c478bd9Sstevel@tonic-gate /* Define if you have the getspnam function. */ 222*7c478bd9Sstevel@tonic-gate #define HAVE_GETSPNAM 1 223*7c478bd9Sstevel@tonic-gate 224*7c478bd9Sstevel@tonic-gate /* Define if you have the gettimeofday function. */ 225*7c478bd9Sstevel@tonic-gate #define HAVE_GETTIMEOFDAY 1 226*7c478bd9Sstevel@tonic-gate 227*7c478bd9Sstevel@tonic-gate /* Define if you have the gsskrb5_register_acceptor_identity function. */ 228*7c478bd9Sstevel@tonic-gate /* #undef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY */ 229*7c478bd9Sstevel@tonic-gate 230*7c478bd9Sstevel@tonic-gate /* Define if you have the jrand48 function. */ 231*7c478bd9Sstevel@tonic-gate #define HAVE_JRAND48 1 232*7c478bd9Sstevel@tonic-gate 233*7c478bd9Sstevel@tonic-gate /* Define if you have the krb_get_err_text function. */ 234*7c478bd9Sstevel@tonic-gate /* #undef HAVE_KRB_GET_ERR_TEXT */ 235*7c478bd9Sstevel@tonic-gate 236*7c478bd9Sstevel@tonic-gate /* Define if you have the memcpy function. */ 237*7c478bd9Sstevel@tonic-gate #define HAVE_MEMCPY 1 238*7c478bd9Sstevel@tonic-gate 239*7c478bd9Sstevel@tonic-gate /* Define if you have the mkdir function. */ 240*7c478bd9Sstevel@tonic-gate #define HAVE_MKDIR 1 241*7c478bd9Sstevel@tonic-gate 242*7c478bd9Sstevel@tonic-gate /* Define if you have the select function. */ 243*7c478bd9Sstevel@tonic-gate #define HAVE_SELECT 1 244*7c478bd9Sstevel@tonic-gate 245*7c478bd9Sstevel@tonic-gate /* Define if you have the socket function. */ 246*7c478bd9Sstevel@tonic-gate #define HAVE_SOCKET 1 247*7c478bd9Sstevel@tonic-gate 248*7c478bd9Sstevel@tonic-gate /* Define if you have the strchr function. */ 249*7c478bd9Sstevel@tonic-gate #define HAVE_STRCHR 1 250*7c478bd9Sstevel@tonic-gate 251*7c478bd9Sstevel@tonic-gate /* Define if you have the strdup function. */ 252*7c478bd9Sstevel@tonic-gate #define HAVE_STRDUP 1 253*7c478bd9Sstevel@tonic-gate 254*7c478bd9Sstevel@tonic-gate /* Define if you have the strerror function. */ 255*7c478bd9Sstevel@tonic-gate #define HAVE_STRERROR 1 256*7c478bd9Sstevel@tonic-gate 257*7c478bd9Sstevel@tonic-gate /* Define if you have the strspn function. */ 258*7c478bd9Sstevel@tonic-gate #define HAVE_STRSPN 1 259*7c478bd9Sstevel@tonic-gate 260*7c478bd9Sstevel@tonic-gate /* Define if you have the strstr function. */ 261*7c478bd9Sstevel@tonic-gate #define HAVE_STRSTR 1 262*7c478bd9Sstevel@tonic-gate 263*7c478bd9Sstevel@tonic-gate /* Define if you have the strtol function. */ 264*7c478bd9Sstevel@tonic-gate #define HAVE_STRTOL 1 265*7c478bd9Sstevel@tonic-gate 266*7c478bd9Sstevel@tonic-gate /* Define if you have the syslog function. */ 267*7c478bd9Sstevel@tonic-gate #define HAVE_SYSLOG 1 268*7c478bd9Sstevel@tonic-gate 269*7c478bd9Sstevel@tonic-gate /* Define if you have the <dirent.h> header file. */ 270*7c478bd9Sstevel@tonic-gate #define HAVE_DIRENT_H 1 271*7c478bd9Sstevel@tonic-gate 272*7c478bd9Sstevel@tonic-gate /* Define if you have the <dlfcn.h> header file. */ 273*7c478bd9Sstevel@tonic-gate #define HAVE_DLFCN_H 1 274*7c478bd9Sstevel@tonic-gate 275*7c478bd9Sstevel@tonic-gate /* Define if you have the <fcntl.h> header file. */ 276*7c478bd9Sstevel@tonic-gate #define HAVE_FCNTL_H 1 277*7c478bd9Sstevel@tonic-gate 278*7c478bd9Sstevel@tonic-gate /* Define if you have the <inttypes.h> header file. */ 279*7c478bd9Sstevel@tonic-gate #define HAVE_INTTYPES_H 1 280*7c478bd9Sstevel@tonic-gate 281*7c478bd9Sstevel@tonic-gate /* Define if you have the <limits.h> header file. */ 282*7c478bd9Sstevel@tonic-gate #define HAVE_LIMITS_H 1 283*7c478bd9Sstevel@tonic-gate 284*7c478bd9Sstevel@tonic-gate /* Define if you have the <malloc.h> header file. */ 285*7c478bd9Sstevel@tonic-gate #define HAVE_MALLOC_H 1 286*7c478bd9Sstevel@tonic-gate 287*7c478bd9Sstevel@tonic-gate /* Define if you have the <ndir.h> header file. */ 288*7c478bd9Sstevel@tonic-gate /* #undef HAVE_NDIR_H */ 289*7c478bd9Sstevel@tonic-gate 290*7c478bd9Sstevel@tonic-gate /* Define if you have the <paths.h> header file. */ 291*7c478bd9Sstevel@tonic-gate /* #undef HAVE_PATHS_H */ 292*7c478bd9Sstevel@tonic-gate 293*7c478bd9Sstevel@tonic-gate /* Define if you have the <stdarg.h> header file. */ 294*7c478bd9Sstevel@tonic-gate #define HAVE_STDARG_H 1 295*7c478bd9Sstevel@tonic-gate 296*7c478bd9Sstevel@tonic-gate /* Define if you have the <strings.h> header file. */ 297*7c478bd9Sstevel@tonic-gate #define HAVE_STRINGS_H 1 298*7c478bd9Sstevel@tonic-gate 299*7c478bd9Sstevel@tonic-gate /* Define if you have the <sys/dir.h> header file. */ 300*7c478bd9Sstevel@tonic-gate /* #undef HAVE_SYS_DIR_H */ 301*7c478bd9Sstevel@tonic-gate 302*7c478bd9Sstevel@tonic-gate /* Define if you have the <sys/file.h> header file. */ 303*7c478bd9Sstevel@tonic-gate #define HAVE_SYS_FILE_H 1 304*7c478bd9Sstevel@tonic-gate 305*7c478bd9Sstevel@tonic-gate /* Define if you have the <sys/ndir.h> header file. */ 306*7c478bd9Sstevel@tonic-gate /* #undef HAVE_SYS_NDIR_H */ 307*7c478bd9Sstevel@tonic-gate 308*7c478bd9Sstevel@tonic-gate /* Define if you have the <sys/param.h> header file. */ 309*7c478bd9Sstevel@tonic-gate #define HAVE_SYS_PARAM_H 1 310*7c478bd9Sstevel@tonic-gate 311*7c478bd9Sstevel@tonic-gate /* Define if you have the <sys/time.h> header file. */ 312*7c478bd9Sstevel@tonic-gate #define HAVE_SYS_TIME_H 1 313*7c478bd9Sstevel@tonic-gate 314*7c478bd9Sstevel@tonic-gate /* Define if you have the <sys/uio.h> header file. */ 315*7c478bd9Sstevel@tonic-gate #define HAVE_SYS_UIO_H 1 316*7c478bd9Sstevel@tonic-gate 317*7c478bd9Sstevel@tonic-gate /* Define if you have the <sysexits.h> header file. */ 318*7c478bd9Sstevel@tonic-gate #define HAVE_SYSEXITS_H 1 319*7c478bd9Sstevel@tonic-gate 320*7c478bd9Sstevel@tonic-gate /* Define if you have the <syslog.h> header file. */ 321*7c478bd9Sstevel@tonic-gate #define HAVE_SYSLOG_H 1 322*7c478bd9Sstevel@tonic-gate 323*7c478bd9Sstevel@tonic-gate /* Define if you have the <unistd.h> header file. */ 324*7c478bd9Sstevel@tonic-gate #define HAVE_UNISTD_H 1 325*7c478bd9Sstevel@tonic-gate 326*7c478bd9Sstevel@tonic-gate /* Define if you have the <varargs.h> header file. */ 327*7c478bd9Sstevel@tonic-gate #define HAVE_VARARGS_H 1 328*7c478bd9Sstevel@tonic-gate 329*7c478bd9Sstevel@tonic-gate /* Define if you have the db library (-ldb). */ 330*7c478bd9Sstevel@tonic-gate /* #undef HAVE_LIBDB */ 331*7c478bd9Sstevel@tonic-gate 332*7c478bd9Sstevel@tonic-gate /* Define if you have the resolv library (-lresolv). */ 333*7c478bd9Sstevel@tonic-gate #define HAVE_LIBRESOLV 1 334*7c478bd9Sstevel@tonic-gate 335*7c478bd9Sstevel@tonic-gate /* Name of package */ 336*7c478bd9Sstevel@tonic-gate /* #define PACKAGE "cyrus-sasl" */ 337*7c478bd9Sstevel@tonic-gate 338*7c478bd9Sstevel@tonic-gate /* Version number of package */ 339*7c478bd9Sstevel@tonic-gate /* #undef VERSION */ 340*7c478bd9Sstevel@tonic-gate 341*7c478bd9Sstevel@tonic-gate /* define if your compiler has __attribute__ */ 342*7c478bd9Sstevel@tonic-gate /* #undef HAVE___ATTRIBUTE__ */ 343*7c478bd9Sstevel@tonic-gate 344*7c478bd9Sstevel@tonic-gate /* Define if you have the gssapi.h header file */ 345*7c478bd9Sstevel@tonic-gate /* #undef HAVE_GSSAPI_H */ 346*7c478bd9Sstevel@tonic-gate 347*7c478bd9Sstevel@tonic-gate /* Define if your GSSAPI implimentation defines GSS_C_NT_HOSTBASED_SERVICE */ 348*7c478bd9Sstevel@tonic-gate #define HAVE_GSS_C_NT_HOSTBASED_SERVICE 349*7c478bd9Sstevel@tonic-gate 350*7c478bd9Sstevel@tonic-gate 351*7c478bd9Sstevel@tonic-gate /* Create a struct iovec if we need one */ 352*7c478bd9Sstevel@tonic-gate #if !defined(_WIN32) && !defined(HAVE_SYS_UIO_H) 353*7c478bd9Sstevel@tonic-gate /* (win32 is handled in sasl.h) */ 354*7c478bd9Sstevel@tonic-gate struct iovec { 355*7c478bd9Sstevel@tonic-gate char *iov_base; 356*7c478bd9Sstevel@tonic-gate long iov_len; 357*7c478bd9Sstevel@tonic-gate }; 358*7c478bd9Sstevel@tonic-gate #else 359*7c478bd9Sstevel@tonic-gate #include <sys/uio.h> 360*7c478bd9Sstevel@tonic-gate #endif 361*7c478bd9Sstevel@tonic-gate 362*7c478bd9Sstevel@tonic-gate /* location of the random number generator */ 363*7c478bd9Sstevel@tonic-gate #ifndef DEV_RANDOM 364*7c478bd9Sstevel@tonic-gate #define DEV_RANDOM "/dev/urandom" 365*7c478bd9Sstevel@tonic-gate #endif 366*7c478bd9Sstevel@tonic-gate #define _DEV_URANDOM "/dev/urandom" 367*7c478bd9Sstevel@tonic-gate 368*7c478bd9Sstevel@tonic-gate /* if we've got krb_get_err_txt, we might as well use it; 369*7c478bd9Sstevel@tonic-gate especially since krb_err_txt isn't in some newer distributions 370*7c478bd9Sstevel@tonic-gate (MIT Kerb for Mac 4 being a notable example). If we don't have 371*7c478bd9Sstevel@tonic-gate it, we fall back to the krb_err_txt array */ 372*7c478bd9Sstevel@tonic-gate #ifdef HAVE_KRB_GET_ERR_TEXT 373*7c478bd9Sstevel@tonic-gate #define get_krb_err_txt krb_get_err_text 374*7c478bd9Sstevel@tonic-gate #else 375*7c478bd9Sstevel@tonic-gate #define get_krb_err_txt(X) (krb_err_txt[(X)]) 376*7c478bd9Sstevel@tonic-gate #endif 377*7c478bd9Sstevel@tonic-gate 378*7c478bd9Sstevel@tonic-gate /* Make Solaris happy... */ 379*7c478bd9Sstevel@tonic-gate #ifndef __EXTENSIONS__ 380*7c478bd9Sstevel@tonic-gate #define __EXTENSIONS__ 381*7c478bd9Sstevel@tonic-gate #endif 382*7c478bd9Sstevel@tonic-gate 383*7c478bd9Sstevel@tonic-gate /* Make Linux happy... */ 384*7c478bd9Sstevel@tonic-gate #ifndef _GNU_SOURCE 385*7c478bd9Sstevel@tonic-gate #define _GNU_SOURCE 386*7c478bd9Sstevel@tonic-gate #endif 387*7c478bd9Sstevel@tonic-gate 388*7c478bd9Sstevel@tonic-gate #ifndef HAVE___ATTRIBUTE__ 389*7c478bd9Sstevel@tonic-gate /* Can't use attributes... */ 390*7c478bd9Sstevel@tonic-gate #define __attribute__(foo) 391*7c478bd9Sstevel@tonic-gate #endif 392*7c478bd9Sstevel@tonic-gate 393*7c478bd9Sstevel@tonic-gate #define SASL_PATH_ENV_VAR "SASL_PATH" 394*7c478bd9Sstevel@tonic-gate 395*7c478bd9Sstevel@tonic-gate #include <stdlib.h> 396*7c478bd9Sstevel@tonic-gate #include <sys/socket.h> 397*7c478bd9Sstevel@tonic-gate #ifndef WIN32 398*7c478bd9Sstevel@tonic-gate # include <netdb.h> 399*7c478bd9Sstevel@tonic-gate # ifdef HAVE_SYS_PARAM_H 400*7c478bd9Sstevel@tonic-gate # include <sys/param.h> 401*7c478bd9Sstevel@tonic-gate # endif 402*7c478bd9Sstevel@tonic-gate #else /* WIN32 */ 403*7c478bd9Sstevel@tonic-gate # include <winsock.h> 404*7c478bd9Sstevel@tonic-gate #endif /* WIN32 */ 405*7c478bd9Sstevel@tonic-gate 406*7c478bd9Sstevel@tonic-gate #include <string.h> 407*7c478bd9Sstevel@tonic-gate 408*7c478bd9Sstevel@tonic-gate #include <netinet/in.h> 409*7c478bd9Sstevel@tonic-gate 410*7c478bd9Sstevel@tonic-gate #ifndef HAVE_STRUCT_SOCKADDR_STORAGE 411*7c478bd9Sstevel@tonic-gate #define _SS_MAXSIZE 128 /* Implementation specific max size */ 412*7c478bd9Sstevel@tonic-gate #define _SS_PADSIZE (_SS_MAXSIZE - sizeof (struct sockaddr)) 413*7c478bd9Sstevel@tonic-gate 414*7c478bd9Sstevel@tonic-gate struct sockaddr_storage { 415*7c478bd9Sstevel@tonic-gate struct sockaddr ss_sa; 416*7c478bd9Sstevel@tonic-gate char __ss_pad2[_SS_PADSIZE]; 417*7c478bd9Sstevel@tonic-gate }; 418*7c478bd9Sstevel@tonic-gate # define ss_family ss_sa.sa_family 419*7c478bd9Sstevel@tonic-gate #endif /* !HAVE_STRUCT_SOCKADDR_STORAGE */ 420*7c478bd9Sstevel@tonic-gate 421*7c478bd9Sstevel@tonic-gate #ifndef AF_INET6 422*7c478bd9Sstevel@tonic-gate /* Define it to something that should never appear */ 423*7c478bd9Sstevel@tonic-gate #define AF_INET6 AF_MAX 424*7c478bd9Sstevel@tonic-gate #endif 425*7c478bd9Sstevel@tonic-gate 426*7c478bd9Sstevel@tonic-gate #ifndef HAVE_GETADDRINFO 427*7c478bd9Sstevel@tonic-gate #define getaddrinfo sasl_getaddrinfo 428*7c478bd9Sstevel@tonic-gate #define freeaddrinfo sasl_freeaddrinfo 429*7c478bd9Sstevel@tonic-gate #define getnameinfo sasl_getnameinfo 430*7c478bd9Sstevel@tonic-gate #define gai_strerror sasl_gai_strerror 431*7c478bd9Sstevel@tonic-gate #include "gai.h" 432*7c478bd9Sstevel@tonic-gate #endif 433*7c478bd9Sstevel@tonic-gate 434*7c478bd9Sstevel@tonic-gate /* Defined in RFC 1035. max strlen is only 253 due to length bytes. */ 435*7c478bd9Sstevel@tonic-gate #ifndef MAXHOSTNAMELEN 436*7c478bd9Sstevel@tonic-gate #define MAXHOSTNAMELEN 255 437*7c478bd9Sstevel@tonic-gate #endif 438*7c478bd9Sstevel@tonic-gate 439*7c478bd9Sstevel@tonic-gate #ifndef HAVE_SYSEXITS_H 440*7c478bd9Sstevel@tonic-gate #include "exits.h" 441*7c478bd9Sstevel@tonic-gate #else 442*7c478bd9Sstevel@tonic-gate #include "sysexits.h" 443*7c478bd9Sstevel@tonic-gate #endif 444*7c478bd9Sstevel@tonic-gate 445*7c478bd9Sstevel@tonic-gate #ifndef NI_WITHSCOPEID 446*7c478bd9Sstevel@tonic-gate #define NI_WITHSCOPEID 0 447*7c478bd9Sstevel@tonic-gate #endif 448*7c478bd9Sstevel@tonic-gate 449*7c478bd9Sstevel@tonic-gate /* Get the correct time.h */ 450*7c478bd9Sstevel@tonic-gate #if TIME_WITH_SYS_TIME 451*7c478bd9Sstevel@tonic-gate # include <sys/time.h> 452*7c478bd9Sstevel@tonic-gate # include <time.h> 453*7c478bd9Sstevel@tonic-gate #else 454*7c478bd9Sstevel@tonic-gate # if HAVE_SYS_TIME_H 455*7c478bd9Sstevel@tonic-gate # include <sys/time.h> 456*7c478bd9Sstevel@tonic-gate # else 457*7c478bd9Sstevel@tonic-gate # include <time.h> 458*7c478bd9Sstevel@tonic-gate # endif 459*7c478bd9Sstevel@tonic-gate #endif 460*7c478bd9Sstevel@tonic-gate 461*7c478bd9Sstevel@tonic-gate #include <libintl.h> 462*7c478bd9Sstevel@tonic-gate /* 463*7c478bd9Sstevel@tonic-gate * We use gettext() so that xgettext will build msg database. libsasl and 464*7c478bd9Sstevel@tonic-gate * plugins will actually use dgettext in the appropriate subroutine - 465*7c478bd9Sstevel@tonic-gate * depending on SASL_CB_LANGUAGE or the specified language. 466*7c478bd9Sstevel@tonic-gate */ 467*7c478bd9Sstevel@tonic-gate #define gettext(x) (x) 468*7c478bd9Sstevel@tonic-gate 469*7c478bd9Sstevel@tonic-gate #define USE_PTHREADS 1 470*7c478bd9Sstevel@tonic-gate #include <pthread.h> 471*7c478bd9Sstevel@tonic-gate #define DEFINE_STATIC_MUTEX(x) \ 472*7c478bd9Sstevel@tonic-gate static pthread_mutex_t x = PTHREAD_MUTEX_INITIALIZER 473*7c478bd9Sstevel@tonic-gate 474*7c478bd9Sstevel@tonic-gate #define LOCK_MUTEX(x) pthread_mutex_lock(x) 475*7c478bd9Sstevel@tonic-gate #define UNLOCK_MUTEX(x) pthread_mutex_unlock(x) 476*7c478bd9Sstevel@tonic-gate 477*7c478bd9Sstevel@tonic-gate #define DO_DLOPEN 1 478*7c478bd9Sstevel@tonic-gate #define TRY_DLOPEN_WHEN_STATIC 1 479*7c478bd9Sstevel@tonic-gate #define HAVE_DLFCN_H 1 480*7c478bd9Sstevel@tonic-gate 481*7c478bd9Sstevel@tonic-gate /* HAVE_GSS_C_NT_USER_NAME is not needed for Solaris 10 since libgss has been 482*7c478bd9Sstevel@tonic-gate * updated. 483*7c478bd9Sstevel@tonic-gate */ 484*7c478bd9Sstevel@tonic-gate #undef HAVE_GSS_C_NT_USER_NAME 485*7c478bd9Sstevel@tonic-gate 486*7c478bd9Sstevel@tonic-gate #define HAVE_RPC_GSS_MECH_TO_OID 1 487*7c478bd9Sstevel@tonic-gate 488*7c478bd9Sstevel@tonic-gate #define _SUN_SDK_ 1 489*7c478bd9Sstevel@tonic-gate 490*7c478bd9Sstevel@tonic-gate #define _INTEGRATED_SOLARIS_ 1 491*7c478bd9Sstevel@tonic-gate #define _HAVE_LIB_MD5 1 492*7c478bd9Sstevel@tonic-gate 493*7c478bd9Sstevel@tonic-gate #include "md5global.h" 494*7c478bd9Sstevel@tonic-gate #include "md5_private.h" 495*7c478bd9Sstevel@tonic-gate 496*7c478bd9Sstevel@tonic-gate #endif /* CONFIG_H */ 497