diff options
author | TJ Kolev <tjkolev@gmail.com> | 2023-02-03 11:19:26 -0600 |
---|---|---|
committer | TJ Kolev <tjkolev@gmail.com> | 2023-02-03 11:19:26 -0600 |
commit | 82c3ffe7019e1db4727d7e292bf9ab88b56de278 (patch) | |
tree | 39e3176f1c5dc00a8c897bceb783ff7671e7a22f /DEVELOPING.md | |
parent | e4ee42ea2063e1b97fc2939140da30b589975773 (diff) | |
download | dropbear-82c3ffe7019e1db4727d7e292bf9ab88b56de278.tar.gz |
Dropbear SSH File Reorg
The GitHub pipeline is based on the build.yml setup, which previously escaped me. That
script relies on default_options.h to be at top of the repo, as it uses it to
generate its own localoptions.h for various test sceanrios.
* default_options.h moved back to the top.
* config.h is also generated in the top folder.
* localoptions.h also stays at the top folder.
* Readjusted (reverted) the affected Makefile.in-s.
* Added notes about the generated file dependencies.
* Adjusted references to above files in the .md docs.
tjk :)
Diffstat (limited to 'DEVELOPING.md')
-rw-r--r-- | DEVELOPING.md | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/DEVELOPING.md b/DEVELOPING.md index 65ae9ae..3c7f866 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -3,16 +3,29 @@ #### Building See [INSTALL.md](INSTALL.md) for build instructions. -[SMALL.md](SMALL.md) has hints for building smaller binaries, also see comments in [default_options.h](./src/default_options.h). +[SMALL.md](SMALL.md) has hints for building smaller binaries, also see comments in [default_options.h](./default_options.h). To be able to debug add `-g` compiler option to the `CFLAGS` environment variable. This will generate debug symbols. ``` export CFLAGS="$CFLAGS -g" ``` +#### File dependencies +The GitHub [test build script](./github/workflows/build.yml) requires the [default_options.h](./default_options.h) be at the top of the repository tree. The script uses the file to generate localoptions.h with various features enabled/disabled. + +Following are generated files in the format \<target\>: \<generator\>(\<source\>) +``` +- configure: autoconf(configure.ac) +- config.h.in: autoheader(configure.ac) +- config.h: configure(config.h.in) +- Makefile: configure(Makefile.in) +- default_options_guard.h: make(default_options.h) +``` +Although generated, the first two files are checked in as they change very infrequently. + #### Debug printing -Set `#define DEBUG_TRACE 1` in [localoptions.h](./src/localoptions.h) to enable a `-v` option for dropbear and dbclient. That prints various details of the session. For development running `dropbear -F -E` is useful to run in the foreground. You can set `#define DEBUG_NOFORK 1` to make dropbear a one-shot server, easy to run under a debugger. +Set `#define DEBUG_TRACE 1` in [localoptions.h](./localoptions.h) to enable a `-v` option for dropbear and dbclient. That prints various details of the session. For development running `dropbear -F -E` is useful to run in the foreground. You can set `#define DEBUG_NOFORK 1` to make dropbear a one-shot server, easy to run under a debugger. #### Random sources @@ -22,7 +35,7 @@ Most cryptography requires a good random entropy source, both to generate secret Default algorithm lists are specified in [common-algo.c](./src/common-algo.c). They are in priority order, the client's first matching choice is used (see [rfc4253](https://www.rfc-editor.org/rfc/rfc4253.html)). Dropbear client has `-c` and `-m` arguments to choose which are enabled at runtime (doesn't work for server as of June 2020). -Enabling/disabling algorithms is done in [localoptions.h](./src/localoptions.h), see [default_options.h](./src/default_options.h). +Enabling/disabling algorithms is done in [localoptions.h](./localoptions.h), see [default_options.h](./default_options.h). #### Style |