comparison options.h @ 910:89555751c489 asm

merge up to 2013.63, improve ASM makefile rules a bit
author Matt Johnston <matt@ucc.asn.au>
date Thu, 27 Feb 2014 21:35:58 +0800
parents 49ed526daedc
children bae0b34bc059 a0819ecfee0b
comparison
equal deleted inserted replaced
909:e4b75744acab 910:89555751c489
3 * All rights reserved. See LICENSE for the license. */ 3 * All rights reserved. See LICENSE for the license. */
4 4
5 #ifndef _OPTIONS_H_ 5 #ifndef _OPTIONS_H_
6 #define _OPTIONS_H_ 6 #define _OPTIONS_H_
7 7
8 /****************************************************************** 8 /* Define compile-time options below - the "#ifndef DROPBEAR_XXX .... #endif"
9 * Define compile-time options below - the "#ifndef DROPBEAR_XXX .... #endif" 9 * parts are to allow for commandline -DDROPBEAR_XXX options etc. */
10 * parts are to allow for commandline -DDROPBEAR_XXX options etc. 10
11 ******************************************************************/ 11 /* IMPORTANT: Many options will require "make clean" after changes */
12 12
13 #ifndef DROPBEAR_DEFPORT 13 #ifndef DROPBEAR_DEFPORT
14 #define DROPBEAR_DEFPORT "22" 14 #define DROPBEAR_DEFPORT "22"
15 #endif 15 #endif
16 16
23 #ifndef DSS_PRIV_FILENAME 23 #ifndef DSS_PRIV_FILENAME
24 #define DSS_PRIV_FILENAME "/etc/dropbear/dropbear_dss_host_key" 24 #define DSS_PRIV_FILENAME "/etc/dropbear/dropbear_dss_host_key"
25 #endif 25 #endif
26 #ifndef RSA_PRIV_FILENAME 26 #ifndef RSA_PRIV_FILENAME
27 #define RSA_PRIV_FILENAME "/etc/dropbear/dropbear_rsa_host_key" 27 #define RSA_PRIV_FILENAME "/etc/dropbear/dropbear_rsa_host_key"
28 #endif
29 #ifndef ECDSA_PRIV_FILENAME
30 #define ECDSA_PRIV_FILENAME "/etc/dropbear/dropbear_ecdsa_host_key"
28 #endif 31 #endif
29 32
30 /* Set NON_INETD_MODE if you require daemon functionality (ie Dropbear listens 33 /* Set NON_INETD_MODE if you require daemon functionality (ie Dropbear listens
31 * on chosen ports and keeps accepting connections. This is the default. 34 * on chosen ports and keeps accepting connections. This is the default.
32 * 35 *
47 50
48 /* Set this if you want to use the DROPBEAR_SMALL_CODE option. This can save 51 /* Set this if you want to use the DROPBEAR_SMALL_CODE option. This can save
49 several kB in binary size however will make the symmetrical ciphers and hashes 52 several kB in binary size however will make the symmetrical ciphers and hashes
50 slower, perhaps by 50%. Recommended for small systems that aren't doing 53 slower, perhaps by 50%. Recommended for small systems that aren't doing
51 much traffic. */ 54 much traffic. */
52 /*#define DROPBEAR_SMALL_CODE*/ 55 #define DROPBEAR_SMALL_CODE
53 56
54 /* Enable X11 Forwarding - server only */ 57 /* Enable X11 Forwarding - server only */
55 #define ENABLE_X11FWD 58 #define ENABLE_X11FWD
56 59
57 /* Enable TCP Fowarding */ 60 /* Enable TCP Fowarding */
124 /*#define DROPBEAR_SHA2_512_HMAC*/ 127 /*#define DROPBEAR_SHA2_512_HMAC*/
125 #define DROPBEAR_MD5_HMAC 128 #define DROPBEAR_MD5_HMAC
126 129
127 /* You can also disable integrity. Don't bother disabling this if you're 130 /* You can also disable integrity. Don't bother disabling this if you're
128 * still using a cipher, it's relatively cheap. If you disable this it's dead 131 * still using a cipher, it's relatively cheap. If you disable this it's dead
129 * simple to run arbitrary commands on the remote host. Beware. */ 132 * simple for an attacker to run arbitrary commands on the remote host. Beware. */
130 /* #define DROPBEAR_NONE_INTEGRITY */ 133 /* #define DROPBEAR_NONE_INTEGRITY */
131 134
132 /* Hostkey/public key algorithms - at least one required, these are used 135 /* Hostkey/public key algorithms - at least one required, these are used
133 * for hostkey as well as for verifying signatures with pubkey auth. 136 * for hostkey as well as for verifying signatures with pubkey auth.
134 * Removing either of these won't save very much space. 137 * Removing either of these won't save very much space.
135 * SSH2 RFC Draft requires dss, recommends rsa */ 138 * SSH2 RFC Draft requires dss, recommends rsa */
136 #define DROPBEAR_RSA 139 #define DROPBEAR_RSA
137 #define DROPBEAR_DSS 140 #define DROPBEAR_DSS
138 141 /* ECDSA is significantly faster than RSA or DSS. Compiling in ECC
139 /* RSA can be vulnerable to timing attacks which use the time required for 142 * code (either ECDSA or ECDH) increases binary size - around 30kB
140 * signing to guess the private key. Blinding avoids this attack, though makes 143 * on x86-64 */
141 * signing operations slightly slower. */ 144 #define DROPBEAR_ECDSA
142 #define RSA_BLINDING 145
146 /* Generate hostkeys as-needed when the first connection using that key type occurs.
147 This avoids the need to otherwise run "dropbearkey" and avoids some problems
148 with badly seeded /dev/urandom when systems first boot.
149 This also requires a runtime flag "-R". This adds ~4kB to binary size (or hardly
150 anything if dropbearkey is linked in a "dropbearmulti" binary) */
151 #define DROPBEAR_DELAY_HOSTKEY
152
153 /* Enable Curve25519 for key exchange. This is another elliptic
154 * curve method with good security properties. Increases binary size
155 * by ~8kB on x86-64 */
156 #define DROPBEAR_CURVE25519
157
158 /* Enable elliptic curve Diffie Hellman key exchange, see note about
159 * ECDSA above */
160 #define DROPBEAR_ECDH
143 161
144 /* Control the memory/performance/compression tradeoff for zlib. 162 /* Control the memory/performance/compression tradeoff for zlib.
145 * Set windowBits=8 for least memory usage, see your system's 163 * Set windowBits=8 for least memory usage, see your system's
146 * zlib.h for full details. 164 * zlib.h for full details.
147 * Default settings (windowBits=15) will use 256kB for compression 165 * Default settings (windowBits=15) will use 256kB for compression
151 #ifndef DROPBEAR_ZLIB_WINDOW_BITS 169 #ifndef DROPBEAR_ZLIB_WINDOW_BITS
152 #define DROPBEAR_ZLIB_WINDOW_BITS 15 170 #define DROPBEAR_ZLIB_WINDOW_BITS 15
153 #endif 171 #endif
154 172
155 /* Whether to do reverse DNS lookups. */ 173 /* Whether to do reverse DNS lookups. */
156 //#define DO_HOST_LOOKUP 174 /*#define DO_HOST_LOOKUP */
157 175
158 /* Whether to print the message of the day (MOTD). This doesn't add much code 176 /* Whether to print the message of the day (MOTD). This doesn't add much code
159 * size */ 177 * size */
160 #define DO_MOTD 178 #define DO_MOTD
161 179
174 * PAM challenge/response. 192 * PAM challenge/response.
175 * You can't enable both PASSWORD and PAM. */ 193 * You can't enable both PASSWORD and PAM. */
176 194
177 #define ENABLE_SVR_PASSWORD_AUTH 195 #define ENABLE_SVR_PASSWORD_AUTH
178 /* PAM requires ./configure --enable-pam */ 196 /* PAM requires ./configure --enable-pam */
179 //#define ENABLE_SVR_PAM_AUTH 197 /*#define ENABLE_SVR_PAM_AUTH */
180 #define ENABLE_SVR_PUBKEY_AUTH 198 #define ENABLE_SVR_PUBKEY_AUTH
181 199
182 /* Whether to take public key options in 200 /* Whether to take public key options in
183 * authorized_keys file into account */ 201 * authorized_keys file into account */
184 #ifdef ENABLE_SVR_PUBKEY_AUTH 202 #ifdef ENABLE_SVR_PUBKEY_AUTH
202 * specified in the SSH_ASKPASS environment variable, and dbclient 220 * specified in the SSH_ASKPASS environment variable, and dbclient
203 * should be run with DISPLAY set and no tty. The program should 221 * should be run with DISPLAY set and no tty. The program should
204 * return the password on standard output */ 222 * return the password on standard output */
205 /*#define ENABLE_CLI_ASKPASS_HELPER*/ 223 /*#define ENABLE_CLI_ASKPASS_HELPER*/
206 224
207 /* Send a real auth request first rather than requesting a list of available methods. 225 /* Save a network roundtrip by sendng a real auth request immediately after
208 * It saves a network round trip at login but prevents immediate login to 226 * sending a query for the available methods. It is at the expense of < 100
209 * accounts with no password, and might be rejected by some strict servers (none 227 * bytes of extra network traffic. This is not yet enabled by default since it
210 * encountered yet) - hence it isn't enabled by default. */ 228 * could cause problems with non-compliant servers */
211 /* #define CLI_IMMEDIATE_AUTH */ 229 /* #define DROPBEAR_CLI_IMMEDIATE_AUTH */
212
213 230
214 /* Source for randomness. This must be able to provide hundreds of bytes per SSH 231 /* Source for randomness. This must be able to provide hundreds of bytes per SSH
215 * connection without blocking. In addition /dev/random is used for seeding 232 * connection without blocking. In addition /dev/random is used for seeding
216 * rsa/dss key generation */ 233 * rsa/dss key generation */
217 #define DROPBEAR_URANDOM_DEV "/dev/urandom" 234 #define DROPBEAR_URANDOM_DEV "/dev/urandom"