Mercurial > dropbear
changeset 1730:57226fc75cb5
Some notes on style
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Fri, 26 Jun 2020 20:41:34 +0800 |
parents | f091f7536aa5 |
children | cddc90de1b6f |
files | DEVELOPING.md |
diffstat | 1 files changed, 24 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/DEVELOPING.md Thu Jun 25 23:18:16 2020 +0800 +++ b/DEVELOPING.md Fri Jun 26 20:41:34 2020 +0800 @@ -35,6 +35,30 @@ Enabling/disabling algorithms is done in [localoptions.h](localoptions.h), see [default_options.h](default_options.h). +## Style + +Source code is indented with tabs, width set to 4 (though width shouldn't +matter much). Braces are on the same line as functions/loops/if - try +to keep consistency with existing code. + +All `if` statements should have braces, no exceptions. + +Avoid using pointer arithmetic, instead the functions in +[buffer.h](buffer.h) should be used. + +Some Dropbear platforms have old compilers. +Variable declarations must be at the top of a scope and +comments must be `/* */` rather than `//`. + +Pointer variables should be initialised to NULL - it can reduce the +severity of bugs. + +## Third party code + +Libtomcrypt and libtommath are periodically synced from upstream, so +avoid making changes to that code which will need to be maintained. +Improvements can be sent upstream to the libtom project. + ## Non-root user Dropbear server will run fine as a non-root user, allowing logins only for