Blame doc/cha-support.texi

Packit Service 4684c1
@node Support
Packit Service 4684c1
@appendix Support
Packit Service 4684c1
Packit Service 4684c1
@menu
Packit Service 4684c1
* Getting help::
Packit Service 4684c1
* Commercial Support::
Packit Service 4684c1
* Bug Reports::
Packit Service 4684c1
* Contributing::
Packit Service 4684c1
* Certification::
Packit Service 4684c1
@end menu
Packit Service 4684c1
Packit Service 4684c1
@node Getting help
Packit Service 4684c1
@section Getting Help
Packit Service 4684c1
Packit Service 4684c1
A mailing list where users may help each other exists, and you can
Packit Service 4684c1
reach it by sending e-mail to @email{gnutls-help@@gnutls.org}.  Archives
Packit Service 4684c1
of the mailing list discussions, and an interface to manage
Packit Service 4684c1
subscriptions, is available through the World Wide Web at
Packit Service 4684c1
@url{https://lists.gnutls.org/pipermail/gnutls-help/}.
Packit Service 4684c1
Packit Service 4684c1
A mailing list for developers are also available, see
Packit Service 4684c1
@url{https://www.gnutls.org/lists.html}.
Packit Service 4684c1
Bug reports should be sent to @email{bugs@@gnutls.org}, see
Packit Service 4684c1
@ref{Bug Reports}.
Packit Service 4684c1
Packit Service 4684c1
@node Commercial Support
Packit Service 4684c1
@section Commercial Support
Packit Service 4684c1
Packit Service 4684c1
Commercial support is available for users of GnuTLS. See
Packit Service 4684c1
@url{https://www.gnutls.org/commercial.html} for more information.
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
@node Bug Reports
Packit Service 4684c1
@section Bug Reports
Packit Service 4684c1
@cindex reporting bugs
Packit Service 4684c1
Packit Service 4684c1
If you think you have found a bug in GnuTLS, please investigate it and
Packit Service 4684c1
report it.
Packit Service 4684c1
Packit Service 4684c1
@itemize @bullet
Packit Service 4684c1
Packit Service 4684c1
@item Please make sure that the bug is really in GnuTLS, and
Packit Service 4684c1
preferably also check that it hasn't already been fixed in the latest
Packit Service 4684c1
version.
Packit Service 4684c1
Packit Service 4684c1
@item You have to send us a test case that makes it possible for us to
Packit Service 4684c1
reproduce the bug.
Packit Service 4684c1
Packit Service 4684c1
@item You also have to explain what is wrong; if you get a crash, or
Packit Service 4684c1
if the results printed are not good and in that case, in what way.
Packit Service 4684c1
Make sure that the bug report includes all information you would need
Packit Service 4684c1
to fix this kind of bug for someone else.
Packit Service 4684c1
Packit Service 4684c1
@end itemize
Packit Service 4684c1
Packit Service 4684c1
Please make an effort to produce a self-contained report, with
Packit Service 4684c1
something definite that can be tested or debugged.  Vague queries or
Packit Service 4684c1
piecemeal messages are difficult to act on and don't help the
Packit Service 4684c1
development effort.
Packit Service 4684c1
Packit Service 4684c1
If your bug report is good, we will do our best to help you to get a
Packit Service 4684c1
corrected version of the software; if the bug report is poor, we won't
Packit Service 4684c1
do anything about it (apart from asking you to send better bug
Packit Service 4684c1
reports).
Packit Service 4684c1
Packit Service 4684c1
If you think something in this manual is unclear, or downright
Packit Service 4684c1
incorrect, or if the language needs to be improved, please also send a
Packit Service 4684c1
note.
Packit Service 4684c1
Packit Service 4684c1
Send your bug report to:
Packit Service 4684c1
Packit Service 4684c1
@center @samp{bugs@@gnutls.org}
Packit Service 4684c1
Packit Service 4684c1
@node Contributing
Packit Service 4684c1
@section Contributing
Packit Service 4684c1
@cindex contributing
Packit Service 4684c1
@cindex hacking
Packit Service 4684c1
Packit Service 4684c1
If you want to submit a patch for inclusion -- from solving a typo you
Packit Service 4684c1
discovered, up to adding support for a new feature -- you should
Packit Service 4684c1
submit it as a bug report, using the process in @ref{Bug Reports}.  There are some
Packit Service 4684c1
things that you can do to increase the chances for it to be included
Packit Service 4684c1
in the official package.
Packit Service 4684c1
Packit Service 4684c1
Unless your patch is very small (say, under 10 lines) we require that
Packit Service 4684c1
you assign the copyright of your work to the Free Software Foundation.
Packit Service 4684c1
This is to protect the freedom of the project.  If you have not
Packit Service 4684c1
already signed papers, we will send you the necessary information when
Packit Service 4684c1
you submit your contribution.
Packit Service 4684c1
Packit Service 4684c1
For contributions that doesn't consist of actual programming code, the
Packit Service 4684c1
only guidelines are common sense.  
Packit Service 4684c1
For code contributions, a number of style guides will help you:
Packit Service 4684c1
Packit Service 4684c1
@itemize @bullet
Packit Service 4684c1
Packit Service 4684c1
@item Coding Style.
Packit Service 4684c1
Follow the GNU Standards document.
Packit Service 4684c1
@c (@pxref{top, GNU Coding Standards,,standards}).
Packit Service 4684c1
Packit Service 4684c1
If you normally code using another coding standard, there is no
Packit Service 4684c1
problem, but you should use @samp{indent} to reformat the code
Packit Service 4684c1
@c (@pxref{top, GNU Indent,, indent}) 
Packit Service 4684c1
before submitting your work.
Packit Service 4684c1
Packit Service 4684c1
@item Use the unified diff format @samp{diff -u}.
Packit Service 4684c1
Packit Service 4684c1
@item Return errors.
Packit Service 4684c1
No reason whatsoever should abort the execution of the library.  Even
Packit Service 4684c1
memory allocation errors, e.g. when malloc return NULL, should work
Packit Service 4684c1
although result in an error code.
Packit Service 4684c1
Packit Service 4684c1
@item Design with thread safety in mind.
Packit Service 4684c1
Don't use global variables.  Don't even write to per-handle global
Packit Service 4684c1
variables unless the documented behaviour of the function you write is
Packit Service 4684c1
to write to the per-handle global variable.
Packit Service 4684c1
Packit Service 4684c1
@item Avoid using the C math library.
Packit Service 4684c1
It causes problems for embedded implementations, and in most
Packit Service 4684c1
situations it is very easy to avoid using it.
Packit Service 4684c1
Packit Service 4684c1
@item Document your functions.
Packit Service 4684c1
Use comments before each function headers, that, if properly
Packit Service 4684c1
formatted, are extracted into Texinfo manuals and GTK-DOC web pages.
Packit Service 4684c1
Packit Service 4684c1
@item Supply a ChangeLog and NEWS entries, where appropriate.
Packit Service 4684c1
Packit Service 4684c1
@end itemize
Packit Service 4684c1
Packit Service 4684c1
@node Certification
Packit Service 4684c1
@section Certification
Packit Service 4684c1
@cindex certification
Packit Service 4684c1
Packit Service 4684c1
There are certifications from national or international bodies which "prove"
Packit Service 4684c1
to an auditor that the crypto component follows some best practices, such
Packit Service 4684c1
as unit testing and reliance on well known crypto primitives.
Packit Service 4684c1
Packit Service 4684c1
GnuTLS has support for the FIPS 140-2 certification under Red Hat Enterprise Linux.
Packit Service 4684c1
See @ref{FIPS140-2 mode} for more information.