config-linux.h 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782
  1. /* config.h. Generated from config.h.in by configure. */
  2. /* config.h.in. Generated from configure.ac by autoheader. */
  3. /* acconfig.h - autoheader configuration input */
  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. #ifndef CONFIG_H
  44. #define CONFIG_H
  45. /* Include SASLdb Support */
  46. /* #undef AUTH_SASLDB */
  47. /* Do we need a leading _ for dlsym? */
  48. /* #undef DLSYM_NEEDS_UNDERSCORE */
  49. /* Should we build a shared plugin (via dlopen) library? */
  50. /* #undef DO_DLOPEN */
  51. /* should we support sasl_checkapop? */
  52. #define DO_SASL_CHECKAPOP /**/
  53. /* should we support setpass() for SRP? */
  54. /* #undef DO_SRP_SETPASS */
  55. /* Define if your getpwnam_r()/getspnam_r() functions take 5 arguments */
  56. #define GETXXNAM_R_5ARG 1
  57. /* should we mutex-wrap calls into the GSS library? */
  58. /* #undef GSS_USE_MUTEXES */
  59. /* Enable 'alwaystrue' password verifier? */
  60. /* #undef HAVE_ALWAYSTRUE */
  61. /* Define to 1 if you have the `asprintf' function. */
  62. #define HAVE_ASPRINTF 1
  63. /* Include support for Courier's authdaemond? */
  64. #define HAVE_AUTHDAEMON /**/
  65. /* Define to 1 if you have the <crypt.h> header file. */
  66. #define HAVE_CRYPT_H 1
  67. /* Define to 1 if you have the <des.h> header file. */
  68. /* #undef HAVE_DES_H */
  69. /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
  70. */
  71. #define HAVE_DIRENT_H 1
  72. /* Define to 1 if you have the <dlfcn.h> header file. */
  73. #define HAVE_DLFCN_H 1
  74. /* Define to 1 if you have the `dns_lookup' function. */
  75. /* #undef HAVE_DNS_LOOKUP */
  76. /* Define to 1 if you have the `dn_expand' function. */
  77. #define HAVE_DN_EXPAND 1
  78. /* Define to 1 if you have the <fcntl.h> header file. */
  79. #define HAVE_FCNTL_H 1
  80. /* Do we have a getaddrinfo? */
  81. #define HAVE_GETADDRINFO /**/
  82. /* Define to 1 if you have the `getdomainname' function. */
  83. #define HAVE_GETDOMAINNAME 1
  84. /* Define to 1 if you have the `gethostname' function. */
  85. #define HAVE_GETHOSTNAME 1
  86. /* Do we have a getnameinfo() function? */
  87. #define HAVE_GETNAMEINFO /**/
  88. /* Define to 1 if you have the `getpassphrase' function. */
  89. /* #undef HAVE_GETPASSPHRASE */
  90. /* Define to 1 if you have the `getpwnam' function. */
  91. #define HAVE_GETPWNAM 1
  92. /* Define to 1 if you have the `getspnam' function. */
  93. #define HAVE_GETSPNAM 1
  94. /* do we have getsubopt()? */
  95. #define HAVE_GETSUBOPT /**/
  96. /* Define to 1 if you have the `gettimeofday' function. */
  97. #define HAVE_GETTIMEOFDAY 1
  98. /* Include GSSAPI/Kerberos 5 Support */
  99. /* #undef HAVE_GSSAPI */
  100. /* Define to 1 if you have the <gssapi/gssapi_ext.h> header file. */
  101. /* #undef HAVE_GSSAPI_GSSAPI_EXT_H */
  102. /* Define if you have the gssapi/gssapi.h header file */
  103. /* #undef HAVE_GSSAPI_GSSAPI_H */
  104. /* Define to 1 if you have the <gssapi/gssapi_krb5.h> header file. */
  105. /* #undef HAVE_GSSAPI_GSSAPI_KRB5_H */
  106. /* Define if you have the gssapi.h header file */
  107. /* #undef HAVE_GSSAPI_H */
  108. /* Define if your GSSAPI implementation defines
  109. gsskrb5_register_acceptor_identity */
  110. /* #undef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY */
  111. /* Define if your GSSAPI implementation defines GSS_C_NT_HOSTBASED_SERVICE */
  112. /* #undef HAVE_GSS_C_NT_HOSTBASED_SERVICE */
  113. /* Define if your GSSAPI implementation defines GSS_C_NT_USER_NAME */
  114. /* #undef HAVE_GSS_C_NT_USER_NAME */
  115. /* Define if your GSSAPI implementation defines GSS_C_SEC_CONTEXT_SASL_SSF */
  116. /* #undef HAVE_GSS_C_SEC_CONTEXT_SASL_SSF */
  117. /* Define to 1 if you have the `gss_decapsulate_token' function. */
  118. /* #undef HAVE_GSS_DECAPSULATE_TOKEN */
  119. /* Define to 1 if you have the `gss_encapsulate_token' function. */
  120. /* #undef HAVE_GSS_ENCAPSULATE_TOKEN */
  121. /* Define to 1 if you have the `gss_get_name_attribute' function. */
  122. /* #undef HAVE_GSS_GET_NAME_ATTRIBUTE */
  123. /* Define if your GSSAPI implementation defines gss_inquire_sec_context_by_oid
  124. */
  125. /* #undef HAVE_GSS_INQUIRE_SEC_CONTEXT_BY_OID */
  126. /* Define to 1 if you have the `gss_oid_equal' function. */
  127. /* #undef HAVE_GSS_OID_EQUAL */
  128. /* Define if your GSSAPI implementation supports SPNEGO */
  129. /* #undef HAVE_GSS_SPNEGO */
  130. /* Include HTTP form Support */
  131. /* #undef HAVE_HTTPFORM */
  132. /* Define to 1 if you have the `inet_aton' function. */
  133. #define HAVE_INET_ATON 1
  134. /* Define to 1 if you have the <inttypes.h> header file. */
  135. #define HAVE_INTTYPES_H 1
  136. /* Define to 1 if you have the `jrand48' function. */
  137. #define HAVE_JRAND48 1
  138. /* Do we have Kerberos 4 Support? */
  139. /* #undef HAVE_KRB */
  140. /* Define to 1 if you have the <krb5.h> header file. */
  141. /* #undef HAVE_KRB5_H */
  142. /* Define to 1 if you have the `krb_get_err_text' function. */
  143. /* #undef HAVE_KRB_GET_ERR_TEXT */
  144. /* Define to 1 if you have the <lber.h> header file. */
  145. /* #undef HAVE_LBER_H */
  146. /* Support for LDAP? */
  147. /* #undef HAVE_LDAP */
  148. /* Define to 1 if you have the <ldap.h> header file. */
  149. /* #undef HAVE_LDAP_H */
  150. /* Define to 1 if you have the `resolv' library (-lresolv). */
  151. #define HAVE_LIBRESOLV 1
  152. /* Define to 1 if you have the <limits.h> header file. */
  153. #define HAVE_LIMITS_H 1
  154. /* Define to 1 if you have the <malloc.h> header file. */
  155. #define HAVE_MALLOC_H 1
  156. /* Define to 1 if you have the `memcpy' function. */
  157. #define HAVE_MEMCPY 1
  158. /* Define to 1 if you have the `memmem' function. */
  159. #define HAVE_MEMMEM 1
  160. /* Define to 1 if you have the <minix/config.h> header file. */
  161. /* #undef HAVE_MINIX_CONFIG_H */
  162. /* Define to 1 if you have the `mkdir' function. */
  163. #define HAVE_MKDIR 1
  164. /* Do we have mysql support? */
  165. /* #undef HAVE_MYSQL */
  166. /* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
  167. /* #undef HAVE_NDIR_H */
  168. /* Do we have OpenSSL? */
  169. #define HAVE_OPENSSL /**/
  170. /* Use OPIE for server-side OTP? */
  171. /* #undef HAVE_OPIE */
  172. /* Support for PAM? */
  173. #define HAVE_PAM /**/
  174. /* Define to 1 if you have the <paths.h> header file. */
  175. #define HAVE_PATHS_H 1
  176. /* Do we have Postgres support? */
  177. /* #undef HAVE_PGSQL */
  178. /* Include Support for pwcheck daemon? */
  179. /* #undef HAVE_PWCHECK */
  180. /* Include support for saslauthd? */
  181. #define HAVE_SASLAUTHD /**/
  182. /* Define to 1 if you have the `select' function. */
  183. #define HAVE_SELECT 1
  184. /* Do we have SHA512? */
  185. #define HAVE_SHA512 /**/
  186. /* Include SIA Support */
  187. /* #undef HAVE_SIA */
  188. /* Does the system have snprintf()? */
  189. #define HAVE_SNPRINTF /**/
  190. /* Does sockaddr have an sa_len? */
  191. /* #undef HAVE_SOCKADDR_SA_LEN */
  192. /* Define to 1 if you have the `socket' function. */
  193. #define HAVE_SOCKET 1
  194. /* Do we have a socklen_t? */
  195. #define HAVE_SOCKLEN_T /**/
  196. /* Do we have SQLite support? */
  197. /* #undef HAVE_SQLITE */
  198. /* Do we have SQLite3 support? */
  199. /* #undef HAVE_SQLITE3 */
  200. /* Is there an ss_family in sockaddr_storage? */
  201. #define HAVE_SS_FAMILY /**/
  202. /* Define to 1 if you have the <stdarg.h> header file. */
  203. #define HAVE_STDARG_H 1
  204. /* Define to 1 if you have the <stdint.h> header file. */
  205. #define HAVE_STDINT_H 1
  206. /* Define to 1 if you have the <stdio.h> header file. */
  207. #define HAVE_STDIO_H 1
  208. /* Define to 1 if you have the <stdlib.h> header file. */
  209. #define HAVE_STDLIB_H 1
  210. /* Define to 1 if you have the `strchr' function. */
  211. #define HAVE_STRCHR 1
  212. /* Define to 1 if you have the `strdup' function. */
  213. #define HAVE_STRDUP 1
  214. /* Define to 1 if you have the `strerror' function. */
  215. #define HAVE_STRERROR 1
  216. /* Define to 1 if you have the <strings.h> header file. */
  217. #define HAVE_STRINGS_H 1
  218. /* Define to 1 if you have the <string.h> header file. */
  219. #define HAVE_STRING_H 1
  220. /* Define to 1 if you have the `strlcat' function. */
  221. /* #undef HAVE_STRLCAT */
  222. /* Define to 1 if you have the `strlcpy' function. */
  223. /* #undef HAVE_STRLCPY */
  224. /* Define to 1 if you have the `strspn' function. */
  225. #define HAVE_STRSPN 1
  226. /* Define to 1 if you have the `strstr' function. */
  227. #define HAVE_STRSTR 1
  228. /* Define to 1 if you have the `strtol' function. */
  229. #define HAVE_STRTOL 1
  230. /* Do we have struct sockaddr_stroage? */
  231. #define HAVE_STRUCT_SOCKADDR_STORAGE /**/
  232. /* Define to 1 if you have the <sysexits.h> header file. */
  233. #define HAVE_SYSEXITS_H 1
  234. /* Define to 1 if you have the `syslog' function. */
  235. #define HAVE_SYSLOG 1
  236. /* Define to 1 if you have the <syslog.h> header file. */
  237. #define HAVE_SYSLOG_H 1
  238. /* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
  239. */
  240. /* #undef HAVE_SYS_DIR_H */
  241. /* Define to 1 if you have the <sys/file.h> header file. */
  242. #define HAVE_SYS_FILE_H 1
  243. /* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
  244. */
  245. /* #undef HAVE_SYS_NDIR_H */
  246. /* Define to 1 if you have the <sys/param.h> header file. */
  247. #define HAVE_SYS_PARAM_H 1
  248. /* Define to 1 if you have the <sys/socket.h> header file. */
  249. #define HAVE_SYS_SOCKET_H 1
  250. /* Define to 1 if you have the <sys/stat.h> header file. */
  251. #define HAVE_SYS_STAT_H 1
  252. /* Define to 1 if you have the <sys/time.h> header file. */
  253. #define HAVE_SYS_TIME_H 1
  254. /* Define to 1 if you have the <sys/types.h> header file. */
  255. #define HAVE_SYS_TYPES_H 1
  256. /* Define to 1 if you have the <sys/uio.h> header file. */
  257. #define HAVE_SYS_UIO_H 1
  258. /* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
  259. #define HAVE_SYS_WAIT_H 1
  260. /* Define to 1 if you have the <unistd.h> header file. */
  261. #define HAVE_UNISTD_H 1
  262. /* Define to 1 if you have the <varargs.h> header file. */
  263. /* #undef HAVE_VARARGS_H */
  264. /* Does the system have vsnprintf()? */
  265. #define HAVE_VSNPRINTF /**/
  266. /* Define to 1 if you have the <wchar.h> header file. */
  267. #define HAVE_WCHAR_H 1
  268. /* Define to 1 if you have the <ws2tcpip.h> header file. */
  269. /* #undef HAVE_WS2TCPIP_H */
  270. /* Should we keep handle to DB open in SASLDB plugin? */
  271. /* #undef KEEP_DB_OPEN */
  272. /* Ignore IP Address in Kerberos 4 tickets? */
  273. /* #undef KRB4_IGNORE_IP_ADDRESS */
  274. /* Using Heimdal */
  275. /* #undef KRB5_HEIMDAL */
  276. /* Define to the sub-directory where libtool stores uninstalled libraries. */
  277. #define LT_OBJDIR ".libs/"
  278. /* Name of package */
  279. #define PACKAGE "cyrus-sasl"
  280. /* Define to the address where bug reports for this package should be sent. */
  281. #define PACKAGE_BUGREPORT "https://github.com/cyrusimap/cyrus-sasl/issues"
  282. /* Define to the full name of this package. */
  283. #define PACKAGE_NAME "cyrus-sasl"
  284. /* Define to the full name and version of this package. */
  285. #define PACKAGE_STRING "cyrus-sasl 2.1.28"
  286. /* Define to the one symbol short name of this package. */
  287. #define PACKAGE_TARNAME "cyrus-sasl"
  288. /* Define to the home page for this package. */
  289. #define PACKAGE_URL "https://www.cyrusimap.org"
  290. /* Define to the version of this package. */
  291. #define PACKAGE_VERSION "2.1.28"
  292. /* Where do we look for Courier authdaemond's socket? */
  293. #define PATH_AUTHDAEMON_SOCKET "/dev/null"
  294. /* Where do we look for saslauthd's socket? */
  295. #define PATH_SASLAUTHD_RUNDIR "/run/saslauthd"
  296. /* Force a preferred mechanism */
  297. /* #undef PREFER_MECH */
  298. /* Location of pwcheck socket */
  299. /* #undef PWCHECKDIR */
  300. /* Use BerkeleyDB for SASLdb */
  301. /* #undef SASL_BERKELEYDB */
  302. /* Path to default SASLdb database */
  303. #define SASL_DB_PATH "/etc/sasldb2"
  304. /* File to use for source of randomness */
  305. #define SASL_DEV_RANDOM "/dev/urandom"
  306. /* Use GDBM for SASLdb */
  307. /* #undef SASL_GDBM */
  308. /* Use LMDB for SASLdb */
  309. /* #undef SASL_LMDB */
  310. /* Use NDBM for SASLdb */
  311. /* #undef SASL_NDBM */
  312. /* The size of `long', as computed by sizeof. */
  313. #define SIZEOF_LONG 8
  314. /* Link ANONYMOUS Statically */
  315. #define STATIC_ANONYMOUS /**/
  316. /* Link CRAM-MD5 Statically */
  317. #define STATIC_CRAMMD5 /**/
  318. /* Link DIGEST-MD5 Statically */
  319. #define STATIC_DIGESTMD5 /**/
  320. /* Link GSSAPI Statically */
  321. /* #undef STATIC_GSSAPIV2 */
  322. /* User KERBEROS_V4 Staticly */
  323. /* #undef STATIC_KERBEROS4 */
  324. /* Link ldapdb plugin Statically */
  325. /* #undef STATIC_LDAPDB */
  326. /* Link LOGIN Statically */
  327. /* #undef STATIC_LOGIN */
  328. /* Link NTLM Statically */
  329. /* #undef STATIC_NTLM */
  330. /* Link OTP Statically */
  331. #define STATIC_OTP /**/
  332. /* Link PASSDSS Statically */
  333. /* #undef STATIC_PASSDSS */
  334. /* Link PLAIN Staticly */
  335. #define STATIC_PLAIN /**/
  336. /* Link SASLdb Staticly */
  337. #define STATIC_SASLDB /**/
  338. /* Link SCRAM Statically */
  339. #define STATIC_SCRAM /**/
  340. /* Link SQL plugin statically */
  341. /* #undef STATIC_SQL */
  342. /* Link SRP Statically */
  343. /* #undef STATIC_SRP */
  344. /* Define to 1 if all of the C90 standard headers exist (not just the ones
  345. required in a freestanding environment). This macro is provided for
  346. backward compatibility; new code need not use it. */
  347. #define STDC_HEADERS 1
  348. /* Should we try to dlopen() plugins while statically compiled? */
  349. /* #undef TRY_DLOPEN_WHEN_STATIC */
  350. /* use the doors IPC API for saslauthd? */
  351. /* #undef USE_DOORS */
  352. /* Enable extensions on AIX 3, Interix. */
  353. #ifndef _ALL_SOURCE
  354. # define _ALL_SOURCE 1
  355. #endif
  356. /* Enable general extensions on macOS. */
  357. #ifndef _DARWIN_C_SOURCE
  358. # define _DARWIN_C_SOURCE 1
  359. #endif
  360. /* Enable general extensions on Solaris. */
  361. #ifndef __EXTENSIONS__
  362. # define __EXTENSIONS__ 1
  363. #endif
  364. /* Enable GNU extensions on systems that have them. */
  365. #ifndef _GNU_SOURCE
  366. # define _GNU_SOURCE 1
  367. #endif
  368. /* Enable X/Open compliant socket functions that do not require linking
  369. with -lxnet on HP-UX 11.11. */
  370. #ifndef _HPUX_ALT_XOPEN_SOCKET_API
  371. # define _HPUX_ALT_XOPEN_SOCKET_API 1
  372. #endif
  373. /* Identify the host operating system as Minix.
  374. This macro does not affect the system headers' behavior.
  375. A future release of Autoconf may stop defining this macro. */
  376. #ifndef _MINIX
  377. /* # undef _MINIX */
  378. #endif
  379. /* Enable general extensions on NetBSD.
  380. Enable NetBSD compatibility extensions on Minix. */
  381. #ifndef _NETBSD_SOURCE
  382. # define _NETBSD_SOURCE 1
  383. #endif
  384. /* Enable OpenBSD compatibility extensions on NetBSD.
  385. Oddly enough, this does nothing on OpenBSD. */
  386. #ifndef _OPENBSD_SOURCE
  387. # define _OPENBSD_SOURCE 1
  388. #endif
  389. /* Define to 1 if needed for POSIX-compatible behavior. */
  390. #ifndef _POSIX_SOURCE
  391. /* # undef _POSIX_SOURCE */
  392. #endif
  393. /* Define to 2 if needed for POSIX-compatible behavior. */
  394. #ifndef _POSIX_1_SOURCE
  395. /* # undef _POSIX_1_SOURCE */
  396. #endif
  397. /* Enable POSIX-compatible threading on Solaris. */
  398. #ifndef _POSIX_PTHREAD_SEMANTICS
  399. # define _POSIX_PTHREAD_SEMANTICS 1
  400. #endif
  401. /* Enable extensions specified by ISO/IEC TS 18661-5:2014. */
  402. #ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
  403. # define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
  404. #endif
  405. /* Enable extensions specified by ISO/IEC TS 18661-1:2014. */
  406. #ifndef __STDC_WANT_IEC_60559_BFP_EXT__
  407. # define __STDC_WANT_IEC_60559_BFP_EXT__ 1
  408. #endif
  409. /* Enable extensions specified by ISO/IEC TS 18661-2:2015. */
  410. #ifndef __STDC_WANT_IEC_60559_DFP_EXT__
  411. # define __STDC_WANT_IEC_60559_DFP_EXT__ 1
  412. #endif
  413. /* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
  414. #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
  415. # define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1
  416. #endif
  417. /* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
  418. #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
  419. # define __STDC_WANT_IEC_60559_TYPES_EXT__ 1
  420. #endif
  421. /* Enable extensions specified by ISO/IEC TR 24731-2:2010. */
  422. #ifndef __STDC_WANT_LIB_EXT2__
  423. # define __STDC_WANT_LIB_EXT2__ 1
  424. #endif
  425. /* Enable extensions specified by ISO/IEC 24747:2009. */
  426. #ifndef __STDC_WANT_MATH_SPEC_FUNCS__
  427. # define __STDC_WANT_MATH_SPEC_FUNCS__ 1
  428. #endif
  429. /* Enable extensions on HP NonStop. */
  430. #ifndef _TANDEM_SOURCE
  431. # define _TANDEM_SOURCE 1
  432. #endif
  433. /* Enable X/Open extensions. Define to 500 only if necessary
  434. to make mbstate_t available. */
  435. #ifndef _XOPEN_SOURCE
  436. /* # undef _XOPEN_SOURCE */
  437. #endif
  438. /* Version number of package */
  439. #define VERSION "2.1.28"
  440. /* Use DES */
  441. #define WITH_DES /**/
  442. /* Linking against dmalloc? */
  443. /* #undef WITH_DMALLOC */
  444. /* Use RC4 */
  445. #define WITH_RC4 /**/
  446. /* Use OpenSSL DES Implementation */
  447. #define WITH_SSL_DES /**/
  448. /* Define to empty if `const' does not conform to ANSI C. */
  449. /* #undef const */
  450. /* Define to `__inline__' or `__inline' if that's what the C compiler
  451. calls it, or to nothing if 'inline' is not supported under any name. */
  452. #ifndef __cplusplus
  453. /* #undef inline */
  454. #endif
  455. /* Define to `int' if <sys/types.h> does not define. */
  456. /* #undef mode_t */
  457. /* Define as a signed integer type capable of holding a process identifier. */
  458. /* #undef pid_t */
  459. #define RETSIGTYPE void
  460. /* Create a struct iovec if we need one */
  461. #if !defined(_WIN32)
  462. #if !defined(HAVE_SYS_UIO_H)
  463. /* (win32 is handled in sasl.h) */
  464. struct iovec {
  465. char *iov_base;
  466. long iov_len;
  467. };
  468. #else
  469. #include <sys/types.h>
  470. #include <sys/uio.h>
  471. #endif
  472. #endif
  473. /* location of the random number generator */
  474. #ifdef DEV_RANDOM
  475. /* #undef DEV_RANDOM */
  476. #endif
  477. #define DEV_RANDOM SASL_DEV_RANDOM
  478. /* if we've got krb_get_err_txt, we might as well use it;
  479. especially since krb_err_txt isn't in some newer distributions
  480. (MIT Kerb for Mac 4 being a notable example). If we don't have
  481. it, we fall back to the krb_err_txt array */
  482. #ifdef HAVE_KRB_GET_ERR_TEXT
  483. #define get_krb_err_txt krb_get_err_text
  484. #else
  485. #define get_krb_err_txt(X) (krb_err_txt[(X)])
  486. #endif
  487. /* Make Solaris happy... */
  488. #ifndef __EXTENSIONS__
  489. #define __EXTENSIONS__ 1
  490. #endif
  491. /* Make Linux happy... */
  492. #ifndef _GNU_SOURCE
  493. #define _GNU_SOURCE 1
  494. #endif
  495. #define SASL_PATH_ENV_VAR "SASL_PATH"
  496. #define SASL_CONF_PATH_ENV_VAR "SASL_CONF_PATH"
  497. #include <stdlib.h>
  498. #include <sys/types.h>
  499. #ifndef WIN32
  500. # include <sys/socket.h>
  501. # include <netdb.h>
  502. # include <netinet/in.h>
  503. # ifdef HAVE_SYS_PARAM_H
  504. # include <sys/param.h>
  505. # endif
  506. #else /* WIN32 */
  507. # include <winsock2.h>
  508. #endif /* WIN32 */
  509. #include <string.h>
  510. #ifndef HAVE_SOCKLEN_T
  511. typedef unsigned int socklen_t;
  512. #endif /* HAVE_SOCKLEN_T */
  513. #if !defined(HAVE_STRUCT_SOCKADDR_STORAGE) && !defined(WIN32)
  514. #define _SS_MAXSIZE 128 /* Implementation specific max size */
  515. #define _SS_PADSIZE (_SS_MAXSIZE - sizeof (struct sockaddr))
  516. struct sockaddr_storage {
  517. struct sockaddr ss_sa;
  518. char __ss_pad2[_SS_PADSIZE];
  519. };
  520. # define ss_family ss_sa.sa_family
  521. #endif /* !HAVE_STRUCT_SOCKADDR_STORAGE */
  522. #ifndef AF_INET6
  523. /* Define it to something that should never appear */
  524. #define AF_INET6 AF_MAX
  525. #endif
  526. #ifndef HAVE_GETADDRINFO
  527. #define getaddrinfo sasl_getaddrinfo
  528. #define freeaddrinfo sasl_freeaddrinfo
  529. #define gai_strerror sasl_gai_strerror
  530. #endif
  531. #ifndef HAVE_GETNAMEINFO
  532. #define getnameinfo sasl_getnameinfo
  533. #endif
  534. #if !defined(HAVE_GETNAMEINFO) || !defined(HAVE_GETADDRINFO)
  535. #include "gai.h"
  536. #endif
  537. #ifndef AI_NUMERICHOST /* support glibc 2.0.x */
  538. #define AI_NUMERICHOST 4
  539. #define NI_NUMERICHOST 2
  540. #define NI_NAMEREQD 4
  541. #define NI_NUMERICSERV 8
  542. #endif
  543. #ifndef HAVE_SYSEXITS_H
  544. #include "exits.h"
  545. #else
  546. #include "sysexits.h"
  547. #endif
  548. /* Get the correct time.h */
  549. #if TIME_WITH_SYS_TIME
  550. # include <sys/time.h>
  551. # include <time.h>
  552. #else
  553. # if HAVE_SYS_TIME_H
  554. # include <sys/time.h>
  555. # else
  556. # include <time.h>
  557. # endif
  558. #endif
  559. #ifndef HIER_DELIMITER
  560. #define HIER_DELIMITER '/'
  561. #endif
  562. #ifdef WIN32
  563. #define SASL_ROOT_KEY "SOFTWARE\\Carnegie Mellon\\Project Cyrus\\SASL Library"
  564. #define SASL_PLUGIN_PATH_ATTR "SearchPath"
  565. #define SASL_CONF_PATH_ATTR "ConfFile"
  566. #include <windows.h>
  567. inline static unsigned int sleep(unsigned int seconds) {
  568. Sleep(seconds * 1000);
  569. return 0;
  570. }
  571. #endif
  572. /* handy string manipulation functions */
  573. #ifndef HAVE_STRLCPY
  574. extern size_t saslauthd_strlcpy(char *dst, const char *src, size_t len);
  575. #define strlcpy(x,y,z) saslauthd_strlcpy((x),(y),(z))
  576. #endif
  577. #ifndef HAVE_STRLCAT
  578. extern size_t saslauthd_strlcat(char *dst, const char *src, size_t len);
  579. #define strlcat(x,y,z) saslauthd_strlcat((x),(y),(z))
  580. #endif
  581. #ifndef HAVE_ASPRINTF
  582. extern int asprintf(char **str, const char *fmt, ...);
  583. #endif
  584. #endif /* CONFIG_H */
  585. #if defined __GNUC__ && __GNUC__ > 6
  586. #define GCC_FALLTHROUGH __attribute__((fallthrough));
  587. #else
  588. #define GCC_FALLTHROUGH /* fall through */
  589. #endif