summaryrefslogtreecommitdiffhomepage
path: root/DEVELOPING.md
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2020-06-26 20:41:34 +0800
committerMatt Johnston <matt@ucc.asn.au>2020-06-26 20:41:34 +0800
commitd51e4a75cd87df89e9bea7820bf4412ad6a36464 (patch)
tree539e168aa0ca3dcfd0fe620fe46d35e4e7722358 /DEVELOPING.md
parente9f28151440da0c941cfd6cc453c3b4af7d1b39d (diff)
Some notes on style
Diffstat (limited to 'DEVELOPING.md')
-rw-r--r--DEVELOPING.md24
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