diff options
author | Matt Johnston <matt@ucc.asn.au> | 2020-06-26 20:41:34 +0800 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2020-06-26 20:41:34 +0800 |
commit | d51e4a75cd87df89e9bea7820bf4412ad6a36464 (patch) | |
tree | 539e168aa0ca3dcfd0fe620fe46d35e4e7722358 /DEVELOPING.md | |
parent | e9f28151440da0c941cfd6cc453c3b4af7d1b39d (diff) |
Some notes on style
Diffstat (limited to 'DEVELOPING.md')
-rw-r--r-- | DEVELOPING.md | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/DEVELOPING.md b/DEVELOPING.md index ff4d100..1846b15 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -35,6 +35,30 @@ runtime (doesn't work for server as of June 2020). 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 |