Avoid a race condition in loading config settings
[openssl.git] / CONTRIBUTING
1 HOW TO CONTRIBUTE TO OpenSSL
2 ----------------------------
3
4 Development is coordinated on the openssl-dev mailing list (see
5 http://www.openssl.org for information on subscribing). If you
6 would like to submit a patch, send it to rt@openssl.org with
7 the string "[PATCH]" in the subject. Please be sure to include a
8 textual explanation of what your patch does.
9
10 You can also make GitHub pull requests. If you do this, please also send
11 mail to rt@openssl.org with a brief description and a link to the PR so
12 that we can more easily keep track of it.
13
14 If you are unsure as to whether a feature will be useful for the general
15 OpenSSL community please discuss it on the openssl-dev mailing list first.
16 Someone may be already working on the same thing or there may be a good
17 reason as to why that feature isn't implemented.
18
19 Patches should be as up to date as possible, preferably relative to the
20 current Git or the last snapshot. They should follow our coding style
21 (see https://www.openssl.org/policies/codingstyle.html) and compile without
22 warnings using the --strict-warnings flag.  OpenSSL compiles on many varied
23 platforms: try to ensure you only use portable features.
24
25 When at all possible, patches should include tests. These can either be
26 added to an existing test, or completely new.  Please see test/README for
27 information on the test framework.
28
29 Our preferred format for patch files is "git format-patch" output. For example
30 to provide a patch file containing the last commit in your local git repository
31 use the following command:
32
33 # git format-patch --stdout HEAD^ >mydiffs.patch
34
35 Another method of creating an acceptable patch file without using git is as
36 follows:
37
38 # cd openssl-work
39 # [your changes]
40 # ./Configure dist; make clean
41 # cd ..
42 # diff -ur openssl-orig openssl-work > mydiffs.patch