doc/config.h header reference
Description
This sample header file shows configuration macros which are used in the code of libassh.
When using the provided configure script, a config.h file is generated which takes care of properly defining these macros.
See also Build configuration.
Members
Macros
- CONFIG_ASSH_ABI_WARN
- CONFIG_ASSH_ALLOCA
- CONFIG_ASSH_AUTH_HOSTNAME_LEN
- CONFIG_ASSH_AUTH_PASSWORD_LEN
- CONFIG_ASSH_AUTH_USERNAME_LEN
- CONFIG_ASSH_BIGNUM_WORD
- CONFIG_ASSH_BUILTIN_MD5
- CONFIG_ASSH_BUILTIN_RIPEMD160
- CONFIG_ASSH_BUILTIN_SHA1
- CONFIG_ASSH_BUILTIN_SHA2
- CONFIG_ASSH_BUILTIN_SHA3
- CONFIG_ASSH_CALLTRACE
- CONFIG_ASSH_CLIENT
- CONFIG_ASSH_CLIENT_AUTH_HOSTBASED
- CONFIG_ASSH_CLIENT_AUTH_KEYBOARD
- CONFIG_ASSH_CLIENT_AUTH_PASSWORD
- CONFIG_ASSH_CLIENT_AUTH_PUBLICKEY
- CONFIG_ASSH_CLIENT_AUTH_USE_PKOK
- CONFIG_ASSH_CRYPT_R
- CONFIG_ASSH_DEBUG
- CONFIG_ASSH_DEBUG_BIGNUM_TRACE
- CONFIG_ASSH_DEBUG_EVENT
- CONFIG_ASSH_DEBUG_KEX
- CONFIG_ASSH_DEBUG_PROTOCOL
- CONFIG_ASSH_DEBUG_SIGN
- CONFIG_ASSH_FSMTRACE
- CONFIG_ASSH_GETPWNAM_R
- CONFIG_ASSH_GETSPNAM_R
- CONFIG_ASSH_GNU_QSORTR
- CONFIG_ASSH_IDENT_SIZE
- CONFIG_ASSH_KEY_CREATE
- CONFIG_ASSH_KEY_VALIDATE
- CONFIG_ASSH_LIBC_REALLOC
- CONFIG_ASSH_MALLOC_USABLE_SIZE
- CONFIG_ASSH_MAX_PAYLOAD
- CONFIG_ASSH_MAX_SERVICES
- CONFIG_ASSH_NO_REKEX_BEFORE_AUTH
- CONFIG_ASSH_OPENSSH_PREFIX
- CONFIG_ASSH_PACKET_POOL
- CONFIG_ASSH_PACKET_POOL_SIZE
- CONFIG_ASSH_SERVER
- CONFIG_ASSH_SERVER_AUTH_HOSTBASED
- CONFIG_ASSH_SERVER_AUTH_KEYBOARD
- CONFIG_ASSH_SERVER_AUTH_NONE
- CONFIG_ASSH_SERVER_AUTH_PASSWORD
- CONFIG_ASSH_SERVER_AUTH_PUBLICKEY
- CONFIG_ASSH_USE_DEV_RANDOM
- CONFIG_ASSH_USE_GCRYPT
- CONFIG_ASSH_USE_GCRYPT_ALLOC
- CONFIG_ASSH_USE_GCRYPT_CIPHERS
- CONFIG_ASSH_USE_GCRYPT_HASH
- CONFIG_ASSH_USE_GCRYPT_PRNG
- CONFIG_ASSH_USE_OPENSSL
- CONFIG_ASSH_USE_OPENSSL_ALLOC
- CONFIG_ASSH_USE_OPENSSL_CIPHERS
- CONFIG_ASSH_USE_OPENSSL_HASH
- CONFIG_ASSH_USE_OPENSSL_PRNG
- CONFIG_ASSH_USE_ZLIB
- CONFIG_ASSH_VALGRIND
- CONFIG_ASSH_VERBOSE_ERROR
- CONFIG_ASSH_ZLIB_ALLOC
Members detail
This macro is declared in doc/config.h source file, line 38.
When defined, this macro enables warning at compile time for use of functions which are not ABI stable.
This macro is declared in doc/config.h source file, line 42.
When defined, this macro enables storage of temporary buffers on stack. This is not secur on platforms with memory swapping.
This macro is declared in doc/config.h source file, line 45.
This macro specifies the maximum length of hostname for user authentication.
This macro is declared in doc/config.h source file, line 48.
This macro specifies the maximum length of password for user authentication.
This macro is declared in doc/config.h source file, line 51.
This macro specifies the maximum length of username for user authentication.
This macro is declared in doc/config.h source file, line 54.
This macro specifies the word width used for bignum operations.
This macro is declared in doc/config.h source file, line 91.
When defined, this macro enables the MD5 message digest.
This macro is declared in doc/config.h source file, line 94.
When defined, this macro enables the RIPE-MD-160 MAC algorithm.
This macro is declared in doc/config.h source file, line 97.
When defined, this macro enables the SHA1 message digest.
This macro is declared in doc/config.h source file, line 100.
When defined, this macro enables the SHA2 message digest.
This macro is declared in doc/config.h source file, line 103.
When defined, this macro enables the SHA3 message digest.
This macro is declared in doc/config.h source file, line 259.
When defined, this macro make the library dump a function call trace. This requires CONFIG_ASSH_DEBUG.
This macro is declared in doc/config.h source file, line 58.
When defined, this macro enables support for the client side of the SSH protocol.
This macro is declared in doc/config.h source file, line 62.
When defined, this macro enables support for the host based user authentication method on client side.
This macro is declared in doc/config.h source file, line 66.
When defined, this macro enables support for the keyboard interactive user authentication method on client side.
This macro is declared in doc/config.h source file, line 70.
When defined, this macro enables support for the password user authentication method on client side.
This macro is declared in doc/config.h source file, line 74.
When defined, this macro enables support for the public key user authentication method on client side.
This macro is declared in doc/config.h source file, line 79.
When defined, this macro enables sending a public key lookup packet first instead of sending the signature directly during user authentication. The specification allows either behaviors.
This macro is declared in doc/config.h source file, line 82.
When defined, this macro enables code that relies on the crypt_r function.
This macro is declared in doc/config.h source file, line 237.
When defined, this macro makes the library print debug information on error and enables use of other debug configuration macros. This must not be enabled on production code in order to avoid leaking secret material.
This macro is declared in doc/config.h source file, line 267.
When defined, this macro makes the library verbose about big number computations. This requires CONFIG_ASSH_DEBUG.
This macro is declared in doc/config.h source file, line 241.
When defined, this macro makes the library verbose about reported events. This requires CONFIG_ASSH_DEBUG.
This macro is declared in doc/config.h source file, line 255.
When defined, this macro makes the library verbose about the kex-exchange. This may leak key related material. This requires CONFIG_ASSH_DEBUG.
This macro is declared in doc/config.h source file, line 250.
When defined, this macro makes the library dump packets. This requires CONFIG_ASSH_DEBUG.
This macro is declared in doc/config.h source file, line 246.
When defined, this macro makes the library verbose about signatures. This may leak key related material. This requires CONFIG_ASSH_DEBUG.
This macro is declared in doc/config.h source file, line 263.
When defined, this macro makes the library verbose about FSM state changes. This requires CONFIG_ASSH_DEBUG.
This macro is declared in doc/config.h source file, line 85.
When defined, this macro enables code that relies on the getpwnam_r function.
This macro is declared in doc/config.h source file, line 88.
When defined, this macro enables code that relies on the getspnam_r function.
This macro is declared in doc/config.h source file, line 144.
When defined, this macro enables code which relies on the qsort_r function from the C library.
This macro is declared in doc/config.h source file, line 110.
This macro specifies the maximum length of the remote software identification string. rfc4253 section 4.2 requires 255 bytes which is almost never seen in practice. Using a lower value on embedded targets will reduce the size of the assh_session_s structure.
This macro is declared in doc/config.h source file, line 113.
When defined, this macro enables support for SSH key creation.
This macro is declared in doc/config.h source file, line 116.
When defined, this macro enables support for SSH key validation.
This macro is declared in doc/config.h source file, line 122.
When defined, this macro enables support for the C library allocator which is not able to provides secure memory on many platforms. This can be useful on embedded platforms where there is no virtual memory implemented.
This macro is declared in doc/config.h source file, line 148.
When defined, this macro enables code which relies on the malloc_usable_size function from the C library.
This macro is declared in doc/config.h source file, line 128.
This macro specifies the maximum size of the ssh packet payload. rfc4253 section 6.1 requires at least 32768 bytes. Using a lower value on embedded targets will reduce the memory usage and limit resources exhaustion attacks.
This macro is declared in doc/config.h source file, line 131.
This macro specifies the maximum number of registered services.
This macro is declared in doc/config.h source file, line 276.
When defined, this macro disallows performing multiple key exchanges before user authentication. This is not required by the specification but helps preventing a simple resource exhaustion attacks.
This macro is declared in doc/config.h source file, line 134.
This macro specifies the path to OpenSSH host key files for use by helpers.
This macro is declared in doc/config.h source file, line 137.
When defined, this macro enables the packet pool allocator.
This macro is declared in doc/config.h source file, line 140.
This macro specifies the maximum byte amount of spare packets in the pool.
This macro is declared in doc/config.h source file, line 151.
When defined, this macro enables support for the server side of the SSH protocol.
This macro is declared in doc/config.h source file, line 155.
When defined, this macro enables support for the host based user authentication method on server side.
This macro is declared in doc/config.h source file, line 159.
When defined, this macro enables support for the keyboard interactive user authentication method on server side.
This macro is declared in doc/config.h source file, line 163.
When defined, this macro enables support for the none user authentication method on server side.
This macro is declared in doc/config.h source file, line 167.
When defined, this macro enables support for the password user authentication method on server side.
This macro is declared in doc/config.h source file, line 171.
When defined, this macro enables support for the public key user authentication method on server side.
This macro is declared in doc/config.h source file, line 175.
When defined, this macro enables support for UNIX /dev/u?random random generator.
This macro is declared in doc/config.h source file, line 180.
When defined, this macro enables use of Libgcrypt.
This macro is declared in doc/config.h source file, line 184.
When defined, this macro enables use of the Libgcrypt secur memory allocator. This requires CONFIG_ASSH_USE_GCRYPT.
This macro is declared in doc/config.h source file, line 188.
When defined, this macro enables use of Libgcrypt cipher algorithms. This requires CONFIG_ASSH_USE_GCRYPT.
This macro is declared in doc/config.h source file, line 192.
When defined, this macro enables use of Libgcrypt hash algorithms implementations. This requires CONFIG_ASSH_USE_GCRYPT.
This macro is declared in doc/config.h source file, line 196.
When defined, this macro enables use of the Libgcrypt random number generator. This requires CONFIG_ASSH_USE_GCRYPT.
This macro is declared in doc/config.h source file, line 201.
When defined, this macro allows use of the OpenSSL library.
This macro is declared in doc/config.h source file, line 205.
When defined, this macro enables use of the OpenSSL secur memory allocator. This requires CONFIG_ASSH_USE_OPENSSL.
This macro is declared in doc/config.h source file, line 211.
When defined, this macro enables use of the OpenSSL cipher algorithms. This requires CONFIG_ASSH_USE_OPENSSL.
This macro is declared in doc/config.h source file, line 215.
When defined, this macro enables use of the OpenSSL hash algorithms implementations. This requires CONFIG_ASSH_USE_OPENSSL.
This macro is declared in doc/config.h source file, line 219.
When defined, this macro enables use of the OpenSSL random number generator. This requires CONFIG_ASSH_USE_OPENSSL.
This macro is declared in doc/config.h source file, line 222.
When defined, this macro allows use of the zlib library.
This macro is declared in doc/config.h source file, line 231.
When defined, this macro enables relying on valgrind headers files for better memory errors reporting.
This macro is declared in doc/config.h source file, line 270.
When defined, this macro embed error reasons strings in the library.
This macro is declared in doc/config.h source file, line 227.
This macro specifies the allocator storage type used for the zlib context. The default is to use the ASSH_ALLOC_INTERNAL policy that does not allocate secur memory.