Reporting bugsTo report a bug, in addition to describing the issue, please:
- Provide the version of the library the bug is present on (the oldest supported release is 3.3.x), and try to detect the version the bug was introduced, e.g., using git-bisect.
- Provide a way to reproduce the issue; e.g., a small program which reproduces it.
- Use our issue tracker or the bug report address for non-public issues.
API and ABI
Our goal is to deliver a stable API and ABI for the library, but on certain major releases we have decided to break the ABI in order to deprecate old APIs and avoid clutter. To ensure API and ABI stability we rely on abi-compliance-checker and other tools, and we maintain an ABI tracker page for gnutls which visualises the output of these tools.
To follow development it is easier to subscribe on the mailing lists; the wiki pages may also contain information on new developments and plans. To browse the source code a web interface exists at gitlab.com. If you want to build the latest GnuTLS code from the repository, use the following commands:
$ git clone https://gitlab.com/gnutls/gnutls.git $ cd gnutls $ git submodule update --init $ make bootstrap # Will generate ./configure script $ ./configure --enable-gcc-warnings --enable-gtk-doc --enable-gtk-doc-pdf $ make $ make check
You will need several developer tools, which are listed in README-alpha.
If you wish to contribute, you may read more about our coding style. Note that when contributing code that is not assigned to FSF, you will need to assert that the contribution is in accordance to the Developer's Certificate of Origin. That can be done by sending a mail with your real name that contains the DCO to the gnutls-devel mailing list. Then just make sure that your contributions (patches), contain a "Signed-off-by" line, with your name and e-mail address.
Some additional resources: