PageRenderTime 39ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 0ms

/include/polarssl/config.h

https://github.com/leg0/polarssl
C Header | 875 lines | 52 code | 68 blank | 755 comment | 1 complexity | f487796cc05f09326bfcb7d7da9c2d25 MD5 | raw file
Possible License(s): GPL-2.0
  1. /**
  2. * \file config.h
  3. *
  4. * \brief Configuration options (set of defines)
  5. *
  6. * Copyright (C) 2006-2012, Brainspark B.V.
  7. *
  8. * This file is part of PolarSSL (http://www.polarssl.org)
  9. * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
  10. *
  11. * All rights reserved.
  12. *
  13. * This program is free software; you can redistribute it and/or modify
  14. * it under the terms of the GNU General Public License as published by
  15. * the Free Software Foundation; either version 2 of the License, or
  16. * (at your option) any later version.
  17. *
  18. * This program is distributed in the hope that it will be useful,
  19. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  21. * GNU General Public License for more details.
  22. *
  23. * You should have received a copy of the GNU General Public License along
  24. * with this program; if not, write to the Free Software Foundation, Inc.,
  25. * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  26. *
  27. * This set of compile-time options may be used to enable
  28. * or disable features selectively, and reduce the global
  29. * memory footprint.
  30. */
  31. #ifndef POLARSSL_CONFIG_H
  32. #define POLARSSL_CONFIG_H
  33. #if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
  34. #define _CRT_SECURE_NO_DEPRECATE 1
  35. #endif
  36. /**
  37. * \name SECTION: System support
  38. *
  39. * This section sets system specific settings.
  40. * \{
  41. */
  42. /**
  43. * \def POLARSSL_HAVE_INT8
  44. *
  45. * The system uses 8-bit wide native integers.
  46. *
  47. * Uncomment if native integers are 8-bit wide.
  48. #define POLARSSL_HAVE_INT8
  49. */
  50. /**
  51. * \def POLARSSL_HAVE_INT16
  52. *
  53. * The system uses 16-bit wide native integers.
  54. *
  55. * Uncomment if native integers are 16-bit wide.
  56. #define POLARSSL_HAVE_INT16
  57. */
  58. /**
  59. * \def POLARSSL_HAVE_LONGLONG
  60. *
  61. * The compiler supports the 'long long' type.
  62. * (Only used on 32-bit platforms)
  63. */
  64. #define POLARSSL_HAVE_LONGLONG
  65. /**
  66. * \def POLARSSL_HAVE_ASM
  67. *
  68. * The compiler has support for asm()
  69. *
  70. * Uncomment to enable the use of assembly code.
  71. *
  72. * Requires support for asm() in compiler.
  73. *
  74. * Used in:
  75. * library/timing.c
  76. * library/padlock.c
  77. * include/polarssl/bn_mul.h
  78. *
  79. */
  80. #define POLARSSL_HAVE_ASM
  81. /**
  82. * \def POLARSSL_HAVE_SSE2
  83. *
  84. * CPU supports SSE2 instruction set.
  85. *
  86. * Uncomment if the CPU supports SSE2 (IA-32 specific).
  87. *
  88. #define POLARSSL_HAVE_SSE2
  89. */
  90. /* \} name */
  91. /**
  92. * \name SECTION: PolarSSL feature support
  93. *
  94. * This section sets support for features that are or are not needed
  95. * within the modules that are enabled.
  96. * \{
  97. */
  98. /**
  99. * \def POLARSSL_AES_ROM_TABLES
  100. *
  101. * Store the AES tables in ROM.
  102. *
  103. * Uncomment this macro to store the AES tables in ROM.
  104. *
  105. #define POLARSSL_AES_ROM_TABLES
  106. */
  107. /**
  108. * \def POLARSSL_CIPHER_MODE_CFB
  109. *
  110. * Enable Cipher Feedback mode (CFB) for symmetric ciphers.
  111. */
  112. #define POLARSSL_CIPHER_MODE_CFB
  113. /**
  114. * \def POLARSSL_CIPHER_MODE_CTR
  115. *
  116. * Enable Counter Block Cipher mode (CTR) for symmetric ciphers.
  117. */
  118. #define POLARSSL_CIPHER_MODE_CTR
  119. /**
  120. * \def POLARSSL_CIPHER_NULL_CIPHER
  121. *
  122. * Enable NULL cipher.
  123. * Warning: Only do so when you know what you are doing. This allows for
  124. * encryption or channels without any security!
  125. *
  126. * Requires POLARSSL_ENABLE_WEAK_CIPHERSUITES as well to enable
  127. * the following ciphersuites:
  128. * TLS_RSA_WITH_NULL_MD5
  129. * TLS_RSA_WITH_NULL_SHA
  130. * TLS_RSA_WITH_NULL_SHA256
  131. *
  132. * Uncomment this macro to enable the NULL cipher and ciphersuites
  133. #define POLARSSL_CIPHER_NULL_CIPHER
  134. */
  135. /**
  136. * \def POLARSSL_ENABLE_WEAK_CIPHERSUITES
  137. *
  138. * Enable weak ciphersuites in SSL / TLS
  139. * Warning: Only do so when you know what you are doing. This allows for
  140. * channels with virtually no security at all!
  141. *
  142. * This enables the following ciphersuites:
  143. * TLS_RSA_WITH_DES_CBC_SHA
  144. * TLS_DHE_RSA_WITH_DES_CBC_SHA
  145. *
  146. * Uncomment this macro to enable weak ciphersuites
  147. #define POLARSSL_ENABLE_WEAK_CIPHERSUITES
  148. */
  149. /**
  150. * \def POLARSSL_ERROR_STRERROR_DUMMY
  151. *
  152. * Enable a dummy error function to make use of error_strerror() in
  153. * third party libraries easier.
  154. *
  155. * Disable if you run into name conflicts and want to really remove the
  156. * error_strerror()
  157. */
  158. #define POLARSSL_ERROR_STRERROR_DUMMY
  159. /**
  160. * \def POLARSSL_GENPRIME
  161. *
  162. * Requires: POLARSSL_BIGNUM_C, POLARSSL_RSA_C
  163. *
  164. * Enable the RSA prime-number generation code.
  165. */
  166. #define POLARSSL_GENPRIME
  167. /**
  168. * \def POLARSSL_FS_IO
  169. *
  170. * Enable functions that use the filesystem.
  171. */
  172. #define POLARSSL_FS_IO
  173. /**
  174. * \def POLARSSL_NO_DEFAULT_ENTROPY_SOURCES
  175. *
  176. * Do not add default entropy sources. These are the platform specific,
  177. * hardclock and HAVEGE based poll functions.
  178. *
  179. * This is useful to have more control over the added entropy sources in an
  180. * application.
  181. *
  182. * Uncomment this macro to prevent loading of default entropy functions.
  183. #define POLARSSL_NO_DEFAULT_ENTROPY_SOURCES
  184. */
  185. /**
  186. * \def POLARSSL_NO_PLATFORM_ENTROPY
  187. *
  188. * Do not use built-in platform entropy functions.
  189. * This is useful if your platform does not support
  190. * standards like the /dev/urandom or Windows CryptoAPI.
  191. *
  192. * Uncomment this macro to disable the built-in platform entropy functions.
  193. #define POLARSSL_NO_PLATFORM_ENTROPY
  194. */
  195. /**
  196. * \def POLARSSL_PKCS1_V21
  197. *
  198. * Requires: POLARSSL_MD_C, POLARSSL_RSA_C
  199. *
  200. * Enable support for PKCS#1 v2.1 encoding.
  201. * This enables support for RSAES-OAEP and RSASSA-PSS operations.
  202. */
  203. #define POLARSSL_PKCS1_V21
  204. /**
  205. * \def POLARSSL_RSA_NO_CRT
  206. *
  207. * Do not use the Chinese Remainder Theorem for the RSA private operation.
  208. *
  209. * Uncomment this macro to disable the use of CRT in RSA.
  210. *
  211. #define POLARSSL_RSA_NO_CRT
  212. */
  213. /**
  214. * \def POLARSSL_SELF_TEST
  215. *
  216. * Enable the checkup functions (*_self_test).
  217. */
  218. #define POLARSSL_SELF_TEST
  219. /**
  220. * \def POLARSSL_SSL_ALL_ALERT_MESSAGES
  221. *
  222. * Enable sending of alert messages in case of encountered errors as per RFC.
  223. * If you choose not to send the alert messages, PolarSSL can still communicate
  224. * with other servers, only debugging of failures is harder.
  225. *
  226. * The advantage of not sending alert messages, is that no information is given
  227. * about reasons for failures thus preventing adversaries of gaining intel.
  228. *
  229. * Enable sending of all alert messages
  230. */
  231. #define POLARSSL_SSL_ALERT_MESSAGES
  232. /**
  233. * \def POLARSSL_SSL_DEBUG_ALL
  234. *
  235. * Enable the debug messages in SSL module for all issues.
  236. * Debug messages have been disabled in some places to prevent timing
  237. * attacks due to (unbalanced) debugging function calls.
  238. *
  239. * If you need all error reporting you should enable this during debugging,
  240. * but remove this for production servers that should log as well.
  241. *
  242. * Uncomment this macro to report all debug messages on errors introducing
  243. * a timing side-channel.
  244. *
  245. #define POLARSSL_SSL_DEBUG_ALL
  246. */
  247. /**
  248. * \def POLARSSL_SSL_HW_RECORD_ACCEL
  249. *
  250. * Enable hooking functions in SSL module for hardware acceleration of
  251. * individual records.
  252. *
  253. * Uncomment this macro to enable hooking functions.
  254. #define POLARSSL_SSL_HW_RECORD_ACCEL
  255. */
  256. /**
  257. * \def POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION
  258. *
  259. * If set, the X509 parser will not break-off when parsing an X509 certificate
  260. * and encountering an unknown critical extension.
  261. *
  262. * Uncomment to prevent an error.
  263. *
  264. #define POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION
  265. */
  266. /**
  267. * \def POLARSSL_ZLIB_SUPPORT
  268. *
  269. * If set, the SSL/TLS module uses ZLIB to support compression and
  270. * decompression of packet data.
  271. *
  272. * Used in: library/ssl_tls.c
  273. * library/ssl_cli.c
  274. * library/ssl_srv.c
  275. *
  276. * This feature requires zlib library and headers to be present.
  277. *
  278. * Uncomment to enable use of ZLIB
  279. #define POLARSSL_ZLIB_SUPPORT
  280. */
  281. /* \} name */
  282. /**
  283. * \name SECTION: PolarSSL modules
  284. *
  285. * This section enables or disables entire modules in PolarSSL
  286. * \{
  287. */
  288. /**
  289. * \def POLARSSL_AES_C
  290. *
  291. * Enable the AES block cipher.
  292. *
  293. * Module: library/aes.c
  294. * Caller: library/ssl_tls.c
  295. * library/pem.c
  296. * library/ctr_drbg.c
  297. *
  298. * This module enables the following ciphersuites (if other requisites are
  299. * enabled as well):
  300. * TLS_RSA_WITH_AES_128_CBC_SHA
  301. * TLS_RSA_WITH_AES_256_CBC_SHA
  302. * TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  303. * TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  304. * TLS_RSA_WITH_AES_128_CBC_SHA256
  305. * TLS_RSA_WITH_AES_256_CBC_SHA256
  306. * TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  307. * TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  308. * TLS_RSA_WITH_AES_128_GCM_SHA256
  309. * TLS_RSA_WITH_AES_256_GCM_SHA384
  310. */
  311. #define POLARSSL_AES_C
  312. /**
  313. * \def POLARSSL_ARC4_C
  314. *
  315. * Enable the ARCFOUR stream cipher.
  316. *
  317. * Module: library/arc4.c
  318. * Caller: library/ssl_tls.c
  319. *
  320. * This module enables the following ciphersuites:
  321. * TLS_RSA_WITH_RC4_128_MD5
  322. * TLS_RSA_WITH_RC4_128_SHA
  323. */
  324. #define POLARSSL_ARC4_C
  325. /**
  326. * \def POLARSSL_ASN1_PARSE_C
  327. *
  328. * Enable the generic ASN1 parser.
  329. *
  330. * Module: library/asn1.c
  331. * Caller: library/x509parse.c
  332. */
  333. #define POLARSSL_ASN1_PARSE_C
  334. /**
  335. * \def POLARSSL_ASN1_WRITE_C
  336. *
  337. * Enable the generic ASN1 writer.
  338. *
  339. * Module: library/asn1write.c
  340. */
  341. #define POLARSSL_ASN1_WRITE_C
  342. /**
  343. * \def POLARSSL_BASE64_C
  344. *
  345. * Enable the Base64 module.
  346. *
  347. * Module: library/base64.c
  348. * Caller: library/pem.c
  349. *
  350. * This module is required for PEM support (required by X.509).
  351. */
  352. #define POLARSSL_BASE64_C
  353. /**
  354. * \def POLARSSL_BIGNUM_C
  355. *
  356. * Enable the multi-precision integer library.
  357. *
  358. * Module: library/bignum.c
  359. * Caller: library/dhm.c
  360. * library/rsa.c
  361. * library/ssl_tls.c
  362. * library/x509parse.c
  363. *
  364. * This module is required for RSA and DHM support.
  365. */
  366. #define POLARSSL_BIGNUM_C
  367. /**
  368. * \def POLARSSL_BLOWFISH_C
  369. *
  370. * Enable the Blowfish block cipher.
  371. *
  372. * Module: library/blowfish.c
  373. */
  374. #define POLARSSL_BLOWFISH_C
  375. /**
  376. * \def POLARSSL_CAMELLIA_C
  377. *
  378. * Enable the Camellia block cipher.
  379. *
  380. * Module: library/camellia.c
  381. * Caller: library/ssl_tls.c
  382. *
  383. * This module enables the following ciphersuites (if other requisites are
  384. * enabled as well):
  385. * TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
  386. * TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
  387. * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
  388. * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
  389. * TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
  390. * TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
  391. * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
  392. * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
  393. */
  394. #define POLARSSL_CAMELLIA_C
  395. /**
  396. * \def POLARSSL_CERTS_C
  397. *
  398. * Enable the test certificates.
  399. *
  400. * Module: library/certs.c
  401. * Caller:
  402. *
  403. * This module is used for testing (ssl_client/server).
  404. */
  405. #define POLARSSL_CERTS_C
  406. /**
  407. * \def POLARSSL_CIPHER_C
  408. *
  409. * Enable the generic cipher layer.
  410. *
  411. * Module: library/cipher.c
  412. * Caller:
  413. *
  414. * Uncomment to enable generic cipher wrappers.
  415. */
  416. #define POLARSSL_CIPHER_C
  417. /**
  418. * \def POLARSSL_CTR_DRBG_C
  419. *
  420. * Enable the CTR_DRBG AES-256-based random generator
  421. *
  422. * Module: library/ctr_drbg.c
  423. * Caller:
  424. *
  425. * Requires: POLARSSL_AES_C
  426. *
  427. * This module provides the CTR_DRBG AES-256 random number generator.
  428. */
  429. #define POLARSSL_CTR_DRBG_C
  430. /**
  431. * \def POLARSSL_DEBUG_C
  432. *
  433. * Enable the debug functions.
  434. *
  435. * Module: library/debug.c
  436. * Caller: library/ssl_cli.c
  437. * library/ssl_srv.c
  438. * library/ssl_tls.c
  439. *
  440. * This module provides debugging functions.
  441. */
  442. #define POLARSSL_DEBUG_C
  443. /**
  444. * \def POLARSSL_DES_C
  445. *
  446. * Enable the DES block cipher.
  447. *
  448. * Module: library/des.c
  449. * Caller: library/ssl_tls.c
  450. *
  451. * This module enables the following ciphersuites (if other requisites are
  452. * enabled as well):
  453. * TLS_RSA_WITH_3DES_EDE_CBC_SHA
  454. * TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
  455. */
  456. #define POLARSSL_DES_C
  457. /**
  458. * \def POLARSSL_DHM_C
  459. *
  460. * Enable the Diffie-Hellman-Merkle key exchange.
  461. *
  462. * Module: library/dhm.c
  463. * Caller: library/ssl_cli.c
  464. * library/ssl_srv.c
  465. *
  466. * This module enables the following ciphersuites (if other requisites are
  467. * enabled as well):
  468. * TLS_DHE_RSA_WITH_DES_CBC_SHA
  469. * TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
  470. * TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  471. * TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  472. * TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  473. * TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  474. * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
  475. * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
  476. * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
  477. * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
  478. * TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  479. * TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  480. */
  481. #define POLARSSL_DHM_C
  482. /**
  483. * \def POLARSSL_ENTROPY_C
  484. *
  485. * Enable the platform-specific entropy code.
  486. *
  487. * Module: library/entropy.c
  488. * Caller:
  489. *
  490. * Requires: POLARSSL_SHA4_C
  491. *
  492. * This module provides a generic entropy pool
  493. */
  494. #define POLARSSL_ENTROPY_C
  495. /**
  496. * \def POLARSSL_ERROR_C
  497. *
  498. * Enable error code to error string conversion.
  499. *
  500. * Module: library/error.c
  501. * Caller:
  502. *
  503. * This module enables err_strerror().
  504. */
  505. #define POLARSSL_ERROR_C
  506. /**
  507. * \def POLARSSL_GCM_C
  508. *
  509. * Enable the Galois/Counter Mode (GCM) for AES
  510. *
  511. * Module: library/gcm.c
  512. *
  513. * Requires: POLARSSL_AES_C
  514. *
  515. * This module enables the following ciphersuites (if other requisites are
  516. * enabled as well):
  517. * TLS_RSA_WITH_AES_128_GCM_SHA256
  518. * TLS_RSA_WITH_AES_256_GCM_SHA384
  519. */
  520. #define POLARSSL_GCM_C
  521. /**
  522. * \def POLARSSL_HAVEGE_C
  523. *
  524. * Enable the HAVEGE random generator.
  525. *
  526. * Module: library/havege.c
  527. * Caller:
  528. *
  529. * Requires: POLARSSL_TIMING_C
  530. *
  531. * This module enables the HAVEGE random number generator.
  532. */
  533. #define POLARSSL_HAVEGE_C
  534. /**
  535. * \def POLARSSL_MD_C
  536. *
  537. * Enable the generic message digest layer.
  538. *
  539. * Module: library/md.c
  540. * Caller:
  541. *
  542. * Uncomment to enable generic message digest wrappers.
  543. */
  544. #define POLARSSL_MD_C
  545. /**
  546. * \def POLARSSL_MD2_C
  547. *
  548. * Enable the MD2 hash algorithm
  549. *
  550. * Module: library/md2.c
  551. * Caller: library/x509parse.c
  552. *
  553. * Uncomment to enable support for (rare) MD2-signed X.509 certs.
  554. *
  555. #define POLARSSL_MD2_C
  556. */
  557. /**
  558. * \def POLARSSL_MD4_C
  559. *
  560. * Enable the MD4 hash algorithm
  561. *
  562. * Module: library/md4.c
  563. * Caller: library/x509parse.c
  564. *
  565. * Uncomment to enable support for (rare) MD4-signed X.509 certs.
  566. *
  567. #define POLARSSL_MD4_C
  568. */
  569. /**
  570. * \def POLARSSL_MD5_C
  571. *
  572. * Enable the MD5 hash algorithm
  573. *
  574. * Module: library/md5.c
  575. * Caller: library/ssl_tls.c
  576. * library/x509parse.c
  577. *
  578. * This module is required for SSL/TLS and X.509.
  579. */
  580. #define POLARSSL_MD5_C
  581. /**
  582. * \def POLARSSL_NET_C
  583. *
  584. * Enable the TCP/IP networking routines.
  585. *
  586. * Module: library/net.c
  587. * Caller:
  588. *
  589. * This module provides TCP/IP networking routines.
  590. */
  591. #define POLARSSL_NET_C
  592. /**
  593. * \def POLARSSL_PADLOCK_C
  594. *
  595. * Enable VIA Padlock support on x86.
  596. *
  597. * Module: library/padlock.c
  598. * Caller: library/aes.c
  599. *
  600. * This modules adds support for the VIA PadLock on x86.
  601. */
  602. #define POLARSSL_PADLOCK_C
  603. /**
  604. * \def POLARSSL_PBKDF2_C
  605. *
  606. * Enable PKCS#5 PBKDF2 key derivation function
  607. *
  608. * Module: library/pbkdf2.c
  609. *
  610. * Requires: POLARSSL_MD_C
  611. *
  612. * This module adds support for the PKCS#5 PBKDF2 key derivation function.
  613. #define POLARSSL_PBKDF2_C
  614. */
  615. /**
  616. * \def POLARSSL_PEM_C
  617. *
  618. * Enable PEM decoding
  619. *
  620. * Module: library/pem.c
  621. * Caller: library/x509parse.c
  622. *
  623. * Requires: POLARSSL_BASE64_C
  624. *
  625. * This modules adds support for decoding PEM files.
  626. */
  627. #define POLARSSL_PEM_C
  628. /**
  629. * \def POLARSSL_PKCS11_C
  630. *
  631. * Enable wrapper for PKCS#11 smartcard support.
  632. *
  633. * Module: library/ssl_srv.c
  634. * Caller: library/ssl_cli.c
  635. * library/ssl_srv.c
  636. *
  637. * Requires: POLARSSL_SSL_TLS_C
  638. *
  639. * This module enables SSL/TLS PKCS #11 smartcard support.
  640. * Requires the presence of the PKCS#11 helper library (libpkcs11-helper)
  641. #define POLARSSL_PKCS11_C
  642. */
  643. /**
  644. * \def POLARSSL_RSA_C
  645. *
  646. * Enable the RSA public-key cryptosystem.
  647. *
  648. * Module: library/rsa.c
  649. * Caller: library/ssl_cli.c
  650. * library/ssl_srv.c
  651. * library/ssl_tls.c
  652. * library/x509.c
  653. *
  654. * Requires: POLARSSL_BIGNUM_C
  655. *
  656. * This module is required for SSL/TLS and MD5-signed certificates.
  657. */
  658. #define POLARSSL_RSA_C
  659. /**
  660. * \def POLARSSL_SHA1_C
  661. *
  662. * Enable the SHA1 cryptographic hash algorithm.
  663. *
  664. * Module: library/sha1.c
  665. * Caller: library/ssl_cli.c
  666. * library/ssl_srv.c
  667. * library/ssl_tls.c
  668. * library/x509parse.c
  669. *
  670. * This module is required for SSL/TLS and SHA1-signed certificates.
  671. */
  672. #define POLARSSL_SHA1_C
  673. /**
  674. * \def POLARSSL_SHA2_C
  675. *
  676. * Enable the SHA-224 and SHA-256 cryptographic hash algorithms.
  677. *
  678. * Module: library/sha2.c
  679. * Caller: library/md_wrap.c
  680. * library/x509parse.c
  681. *
  682. * This module adds support for SHA-224 and SHA-256.
  683. * This module is required for the SSL/TLS 1.2 PRF function.
  684. */
  685. #define POLARSSL_SHA2_C
  686. /**
  687. * \def POLARSSL_SHA4_C
  688. *
  689. * Enable the SHA-384 and SHA-512 cryptographic hash algorithms.
  690. *
  691. * Module: library/sha4.c
  692. * Caller: library/md_wrap.c
  693. * library/x509parse.c
  694. *
  695. * This module adds support for SHA-384 and SHA-512.
  696. */
  697. #define POLARSSL_SHA4_C
  698. /**
  699. * \def POLARSSL_SSL_CACHE_C
  700. *
  701. * Enable simple SSL cache implementation.
  702. *
  703. * Module: library/ssl_cache.c
  704. * Caller:
  705. *
  706. * Requires: POLARSSL_SSL_CACHE_C
  707. */
  708. #define POLARSSL_SSL_CACHE_C
  709. /**
  710. * \def POLARSSL_SSL_CLI_C
  711. *
  712. * Enable the SSL/TLS client code.
  713. *
  714. * Module: library/ssl_cli.c
  715. * Caller:
  716. *
  717. * Requires: POLARSSL_SSL_TLS_C
  718. *
  719. * This module is required for SSL/TLS client support.
  720. */
  721. #define POLARSSL_SSL_CLI_C
  722. /**
  723. * \def POLARSSL_SSL_SRV_C
  724. *
  725. * Enable the SSL/TLS server code.
  726. *
  727. * Module: library/ssl_srv.c
  728. * Caller:
  729. *
  730. * Requires: POLARSSL_SSL_TLS_C
  731. *
  732. * This module is required for SSL/TLS server support.
  733. */
  734. #define POLARSSL_SSL_SRV_C
  735. /**
  736. * \def POLARSSL_SSL_TLS_C
  737. *
  738. * Enable the generic SSL/TLS code.
  739. *
  740. * Module: library/ssl_tls.c
  741. * Caller: library/ssl_cli.c
  742. * library/ssl_srv.c
  743. *
  744. * Requires: POLARSSL_MD5_C, POLARSSL_SHA1_C, POLARSSL_X509_PARSE_C
  745. *
  746. * This module is required for SSL/TLS.
  747. */
  748. #define POLARSSL_SSL_TLS_C
  749. /**
  750. * \def POLARSSL_TIMING_C
  751. *
  752. * Enable the portable timing interface.
  753. *
  754. * Module: library/timing.c
  755. * Caller: library/havege.c
  756. *
  757. * This module is used by the HAVEGE random number generator.
  758. */
  759. #define POLARSSL_TIMING_C
  760. /**
  761. * \def POLARSSL_VERSION_C
  762. *
  763. * Enable run-time version information.
  764. *
  765. * Module: library/version.c
  766. *
  767. * This module provides run-time version information.
  768. */
  769. #define POLARSSL_VERSION_C
  770. /**
  771. * \def POLARSSL_X509_PARSE_C
  772. *
  773. * Enable X.509 certificate parsing.
  774. *
  775. * Module: library/x509parse.c
  776. * Caller: library/ssl_cli.c
  777. * library/ssl_srv.c
  778. * library/ssl_tls.c
  779. *
  780. * Requires: POLARSSL_ASN1_PARSE_C, POLARSSL_BIGNUM_C, POLARSSL_RSA_C
  781. *
  782. * This module is required for X.509 certificate parsing.
  783. */
  784. #define POLARSSL_X509_PARSE_C
  785. /**
  786. * \def POLARSSL_X509_WRITE_C
  787. *
  788. * Enable X.509 buffer writing.
  789. *
  790. * Module: library/x509write.c
  791. *
  792. * Requires: POLARSSL_BIGNUM_C, POLARSSL_RSA_C
  793. *
  794. * This module is required for X.509 certificate request writing.
  795. */
  796. #define POLARSSL_X509_WRITE_C
  797. /**
  798. * \def POLARSSL_XTEA_C
  799. *
  800. * Enable the XTEA block cipher.
  801. *
  802. * Module: library/xtea.c
  803. * Caller:
  804. */
  805. #define POLARSSL_XTEA_C
  806. /* \} name */
  807. #endif /* config.h */