comparison options.h @ 847:f4bb964c8678 keyondemand

Add '-R' for delayed hostkey option
author Matt Johnston <matt@ucc.asn.au>
date Thu, 07 Nov 2013 23:49:37 +0800
parents b298bb438625
children 754d7bee1068
comparison
equal deleted inserted replaced
846:b298bb438625 847:f4bb964c8678
6 #define _OPTIONS_H_ 6 #define _OPTIONS_H_
7 7
8 /* Define compile-time options below - the "#ifndef DROPBEAR_XXX .... #endif" 8 /* Define compile-time options below - the "#ifndef DROPBEAR_XXX .... #endif"
9 * parts are to allow for commandline -DDROPBEAR_XXX options etc. */ 9 * parts are to allow for commandline -DDROPBEAR_XXX options etc. */
10 10
11 /* Important: Many options will require "make clean" after changes */ 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
127 /*#define DROPBEAR_SHA2_512_HMAC*/ 127 /*#define DROPBEAR_SHA2_512_HMAC*/
128 #define DROPBEAR_MD5_HMAC 128 #define DROPBEAR_MD5_HMAC
129 129
130 /* 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
131 * 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
132 * simple to run arbitrary commands on the remote host. Beware. */ 132 * simple for an attacker to run arbitrary commands on the remote host. Beware. */
133 /* #define DROPBEAR_NONE_INTEGRITY */ 133 /* #define DROPBEAR_NONE_INTEGRITY */
134 134
135 /* Hostkey/public key algorithms - at least one required, these are used 135 /* Hostkey/public key algorithms - at least one required, these are used
136 * for hostkey as well as for verifying signatures with pubkey auth. 136 * for hostkey as well as for verifying signatures with pubkey auth.
137 * Removing either of these won't save very much space. 137 * Removing either of these won't save very much space.
138 * SSH2 RFC Draft requires dss, recommends rsa */ 138 * SSH2 RFC Draft requires dss, recommends rsa */
139 #define DROPBEAR_RSA 139 #define DROPBEAR_RSA
140 #define DROPBEAR_DSS 140 #define DROPBEAR_DSS
141
142 #define DROPBEAR_ECDH
143 #define DROPBEAR_ECDSA 141 #define DROPBEAR_ECDSA
142
143 /* Generate hostkeys as-needed when the first connection using that key type occurs.
144 This avoids the need to otherwise run "dropbearkey" and avoids some problems
145 with badly seeded random devices when systems first boot.
146 This also requires a runtime flag "-R". */
147 #define DROPBEAR_DELAY_HOSTKEY
144 148
145 /* RSA can be vulnerable to timing attacks which use the time required for 149 /* RSA can be vulnerable to timing attacks which use the time required for
146 * signing to guess the private key. Blinding avoids this attack, though makes 150 * signing to guess the private key. Blinding avoids this attack, though makes
147 * signing operations slightly slower. */ 151 * signing operations slightly slower. */
148 #define RSA_BLINDING 152 #define RSA_BLINDING
153
154 /* Enable elliptic curve Diffie Hellman key exchange */
155 #define DROPBEAR_ECDH
149 156
150 /* Control the memory/performance/compression tradeoff for zlib. 157 /* Control the memory/performance/compression tradeoff for zlib.
151 * Set windowBits=8 for least memory usage, see your system's 158 * Set windowBits=8 for least memory usage, see your system's
152 * zlib.h for full details. 159 * zlib.h for full details.
153 * Default settings (windowBits=15) will use 256kB for compression 160 * Default settings (windowBits=15) will use 256kB for compression
178 * It's useful for systems like OS X where standard password crypts don't work 185 * It's useful for systems like OS X where standard password crypts don't work
179 * but there's an interface via a PAM module. It won't work for more complex 186 * but there's an interface via a PAM module. It won't work for more complex
180 * PAM challenge/response. 187 * PAM challenge/response.
181 * You can't enable both PASSWORD and PAM. */ 188 * You can't enable both PASSWORD and PAM. */
182 189
183 //#define ENABLE_SVR_PASSWORD_AUTH 190 #define ENABLE_SVR_PASSWORD_AUTH
184 /* PAM requires ./configure --enable-pam */ 191 /* PAM requires ./configure --enable-pam */
185 #define ENABLE_SVR_PAM_AUTH 192 /*#define ENABLE_SVR_PAM_AUTH */
186 #define ENABLE_SVR_PUBKEY_AUTH 193 #define ENABLE_SVR_PUBKEY_AUTH
187 194
188 /* Whether to take public key options in 195 /* Whether to take public key options in
189 * authorized_keys file into account */ 196 * authorized_keys file into account */
190 #ifdef ENABLE_SVR_PUBKEY_AUTH 197 #ifdef ENABLE_SVR_PUBKEY_AUTH