17c478bd9Sstevel@tonic-gate /*
27c478bd9Sstevel@tonic-gate  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
37c478bd9Sstevel@tonic-gate  * Use is subject to license terms.
47c478bd9Sstevel@tonic-gate  */
57c478bd9Sstevel@tonic-gate 
67c478bd9Sstevel@tonic-gate /*
77c478bd9Sstevel@tonic-gate  * Copyright (c) 1998-2003 Carnegie Mellon University.  All rights reserved.
87c478bd9Sstevel@tonic-gate  *
97c478bd9Sstevel@tonic-gate  * Redistribution and use in source and binary forms, with or without
107c478bd9Sstevel@tonic-gate  * modification, are permitted provided that the following conditions
117c478bd9Sstevel@tonic-gate  * are met:
127c478bd9Sstevel@tonic-gate  *
137c478bd9Sstevel@tonic-gate  * 1. Redistributions of source code must retain the above copyright
14*1da57d55SToomas Soome  *    notice, this list of conditions and the following disclaimer.
157c478bd9Sstevel@tonic-gate  *
167c478bd9Sstevel@tonic-gate  * 2. Redistributions in binary form must reproduce the above copyright
177c478bd9Sstevel@tonic-gate  *    notice, this list of conditions and the following disclaimer in
187c478bd9Sstevel@tonic-gate  *    the documentation and/or other materials provided with the
197c478bd9Sstevel@tonic-gate  *    distribution.
207c478bd9Sstevel@tonic-gate  *
217c478bd9Sstevel@tonic-gate  * 3. The name "Carnegie Mellon University" must not be used to
227c478bd9Sstevel@tonic-gate  *    endorse or promote products derived from this software without
237c478bd9Sstevel@tonic-gate  *    prior written permission. For permission or any other legal
24*1da57d55SToomas Soome  *    details, please contact
257c478bd9Sstevel@tonic-gate  *      Office of Technology Transfer
267c478bd9Sstevel@tonic-gate  *      Carnegie Mellon University
277c478bd9Sstevel@tonic-gate  *      5000 Forbes Avenue
287c478bd9Sstevel@tonic-gate  *      Pittsburgh, PA  15213-3890
297c478bd9Sstevel@tonic-gate  *      (412) 268-4387, fax: (412) 268-7395
307c478bd9Sstevel@tonic-gate  *      tech-transfer@andrew.cmu.edu
317c478bd9Sstevel@tonic-gate  *
327c478bd9Sstevel@tonic-gate  * 4. Redistributions of any form whatsoever must retain the following
337c478bd9Sstevel@tonic-gate  *    acknowledgment:
347c478bd9Sstevel@tonic-gate  *    "This product includes software developed by Computing Services
357c478bd9Sstevel@tonic-gate  *     at Carnegie Mellon University (http://www.cmu.edu/computing/)."
367c478bd9Sstevel@tonic-gate  *
377c478bd9Sstevel@tonic-gate  * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
387c478bd9Sstevel@tonic-gate  * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
397c478bd9Sstevel@tonic-gate  * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
407c478bd9Sstevel@tonic-gate  * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
417c478bd9Sstevel@tonic-gate  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
427c478bd9Sstevel@tonic-gate  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
437c478bd9Sstevel@tonic-gate  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
447c478bd9Sstevel@tonic-gate  */
457c478bd9Sstevel@tonic-gate 
467c478bd9Sstevel@tonic-gate #ifndef CONFIG_H
477c478bd9Sstevel@tonic-gate #define CONFIG_H
487c478bd9Sstevel@tonic-gate 
497c478bd9Sstevel@tonic-gate #include <sys/types.h>
507c478bd9Sstevel@tonic-gate 
517c478bd9Sstevel@tonic-gate /* Define to empty if the keyword does not work.  */
527c478bd9Sstevel@tonic-gate /* #undef const */
537c478bd9Sstevel@tonic-gate 
547c478bd9Sstevel@tonic-gate /* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
557c478bd9Sstevel@tonic-gate #define HAVE_SYS_WAIT_H 1
567c478bd9Sstevel@tonic-gate 
577c478bd9Sstevel@tonic-gate /* Define as __inline if that's what the C compiler calls it.  */
587c478bd9Sstevel@tonic-gate /* #undef inline */
597c478bd9Sstevel@tonic-gate 
607c478bd9Sstevel@tonic-gate /* Define to `int' if <sys/types.h> doesn't define.  */
617c478bd9Sstevel@tonic-gate /* #undef mode_t */
627c478bd9Sstevel@tonic-gate 
637c478bd9Sstevel@tonic-gate /* Define to `int' if <sys/types.h> doesn't define.  */
647c478bd9Sstevel@tonic-gate /* #undef pid_t */
657c478bd9Sstevel@tonic-gate 
667c478bd9Sstevel@tonic-gate /* Define as the return type of signal handlers (int or void).  */
677c478bd9Sstevel@tonic-gate #define RETSIGTYPE void
687c478bd9Sstevel@tonic-gate 
697c478bd9Sstevel@tonic-gate /* Define if you have the ANSI C header files.  */
707c478bd9Sstevel@tonic-gate #define STDC_HEADERS 1
717c478bd9Sstevel@tonic-gate 
727c478bd9Sstevel@tonic-gate /* Define if you can safely include both <sys/time.h> and <time.h>.  */
737c478bd9Sstevel@tonic-gate #define TIME_WITH_SYS_TIME 1
747c478bd9Sstevel@tonic-gate 
757c478bd9Sstevel@tonic-gate /* Set to the database name you want SASL to use for
767c478bd9Sstevel@tonic-gate  * username->secret lookups */
777c478bd9Sstevel@tonic-gate /* #undef SASL_DB_PATH */
787c478bd9Sstevel@tonic-gate 
797c478bd9Sstevel@tonic-gate /* what db package are we using? */
807c478bd9Sstevel@tonic-gate /* #undef SASL_GDBM */
817c478bd9Sstevel@tonic-gate /* #undef SASL_NDBM */
827c478bd9Sstevel@tonic-gate /* #undef SASL_BERKELEYDB */
837c478bd9Sstevel@tonic-gate 
847c478bd9Sstevel@tonic-gate /* which mechs can we link staticly? */
857c478bd9Sstevel@tonic-gate /* #undef STATIC_ANONYMOUS */
867c478bd9Sstevel@tonic-gate /* #undef STATIC_CRAMMD5 */
877c478bd9Sstevel@tonic-gate /* #undef STATIC_DIGESTMD5 */
887c478bd9Sstevel@tonic-gate /* #undef STATIC_GSSAPIV2 */
897c478bd9Sstevel@tonic-gate /* #undef STATIC_KERBEROS4 */
907c478bd9Sstevel@tonic-gate /* #undef STATIC_LOGIN */
917c478bd9Sstevel@tonic-gate /* #undef STATIC_MYSQL */
927c478bd9Sstevel@tonic-gate /* #undef STATIC_NTLM */
937c478bd9Sstevel@tonic-gate /* #undef STATIC_OTP */
947c478bd9Sstevel@tonic-gate /* #undef STATIC_PLAIN */
957c478bd9Sstevel@tonic-gate /* #undef STATIC_SASLDB */
967c478bd9Sstevel@tonic-gate /* #undef STATIC_SRP */
977c478bd9Sstevel@tonic-gate 
987c478bd9Sstevel@tonic-gate /* This is where plugins will live at runtime */
997c478bd9Sstevel@tonic-gate #ifdef _LP64
1007c478bd9Sstevel@tonic-gate #if defined(__sparcv9)
1017c478bd9Sstevel@tonic-gate #define PLUGINDIR "/usr/lib/sasl/sparcv9"
1027c478bd9Sstevel@tonic-gate #elif defined(__amd64)
1037c478bd9Sstevel@tonic-gate #define PLUGINDIR "/usr/lib/sasl/amd64"
1047c478bd9Sstevel@tonic-gate #else
1057c478bd9Sstevel@tonic-gate #error Unsupported 64-bit architecture!
1067c478bd9Sstevel@tonic-gate #endif
107*1da57d55SToomas Soome #else
1087c478bd9Sstevel@tonic-gate #define PLUGINDIR "/usr/lib/sasl"
1097c478bd9Sstevel@tonic-gate #endif
1107c478bd9Sstevel@tonic-gate 
1117c478bd9Sstevel@tonic-gate #define SASL_CONFDIR "/etc/sasl"
1127c478bd9Sstevel@tonic-gate 
1137c478bd9Sstevel@tonic-gate /* should we use the internal rc4 library? */
1147c478bd9Sstevel@tonic-gate /* This may be defined in digestmd5 makefile */
1157c478bd9Sstevel@tonic-gate /* #undef WITH_RC4 */
1167c478bd9Sstevel@tonic-gate 
1177c478bd9Sstevel@tonic-gate /* do we have des available? */
1187c478bd9Sstevel@tonic-gate /* This may be defined in digestmd5 makefile */
1197c478bd9Sstevel@tonic-gate /* #undef WITH_DES */
1207c478bd9Sstevel@tonic-gate /* #undef WITH_SSL_DES */
1217c478bd9Sstevel@tonic-gate 
1227c478bd9Sstevel@tonic-gate /* what about OpenSSL? */
1237c478bd9Sstevel@tonic-gate /* #undef HAVE_OPENSSL */
1247c478bd9Sstevel@tonic-gate 
1257c478bd9Sstevel@tonic-gate /* should we support srp_setpass */
1267c478bd9Sstevel@tonic-gate /* #undef DO_SRP_SETPASS */
1277c478bd9Sstevel@tonic-gate 
1287c478bd9Sstevel@tonic-gate /* do we have OPIE for server-side OTP support? */
1297c478bd9Sstevel@tonic-gate /* #undef HAVE_OPIE */
1307c478bd9Sstevel@tonic-gate 
1317c478bd9Sstevel@tonic-gate /* Do we have kerberos for plaintext password checking? */
1327c478bd9Sstevel@tonic-gate /* #undef HAVE_KRB */
1337c478bd9Sstevel@tonic-gate 
1347c478bd9Sstevel@tonic-gate /* do we have PAM for plaintext password checking? */
1357c478bd9Sstevel@tonic-gate #define HAVE_PAM 1
1367c478bd9Sstevel@tonic-gate 
1377c478bd9Sstevel@tonic-gate /* do we have getsubopt()? */
1387c478bd9Sstevel@tonic-gate #define HAVE_GETSUBOPT 1
1397c478bd9Sstevel@tonic-gate 
1407c478bd9Sstevel@tonic-gate /* Does your system have the snprintf() call? */
1417c478bd9Sstevel@tonic-gate #define HAVE_SNPRINTF 1
1427c478bd9Sstevel@tonic-gate 
1437c478bd9Sstevel@tonic-gate /* Does your system have the vsnprintf() call? */
1447c478bd9Sstevel@tonic-gate #define HAVE_VSNPRINTF 1
1457c478bd9Sstevel@tonic-gate 
1467c478bd9Sstevel@tonic-gate /* should we include support for the pwcheck daemon? */
1477c478bd9Sstevel@tonic-gate /* #undef HAVE_PWCHECK */
1487c478bd9Sstevel@tonic-gate 
1497c478bd9Sstevel@tonic-gate /* where do we look for the pwcheck daemon? */
1507c478bd9Sstevel@tonic-gate /* #undef PWCHECKDIR */
1517c478bd9Sstevel@tonic-gate 
1527c478bd9Sstevel@tonic-gate /* should we include support for the saslauth daemon? */
1537c478bd9Sstevel@tonic-gate /* #undef HAVE_SASLAUTHD */
1547c478bd9Sstevel@tonic-gate 
1557c478bd9Sstevel@tonic-gate /* where does saslauthd look for the communication socket? */
1567c478bd9Sstevel@tonic-gate /* #undef PATH_SASLAUTHD_RUNDIR */
1577c478bd9Sstevel@tonic-gate 
1587c478bd9Sstevel@tonic-gate /* do we want alwaystrue (discouraged)? */
1597c478bd9Sstevel@tonic-gate /* #undef HAVE_ALWAYSTRUE */
1607c478bd9Sstevel@tonic-gate 
1617c478bd9Sstevel@tonic-gate /* are we linking against DMALLOC? */
1627c478bd9Sstevel@tonic-gate /* #undef WITH_DMALLOC */
1637c478bd9Sstevel@tonic-gate 
1647c478bd9Sstevel@tonic-gate /* should we support sasl_checkapop */
1657c478bd9Sstevel@tonic-gate #define DO_SASL_CHECKAPOP 1
1667c478bd9Sstevel@tonic-gate 
1677c478bd9Sstevel@tonic-gate /* do we pay attention to IP addresses in the kerberos 4 tickets? */
1687c478bd9Sstevel@tonic-gate /* #undef KRB4_IGNORE_IP_ADDRESS */
1697c478bd9Sstevel@tonic-gate 
1707c478bd9Sstevel@tonic-gate /* do we have a preferred mechanism, or should we just pick the highest ssf? */
1717c478bd9Sstevel@tonic-gate /* #undef PREFER_MECH */
1727c478bd9Sstevel@tonic-gate 
1737c478bd9Sstevel@tonic-gate /* Do we need a leading _ for dlsym? */
1747c478bd9Sstevel@tonic-gate /* #undef DLSYM_NEEDS_UNDERSCORE */
1757c478bd9Sstevel@tonic-gate 
1767c478bd9Sstevel@tonic-gate /* Does libtool support shared libs on this system? */
1777c478bd9Sstevel@tonic-gate #define HAVE_DLFCN_H 1
1787c478bd9Sstevel@tonic-gate #define DO_DLOPEN 1
1797c478bd9Sstevel@tonic-gate 
1807c478bd9Sstevel@tonic-gate /* Should we try to dlopen stuff when we are staticly compiled? */
1817c478bd9Sstevel@tonic-gate /* #undef TRY_DLOPEN_WHEN_STATIC */
1827c478bd9Sstevel@tonic-gate 
1837c478bd9Sstevel@tonic-gate /* define if your system has getaddrinfo() */
1847c478bd9Sstevel@tonic-gate #define HAVE_GETADDRINFO 1
1857c478bd9Sstevel@tonic-gate #define HAVE_INET_ATON 1
1867c478bd9Sstevel@tonic-gate 
1877c478bd9Sstevel@tonic-gate /* define if your system has getnameinfo() */
1887c478bd9Sstevel@tonic-gate #define HAVE_GETNAMEINFO 1
1897c478bd9Sstevel@tonic-gate 
1907c478bd9Sstevel@tonic-gate /* define if your system has struct sockaddr_storage */
1917c478bd9Sstevel@tonic-gate #define HAVE_STRUCT_SOCKADDR_STORAGE 1
1927c478bd9Sstevel@tonic-gate 
1937c478bd9Sstevel@tonic-gate /* Define if you have ss_family in struct sockaddr_storage. */
1947c478bd9Sstevel@tonic-gate #define HAVE_SS_FAMILY 1
1957c478bd9Sstevel@tonic-gate 
1967c478bd9Sstevel@tonic-gate /* do we have socklen_t? */
1977c478bd9Sstevel@tonic-gate #define HAVE_SOCKLEN_T 1
1987c478bd9Sstevel@tonic-gate 
1997c478bd9Sstevel@tonic-gate /* #undef HAVE_SOCKADDR_SA_LEN */
2007c478bd9Sstevel@tonic-gate 
2017c478bd9Sstevel@tonic-gate /* do we use doors for IPC? */
2027c478bd9Sstevel@tonic-gate /* #undef USE_DOORS */
2037c478bd9Sstevel@tonic-gate 
2047c478bd9Sstevel@tonic-gate /* Define if you have the dn_expand function.  */
2057c478bd9Sstevel@tonic-gate #define HAVE_DN_EXPAND 1
2067c478bd9Sstevel@tonic-gate 
2077c478bd9Sstevel@tonic-gate /* Define if you have the dns_lookup function.  */
2087c478bd9Sstevel@tonic-gate /* #undef HAVE_DNS_LOOKUP */
2097c478bd9Sstevel@tonic-gate 
2107c478bd9Sstevel@tonic-gate /* Define if you have the getdomainname function.  */
2117c478bd9Sstevel@tonic-gate /* #undef HAVE_GETDOMAINNAME */
2127c478bd9Sstevel@tonic-gate 
2137c478bd9Sstevel@tonic-gate /* Define if you have the gethostname function.  */
2147c478bd9Sstevel@tonic-gate #define HAVE_GETHOSTNAME 1
2157c478bd9Sstevel@tonic-gate 
2167c478bd9Sstevel@tonic-gate /* Define if you have the getpwnam function.  */
2177c478bd9Sstevel@tonic-gate #define HAVE_GETPWNAM 1
2187c478bd9Sstevel@tonic-gate 
2197c478bd9Sstevel@tonic-gate /* Define if you have the getspnam function.  */
2207c478bd9Sstevel@tonic-gate #define HAVE_GETSPNAM 1
2217c478bd9Sstevel@tonic-gate 
2227c478bd9Sstevel@tonic-gate /* Define if you have the gettimeofday function.  */
2237c478bd9Sstevel@tonic-gate #define HAVE_GETTIMEOFDAY 1
2247c478bd9Sstevel@tonic-gate 
2257c478bd9Sstevel@tonic-gate /* Define if you have the gsskrb5_register_acceptor_identity function.  */
2267c478bd9Sstevel@tonic-gate /* #undef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY */
2277c478bd9Sstevel@tonic-gate 
2287c478bd9Sstevel@tonic-gate /* Define if you have the jrand48 function.  */
2297c478bd9Sstevel@tonic-gate #define HAVE_JRAND48 1
2307c478bd9Sstevel@tonic-gate 
2317c478bd9Sstevel@tonic-gate /* Define if you have the krb_get_err_text function.  */
2327c478bd9Sstevel@tonic-gate /* #undef HAVE_KRB_GET_ERR_TEXT */
2337c478bd9Sstevel@tonic-gate 
2347c478bd9Sstevel@tonic-gate /* Define if you have the memcpy function.  */
2357c478bd9Sstevel@tonic-gate #define HAVE_MEMCPY 1
2367c478bd9Sstevel@tonic-gate 
2377c478bd9Sstevel@tonic-gate /* Define if you have the mkdir function.  */
2387c478bd9Sstevel@tonic-gate #define HAVE_MKDIR 1
2397c478bd9Sstevel@tonic-gate 
2407c478bd9Sstevel@tonic-gate /* Define if you have the select function.  */
2417c478bd9Sstevel@tonic-gate #define HAVE_SELECT 1
2427c478bd9Sstevel@tonic-gate 
2437c478bd9Sstevel@tonic-gate /* Define if you have the socket function.  */
2447c478bd9Sstevel@tonic-gate #define HAVE_SOCKET 1
2457c478bd9Sstevel@tonic-gate 
2467c478bd9Sstevel@tonic-gate /* Define if you have the strchr function.  */
2477c478bd9Sstevel@tonic-gate #define HAVE_STRCHR 1
2487c478bd9Sstevel@tonic-gate 
2497c478bd9Sstevel@tonic-gate /* Define if you have the strdup function.  */
2507c478bd9Sstevel@tonic-gate #define HAVE_STRDUP 1
2517c478bd9Sstevel@tonic-gate 
2527c478bd9Sstevel@tonic-gate /* Define if you have the strerror function.  */
2537c478bd9Sstevel@tonic-gate #define HAVE_STRERROR 1
2547c478bd9Sstevel@tonic-gate 
2557c478bd9Sstevel@tonic-gate /* Define if you have the strspn function.  */
2567c478bd9Sstevel@tonic-gate #define HAVE_STRSPN 1
2577c478bd9Sstevel@tonic-gate 
2587c478bd9Sstevel@tonic-gate /* Define if you have the strstr function.  */
2597c478bd9Sstevel@tonic-gate #define HAVE_STRSTR 1
2607c478bd9Sstevel@tonic-gate 
2617c478bd9Sstevel@tonic-gate /* Define if you have the strtol function.  */
2627c478bd9Sstevel@tonic-gate #define HAVE_STRTOL 1
2637c478bd9Sstevel@tonic-gate 
2647c478bd9Sstevel@tonic-gate /* Define if you have the syslog function.  */
2657c478bd9Sstevel@tonic-gate #define HAVE_SYSLOG 1
2667c478bd9Sstevel@tonic-gate 
2677c478bd9Sstevel@tonic-gate /* Define if you have the <dirent.h> header file.  */
2687c478bd9Sstevel@tonic-gate #define HAVE_DIRENT_H 1
2697c478bd9Sstevel@tonic-gate 
2707c478bd9Sstevel@tonic-gate /* Define if you have the <dlfcn.h> header file.  */
2717c478bd9Sstevel@tonic-gate #define HAVE_DLFCN_H 1
2727c478bd9Sstevel@tonic-gate 
2737c478bd9Sstevel@tonic-gate /* Define if you have the <fcntl.h> header file.  */
2747c478bd9Sstevel@tonic-gate #define HAVE_FCNTL_H 1
2757c478bd9Sstevel@tonic-gate 
2767c478bd9Sstevel@tonic-gate /* Define if you have the <inttypes.h> header file.  */
2777c478bd9Sstevel@tonic-gate #define HAVE_INTTYPES_H 1
2787c478bd9Sstevel@tonic-gate 
2797c478bd9Sstevel@tonic-gate /* Define if you have the <limits.h> header file.  */
2807c478bd9Sstevel@tonic-gate #define HAVE_LIMITS_H 1
2817c478bd9Sstevel@tonic-gate 
2827c478bd9Sstevel@tonic-gate /* Define if you have the <malloc.h> header file.  */
2837c478bd9Sstevel@tonic-gate #define HAVE_MALLOC_H 1
2847c478bd9Sstevel@tonic-gate 
2857c478bd9Sstevel@tonic-gate /* Define if you have the <ndir.h> header file.  */
2867c478bd9Sstevel@tonic-gate /* #undef HAVE_NDIR_H */
2877c478bd9Sstevel@tonic-gate 
2887c478bd9Sstevel@tonic-gate /* Define if you have the <paths.h> header file.  */
2897c478bd9Sstevel@tonic-gate /* #undef HAVE_PATHS_H */
2907c478bd9Sstevel@tonic-gate 
2917c478bd9Sstevel@tonic-gate /* Define if you have the <stdarg.h> header file.  */
2927c478bd9Sstevel@tonic-gate #define HAVE_STDARG_H 1
2937c478bd9Sstevel@tonic-gate 
2947c478bd9Sstevel@tonic-gate /* Define if you have the <strings.h> header file.  */
2957c478bd9Sstevel@tonic-gate #define HAVE_STRINGS_H 1
2967c478bd9Sstevel@tonic-gate 
2977c478bd9Sstevel@tonic-gate /* Define if you have the <sys/dir.h> header file.  */
2987c478bd9Sstevel@tonic-gate /* #undef HAVE_SYS_DIR_H */
2997c478bd9Sstevel@tonic-gate 
3007c478bd9Sstevel@tonic-gate /* Define if you have the <sys/file.h> header file.  */
3017c478bd9Sstevel@tonic-gate #define HAVE_SYS_FILE_H 1
3027c478bd9Sstevel@tonic-gate 
3037c478bd9Sstevel@tonic-gate /* Define if you have the <sys/ndir.h> header file.  */
3047c478bd9Sstevel@tonic-gate /* #undef HAVE_SYS_NDIR_H */
3057c478bd9Sstevel@tonic-gate 
3067c478bd9Sstevel@tonic-gate /* Define if you have the <sys/param.h> header file.  */
3077c478bd9Sstevel@tonic-gate #define HAVE_SYS_PARAM_H 1
3087c478bd9Sstevel@tonic-gate 
3097c478bd9Sstevel@tonic-gate /* Define if you have the <sys/time.h> header file.  */
3107c478bd9Sstevel@tonic-gate #define HAVE_SYS_TIME_H 1
3117c478bd9Sstevel@tonic-gate 
3127c478bd9Sstevel@tonic-gate /* Define if you have the <sys/uio.h> header file.  */
3137c478bd9Sstevel@tonic-gate #define HAVE_SYS_UIO_H 1
3147c478bd9Sstevel@tonic-gate 
3157c478bd9Sstevel@tonic-gate /* Define if you have the <sysexits.h> header file.  */
3167c478bd9Sstevel@tonic-gate #define HAVE_SYSEXITS_H 1
3177c478bd9Sstevel@tonic-gate 
3187c478bd9Sstevel@tonic-gate /* Define if you have the <syslog.h> header file.  */
3197c478bd9Sstevel@tonic-gate #define HAVE_SYSLOG_H 1
3207c478bd9Sstevel@tonic-gate 
3217c478bd9Sstevel@tonic-gate /* Define if you have the <unistd.h> header file.  */
3227c478bd9Sstevel@tonic-gate #define HAVE_UNISTD_H 1
3237c478bd9Sstevel@tonic-gate 
3247c478bd9Sstevel@tonic-gate /* Define if you have the <varargs.h> header file.  */
3257c478bd9Sstevel@tonic-gate #define HAVE_VARARGS_H 1
3267c478bd9Sstevel@tonic-gate 
3277c478bd9Sstevel@tonic-gate /* Define if you have the db library (-ldb).  */
3287c478bd9Sstevel@tonic-gate /* #undef HAVE_LIBDB */
3297c478bd9Sstevel@tonic-gate 
3307c478bd9Sstevel@tonic-gate /* Define if you have the resolv library (-lresolv).  */
3317c478bd9Sstevel@tonic-gate #define HAVE_LIBRESOLV 1
3327c478bd9Sstevel@tonic-gate 
3337c478bd9Sstevel@tonic-gate /* Name of package */
3347c478bd9Sstevel@tonic-gate /* #define PACKAGE "cyrus-sasl" */
3357c478bd9Sstevel@tonic-gate 
3367c478bd9Sstevel@tonic-gate /* Version number of package */
3377c478bd9Sstevel@tonic-gate /* #undef VERSION */
3387c478bd9Sstevel@tonic-gate 
3397c478bd9Sstevel@tonic-gate /* define if your compiler has __attribute__ */
3407c478bd9Sstevel@tonic-gate /* #undef HAVE___ATTRIBUTE__ */
3417c478bd9Sstevel@tonic-gate 
3427c478bd9Sstevel@tonic-gate /* Define if you have the gssapi.h header file */
3437c478bd9Sstevel@tonic-gate /* #undef HAVE_GSSAPI_H */
3447c478bd9Sstevel@tonic-gate 
3457c478bd9Sstevel@tonic-gate /* Define if your GSSAPI implimentation defines GSS_C_NT_HOSTBASED_SERVICE */
346*1da57d55SToomas Soome #define HAVE_GSS_C_NT_HOSTBASED_SERVICE
3477c478bd9Sstevel@tonic-gate 
3487c478bd9Sstevel@tonic-gate 
3497c478bd9Sstevel@tonic-gate /* Create a struct iovec if we need one */
3507c478bd9Sstevel@tonic-gate #if !defined(_WIN32) && !defined(HAVE_SYS_UIO_H)
3517c478bd9Sstevel@tonic-gate /* (win32 is handled in sasl.h) */
3527c478bd9Sstevel@tonic-gate struct iovec {
3537c478bd9Sstevel@tonic-gate     char *iov_base;
3547c478bd9Sstevel@tonic-gate     long iov_len;
3557c478bd9Sstevel@tonic-gate };
3567c478bd9Sstevel@tonic-gate #else
3577c478bd9Sstevel@tonic-gate #include <sys/uio.h>
3587c478bd9Sstevel@tonic-gate #endif
3597c478bd9Sstevel@tonic-gate 
3607c478bd9Sstevel@tonic-gate /* location of the random number generator */
3617c478bd9Sstevel@tonic-gate #ifndef DEV_RANDOM
3627c478bd9Sstevel@tonic-gate #define DEV_RANDOM "/dev/urandom"
3637c478bd9Sstevel@tonic-gate #endif
3647c478bd9Sstevel@tonic-gate #define _DEV_URANDOM "/dev/urandom"
3657c478bd9Sstevel@tonic-gate 
3667c478bd9Sstevel@tonic-gate /* if we've got krb_get_err_txt, we might as well use it;
3677c478bd9Sstevel@tonic-gate    especially since krb_err_txt isn't in some newer distributions
3687c478bd9Sstevel@tonic-gate    (MIT Kerb for Mac 4 being a notable example). If we don't have
3697c478bd9Sstevel@tonic-gate    it, we fall back to the krb_err_txt array */
3707c478bd9Sstevel@tonic-gate #ifdef HAVE_KRB_GET_ERR_TEXT
3717c478bd9Sstevel@tonic-gate #define get_krb_err_txt krb_get_err_text
3727c478bd9Sstevel@tonic-gate #else
3737c478bd9Sstevel@tonic-gate #define get_krb_err_txt(X) (krb_err_txt[(X)])
3747c478bd9Sstevel@tonic-gate #endif
3757c478bd9Sstevel@tonic-gate 
3767c478bd9Sstevel@tonic-gate /* Make Solaris happy... */
3777c478bd9Sstevel@tonic-gate #ifndef __EXTENSIONS__
3787c478bd9Sstevel@tonic-gate #define __EXTENSIONS__
3797c478bd9Sstevel@tonic-gate #endif
3807c478bd9Sstevel@tonic-gate 
3817c478bd9Sstevel@tonic-gate /* Make Linux happy... */
3827c478bd9Sstevel@tonic-gate #ifndef _GNU_SOURCE
3837c478bd9Sstevel@tonic-gate #define _GNU_SOURCE
3847c478bd9Sstevel@tonic-gate #endif
3857c478bd9Sstevel@tonic-gate 
3867c478bd9Sstevel@tonic-gate #ifndef HAVE___ATTRIBUTE__
3877c478bd9Sstevel@tonic-gate /* Can't use attributes... */
3887c478bd9Sstevel@tonic-gate #define __attribute__(foo)
3897c478bd9Sstevel@tonic-gate #endif
3907c478bd9Sstevel@tonic-gate 
3917c478bd9Sstevel@tonic-gate #define SASL_PATH_ENV_VAR "SASL_PATH"
3927c478bd9Sstevel@tonic-gate 
3937c478bd9Sstevel@tonic-gate #include <stdlib.h>
3947c478bd9Sstevel@tonic-gate #include <sys/socket.h>
3957c478bd9Sstevel@tonic-gate #ifndef WIN32
3967c478bd9Sstevel@tonic-gate # include <netdb.h>
3977c478bd9Sstevel@tonic-gate # ifdef HAVE_SYS_PARAM_H
3987c478bd9Sstevel@tonic-gate #  include <sys/param.h>
3997c478bd9Sstevel@tonic-gate # endif
4007c478bd9Sstevel@tonic-gate #else /* WIN32 */
4017c478bd9Sstevel@tonic-gate # include <winsock.h>
4027c478bd9Sstevel@tonic-gate #endif /* WIN32 */
4037c478bd9Sstevel@tonic-gate 
4047c478bd9Sstevel@tonic-gate #include <string.h>
4057c478bd9Sstevel@tonic-gate 
4067c478bd9Sstevel@tonic-gate #include <netinet/in.h>
4077c478bd9Sstevel@tonic-gate 
4087c478bd9Sstevel@tonic-gate #ifndef HAVE_STRUCT_SOCKADDR_STORAGE
4097c478bd9Sstevel@tonic-gate #define	_SS_MAXSIZE	128	/* Implementation specific max size */
4107c478bd9Sstevel@tonic-gate #define	_SS_PADSIZE	(_SS_MAXSIZE - sizeof (struct sockaddr))
4117c478bd9Sstevel@tonic-gate 
4127c478bd9Sstevel@tonic-gate struct sockaddr_storage {
4137c478bd9Sstevel@tonic-gate 	struct	sockaddr ss_sa;
4147c478bd9Sstevel@tonic-gate 	char		__ss_pad2[_SS_PADSIZE];
4157c478bd9Sstevel@tonic-gate };
4167c478bd9Sstevel@tonic-gate # define ss_family ss_sa.sa_family
4177c478bd9Sstevel@tonic-gate #endif /* !HAVE_STRUCT_SOCKADDR_STORAGE */
4187c478bd9Sstevel@tonic-gate 
4197c478bd9Sstevel@tonic-gate #ifndef AF_INET6
4207c478bd9Sstevel@tonic-gate /* Define it to something that should never appear */
4217c478bd9Sstevel@tonic-gate #define	AF_INET6	AF_MAX
4227c478bd9Sstevel@tonic-gate #endif
4237c478bd9Sstevel@tonic-gate 
4247c478bd9Sstevel@tonic-gate #ifndef HAVE_GETADDRINFO
4257c478bd9Sstevel@tonic-gate #define	getaddrinfo	sasl_getaddrinfo
4267c478bd9Sstevel@tonic-gate #define	freeaddrinfo	sasl_freeaddrinfo
4277c478bd9Sstevel@tonic-gate #define	getnameinfo	sasl_getnameinfo
4287c478bd9Sstevel@tonic-gate #define	gai_strerror	sasl_gai_strerror
4297c478bd9Sstevel@tonic-gate #include "gai.h"
4307c478bd9Sstevel@tonic-gate #endif
4317c478bd9Sstevel@tonic-gate 
4327c478bd9Sstevel@tonic-gate /* Defined in RFC 1035. max strlen is only 253 due to length bytes. */
4337c478bd9Sstevel@tonic-gate #ifndef MAXHOSTNAMELEN
4347c478bd9Sstevel@tonic-gate #define        MAXHOSTNAMELEN  255
4357c478bd9Sstevel@tonic-gate #endif
4367c478bd9Sstevel@tonic-gate 
4377c478bd9Sstevel@tonic-gate #ifndef HAVE_SYSEXITS_H
4387c478bd9Sstevel@tonic-gate #include "exits.h"
4397c478bd9Sstevel@tonic-gate #else
4407c478bd9Sstevel@tonic-gate #include "sysexits.h"
4417c478bd9Sstevel@tonic-gate #endif
4427c478bd9Sstevel@tonic-gate 
4437c478bd9Sstevel@tonic-gate #ifndef	NI_WITHSCOPEID
4447c478bd9Sstevel@tonic-gate #define	NI_WITHSCOPEID	0
4457c478bd9Sstevel@tonic-gate #endif
4467c478bd9Sstevel@tonic-gate 
4477c478bd9Sstevel@tonic-gate /* Get the correct time.h */
4487c478bd9Sstevel@tonic-gate #if TIME_WITH_SYS_TIME
4497c478bd9Sstevel@tonic-gate # include <sys/time.h>
4507c478bd9Sstevel@tonic-gate # include <time.h>
4517c478bd9Sstevel@tonic-gate #else
4527c478bd9Sstevel@tonic-gate # if HAVE_SYS_TIME_H
4537c478bd9Sstevel@tonic-gate #  include <sys/time.h>
4547c478bd9Sstevel@tonic-gate # else
4557c478bd9Sstevel@tonic-gate #  include <time.h>
4567c478bd9Sstevel@tonic-gate # endif
4577c478bd9Sstevel@tonic-gate #endif
4587c478bd9Sstevel@tonic-gate 
4597c478bd9Sstevel@tonic-gate #include <libintl.h>
4607c478bd9Sstevel@tonic-gate /*
4617c478bd9Sstevel@tonic-gate  * We use gettext() so that xgettext will build msg database. libsasl and
4627c478bd9Sstevel@tonic-gate  * plugins will actually use dgettext in the appropriate subroutine -
4637c478bd9Sstevel@tonic-gate  * depending on SASL_CB_LANGUAGE or the specified language.
4647c478bd9Sstevel@tonic-gate  */
4657c478bd9Sstevel@tonic-gate #define gettext(x) (x)
4667c478bd9Sstevel@tonic-gate 
4677c478bd9Sstevel@tonic-gate #define USE_PTHREADS 1
4687c478bd9Sstevel@tonic-gate #include <pthread.h>
4697c478bd9Sstevel@tonic-gate #define	DEFINE_STATIC_MUTEX(x) \
4707c478bd9Sstevel@tonic-gate 	static pthread_mutex_t x = PTHREAD_MUTEX_INITIALIZER
4717c478bd9Sstevel@tonic-gate 
4727c478bd9Sstevel@tonic-gate #define	LOCK_MUTEX(x)	pthread_mutex_lock(x)
4737c478bd9Sstevel@tonic-gate #define	UNLOCK_MUTEX(x)	pthread_mutex_unlock(x)
4747c478bd9Sstevel@tonic-gate 
4757c478bd9Sstevel@tonic-gate #define	DO_DLOPEN 1
4767c478bd9Sstevel@tonic-gate #define	TRY_DLOPEN_WHEN_STATIC 1
4777c478bd9Sstevel@tonic-gate #define	HAVE_DLFCN_H 1
4787c478bd9Sstevel@tonic-gate 
4797c478bd9Sstevel@tonic-gate /* HAVE_GSS_C_NT_USER_NAME is not needed for Solaris 10 since libgss has been
4807c478bd9Sstevel@tonic-gate  * updated.
481*1da57d55SToomas Soome  */
4827c478bd9Sstevel@tonic-gate #undef HAVE_GSS_C_NT_USER_NAME
4837c478bd9Sstevel@tonic-gate 
4847c478bd9Sstevel@tonic-gate #define	HAVE_RPC_GSS_MECH_TO_OID 1
4857c478bd9Sstevel@tonic-gate 
4867c478bd9Sstevel@tonic-gate #define	_SUN_SDK_ 1
4877c478bd9Sstevel@tonic-gate 
4887c478bd9Sstevel@tonic-gate #define _INTEGRATED_SOLARIS_ 1
4897c478bd9Sstevel@tonic-gate #define _HAVE_LIB_MD5 1
4907c478bd9Sstevel@tonic-gate 
4917c478bd9Sstevel@tonic-gate #include "md5global.h"
4927c478bd9Sstevel@tonic-gate #include "md5_private.h"
4937c478bd9Sstevel@tonic-gate 
4947c478bd9Sstevel@tonic-gate #endif /* CONFIG_H */
495