A very brief explanation of how to add custom functions to OpenSSL.
authorDmitry Belyavskiy <beldmit@gmail.com>
Mon, 8 Jul 2019 10:09:13 +0000 (20:09 +1000)
committerPauli <paul.dale@oracle.com>
Mon, 8 Jul 2019 10:09:13 +0000 (20:09 +1000)
Inspired by Rich Salz's letter to openssl-users@

[edited to remove non-ASCII characters and end of line white space]

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/9267)

HACKING [new file with mode: 0644]

diff --git a/HACKING b/HACKING
new file mode 100644 (file)
index 0000000..a9e39d0
--- /dev/null
+++ b/HACKING
@@ -0,0 +1,26 @@
+ MODIFYING OPENSSL SOURCE
+ ------------------------
+ This document describes the way to add custom modifications to OpenSSL sources.
+
+ If you are adding new public functions to the custom library build, you need to
+ either add a prototype in one of the existing OpenSSL header files;
+ or provide a new header file and edit Configurations/unix-Makefile.tmpl to pick up that file.
+
+ After that perform the following steps:
+
+    ./config -Werror --strict-warnings [your-options]
+    make update
+    make
+    make test
+
+ "make update" ensures that your functions declarations are added to util/libcrypto.num or util/libssl.num
+ If you plan to submit the changes you made to OpenSSL (see CONTRIBUTING), it's worth running:
+
+    make doc-nits
+
+ after running "make update" to ensure that documentation has correct format.
+
+ "make update" also generates files related to OIDs (in the crypto/objects/ folder) and errors.
+ If a merge error occurs in one of these generated files then the generated files need to be removed
+ and regenerated using "make update".
+ To aid in this process the generated files can be committed separately so they can be removed easily.