1 Contributing to tinydtls
2 ========================
4 Thanks for your interest in this project.
9 tinydtls is a library for Datagram Transport Layer Security (DTLS) covering both the client and the server state machine. It is implemented in C and provides support for the mandatory cipher suites specified in CoAP.
11 - https://projects.eclipse.org/projects/iot.tinydtls
16 Information regarding source code management, builds, coding standards, and more.
18 - https://projects.eclipse.org/projects/iot.tinydtls/developer
20 Contributor License Agreement:
21 ------------------------------
23 Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).
25 - http://www.eclipse.org/legal/CLA.php
30 Contact the project developers via the project's "dev" list.
32 - https://dev.eclipse.org/mailman/listinfo/tinydtls-dev
37 This project uses Bugzilla to track ongoing development and issues.
39 - https://bugs.eclipse.org/bugs/buglist.cgi?product=tinydtls
44 Be sure to search for existing bugs before you create another one. Remember
45 that contributions are always welcome!
47 - https://bugs.eclipse.org/bugs/enter_bug.cgi?product=tinydtls
49 Submit Patches via Gerrit:
50 --------------------------
52 Patches must follow to the tinydtls coding style and must be submitted
53 to [gerrit](https://git.eclipse.org/r/p/tinydtls/org.eclipse.tinydtls)
54 for review. To submit a patch to gerrit, the author needs to have a
55 CLA on file and must have a Signed-off-by entry with the same email
56 address in the commit message footer.
58 - https://www.eclipse.org/projects/handbook/#resources-source
60 Every new file must contain the Eclipse license information and the
61 copyright holder(s). Please take a look into existing files and adopt
62 the needed changes to your new file(s).
64 Tinydtls Coding style:
65 ----------------------
67 * For better reading the indentation is set to 2 characters as spaces,
68 this is depended on the often used nested functions like
69 'if-else'. Don't use TABs any there! Avoid trailing white spaces at
72 * Single lines within the source code should not be longer then 78
75 * In the implementation (i.e., in files ending with '.c'), function
76 identifiers start on the first column of a line. The function's
77 return type preceeds the function identifier on a line of its
78 own. For example, in `dtls.c` the following definition is found:
82 dtls_get_peer(const dtls_context_t *ctx, const session_t *session) {
87 * Declarations in header files do not follow the previous rule. For
88 example, the declaration for `dtls_get_peer()` in `dtls.h` reads as
92 dtls_peer_t *dtls_get_peer(const dtls_context_t *context,
93 const session_t *session);
96 * A useful source code documentation is mandatory. Mostly to be done
97 within the source code files.
99 * Please set up/adjust the doxygen documentation if you create new
100 functions or change existing functions. The doxygen documentation
101 has to be done in the header files as they are the public part of
102 tinydtls and only use the @-syntax for doxygen commands (akin to
105 * Never break the API!
106 Do not remove old functions unless absolutely necessary. If changes
107 are needed in some kind always provide a wrapper for the old call to
108 let the library be backward compatible and mark the old function as
109 @deprecated in the doxygen comment. Please discuss needed changes