Mercurial > dropbear
view SMALL @ 1499:2d450c1056e3
options: Complete the transition to numeric toggles (`#if')
For the sake of review, this commit alters only the code; the affiliated
comments within the source files also need to be updated, but doing so
now would obscure the operational changes that have been made here.
* All on/off options have been switched to the numeric `#if' variant;
that is the only way to make this `default_options.h.in' thing work
in a reasonable manner.
* There is now some very minor compile-time checking of the user's
choice of options.
* NO_FAST_EXPTMOD doesn't seem to be used, so it has been removed.
* ENABLE_USER_ALGO_LIST was supposed to be renamed DROPBEAR_USER_ALGO_LIST,
and this commit completes that work.
* DROPBEAR_FUZZ seems to be a relatively new, as-yet undocumented option,
which was added by the following commit:
commit 6e0b539e9ca0b5628c6c5a3d118ad6a2e79e8039
Author: Matt Johnston <[email protected]>
Date: Tue May 23 22:29:21 2017 +0800
split out checkpubkey_line() separately
It has now been added to `sysoptions.h' and defined as `0' by default.
* The configuration option `DROPBEAR_PASSWORD_ENV' is no longer listed in
`default_options.h.in'; it is no longer meant to be set by the user, and
is instead left to be defined in `sysoptions.h' (where it was already being
defined) as merely the name of the environment variable in question:
DROPBEAR_PASSWORD
To enable or disable use of that environment variable, the user must now
toggle `DROPBEAR_USE_DROPBEAR_PASSWORD'.
* The sFTP support is now toggled by setting `DROPBEAR_SFTPSERVER', and the
path of the sFTP server program is set independently through the usual
SFTPSERVER_PATH.
author | Michael Witten <mfwitten@gmail.com> |
---|---|
date | Thu, 20 Jul 2017 19:38:26 +0000 |
parents | b9d3f725e00b |
children | 13cb8cc1b0e4 |
line wrap: on
line source
Tips for a small system: If you only want server functionality (for example), compile with make PROGRAMS=dropbear rather than just make dropbear so that client functionality in shared portions of Dropbear won't be included. The same applies if you are compiling just a client. --- The following are set in options.h: - You can safely disable blowfish and twofish ciphers, and MD5 hmac, without affecting interoperability - If you're compiling statically, you can turn off host lookups - You can disable either password or public-key authentication, though note that the IETF draft states that pubkey authentication is required. - Similarly with DSS and RSA, you can disable one of these if you know that all clients will be able to support a particular one. The IETF draft states that DSS is required, however you may prefer to use RSA. DON'T disable either of these on systems where you aren't 100% sure about who will be connecting and what clients they will be using. - Disabling the MOTD code and SFTP-SERVER may save a small amount of codesize - You can disable x11, tcp and agent forwarding as desired. None of these are essential, although agent-forwarding is often useful even on firewall boxes. --- If you are compiling statically, you may want to disable zlib, as it will use a few tens of kB of binary-size (./configure --disable-zlib). You can create a combined binary, see the file MULTI, which will put all the functions into one binary, avoiding repeated code. If you're compiling with gcc, you might want to look at gcc's options for stripping unused code. The relevant vars to set before configure are: LDFLAGS=-Wl,--gc-sections CFLAGS="-ffunction-sections -fdata-sections" You can also experiment with optimisation flags such as -Os, note that in some cases these flags actually seem to increase size, so experiment before deciding. Of course using small C libraries such as uClibc and dietlibc can also help. If you have any queries, mail me and I'll see if I can help.