- Updated Doxygen documentation generation and documentation on small parts
diff --git a/doxygen/input/doc_encdec.h b/doxygen/input/doc_encdec.h
index 48e8a54..a1b7e16 100644
--- a/doxygen/input/doc_encdec.h
+++ b/doxygen/input/doc_encdec.h
@@ -12,21 +12,23 @@
* ones for key exchange and message integrity.
* Some symmetric algorithms provide different block cipher modes, mainly
* Electronic Code Book (ECB) which is used for short (64-bit) messages and
- * Cipher Block Chaining (CBC) which provides the randomness needed for longer
- * messages.
+ * Cipher Block Chaining (CBC) which provides the structure needed for longer
+ * messages. In addition the Cipher Feedback Mode (CFB-128) stream cipher mode
+ * is implemented for specific algorithms.
+ *
* Sometimes the same functions are used for encryption and decryption.
* The following algorithms are provided:
* - Symmetric:
- * - AES (see \c aes_crypt_ecb() and\c aes_crypt_cbc()).
+ * - AES (see \c aes_crypt_ecb(), \c aes_crypt_cbc() and \c aes_crypt_cfb128()).
* - ARCFOUR (see \c arc4_crypt()).
- * - Camellia (see \c camellia_crypt_ecb() and\c camellia_crypt_cbc()).
- * - DES/3DES (see \c des_crypt_ecb(),\c des_crypt_cbc(),\c des3_crypt_ecb()
- * and\c des3_crypt_cbc()).
+ * - Camellia (see \c camellia_crypt_ecb(), \c camellia_crypt_cbc() and \c camellia_crypt_cfb128()).
+ * - DES/3DES (see \c des_crypt_ecb(), \c des_crypt_cbc(), \c des3_crypt_ecb()
+ * and \c des3_crypt_cbc()).
* - XTEA (see \c xtea_crypt_ecb()).
* - Asymmetric:
- * - Diffie-Hellman-Merkle (see \c dhm_read_public(),\c dhm_make_public()
+ * - Diffie-Hellman-Merkle (see \c dhm_read_public(), \c dhm_make_public()
* and \c dhm_calc_secret()).
- * - RSA (see \c rsa_public() and\c rsa_private()).
+ * - RSA (see \c rsa_public() and \c rsa_private()).
*
* This module provides encryption/decryption which can be used to provide
* secrecy.
diff --git a/doxygen/input/doc_hashing.h b/doxygen/input/doc_hashing.h
index efaa738..95fb887 100644
--- a/doxygen/input/doc_hashing.h
+++ b/doxygen/input/doc_hashing.h
@@ -12,9 +12,9 @@
* for authentication, which is a message integrity control.
* The following hashing-algorithms are provided:
* - MD2, MD4, MD5 128-bit one-way hash functions by Ron Rivest (see
- * \c md2_hmac(),\c md4_hmac() and\c md5_hmac()).
+ * \c md2_hmac(), \c md4_hmac() and \c md5_hmac()).
* - SHA-1, SHA-256, SHA-384/512 160-bit or more one-way hash functions by
- * NIST and NSA (see\c sha1_hmac(),\c sha2_hmac() and\c sha4_hmac()).
+ * NIST and NSA (see\c sha1_hmac(), \c sha2_hmac() and \c sha4_hmac()).
*
* This module provides one-way hashing which can be used for authentication.
*/
diff --git a/doxygen/input/doc_ssltls.h b/doxygen/input/doc_ssltls.h
index 854ca05..06ba480 100644
--- a/doxygen/input/doc_ssltls.h
+++ b/doxygen/input/doc_ssltls.h
@@ -11,7 +11,7 @@
* The basic provisions are:
* - initialise an SSL/TLS context (see \c ssl_init()).
* - perform an SSL/TLS handshake (see \c ssl_handshake()).
- * - read/write (see \c ssl_read() and\c ssl_write()).
+ * - read/write (see \c ssl_read() and \c ssl_write()).
* - notify a peer that conection is being closed (see \c ssl_close_notify()).
*
*
diff --git a/doxygen/input/doc_tcpip.h b/doxygen/input/doc_tcpip.h
index e01014e..53076bc 100644
--- a/doxygen/input/doc_tcpip.h
+++ b/doxygen/input/doc_tcpip.h
@@ -15,7 +15,7 @@
* its basic provisions:
* - listening on a port (see \c net_bind()).
* - accepting a connection (through \c net_accept()).
- * - read/write (through \c net_recv/\c net_send()).
+ * - read/write (through \c net_recv()/\c net_send()).
* - close a connection (through \c net_close()).
*
* This way you have the means to, for example, implement and use an UDP or
diff --git a/doxygen/polarssl.doxyfile b/doxygen/polarssl.doxyfile
index 0aa70df..ef930ad 100644
--- a/doxygen/polarssl.doxyfile
+++ b/doxygen/polarssl.doxyfile
@@ -614,7 +614,9 @@
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
-EXCLUDE = tests/fct.h
+EXCLUDE = tests/fct.h \
+ programs \
+ CMakeFiles
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
# directories that are symbolic links (a Unix filesystem feature) are excluded
diff --git a/include/polarssl/aes.h b/include/polarssl/aes.h
index f9b6825..c94478b 100644
--- a/include/polarssl/aes.h
+++ b/include/polarssl/aes.h
@@ -1,7 +1,7 @@
/**
* \file aes.h
*
- * \brief AES block cipher encryption
+ * \brief AES block cipher
*
* Copyright (C) 2006-2010, Brainspark B.V.
*
diff --git a/include/polarssl/certs.h b/include/polarssl/certs.h
index af8fcd6..5399e32 100644
--- a/include/polarssl/certs.h
+++ b/include/polarssl/certs.h
@@ -1,7 +1,7 @@
/**
* \file certs.h
*
- * \brief Camellia block cipher
+ * \brief Sample certificates and DHM parameters for testing
*
* Copyright (C) 2006-2010, Brainspark B.V.
*
diff --git a/include/polarssl/cipher.h b/include/polarssl/cipher.h
index 23b0f3d..27dc7b9 100644
--- a/include/polarssl/cipher.h
+++ b/include/polarssl/cipher.h
@@ -296,7 +296,7 @@
*
* \returns 0 on success, 1 if parameter verification fails.
*/
-int cipher_setkey( cipher_context_t *ctx, const unsigned char *key, int key_len,
+int cipher_setkey( cipher_context_t *ctx, const unsigned char *key, int key_length,
const operation_t operation );
/**
diff --git a/include/polarssl/config.h b/include/polarssl/config.h
index 2372c35..1cf5b50 100644
--- a/include/polarssl/config.h
+++ b/include/polarssl/config.h
@@ -35,32 +35,45 @@
#define _CRT_SECURE_NO_DEPRECATE 1
#endif
-/*
+/**
* \name SECTION: System support
*
* This section sets system specific settings.
* \{
*/
-/*
- * Uncomment if native integers are 8-bit wide.
+/**
+ * \def POLARSSL_HAVE_INT8
*
+ * The system uses 8-bit wide native integers.
+ *
+ * Uncomment if native integers are 8-bit wide.
#define POLARSSL_HAVE_INT8
*/
-/*
- * Uncomment if native integers are 16-bit wide.
+/**
+ * \def POLARSSL_HAVE_INT16
*
+ * The system uses 16-bit wide native integers.
+ *
+ * Uncomment if native integers are 16-bit wide.
#define POLARSSL_HAVE_INT16
*/
-/*
- * Uncomment if the compiler supports long long.
+/**
+ * \def POLARSSL_HAVE_LONGLONG
*
+ * The compiler supports the use of long long.
+ *
+ * Uncomment if the compiler supports long long.
#define POLARSSL_HAVE_LONGLONG
*/
-/*
+/**
+ * \def POLARSSL_HAVE_ASM
+ *
+ * The compiler has support for asm()
+ *
* Uncomment to enable the use of assembly code.
*
* Requires support for asm() in compiler.
@@ -73,14 +86,18 @@
*/
#define POLARSSL_HAVE_ASM
-/*
+/**
+ * \def POLARSSL_HAVE_SSE2
+ *
+ * CPI supports SSE2 instruction set.
+ *
* Uncomment if the CPU supports SSE2 (IA-32 specific).
*
#define POLARSSL_HAVE_SSE2
*/
/* \} name */
-/*
+/**
* \name SECTION: PolarSSL feature support
*
* This section sets support for features that are or are not needed
@@ -88,36 +105,50 @@
* \{
*/
-/*
+/**
+ * \def POLARSSL_DEBUG_MSG
+ *
* Enable all SSL/TLS debugging messages.
*/
#define POLARSSL_DEBUG_MSG
-/*
+/**
+ * \def POLARSSL_SELF_TEST
+ *
* Enable the checkup functions (*_self_test).
*/
#define POLARSSL_SELF_TEST
-/*
+/**
+ * \def POLARSSL_GENPRIME
+ *
* Enable the prime-number generation code.
*/
#define POLARSSL_GENPRIME
-/*
+/**
+ * \def POLARSSL_AES_ROM_TABLES
+ *
+ * Store the AES tables in ROM.
+ *
* Uncomment this macro to store the AES tables in ROM.
*
#define POLARSSL_AES_ROM_TABLES
*/
/* \} name */
-/*
+/**
* \name SECTION: PolarSSL modules
*
* This section enables or disables entire modules in PolarSSL
* \{
*/
-/*
+/**
+ * \def POLARSSL_AES_C
+ *
+ * Enable the AES block cipher.
+ *
* Module: library/aes.c
* Caller: library/ssl_tls.c
*
@@ -128,7 +159,11 @@
*/
#define POLARSSL_AES_C
-/*
+/**
+ * \def POLARSSL_ARC4_C
+ *
+ * Enable the ARCFOUR stream cipher.
+ *
* Module: library/arc4.c
* Caller: library/ssl_tls.c
*
@@ -138,7 +173,11 @@
*/
#define POLARSSL_ARC4_C
-/*
+/**
+ * \def POLARSSL_BASE64_C
+ *
+ * Enable the Base64 module.
+ *
* Module: library/base64.c
* Caller: library/x509parse.c
*
@@ -146,7 +185,11 @@
*/
#define POLARSSL_BASE64_C
-/*
+/**
+ * \def POLARSSL_BIGNUM_C
+ *
+ * Enable the multo-precision integer library.
+ *
* Module: library/bignum.c
* Caller: library/dhm.c
* library/rsa.c
@@ -157,7 +200,11 @@
*/
#define POLARSSL_BIGNUM_C
-/*
+/**
+ * \def POLARSSL_CAMELLIA_C
+ *
+ * Enable the Camellia block cipher.
+ *
* Module: library/camellia.c
* Caller: library/ssl_tls.c
*
@@ -168,7 +215,11 @@
*/
#define POLARSSL_CAMELLIA_C
-/*
+/**
+ * \def POLARSSL_CERTS_C
+ *
+ * Enable the test certificates.
+ *
* Module: library/certs.c
* Caller:
*
@@ -176,7 +227,11 @@
*/
#define POLARSSL_CERTS_C
-/*
+/**
+ * \def POLARSSL_CIPHER_C
+ *
+ * Enable the generic cipher layer.
+ *
* Module: library/cipher.c
* Caller:
*
@@ -184,7 +239,11 @@
*/
#define POLARSSL_CIPHER_C
-/*
+/**
+ * \def POLARSSL_DEBUG_C
+ *
+ * Enable the debug functions.
+ *
* Module: library/debug.c
* Caller: library/ssl_cli.c
* library/ssl_srv.c
@@ -194,7 +253,11 @@
*/
#define POLARSSL_DEBUG_C
-/*
+/**
+ * \def POLARSSL_DES_C
+ *
+ * Enable the DES block cipher.
+ *
* Module: library/des.c
* Caller: library/ssl_tls.c
*
@@ -204,7 +267,11 @@
*/
#define POLARSSL_DES_C
-/*
+/**
+ * \def POLARSSL_DHM_C
+ *
+ * Enable the Diffie-Hellman-Merkle key exchange.
+ *
* Module: library/dhm.c
* Caller: library/ssl_cli.c
* library/ssl_srv.c
@@ -216,7 +283,11 @@
*/
#define POLARSSL_DHM_C
-/*
+/**
+ * \def POLARSSL_HAVEGE_C
+ *
+ * Enable the HAVEGE random generator.
+ *
* Module: library/havege.c
* Caller:
*
@@ -224,7 +295,11 @@
*/
#define POLARSSL_HAVEGE_C
-/*
+/**
+ * \def POLARSSL_MD_C
+ *
+ * Enable the generic message digest layer.
+ *
* Module: library/md.c
* Caller:
*
@@ -232,7 +307,11 @@
*/
#define POLARSSL_MD_C
-/*
+/**
+ * \def POLARSSL_MD2_C
+ *
+ * Enable the MD2 hash algorithm
+ *
* Module: library/md2.c
* Caller: library/x509parse.c
*
@@ -241,7 +320,11 @@
#define POLARSSL_MD2_C
*/
-/*
+/**
+ * \def POLARSSL_MD4_C
+ *
+ * Enable the MD4 hash algorithm
+ *
* Module: library/md4.c
* Caller: library/x509parse.c
*
@@ -250,7 +333,11 @@
#define POLARSSL_MD4_C
*/
-/*
+/**
+ * \def POLARSSL_MD5_C
+ *
+ * Enable the MD5 hash algorithm
+ *
* Module: library/md5.c
* Caller: library/ssl_tls.c
* library/x509parse.c
@@ -259,7 +346,11 @@
*/
#define POLARSSL_MD5_C
-/*
+/**
+ * \def POLARSSL_NET_C
+ *
+ * Enable the TCP/IP networking routines.
+ *
* Module: library/net.c
* Caller:
*
@@ -267,7 +358,11 @@
*/
#define POLARSSL_NET_C
-/*
+/**
+ * \def POLARSSL_PADLOCK_C
+ *
+ * Enable VIA Padlock support on x86.
+ *
* Module: library/padlock.c
* Caller: library/aes.c
*
@@ -275,7 +370,11 @@
*/
#define POLARSSL_PADLOCK_C
-/*
+/**
+ * \def POLARSSL_RSA_C
+ *
+ * Enable the RSA public-key cryptosystem.
+ *
* Module: library/rsa.c
* Caller: library/ssl_cli.c
* library/ssl_srv.c
@@ -286,7 +385,11 @@
*/
#define POLARSSL_RSA_C
-/*
+/**
+ * \def POLARSSL_SHA1_C
+ *
+ * Enable the SHA1 cryptographic hash algorithm.
+ *
* Module: library/sha1.c
* Caller: library/ssl_cli.c
* library/ssl_srv.c
@@ -297,23 +400,37 @@
*/
#define POLARSSL_SHA1_C
-/*
+/**
+ * \def POLARSSL_SHA2_C
+ *
+ * Enable the SHA-224 and SHA-256 cryptographic hash algorithms.
+ *
* Module: library/sha2.c
- * Caller:
+ * Caller: library/md_wrap.c
+ * library/x509parse.c
*
* This module adds support for SHA-224 and SHA-256.
*/
#define POLARSSL_SHA2_C
-/*
+/**
+ * \def POLARSSL_SHA4_C
+ *
+ * Enable the SHA-384 and SHA-512 cryptographic hash algorithms.
+ *
* Module: library/sha4.c
- * Caller:
+ * Caller: library/md_wrap.c
+ * library/x509parse.c
*
* This module adds support for SHA-384 and SHA-512.
*/
#define POLARSSL_SHA4_C
-/*
+/**
+ * \def POLARSSL_SSL_CLI_C
+ *
+ * Enable the SSL/TLS client code.
+ *
* Module: library/ssl_cli.c
* Caller:
*
@@ -322,6 +439,10 @@
#define POLARSSL_SSL_CLI_C
/*
+ * \def POLARSSL_SSL_SRV_C
+ *
+ * Enable the SSL/TLS server code.
+ *
* Module: library/ssl_srv.c
* Caller:
*
@@ -329,7 +450,11 @@
*/
#define POLARSSL_SSL_SRV_C
-/*
+/**
+ * \def POLARSSL_SSL_TLS_C
+ *
+ * Enable the generic SSL/RLS code.
+ *
* Module: library/ssl_tls.c
* Caller: library/ssl_cli.c
* library/ssl_srv.c
@@ -338,7 +463,11 @@
*/
#define POLARSSL_SSL_TLS_C
-/*
+/**
+ * \def POLARSSL_PKCS11_C
+ *
+ * Enable support for PKCS#11 smartcard support.
+ *
* Module: library/ssl_srv.c
* Caller: library/ssl_cli.c
* library/ssl_srv.c
@@ -348,7 +477,11 @@
#define POLARSSL_PKCS11_C
*/
-/*
+/**
+ * \def POLARSSL_TIMING_C
+ *
+ * Enable the portable timing interface.
+ *
* Module: library/timing.c
* Caller: library/havege.c
*
@@ -356,14 +489,22 @@
*/
#define POLARSSL_TIMING_C
-/*
+/**
+ * \def POLARSSL_VERSION_C
+ *
+ * Enable run-time version information.
+ *
* Module: library/version.c
*
* This module provides run-time version information.
*/
#define POLARSSL_VERSION_C
-/*
+/**
+ * \def POLARSSL_X509_PARSE_C
+ *
+ * Enable X.509 certificate parsing.
+ *
* Module: library/x509parse.c
* Caller: library/ssl_cli.c
* library/ssl_srv.c
@@ -373,15 +514,11 @@
*/
#define POLARSSL_X509_PARSE_C
-/*
- * Module: library/x509_write.c
- * Caller:
+/**
+ * \def POLARSSL_XTEA_C
*
- * This module is required for X.509 certificate writing.
- */
-#define POLARSSL_X509_WRITE_C
-
-/*
+ * Enable the XTEA block cipher.
+ *
* Module: library/xtea.c
* Caller:
*/
diff --git a/include/polarssl/des.h b/include/polarssl/des.h
index 0542329..0d3493c 100644
--- a/include/polarssl/des.h
+++ b/include/polarssl/des.h
@@ -1,7 +1,7 @@
/**
* \file des.h
*
- * \brief Debug functions
+ * \brief DES block cipher
*
* Copyright (C) 2006-2010, Brainspark B.V.
*
diff --git a/include/polarssl/dhm.h b/include/polarssl/dhm.h
index ad0795f..4206b88 100644
--- a/include/polarssl/dhm.h
+++ b/include/polarssl/dhm.h
@@ -29,6 +29,9 @@
#include "polarssl/bignum.h"
+/*
+ * DHM Error codes
+ */
#define POLARSSL_ERR_DHM_BAD_INPUT_DATA 0x0480
#define POLARSSL_ERR_DHM_READ_PARAMS_FAILED 0x0490
#define POLARSSL_ERR_DHM_MAKE_PARAMS_FAILED 0x04A0
@@ -36,6 +39,9 @@
#define POLARSSL_ERR_DHM_MAKE_PUBLIC_FAILED 0x04C0
#define POLARSSL_ERR_DHM_CALC_SECRET_FAILED 0x04D0
+/**
+ * \brief DHM context structure
+ */
typedef struct
{
int len; /*!< size(P) in chars */
diff --git a/include/polarssl/havege.h b/include/polarssl/havege.h
index a974462..4be0e59 100644
--- a/include/polarssl/havege.h
+++ b/include/polarssl/havege.h
@@ -1,7 +1,7 @@
/**
* \file havege.h
*
- * \brief Diffie-Hellman-Merkle key exchange
+ * \brief HAVEGE: HArdware Volatile Entropy Gathering and Expansion
*
* Copyright (C) 2006-2010, Brainspark B.V.
*
diff --git a/include/polarssl/md.h b/include/polarssl/md.h
index 76c480c..1ee742f 100644
--- a/include/polarssl/md.h
+++ b/include/polarssl/md.h
@@ -167,8 +167,7 @@
* \brief Free the message-specific context of ctx. Freeing ctx itself
* remains the responsibility of the caller.
*
- * \param ctx Free the -specific context
- * \param output Generic message digest checksum result
+ * \param ctx Free the message-specific context
*
* \returns 0 on success, 1 if parameter verification fails.
*/
diff --git a/include/polarssl/sha2.h b/include/polarssl/sha2.h
index 813a96c..5e2d907 100644
--- a/include/polarssl/sha2.h
+++ b/include/polarssl/sha2.h
@@ -1,7 +1,7 @@
/**
* \file sha2.h
*
- * \brief SHA-256 cryptographic hash function
+ * \brief SHA-224 and SHA-256 cryptographic hash function
*
* Copyright (C) 2006-2010, Brainspark B.V.
*
diff --git a/include/polarssl/sha4.h b/include/polarssl/sha4.h
index ebf2d45..5f980b9 100644
--- a/include/polarssl/sha4.h
+++ b/include/polarssl/sha4.h
@@ -1,7 +1,7 @@
/**
* \file sha4.h
*
- * \brief SHA-384/512 cryptographic hash function
+ * \brief SHA-384 and SHA-512 cryptographic hash function
*
* Copyright (C) 2006-2010, Brainspark B.V.
*
diff --git a/include/polarssl/version.h b/include/polarssl/version.h
index a123edc..5dd2875 100644
--- a/include/polarssl/version.h
+++ b/include/polarssl/version.h
@@ -1,6 +1,8 @@
/**
* \file version.h
*
+ * \brief Run-time version information
+ *
* Copyright (C) 2006-2010, Brainspark B.V.
*
* This file is part of PolarSSL (http://www.polarssl.org)
@@ -21,7 +23,8 @@
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
+ */
+/*
* This set of compile-time defines and run-time variables can be used to
* determine the version number of the PolarSSL library used.
*/
diff --git a/include/polarssl/x509.h b/include/polarssl/x509.h
index 511641f..4305074 100644
--- a/include/polarssl/x509.h
+++ b/include/polarssl/x509.h
@@ -144,7 +144,7 @@
#define X509_ISSUER 0x01
#define X509_SUBJECT 0x02
-/** Returns the size of the binary string, without the trailing \0 */
+/** Returns the size of the binary string, without the trailing \\0 */
#define OID_SIZE(x) (sizeof(x) - 1)
#define OID_X520 "\x55\x04"
@@ -574,7 +574,7 @@
*
* \return 0 if successful, or a specific X509 error code
*/
-int x509parse_dhmfile( dhm_context *rsa, const char *path );
+int x509parse_dhmfile( dhm_context *dhm, const char *path );
/** \} name Functions to read in DHM parameters, a certificate, CRL or private RSA key */
diff --git a/library/havege.c b/library/havege.c
index 74769c4..6e2d747 100644
--- a/library/havege.c
+++ b/library/havege.c
@@ -1,5 +1,5 @@
-/*
- * HAVEGE: HArdware Volatile Entropy Gathering and Expansion
+/**
+ * \brief HAVEGE: HArdware Volatile Entropy Gathering and Expansion
*
* Copyright (C) 2006-2010, Brainspark B.V.
*