Skip to content

Commit

Permalink
Update SMALL.md
Browse files Browse the repository at this point in the history
Some of the advice was decades outdated
  • Loading branch information
mkj committed Dec 14, 2023
1 parent dc4aa62 commit bba3053
Showing 1 changed file with 9 additions and 12 deletions.
21 changes: 9 additions & 12 deletions SMALL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Tips for a small system

If you only want server functionality (for example), compile with
If you only want server functionality, compile with

```
make PROGRAMS=dropbear
Expand All @@ -12,23 +12,20 @@ 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.
so that client functionality in shared portions of Dropbear won't be included. The same applies for `PROGRAMS=dbclient`.

---
The following are set in *localoptions.h*:
The following are set in *localoptions.h*. See *default_options.h* for possibilities.

* If you're compiling statically, you can turn off host lookups.
* You can disable either password or public-key authentication.

* You can disable either password or public-key authentication, though note that the IETF draft states that pubkey authentication is required.
* Various algorithms can be disabled if they are not required by any connecting SSH clients/servers. Disabling many is fine for a local install, though
builds for public consumption require more consideration.

* 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.
* You can disable x11, tcp and agent forwarding as desired. None of these are essential (depending on use cases)

---
If you are compiling statically, you may want to disable zlib, as it will use a few tens of kB of binary-size
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
```
Expand All @@ -45,7 +42,7 @@ 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.
Of course using small C libraries such as musl can also help.

---
Libtommath has its own default `CFLAGS` to improve speed. You can use
Expand Down

0 comments on commit bba3053

Please sign in to comment.