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